- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is probably going to be a simple question, but have been unable to find documentation to explain it. I'm running a 512 point 24 bit width data streaming FFT. My output is 24 bits with 6 bits of exponent.
How is the data being represented? Is it floating point? How can i convert it to 32 bit floating point? Thanks, BenLink Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Normally, FFTs on FPGAs would be done in fixed point. If this is the case then exponent is the wrong word to use.
Fixed point numbers are just unsigned/signed integers offset by 2^n. In this case, with 24 bits, 6 magnitude (I assume) then this number represents 0-64 (or -32 to (just under) +32) with an accuracy to the nearest 2^-18. it could still be a floating point, but I doubt it. Fixed point offers very good accuracy but sacrifices the range of data. But as it is basically just all integers it can be done very easily.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The altera documentation states it uses block floating point for the FFT.
so what your saying is, and if my data is x"DEADBE" with an exponent "011100" (28 or -4) than it would shift my value down by 4? and my signal would be x"DEADB.E" sorry im a little confused, not sure if that makes sense.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- The altera documentation states it uses block floating point for the FFT. so what your saying is, and if my data is x"DEADBE" with an exponent "011100" (28 or -4) than it would shift my value down by 4? and my signal would be x"DEADB.E" sorry im a little confused, not sure if that makes sense. --- Quote End --- It might actually be floating point then, just with an 6 bit exponent and 17 bit mantissa instead of the standard 8/23. This reduces logic requirements on the chip. It basically sacrifices range and accuracy so that it uses less resources (and possibly clock faster too).
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page