CMSIS-DSP  Version 1.4.1
CMSIS DSP Software Library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Complex FFT Tables

Variables

const uint16_t armBitRevTable [1024]
 
const float32_t twiddleCoef_16 [32]
 
const float32_t twiddleCoef_32 [64]
 
const float32_t twiddleCoef_64 [128]
 
const float32_t twiddleCoef_128 [256]
 
const float32_t twiddleCoef_256 [512]
 
const float32_t twiddleCoef_512 [1024]
 
const float32_t twiddleCoef_1024 [2048]
 
const float32_t twiddleCoef_2048 [4096]
 
const float32_t twiddleCoef_4096 [8192]
 
const q31_t twiddleCoefQ31 [6144]
 
const q15_t ALIGN4 twiddleCoefQ15 [6144]
 

Description

Variable Documentation

const uint16_t armBitRevTable[1024]
Pseudo code for Generation of Bit reversal Table is
for(l=1;l <= N/4;l++)    
{    
  for(i=0;i<logN2;i++)    
  {     
    a[i]=l&(1<<i);    
  }    
  for(j=0; j<logN2; j++)    
  {    
    if (a[j]!=0)    
    y[l]+=(1<<((logN2-1)-j));    
  }    
  y[l] = y[l] >> 1;    
 } 
where N = 4096 logN2 = 12
N is the maximum FFT Size supported

Referenced by arm_cfft_radix2_init_f32(), arm_cfft_radix2_init_q15(), arm_cfft_radix2_init_q31(), arm_cfft_radix4_init_f32(), arm_cfft_radix4_init_q15(), and arm_cfft_radix4_init_q31().

const float32_t twiddleCoef_1024[2048]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_128[256]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_16[32]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_2048[4096]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_256[512]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_32[64]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_4096[8192]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion
const float32_t twiddleCoef_512[1024]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const float32_t twiddleCoef_64[128]
Example code for Floating-point Twiddle factors Generation:
for(i = 0; i< N/; i++)    
{    
      twiddleCoef[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoef[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are in interleaved fashion

Referenced by arm_rfft_fast_init_f32().

const q15_t ALIGN4 twiddleCoefQ15[6144]
Example code for Q15 Twiddle factors Generation::
for(i = 0; i< 3N/4; i++)    
{    
      twiddleCoefQ15[2*i]= cos(i * 2*PI/(float)N);    
      twiddleCoefQ15[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are interleaved fashion
Convert Floating point to Q15(Fixed point 1.15): round(twiddleCoefQ15(i) * pow(2, 15))

Referenced by arm_cfft_radix2_init_q15(), and arm_cfft_radix4_init_q15().

const q31_t twiddleCoefQ31[6144]
Example code for Q31 Twiddle factors Generation::
for(i = 0; i< 3N/4; i++)    
{    
   twiddleCoefQ31[2*i]= cos(i * 2*PI/(float)N);    
   twiddleCoefQ31[2*i+1]= sin(i * 2*PI/(float)N);    
} 
where N = 4096 and PI = 3.14159265358979
Cos and Sin values are interleaved fashion
Convert Floating point to Q31(Fixed point 1.31): round(twiddleCoefQ31(i) * pow(2, 31))

Referenced by arm_cfft_radix2_init_q31(), and arm_cfft_radix4_init_q31().