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# 23247

LogiCORE Fast Fourier Transform - Why are the output results of the Pipelined Streaming I/O xFFT architecture not symmetrical? Why do I see differences between the Burst I/O implementation and the Pipelined Streaming I/O FFT implementation?

Description

Why are the output results of the Pipelined Streaming I/O xFFT architecture not symmetrical? Why do I see differences between the Burst I/O implementation and the Pipelined Streaming I/O FFT implementation?

Solution

The output of the Pipelined Streaming I/O FFT architecture is not symmetrical because it uses a decimate-in-frequency (DIF) FFT algorithm, while the Burst I/O architectures use a decimate-in-time (DIT) FFT algorithm. The decimate-in-frequency (DIF) FFT algorithm is not inherently symmetrical because of rounding on the inner products, which introduces some nonsymmetrical noise. Both architectures do introduce some noise, but the decimate-in-time (DIT) introduces a more symmetrical noise and does not show the problem of the nonsymmetrical output.

(Please see the FFT Data Sheet DS260 Algorithm Section for more information.)

For more information, see the following documents:

"Limited Dynamic Range of Spectrum Analysis Due To Round off Errors Of The FFT," by Quang Hung Nguyen and Istvan Kollar, available at:

http://home.mit.bme.hu/~kollar/papers/IMTC-FFT.pdf

"Influence of Digital Signal Processing on Precision of Power Quality Parameters Measurement", by I. Szolik, K. Kovac, V. Smiesko, available at:

http://www.measurement.sk/2003/S1/Szolik.pdf

It should also be noted that this problem is more noticeable in larger point size FFTs. It is virtually unnoticeable for a 16-point FFT, and slightly noticeable in a 32-point FFT. Also, the discrepancies are larger in the lower frequency bins, because of more noise being introduced into the first half of the FFT results than in the second half. If your application needs more accurate results, you may want to consider using the X(N/2+1 : N) results.

See (Xilinx Answer 29209) for a detailed list of LogiCORE Fast Fourier Transform (FFT) Release Notes and Known Issues.

AR# 23247
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article