FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6356 Discussions

## A question regarding fft

Honored Contributor II
931 Views

Hi,

I'm kind of new to everything related to fourier transforms. What I want to do is ultimately create some kind of computer-based spectrum analyzer.

To do that I have an Altera Cyclone II with 18k LEs, USB core and everything related to connect my board to the PC, and Unicore Systems' Pipelined FFT 128 points core.

So let's say I have a 100MHz sine wave going through an ADC and into my Cyclone II. I want to transform that sine wave from the time domain to the frequency domain, by using the FFT core of course.

But my quesion is - what do I do next? I mean, what is the output of the FFT core? And how can I process it into a spectral image on my PC? (I already know C/C++/C#, I just don't know what to expect from the FFT output)

Thanks a lot!
4 Replies
Honored Contributor II
221 Views

The idea is you take fft outputs(Re/Im) and plot its magintude value against frequency axis.The amplitude value is usually expressed as power in dB.

power(p) = 20*log10(abs(Re,Im));

The frequency axis(f) starts from 0 to 1 * Fs(sampling frequency) for non dc centred fft output and extends from -.5 * Fs ~ 0.5* Fs for dc centred.

i.e. for a vector that extends from sample 1 to sample 128 ,(f) practically, can be expressed as follows:

f = linspace(0,1*Fs,128); %non dc centered, or

f = linspace(-.5*Fs,.5*Fs,128); %dc centered

dc centred means you swap the vector output values from last half to become first half of your new vector. Then

plot(f,p)

Above is basic fft display. Other displays such as spectrum analyser do more averaging of real signal power per subbands then display.
Honored Contributor II
221 Views

Thank you.

Honored Contributor II
221 Views

--- Quote Start ---

Thank you.

--- Quote End ---

Hello,

I'm working on a spectrum analyzer based on FFT for a university project and I have some problems with FFT core 1024. I have a kit with Altera Cyclone II DE2. I need simplicity in this part of the design, the requirements are a data entry with a width of 8-bit and 8-bit output also in their natural order. Language can be VHDL or VERYLOG am very worried about this I have no time for this part of the project.

I can't pay for Altera FFT IP. Already I've tried with cf FFT form opencores.org, but it doesn't work.

Can you help me?

best regards, and sorry for the discomforts.

Saavedra Lisseth.
Honored Contributor II
221 Views

Can you clarify "doesn't work"? I don't see why it wouldn't work.

And there is no secret. Either pay for a core or work on it yourself, you can't have both.