硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1910|回复: 9
收起左侧

[DSP] ARM的DSP库发布V1.14.3版本,大批的FFT窗口函数已经正式上线供用户使用

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-1-29 03:50:07 | 显示全部楼层 |阅读模式
https://github.com/ARM-software/CMSIS-DSP/releases

ARM.CMSIS-DSP.1.14.3.pack (7.58MB)

之前给大家分享过这个效果,从V1.14.3版本正式带上了,后面使用FFT做各种窗函数处理就方便多了。

传统的汉明hamming窗,布莱克曼blackman窗,Nuttall窗,welch窗,新增的hft窗。



回复

使用道具 举报

5

主题

201

回帖

216

积分

高级会员

积分
216
发表于 2023-1-29 13:31:30 | 显示全部楼层
我现在做的设备里面就是fft,也有窗。但是因为不太了解窗,所以我没有启用这个功能呢。看来后续可以研究下怎么用了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-1-31 08:23:56 | 显示全部楼层
[C] 纯文本查看 复制代码
/******************************************************************************
 * @file     window_functions.h
 * @brief    Public header file for CMSIS DSP Library
 * @version  v1.15.0
 * @date     15 December 2022
 * 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
 *
 * [url]www.apache.org/licenses/LICENSE-2.0[/url]
 *
 * 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.
 */

 
#ifndef _WINDOW_FUNCTIONS_H_
#define _WINDOW_FUNCTIONS_H_

#include "arm_math_types.h"
#include "arm_math_memory.h"

#include "dsp/none.h"
#include "dsp/utils.h"


