Thread Subject: FFT Quantization

Subject: FFT Quantization

From: John L

Date: 13 Jul, 2007 13:46:32

Message: 1 of 3

I was wondering if anyone had suggestions on how to vary the number of bits MATLAB uses to compute a windowed FFT. I'm trying to find the "breaking point" for an algorithm and my professor suggested I step the quantization downwards from 16 bits until it no longer works. Any suggestions would be appreciated.

Best regards,
John L.

Subject: FFT Quantization

From: Rick Rosson

Date: 13 Jul, 2007 11:38:43

Message: 2 of 3


You might want to create a function that pre-processes your data array
before you pass it to the FFT function. You could use the pre-processor to
"quantize" your data by mapping it to a limited set of specified values, for
example [ 0 ... 64] for 6-bit or [ 0 ... 32 ] for 5-bit, etc.

The declaration might be something like:

   function Y = quantize(X)

where X and Y are arrays of the same size and shape. You might also assume
that X is of class double, and type cast Y so that it is of class uint8.

Does that help?


Rick




"John L" <tturaiderjohn@mathworks.com> wrote in message
news:f77vno$gpg$1@fred.mathworks.com...
>I was wondering if anyone had suggestions on how to vary the number of bits
>MATLAB uses to compute a windowed FFT. I'm trying to find the "breaking
>point" for an algorithm and my professor suggested I step the quantization
>downwards from 16 bits until it no longer works. Any suggestions would be
>appreciated.
>
> Best regards,
> John L.


Subject: FFT Quantization

From: John L

Date: 16 Jul, 2007 22:20:45

Message: 3 of 3

I guess what would be more appropriate would be an FFT based on a lookup table where I could quantize the lookup table...I'm trying to port this algorithm to an embedded environment...So far I can get down to about an 11 bit representation before things start to fall apart, but I would like to avoid having to make the double precision calculation before I can quantize down. Hopefully that makes sense, I'm somewhat sleep deprived at this point. ;-)

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Public Submission Policy

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Disclaimer prior to use.

Contact us at files@mathworks.com