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

从微分方程到FIR

要理解 FIR 低通滤波器,需先明确一个关键前提:FIR 是离散时间系统,而微分方程是连续时间系统的描述工具。因此,我们会从“简单的连续低通滤波器微分方程”入手,先建立连续域的低通滤波逻辑,再通过“离散化”过渡到 FIR 低通滤波器(无反馈、有限长脉冲响应),最终给出一个可计算的 FIR 低通实例。

第一步:从连续低通滤波器的微分方程开始

最简单的连续低通滤波器是 RC 低通电路,它能滤除高频信号、保留低频信号,其核心是通过电阻(R)和电容(C)的充放电实现“平滑”作用,对应的微分方程非常简洁。

1. RC 低通电路的物理模型与微分方程推导

RC 低通电路的结构如下:输入电压为连续信号 Vi(t)V_i(t)Vi(t)(如含高频噪声的直流信号),输出电压为电容两端的电压 Vo(t)V_o(t)Vo(t)(平滑后的低频信号),电阻 R 和电容 C 串联。

根据 基尔霍夫电压定律(KVL),回路总电压满足:
电阻两端电压 VR(t)+V_R(t) +VR(t)+ 电容两端电压 $V_o(t) = 输入电压 Vi(t)V_i(t)Vi(t)

结合元件的伏安特性:

  • 电阻电流 I(t)=VR(t)RI(t) = \frac{V_R(t)}{R}I(t)=RVR(t)(欧姆定律),因此 VR(t)=R⋅I(t)V_R(t) = R \cdot I(t)VR(t)=RI(t)
  • 电容电流 I(t)=C⋅dVo(t)dtI(t) = C \cdot \frac{dV_o(t)}{dt}I(t)=CdtdVo(t)(电容电流是电压的微分,C 为电容值)。

将上述关系代入 KVL 方程:
R⋅C⋅dVo(t)dt+Vo(t)=Vi(t)R \cdot C \cdot \frac{dV_o(t)}{dt} + V_o(t) = V_i(t)RCdtdVo(t)+Vo(t)=Vi(t)

这就是 RC 连续低通滤波器的微分方程,其中:

  • 左侧:RC⋅dVo(t)dtRC \cdot \frac{dV_o(t)}{dt}RCdtdVo(t) 是“阻尼项”(体现电容充放电的快慢),Vo(t)V_o(t)Vo(t) 是输出项;
  • 右侧:Vi(t)V_i(t)Vi(t) 是输入项;
  • RCRCRC 称为“时间常数”(记为 τ=RC\tau = RCτ=RC),τ\tauτ 越大,滤波平滑效果越强(高频衰减越明显)。

2. 连续低通的频率特性(为离散化做铺垫)

对微分方程两边做 拉普拉斯变换(连续域频域分析工具),可得到连续低通的频率响应 Hc(s)=Vo(s)Vi(s)H_c(s) = \frac{V_o(s)}{V_i(s)}Hc(s)=Vi(s)Vo(s),代入 s=jωs = j\omegas=ω\omegaω 为连续角频率)后:
Hc(jω)=11+jωτH_c(j\omega) = \frac{1}{1 + j\omega \tau}Hc()=1+τ1

幅度响应(描述对不同频率的衰减能力)为:
∣Hc(jω)∣=11+(ωτ)2|H_c(j\omega)| = \frac{1}{\sqrt{1 + (\omega \tau)^2}}Hc()=1+(ωτ)21

  • ω=0\omega = 0ω=0(直流信号):∣Hc(j0)∣=1|H_c(j0)| = 1Hc(j0)=1(无衰减,完全保留);
  • ω=ωc=1τ\omega = \omega_c = \frac{1}{\tau}ω=ωc=τ1(截止角频率):∣Hc(jωc)∣=12≈0.707|H_c(j\omega_c)| = \frac{1}{\sqrt{2}} \approx 0.707Hc(jωc)=210.707(对应 -3dB 衰减,定义为低通的截止频率);
  • ω≫ωc\omega \gg \omega_cωωc(高频信号):∣Hc(jω)∣≈0|H_c(j\omega)| \approx 0Hc()0(大幅衰减,滤除高频)。

这就是连续低通的核心功能:保留 ω≤ωc\omega \leq \omega_cωωc 的低频,衰减 ω>ωc\omega > \omega_cω>ωc 的高频。

第二步:从连续低通到离散 FIR 低通的过渡

FIR 是离散系统,需将连续低通的“平滑滤波”逻辑转化为“离散域的有限长加权求和”(无反馈)。关键步骤是 离散化(将连续时间 ttt 转化为离散时刻 nTnTnTTTT 为采样周期)和 FIR 化(去除反馈,保证有限长脉冲响应)。