#ifdef   __cplusplus
extern "C"
{
#endif

/**
 * @defgroup groupWindow Window Functions
 */

 /**
   * @brief Welch window (double).
   * @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  |
   * | Flatness                              |        -2.2248 dB  |
   * | Recommended overlap                   |            29.3 %  |
   *
   */
  void arm_welch_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Welch window (float).
   * @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  |
   * | Flatness                              |        -2.2248 dB  |
   * | Recommended overlap                   |            29.3 %  |
   *
   *
   */
  void arm_welch_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Bartlett window (double).
   * @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  |
   * | Flatness                              |        -1.8242 dB  |
   * | Recommended overlap                   |            50.0 %  |
   *
   */
  void arm_bartlett_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Bartlett window (float).
   * @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  |
   * | Flatness                              |        -1.8242 dB  |
   * | Recommended overlap                   |            50.0 %  |
   *
   *
   */
  void arm_bartlett_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hamming window (double).
   * @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  |
   * | Flatness                              |        -1.7514 dB  |
   * | Recommended overlap                   |              50 %  |
   *
   */
  void arm_hamming_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hamming window (float).
   * @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  |
   * | Flatness                              |        -1.7514 dB  |
   * | Recommended overlap                   |              50 %  |
   *
   *
   */
  void arm_hamming_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hanning window (double).
   * @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  |
   * | Flatness                              |        -1.4236 dB  |
   * | Recommended overlap                   |              50 %  |
   *
   */
  void arm_hanning_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hanning window (float).
   * @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  |
   * | Flatness                              |        -1.4236 dB  |
   * | Recommended overlap                   |              50 %  |
   *
   *
   */
  void arm_hanning_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall3 window (double).
   * @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  |
   * | Flatness                              |         -0.863 dB  |
   * | Recommended overlap                   |            64.7 %  |
   *
   */
  void arm_nuttall3_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall3 window (float).
   * @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  |
   * | Flatness                              |         -0.863 dB  |
   * | Recommended overlap                   |            64.7 %  |
   *
   *
   */
  void arm_nuttall3_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall4 window (double).
   * @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  |
   * | Flatness                              |        -0.6184 dB  |
   * | Recommended overlap                   |            70.5 %  |
   *
   */
  void arm_nuttall4_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall4 window (float).
   * @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  |
   * | Flatness                              |        -0.6184 dB  |
   * | Recommended overlap                   |            70.5 %  |
   *
   *
   */
  void arm_nuttall4_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall3a window (double).
   * @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  |
   * | Flatness                              |        -1.0453 dB  |
   * | Recommended overlap                   |            61.2 %  |
   *
   */
  void arm_nuttall3a_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall3a window (float).
   * @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  |
   * | Flatness                              |        -1.0453 dB  |
   * | Recommended overlap                   |            61.2 %  |
   *
   *
   */
  void arm_nuttall3a_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall3b window (double).
   * @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  |
   * | Flatness                              |        -1.1352 dB  |
   * | Recommended overlap                   |            59.8 %  |
   *
   */
  void arm_nuttall3b_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall3b window (float).
   * @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  |
   * | Flatness                              |        -1.1352 dB  |
   * | Recommended overlap                   |            59.8 %  |
   *
   *
   */
  void arm_nuttall3b_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall4a window (double).
   * @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  |
   * | Flatness                              |        -0.7321 dB  |
   * | Recommended overlap                   |            68.0 %  |
   *
   */
  void arm_nuttall4a_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall4a window (float).
   * @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  |
   * | Flatness                              |        -0.7321 dB  |
   * | Recommended overlap                   |            68.0 %  |
   *
   *
   */
  void arm_nuttall4a_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief 92 db blackman harris window (double).
   * @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  |
   * | Flatness                              |        -0.8256 dB  |
   * | Recommended overlap                   |            66.1 %  |
   *
   */
  void arm_blackman_harris_92db_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief 92 db blackman harris window (float).
   * @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  |
   * | Flatness                              |        -0.8256 dB  |
   * | Recommended overlap                   |            66.1 %  |
   *
   *
   */
  void arm_blackman_harris_92db_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall4b window (double).
   * @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  |
   * | Flatness                              |        -0.8118 dB  |
   * | Recommended overlap                   |            66.3 %  |
   *
   */
  void arm_nuttall4b_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall4b window (float).
   * @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  |
   * | Flatness                              |        -0.8118 dB  |
   * | Recommended overlap                   |            66.3 %  |
   *
   *
   */
  void arm_nuttall4b_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Nuttall4c window (double).
   * @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  |
   * | Flatness                              |        -0.8506 dB  |
   * | Recommended overlap                   |            65.6 %  |
   *
   */
  void arm_nuttall4c_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Nuttall4c window (float).
   * @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  |
   * | Flatness                              |        -0.8506 dB  |
   * | Recommended overlap                   |            65.6 %  |
   *
   *
   */
  void arm_nuttall4c_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft90d window (double).
   * @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  |
   * | Flatness                              |        -0.0039 dB  |
   * | Recommended overlap                   |            76.0 %  |
   *
   */
  void arm_hft90d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft90d window (float).
   * @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  |
   * | Flatness                              |        -0.0039 dB  |
   * | Recommended overlap                   |            76.0 %  |
   *
   *
   */
  void arm_hft90d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft95 window (double).
   * @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  |
   * | Flatness                              |         0.0044 dB  |
   * | Recommended overlap                   |            75.6 %  |
   *
   */
  void arm_hft95_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft95 window (float).
   * @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  |
   * | Flatness                              |         0.0044 dB  |
   * | Recommended overlap                   |            75.6 %  |
   *
   *
   */
  void arm_hft95_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft116d window (double).
   * @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  |
   * | Flatness                              |        -0.0028 dB  |
   * | Recommended overlap                   |            78.2 %  |
   *
   */
  void arm_hft116d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft116d window (float).
   * @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  |
   * | Flatness                              |        -0.0028 dB  |
   * | Recommended overlap                   |            78.2 %  |
   *
   *
   */
  void arm_hft116d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft144d window (double).
   * @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  |
   * | Flatness                              |         0.0021 dB  |
   * | Recommended overlap                   |            79.9 %  |
   *
   */
  void arm_hft144d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft144d window (float).
   * @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  |
   * | Flatness                              |         0.0021 dB  |
   * | Recommended overlap                   |            79.9 %  |
   *
   *
   */
  void arm_hft144d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft169d window (double).
   * @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  |
   * | Flatness                              |         0.0017 dB  |
   * | Recommended overlap                   |            81.2 %  |
   *
   */
  void arm_hft169d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft169d window (float).
   * @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  |
   * | Flatness                              |         0.0017 dB  |
   * | Recommended overlap                   |            81.2 %  |
   *
   *
   */
  void arm_hft169d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft196d window (double).
   * @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  |
   * | Flatness                              |         0.0013 dB  |
   * | Recommended overlap                   |            82.3 %  |
   *
   */
  void arm_hft196d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft196d window (float).
   * @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  |
   * | Flatness                              |         0.0013 dB  |
   * | Recommended overlap                   |            82.3 %  |
   *
   *
   */
  void arm_hft196d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft223d window (double).
   * @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  |
   * | Flatness                              |         0.0011 dB  |
   * | Recommended overlap                   |            83.3 %  |
   *
   */
  void arm_hft223d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft223d window (float).
   * @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  |
   * | Flatness                              |         0.0011 dB  |
   * | Recommended overlap                   |            83.3 %  |
   *
   *
   */
  void arm_hft223d_f32(
        float32_t * pDst,
        uint32_t blockSize);
 /**
   * @brief Hft248d window (double).
   * @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  |
   * | Flatness                              |         0.0009 dB  |
   * | Recommended overlap                   |            84.1 %  |
   *
   */
  void arm_hft248d_f64(
        float64_t * pDst,
        uint32_t blockSize);

 /**
   * @brief Hft248d window (float).
   * @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  |
   * | Flatness                              |         0.0009 dB  |
   * | Recommended overlap                   |            84.1 %  |
   *
   *
   */
  void arm_hft248d_f32(
        float32_t * pDst,
        uint32_t blockSize);


#ifdef   __cplusplus
}
#endif

