FFT on an FPGA

Aug 17, 2006 24 Replies

You only lose low order bits if you need high-order bits.

It all depends on what you are doing.

If you are searching for tones in noisy data, where the strengths of the tones and the noise aren't determined at design time, then shift-if-you-need-it is a good strategy because you don't care about the noise in frequency space, only the strongest signal. It gives you overall dynamic range between, but not within, measurements.

If you are trying to filter out an interfering frequency to see what's underneath it, then losing everything below 2^-n of the largest frequency tone is sub-optimal. If you use floating point with too few bits in the significand, then there will be significance loss in a complicated pattern in frequency space.

David M. Palmer dmpalmer@email.com (formerly @clark.net, @ematic.com)

asking about block floating point

Exactly. It is useful when the dynamic range within a set is not large, but the dynamic range of possible inputs is large

Yes, that is referred to as block floating point. It is fairly common for hardware FFT engines.

David M. Palmer wrote:

I'll be presenting a poster session paper on this at HPEC 2006 next month. I'll post the foils on my website after the conference.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required