CMSIS-DSP
Version 1.4.7
CMSIS DSP Software Library
|
2*fftLen
samples through the transform. pSrc
points to In-place arrays containing 2*fftLen
values. pSrc
points to the array of in-place buffer of size 2*fftLen
and inputs and outputs are stored in an interleaved fashion as shown below. {real[0], imag[0], real[1], imag[1],..}
Complex Fast Fourier Transform:
x(n) = xa + j * ya x(n+N/4 ) = xb + j * yb x(n+N/2 ) = xc + j * yc x(n+3N 4) = xd + j * ydwhere N is length of FFT
X(4r) = xa'+ j * ya' X(4r+1) = xb'+ j * yb' X(4r+2) = xc'+ j * yc' X(4r+3) = xd'+ j * yd'
Wn = co1 + j * (- si1) W2n = co2 + j * (- si2) W3n = co3 + j * (- si3)
xa' = xa + xb + xc + xd ya' = ya + yb + yc + yd xc' = (xa+yb-xc-yd)* co1 + (ya-xb-yc+xd)* (si1) yc' = (ya-xb-yc+xd)* co1 - (xa+yb-xc-yd)* (si1) xb' = (xa-xb+xc-xd)* co2 + (ya-yb+yc-yd)* (si2) yb' = (ya-yb+yc-yd)* co2 - (xa-xb+xc-xd)* (si2) xd' = (xa-yb-xc+yd)* co3 + (ya+xb-yc-xd)* (si3) yd' = (ya+xb-yc-xd)* co3 - (xa-yb-xc+yd)* (si3)
fftLen
length of CFFT/CIFFT; ifftFlag
Flag for selection of CFFT or CIFFT(Set ifftFlag to calculate CIFFT otherwise calculates CFFT); bitReverseFlag
Flag for selection of output order(Set bitReverseFlag to output in normal order otherwise output in bit reversed order); pTwiddle
points to array of twiddle coefficients; pBitRevTable
points to the array of bit reversal table. twidCoefModifier
modifier for twiddle factor table which supports all FFT lengths with same table; pBitRevTable
modifier for bit reversal table which supports all FFT lengths with same table. onebyfftLen
value of 1/fftLen to calculate CIFFT;