信号与系统:用matlab分析wav音频的频谱

来源:百度文库 编辑:神马文学网 时间:2024/04/30 05:20:40
【天水浪客一门课程的平时作业,matlab确实强大,用它做这个有点杀鸡用牛刀的意味...软件太大了,直接靠安装了此软件的同学搞定,程序也是参考网上的资料... 惭愧 ... 但总算是弄完了。发上来供后人借鉴吧 ...
matlab7下载(1.01G):
http://www.21ft.com/ftpsite/incoming/matlab7.ISO
1、下载后用虚拟光驱安装(天水浪客补:别弱到看成压缩包了)。
2、序列号是13-22955-32678-26249-06848-40366-39620-03472-09765-20949-30945-19673-43738-38950-44548
3、关于matlab自动关闭的问题:
这个问题是和CPU有关系,MATLAB要用到CPU的数学计算模块,而MATLAB默认的是INTEL的CPU,所以速龙或者是闪龙的CPU一般都会遇到安装好后打开自动关闭的问题.
解决办法:
先确认安装好后(假如安装在D盘)在此路径下D:\MATLAB7\bin\win32有一个叫做atlas_Athlon.dll的文件.
然后在我的电脑上右击点"属性",再在"高级"中点"环境变量",在"系统变量"中点击"新建"
输入以下信息: 变量名:BLAS_VERSION
变量址:D:\MATLAB7\bin\win32\atlas_Athlon.dll】
分析一个.wav文件的频谱
分析的是ZR33.wav
程序:
[y,Fs,bits]=wavread('ZR33.wav');
y=y(:,1);
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)');