The difference between the amplitudes of Fourier transform and wavelet transform
3 次查看(过去 30 天)
显示 更早的评论
Hello! I found unknown to me aspect of the wavelet transform.
I'm doing an analysis of pre-known signal, consisting of two sinusoids, which are in series:
F1 = 10; % The frequency of the first sinusoid (Hz)
F2 = 15; % The frequency of the second sinusoid (Hz)
Signal = sind((F2*360*T).*(T<5)) + sind((F1*360*T).*(T>5));
Then I do Fourier transform:
FftL = 1024;
FftS=abs(fft(Signal,FftL));
FftS=2*FftS./FftL;
FftS(1)=FftS(1)/2;
The frequencies of 10Hz and 15Hz are found correct.
Now I do wavelet transform:
y = cwt (Signal, [1:256], 'morl');
freq = scal2frq (1:256, 'morl', 0.01);
figure
mesh (T,freq,abs(y));
xlabel ('time'); ylabel ('Frequency');
Result: http://imageshack.us/a/img534/2312/wavemorlettop.jpg and http://imageshack.us/a/img802/8279/wavemorletfreq.jpg
The frequencies of 10Hz and 15Hz are found approximately correct.
Why there are the differences between amplitudes in the Fourier transform and wavelet transform?
0 个评论
回答(2 个)
Alex
2013-4-24
1 个评论
Igor
2014-4-16
Alex, since you add pure sinusoids, it is only the Fourier transform that will show you the true magnitudes at exactly the same frequencies that your signal consists of. This is due to the nature of the transform, which has scaled sinusoids as basis functions. By the way, it's not clear to me whether your signal contains 1024 samples. I think it doesn't. Otherwise, you should've seen peaks at 10 and 15 Hz only, with all the other values in the FFT spectrum being zeros (unlike your picture).
None of the wavelets I know (including the one you're using) resembles a pure sinusoid with 100% accuracy, hence rough frequency content estimation. The more the wavelet and a sinusoid are alike, the better the result should be in this case.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Continuous Wavelet Transforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!