FFT size less than signal length

If I have a signal containing 16384 samples, and the FFT size is limited to 512 points, how can we get the FFT of the signal. My understanding (not being a DSP guy) is that you need exactly as many time-domain samples as you have FFT points in your transform.
Does this mean we have to break down the signal into 32 time frames, find the FFT of each one, and then do some spiffy frame averaging? Thanks in advance.

1 Comment

Matt J
Matt J on 20 Oct 2012
Edited: Matt J on 20 Oct 2012
Clarify what causes you to want a smaller FFT array than signal array. You mean you only want the FFT over a certain subset of frequencies?

Sign in to comment.

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 20 Oct 2012
Edited: Azzi Abdelmalek on 20 Oct 2012
clear
y=rand(16384,1)
Y=fft(y)
size(Y)
% the result is 16384

2 Comments

But that assumes you want to use an FFT size as large as your signal. That doesn't seem very efficient if want to analyze a signal that is for example 33554432 samples (over 30 minutes sampled at 16kHz).
Azzi Abdelmalek
Azzi Abdelmalek on 20 Oct 2012
Edited: Azzi Abdelmalek on 20 Oct 2012
you can use just a period of your signal. and the sample time must be quite chosen

Sign in to comment.

Asked:

maz
on 20 Oct 2012

Community Treasure Hunt

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

Start Hunting!