stft plot doesn't match FFT results

5 views (last 30 days)
Hello
I have a signal sampled at 250e6 samples/s. The FFT result of the signal looks correct with fundamental at 1.1 MHz and some harmonics. But when I do short-term fourier transform on the signal using the command:
figure,stft(T_mean,250e6,'FFTLength',1024);
I am not sure if the result is correct or not. Can anyone please help?
I did detrending to remove the DC noise part.

Accepted Answer

Star Strider
Star Strider on 2 Oct 2021
If the frequencies are the same in both plots, the only difference is that the STFT plot spans -125 Hz to +125 Hz. The peaks are clustered between 0 Hz and 5 Hz, explaining the bands on either side of the 0 Hz line.
Include:
ylim([-5 5])
and the plots should look similar (except that the STFT plot will continue to be symmetric about 0).
.
  2 Comments
NASRIN AKTER
NASRIN AKTER on 2 Oct 2021
Thanks for your answer. The source signal here is actually supposed to be a mixture of 2 signals. Based on the stft plot here, do you think there is any matlab technique that can separate those 2 signals? I already tried ICA but didn't seem to work.
Star Strider
Star Strider on 2 Oct 2021
My pleasure!
ICA or a filtering approach are the only options I’m aware of.
I have no idea what ‘didn’t seem to work’ means.
.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!