CAN FFT BE ON THE FPGA

Discussions related to embedded firmware, driver, and user mode application software development

Moderator: robert.ghilduta

Post Reply
ykhaled
Posts: 8
Joined: Sat Jun 11, 2016 8:38 pm

CAN FFT BE ON THE FPGA

Post by ykhaled » Thu Jan 05, 2017 10:25 pm

Hi All; not sure if my question is logical. Can anybody tell me if FFT functionality can be taken to the FPGA or if someone has already done so. Then, instead of streaming IQ - we would stream spectral components.

Someone might ask why? SDRs actually extend beyond transmission and reception - they can be used as spectrum sensors to analyze spectrum utilization. Currently IQ occupy heaps of space on disk. GRC FFT can do the conversion but it requires high performing PCs.

I intend to host a spectrum-history website which people can query spectrum usage.

Any advice in that regard is appreciated.

jadona
Posts: 3
Joined: Thu Sep 15, 2016 11:36 am

Re: CAN FFT BE ON THE FPGA

Post by jadona » Tue Jan 10, 2017 9:11 pm

Hi Khaled,
I am no expert, but this - atleast to me - seems difficult for the VDHL coding it will involve.
- first you will have to link the LMS buffers to the FFT VHDL code (there are open source codes available for this) [ assuming that you don't want to do FFT on NIOS, this should be simpler but slower btw]
- then you have to link the output of the FFT to the GPIF port of the FX3 controller
Needless to say, this will involve painful time synchronization and control message design.

ykhaled
Posts: 8
Joined: Sat Jun 11, 2016 8:38 pm

Re: CAN FFT BE ON THE FPGA

Post by ykhaled » Sat Jan 28, 2017 6:14 pm

Thanks Jadona - kindly appreciate your response.

To move forward, I decided to keep the DFFT to an external processor in an attempt to come up with a spectrum DVR :)

- BladeRF streams the I/Q- thanks to the BladeRF-CLI API with Synchronous metadata support
- User specifies span, centre-freq, RBW, VBW and window
- FFTW3 takes the complex time-domain samples and processes the DFFT
- Make use of FLAC to compress and store the spectrum

So far; the BladeRF API and FFTW3 are working good together but I need a way to plot the outcome for troubleshooting an comparison before a move-on to another block.


Questions:
1- Am I repeating something already out there?
I intend to have everything in "C" for performance and portability.
2- I noticed I have to multiply the time-domain signal with a transfer function (window) as in spectrum analyzers (flat, Hanning etc ..) is that really necessary in the case of BladeRF? BladeRF has a pass-band filter which practically works as a window. As for aliasing - will take care of it by external filter if necessary.

Code: Select all

config.bandwidth  = 2000000;
3- Any suggestions how I can quickly plot the FFTW3 output for verification and debugging
4- Is it better to store the PSD bins which is 1/2 N or the FLAC compressed FFTW3 complex output. I intend to average some vectors to reduce storage space

ykhaled
Posts: 8
Joined: Sat Jun 11, 2016 8:38 pm

Re: CAN FFT BE ON THE FPGA

Post by ykhaled » Mon Jan 30, 2017 5:26 am

I figured out I can process the window digitally. The RXLPF doesn't substitute it.

Post Reply