1. 连续低通的离散化(以欧拉法为例)

离散化的核心是用“离散差分”近似连续微分。对 RC 低通的微分方程,用 向前差分 近似 dVo(t)dt\frac{dV_o(t)}{dt}dtdVo(t)
连续微分:dVo(t)dt≈Vo((n+1)T)−Vo(nT)T\frac{dV_o(t)}{dt} \approx \frac{V_o((n+1)T) - V_o(nT)}{T}dtdVo(t)TVo((n+1)T)Vo(nT)
nnn 为离散时刻索引,Vo(nT)V_o(nT)Vo(nT) 表示第 nnn 个采样点的输出,记为 y(n)y(n)y(n);输入 Vi(nT)V_i(nT)Vi(nT) 记为 x(n)x(n)x(n)

将差分代入连续微分方程,整理得 离散递推关系
y(n+1)=(1−Tτ)y(n)+Tτx(n)y(n+1) = \left(1 - \frac{T}{\tau}\right) y(n) + \frac{T}{\tau} x(n)y(n+1)=(1τT)y(n)+τTx(n)

但注意:这个离散系统是 IIR(无限长脉冲响应),因为输出 y(n+1)y(n+1)y(n+1) 依赖前一时刻的输出 y(n)y(n)y(n)(存在反馈),不符合 FIR“无反馈、仅依赖输入有限历史值”的核心特征。

2. FIR 低通的核心:去除反馈,保留有限长输入依赖

要得到 FIR,需改造上述离散系统:输出仅依赖输入的有限个历史值(无反馈)。例如,若输出仅依赖当前输入 x(n)x(n)x(n) 和前 2 个输入 x(n−1)、x(n−2)x(n-1)、x(n-2)x(n1)x(n2)(3 个输入,即“3 抽头 FIR”),则输出公式为:
y(n)=h(0)x(n)+h(1)x(n−1)+h(2)x(n−2)y(n) = h(0)x(n) + h(1)x(n-1) + h(2)x(n-2)y(n)=h(0)x(n)+h(1)x(n1)+h(2)x(n2)

这就是 FIR 的核心——卷积和(有限项),其中 h(0)、h(1)、h(2)h(0)、h(1)、h(2)h(0)h(1)h(2) 是 FIR 的“滤波系数”(即单位脉冲响应 h(n)h(n)h(n)),需满足:

  • 系数有限长(仅 3 个非零值,符合 FIR 定义);
  • 逼近连续低通的频率特性(保留低频、衰减高频)。

第三步:3 抽头 FIR 低通滤波器实例(完整设计与验证)

基于上述逻辑,我们设计一个 3 抽头 FIR 低通滤波器,目标是逼近 RC 低通的滤波效果,具体步骤如下:

1. 确定设计参数

  • 采样频率 fs=1T=1000 Hzf_s = \frac{1}{T} = 1000\ \text{Hz}fs=T1=1000 Hz(即采样周期 T=1 msT = 1\ \text{ms}T=1 ms);
  • 目标截止频率 fc=200 Hzf_c = 200\ \text{Hz}fc=200 Hz(与 RC 低通的截止频率一致,需保留 ≤200Hz 的信号);
  • 抽头数 N=3N = 3N=3(FIR 系数 h(n)h(n)h(n) 仅在 n=0、1、2n=0、1、2n=012 非零)。

2. 计算 FIR 滤波系数 h(n)h(n)h(n)(窗函数法)

FIR 系数的设计需逼近“理想离散低通”的脉冲响应,常用 窗函数法(简单直观),步骤如下:

(1)理想离散低通的脉冲响应 hd(n)h_d(n)hd(n)

理想离散低通的频率响应为:
Hd(ejω)=1H_d(e^{j\omega}) = 1Hd(e)=1(当 ∣ω∣≤ωc|\omega| \leq \omega_cωωc),Hd(ejω)=0H_d(e^{j\omega}) = 0Hd(e)=0(当 ∣ω∣>ωc|\omega| > \omega_cω>ωc
其中 ωc=2πfcfs=2π×2001000=0.4π rad\omega_c = 2\pi \frac{f_c}{f_s} = 2\pi \times \frac{200}{1000} = 0.4\pi\ \text{rad}ωc=2πfsfc=2π×1000200=0.4π rad(数字截止角频率)。

通过 逆离散时间傅里叶变换(IDTFT),可得理想脉冲响应:
hd(n)=ωcπ⋅sinc(ωcnπ)h_d(n) = \frac{\omega_c}{\pi} \cdot \text{sinc}\left( \frac{\omega_c n}{\pi} \right)hd(n)=πωcsinc(πωcn)
sinc(x)=sin⁡(x)x\text{sinc}(x) = \frac{\sin(x)}{x}sinc(x)=xsin(x) 为抽样函数,是无限长序列)。

