STM32 FIR滤波器使用要点,STM32 DSP篇

这篇具有很好参考价值的文章主要介绍了STM32 FIR滤波器使用要点,STM32 DSP篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.综述

STM32搭配的CMSIS的DSP库已经写好了FIR,我们做的就是用好用稳定!

2.使用流程

2.1使用MATLAB的Filter Designer生成滤波器的参数(直接在MATLAB命令中输入filterDesigner即可调出此工具,配置好参数后,选择Targets->Generate C header)

2.2调用arm_fir_init_f32或arm_fir_init_q31或arm_fir_init_q15等等视实际使用情况而定数据类型

2.3调用对应的arm_fir_f32或arm_fir_q31或arm_fir_q15等等与上一步对应的函数开始计算

2.4就这两步算就对了

3.需要注意的细节问题

3.1滤波器阶数选择

滤波器阶数应当选择能整除4或8或16的,具体要求如下图

stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器

例如,f32要求4的倍数,与该数值直接相关的是numTaps,即MATLAB生成的参数的个数。numTaps比FIR滤波器的阶数大1,所以如果numTaps-1不能整除4,那就有问题了。

3.2状态缓冲大小

该参数在arm_fir_init函数中会用到,具体要求如下图

stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器

 该缓冲状态区域大小为numTaps + 2*blockSize -1

其中,numTaps为FIR滤波器的配置参数个数,该数值比FIR滤波器的阶数大1。blockSize是每次调用arm_fir_f32计算的数值的个数,如果想一口气计算完,就让blockSize等于缓冲区中的元素个数。

3.3有多个FIR滤波器时,哪些能公用,哪些不行

例如笔者使用该FIR滤波器实现数字分频器,需要分别为左右声道配置两个FIR滤波器,显而易见,这两个滤波器的工作模式(低通、高通、带通等)相同;截止频率相同;窗函数相同。孪生兄弟一般,然而还是互相嫌弃,在实际使用时发现有些东西是不能公用的。

两个滤波器的基本属性与MATLAB生成的配置参数相关,所以MATLAB生成的配置参数可以公用。但是FIR滤波器句柄,即arm_fir_instance_f32(arm_fir_init_f32和arm_fir_f32的第一个参数)和状态缓存(arm_fir_init_f32的第四个参数)不能公用!

例如:

先举个反面例子

stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器

这是公用的例子,实际结果是,会听到明显的杂音

改正后是

 stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器

 结果就是声音很圆润,(笔者首先做的是低通滤波器)和低音炮上用运放实现的有源滤波器听起来无区别。

3.4在循环执行时,哪些可以省掉

例如笔者的分频器,只要音乐在播放,他就要一刻不停得工作(毕竟替代的是更不怕累的模拟电路),在一遍遍的滤波过程中,实测arm_fir_init开头这个函数可以省去的,即在循环前调用一次就行。

4.简单聊下我们手里的FIR

stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器

我们手头的这个FIR是直接型结构的,系统函数和拓扑图如上。上面的图里面,箭头代表乘法,圆圈代表加法。该滤波器的拓扑结构在有些资料上是下图这样,其本质上相同。

stm32 滤波,数字音频,STM32,stm32,arm,嵌入式硬件,dsp,iir滤波器 

 文章来源地址https://www.toymoban.com/news/detail-629163.html

