DSP_fft16x16t
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
co10 = w[j+1]; | si10 = w[j+0]; |
co11 = w[j+3]; | si11 = w[j+2]; |
co20 = w[j+5]; | si20 = w[j+4]; |
co21 = w[j+7]; | si21 = w[j+6]; |
co30 = w[j+9]; | si30 = w[j+8]; |
co31 = w[j+11]; | si31 = w[j+10]; |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
/* Read in the first complex input for the butterflies. | */ | ||
/* 1st complex input to 1st butterfly: | x[0] | + jx[1] | */ |
/* 1st complex input to 2nd butterfly: | x[2] | + jx[3] | */ |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
x_0 | = | x[0]; | x_1 | = | x[1]; |
x_2 | = | x[2]; | x_3 | = | x[3]; |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/ /* Read in the complex inputs for the butterflies. Each of the*/
/* successive complex inputs of the butterfly are seperated | */ |
/* by a fixed amount known as stride. The stride starts out | */ |
/* at N/4, and quarters with every stage. | */ |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
x_l1_0 = | x[l1 | ]; | x_l1_1 = x[l1+1]; | ||
x_l1_2 = | x[l1+2]; | x_l1_3 = x[l1+3]; | |||
x_l2_0 | = | x[l2 | ]; | x_l2_1 | = x[l2+1]; |
x_l2_2 | = | x[l2+2]; | x_l2_3 | = x[l2+3]; | |
x_h2_0 | = | x[h2 | ]; | x_h2_1 | = x[h2+1]; |
x_h2_2 | = | x[h2+2]; | x_h2_3 | = x[h2+3]; |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
/* Two butterflies are evaluated in parallel. The following | */ |
/* results will be shown for one butterfly only, although | */ |
/* both are being evaluated in parallel. | */ |
/* | */ |
/* Perform DSP_radix2 style DIF butterflies. | */ |
/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
xh0_0 | = x_0 | + x_l1_0; | xh1_0 | = x_1 | + x_l1_1; |
xh0_1 | = x_2 | + x_l1_2; | xh1_1 | = x_3 | + x_l1_3; |
xl0_0 | = x_0 | − x_l1_0; | xl1_0 | = x_1 | − x_l1_1; |
C64x+ DSPLIB Reference |
|