DSP_fft16x16t
4-116
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;