DSP_fft16x16r
xl1_1 = x6; xl0_1 = x7;
}
yt2 = xl0_0 + xl1_1; yt3 = xl1_0 − xl0_1; yt6 = xl0_0 − xl1_1; yt7 = xl1_0 + xl0_1; if (radix == 2)
{
yt7 = xl1_0 − xl0_1; yt3 = xl1_0 + xl0_1;
}
y0[k] = yt0; y0[k+1] = yt1; k += n>>1;
y0[k] = yt2; y0[k+1] = yt3; k += n>>1;
y0[k] = yt4; y0[k+1] = yt5; k += n>>1;
y0[k] = yt6; y0[k+1] = yt7;
}
}
Special Requirements
-
-nx must be a power of 2 or 4.
-Complex input data x[ ], twiddle factors w[ ], and output array y[ ] must be
-Real values are stored in even word, imaginary in odd.
-All data are in short precision or Q.15 format. Allowed input dynamic range is 16 − (log2(nx)−ceil[log4(nx)−1]).
-Output results are returned in normal order.
-The FFT coefficients (twiddle factors) are generated using the program tw_fft16x16 provided in the directory ‘support\fft’. The scale factor must be 32767.5. The input data must be scaled by 2(log2(nx)−ceil[log4(nx)−1]) to completely prevent overflow.