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!

AR# 14184

System Generator for DSP - Why does the Xilinx FFT block generate different results from the MATLAB command line FFT function?

Description

General Description:

Why does the Xilinx FFT block generate different results from the MATLAB command line FFT function?

Solution

There are a few reasons why you are seeing differences in values for random data:

1. Xilinx uses fixed point, while MATLAB used floating point.

2. Xilinx FFT simulation has a 84 clock period latency for a 16 point FFT. (The latency is different based on the number of points on the FFT. Please consult the FFT data sheet for more information on this latency.) Therefore, you will have to feed the data 84 times before valid data output. Your intermediate output might not be valid before 84 clock periods for a 16 point FFT.

When you implement the FFT in hardware, you will see the same results as the MATLAB function once you have waited the latency period for the FFT as described in the Xilinx FFT Data Sheet.

Please also consult the "FFT/IFFT in streaming mode" demo available with the System Generator software.

AR# 14184
Date Created 08/29/2007
Last Updated 12/15/2012
Status Active
Type General Article