DSP_r4fft

>>15;

x[2 * i3 + 1] = (s2 * co3−r2 * si3)>>15;

}

}

ie <<= 2;

}

}

Special Requirements

-4 nx 65536 (nx a power of 4)

-x is aligned on a 4*nx byte boundary for circular buffering

-Input x and coefficients w should be in different data sections or memory spaces to eliminate memory bank hits. If this is not possible, w should be aligned on an odd word boundary to minimize memory bank hits

-x data is stored in the order real[0], image[0], real[1], ...

-The FFT coefficients (twiddle factors) are generated using the program tw_r4fft provided in the directory ‘support\fft’.

Implementation Notes

 

- Bank Conflicts: See Benchmarks.

 

- Interruptibility: The code is interrupt-tolerant but not interruptible.

 

- Loads input x and coefficient w as words.

 

- Both loops j and i0 shown in the C code are placed in the INNERLOOP of

 

the assembly code.

Benchmarks

The performance of this function has not yet been characterized on the C64x+.

C64x+ DSPLIB Reference

4-97

Page 125
Image 125
Texas Instruments TMS320C64X manual X2 * i3 + 1 = s2 * co3−r2 * si315 Ie =