CMSIS-DSP  
CMSIS DSP Software Library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
arm_common_tables.h File Reference

Macros

#define twiddleCoef
 
#define ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLEF64_4096_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_16_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_32_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_64_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_128_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_256_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_512_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_1024_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_2048_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_4096_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH
 
#define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH
 

Variables

const uint16_t armBitRevTable [1024]
 Table for bit reversal process. More...
 
const uint64_t twiddleCoefF64_16 [32]
 Double Precision Floating-point Twiddle factors Table Generation. More...
 
const uint64_t twiddleCoefF64_32 [64]
 
const uint64_t twiddleCoefF64_64 [128]
 
const uint64_t twiddleCoefF64_128 [256]
 
const uint64_t twiddleCoefF64_256 [512]
 
const uint64_t twiddleCoefF64_512 [1024]
 
const uint64_t twiddleCoefF64_1024 [2048]
 
const uint64_t twiddleCoefF64_2048 [4096]
 
const uint64_t twiddleCoefF64_4096 [8192]
 
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 twiddleCoef_16_q31 [24]
 Q31 Twiddle factors Table. More...
 
const q31_t twiddleCoef_32_q31 [48]
 
const q31_t twiddleCoef_64_q31 [96]
 
const q31_t twiddleCoef_128_q31 [192]
 
const q31_t twiddleCoef_256_q31 [384]
 
const q31_t twiddleCoef_512_q31 [768]
 
const q31_t twiddleCoef_1024_q31 [1536]
 
const q31_t twiddleCoef_2048_q31 [3072]
 
const q31_t twiddleCoef_4096_q31 [6144]
 
const q15_t twiddleCoef_16_q15 [24]
 q15 Twiddle factors Table More...
 
const q15_t twiddleCoef_32_q15 [48]
 
const q15_t twiddleCoef_64_q15 [96]
 
const q15_t twiddleCoef_128_q15 [192]
 
const q15_t twiddleCoef_256_q15 [384]
 
const q15_t twiddleCoef_512_q15 [768]
 
const q15_t twiddleCoef_1024_q15 [1536]
 
const q15_t twiddleCoef_2048_q15 [3072]
 
const q15_t twiddleCoef_4096_q15 [6144]
 
const uint64_t twiddleCoefF64_rfft_32 [32]
 
const uint64_t twiddleCoefF64_rfft_64 [64]
 
const uint64_t twiddleCoefF64_rfft_128 [128]
 
const uint64_t twiddleCoefF64_rfft_256 [256]
 
const uint64_t twiddleCoefF64_rfft_512 [512]
 
const uint64_t twiddleCoefF64_rfft_1024 [1024]
 
const uint64_t twiddleCoefF64_rfft_2048 [2048]
 
const uint64_t twiddleCoefF64_rfft_4096 [4096]
 
const float32_t twiddleCoef_rfft_32 [32]
 
const float32_t twiddleCoef_rfft_64 [64]
 
const float32_t twiddleCoef_rfft_128 [128]
 
const float32_t twiddleCoef_rfft_256 [256]
 
const float32_t twiddleCoef_rfft_512 [512]
 
const float32_t twiddleCoef_rfft_1024 [1024]
 
const float32_t twiddleCoef_rfft_2048 [2048]
 
const float32_t twiddleCoef_rfft_4096 [4096]
 
