cancel
Showing results for
Show  only  | Search instead for
Did you mean:
Visitor
550 Views
Registered: ‎02-26-2020

## FFT Output TUSER INDEX Calculation Issues

Sir I am facing a problem in calculating Tuser Index for FFT, I have generated SINE AND COSINE frequency of 4MHz using DDS , How many bits of TUSER Index will I consider, if:

Point size is N: 4096,  and Sampling Frequency is fs: 100MHz , so that Frequency Resolution is 100M/4096 =24414.0625

The Expected index will be : I = fin/Frequency Resolution = 4M/ 24414=163 =1010 0011 According to pg109-XFFT document , TUSER width is calculated as: log with base 2 (min. point size)  which in my case will be log with base 2(4096) =12

Now if I consider complete 12 bits than it gives a very high frequency, If I consider 6 bits (assuming 6 for cosine and 6 for sine ), than it overflows from expected index.

Thank you

1 Solution

Accepted Solutions
Xilinx Employee
513 Views
Registered: ‎09-18-2018

TUSER simply gives the index of all output samples, not only the index at which output is expected. It is just a counter that runs from 0 to 4095 once valid output from FFT starts.

It does not depend on what input is provided.

The TUSER width can be found from the IP GUI implementation tab like in the attached picture.

I suggest to use the example test bench provided by FFT IP to understand what TUSER does.

4 Replies
Xilinx Employee
532 Views
Registered: ‎09-18-2018

Hi @rimshajaved ,

The XK_index field in the TUSER gives the index of output data samples. The FFT output will have 4096 output samples because of 4096-point FFT. So XK_index indicates the index of each output sample from 0 to 4095.

The output from the calculation in the question will be at index 162 (00001010 0010), which is 163rd output sample.

Visitor
523 Views
Registered: ‎02-26-2020

@vkanchan Thank You for your prompt response.
By your answer may I assume that I dont need to consider whether simple sine or sine and cosine is selected in dds. We simply have to find that particular index? and what about TUSER Index width?

Xilinx Employee
514 Views
Registered: ‎09-18-2018

TUSER simply gives the index of all output samples, not only the index at which output is expected. It is just a counter that runs from 0 to 4095 once valid output from FFT starts.

It does not depend on what input is provided.

The TUSER width can be found from the IP GUI implementation tab like in the attached picture.

I suggest to use the example test bench provided by FFT IP to understand what TUSER does.

Visitor
506 Views
Registered: ‎02-26-2020
Okay Okay I think I got your point, There might be some other issue due to which I am not getting peak at the expected index