From bdd8c21fcfff8041ea94a972903ce42e58c2a5c2 Mon Sep 17 00:00:00 2001 From: ozpv <39195175+ozpv@users.noreply.github.com> Date: Sat, 29 Aug 2026 23:04:49 -0500 Subject: add retain --- .../Source/WindowFunctions/arm_bartlett_f32.c | 95 ++++++++++++++++ .../Source/WindowFunctions/arm_bartlett_f64.c | 91 ++++++++++++++++ .../WindowFunctions/arm_blackman_harris_92db_f32.c | 95 ++++++++++++++++ .../WindowFunctions/arm_blackman_harris_92db_f64.c | 91 ++++++++++++++++ .../Source/WindowFunctions/arm_hamming_f32.c | 92 ++++++++++++++++ .../Source/WindowFunctions/arm_hamming_f64.c | 89 +++++++++++++++ .../Source/WindowFunctions/arm_hanning_f32.c | 94 ++++++++++++++++ .../Source/WindowFunctions/arm_hanning_f64.c | 90 ++++++++++++++++ .../Source/WindowFunctions/arm_hft116d_f32.c | 114 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft116d_f64.c | 110 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft144d_f32.c | 114 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft144d_f64.c | 110 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft169d_f32.c | 115 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft169d_f64.c | 111 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft196d_f32.c | 116 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft196d_f64.c | 112 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft223d_f32.c | 116 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft223d_f64.c | 113 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft248d_f32.c | 118 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft248d_f64.c | 114 ++++++++++++++++++++ .../Source/WindowFunctions/arm_hft90d_f32.c | 113 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft90d_f64.c | 120 +++++++++++++++++++++ .../Source/WindowFunctions/arm_hft95_f32.c | 113 +++++++++++++++++++ .../Source/WindowFunctions/arm_hft95_f64.c | 109 +++++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3_f32.c | 93 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3_f64.c | 90 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3a_f32.c | 95 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3a_f64.c | 91 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3b_f32.c | 95 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall3b_f64.c | 91 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4_f32.c | 95 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4_f64.c | 91 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4a_f32.c | 96 +++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4a_f64.c | 92 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4b_f32.c | 96 +++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4b_f64.c | 92 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4c_f32.c | 95 ++++++++++++++++ .../Source/WindowFunctions/arm_nuttall4c_f64.c | 91 ++++++++++++++++ .../Source/WindowFunctions/arm_welch_f32.c | 92 ++++++++++++++++ .../Source/WindowFunctions/arm_welch_f64.c | 97 +++++++++++++++++ 40 files changed, 4047 insertions(+) create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f64.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f32.c create mode 100755 Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f64.c (limited to 'Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions') 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 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 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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 + +/** + @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 + +/** + @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 +/** + @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 +/** + @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 +/** + @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 +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 +/** + @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 +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 + +/** + @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 +/** + @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 +/** + @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