ARM官方最新DSP库中的窗函数:使用指南

文章目录

  • Ⅰ.DSP库更新介绍及下载
  • Ⅱ.DSP库移植
  • Ⅲ.DSP库窗函数使用示例
  • Ⅰ.DSP库更新介绍及下载

  • ARM官方最近更新的DSP库版本V1.14.3中新加入了许多窗函数供用户使用,提高了对于数字信号处理的能力。包括常见的hanning窗,hamming窗,blackman窗,以及htf窗。在今后遇到需要对信号加窗的情况,可直接调用。
    窗函数
  • 其源码可在github中下载:Github下载
  • Ⅱ.DSP库移植

  • 由于DSP库最新版本刚出不久,还未能与CubeMx,keilMDK等同步,故笔者推荐手动添加源码。
    在此之前,笔者也曾经试过在keilMDK中选择CMSIS-DSP库直接安装的方法,但是出现了bug:

  • 在MDK里显示的是最新版本,却找不到相应的窗函数文件,在此处花费了较多精力,包括更新MDK和CMSIS包,都无济于事,后经过询问,确定是RTE自带的bug。因此自动添加的方式目前不可行。故可通过手动添加c文件的方式,将WindowFunctions.c文件加入工程,以下是一个简单示例:
  • 加入c文件后,若想在工程中使用窗函数,还需加入头文件:
    #include “dsp/window_functions.h”
  • 编译之后无报错,可正常使用窗函数:
  • Ⅲ.DSP库窗函数使用示例

  • 关于窗函数的具体内容,可查看笔者之前的博客:【电赛仪器仪表】数字滤波器设计基础与STM32官方DSP库的结合
  • 选择合适的窗函数后,以hamming窗为例,其在DSP库中的函数原型为:
  • void arm_hamming_f32	(float32_t * 	pDst,
    						uint32_t 	blockSize 
    )	
    
  • pDst:需要加窗的数据
  • blockSize:窗的长度
  • 函数中仅含两个参数,理解使用起来都比较简单,但是却大大提高了我们处理数据的效率,因此最新版本的DSP库是有必要去了解和使用的。
  • 物联沃分享整理
    物联沃-IOTWORD物联网 » ARM官方最新DSP库中的窗函数:使用指南

    发表评论