#endif /* ifndef _BASIC_MATH_FUNCTIONS_H_ */

回复

使用道具 举报

0

主题

14

回帖

14

积分

新手上路

积分
14
发表于 2023-2-10 11:37:32 | 显示全部楼层
有使用例程吗,测试结果精度怎样
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-2-10 11:55:20 | 显示全部楼层
GY2022 发表于 2023-2-10 11:37
有使用例程吗,测试结果精度怎样

近期更新DSP教程时测试下。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2023-2-13 13:54:23 | 显示全部楼层
在keil里面添加怎么找不到呢 image.png image.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-2-13 14:35:51 | 显示全部楼层
普朗克小猫 发表于 2023-2-13 13:54
在keil里面添加怎么找不到呢

MDK软件包的的RTE添加bug,他们忘了把WindowFunctions.c导入进来,手动添加下吧
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2023-2-13 14:45:19 | 显示全部楼层
eric2013 发表于 2023-2-13 14:35
MDK软件包的的RTE添加bug,他们忘了把WindowFunctions.c导入进来,手动添加下吧

是新建一个文件夹导入吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-2-13 14:54:52 | 显示全部楼层
普朗克小猫 发表于 2023-2-13 14:45
是新建一个文件夹导入吗

类似此贴手动添加这几个.C文件即可。

https://www.armbbs.cn/forum.php?mod=viewthread&tid=117839

这个是MDK RTE添加bug了,漏了这个文件添加,估计是一个RTE添加配置文件搞错了,你可以修改下试试。

回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2023-2-13 15:03:11 | 显示全部楼层
eric2013 发表于 2023-2-13 14:54
类似此贴手动添加这几个.C文件即可。

https://www.armbbs.cn/forum.php?mod=viewthread&tid=117839

好的,谢谢哥!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 02:41 , Processed in 0.196676 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表