stft plot doesn't match FFT results

7 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)

Categories

Find more on Get Started with Signal Processing Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!