STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
Variables
arm_common_tables.c File Reference
#include "arm_math.h"
#include "arm_common_tables.h"

Go to the source code of this file.

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 twiddleCoef_16_q31 [24]
 
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]
 
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 q15_t ALIGN4 armRecipTableQ15 [64]
 
const q31_t armRecipTableQ31 [64]
 
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 [ARMBITREVINDEXTABLE1024_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable2048 [ARMBITREVINDEXTABLE2048_TABLE_LENGTH]
 
const uint16_t armBitRevIndexTable4096 [ARMBITREVINDEXTABLE4096_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 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 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]
 

Variable Documentation

const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE1024_TABLE_LENGTH]

Definition at line 21343 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]
Initial value:
=
{
8,512, 16,64, 24,576, 32,128, 40,640, 48,192, 56,704, 64,256, 72,768,
80,320, 88,832, 96,384, 104,896, 112,448, 120,960, 128,512, 136,520,
144,768, 152,584, 160,520, 168,648, 176,200, 184,712, 192,264, 200,776,
208,328, 216,840, 224,392, 232,904, 240,456, 248,968, 264,528, 272,320,
280,592, 288,768, 296,656, 304,328, 312,720, 328,784, 344,848, 352,400,
360,912, 368,464, 376,976, 384,576, 392,536, 400,832, 408,600, 416,584,
424,664, 432,840, 440,728, 448,592, 456,792, 464,848, 472,856, 480,600,
488,920, 496,856, 504,984, 520,544, 528,576, 536,608, 552,672, 560,608,
568,736, 576,768, 584,800, 592,832, 600,864, 608,800, 616,928, 624,864,
632,992, 648,672, 656,896, 664,928, 688,904, 696,744, 704,896, 712,808,
720,912, 728,872, 736,928, 744,936, 752,920, 760,1000, 776,800, 784,832,
792,864, 808,904, 816,864, 824,920, 840,864, 856,880, 872,944, 888,1008,
904,928, 912,960, 920,992, 944,968, 952,1000, 968,992, 984,1008
}

Definition at line 21247 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE__16_TABLE_LENGTH]
Initial value:
=
{
8,64, 24,72, 16,64, 40,80, 32,64, 56,88, 48,72, 88,104, 72,96, 104,112
}

Definition at line 21224 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE2048_TABLE_LENGTH]

Definition at line 21495 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]

Definition at line 21265 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE__32_TABLE_LENGTH]
Initial value:
=
{
8,64, 16,128, 24,192, 32,64, 40,72, 48,136, 56,200, 64,128, 72,80, 88,208,
80,144, 96,192, 104,208, 112,152, 120,216, 136,192, 144,160, 168,208,
152,224, 176,208, 184,232, 216,240, 200,224, 232,240
}

Definition at line 21230 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE4096_TABLE_LENGTH]

Definition at line 21837 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]

Definition at line 21303 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE__64_TABLE_LENGTH]
Initial value:
=
{
8,64, 16,128, 24,192, 32,256, 40,320, 48,384, 56,448, 80,136, 88,200,
96,264, 104,328, 112,392, 120,456, 152,208, 160,272, 168,336, 176,400,
184,464, 224,280, 232,344, 240,408, 248,472, 296,352, 304,416, 312,480,
368,424, 376,488, 440,496
}

Definition at line 21238 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]

Definition at line 22294 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED__128_TABLE_LENGTH]
Initial value:
=
{
8,512, 16,256, 24,768, 32,128, 40,640, 48,384, 56,896, 72,576, 80,320, 88,832, 96,192,
104,704, 112,448, 120,960, 136,544, 144,288, 152,800, 168,672, 176,416, 184,928, 200,608,
208,352, 216,864, 232,736, 240,480, 248,992, 264,528, 280,784, 296,656, 304,400, 312,912,
328,592, 344,848, 360,720, 368,464, 376,976, 392,560, 408,816, 424,688, 440,944, 456,624,
472,880, 488,752, 504,1008, 536,776, 552,648, 568,904, 600,840, 616,712, 632,968,
664,808, 696,936, 728,872, 760,1000, 824,920, 888,984
}

Definition at line 22230 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED___16_TABLE_LENGTH]
Initial value:
=
{
8,64, 16,32, 24,96, 40,80, 56,112, 88,104
}

Definition at line 22209 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]

Definition at line 22368 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED__256_TABLE_LENGTH]
Initial value:
=
{
8,1024, 16,512, 24,1536, 32,256, 40,1280, 48,768, 56,1792, 64,128, 72,1152, 80,640,
88,1664, 96,384, 104,1408, 112,896, 120,1920, 136,1088, 144,576, 152,1600, 160,320,
168,1344, 176,832, 184,1856, 200,1216, 208,704, 216,1728, 224,448, 232,1472, 240,960,
248,1984, 264,1056, 272,544, 280,1568, 296,1312, 304,800, 312,1824, 328,1184, 336,672,
344,1696, 352,416, 360,1440, 368,928, 376,1952, 392,1120, 400,608, 408,1632, 424,1376,
432,864, 440,1888, 456,1248, 464,736, 472,1760, 488,1504, 496,992, 504,2016, 520,1040,
536,1552, 552,1296, 560,784, 568,1808, 584,1168, 592,656, 600,1680, 616,1424, 624,912,
632,1936, 648,1104, 664,1616, 680,1360, 688,848, 696,1872, 712,1232, 728,1744, 744,1488,
752,976, 760,2000, 776,1072, 792,1584, 808,1328, 824,1840, 840,1200, 856,1712, 872,1456,
880,944, 888,1968, 904,1136, 920,1648, 936,1392, 952,1904, 968,1264, 984,1776, 1000,1520,
1016,2032, 1048,1544, 1064,1288, 1080,1800, 1096,1160, 1112,1672, 1128,1416, 1144,1928,
1176,1608, 1192,1352, 1208,1864, 1240,1736, 1256,1480, 1272,1992, 1304,1576, 1336,1832,
1368,1704, 1384,1448, 1400,1960, 1432,1640, 1464,1896, 1496,1768, 1528,2024, 1592,1816,
1624,1688, 1656,1944, 1720,1880, 1784,2008, 1912,1976
}

