How to plot trend lines of 2 FFT graphs which have very large data points?

1 view (last 30 days)
Dear Guys!!
I got the problem on plotting FFT graph by Matlab. I need to compare FFT of 2 signals in the same graph.
From the attached pictured, those two signals were sampled from 600kHz, 10 sec. When I plot them on graph, it look like the filled pattern which is very hard to compared. I need to plot by 2 trend lines (unfilled like example in the middle graph).
I have tried several days to find the way to plot them like the graph in the middle of picture.
Nae = length(ae);
fs1 = 600000; % sampling rate of signal
t = [0:Nae-1]/fs1;
ff = (0:Nae/2)*fs1/Nae;
AE = fft(ae); AE(1)= [];
power = abs(AE(1:length(ff))*2/Nae).^2;
AE2 = fft(ae2); AE2(1)= [];
power2 = abs(AE2(1:length(ff))*2/Nae).^2;
h = figure(2);
plot(ff,power,'b',ff,power2,'r');
legend('Signal 1','Signal 2');
Any suggestion ???
Thank you very much

Answers (1)

Youssef  Khmou
Youssef Khmou on 15 Sep 2014
One temporary solution is to downsample the two power spectra, this proposition is based on time-frequency uncertainty principle, since the physical resolution will not improve unless you have more samples in time domain, so you can truncate elements :
f=20;
Power=power(1:f:end);
Power2=power2(1:f:end);
% try with different values of gap f, or use downsample(power,c) function .
  3 Comments
Youssef  Khmou
Youssef Khmou on 15 Sep 2014
can you use correlation function between the two signals? (xcorr(power,power2)) ?
Nopparat Seemuang
Nopparat Seemuang on 22 Sep 2014
I have just tried. The graph looks like my need. How can I modify to meet my request of two fft compared in the same graph?
Thanks

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!