- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm analyzing the FFT 7.2 Megacore and I have it working with DSP Builder (and also on an evaluation board) using the streaming mode. I would like to understand the 3 other modes : Variable Streaming, Burst and Buffered Burst. I have read of course the FFT User's Guide but when it comes to implementing the 3 other modes, I'm getting confused. Can someone explain in plain english what are the main characteristics of each mode? What are the pros and cons of each solution? Does anyone as a DSP Builder sample code for each options? ThanksLink Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Burst FFT: The burst FFT process one frame of data at a time. The core needs to finish processing and outputting that one frame of data before it can accept more inputs.
Buffered burst FFT: The buffered burst FFT takes a couple frames of data at a time. The core would need to finish processing those couple frame of data before it can accept more inputs. Note: Buffered burst, burst and streaming FFT all use Block Floating Point algorithm. Variable Streaming FFT: This is a streaming FFT. However, you can run-time configure the FFT size if you want. For example, if I have a 1024 point VS FFT, then I can change the FFT size on the fly (anywhere up to 1024 points). The change would apply to the subsequent packet. Note: Variable streaming uses a radix 2^2 structure and it support fixed point (allows for natural bit growth) and floating point (IEEE 754 single point precision). Also I recommend using the 8.0 version of FFT. Due to the interaction between the built in Avalon ST FIFO and the FFT core, the burst and buffered burst modes don't really behave correctly. (Take burst for example, rather than taking one frame of data, then core would have to take one frame + the next couple samples from the subsequent frame, before it would start computing). I heard that problem has been fixed in the 8.0 release... I will post some examples later if I can find them on my machine... Hope this helps...- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
Wronghorizon, I was going through some of your code for the FFT control to familiarize myself with what's needed. I was able to understand the code except for one parameter, PULSE_BW_FM. What is it used for? Thanks! fpga_beginner- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for the long absence, have been distracted at work and have not been able to check the forum as regularly as I want... Anyhow, I was simply trying to use the VS FFT in a burst-like fashion... therefore, the PULSE_BW_FM (actually I should have named it PAUSE_BW_FM) simply states the number of idle cycles between each frame of data...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks wronghorizon!
I actually figured it out what the variable was using waveform testing - I noticed the delay in inputting data to the engine. Appreciate the reply- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is reasonable.

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