Definition at line 22241 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED___32_TABLE_LENGTH]
Initial value:
=
{
8,128, 16,64, 24,192, 40,160, 48,96, 56,224, 72,144,
88,208, 104,176, 120,240, 152,200, 184,232
}

Definition at line 22215 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]

Definition at line 22524 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED__512_TABLE_LENGTH]

Definition at line 22260 of file arm_common_tables.c.

const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED___64_TABLE_LENGTH]
Initial value:
=
{
8,256, 16,128, 24,384, 32,64, 40,320, 48,192, 56,448, 72,288, 80,160, 88,416, 104,352,
112,224, 120,480, 136,272, 152,400, 168,336, 176,208, 184,464, 200,304, 216,432,
232,368, 248,496, 280,392, 296,328, 312,456, 344,424, 376,488, 440,472
}

Definition at line 22222 of file arm_common_tables.c.

const q15_t ALIGN4 armRecipTableQ15[64]
Initial value:
= {
0x7F03, 0x7D13, 0x7B31, 0x795E, 0x7798, 0x75E0,
0x7434, 0x7294, 0x70FF, 0x6F76, 0x6DF6, 0x6C82,
0x6B16, 0x69B5, 0x685C, 0x670C, 0x65C4, 0x6484,
0x634C, 0x621C, 0x60F3, 0x5FD0, 0x5EB5, 0x5DA0,
0x5C91, 0x5B88, 0x5A85, 0x5988, 0x5890, 0x579E,
0x56B0, 0x55C8, 0x54E4, 0x5405, 0x532B, 0x5255,
0x5183, 0x50B6, 0x4FEC, 0x4F26, 0x4E64, 0x4DA6,
0x4CEC, 0x4C34, 0x4B81, 0x4AD0, 0x4A23, 0x4978,
0x48D1, 0x482D, 0x478C, 0x46ED, 0x4651, 0x45B8,
0x4521, 0x448D, 0x43FC, 0x436C, 0x42DF, 0x4255,
0x41CC, 0x4146, 0x40C2, 0x4040
}

end of CFFT_CIFFT group

Definition at line 21193 of file arm_common_tables.c.

const q31_t armRecipTableQ31[64]
Initial value:
= {
0x7F03F03F, 0x7D137420, 0x7B31E739, 0x795E9F94, 0x7798FD29, 0x75E06928,
0x7434554D, 0x72943B4B, 0x70FF9C40, 0x6F760031, 0x6DF6F593, 0x6C8210E3,
0x6B16EC3A, 0x69B526F6, 0x685C655F, 0x670C505D, 0x65C4952D, 0x6484E519,
0x634CF53E, 0x621C7E4F, 0x60F33C61, 0x5FD0EEB3, 0x5EB55785, 0x5DA03BEB,
0x5C9163A1, 0x5B8898E6, 0x5A85A85A, 0x598860DF, 0x58909373, 0x579E1318,
0x56B0B4B8, 0x55C84F0B, 0x54E4BA80, 0x5405D124, 0x532B6E8F, 0x52556FD0,
0x5183B35A, 0x50B618F3, 0x4FEC81A2, 0x4F26CFA2, 0x4E64E64E, 0x4DA6AA1D,
0x4CEC008B, 0x4C34D010, 0x4B810016, 0x4AD078EF, 0x4A2323C4, 0x4978EA96,
0x48D1B827, 0x482D77FE, 0x478C1657, 0x46ED801D, 0x4651A2E5, 0x45B86CE2,
0x4521CCE1, 0x448DB244, 0x43FC0CFA, 0x436CCD78, 0x42DFE4B4, 0x42554426,
0x41CCDDB6, 0x4146A3C6, 0x40C28923, 0x40408102
}

Definition at line 21210 of file arm_common_tables.c.

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

Definition at line 26988 of file arm_common_tables.c.

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);

Definition at line 27210 of file arm_common_tables.c.

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);

Definition at line 27103 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_1024[1024]

Definition at line 23381 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_128[128]

Definition at line 22924 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_2048[2048]

Definition at line 23896 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_256[256]

Definition at line 22991 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_32[32]
Initial value:
= {
0.0f , 1.0f ,
0.195090322f , 0.98078528f ,
0.382683432f , 0.923879533f ,
0.555570233f , 0.831469612f ,
0.707106781f , 0.707106781f ,
0.831469612f , 0.555570233f ,
0.923879533f , 0.382683432f ,
0.98078528f , 0.195090322f ,
1.0f , 0.0f ,
0.98078528f , -0.195090322f ,
0.923879533f , -0.382683432f ,
0.831469612f , -0.555570233f ,
0.707106781f , -0.707106781f ,
0.555570233f , -0.831469612f ,
0.382683432f , -0.923879533f ,
0.195090322f , -0.98078528f
}
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

Definition at line 22870 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_4096[4096]

Definition at line 24923 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_512[512]

Definition at line 23122 of file arm_common_tables.c.

const float32_t twiddleCoef_rfft_64[64]

Definition at line 22889 of file arm_common_tables.c.