如何在MATLAB中进行音频的频谱分析?
一直很疑惑,首先我截了一段WAV格式的音频,该如何导入到MATLAB软件里?假如我用这行代码做分析:t=0:1/256:1;%采样步长y=2+3*cos(2*pi*50*...
一直很疑惑,首先我截了一段WAV格式的音频,该如何导入到MATLAB软件里?
假如我用这行代码做分析:
t=0:1/256:1;%采样步长
y= 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180);
N=length(t); %样点个数
plot(t,y);
fs=256;%采样频率
df=fs/(N-1) ;%分辨率
f=(0:N-1)*df;%其中每点的频率
Y=fft(y)/N*2;%真实的幅值
%Y=fftshift(Y);
figure(2)
plot(f,abs(Y));
那其中第二排的函数表达式是如何得到(分析而来)的?
又比如我查询到的MATLAB对音频的处理:
例1:现以微软自带的“Windows XP 关机.wav”音频信号为例,先将其复制另存到文件名为XPexit.wav的MATLAB当前目录中,再通过音量标准化处理后保存为XPquit.wav文件。实现程序如下:
clear; close all; clc; [Y,FS,NBITS]=wavread('XPexit.WAV');% 将WAV文件转换成变量
FS,NBITS,% 显示采样频率和量化比特 Ym=max(max(max(Y)),max(abs(min(Y)))),% 找出双声道极值 X=Y/Ym;% 归一化处理 wavwrite(X,FS,NBITS,'XPquit.wav')% 将变量转换成WAV文件
试听可知标准化处理后音量稍大。
但是我试过以后发现MATLAB提示:
Error: File: Untitled.m Line: 2 Column: 1
The input character is not valid in MATLAB statements or expressions.
该如何操作呢?
我是新手学习MATLAB,有很多地方不懂,比如不懂上图程序框和下图的区别在哪里
希望有大神能解答我的疑问! 展开
假如我用这行代码做分析:
t=0:1/256:1;%采样步长
y= 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180);
N=length(t); %样点个数
plot(t,y);
fs=256;%采样频率
df=fs/(N-1) ;%分辨率
f=(0:N-1)*df;%其中每点的频率
Y=fft(y)/N*2;%真实的幅值
%Y=fftshift(Y);
figure(2)
plot(f,abs(Y));
那其中第二排的函数表达式是如何得到(分析而来)的?
又比如我查询到的MATLAB对音频的处理:
例1:现以微软自带的“Windows XP 关机.wav”音频信号为例,先将其复制另存到文件名为XPexit.wav的MATLAB当前目录中,再通过音量标准化处理后保存为XPquit.wav文件。实现程序如下:
clear; close all; clc; [Y,FS,NBITS]=wavread('XPexit.WAV');% 将WAV文件转换成变量
FS,NBITS,% 显示采样频率和量化比特 Ym=max(max(max(Y)),max(abs(min(Y)))),% 找出双声道极值 X=Y/Ym;% 归一化处理 wavwrite(X,FS,NBITS,'XPquit.wav')% 将变量转换成WAV文件
试听可知标准化处理后音量稍大。
但是我试过以后发现MATLAB提示:
Error: File: Untitled.m Line: 2 Column: 1
The input character is not valid in MATLAB statements or expressions.
该如何操作呢?
我是新手学习MATLAB,有很多地方不懂,比如不懂上图程序框和下图的区别在哪里
希望有大神能解答我的疑问! 展开
展开全部
y= 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180);
这行就是表达式,Y=2+3cos(100πt-。。。。),
那个错误提示就是你用的表达式不合法,需要重新换掉。系统已有这样一个表达。具体的去网站去搜搜,学会找到这个正确答案的方法
这行就是表达式,Y=2+3cos(100πt-。。。。),
那个错误提示就是你用的表达式不合法,需要重新换掉。系统已有这样一个表达。具体的去网站去搜搜,学会找到这个正确答案的方法
追问
如果我想对录音的信号进行频谱分析,是不是要得到音频波形的表达式?
追答
波形的表达式,你应该得不到,就像振动一样,非线性的振动很难用表达式来表达的。但是我们音频的时域振动图(横轴时间,Y轴是幅值),就像振动一样。然后通过FFT变换,得到频谱图。然后你也可以得到各种图,比如自相关谱,互相关谱,功率谱(能量随功率的分布情况)。
如果你想提取特征值,可以用小波分析,包络解析(希尔伯特变换)等。这些都可以在Matlab中找到工具包,找不到去网上搜,肯定会有。
北京康思
2018-09-20 广告
2018-09-20 广告
电压的测量利用示波器所做的任何测量,都是归结为对电压的测量。示波器可以测量各种波形的电压幅度,既可以测量直流电压和正弦电压,又可以测量脉冲或非正弦电压的幅度。更有用的是它可以测量一个脉冲电压波形各部分的电压幅值,如上冲量或顶部下降量等。这是...
点击进入详情页
本回答由北京康思提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询