beautypg.com

Texas Instruments TMS320C64X User Manual

Page 46

background image

DSP_fft16x16r

4-18

{

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