Special Requirements
Implementation Notes
y0[k] = yt0; y0[k+1] = yt1;
k += n_max>>1;
y0[k] = yt2; y0[k+1] = yt3;
k += n_max>>1;
y0[k] = yt4; y0[k+1] = yt5;
k += n_max>>1;
y0[k] = yt6; y0[k+1] = yt7;
}
}
N must be a power of 2 and N ≥ 8 N ≤ 16384 points.
-
-
Complex time data x and twiddle facotrs w are aligned on double-word
boundares. Real values are stored in even word positions and imaginary
values in odd positions.
-
All data is in single-precision floating-point format. The complex frequency
data will be returned in linear order.
-
A special sequence of coeffs. used as generated above produces the fft.
This collapses the inner 2 loops in the taditional Burrus and Parks imple-
mentation Fortran code.
-
The revised FFT uses a redundant sequence of twiddle factors to allow a
linear access through the data. This linear access enables data and in-
struction level parallelism.
-
The data produced by the fftSPxSP fft is in normal form, the whole data
array is written into a new output buffer.
-
The fftSPxSP butterfly is bit reversed, i.e. the inner 2 points of the butterfly
are corssed over, this has the effect of making the data come out in bit re-
versed rather than fftSPxSP digit reversed order. This simplifies the last
pass of the loop. ia simple table is used to do the bit reversal out of place.
unsigned char brev[64] = {
0x0, 0x20, 0x10, 0x30, 0x8, 0x28, 0x18, 0x38,
0x4, 0x24, 0x14, 0x34, 0xc, 0x2c, 0x1c, 0x3c,
0x2, 0x22, 0x12, 0x32, 0xa, 0x2a, 0x1a, 0x3a,
0x6, 0x26, 0x16, 0x36, 0xe, 0x2e, 0x1e, 0x3e,
0x1, 0x21, 0x11, 0x31, 0x9, 0x29, 0x19, 0x39,
0x5, 0x25, 0x15, 0x35, 0xd, 0x2d, 0x1d, 0x3d,
0x3, 0x23, 0x13, 0x33, 0xb, 0x2b, 0x1b, 0x3b,
0x7, 0x27, 0x17, 0x37, 0xf, 0x2f, 0x1f, 0x3f
};
DSPF_sp_fftSPxSP
DSPLIB Reference
4-23
Need help?
Do you have a question about the TMS320C67 DSP Series and is the answer not in the manual?
Questions and answers