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');
The frequencies of 10Hz and 15Hz are found approximately correct.
Why there are the differences between amplitudes in the Fourier transform and wavelet transform?

回答(2 个)

Alex
Alex 2013-4-24
no ideas?
  1 个评论
Igor
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.

请先登录,再进行评论。


Lisa Justin
Lisa Justin 2014-4-15
It depends on the window function used.

类别

Help CenterFile Exchange 中查找有关 Continuous Wavelet Transforms 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by