Texas Instruments TMS320C64X Programmer's Reference Manual page 140

Dsp little-endian dsp library
Hide thumbs Also See for TMS320C64X:
Table of Contents

Advertisement

DSP_fft16x16t
xl0_1
xh20_0 = x_h2_0 + x_l2_0;
xh20_1 = x_h2_2 + x_l2_2;
xl20_0 = x_h2_0 − x_l2_0;
xl20_1 = x_h2_2 − x_l2_2;
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
/* Derive output pointers using the input pointer "x"
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
x0 = x;
x2 = x0;
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
/* When the twiddle factors are not to be reused, j is
/* incremented by 12, to reflect the fact that 12 half words */
/* are consumed in every iteration. The input data pointer
/* increments by 4. Note that within a stage, the stride
/* does not change and hence the offsets for the other three */
/* legs, 0, h2, l1, l2.
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
j += 12;
x += 4;
predj = (j − fft_jmp);
if (!predj) x += fft_jmp;
if (!predj) j = 0;
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
/* These four partial results can be re−written to show
/* the underlying DIF structure similar to DSP_radix2 as
/* follows:
/*
/* X(4k)
/* X(4k+1)= (x(n)−x(n + N/2)) −j(x(n+N/4) − x(n + 3N/4))
/* x(4k+2)= (x(n)+x(n + N/2)) − (x(n+N/4)+ x(n + 3N/4))
/* X(4k+3)= (x(n)−x(n + N/2)) +j(x(n+N/4) − x(n + 3N/4))
/*
/* which leads to the real and imaginary values as foll:
/*
/* y0r = x0r + x2r +
4-112
= x_2
− x_l1_2;
= (x(n)+x(n + N/2)) + (x(n+N/4)+ x(n + 3N/4))
x1r +
xl1_1
= x_3
− x_l1_3;
xh21_0 = x_h2_1 + x_l2_1;
xh21_1 = x_h2_3 + x_l2_3;
xl21_0 = x_h2_1 − x_l2_1;
xl21_1 = x_h2_3 − x_l2_3;
x3r
=
xh0 + xh20
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Tms320c64x+

Table of Contents