fft_code_tables.h

来自「FFT的实现在LPC2378上。首先采用了拉个朗日插值算法对采集的电网波形频率跟」· C头文件 代码 · 共 1,143 行 · 第 1/4 页

H
1,143
字号
0x16BE, 0x1757, 0x1802, 0x18BE, 0x198C, 0x1A6C, 0x1B5D, 0x1C5E,
0x1D71, 0x1E95, 0x1FC9, 0x210D, 0x2262, 0x23C7, 0x253B, 0x26C0,
0x2853, 0x29F6, 0x2BA7, 0x2D67, 0x2F35, 0x3112, 0x32FC, 0x34F3,
0x36F8, 0x390A, 0x3B28, 0x3D52, 0x3F88, 0x41CA, 0x4417, 0x466E,
0x48D0, 0x4B3D, 0x4DB3, 0x5032, 0x52BA, 0x554B, 0x57E4, 0x5A84,
0x5D2C, 0x5FDB, 0x6291, 0x654D, 0x680E, 0x6AD4, 0x6DA0, 0x7070,
0x7344, 0x761B, 0x78F6, 0x7BD3, 0x7EB2, 0x8193, 0x8476, 0x8759,
0x8A3D, 0x8D21, 0x9004, 0x92E7, 0x95C8, 0x98A7, 0x9B84, 0x9E5F,
0xA136, 0xA40A, 0xA6DA, 0xA9A5, 0xAC6C, 0xAF2D, 0xB1E9, 0xB49F,
0xB74E, 0xB9F6, 0xBC96, 0xBF2F, 0xC1C0, 0xC448, 0xC6C7, 0xC93D,
0xCBA9, 0xCE0C, 0xD063, 0xD2B0, 0xD4F2, 0xD728, 0xD952, 0xDB70,
0xDD82, 0xDF86, 0xE17E, 0xE368, 0xE545, 0xE713, 0xE8D3, 0xEA84,
0xEC27, 0xEDBA, 0xEF3F, 0xF0B3, 0xF218, 0xF36D, 0xF4B1, 0xF5E5,
0xF709, 0xF81B, 0xF91D, 0xFA0E, 0xFAED, 0xFBBB, 0xFC78, 0xFD23,
0xFDBC, 0xFE44, 0xFEB9, 0xFF1D, 0xFF6E, 0xFFAE, 0xFFDB, 0xFFF6
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[128] =
{
0x0000, 0x0003, 0x000E, 0x0020, 0x0039, 0x0059, 0x0080, 0x00AF,
0x00E6, 0x0124, 0x016A, 0x01B9, 0x020F, 0x026E, 0x02D5, 0x0345,
0x03BE, 0x0441, 0x04CD, 0x0563, 0x0603, 0x06AD, 0x0762, 0x0822,
0x08ED, 0x09C4, 0x0AA7, 0x0B96, 0x0C91, 0x0D9A, 0x0EAF, 0x0FD2,
0x1102, 0x1240, 0x138D, 0x14E8, 0x1652, 0x17CB, 0x1953, 0x1AEA,
0x1C91, 0x1E48, 0x200F, 0x21E6, 0x23CD, 0x25C5, 0x27CC, 0x29E5,
0x2C0E, 0x2E47, 0x3091, 0x32EB, 0x3555, 0x37D0, 0x3A5B, 0x3CF6,
0x3FA0, 0x425A, 0x4523, 0x47FC, 0x4AE3, 0x4DD8, 0x50DB, 0x53EC,
0x570A, 0x5A34, 0x5D6B, 0x60AD, 0x63FA, 0x6752, 0x6AB4, 0x6E1E,
0x7192, 0x750D, 0x788F, 0x7C17, 0x7FA5, 0x8338, 0x86CF, 0x8A69,
0x8E05, 0x91A3, 0x9541, 0x98DE, 0x9C7B, 0xA015, 0xA3AB, 0xA73E,
0xAACB, 0xAE52, 0xB1D3, 0xB54B, 0xB8BA, 0xBC1E, 0xBF78, 0xC2C6,
0xC607, 0xC93A, 0xCC5E, 0xCF72, 0xD275, 0xD567, 0xD846, 0xDB12,
0xDDC9, 0xE06A, 0xE2F6, 0xE56B, 0xE7C8, 0xEA0D, 0xEC39, 0xEE4A,
0xF042, 0xF21E, 0xF3DE, 0xF582, 0xF709, 0xF873, 0xF9BE, 0xFAEC,
0xFBFB, 0xFCEB, 0xFDBB, 0xFE6C, 0xFEFD, 0xFF6E, 0xFFBF, 0xFFEF
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 128
//-----------------------------------------------------------------------------
#if (NUM_FFT == 128)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[64] =
{
0x0000, 0x0400, 0x0800, 0x0C00, 0x1000, 0x1400, 0x1800, 0x1C00,
0x2000, 0x2400, 0x2800, 0x2C00, 0x3000, 0x3400, 0x3800, 0x3C00,
0x4000, 0x4400, 0x4800, 0x4C00, 0x5000, 0x5400, 0x5800, 0x5C00,
0x6000, 0x6400, 0x6800, 0x6C00, 0x7000, 0x7400, 0x7800, 0x7C00,
0x8000, 0x8400, 0x8800, 0x8C00, 0x9000, 0x9400, 0x9800, 0x9C00,
0xA000, 0xA400, 0xA800, 0xAC00, 0xB000, 0xB400, 0xB800, 0xBC00,
0xC000, 0xC400, 0xC800, 0xCC00, 0xD000, 0xD400, 0xD800, 0xDC00,
0xE000, 0xE400, 0xE800, 0xEC00, 0xF000, 0xF400, 0xF800, 0xFC00
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[64] =
{
0x0000, 0x0027, 0x009D, 0x0162, 0x0275, 0x03D6, 0x0582, 0x077B,
0x09BE, 0x0C4A, 0x0F1D, 0x1235, 0x1592, 0x1930, 0x1D0D, 0x2128,
0x257D, 0x2A0A, 0x2ECC, 0x33C0, 0x38E3, 0x3E31, 0x43A9, 0x4945,
0x4F04, 0x54E0, 0x5AD7, 0x60E6, 0x6707, 0x6D37, 0x7374, 0x79B8,
0x7FFF, 0x8647, 0x8C8B, 0x92C8, 0x98F8, 0x9F19, 0xA528, 0xAB1F,
0xB0FB, 0xB6BA, 0xBC56, 0xC1CE, 0xC71C, 0xCC3F, 0xD133, 0xD5F5,
0xDA82, 0xDED7, 0xE2F2, 0xE6CF, 0xEA6D, 0xEDCA, 0xF0E2, 0xF3B5,
0xF641, 0xF884, 0xFA7D, 0xFC29, 0xFD8A, 0xFE9D, 0xFF62, 0xFFD8
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[64] =
{
0x147A, 0x149F, 0x150C, 0x15C1, 0x16BE, 0x1802, 0x198C, 0x1B5D,
0x1D71, 0x1FC9, 0x2262, 0x253B, 0x2853, 0x2BA7, 0x2F35, 0x32FC,
0x36F8, 0x3B28, 0x3F88, 0x4417, 0x48D0, 0x4DB3, 0x52BA, 0x57E4,
0x5D2C, 0x6291, 0x680E, 0x6DA0, 0x7344, 0x78F6, 0x7EB2, 0x8476,
0x8A3D, 0x9004, 0x95C8, 0x9B84, 0xA136, 0xA6DA, 0xAC6C, 0xB1E9,
0xB74E, 0xBC96, 0xC1C0, 0xC6C7, 0xCBA9, 0xD063, 0xD4F2, 0xD952,
0xDD82, 0xE17E, 0xE545, 0xE8D3, 0xEC27, 0xEF3F, 0xF218, 0xF4B1,
0xF709, 0xF91D, 0xFAED, 0xFC78, 0xFDBC, 0xFEB9, 0xFF6E, 0xFFDB
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[64] =
{
0x0000, 0x000E, 0x0039, 0x0080, 0x00E6, 0x016A, 0x020F, 0x02D5,
0x03BE, 0x04CD, 0x0603, 0x0762, 0x08ED, 0x0AA7, 0x0C91, 0x0EAF,
0x1102, 0x138D, 0x1652, 0x1953, 0x1C91, 0x200F, 0x23CD, 0x27CC,
0x2C0E, 0x3091, 0x3555, 0x3A5B, 0x3FA0, 0x4523, 0x4AE3, 0x50DB,
0x570A, 0x5D6B, 0x63FA, 0x6AB4, 0x7192, 0x788F, 0x7FA5, 0x86CF,
0x8E05, 0x9541, 0x9C7B, 0xA3AB, 0xAACB, 0xB1D3, 0xB8BA, 0xBF78,
0xC607, 0xCC5E, 0xD275, 0xD846, 0xDDC9, 0xE2F6, 0xE7C8, 0xEC39,
0xF042, 0xF3DE, 0xF709, 0xF9BE, 0xFBFB, 0xFDBB, 0xFEFD, 0xFFBF
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 64
//-----------------------------------------------------------------------------
#if (NUM_FFT == 64)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[32] =
{
0x0000, 0x0800, 0x1000, 0x1800, 0x2000, 0x2800, 0x3000, 0x3800,
0x4000, 0x4800, 0x5000, 0x5800, 0x6000, 0x6800, 0x7000, 0x7800,
0x8000, 0x8800, 0x9000, 0x9800, 0xA000, 0xA800, 0xB000, 0xB800,
0xC000, 0xC800, 0xD000, 0xD800, 0xE000, 0xE800, 0xF000, 0xF800
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[32] =
{
0x0000, 0x009D, 0x0275, 0x0582, 0x09BE, 0x0F1D, 0x1592, 0x1D0D,
0x257D, 0x2ECC, 0x38E3, 0x43A9, 0x4F04, 0x5AD7, 0x6707, 0x7374,
0x7FFF, 0x8C8B, 0x98F8, 0xA528, 0xB0FB, 0xBC56, 0xC71C, 0xD133,
0xDA82, 0xE2F2, 0xEA6D, 0xF0E2, 0xF641, 0xFA7D, 0xFD8A, 0xFF62
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[32] =
{
0x147A, 0x150C, 0x16BE, 0x198C, 0x1D71, 0x2262, 0x2853, 0x2F35,
0x36F8, 0x3F88, 0x48D0, 0x52BA, 0x5D2C, 0x680E, 0x7344, 0x7EB2,
0x8A3D, 0x95C8, 0xA136, 0xAC6C, 0xB74E, 0xC1C0, 0xCBA9, 0xD4F2,
0xDD82, 0xE545, 0xEC27, 0xF218, 0xF709, 0xFAED, 0xFDBC, 0xFF6E
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[32] =
{
0x0000, 0x0039, 0x00E6, 0x020F, 0x03BE, 0x0603, 0x08ED, 0x0C91,
0x1102, 0x1652, 0x1C91, 0x23CD, 0x2C0E, 0x3555, 0x3FA0, 0x4AE3,
0x570A, 0x63FA, 0x7192, 0x7FA5, 0x8E05, 0x9C7B, 0xAACB, 0xB8BA,
0xC607, 0xD275, 0xDDC9, 0xE7C8, 0xF042, 0xF709, 0xFBFB, 0xFEFD
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 32
//-----------------------------------------------------------------------------
#if (NUM_FFT == 32)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[16] =
{
0x0000, 0x1000, 0x2000, 0x3000, 0x4000, 0x5000, 0x6000, 0x7000,
0x8000, 0x9000, 0xA000, 0xB000, 0xC000, 0xD000, 0xE000, 0xF000
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[16] =
{
0x0000, 0x0275, 0x09BE, 0x1592, 0x257D, 0x38E3, 0x4F04, 0x6707,
0x7FFF, 0x98F8, 0xB0FB, 0xC71C, 0xDA82, 0xEA6D, 0xF641, 0xFD8A
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[16] =
{
0x147A, 0x16BE, 0x1D71, 0x2853, 0x36F8, 0x48D0, 0x5D2C, 0x7344,
0x8A3D, 0xA136, 0xB74E, 0xCBA9, 0xDD82, 0xEC27, 0xF709, 0xFDBC
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[16] =
{
0x0000, 0x00E6, 0x03BE, 0x08ED, 0x1102, 0x1C91, 0x2C0E, 0x3FA0,
0x570A, 0x7192, 0x8E05, 0xAACB, 0xC607, 0xDDC9, 0xF042, 0xFBFB
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 16
//-----------------------------------------------------------------------------
#if (NUM_FFT == 16)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[8] =
{
0x0000, 0x2000, 0x4000, 0x6000, 0x8000, 0xA000, 0xC000, 0xE000
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[8] =
{
0x0000, 0x09BE, 0x257D, 0x4F04, 0x7FFF, 0xB0FB, 0xDA82, 0xF641
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[8] =
{
0x147A, 0x1D71, 0x36F8, 0x5D2C, 0x8A3D, 0xB74E, 0xDD82, 0xF709
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
WORD code WindowFunc[8] =
{
0x0000, 0x03BE, 0x1102, 0x2C0E, 0x570A, 0x8E05, 0xC607, 0xF042
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 8
//-----------------------------------------------------------------------------
#if (NUM_FFT == 8)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[4] =
{
0x0000, 0x4000, 0x8000, 0xC000
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[4] =
{
0x0000, 0x257D, 0x7FFF, 0xDA82
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[4] =
{
0x147A, 0x36F8, 0x8A3D, 0xDD82
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[4] =
{
0x0000, 0x1102, 0x570A, 0xC607
};
#endif
#endif
//-----------------------------------------------------------------------------
// Window Functions for NUM_FFT = 4
//-----------------------------------------------------------------------------
#if (NUM_FFT == 4)
#if (WINDOW_TYPE == 1)
// Triangle Window
const WORD  WindowFunc[2] =
{
0x0000, 0x8000
};
#endif
#if (WINDOW_TYPE == 2)
// Hanning Window
const WORD  WindowFunc[2] =
{
0x0000, 0x7FFF
};
#endif
#if (WINDOW_TYPE == 3)
// Hamming Window
const WORD  WindowFunc[2] =
{
0x147A, 0x8A3D
};
#endif
#if (WINDOW_TYPE == 4)
// Blackman Window
const WORD  WindowFunc[2] =
{
0x0000, 0x570A
};
#endif

#endif

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?