matlab信号处理——数据处理基础

MATLAB的数据导入 | 工具箱文档 (khscience.cn)

目录

MATLAB的数据导入 | 工具箱文档 (khscience.cn)

1.以音频数据作为输入

1.1 audioread()函数

1.2 audiowrite()函数用法

2.输出数据

2.1 输出音频时域图像 

2.2 输出音频频域图像

3.matlab的数据文件 .mat 

3.1 获取工作区中得到的matlab数据

3.2 将wav文件转换为.mat文件并保存

3.3 将wav文件转换为.txt文件并保存

3.4 导入matlab数据“xx.mat” 

4.load命令 

4.1 加载 MAT 文件中的所有变量

5. 数据导入

5.1 Excel数据导入

5.2导入txt文件

​ ​

5.3导入mat文件

6.wav音频文件的提取和分析

6.1采样频率



1.以音频数据作为输入

1.1 audioread()函数

声信息读取方法:audioread()

新版本中audioread()函数替换掉了wavread()函数 。

clear all; clc; close all;
signal = 'D:\毕业设计\课题相关文献\基于声特征的快速目标机动识别\程序\音频\船发动引擎声.wav';
% [wave,signal] = wavread(signal);
[wave,signal] = audioread(signal);
plot(wave)    %%音频时域的图像

1.2 audiowrite()函数用法

audiowrite(filename,y,Fs,Name,Value)

(1)filename指想要保存文件的文件名,一般为想要取得名字,比如想生成音频文件叫“Test.wav”就写成“Test.wav”,注意引号和文件后缀名。

(2)Fs为取样率,一般音频信号的取样率为8000Hz

(3)y指要写入的音频数据,比如有一个序列data,就可以把y的位置写成data

(4)Name,Value指名称-值对组参数(官网上的称呼),具体来说是给其定义具体细节的参数。

2.输出数据

先输入, 

clear all; clc; close all;
signal = 'D:\毕业设计\课题相关文献\基于声特征的快速目标机动识别\程序\音频\船发动引擎声.wav';
% [wave,signal] = wavread(signal);
[wave,signal] = audioread(signal);

2.1 输出音频时域图像 

plot(wave);     %输出音频时域图像

2.2 输出音频频域图像

plot(abs(y1));              %输出音频频域图像

3.matlab的数据文件 .mat 

3.1 获取工作区中得到的matlab数据

3.2 将wav文件转换为.mat文件并保存

signal = audioread('D:\try_for_paper\bote.wav');
save signal_for_emd.mat signal

3.3 将wav文件转换为.txt文件并保存

[x,Fs]=audioread('D:\try_for_paper\bote.wav');
fid=fopen('signal_for_paper.txt','wt');          %读入语音文件
fprintf(fid,'%g\n',x(:,1));
fclose(fid);

3.4 导入matlab数据“xx.mat” 

(1)如果是当前目录下的文件file1.mat,直接输入load file1。

 (2)如果不是当前目录下的,输入 load(['目录\file1.mat'])。

4.load命令 

官方文档解释

4.1 加载 MAT 文件中的所有变量

加载示例 MAT 文件 signal_for_emd.mat 中的所有变量。请在加载操作前后检查工作区的内容。

disp('Contents of workspace before loading file:')
whos

disp('Contents of gong.mat:')
whos('-file','gong.mat')

load('gong.mat')
disp('Contents of workspace after loading file:')
whos

首先我们先看一下MATLAB主窗口的组织形式,在下图中,左侧的绿色区域显示的是你当前的工作目录,以及其目录中存在的文件,我们可以看到里面含有一个example2.mat文件,在右侧红色区域,是workspace区域,即当前的工作空间区域,在MATLAB计算过程中,产生的任何变量都会在其中显示。中间就不必多说了,是MATLAB主窗口,我们可以在其中输入命令。

(1)用法一:从当前工作目录中将mat数据读入到工作空间中

有两种常用的方法:方法一:双击MAT文件

  我们如下图所示,双击当前工作目录中的mat文件,matlab主窗口就会自动加载进来其中的数据,我们可以看到在右侧黄色区域内出现了变量A,b,此时如果我们在主窗口中输入命令A,b,我们会看到其相应的值,但是如果我们输入B,就会发现提示错误,是因为我们的工作空间中根本没有折个变量,所以,任何定义过,或使用过的变量,都会存在在工作空间当中,直到被清除。清除之后,变不可以被使用。

 (2)方法二:函数命令  load('example2.mat')

  我们首先清除当前的工作空间,输入clear 命令,clear会清空之前定义的所有变量以及存储的值,我们看到执行clear命令之后,右侧工作空间也被清空,我们输入A发现,没有定义变量A提示,然后输入load('example2.mat'),就会得到和第一步一样的结果。

   (3)用法二:从指定文件夹将mata数据读入到工作空间

  clear清空之后,clc命令可以将当前工作窗口输入过的所有命令清屏。我们在输入命令:load('D:\\jingyan\\example.mat') 回车

  可以将D盘jingyan文件夹下的example.mat文件中的数据读入进来

5. 数据导入

5.1 Excel数据导入

 (1)当有多个工作表时,xlsread("表文件",2) ; "2"表示读表2的数据。

(2)读指定范围内的数据

 

5.2导入txt文件

 

5.3导入mat文件

load signal_for_emd.mat
figure;
plot(signal)

 

6.wav音频文件的提取和分析

6.1采样频率

也称采样速度或采样率。定义了声音信号在“模拟-数字”转化过程中,单位时间内从连续信号中提取并组成离散信号的采样个数。它用赫兹(Hz)表示。

%法一:matlab的audioread函数返回的第二个参数即为采样频率
[~,fs] = audioread([path,file]);

%法二:直接读取wav文件的28位到25位四位数据即为采样频率
fs = add_helper(A,25,4);

该部分可参考如下文章:

wav音频文件的提取和分析(matlab)_qq_43650421的博客-CSDN博客_matlab wav

7. 播放音频的对象

7.1 官方文档:

用于播放音频的对象 - MATLAB - MathWorks 中国

说明:

使用 audioplayer 对象播放音频数据。该对象包含在播放过程中提供额外灵活性的属性。例如,您可以使用 audioplayer 对象函数暂停、继续或定义回调。

7.2 创建对象:

(1)player = audioplayer(Y,Fs) 

使用采样率 Fs 为信号 Y 创建 audioplayer 对象。该函数返回音频播放器对象 player

实例:播放音频文件

 (未完待续......)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Top Secret

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值