DSP_fft16x16t

xl0_1 = x_2 −

x_6;

xl1_1 =

x_3 − x_7;

n00

= xh0_0

+

xh0_1; n01 = xh1_0

+ xh1_1;

n10

= xl0_0

+

xl1_1; n11

= xl1_0

− xl0_1;

n20

= xh0_0

xh0_1; n21

= xh1_0

− xh1_1;

n30

= xl0_0

xl1_1; n31

= xl1_0

+ xl0_1;

if (radix == 2)

{

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

/* Perform DSP_radix2 style decomposition.

*/

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

n00

= x_0

+ x_2;

n01

= x_1

+ x_3;

 

n20

= x_0

− x_2;

n21

= x_1

− x_3;

 

n10

= x_4

+ x_6;

n11

= x_5

+ x_7;

 

n30

= x_4

− x_6;

n31

= x_5

− x_7;

 

}

 

 

 

y0[2*h2] = n00;

y0[2*h2 + 1]

= n01;

y1[2*h2] = n10;

y1[2*h2 + 1]

= n11;

y2[2*h2] = n20;

y2[2*h2 +

1]

= n21;

y3[2*h2] = n30;

y3[2*h2 +

1]

= n31;

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/ /* Read in the next eight inputs, and perform radix4 or DSP_radix2*/

/* decomposition.*/

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

x_8 =

x2[0];

x_9 =

x2[1];

x_a =

x2[2];

x_b =

x2[3];

x_c =

x2[4];

x_d =

x2[5];

x_e =

x2[6];

x_f = x2[7];

x2 +=

8;

 

 

 

 

 

xh0_2

= x_8 + x_c;

xh1_2

= x_9 + x_d;

xl0_2

= x_8 − x_c;

xl1_2

= x_9 − x_d;

xh0_3

= x_a + x_e;

xh1_3

= x_b + x_f;

xl0_3

= x_a − x_e;

xl1_3

= x_b − x_f;

n02

=

xh0_2 + xh0_3;

n03

=

xh1_2

+ xh1_3;

n12

=

xl0_2

+ xl1_3;

n13

=

xl1_2

− xl0_3;

n22

=

xh0_2

− xh0_3;

n23

=

xh1_2

− xh1_3;

n32

=

xl0_2

− xl1_3;

n33

=

xl1_2

+ xl0_3;

4-116

Page 144
Image 144
Texas Instruments TMS320C64X manual 116