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

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

Antworten (1)

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 Kommentare

thanks so much, Youssef
I have tried to resample but the signal changes because lost some important data point resulting in lost of some frequency content. this should be avoid for my work.
can you use correlation function between the two signals? (xcorr(power,power2)) ?
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 15 Sep. 2014

Kommentiert:

am 10 Jun. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by