UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Participant 2010stone
Participant
4,121 Views
Registered: ‎10-16-2010

Trying to use the FFT block

Hi all, I recognize the FFT block is a mistery for me.

I am trying to charge in my FFT block 16 numbers:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

I matlab I do fft(vector16, 16); N = 16 , I take 16 samples from my 'vector16'

and I get this result:



  1.0e+002 *
  Columns 1 through 8
   1.3600            -0.0800 + 0.4022i  -0.0800 + 0.1931i  -0.0800 + 0.1197i  -0.0800 + 0.0800i  -0.0800 + 0.0535i  -0.0800 + 0.0331i  -0.0800 + 0.0159i
  Columns 9 through 16
  -0.0800            -0.0800 - 0.0159i  -0.0800 - 0.0331i  -0.0800 - 0.0535i  -0.0800 - 0.0800i  -0.0800 - 0.1197i  -0.0800 - 0.1931i  -0.0800 - 0.4022i

 

so I expect to get the same result by using the FFT block.

Until now I don´t get to get something related by using this FFT.

Does anyone know how to configure the this FFT block? What changes I need to do in my .mdl file?

I am using the FFTv4_1 block, my version of SG is 9.2i

You can download my .mdl file using this link http://db.tt/TX3riFc

Thank you so much for your help.

 

learningaboutfftblock.JPG

Tags (2)
0 Kudos
2 Replies
Scholar austin
Scholar
4,119 Views
Registered: ‎02-27-2008

Re: Trying to use the FFT block

2,

Did you read the data sheet? Have you chosen the representation for your data (properly)? Fixed-point, range and domain, and resolution are all important. Matlab is not the FPGA, what choices is it making? I suspect you do not have a background in digital signal processing: perhaps you need to study that first? Perhaps that is what you are doing right now?

If so, step back, learn about arithmetic in a FPGA device, and the choices you need to make there.

Perhaps learning how to perform basic arithmetic in a FPGA device as a first step before you start trying to perform fast Fourier transforms?

Learning how to input data, and output data? Clock the design, register results, pipeline?
Austin Lesea
Principal Engineer
Xilinx San Jose
Xilinx Employee
Xilinx Employee
4,107 Views
Registered: ‎11-28-2007

Re: Trying to use the FFT block

A couple of things:

 

  • The FFT ocre expects the data in the range of [-1, 1), so you will need to take that into account when comparing results from Matlab and SysGen.
  • The FFT core expects the "start" signal, xn_re/im and xn_index signal to be in certain timing relationship. Check the datasheet for details.

Take a look at the blog below to see if it helps:

 

http://myfpgablog.blogspot.com/2010/07/fft-results-from-matlab-fft-bit.html

 

 


@2010stone wrote:

Hi all, I recognize the FFT block is a mistery for me.

I am trying to charge in my FFT block 16 numbers:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

I matlab I do fft(vector16, 16); N = 16 , I take 16 samples from my 'vector16'

and I get this result:



  1.0e+002 *
  Columns 1 through 8
   1.3600            -0.0800 + 0.4022i  -0.0800 + 0.1931i  -0.0800 + 0.1197i  -0.0800 + 0.0800i  -0.0800 + 0.0535i  -0.0800 + 0.0331i  -0.0800 + 0.0159i
  Columns 9 through 16
  -0.0800            -0.0800 - 0.0159i  -0.0800 - 0.0331i  -0.0800 - 0.0535i  -0.0800 - 0.0800i  -0.0800 - 0.1197i  -0.0800 - 0.1931i  -0.0800 - 0.4022i

 

so I expect to get the same result by using the FFT block.

Until now I don´t get to get something related by using this FFT.

Does anyone know how to configure the this FFT block? What changes I need to do in my .mdl file?

I am using the FFTv4_1 block, my version of SG is 9.2i

You can download my .mdl file using this link http://db.tt/TX3riFc

Thank you so much for your help.

 

learningaboutfftblock.JPG




Cheers,
Jim