Fast Fourier transform FFT
4 次查看(过去 30 天)
显示 更早的评论
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 <<
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158903/image.png)
>>
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158904/image.png)
4 个评论
David Goodmanson
2016-12-13
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
2016-12-13
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')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/186551/image.jpeg)
John BG
采纳的回答
John BG
2016-12-13
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')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176013/image.jpeg)
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!