DSP_fft16x16t

if (radix == 2)

 

 

 

{

 

 

 

 

 

n02

= x_8

+ x_a;

n03

= x_9

+ x_b;

n22

= x_8

− x_a;

n23

= x_9

− x_b;

n12

= x_c + x_e;

n13

= x_d + x_f;

n32

= x_c − x_e;

n33

= x_d − x_f;

}

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*

Points that are

read

from succesive

locations map to y, y[N/4]

*/

/*

y[N/2], y[3N/4]

in a

radix4 scheme,

y, y[N/8], y[N/2],y[5N/8]

*/

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

y0[2*h2+2] = n02;

y0[2*h2+3] = n03;

y1[2*h2+2] = n12;

y1[2*h2+3] = n13;

y2[2*h2+2] = n22;

y2[2*h2+3] = n23;

y3[2*h2+2] = n32;

y3[2*h2+3] = n33;

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/ /* Increment ”j” by ”j0”. If j equals n0, then increment both ”x0” */

/* and ”x2” so that double inversion is avoided.*/

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/ j += j0;

if (j == n0)

{

j += n0;

x0 += (int) npoints>>1;

x2 += (int) npoints>>1;

}

}

}

C64x+ DSPLIB Reference

4-117

Page 145
Image 145
Texas Instruments TMS320C64X manual C64x+ Dsplib Reference 117