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!