当前位置: 首页 > news >正文

(一)一阶数字低通滤波器---原理及其推导

        在我的学习中,遇到了许多需要用到滤波的场合,比如ADC采样,必然会伴随这随机干扰引起的毛刺噪声,从而需要滤波处理。所以在这里,我对我最常用的一阶低通滤波进行一个推导和总结。      


目录

1.滤波器介绍

2.RC滤波电路分析

3.一阶数字低通滤波器推导(EMA滤波器)

4.滤波系数a的设计


1.滤波器介绍

        电子领域的滤波器,简单理解就是可以“过滤掉”我们不需要的某个频率的波形

       💡 按内部是否有电源和有源器件,可以分为:

        (1)有源滤波器:一般由集成运放和RC网络组成,由电源向集成运放提供能量。除了滤除波形以外,还能够放大特定频率的波形。
        (2)无源滤波器:一般由电容、电感、电阻等无源元件构成,不具备波形放大能力,只能维持或减小输入信号的幅度。

        💡也可以按幅频特性,可以分为:

        (1)低通滤波器(Low Pass Filter) :通低频阻高频
        (1)高通滤波器(High Pass Filter) :通高频阻低频
        (1)带通滤波器(Band Pass Filter) :通中频阻高、低频
        (1)带阻滤波器(Band Elimination Filter) :通高、低频阻中频

        这里我们主要说一下无源RC高低通滤波器


2.RC滤波电路分析

使用电阻和电容可以组成无源RC滤波器,如下图:

图中的R也就是电阻,这个好理解,大家从小也学习过,直流和交流电都能通过,并起阻碍作用,我们称其为阻抗R;

图中的C就是电容,仅能通过交流,并对交流起阻碍作用,我们称其为容抗,用Xc表示;

容抗的公式为:

我们可以看出,电容的阻抗Xc和电容C和输入的频率f的大小有关。

💡当以电容端电压为输出Uout时,其值为下图:

从而可知,低频的信号能够很好的通过,高频的信号反而会受到抑制,从而达到低通滤波的效果。

💡当以电阻端电压为输出Uout时,其值为下图:

 可知,高频的信号能够很好的通过,低频的信号反而会受到抑制,从而达到高通滤波的效果。

🔍在这里我们对RC低通滤波进一步分析:

在控制理论中,我们可以得到RC低通滤波电路的传递函数:G(s) = \frac{1}{​{1 + \tau s}}   ,也被称为一阶惯性环节。其中τ为时间常数,τ = RC;而我们的截止频率则为 ωc = 1/τ = 1/RC


3.一阶数字低通滤波器推导(EMA滤波器)

我们的的低通滤波是一个连续的模型,如果我们想把他用到单片机控制等数字系统中,则需要对其进行离散化,得到公式:y(k) = (1 − a) ⋅ y(k − 1) + a ⋅ x (k)而离散化后的一阶数字低通滤波器也就是我们常说的EMA滤波器;下面我来对其公式进行推导:

在我们的一阶RC低通滤波电路中,我们的输出为Y(s),输入为F(s)

写出开环传递函数:Y(s) = F(s)G(s),得到:

👉Y(s) = (1/1+τs )F(s)

将其化为时域的微分方程,得到:

👉τ⋅y′+y=x

用一阶后向差分法,对其进行离散化,得到:

👉

其中,T为我们数字系统的采样周期,对上式化简整理,得到:

👉

我们令a = T/T+τ,可以的到我们一阶数字低通滤波器的表达式:

👉y(k) = (1−a) ⋅ y(k−1) + a ⋅ x (k)  -----a称为滤波系数

从而可以将公式用到代码中,由数字系统迭代计算即可达到我们的滤波效果。


4.滤波系数a的设计

在很多时候,我们的滤波系数就是通过凑配和实验的方法得出,但是如果我们已经定好了系统采样时间,并有一个预期的截至频率要求,那我们该如何设计数字滤波器中的滤波系数a呢?

已知我们的ωc = 1/τ = 1/RC

而 

一般情况下,f >> fc,所以:

所以已知采样频率和截至频率,就可以算出我们的滤波系数a了。

以电机控制来举例,一个永磁同步电机的额定转速为2000RPM,极对数为7,对相电流进行采样;

在额定条件下,相电流频率为f = 2000*7/60 = 233Hz,但一般会考虑更大一些的频率,我们选取截至频率fc = 400Hz。而我们的控制代码中设置的采样频率为f = 20kHz;

由此可以计算得滤波系数a = 2pi * 400/20000 = 0.1256637。

从而后续可以在这个基准上,进行调整即可。

http://www.lryc.cn/news/586471.html

相关文章:

  • 前后端分离项目的完整部署(Jenkins自动化部署)
  • 什么是数据库同步软件?为什么要关注数据库同步技术?
  • 阻有形,容无声——STA 签核之RC Corner
  • 【MaterialDesign】谷歌Material(Google Material Icons) 图标英文 对照一览表
  • Kotlin文件
  • AI大模型(七)Langchain核心模块与实战(二)
  • Java SE--抽象类和接口
  • Linux系统编程——目录 IO
  • JavaScript:移动端特效--从触屏事件到本地存储
  • 一文理解缓存的本质:分层架构、原理对比与实战精粹
  • 深入理解设计模式之工厂模式:创建对象的艺术
  • Cypress与多语言后端集成指南
  • 数据结构——散列表
  • 为什么有些PDF无法复制文字?原理分析与解决方案
  • Cursor创建Spring Boot项目
  • 指令微调时,也要考虑提示损失
  • 《Java Web程序设计》实验报告六 JSP+JDBC+MySQL实现登录注册
  • 多表查询-4-外连接
  • xml映射文件的方式操作mybatis
  • 2025 全球酒店用品厂家竞争力排行榜发布:扬州卓韵领衔,布草工厂实力重塑行业格局
  • 使用iso制作ubuntu22.04docker镜像
  • 【数据结构初阶】--单链表(一)
  • ICCV2025 特征点检测 图像匹配 RIPE
  • dify 用postman调试参数注意
  • 【数据结构初阶】--顺序表(二)
  • Compose笔记(三十四)--LayoutModifier
  • Raft-领导者选举
  • 基于YOLO11的垃圾分类AI模型训练实战
  • C语言课程设计--电子万年历
  • 第十八天,7月12日,八股