Fast Fourier transform FFT

8 views (last 30 days)
ahmed youssef
ahmed youssef on 12 Dec 2016
Commented: Jan on 24 Feb 2017
Hi, I am confusing for something about FFT. My system has to be calibrated by the noise signal. when I type like Z=FFT(x,L), x= noise and L number of FFT point, where L>> length of noise. when I do that the noise is distorted from edges whereas I put a number of FFT point = length of noise,no distortion occurs. I know the FFT points when exceeding the length of the signal, it does act as a zero-padding which increase the resolution of the signal in time domain. However, It distorted noise from edges. I need to know why. The first image shows the distorted noise while second image shows noise with same fft point Thank you in advance <<
>>
  4 Comments
David Goodmanson
David Goodmanson on 13 Dec 2016
Hi ahmed, From your expression z = fft(x,L) it looks like you are in one dimension. If you take a 1d random variable such as randn(1,1000), pad the fft like you mention with L > 1000 and plot the result it is just like you would expect, noise all the way across. No distortion.
However, your plots are 3d plots, so that is why I was asking about the significance of the third dimension.
John BG
John BG on 13 Dec 2016
how do you expect noise to be the same, not even through 2 system you expect to be the same, but even the same system at different moments?
time domain to study noise is like trying to study the hills of terrain in a dense forest, no way.
You'd better check the spectrum envelop, that would show you whether you are filtering or not, mean variance higher statistical moments
Bear in mind that by padding zeros you are actually interleaving noise (random) and deterministic (null) pulses.
Therefore the FFT of a square pulses (sinc?) should somehow show up.
And agreeing with David, if you want to add 3rd dimension, time, then why not using a waterfall with command waterfall() or with command spectrogram()?
example of spectrogram with a linear chirp:
t = 0:1/1e3:2;
y = chirp(t,0,1,250);
spectrogram(y,256,250,256,1e3,'yaxis')
John BG

Sign in to comment.

Accepted Answer

John BG
John BG on 13 Dec 2016
how do you expect noise to be the same, not even through 2 system you expect to be the same, but even the same system at different moments?
time domain to study noise is like trying to study the hills of terrain in a dense forest, no way.
You'd better check the spectrum envelop, that would show you whether you are filtering or not, mean variance higher statistical moments
Bear in mind that by padding zeros you are actually interleaving noise (random) and deterministic (null) pulses.
Therefore the FFT of a square pulses (sinc?) should somehow show up.
And agreeing with David, if you want to add 3rd dimension, time, then why not using a waterfall with command waterfall() or with command spectrogram()?
example of spectrogram with a linear chirp:
t = 0:1/1e3:2;
y = chirp(t,0,1,250);
spectrogram(y,256,250,256,1e3,'yaxis')
If you find my answer useful, would you please be so kind to mark it as accepted answer?
thanks in advance, awaiting answer
John BG
  1 Comment
Jan
Jan on 24 Feb 2017
John BG has accepted this answer by his own. It is not clear, if it works for the OP.

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!