Using FFT for selected data

Hi,
i have time data for say t=50s. i am trying to take FFT of this data using limited data only from say t=10 to t=20s. what is the change in the fft command i should be doing ?
i have tried changing the sample length n and NFFT accordingly, but it does not match with the FFT of the 50s data.
Thank you.

 Accepted Answer

Matt J
Matt J on 5 Jan 2013
Edited: Matt J on 5 Jan 2013
If you take the DFT of the same signal samples over a truncated time horizon, you will get coarser sampling in the frequency domain. There is therefore no reason the output should match in the two different cases.
However, as long as your time sampling rate is good and as long as the 10s horizon still covers the non-zero region of the signal, you should be getting a pretty accurate spectrum. What were you trying to accomplish by truncating the signal?

3 Comments

Thanks for reply. i have used FFT in a part of my program, where i sometimes have 'Out of memory' error as one of the reasons.further, in the beginning and end some of my data is not to the mark. Also, when i limit the data, obviously the phase plot changes. can you please provide me some reference on adjusting the phase for the plots?
Make it easy for him/us to help you by posting your code. For example, we have no idea how many samples are between your 10 second element and your 20 second element. Is it (unfortunately) only 10? Or is it a million? Also post your initial data. I don't see any reason to run out of memory especially for a 1D signal.
i am sorry if my earlier comment was not clear. i thanked him for the reply. i got what he wrote. i have accepted the answer.

Sign in to comment.

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Asked:

on 5 Jan 2013

Community Treasure Hunt

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

Start Hunting!