Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
1,558 Views

How to use FFT Core with non-complex data?

Hello, 

 

I need to involve the FIR function but the FFT core has real and imaginary data I/O 

Should i connect my input to the REAL input and IMAGINARY input drive to zero vilue? 

And what's about the output? Should i use only the REAL data out bus? Or do i need to involve both of them and calculate FFT_OUT=SQWRT(REAL^2 + IMAGINARY^2) ?
0 Kudos
6 Replies
Highlighted
Valued Contributor III
5 Views

The fft splits up signal information into two components (Re,Im) in the frequency domain as you have noticed. The amplitude and phase of signal components can only be derived from both Re/Im. But you can process the signal as a pair or may discard one of them depending on requirements. 

 

I am not sure what you want to do, can you explain in more detail what input you are receiving and what you should output and where is that FIR going to fit?
0 Kudos
Highlighted
Valued Contributor III
5 Views

Hi, 

All i want is to feed A2D readings and get the amplitudes in frequency domain. I don't need any phase information, only the amplitudes.
0 Kudos
Highlighted
Valued Contributor III
5 Views

In that case you already know what to do: A = sqrt(Re^2 + Im^2). 

sqrt is a bit demanding in fpga but there are ips. You may just use A^2 then convert it in software.
0 Kudos
Highlighted
Valued Contributor III
5 Views

Thanx. 

And what's about the inputs? 

Should i connect the input to Re and zero value to the Im?
0 Kudos
Highlighted
Valued Contributor III
5 Views

If your signal is only one real channel then naturally it has zero imaginary component and set imaginary input of your fft to zero.

0 Kudos
Highlighted
Valued Contributor III
5 Views

Thanx, 

I checked the results with Re^2 + Im^2 (no sqwr yet). I had entered sqware wave and expecting to see hign value at the fundamental frequency and its harmonics but still it seems strange...
0 Kudos