Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
746 Views

A question regarding fft

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!
0 Kudos
4 Replies
Altera_Forum
Honored Contributor I
36 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.
Altera_Forum
Honored Contributor I
36 Views

Thank you.

Altera_Forum
Honored Contributor I
36 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.
Altera_Forum
Honored Contributor I
36 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.
Reply