summaryrefslogtreecommitdiff
path: root/Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions
diff options
context:
space:
mode:
authorozpv <39195175+ozpv@users.noreply.github.com>2026-08-29 23:04:49 -0500
committerozpv <39195175+ozpv@users.noreply.github.com>2026-08-29 23:04:49 -0500
commitbdd8c21fcfff8041ea94a972903ce42e58c2a5c2 (patch)
treee85828cc8d209decf9a367f1853356a79397ea3b /Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions
parentd000890eafbc6cc715fa6e7da2db61db05a6f3e4 (diff)
add retainHEADmain
Diffstat (limited to 'Middlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions')
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_bartlett_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_blackman_harris_92db_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f32.c92
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hamming_f64.c89
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f32.c94
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hanning_f64.c90
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f32.c114
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft116d_f64.c110
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f32.c114
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft144d_f64.c110
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f32.c115
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft169d_f64.c111
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f32.c116
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft196d_f64.c112
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f32.c116
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft223d_f64.c113
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f32.c118
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft248d_f64.c114
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f32.c113
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft90d_f64.c120
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f32.c113
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_hft95_f64.c109
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f32.c93
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3_f64.c90
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3a_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall3b_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f32.c96
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4a_f64.c92
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f32.c96
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4b_f64.c92
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f32.c95
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_nuttall4c_f64.c91
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f32.c92
-rwxr-xr-xMiddlewares/Third_Party/ARM/ARM.CMSIS-DSP.1.17.1/Source/WindowFunctions/arm_welch_f64.c97
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
+ */
+