代入 ωc=0.4π\omega_c = 0.4\piωc=0.4π,计算关键时刻的 hd(n)h_d(n)hd(n)

  • n=0n=0n=0hd(0)=0.4ππ⋅sinc(0)=0.4×1=0.4h_d(0) = \frac{0.4\pi}{\pi} \cdot \text{sinc}(0) = 0.4 \times 1 = 0.4hd(0)=π0.4πsinc(0)=0.4×1=0.4
  • n=±1n=\pm1n=±1hd(1)=hd(−1)=0.4⋅sinc(0.4)=0.4×sin⁡(0.4)0.4≈0.303h_d(1) = h_d(-1) = 0.4 \cdot \text{sinc}(0.4) = 0.4 \times \frac{\sin(0.4)}{0.4} \approx 0.303hd(1)=hd(1)=0.4sinc(0.4)=0.4×0.4sin(0.4)0.303
  • n=±2n=\pm2n=±2 及以外:hd(n)h_d(n)hd(n) 衰减至接近 0(可忽略)。
(2)用窗函数截断得到 FIR 系数 h(n)h(n)h(n)

由于 hd(n)h_d(n)hd(n) 是无限长序列,需用“矩形窗”(最简单的窗函数,w(n)=1w(n)=1w(n)=1n=0、1、2n=0、1、2n=012,否则为 0)截断,得到有限长的 FIR 系数:
为保证 线性相位(无相位失真),需让系数对称(h(0)=h(2)h(0)=h(2)h(0)=h(2)),因此:

  • h(0)=hd(−1)≈0.303h(0) = h_d(-1) \approx 0.303h(0)=hd(1)0.303(对应输入 x(n)x(n)x(n) 的权重);
  • h(1)=hd(0)=0.4h(1) = h_d(0) = 0.4h(1)=hd(0)=0.4(对应输入 x(n−1)x(n-1)x(n1) 的权重);
  • h(2)=hd(1)≈0.303h(2) = h_d(1) \approx 0.303h(2)=hd(1)0.303(对应输入 x(n−2)x(n-2)x(n2) 的权重)。

最终 3 抽头 FIR 低通的系数为:
h(0)=0.303, h(1)=0.4, h(2)=0.303\boxed{h(0)=0.303,\ h(1)=0.4,\ h(2)=0.303}h(0)=0.303, h(1)=0.4, h(2)=0.303

3. 验证 FIR 低通的滤波效果

我们输入一个 混合信号(含通带信号和阻带信号),通过 FIR 的卷积和计算输出,验证滤波效果。

(1)输入信号 x(n)x(n)x(n)

输入为“1Hz 正弦波(通带,≤200Hz)+ 500Hz 正弦波(阻带,>200Hz)”,表达式为:
x(n)=sin⁡(2π×1×nfs)+sin⁡(2π×500×nfs)x(n) = \sin\left( 2\pi \times 1 \times \frac{n}{f_s} \right) + \sin\left( 2\pi \times 500 \times \frac{n}{f_s} \right)x(n)=sin(2π×1×fsn)+sin(2π×500×fsn)
代入 fs=1000 Hzf_s=1000\ \text{Hz}fs=1000 Hz,简化为:
x(n)=sin⁡(2πn1000)+sin⁡(πn)x(n) = \sin\left( \frac{2\pi n}{1000} \right) + \sin(\pi n)x(n)=sin(10002πn)+sin(πn)

(2)FIR 输出计算(卷积和)

根据 FIR 的输入输出关系(卷积和):
y(n)=h(0)x(n)+h(1)x(n−1)+h(2)x(n−2)y(n) = h(0)x(n) + h(1)x(n-1) + h(2)x(n-2)y(n)=h(0)x(n)+h(1)x(n1)+h(2)x(n2)

