View Single Post
  #2 (permalink)  
Old 07-07-2006, 11:41 PM
Ian Shef
Guest
 
Posts: n/a
Default Re: 1024 point FFT on a vector of size less than 1024

"Rajan" <[email protected]> wrote in
news:[email protected] :

>
> Hi all!
> I am a newbie to DSP. I have some basic questions. I will really
> appreciate if someone answers them.
>
> 1. Is it logical to perform 1024 point FFT on a vector of size less than
> 1024 (say 150) in MATLAB ?

Depends upon your definition of "logical". There can be good reasons for
doing this. For example, there may be a speed advantage by using a size
that is a power of two. However, Matlab is pretty clever about dealing
with Fourier transforms of data sets whose size is not a power of two.
Matlab should recognize that 150 = 2 x 3 x 5 x 5 and apply some
optimizations. See the Matlab documentation for "Fourier transforms
(Matlab)" | functions | fft .
Another example would be to perform interpolation.

> 2. If yes, then -does MATLAB perform zero padding automatically in above
> case or do we need to do it manually ?

Yes -- as extracted from the help for version 7 (R14):
Y = fft(X,n) returns the n-point DFT. If the length of X is less than n, X
is padded with trailing zeros to length n.

> 3. what kind of output will it give ?

See
http://zone.ni.com/devzone/conceptd....C1A86256CA8005
3F322

(If this URL gets split into two lines, be sure to paste both parts into
your browser).

You get an increase in "resolution" in your spectrum - sort of. YOu get
more bins with a closer frequency spacing, thus providing an interpolation
of the original spectrum. However, the increased "resolution" doesn't
provide you any more information than you had before.

Suggestion: Get into Matlab, read the help, try some examples.

Good luck!

--
Ian Shef 805/F6 * These are my personal opinions
Raytheon Company * and not those of my employer.
PO Box 11337 *
Tucson, AZ 85734-1337 *
Reply With Quote