小弟没学过matlab,可现在要用到,时间很急。。请帮忙详细解释一下这段代码,具体到每个语句每个参数。[s Fs bit]=wavread('50.wav');figure(1)%小波去噪[thr,sorh,keepapp]=ddencmp('den','wv',s);[s,cxc,lxc,perf,perfl2]=wdencmp('gbl',s,'db3',3,thr,sorh,keepapp);%求频谱nfft=length(s);p=floor(length(s)/3)+1;[spsd,f]=pyulear(s,p,nfft,Fs,'onesided');pmax=max(spsd);spsd=spsd/pmax;%显示plot(f(1:200),spsd(1:200));a=find(spsd==1)f(a)
这是求频谱还是功率谱的?"50.wav "这个声音文件我放在纳米盘里http://www.namipan.com/d/50.wav/6ef6ffbeca3ba623dd3dbb8f78dfaf8c145e8706b6130000
是求功率谱. Fs bit]=wavread('50.wav'); %读取波形文件,s为数据,Fs为抽样频率,bit为位宽 figure(1) %新建一个窗口 %小波去噪 [thr,sorh,keepapp]=ddencmp('den','wv',s); %返回小波除噪和压缩后的信号 [s,cxc,lxc,perf,perfl2]=wdencmp('gbl',s,'db3',3,thr,sorh,keepapp); %通过门限阈值处理得到小波系数 %求频谱 nfft=length(s); %信号长度,即抽样点数 p=floor(length(s)/3)+1; %AR预测的阶数 [spsd,f]=pyulear(s,p,nfft,Fs,'onesided'); %求功率谱密度 pmax=max(spsd); %功率谱密度最大分量 spsd=spsd/pmax; %归一化处理 %显示 plot(f(1:200),spsd(1:200)); %对应频率点的功率谱画图 a=find(spsd==1) %寻找归一化后为1的频率点的位置 f(a) %输出最大功率谱密度对应的频率 |
|