Real-time digital signal processing: implementations, ... changes in the input signal is limited by its internal clock rate, so that it may be slow to
Document source : notes.ump.edu.my
Table 7.3 (continued )
for(j 0; j < LE1; j)
{
for(i j; i < N; i LE) /* Do the butterflies */
{
id iLE1;
temp.re (X [id].re*U.re À X [id].im*U.im)*scale;
temp.im (X [id].im*U.re X [id].re*U.im)*scale;
X [id].re X [i].re*scale À temp.re;
X [id].im X [i].im*scale À temp.im;
X [i].re X [i].re*scale temp.re;
X [i].im X [i].im*scale temp.im;
}
/* Recursive compute W^k as U*W^(kÀ1) */
temp.re U.re*W [LÀ1].re À U.im*W [LÀ1].im;
U.im U.re*W [LÀ1].im U.im*W [LÀ1].re;
U.re temp.re;
}
}
}
Table 7.4 Floating-point bit-reversal function
/*
fbit_rev.c À Arrange input samples in bit-reversal order
The index j is the bit-reversal of i
*/
#include "fcomplex.h"
/* Floating-point complex.h header file */
void bit_rev(complex *X, unsigned int EXP)
{
unsigned int i, j, k;
unsigned int N 1(EXP; /* Number of points for FFT
*/
unsigned int N2 N)1;
complex temp;
/* Temp storage of the complex variable */
for(j 0, i 1; i < NÀ1; i)
{
k N2;
while(k < j)
{
continues overleaf
EXPERIMENTS USING THE TMS320C55X
339
Summary :
} } } Table 7.4 Floating-point bit-reversal function /* fbit_rev.c À Arrange input samples in bit-reversal order The index j is the bit-reversal of i */ #include "fcomplex.h"
Tags :
tempre,int,unsigned,tempim,bitreersal,là1re,là1im,forj,floatingpoint,complex,irescale,iimscale,temp