DSP_fft16x16r
}
yt2
yt3
yt6
yt7
if (radix == 2)
{
}
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
4-22
xl1_1 = x6;
xl0_1 = x7;
= xl0_0 + xl1_1;
= xl1_0 − xl0_1;
= xl0_0 − xl1_1;
= xl1_0 + xl0_1;
yt7
= xl1_0 − xl0_1;
yt3
= xl1_0 + xl0_1;
-
In-place computation is not allowed.
-
nx must be a power of 2 or 4.
-
Complex input data x[ ], twiddle factors w[ ], and output array y[ ] must be
double-word aligned.
-
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 − (log
(nx)−ceil[log
2
-
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
completely prevent overflow.
(nx)−1]).
4
(log2(nx)−ceil[log4(nx)−1])
to