wangtaojob688 发表于 2007-7-5 22:12

fft变换出现问题!!求解答

t=0:0.001:1;
>> s=sin(2*pi*300*t)+sin(2*pi*100*t);
>> =wavedec(y,3,'db6');
>> cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
>> cD1=detcoef(C,L,1);
cD2=detcoef(C,L,2);
cD3=detcoef(C,L,3);
D1=wrcoef('d',C,L,'db6',1);
D2=wrcoef('d',C,L,'db6',2);
D3=wrcoef('d',C,L,'db6',3);

以上是我自己编的程序,按照采样定理,D1对应的频率应为500-250hz,D2为250-125hz,D3为125-62.5hz,所以对D1,D2,D3进行fft变换,应在对D1,D3的变换中看到300hz和100hz的频率,但在D3的fft变换中还有200HZ的频率成分,而且幅值很大,请问这是什么原因,应该怎么解释呢?

破凰 发表于 2007-7-6 12:55

在第一层分解时,由于小波滤波器的非理想分频特性和隔点采样的影响,使300Hz频率分量映射为200Hz,虽然隔点插零可以抵消频率折叠,但是由于小波滤波器的非理想分频特性,使得重构后的D3中仍然含有200Hz这一分量。

wangtaojob688 发表于 2007-7-6 15:27

谢谢,我还不明白的是,在瞬态振动信号分析中,小波分解的每个层次中,怎么识别映射的频率和实际的频率呢,

还有,在论坛中看到大家对信号进行fft变换画出频谱图,但对应频率的幅值求法却大不相同,有的是abs(fft(s));

而有的是Y3=fft(D3,1024);
pyy3=Y3.*conj(Y3)/1024;

pyy3为幅值,这是怎么回事呀,不明白!!

破凰 发表于 2007-7-6 16:22

在没有先验知识的情况下,实际频率和映射频率很难识别,但通常情况混叠频率的幅值是很小的。要减少混叠可以选择分频性更好的小波,例如Db小波,消失矩越高,分频特性越好。
这样求是根据的公式啊,本版很多这样的帖子,你可以搜索一下!

fiporter 发表于 2007-7-6 17:16

我也看了,谢谢
页: [1]
查看完整版本: fft变换出现问题!!求解答