|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
各位好,我使用的音频数据是8000hz的采样率,通过九层小波包分解,然后通过程序求第九层每一个节点的能量,最终画出能量谱(上图)但是好像和fft变换(下图)出的频谱图,不太符合。
给我的感觉好像是2500后面,或者说是3000HZ以后的能量谱都不见了,这是什么问题造成的,采样频率太低的原因吗,还是程序的原因?
另附程序:
n=9;
wpname='db10';
% [b,a]=butter(8,[5/100 99/100]);
% load a1_1-1;
%load k301_1-4;
% Data=filter(b,a,Data);
[Data,Fs]=wavread('I:\sound\new\sound 070.wav');
Data=Data-mean(Data);
Data=detrend(Data);
wpt1=wpdec(Data,n,wpname); %对数据进行小波包分解
for i=1:2^n %wpcoef(wpt1,[n,i-1])是求第n层第i个节点的系数
E(i)=norm(wpcoef(wpt1,[n,i-1]),2);%求第i个节点的范数平方,其实也就是平方和
end
y=[E(1:2^n)];
subplot(2,1,1);
plot(1:2^n,E(1:2^n));grid
[x3,fs]=wavread('I:\sound\new\sound 070.wav');
N3=length(x3);
y3=fft(x3);
mag3=abs(y3)*2/N3;
f3=(0:length(y3)-1)*fs/length(y3);
subplot(2,1,2);plot(f3(1:N3/2),mag3(1:N3/2));grid
disp(num2str(fs))
|
|