代入具体数值计算(以 n=2、3、4n=2、3、4n=234 为例):

  • n=2n=2n=2y(2)=0.303x(2)+0.4x(1)+0.303x(0)y(2) = 0.303x(2) + 0.4x(1) + 0.303x(0)y(2)=0.303x(2)+0.4x(1)+0.303x(0)
    计算得:x(0)=0+0=0x(0)=0+0=0x(0)=0+0=0x(1)=sin⁡(0.002π)+sin⁡(π)≈0.00628+0=0.00628x(1)=\sin(0.002\pi)+\sin(\pi)≈0.00628+0=0.00628x(1)=sin(0.002π)+sin(π)0.00628+0=0.00628x(2)=sin⁡(0.004π)+sin⁡(2π)≈0.01257+0=0.01257x(2)=\sin(0.004\pi)+\sin(2\pi)≈0.01257+0=0.01257x(2)=sin(0.004π)+sin(2π)0.01257+0=0.01257
    因此 y(2)≈0.303×0.01257+0.4×0.00628+0.303×0≈0.00381+0.00251≈0.00632y(2)≈0.303×0.01257 + 0.4×0.00628 + 0.303×0≈0.00381 + 0.00251≈0.00632y(2)0.303×0.01257+0.4×0.00628+0.303×00.00381+0.002510.00632(接近 1Hz 信号的幅值)。

  • n=100n=100n=100(稳定阶段):500 Hz500\ \text{Hz}500 Hz 信号 sin⁡(πn)\sin(\pi n)sin(πn) 每采样点交替为 1、-1、1、-1,代入卷积和:
    y(100)=0.303×1+0.4×(−1)+0.303×1=(0.303+0.303)−0.4=0.606−0.4=0.206y(100) = 0.303×1 + 0.4×(-1) + 0.303×1 = (0.303+0.303) - 0.4 = 0.606 - 0.4 = 0.206y(100)=0.303×1+0.4×(1)+0.303×1=(0.303+0.303)0.4=0.6060.4=0.206(500Hz 信号衰减至约 0.2,远小于通带信号)。

(3)滤波效果结论
  • 通带信号(1Hz):输出幅值接近输入幅值(衰减很小);
  • 阻带信号(500Hz):输出幅值大幅衰减(从 1 降至约 0.2,衰减约 13.7dB);
  • 线性相位:由于系数对称(h(0)=h(2)h(0)=h(2)h(0)=h(2)),输出信号无相位失真,仅延迟 N−12=1\frac{N-1}{2}=12N1=1 个采样点(符合线性相位特性)。

总结:从微分方程到 FIR 低通的逻辑链

  1. 连续基础:RC 低通的微分方程(RCdVodt+Vo=ViRC\frac{dV_o}{dt} + V_o = V_iRCdtdVo+Vo=Vi)描述了连续低通的核心逻辑(平滑、滤高频);
  2. 离散过渡:通过差分近似微分将连续系统转化为离散系统,再去除反馈,得到 FIR 的“有限长输入依赖”结构;
  3. FIR 设计:用窗函数法截断理想离散低通的无限长脉冲响应,得到有限长系数 h(n)h(n)h(n)
  4. 功能验证:通过卷积和计算输出,验证通带信号保留、阻带信号衰减的低通效果。

这个实例展示了 FIR 低通的本质:用无反馈的有限长加权求和,逼近连续低通的滤波特性,且具有绝对稳定、线性相位的优势。

http://www.dtcms.com/a/419782.html

相关文章:

  • 免费建立自己的网站代码一元夺宝网站怎么做
  • 网站备案前置审批表格做网站都注意哪些东西
  • 打开无忧管理后台网站装饰设计有限公司
  • Nginx 访问控制、用户认证、HTTPS配置实操手册
  • github repository 一个文件忘记添加到 .gitignore
  • 【STM32项目开源】基于STM32的智能语音分类垃圾桶
  • wordpress建站详细教程网页打不开视频怎么办
  • 【开题答辩全过程】以 基于Java的物流管理系统为例,包含答辩的问题和答案
  • BCEWithLogitsLoss
  • 在线设计网站大全网站建设方案推销
  • CUDA框架
  • 辽阳专业建设网站公司wordpress rss 爬取
  • TypeScript 简介与项目中配置
  • 南宁seo建站seo网站优化排名
  • 【每日一问】老化测试有什么作用?
  • 广州信科做网站dede 门户网站
  • 【JDBC】系列文章第一章,怎么在idea中连接数据库,并操作插入数据?
  • 企业的网站建设朔州网站建设收费
  • 外贸上哪个网站开发客户网站建设费可分摊几年
  • 8. mutable 的用法
  • 做网站 php j2ee做网站投注员挣钱吗
  • 试玩平台网站开发录入客户信息的软件
  • 网站建设谈单情景对话wordpress外网访问错误
  • 怎么学网站开发海阳网站制作
  • 肥东建设局网站家具设计师常去的网站
  • 查网站开通时间网站设计 职业
  • 重庆网站优化搜索引擎优化包括( )方面的优化
  • 助力工业转型升级 金士顿工博会大放异彩
  • 智慧校园智能一卡通管理系统的完整架构与功能模块设计,结合技术实现与应用场景,分为核心平台、功能子系统及扩展应用三部分
  • @[TOC](【笔试强训】Day02) # 1. ⽜⽜的快递(模拟) [题⽬链接: BC64 ⽜⽜的快递]