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
Explorer
Explorer
806 Views
Registered: ‎04-19-2016

Why System Generator FFT 9.0 IP give different results for number around 0 (zero)

Dear All,

I have implemented the Jim Wu' s useful FFT result comparison model. He compares the System Generator FFT IP result, with Bit Accurate C - model and also MATLAB built-in function "fft". Test basicly contains a comparison of 256- point FFT results of numbers (-128:127)/128 taken from 3 - different methods. Input numbers are in the format of signed fixed point (16,15).  

From the results, it is seen that FFT results are almost the same, except for the input numbers around zero. System generator FFT results are deviated for the input numbers around "0" from the MATLAB "fft" function results and Bit Accurate C-Model results as seen below;

İdx

Input numbers           

MATLAB

“fft” function 

Bit Accurate

C - Model 

Xilinx FFT 9.0 IP

System Generator

0

-1

1.000000     

1.000000    

1.992188              

1

-0,992187500000000

81.489376   

81.489504

81.483460

2

-0,984375000000000

40.747756

40.747746

40.735596

3

-0,976562500000000

27.168581

27.168709

27.150331

4

-0,968750000000000

20.380016

20.380048

20.355531

5

-0,960937500000000

16.307697

16.307667

16.276888

6

-0,953125000000000

13.593501

13.593534

13.556551

7

-0,945312500000000

11.655377

11.655313

11.612307

8

-0,937500000000000

10.202297

10.202295

10.153201

9

-0,929687500000000

9.072582

9.072553

9.017032

 

127

-0,00781250000000000

1.000075 

1.000075     

0.015351             

128

0

1.000000

1.000000

0.007813

129

0,00781250000000000

1.000075

1.000075

0.014544

130

0,0156250000000000

1.000301

1.000301

0.025750

 

253

0,976562500000000    

27.168581    

27.168709  

27.150087        

254

0,984375000000000

40.747756

40.747746

40.735688

255

0,992187500000000

81.489376

81.489504

81.483551

 

Why System Generator FFT 9.0 IP results are deviated from MATLAB "fft" and Bit Accurate Model results around "0" ? Could this error be tolerated ? 

Best Regards, 

0 Kudos
3 Replies
Moderator
Moderator
765 Views
Registered: ‎08-16-2018

Re: Why System Generator FFT 9.0 IP give different results for number around 0 (zero)

Can you share the design file (.slx file).

Also, what is the SysGen Version used for the design.

/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...
0 Kudos
Explorer
Explorer
756 Views
Registered: ‎04-19-2016

Re: Why System Generator FFT 9.0 IP give different results for number around 0 (zero)

Dear @meherp,

You can find the attached design .slx file. 

I use Vivado 2017.2 and MATLAB 2016a. 

Best Regards,

Moderator
Moderator
695 Views
Registered: ‎08-16-2018

Re: Why System Generator FFT 9.0 IP give different results for number around 0 (zero)

I can see that the differences between Matlab and SysGen output increases in the file "FFT_System_Generator.m" as the input values moves towards 0. I will check it and get back to you.

/ 7\7     Meher Krishna Patel, PhD
\ \        Senior Product Application Engineer, Xilinx
/ /        
\_\/\7   It is not so much that you are within the cosmos as that the cosmos is within you...
0 Kudos