到了这里,关于STM32 FIR滤波器使用要点,STM32 DSP篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32 CAN通讯滤波器几种模式的设置

    1. 32位过滤器-标识符屏蔽模式(一组筛选ID)  2. 32位过滤器-标识符列表模式(2个筛选ID)  3. 16位过滤器-标识符屏蔽模式(2组筛选ID)  4. 16位过滤器-标识符列表模式(4个筛选ID)  1. 32位过滤器-标识符屏蔽模式(一组筛选ID) 2. 32位过滤器-标识符列表模式(2个筛选ID)  

    2024年02月13日
    浏览(38)
  • 解析使用FPGA逻辑实现FIR滤波器的几种架构

    有限脉冲响应(finite impulse response,FIR)数字滤波器         FIR滤波器的实质就是输入序列与系统脉冲响应的卷积,即:         其中,N为滤波器的阶数,也即抽头数;x(n)为第n个输入序列;h(n)为FIR滤波器的第n级抽头系数。         FIR滤波器基本结构如下:      

    2024年02月08日
    浏览(42)
  • 基于FPGA的FIR滤波器的实现(5)— 并行结构FIR滤波器的FPGA代码实现

    并行结构,并行实现滤波器的累加运算,即并行将具有对称系数的输入数据进行相加,而后采用多个乘法器并行实现系数与数据的乘法运算,最后将所有乘积结果相加输出。这种结构具有最高的运行速度,因不需要累加运算,因此系数时钟频率可以与数据输出时钟频率保持一

    2024年02月03日
    浏览(56)
  • 并行FIR滤波器

    FIR 滤波器是有限长单位冲击响应滤波器,又称为非递归型滤波器。FIR 滤波器具有严格的线性相频特性,同时其单位响应是有限长的,因而是稳定的系统。 FIR 滤波器本质上就是输入信号与单位冲击响应函数的卷积,表达式如下: 直接型结构如下: FIR 滤波器有如下几个特性:

    2024年02月13日
    浏览(36)
  • 串行FIR滤波器

    串行设计,就是在 16 个时钟周期内对 16 个延时数据分时依次进行乘法、加法运算,然后在时钟驱动下输出滤波值。考虑到 FIR 滤波器系数的对称性,计算一个滤波输出值的周期可以减少到 8 个。串行设计时每个周期只进行一次乘法运算,所以设计中只需一个乘法器即可。此时

    2024年02月11日
    浏览(43)
  • FPGA设计FIR滤波器低通滤波器,代码及视频

    名称:FIR滤波器低通滤波器 软件:Quartus 语言:Verilog/VHDL 本资源含有verilog及VHDL两种语言设计的工程,每个工程均可实现以下FIR滤波器的功能。 代码功能: 设计一个8阶FIR滤波器(低通滤波器),要求截止频率为20KHz,使用线性相位结构。 参数设计方法: 使用matlab软件设计滤

    2024年02月08日
    浏览(53)
  • FIR半带滤波器

    CIC滤波器是一种适合于工作在高采样率条件下的滤波器。 半带滤波器是一种非常适合于2倍抽取的FIR滤波器。 半带滤波器可以使2倍抽取的每秒乘法次数比一般线性相位的FIR滤波器减少近1/2。 半带滤波器是一种实现数字下变频的高效数字滤波器。 半带滤波器有以下特点: 1、

    2023年04月26日
    浏览(44)
  • FIR数字滤波器设计

    目标 用Kaiser窗设计一个FIR数字带阻滤波器,对模拟信号 x a ( t ) = c o s ( 2 π f a t ) + c o s ( 2 π f b t ) + c o s ( 2 π f c t ) x_a(t) = cos (2pi f_at) + cos (2pi f_bt) + cos (2pi f_ct) x a ​ ( t ) = cos ( 2 π f a ​ t ) + cos ( 2 π f b ​ t ) + cos ( 2 π f c ​ t ) , f a = 6500 H z , f b = 7000 H z , f c = 9000 H z

    2024年01月24日
    浏览(38)
  • FIR滤波器的Verilog实现

    FIR滤波器是非递归型滤波器的简称,又叫 有限长单位冲激响应滤波器 。带有常系数的FIR滤波器是一种LTI(线性时不变)数字滤波器。冲激响应是有限的意味着在滤波器中没有发反馈。长度为N的FIR输出对应于输入时间序列x(n)的关系由一种有限卷积和的形式给出,具体形式如下:

    2024年02月11日
    浏览(35)
  • FIR数字滤波器设计——窗函数法

    本实验结合理论教材中FIR数字滤波器设计的教学内容中的窗函数设计法,学习和掌握窗函数法设计FIR数字滤波器的原理和实现过程,学习MATLAB设计FIR数字滤波器的相关函数的使用,掌握使用MATLAB设计FIR数字滤波器的过程与方法,从而加深对FIR数字滤波器常用指标和设计过程的

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包