我是靠谱客的博主 缓慢电灯胆,最近开发中收集的这篇文章主要介绍【DSP库窗函数】ARM官方最新DSP库中窗函数的使用方法Ⅰ.DSP库更新介绍及下载Ⅱ.DSP库移植Ⅲ.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库是有必要去了解和使用的。

最后

以上就是缓慢电灯胆为你收集整理的【DSP库窗函数】ARM官方最新DSP库中窗函数的使用方法Ⅰ.DSP库更新介绍及下载Ⅱ.DSP库移植Ⅲ.DSP库窗函数使用示例的全部内容,希望文章能够帮你解决【DSP库窗函数】ARM官方最新DSP库中窗函数的使用方法Ⅰ.DSP库更新介绍及下载Ⅱ.DSP库移植Ⅲ.DSP库窗函数使用示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部