DSP_fft16x16r

{

int

i, l0, l1, l2, h2, predj;

int

l1p1,l2p1,h2p1, tw_offset, stride, fft_jmp;

short

xt0, yt0, xt1, yt1, xt2, yt2;

short

si1,si2,si3,co1,co2,co3;

short

xh0,xh1,xh20,xh21,xl0,xl1,xl20,xl21;

short

x_0, x_1, x_l1, x_l1p1, x_h2 , x_h2p1, x_l2, x_l2p1;

short

*x,*w;

short

*ptr_x0, *ptr_x2, *y0;

unsigned int j, k, j0, j1, k0, k1; short x0, x1, x2, x3, x4, x5, x6, x7; short xh0_0, xh1_0, xh0_1, xh1_1; short xl0_0, xl1_0, xl0_1, xl1_1; short yt3, yt4, yt5, yt6, yt7;

unsigned

a,

num;

stride =

n;

/* n is the number of complex samples */

tw_offset = 0;

while (stride > radix)

{

j = 0;

fft_jmp = stride + (stride>>1); h2 = stride>>1;

l1 = stride;

l2 = stride + (stride>>1); x = ptr_x;

w = ptr_w + tw_offset;

for (i = 0; i < n>>1; i += 2)

{

co1 = w[j+0]; si1 = w[j+1]; co2 = w[j+2]; si2 = w[j+3]; co3 = w[j+4]; si3 = w[j+5]; j += 6;

x_0 = x[0];

4-18

Page 46
Image 46
Texas Instruments TMS320C64X manual DSPfft16x16r