const uint16_t armBitRevIndexTableF64_16 [ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_32 [ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_64 [ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_128 [ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_256 [ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_512 [ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_1024 [ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_2048 [ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTableF64_4096 [ARMBITREVINDEXTABLEF64_4096_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable16 [ARMBITREVINDEXTABLE_16_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable32 [ARMBITREVINDEXTABLE_32_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable64 [ARMBITREVINDEXTABLE_64_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable128 [ARMBITREVINDEXTABLE_128_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable256 [ARMBITREVINDEXTABLE_256_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable512 [ARMBITREVINDEXTABLE_512_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable1024 [ARMBITREVINDEXTABLE_1024_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable2048 [ARMBITREVINDEXTABLE_2048_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable4096 [ARMBITREVINDEXTABLE_4096_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_16 [ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_32 [ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_64 [ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_128 [ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_256 [ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_512 [ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_1024 [ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_2048 [ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable_fixed_4096 [ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]
 
const float32_t realCoefA [8192]
 
const float32_t realCoefB [8192]
 
const q31_t realCoefAQ31 [8192]
 
const q31_t realCoefBQ31 [8192]
 
const q15_t realCoefAQ15 [8192]
 
const q15_t realCoefBQ15 [8192]
 
const float32_t Weights_128 [256]
 Weights Table. More...
 
const float32_t cos_factors_128 [128]
 
const float32_t Weights_512 [1024]
 
const float32_t cos_factors_512 [512]
 
const float32_t Weights_2048 [4096]
 
const float32_t cos_factors_2048 [2048]
 
const float32_t Weights_8192 [16384]
 
const float32_t cos_factors_8192 [8192]
 
const q15_t WeightsQ15_128 [256]
 Weights Table. More...
 
const q15_t cos_factorsQ15_128 [128]
 
const q15_t WeightsQ15_512 [1024]
 
const q15_t cos_factorsQ15_512 [512]
 
const q15_t WeightsQ15_2048 [4096]
 
const q15_t cos_factorsQ15_2048 [2048]
 
const q15_t WeightsQ15_8192 [16384]
 
const q15_t cos_factorsQ15_8192 [8192]
 
const q31_t WeightsQ31_128 [256]
 
const q31_t cos_factorsQ31_128 [128]
 
const q31_t WeightsQ31_512 [1024]
 
const q31_t cos_factorsQ31_512 [512]
 
const q31_t WeightsQ31_2048 [4096]
 
const q31_t cos_factorsQ31_2048 [2048]
 
const q31_t WeightsQ31_8192 [16384]
 
const q31_t cos_factorsQ31_8192 [8192]
 
const q15_t armRecipTableQ15 [64]
 Q15 table for reciprocal. More...
 
const q31_t armRecipTableQ31 [64]
 Q31 table for reciprocal. More...
 
const float32_t sinTable_f32 [FAST_MATH_TABLE_SIZE+1]
 
const q31_t sinTable_q31 [FAST_MATH_TABLE_SIZE+1]
 
const q15_t sinTable_q15 [FAST_MATH_TABLE_SIZE+1]
 
const q31_t sqrt_initial_lut_q31 [32]
 
const q15_t sqrt_initial_lut_q15 [16]
 

Macro Definition Documentation

#define ARMBITREVINDEXTABLE_1024_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_128_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_16_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_2048_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_256_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_32_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_4096_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_512_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_64_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH
#define ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_4096_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH
#define ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH
#define twiddleCoef

Variable Documentation

const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE_1024_TABLE_LENGTH]
const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]
const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE_16_TABLE_LENGTH]
const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE_2048_TABLE_LENGTH]
const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]
const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE_32_TABLE_LENGTH]
const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE_4096_TABLE_LENGTH]
const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]
const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE_64_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH]
const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_1024[ARMBITREVINDEXTABLEF64_1024_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_128[ARMBITREVINDEXTABLEF64_128_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_16[ARMBITREVINDEXTABLEF64_16_TABLE_LENGTH]

end of CFFT_CIFFT group

const uint16_t armBitRevIndexTableF64_2048[ARMBITREVINDEXTABLEF64_2048_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_256[ARMBITREVINDEXTABLEF64_256_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_32[ARMBITREVINDEXTABLEF64_32_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_4096[ARMBITREVINDEXTABLEF64_4096_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_512[ARMBITREVINDEXTABLEF64_512_TABLE_LENGTH]
const uint16_t armBitRevIndexTableF64_64[ARMBITREVINDEXTABLEF64_64_TABLE_LENGTH]
const q15_t armRecipTableQ15[64]

end of DCT4_IDCT4_Table group

const q31_t armRecipTableQ31[64]
const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE+1]
Example code for the generation of the floating-point sine table:
 tableSize = 512;
 for (n = 0; n < (tableSize + 1); n++)
 {
        sinTable[n] = sin(2*PI*n/tableSize);
 }
where PI value is 3.14159265358979
const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE+1]
Table values are in Q15 (1.15 fixed-point format) and generation is done in three steps. First, generate sin values in floating point:
 tableSize = 512;
 for (n = 0; n < (tableSize + 1); n++)
 {
        sinTable[n] = sin(2*PI*n/tableSize);
 } 
where PI value is 3.14159265358979
Second, convert floating-point to Q15 (Fixed point): (sinTable[i] * pow(2, 15))
Finally, round to the nearest integer value: sinTable[i] += (sinTable[i] > 0 ? 0.5 :-0.5);
const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE+1]
Table values are in Q31 (1.31 fixed-point format) and generation is done in three steps. First, generate sin values in floating point:
 tableSize = 512;
 for (n = 0; n < (tableSize + 1); n++)
 {
        sinTable[n] = sin(2*PI*n/tableSize);
 } 
where PI value is 3.14159265358979
Second, convert floating-point to Q31 (Fixed point): (sinTable[i] * pow(2, 31))
Finally, round to the nearest integer value: sinTable[i] += (sinTable[i] > 0 ? 0.5 : -0.5);
const q15_t sqrt_initial_lut_q15[16]
const q31_t sqrt_initial_lut_q31[32]
const float32_t twiddleCoef_rfft_1024[1024]
const float32_t twiddleCoef_rfft_128[128]
const float32_t twiddleCoef_rfft_2048[2048]
const float32_t twiddleCoef_rfft_256[256]
const float32_t twiddleCoef_rfft_32[32]
Example code for Floating-point RFFT Twiddle factors Generation:
TW = exp(pi/2*i-2*pi*i*[0:L/2-1]/L).' 
Real and Imag values are in interleaved fashion
const float32_t twiddleCoef_rfft_4096[4096]
const float32_t twiddleCoef_rfft_512[512]
const float32_t twiddleCoef_rfft_64[64]
const uint64_t twiddleCoefF64_rfft_1024[1024]
const uint64_t twiddleCoefF64_rfft_128[128]
const uint64_t twiddleCoefF64_rfft_2048[2048]
const uint64_t twiddleCoefF64_rfft_256[256]
const uint64_t twiddleCoefF64_rfft_32[32]
Example code for Double Precision Floating-point RFFT Twiddle factors Generation:
TW = exp(pi/2*i-2*pi*i*[0:L/2-1]/L).' 
Real and Imag values are in interleaved fashion
const uint64_t twiddleCoefF64_rfft_4096[4096]
const uint64_t twiddleCoefF64_rfft_512[512]
const uint64_t twiddleCoefF64_rfft_64[64]