Go to the source code of this file.
#define ARMBITREVINDEXTABLE1024_TABLE_LENGTH ((uint16_t)1800) |
#define ARMBITREVINDEXTABLE2048_TABLE_LENGTH ((uint16_t)3808) |
#define ARMBITREVINDEXTABLE4096_TABLE_LENGTH ((uint16_t)4032) |
#define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208 ) |
#define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440 ) |
#define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448 ) |
#define ARMBITREVINDEXTABLE__16_TABLE_LENGTH ((uint16_t)20 ) |
#define ARMBITREVINDEXTABLE__32_TABLE_LENGTH ((uint16_t)48 ) |
#define ARMBITREVINDEXTABLE__64_TABLE_LENGTH ((uint16_t)56 ) |
#define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992 ) |
#define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) |
#define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) |
#define ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH ((uint16_t)112 ) |
#define ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH ((uint16_t)240 ) |
#define ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH ((uint16_t)480 ) |
#define ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH ((uint16_t)12 ) |
#define ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH ((uint16_t)24 ) |
#define ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH ((uint16_t)56 ) |
const q15_t armRecipTableQ15[64] |
const q31_t armRecipTableQ31[64] |
- 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
- 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);
- 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);
- Example code for Floating-point RFFT Twiddle factors Generation:
TW = exp(2*pi*i*[0:L/2-1]/L - pi/2*i).'
- Real and Imag values are in interleaved fashion