cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lok1989esh
Visitor
Visitor
9,942 Views
Registered: ‎04-25-2014

FFT 7.1 core : ERROR in output

Hello every one,

i'm using logicore fft 7.1 in xilinx ISE 13.2 and i'm pretty beginner in it . I have generated 8 point 16 bit fixed point FFT core. But the results of matlab and the core are no way near. Even i am getting the FFT output a bit wired. I consider  8 bit(integer) + 8 bit(fraction) = 16 bit. Output i am getting is of 20 bit. 

 

The settings of this core are selected as bellow:

transform length is 8,

target clock frequency is 250

Pipelined architecture

fixed point

both input data width and phase phactor width  are 16

unscaled,Trunction,Bit/digit reversed order

input data timing : No offset , Block Ram, and uses 3 multiplier structure,

 

I am attaching my project file with this query.

kindly help me out.


0 Kudos
Reply
5 Replies
lok1989esh
Visitor
Visitor
9,940 Views
Registered: ‎04-25-2014

my project file

Tags (1)
0 Kudos
Reply
vsrunga
Xilinx Employee
Xilinx Employee
9,937 Views
Registered: ‎07-11-2011

Hi,

 

I think below links give you what thing to look at

http://forums.xilinx.com/t5/Digital-Signal-Processing-IP-and/Verifying-FFT-output-between-Xilinx-CoreGen-and-Matlab/td-p/71837

 

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

 

Hope this helps

 

 

Regards,

Vanitha

---------------------------------------------------------------------------------------------
Please do google search before posting, you may find relavant information.
Mark the post - "Accept as solution" and give kudos if information provided is helpful and reply oriented
0 Kudos
Reply
lok1989esh
Visitor
Visitor
9,914 Views
Registered: ‎04-25-2014

Hi,

Thanks for replying but this is not what i looking for. 

 

There that is getting the correct results but had problem with very little variations.

 

Here i am not getting correct results.

 

Can you please help me out.

 

I am attaching my simulation results. To compare with matlab results we need to divide the input and output results by 2^15. because my sample is of fixed point with bitwidth of 16 bits  = (1 integer + 15 fraction).

 

 

Tags (1)
input_hex.png
output_hex.png
matlab_output.png
0 Kudos
Reply
balkris
Xilinx Employee
Xilinx Employee
9,910 Views
Registered: ‎08-01-2008

This is expected behavior you need to divide the simulation results with 2^15 to compare with matlab

Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Reply
lok1989esh
Visitor
Visitor
9,903 Views
Registered: ‎04-25-2014

When  i divide with 2^15 the output which i am getting is 

 

In bit reverse order:-

-0.96093 - 1.96875i
-1.00781 - 0.01562i

-1.99218 + i

-0.00781 + 0.98437i

1.292164 - 0.70709i

2.68823   + 0.70709i

-.71490  +  0.680389i

0.699279 +0.711639i

 

In natural order :-

-0.96093 - 1.96875i

1.292164 - 0.70709i

-1.99218 + i

-0.71490  +  0.680389i

-1.00781 - 0.01562i

2.68823   + 0.70709i

-0.00781 + 0.98437i

0.699279 +0.711639i

 

which is completely different from the matlab output

Tags (1)
fft_mat_out.png
0 Kudos
Reply