- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi all!

For me is very interesting can I use FFT for filtering purposes or I should only use FIR convolution? And if FFT is useful in that case, there is a boundary between it and for for the effective usage in terms of resource usage and so on.Link Copied

12 Replies

- 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

Thank you very much, kaz!

So as I understand FFT is inefficient for filter design, what is the purpose for using fft megacore produced by altera?- 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

Thank you very much, kaz!!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

We use the FFT for channelization of the spectrum. The core is now free with the subscription version of quartus. So if you have the subscription version, you can try it out.

If you are doing more than 5-10 channels the FFT will be the better solution. We are using it to do 127 channels. Is it the most efficient resource for what you are doing? Don't know. but can it be done? Yes. Pete- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you, Pete!

And why you don't use FIR? It also have multiple channels. It will be very interesting if somebody will tell the way he use the core in practice.- 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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

The system has multiple channels, that all need to be decoded simultaneously.

They are simple modulations, IE: AM, OOK, FM, GFSK, FSK, and although it can be extended to QAM, etc, the system doesn't require this yet. The FFT is used to channelize the system. and the rest of the bit decoding is done in the frequency domain. There are some simple lowpass IIR filters used in the system, but the maximum clock rate is not as high as what would be required to do true FIR filters for 127 channels. (Either need lots of multipliers, or to run the multipliers extremely fast.) For the simplest case, AM/OOK, the output of the Real and Imaginary output of the FFT is going through a square root function to give magnitude. This is based through a low pass filter giving a slow DC average. This passes through a bit slicer giving 1's and 0's that then pass into a correlator looking for the sync word of the incoming packet. Since I'm decoding in the frequency domain, I'm not filtering in the typical sense. I have worked on systems in the past where a FFT is performed, bins are masked, then an IFFT is performed, but that was used for a system where they need the time domain back, but wanted to apply a complex comb filter. Pete- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you, Pete!

So in your application it is effecient to use FFT because of lower frequency compared to FIR filters-based system?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Lower frequency and/or lower hardware resources.

In my use case, I am basically using 1 windowed 256 point FFT that is acting like 127 individual band pass filters and demodulators. The amount of hardware required to do this with classical fir filters is large or must be ran at extreme clock rates. That being said the windowing plays a critical roll in the "achieved" filtering. If you do not window the incoming data, the channels will interfere with each other (Basically you have a very poor band pass filter) because of the discontinuities at the FFT data boundaries. Using a WOLA (basically having a larger window than your FFT size) technique to can achieve great results. Pete- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thank you very much, Pete!

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