diff options
Diffstat (limited to 'Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions')
40 files changed, 4047 insertions, 0 deletions
diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f32.c new file mode 100755 index 0000000..70a228e --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_bartlett_f32.c + * Description: Floating-point (f32) Bartlett window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowBARTLETT Bartlett window function (26.5 dB) + + */ + +/** + @ingroup WindowBARTLETT + */ + +/** + @brief Bartlett window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 26.5 dB | + | Normalized equivalent noise bandwidth | 1.3333 bins | + | 3 dB bandwidth | 1.2736 bins | + | Flatness | -1.8242 dB | + | Recommended overlap | 50.0 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_bartlett_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = i * k ; + if (i * k > 1.0f) + { + w = 2.0f - w; + } + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f64.c new file mode 100755 index 0000000..e409ac5 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_bartlett_f64.c + * Description: Floating-point (f64) Bartlett window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowBARTLETT + */ + +/** + @brief Bartlett window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 26.5 dB | + | Normalized equivalent noise bandwidth | 1.3333 bins | + | 3 dB bandwidth | 1.2736 bins | + | Flatness | -1.8242 dB | + | Recommended overlap | 50.0 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_bartlett_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = i * k ; + if (i * k > 1.0) + { + w = 2.0 - w; + } + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f32.c new file mode 100755 index 0000000..e432a71 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_blackman_harris_92db_f32.c + * Description: Floating-point (f32) 92 dB Blackman Harris window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowBLACKMAN_HARRIS_92DB Blackman Harris window function (92 dB) + + */ + +/** + @ingroup WindowBLACKMAN_HARRIS_92DB + */ + +/** + @brief 92 dB Blackman Harris window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 92.0 dB | + | Normalized equivalent noise bandwidth | 2.0044 bins | + | 3 dB bandwidth | 1.8962 bins | + | Flatness | -0.8256 dB | + | Recommended overlap | 66.1 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_blackman_harris_92db_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.35875f - 0.48829f * cosf (w) + + 0.14128f * cosf (2.f * w) - 0.01168f * cosf (3.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f64.c new file mode 100755 index 0000000..a5b0e71 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_blackman_harris_92db_f64.c + * Description: Floating-point (f64) 92 dB Blackman Harris window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowBLACKMAN_HARRIS_92DB + */ + +/** + @brief 92 dB Blackman Harris window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 92.0 dB | + | Normalized equivalent noise bandwidth | 2.0044 bins | + | 3 dB bandwidth | 1.8962 bins | + | Flatness | -0.8256 dB | + | Recommended overlap | 66.1 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_blackman_harris_92db_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.35875 - 0.48829 * cos (w) + + 0.14128 * cos (2 * w) - 0.01168 * cos (3 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f32.c new file mode 100755 index 0000000..8ea3d18 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f32.c @@ -0,0 +1,92 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hamming_f32.c + * Description: Floating-point (f32) Hamming window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowHAMMING Hamming window function (42.7 dB) + + */ + +/** + @ingroup WindowHAMMING + */ + +/** + @brief Hamming window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 42.7 dB | + | Normalized equivalent noise bandwidth | 1.3628 bins | + | 3 dB bandwidth | 1.3008 bins | + | Flatness | -1.7514 dB | + | Recommended overlap | 50 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_hamming_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = 0.54f - 0.46f * cosf (PI * i * k); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f64.c new file mode 100755 index 0000000..4966b7e --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f64.c @@ -0,0 +1,89 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hamming_f64.c + * Description: Floating-point (f64) Hamming window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowHAMMING + */ + +/** + @brief Hamming window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 42.7 dB | + | Normalized equivalent noise bandwidth | 1.3628 bins | + | 3 dB bandwidth | 1.3008 bins | + | Flatness | -1.7514 dB | + | Recommended overlap | 50 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_hamming_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + + w = 0.54 - 0.46 * cos (PI_F64 * i * k); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f32.c new file mode 100755 index 0000000..588ab07 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f32.c @@ -0,0 +1,94 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hanning_f32.c + * Description: Floating-point (f32) Hanning window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowHANNING Hanning window function (31.5 dB) + + */ + +/** + @ingroup WindowHANNING + */ + +/** + @brief Hanning window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 31.5 dB | + | Normalized equivalent noise bandwidth | 1.5 bins | + | 3 dB bandwidth | 1.4382 bins | + | Flatness | -1.4236 dB | + | Recommended overlap | 50 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_hanning_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.5f * (1.0f - cosf (w)); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f64.c new file mode 100755 index 0000000..4dc1707 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f64.c @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hanning_f64.c + * Description: Floating-point (f64) Hanning window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowHANNING + */ + +/** + @brief Hanning window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 31.5 dB | + | Normalized equivalent noise bandwidth | 1.5 bins | + | 3 dB bandwidth | 1.4382 bins | + | Flatness | -1.4236 dB | + | Recommended overlap | 50 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_hanning_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.5 * (1.0 - cos (w)); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f32.c new file mode 100755 index 0000000..62469f2 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f32.c @@ -0,0 +1,114 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft116d_f32.c + * Description: Floating-point (f32) Hft116d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT116D Hft116d window function (116.8 dB) + + */ + +/** + @ingroup WindowHFT116D + */ + +/** + @brief Hft116d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 116.8 dB | + | Normalized equivalent noise bandwidth | 4.2186 bins | + | 3 dB bandwidth | 4.1579 bins | + | Flatness | -0.0028 dB | + | Recommended overlap | 78.2 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft116d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.9575375f * cosf (w) + + 1.4780705f * cosf (2.f * w) - + 0.6367431f * cosf (3.f * w) + + 0.1228389f * cosf (4.f * w) - 0.0066288f * cosf (5.f * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f64.c new file mode 100755 index 0000000..4000ea1 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f64.c @@ -0,0 +1,110 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft116d_f64.c + * Description: Floating-point (f64) Hft116d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT116D + */ + +/** + @brief Hft116d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 116.8 dB | + | Normalized equivalent noise bandwidth | 4.2186 bins | + | 3 dB bandwidth | 4.1579 bins | + | Flatness | -0.0028 dB | + | Recommended overlap | 78.2 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft116d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.9575375 * cos (w) + + 1.4780705 * cos (2 * w) - + 0.6367431 * cos (3 * w) + + 0.1228389 * cos (4 * w) - 0.0066288 * cos (5 * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f32.c new file mode 100755 index 0000000..adbd01f --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f32.c @@ -0,0 +1,114 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft144d_f32.c + * Description: Floating-point (f32) Hft144d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT144D Hft144d window function (144.1 dB) + + */ + +/** + @ingroup WindowHFT144D + */ + +/** + @brief Hft144d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 144.1 dB | + | Normalized equivalent noise bandwidth | 4.5386 bins | + | 3 dB bandwidth | 4.4697 bins | + | Flatness | 0.0021 dB | + | Recommended overlap | 79.9 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft144d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.96760033f * cosf (w) + + 1.57983607f * cosf (2.f * w) - + 0.81123644f * cosf (3.f * w) + + 0.22583558f * cosf (4.f * w) - + 0.02773848f * cosf (5.f * w) + 0.00090360f * cosf (6.f * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f64.c new file mode 100755 index 0000000..28dc15c --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f64.c @@ -0,0 +1,110 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft144d_f64.c + * Description: Floating-point (f64) Hft144d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT144D + */ + +/** + @brief Hft144d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 144.1 dB | + | Normalized equivalent noise bandwidth | 4.5386 bins | + | 3 dB bandwidth | 4.4697 bins | + | Flatness | 0.0021 dB | + | Recommended overlap | 79.9 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft144d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.96760033 * cos (w) + + 1.57983607 * cos (2. * w) - + 0.81123644 * cos (3. * w) + + 0.22583558 * cos (4. * w) - + 0.02773848 * cos (5. * w) + 0.00090360 * cos (6. * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f32.c new file mode 100755 index 0000000..51990a0 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f32.c @@ -0,0 +1,115 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft169d_f32.c + * Description: Floating-point (f32) Hft169d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT169D Hft169d window function (169.5 dB) + + */ + +/** + @ingroup WindowHFT169D + */ + +/** + @brief Hft169d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 169.5 dB | + | Normalized equivalent noise bandwidth | 4.8347 bins | + | 3 dB bandwidth | 4.7588 bins | + | Flatness | 0.0017 dB | + | Recommended overlap | 81.2 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft169d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.97441843f * cosf (w) + + 1.65409889f * cosf (2.f * w) - + 0.95788187f * cosf (3.f * w) + + 0.33673420f * cosf (4.f * w) - + 0.06364622f * cosf (5.f * w) + + 0.00521942f * cosf (6.f * w) - 0.00010599f * cosf (7.f * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f64.c new file mode 100755 index 0000000..44bbfac --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f64.c @@ -0,0 +1,111 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft169d_f64.c + * Description: Floating-point (f64) Hft169d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT169D + */ + +/** + @brief Hft169d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 169.5 dB | + | Normalized equivalent noise bandwidth | 4.8347 bins | + | 3 dB bandwidth | 4.7588 bins | + | Flatness | 0.0017 dB | + | Recommended overlap | 81.2 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft169d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1 - + 1.97441843 * cos (w) + + 1.65409889 * cos (2. * w) - + 0.95788187 * cos (3. * w) + + 0.33673420 * cos (4. * w) - + 0.06364622 * cos (5. * w) + + 0.00521942 * cos (6. * w) - 0.00010599 * cos (7. * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f32.c new file mode 100755 index 0000000..6b8974e --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f32.c @@ -0,0 +1,116 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft196d_f32.c + * Description: Floating-point (f32) Hft196d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT196D Hft196d window function (196.2 dB) + + */ + +/** + @ingroup WindowHFT196D + */ + +/** + @brief Hft196d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 196.2 dB | + | Normalized equivalent noise bandwidth | 5.1134 bins | + | 3 dB bandwidth | 5.0308 bins | + | Flatness | 0.0013 dB | + | Recommended overlap | 82.3 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft196d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.979280420f * cosf (w) + + 1.710288951f * cosf (2.f * w) - + 1.081629853f * cosf (3.f * w) + + 0.448734314f * cosf (4.f * w) - + 0.112376628f * cosf (5.f * w) + + 0.015122992f * cosf (6.f * w) - + 0.000871252f * cosf (7.f * w) + 0.000011896f * cosf (8.f * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f64.c new file mode 100755 index 0000000..0bd3f4e --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f64.c @@ -0,0 +1,112 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft196d_f64.c + * Description: Floating-point (f64) Hft196d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT196D + */ + +/** + @brief Hft196d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 196.2 dB | + | Normalized equivalent noise bandwidth | 5.1134 bins | + | 3 dB bandwidth | 5.0308 bins | + | Flatness | 0.0013 dB | + | Recommended overlap | 82.3 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft196d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.979280420 * cos (w) + + 1.710288951 * cos (2. * w) - + 1.081629853 * cos (3. * w) + + 0.448734314 * cos (4. * w) - + 0.112376628 * cos (5. * w) + + 0.015122992 * cos (6. * w) - + 0.000871252 * cos (7. * w) + 0.000011896 * cos (8. * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f32.c new file mode 100755 index 0000000..baede15 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f32.c @@ -0,0 +1,116 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft223d_f32.c + * Description: Floating-point (f32) Hft223d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT223D Hft223d window function (223.0 dB) + + */ + +/** + @ingroup WindowHFT223D + */ + +/** + @brief Hft223d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 223.0 dB | + | Normalized equivalent noise bandwidth | 5.3888 bins | + | 3 dB bandwidth | 5.3000 bins | + | Flatness | -0.0011 dB | + | Recommended overlap | 83.3 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft223d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.98298997309f * cosf (w) + + 1.75556083063f * cosf (2.f * w) - + 1.19037717712f * cosf (3.f * w) + + 0.56155440797f * cosf (4.f * w) - + 0.17296769663f * cosf (5.f * w) + + 0.03233247087f * cosf (6.f * w) - + 0.00324954578f * cosf (7.f * w) + + 0.00013801040f * cosf (8.f * w) - 0.00000132725f * cosf (9.f * w)); + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f64.c new file mode 100755 index 0000000..904d07d --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f64.c @@ -0,0 +1,113 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft223d_f64.c + * Description: Floating-point (f64) Hft223d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT223D + */ + +/** + @brief Hft223d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 223.0 dB | + | Normalized equivalent noise bandwidth | 5.3888 bins | + | 3 dB bandwidth | 5.3000 bins | + | Flatness | 0.0011 dB | + | Recommended overlap | 83.3 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft223d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.98298997309 * cos (w) + + 1.75556083063 * cos (2. * w) - + 1.19037717712 * cos (3. * w) + + 0.56155440797 * cos (4. * w) - + 0.17296769663 * cos (5. * w) + + 0.03233247087 * cos (6. * w) - + 0.00324954578 * cos (7. * w) + + 0.00013801040 * cos (8. * w) - 0.00000132725 * cos (9. * w)); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f32.c new file mode 100755 index 0000000..f01b407 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f32.c @@ -0,0 +1,118 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft248d_f32.c + * Description: Floating-point (f32) Hft248d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT248D Hft248d window function (248.4 dB) + + */ + +/** + @ingroup WindowHFT248D + */ + +/** + @brief Hft248d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 248.4 dB | + | Normalized equivalent noise bandwidth | 5.6512 bins | + | 3 dB bandwidth | 5.5567 bins | + | Flatness | 0.0009 dB | + | Recommended overlap | 84.1 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft248d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.985844164102f * cosf (w) + + 1.791176438506f * cosf (2.f * w) - + 1.282075284005f * cosf (3.f * w) + + 0.667777530266f * cosf (4.f * w) - + 0.240160796576f * cosf (5.f * w) + + 0.056656381764f * cosf (6.f * w) - + 0.008134974479f * cosf (7.f * w) + + 0.000624544650f * cosf (8.f * w) - + 0.000019808998f * cosf (9.f * w) + + 0.000000132974f * cosf (10.f * w)); + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f64.c new file mode 100755 index 0000000..ba1dbab --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f64.c @@ -0,0 +1,114 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft248d_f64.c + * Description: Floating-point (f64) Hft248d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT248D + */ + +/** + @brief Hft248d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 248.4 dB | + | Normalized equivalent noise bandwidth | 5.6512 bins | + | 3 dB bandwidth | 5.5567 bins | + | Flatness | 0.0009 dB | + | Recommended overlap | 84.1 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft248d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.985844164102 * cos (w) + + 1.791176438506 * cos (2. * w) - + 1.282075284005 * cos (3. * w) + + 0.667777530266 * cos (4. * w) - + 0.240160796576 * cos (5. * w) + + 0.056656381764 * cos (6. * w) - + 0.008134974479 * cos (7. * w) + + 0.000624544650 * cos (8. * w) - + 0.000019808998 * cos (9. * w) + + 0.000000132974 * cos (10. * w)); + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f32.c new file mode 100755 index 0000000..c411a9f --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f32.c @@ -0,0 +1,113 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft90d_f32.c + * Description: Floating-point (f32) Hft90d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT90D Hft90d window function (90.2 dB) + + */ + +/** + @ingroup WindowHFT90D + */ + +/** + @brief Hft90d window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 90.2 dB | + | Normalized equivalent noise bandwidth | 3.8832 bins | + | 3 dB bandwidth | 3.8320 bins | + | Flatness | -0.0039 dB | + | Recommended overlap | 76.0 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft90d_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + 1.0f - + 1.942604f * cosf (w) + + 1.340318f * cosf (2.f * w) - + 0.440811f * cosf (3.f * w) + 0.043097f * cosf (4.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f64.c new file mode 100755 index 0000000..f9ffbb7 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f64.c @@ -0,0 +1,120 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft90d_f64.c + * Description: Floating-point (f64) Hft90d window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + +/** + @defgroup WindowFlat Flat-top window functions + + Use those windows when you need to estimate the + amplitude of a tone. + + If just just need to detect a tone or estimate the + noise, you can use the regular windows. + + */ + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT90D + */ + +/** + @brief Hft90d window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 90.2 dB | + | Normalized equivalent noise bandwidth | 3.8832 bins | + | 3 dB bandwidth | 3.8320 bins | + | Flatness | -0.0039 dB | + | Recommended overlap | 76.0 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft90d_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + 1.0 - + 1.942604 * cos (w) + + 1.340318 * cos (2 * w) - + 0.440811 * cos (3 * w) + 0.043097 * cos (4 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f32.c new file mode 100755 index 0000000..8bb5cea --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f32.c @@ -0,0 +1,113 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft95_f32.c + * Description: Floating-point (f32) Hft95 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + +/** + @defgroup WindowHFT95 Hft95 window function (95.0 dB) + + */ + +/** + @ingroup WindowHFT95 + */ + +/** + @brief Hft95 window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 95.0 dB | + | Normalized equivalent noise bandwidth | 3.8112 bins | + | 3 dB bandwidth | 3.7590 bins | + | Flatness | 0.0044 dB | + | Recommended overlap | 75.6 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft95_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * (i * k); + w = + (1.0f - + 1.9383379f * cosf (w) + + 1.3045202f * cosf (2.f * w) - + 0.4028270f * cosf (3.f * w) + 0.0350665f * cosf (4.f * w)); + + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f64.c new file mode 100755 index 0000000..6f25dc2 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f64.c @@ -0,0 +1,109 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_hft95_f64.c + * Description: Floating-point (f64) Hft95 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowFlat + @{ + */ + + +/** + @ingroup WindowHFT95 + */ + +/** + @brief Hft95 window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 95.0 dB | + | Normalized equivalent noise bandwidth | 3.8112 bins | + | 3 dB bandwidth | 3.7590 bins | + | Flatness | 0.0044 dB | + | Recommended overlap | 75.6 % | + +Included in CMSIS-DSP with authorization from professor +Gerhard Heinzel. + +@par Original article: +Spectrum and spectral density estimation by the Discrete Fourier +transform (DFT), including a comprehensive list of window +functions and some new +flat-top windows. + +@par Authors: +G. Heinzel, A. Rudiger and R. Schilling, +Max-Planck-Institut fur Gravitationsphysik +(Albert-Einstein-Institut) +Teilinstitut Hannover + */ + + + +ARM_DSP_ATTRIBUTE void arm_hft95_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * (i * k); + w = + (1.0 - + 1.9383379 * cos (w) + + 1.3045202 * cos (2 * w) - + 0.4028270 * cos (3 * w) + 0.0350665 * cos (4 * w)); + + + pDst[i] = w; + } +} + +/** + @} end of WindowFlat group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f32.c new file mode 100755 index 0000000..69b7246 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f32.c @@ -0,0 +1,93 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3_f32.c + * Description: Floating-point (f32) Nuttall3 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL3 Nuttall3 window function (46.7 dB) + + */ + +/** + @ingroup WindowNUTTALL3 + */ + +/** + @brief Nuttall3 window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 46.7 dB | + | Normalized equivalent noise bandwidth | 1.9444 bins | + | 3 dB bandwidth | 1.8496 bins | + | Flatness | -0.8630 dB | + | Recommended overlap | 64.7 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.375f - 0.5f * cosf (w) + 0.125f * cosf (2.0f * w); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f64.c new file mode 100755 index 0000000..aec83a3 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f64.c @@ -0,0 +1,90 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3_f64.c + * Description: Floating-point (f64) Nuttall3 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL3 + */ + +/** + @brief Nuttall3 window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 46.7 dB | + | Normalized equivalent noise bandwidth | 1.9444 bins | + | 3 dB bandwidth | 1.8496 bins | + | Flatness | -0.863 dB | + | Recommended overlap | 64.7 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.375 - 0.5 * cos (w) + 0.125 * cos (2 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f32.c new file mode 100755 index 0000000..75f45df --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3a_f32.c + * Description: Floating-point (f32) Nuttall3a window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL3A Nuttall3a window function (64.2 dB) + + */ + +/** + @ingroup WindowNUTTALL3A + */ + +/** + @brief Nuttall3a window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 64.2 dB | + | Normalized equivalent noise bandwidth | 1.7721 bins | + | 3 dB bandwidth | 1.6828 bins | + | Flatness | -1.0453 dB | + | Recommended overlap | 61.2 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3a_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.40897f - 0.5f * cosf (w) + 0.09103f * cosf (2.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f64.c new file mode 100755 index 0000000..1018933 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3a_f64.c + * Description: Floating-point (f64) Nuttall3a window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL3A + */ + +/** + @brief Nuttall3a window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 64.2 dB | + | Normalized equivalent noise bandwidth | 1.7721 bins | + | 3 dB bandwidth | 1.6828 bins | + | Flatness | -1.0453 dB | + | Recommended overlap | 61.2 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3a_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.40897 - 0.5 * cos (w) + 0.09103 * cos (2 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f32.c new file mode 100755 index 0000000..08c0964 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3b_f32.c + * Description: Floating-point (f32) Nuttall3b window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL3B Nuttall3b window function (71.5 dB) + + */ + +/** + @ingroup WindowNUTTALL3B + */ + +/** + @brief Nuttall3b window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 71.5 dB | + | Normalized equivalent noise bandwidth | 1.7037 bins | + | 3 dB bandwidth | 1.6162 bins | + | Flatness | -1.1352 dB | + | Recommended overlap | 59.8 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3b_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.4243801f - 0.4973406f * cosf (w) + 0.0782793f * cosf (2.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f64.c new file mode 100755 index 0000000..5edd194 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall3b_f64.c + * Description: Floating-point (f64) Nuttall3b window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL3B + */ + +/** + @brief Nuttall3b window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 71.5 dB | + | Normalized equivalent noise bandwidth | 1.7037 bins | + | 3 dB bandwidth | 1.6162 bins | + | Flatness | -1.1352 dB | + | Recommended overlap | 59.8 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall3b_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.4243801 - 0.4973406 * cos (w) + 0.0782793 * cos (2 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f32.c new file mode 100755 index 0000000..4a42a22 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4_f32.c + * Description: Floating-point (f32) Nuttall4 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL4 Nuttall4 window function (60.9 dB) + + */ + +/** + @ingroup WindowNUTTALL4 + */ + +/** + @brief Nuttall4 window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 60.9 dB | + | Normalized equivalent noise bandwidth | 2.31 bins | + | 3 dB bandwidth | 2.1884 bins | + | Flatness | -0.6184 dB | + | Recommended overlap | 70.5 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = + 0.3125f - 0.46875f * cosf (w) + 0.1875f * cosf (2.f * w) - + 0.03125f * cosf (3.f * w); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f64.c new file mode 100755 index 0000000..976fc5f --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4_f64.c + * Description: Floating-point (f64) Nuttall4 window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL4 + */ + +/** + @brief Nuttall4 window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 60.9 dB | + | Normalized equivalent noise bandwidth | 2.31 bins | + | 3 dB bandwidth | 2.1884 bins | + | Flatness | -0.6184 dB | + | Recommended overlap | 70.5 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = + 0.3125 - 0.46875 * cos (w) + 0.1875 * cos (2 * w) - + 0.03125 * cos (3 * w); + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f32.c new file mode 100755 index 0000000..9722618 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f32.c @@ -0,0 +1,96 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4a_f32.c + * Description: Floating-point (f32) Nuttall4a window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL4A Nuttall4a window function (82.6 dB) + + */ + +/** + @ingroup WindowNUTTALL4A + */ + +/** + @brief Nuttall4a window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 82.6 dB | + | Normalized equivalent noise bandwidth | 2.1253 bins | + | 3 dB bandwidth | 2.0123 bins | + | Flatness | -0.7321 dB | + | Recommended overlap | 68.0 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4a_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.338946f - 0.481973f * cosf (w) + + 0.161054f * cosf (2.f * w) - 0.018027f * cosf (3.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f64.c new file mode 100755 index 0000000..e1f5863 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f64.c @@ -0,0 +1,92 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4a_f64.c + * Description: Floating-point (f64) Nuttall4a window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL4A + */ + +/** + @brief Nuttall4a window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 82.6 dB | + | Normalized equivalent noise bandwidth | 2.1253 bins | + | 3 dB bandwidth | 2.0123 bins | + | Flatness | -0.7321 dB | + | Recommended overlap | 68.0 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4a_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.338946 - 0.481973 * cos (w) + + 0.161054 * cos (2 * w) - 0.018027 * cos (3 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f32.c new file mode 100755 index 0000000..6d83f58 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f32.c @@ -0,0 +1,96 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4b_f32.c + * Description: Floating-point (f32) Nuttall4b window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL4B Nuttall4b window function (93.3 dB) + + */ + +/** + @ingroup WindowNUTTALL4B + */ + +/** + @brief Nuttall4b window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 93.3 dB | + | Normalized equivalent noise bandwidth | 2.0212 bins | + | 3 dB bandwidth | 1.9122 bins | + | Flatness | -0.8118 dB | + | Recommended overlap | 66.3 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4b_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.355768f - 0.487396f * cosf (w) + + 0.144232f * cosf (2.f * w) - 0.012604f * cosf (3.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f64.c new file mode 100755 index 0000000..c1ab039 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f64.c @@ -0,0 +1,92 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4b_f64.c + * Description: Floating-point (f64) Nuttall4b window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL4B + */ + +/** + @brief Nuttall4b window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 93.3 dB | + | Normalized equivalent noise bandwidth | 2.0212 bins | + | 3 dB bandwidth | 1.9122 bins | + | Flatness | -0.8118 dB | + | Recommended overlap | 66.3 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4b_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2. / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.355768 - 0.487396 * cos (w) + + 0.144232 * cos (2 * w) - 0.012604 * cos (3 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f32.c new file mode 100755 index 0000000..daf2ec8 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f32.c @@ -0,0 +1,95 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4c_f32.c + * Description: Floating-point (f32) Nuttall4c window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowNUTTALL4C Nuttall4c window function (98.1 dB) + + */ + +/** + @ingroup WindowNUTTALL4C + */ + +/** + @brief Nuttall4c window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 98.1 dB | + | Normalized equivalent noise bandwidth | 1.9761 bins | + | 3 dB bandwidth | 1.8687 bins | + | Flatness | -0.8506 dB | + | Recommended overlap | 65.6 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4c_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI * i * k; + w = 0.3635819f - 0.4891775f * cosf (w) + + 0.1365995f * cosf (2.f * w) - 0.0106411f * cosf (3.f * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f64.c new file mode 100755 index 0000000..ccde629 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f64.c @@ -0,0 +1,91 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_nuttall4c_f64.c + * Description: Floating-point (f64) Nuttall4c window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" +#include "dsp/fast_math_functions.h" +#include <math.h> +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowNUTTALL4C + */ + +/** + @brief Nuttall4c window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 98.1 dB | + | Normalized equivalent noise bandwidth | 1.9761 bins | + | 3 dB bandwidth | 1.8687 bins | + | Flatness | -0.8506 dB | + | Recommended overlap | 65.6 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_nuttall4c_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2.0 / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = PI_F64 * i * k; + w = 0.3635819 - 0.4891775 * cos (w) + + 0.1365995 * cos (2 * w) - 0.0106411 * cos (3 * w); + + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f32.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f32.c new file mode 100755 index 0000000..32cb985 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f32.c @@ -0,0 +1,92 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_welch_f32.c + * Description: Floating-point (f32) Welch window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" + +/** + @ingroup groupWindow + */ + + + + +/** + @addtogroup WindowNormal + @{ + */ + +/** + @defgroup WindowWELCH Welch window function (21.3 dB) + + */ + +/** + @ingroup WindowWELCH + */ + +/** + @brief Welch window generating function (f32). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 21.3 dB | + | Normalized equivalent noise bandwidth | 1.2 bins | + | 3 dB bandwidth | 1.1535 bins | + | Flatness | -2.2248 dB | + | Recommended overlap | 29.3 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_welch_f32( + float32_t * pDst, + uint32_t blockSize) +{ + float32_t k = 2.0f / ((float32_t) blockSize); + float32_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = i * k - 1.0f; + w = 1.0f - w * w; + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + diff --git a/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f64.c b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f64.c new file mode 100755 index 0000000..2925516 --- /dev/null +++ b/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f64.c @@ -0,0 +1,97 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_welch_f64.c + * Description: Floating-point (f64) Welch window + * + * $Date: 14 December 2022 + * $Revision: v1.15.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ + +/* + * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "arm_compiler_specific.h" + + +#include "dsp/window_functions.h" + +/** + @ingroup groupWindow + */ + +/** + @defgroup WindowNormal Regular window functions + + Regular window functions that can be used for + detecting tones or estimating the noise. + If you need to estimate the amplitude of a tones, + prefer a flat top window. + + */ + + + +/** + @addtogroup WindowNormal + @{ + */ + + +/** + @ingroup WindowWELCH + */ + +/** + @brief Welch window generating function (f64). + @param[out] pDst points to the output generated window + @param[in] blockSize number of samples in the window + + @par Parameters of the window + + | Parameter | Value | + | ------------------------------------: | -----------------: | + | Peak sidelobe level | 21.3 dB | + | Normalized equivalent noise bandwidth | 1.2 bins | + | 3 dB bandwidth | 1.1535 bins | + | Flatness | -2.2248 dB | + | Recommended overlap | 29.3 % | + + */ + + + +ARM_DSP_ATTRIBUTE void arm_welch_f64( + float64_t * pDst, + uint32_t blockSize) +{ + float64_t k = 2.0 / ((float64_t) blockSize); + float64_t w; + + for(uint32_t i=0;i<blockSize;i++) + { + w = i * k - 1.0; + w = 1.0 - w * w; + pDst[i] = w; + } +} + +/** + @} end of WindowNormal group + */ + |
