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; |