Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
arm_common_tables.h
00001 /* ---------------------------------------------------------------------- 00002 * Project: CMSIS DSP Library 00003 * Title: arm_common_tables.h 00004 * Description: Extern declaration for common tables 00005 * 00006 * $Date: 27. January 2017 00007 * $Revision: V.1.5.1 00008 * 00009 * Target Processor: Cortex-M cores 00010 * -------------------------------------------------------------------- */ 00011 /* 00012 * Copyright (C) 2010-2017 ARM Limited or its affiliates. All rights reserved. 00013 * 00014 * SPDX-License-Identifier: Apache-2.0 00015 * 00016 * Licensed under the Apache License, Version 2.0 (the License); you may 00017 * not use this file except in compliance with the License. 00018 * You may obtain a copy of the License at 00019 * 00020 * www.apache.org/licenses/LICENSE-2.0 00021 * 00022 * Unless required by applicable law or agreed to in writing, software 00023 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 00024 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00025 * See the License for the specific language governing permissions and 00026 * limitations under the License. 00027 */ 00028 00029 #ifndef _ARM_COMMON_TABLES_H 00030 #define _ARM_COMMON_TABLES_H 00031 00032 #include "arm_math.h" 00033 00034 extern const uint16_t armBitRevTable [1024]; 00035 extern const q15_t armRecipTableQ15[64]; 00036 extern const q31_t armRecipTableQ31[64]; 00037 extern const float32_t twiddleCoef_16 [32]; 00038 extern const float32_t twiddleCoef_32 [64]; 00039 extern const float32_t twiddleCoef_64 [128]; 00040 extern const float32_t twiddleCoef_128 [256]; 00041 extern const float32_t twiddleCoef_256 [512]; 00042 extern const float32_t twiddleCoef_512 [1024]; 00043 extern const float32_t twiddleCoef_1024 [2048]; 00044 extern const float32_t twiddleCoef_2048 [4096]; 00045 extern const float32_t twiddleCoef_4096 [8192]; 00046 #define twiddleCoef twiddleCoef_4096 00047 extern const q31_t twiddleCoef_16_q31 [24]; 00048 extern const q31_t twiddleCoef_32_q31 [48]; 00049 extern const q31_t twiddleCoef_64_q31 [96]; 00050 extern const q31_t twiddleCoef_128_q31 [192]; 00051 extern const q31_t twiddleCoef_256_q31 [384]; 00052 extern const q31_t twiddleCoef_512_q31 [768]; 00053 extern const q31_t twiddleCoef_1024_q31 [1536]; 00054 extern const q31_t twiddleCoef_2048_q31 [3072]; 00055 extern const q31_t twiddleCoef_4096_q31 [6144]; 00056 extern const q15_t twiddleCoef_16_q15 [24]; 00057 extern const q15_t twiddleCoef_32_q15 [48]; 00058 extern const q15_t twiddleCoef_64_q15 [96]; 00059 extern const q15_t twiddleCoef_128_q15 [192]; 00060 extern const q15_t twiddleCoef_256_q15 [384]; 00061 extern const q15_t twiddleCoef_512_q15 [768]; 00062 extern const q15_t twiddleCoef_1024_q15 [1536]; 00063 extern const q15_t twiddleCoef_2048_q15 [3072]; 00064 extern const q15_t twiddleCoef_4096_q15 [6144]; 00065 extern const float32_t twiddleCoef_rfft_32[32]; 00066 extern const float32_t twiddleCoef_rfft_64[64]; 00067 extern const float32_t twiddleCoef_rfft_128[128]; 00068 extern const float32_t twiddleCoef_rfft_256[256]; 00069 extern const float32_t twiddleCoef_rfft_512[512]; 00070 extern const float32_t twiddleCoef_rfft_1024[1024]; 00071 extern const float32_t twiddleCoef_rfft_2048[2048]; 00072 extern const float32_t twiddleCoef_rfft_4096[4096]; 00073 00074 /* floating-point bit reversal tables */ 00075 #define ARMBITREVINDEXTABLE_16_TABLE_LENGTH ((uint16_t)20) 00076 #define ARMBITREVINDEXTABLE_32_TABLE_LENGTH ((uint16_t)48) 00077 #define ARMBITREVINDEXTABLE_64_TABLE_LENGTH ((uint16_t)56) 00078 #define ARMBITREVINDEXTABLE_128_TABLE_LENGTH ((uint16_t)208) 00079 #define ARMBITREVINDEXTABLE_256_TABLE_LENGTH ((uint16_t)440) 00080 #define ARMBITREVINDEXTABLE_512_TABLE_LENGTH ((uint16_t)448) 00081 #define ARMBITREVINDEXTABLE_1024_TABLE_LENGTH ((uint16_t)1800) 00082 #define ARMBITREVINDEXTABLE_2048_TABLE_LENGTH ((uint16_t)3808) 00083 #define ARMBITREVINDEXTABLE_4096_TABLE_LENGTH ((uint16_t)4032) 00084 00085 extern const uint16_t armBitRevIndexTable16[ARMBITREVINDEXTABLE_16_TABLE_LENGTH]; 00086 extern const uint16_t armBitRevIndexTable32[ARMBITREVINDEXTABLE_32_TABLE_LENGTH]; 00087 extern const uint16_t armBitRevIndexTable64[ARMBITREVINDEXTABLE_64_TABLE_LENGTH]; 00088 extern const uint16_t armBitRevIndexTable128[ARMBITREVINDEXTABLE_128_TABLE_LENGTH]; 00089 extern const uint16_t armBitRevIndexTable256[ARMBITREVINDEXTABLE_256_TABLE_LENGTH]; 00090 extern const uint16_t armBitRevIndexTable512[ARMBITREVINDEXTABLE_512_TABLE_LENGTH]; 00091 extern const uint16_t armBitRevIndexTable1024[ARMBITREVINDEXTABLE_1024_TABLE_LENGTH]; 00092 extern const uint16_t armBitRevIndexTable2048[ARMBITREVINDEXTABLE_2048_TABLE_LENGTH]; 00093 extern const uint16_t armBitRevIndexTable4096[ARMBITREVINDEXTABLE_4096_TABLE_LENGTH]; 00094 00095 /* fixed-point bit reversal tables */ 00096 #define ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH ((uint16_t)12) 00097 #define ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH ((uint16_t)24) 00098 #define ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH ((uint16_t)56) 00099 #define ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH ((uint16_t)112) 00100 #define ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH ((uint16_t)240) 00101 #define ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH ((uint16_t)480) 00102 #define ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH ((uint16_t)992) 00103 #define ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH ((uint16_t)1984) 00104 #define ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH ((uint16_t)4032) 00105 00106 extern const uint16_t armBitRevIndexTable_fixed_16[ARMBITREVINDEXTABLE_FIXED_16_TABLE_LENGTH]; 00107 extern const uint16_t armBitRevIndexTable_fixed_32[ARMBITREVINDEXTABLE_FIXED_32_TABLE_LENGTH]; 00108 extern const uint16_t armBitRevIndexTable_fixed_64[ARMBITREVINDEXTABLE_FIXED_64_TABLE_LENGTH]; 00109 extern const uint16_t armBitRevIndexTable_fixed_128[ARMBITREVINDEXTABLE_FIXED_128_TABLE_LENGTH]; 00110 extern const uint16_t armBitRevIndexTable_fixed_256[ARMBITREVINDEXTABLE_FIXED_256_TABLE_LENGTH]; 00111 extern const uint16_t armBitRevIndexTable_fixed_512[ARMBITREVINDEXTABLE_FIXED_512_TABLE_LENGTH]; 00112 extern const uint16_t armBitRevIndexTable_fixed_1024[ARMBITREVINDEXTABLE_FIXED_1024_TABLE_LENGTH]; 00113 extern const uint16_t armBitRevIndexTable_fixed_2048[ARMBITREVINDEXTABLE_FIXED_2048_TABLE_LENGTH]; 00114 extern const uint16_t armBitRevIndexTable_fixed_4096[ARMBITREVINDEXTABLE_FIXED_4096_TABLE_LENGTH]; 00115 00116 /* Tables for Fast Math Sine and Cosine */ 00117 extern const float32_t sinTable_f32[FAST_MATH_TABLE_SIZE + 1]; 00118 extern const q31_t sinTable_q31[FAST_MATH_TABLE_SIZE + 1]; 00119 extern const q15_t sinTable_q15[FAST_MATH_TABLE_SIZE + 1]; 00120 00121 #endif /* ARM_COMMON_TABLES_H */
Generated on Wed Jul 13 2022 16:03:34 by
