news 2026/9/7 17:50:52

一阶高通滤波器差分方程:系数取值、性能对比与嵌入式定点实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一阶高通滤波器差分方程:系数取值、性能对比与嵌入式定点实现

摘要:本文介绍一阶高通滤波器的差分方程及其参数含义,并通过对比不同系数取值(0.75、0.984375、0.5、0.25、0.125、0.0625)下的性能表现,分析各参数对应的应用场景。文中给出了差分方程的推导与频域理解,并结合嵌入式系统(如 STM32、8051F 系列)中利用位移运算替代浮点运算的工程实践,通过对比表格展示了各系数在截止频率、响应速度与平滑程度上的差异,为不同信号处理场景下的系数选择提供参考。

速览

  • 一阶高通滤波器差分方程:y[n] = (1-α)·x[n] - α·y[n-1]。
  • α 越接近 1,截止频率越低、输出越平滑;反之响应越快。
  • 取 2 的幂次倒数系数,可用位移运算替代浮点,提升速度。
  • 大 α 抑制低频漂移,小 α 捕捉高频瞬态,按场景选值。

1. 引言

一阶高通滤波器是数字信号处理中的基础模块,用于保留高频分量、抑制低频分量。本文先给出其差分方程,再通过不同系数取值的性能对比,分析各参数对应的应用场景。

2. 差分方程

一阶高通滤波器的差分方程通常表示为:

$$

y[n] = (1 - \alpha) \cdot x[n] - \alpha \cdot y[n-1]

$$

其中,$y[n]$ 是当前输出,$x[n]$ 是当前输入,$y[n-1]$ 是上一时刻的输出,$\alpha$ 是滤波器的系数。

该差分方程的含义是:当前输出 $y[n]$ 由当前输入 $x[n]$ 与上一时刻输出 $y[n-1]$ 共同决定。系数 $\alpha$ 的取值范围为 $0 < \alpha < 1$,它直接决定了滤波器的截止频率与响应特性。

当 $\alpha$ 越接近 1 时,滤波器对低频分量的抑制能力越强,截止频率越低,输出信号更平滑;当 $\alpha$ 越接近 0 时,滤波器对低频分量的抑制能力越弱,截止频率越高,输出信号更接近原始输入。

此外,该差分方程还可以从频域角度理解:高通滤波器的频率响应会随 $\alpha$ 的变化而改变,$\alpha$ 越大,通带越窄,对高频分量的保留越有选择性。

2.1 从模拟高通滤波器到数字差分方程

一阶模拟高通滤波器的传递函数可以表示为:

$$

H(s) = \frac{s}{s + \omega_c}

$$

其中,$s$ 是拉普拉斯变量,$\omega_c = 2\pi f_c$ 是模拟截止角频率。该传递函数在直流处($s = 0$)增益为零,在高频处增益趋近于 1,符合高通滤波器的基本特性。

要将模拟滤波器转换为数字差分方程,需要将 $s$ 域映射到 $z$ 域。常用的离散化方法有前向欧拉法和双线性变换法,下面分别介绍。

(1)前向欧拉法

前向欧拉法用一阶差分近似微分算子,其映射关系为:

$$

s = \frac{1 - z^{-1}}{T}

$$

其中,$T$ 是采样周期。将上式代入模拟传递函数 $H(s) = \frac{s}{s + \omega_c}$,可得:

$$

H(z) = \frac{\frac{1 - z^{-1}}{T}}{\frac{1 - z^{-1}}{T} + \omega_c} = \frac{1 - z^{-1}}{1 - z^{-1} + \omega_c T}

$$

令 $\alpha = \frac{1}{1 + \omega_c T}$,则上式可整理为:

$$

H(z) = \alpha \cdot (1 - z^{-1}) \cdot \frac{1}{1 - \alpha z^{-1}}

$$

对应的差分方程为:

$$

y[n] = \alpha \cdot (x[n] - x[n-1]) + \alpha \cdot y[n-1]

$$

需要注意的是,前向欧拉法在 $\omega_c T$ 较大时可能不稳定,因此更适合采样率较高、$\omega_c T$ 较小的场合。

(2)双线性变换法

双线性变换法通过以下映射关系将 $s$ 域映射到 $z$ 域:

$$

s = \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}}

$$

代入模拟传递函数 $H(s) = \frac{s}{s + \omega_c}$,可得:

$$

H(z) = \frac{\frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}}}{\frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}} + \omega_c}

$$

整理后得到:

$$

H(z) = \frac{2(1 - z^{-1})}{2(1 - z^{-1}) + \omega_c T (1 + z^{-1})}

$$

令 $\alpha = \frac{2}{2 + \omega_c T}$,则:

$$

H(z) = \alpha \cdot \frac{1 - z^{-1}}{1 - (1 - \alpha) z^{-1}}

$$

对应的差分方程为:

$$

y[n] = \alpha \cdot (x[n] - x[n-1]) + (1 - \alpha) \cdot y[n-1]

$$

双线性变换法将整个 $s$ 平面映射到 $z$ 平面的单位圆内,稳定性好,且不会产生频率混叠,是工程中更常用的离散化方法。

2.2 α 与采样周期 T 的关系

从上述推导可以看出,系数 $\alpha$ 与采样周期 $T$ 之间存在明确的对应关系。以双线性变换法为例:

$$

\alpha = \frac{2}{2 + \omega_c T} = \frac{2}{2 + 2\pi f_c T}

$$

由此可得以下结论:

  • 采样周期 T 越大,$\omega_c T$ 越大,$\alpha$ 越小,截止频率相对采样率越低,滤波器对高频分量的保留越充分,响应越快。
  • 采样周期 T 越小,$\omega_c T$ 越小,$\alpha$ 越接近 1,截止频率相对采样率越高,输出越平滑,但对输入变化的响应越慢。
  • 在嵌入式系统中,采样周期 $T$ 由定时器或 ADC 采样率决定,一旦确定 $T$,即可根据目标截止频率 $f_c$ 计算出对应的 $\alpha$ 值。

反过来,若已知 $\alpha$ 和采样周期 $T$,也可以反推截止频率:

$$

f_c = \frac{1 - \alpha}{\pi T (1 + \alpha)}

$$

当 $\alpha$ 接近 1 时,上式可近似为 $f_c \approx \frac{1 - \alpha}{2\pi T}$,这与本文第 3 节中使用的截止频率估算公式一致。因此,$\alpha$ 的取值本质上反映了截止频率与采样周期之间的相对关系,选择 $\alpha$ 时需要同时考虑信号频率范围和系统采样率。

3. 系数取值与性能对比

本节分别取 alpha 为 0.75=3/4、0.984375=63/64、0.5=1/2、0.25=1/4、0.125=1/8、0.0625=1/16,进行性能对比,并分析各自的应用场景。在嵌入式系统和单片机中,资源很少情况下,取这些值,可以用位移运算代替浮点运算,可以减少代码,增加计算速度,以下基于STM32系列和8051F系列为例进行分析。

为便于对比,下表汇总了各系数取值对应的截止频率特性、响应速度与典型应用场景。其中截止频率按一阶高通滤波器公式 $f_c = \frac{1 - \alpha}{2\pi \cdot T}$ 估算(T 为采样周期,此处按归一化处理)。

系数 α分数表示截止频率(归一化)响应速度平滑程度典型应用场景
0.98437563/64极低(约 0.0025)极平滑低频漂移抑制、慢变信号去趋势
0.753/4较低(约 0.04)较慢较平滑去除直流偏置、基线漂移校正
0.51/2中等(约 0.08)中等中等通用高通滤波、音频去低频噪声
0.251/4较高(约 0.12)较快较弱边缘检测、瞬态信号提取
0.1251/8高(约 0.14)高频振动监测、快速变化信号
0.06251/16很高(约 0.15)很快极弱高频脉冲检测、尖峰信号提取

从性能对比可以看出,系数 α 的取值本质上是截止频率与响应速度之间的权衡:α 越接近 1,截止频率越低、输出越平滑,但对输入变化的响应越慢;α 越接近 0,截止频率越高、响应越快,但平滑能力越弱,输出更接近原始输入中的高频成分。

在实际工程中,选择系数时需要结合信号特征与处理目标:若信号以低频漂移为主,应选择较大的 α(如 0.75 或 0.984375)以有效抑制低频分量;若需要捕捉快速变化的瞬态信号,则应选择较小的 α(如 0.125 或 0.0625)以保证足够的响应速度。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 17:45:56

DIFY实战:用代码执行节点优雅合并开始节点多字段内容

最近我在DIFY上搭工作流&#xff0c;遇到一个特别常见的需求&#xff1a;开始节点里收了一堆信息&#xff0c;有用户输入的问题、过往的聊天记录、上传文档抽出来的文本&#xff0c;还有几个配置参数&#xff0c;但后面的模型提示词只想要一份拼好的完整材料。一开始我直接在LL…

作者头像 李华
网站建设 2026/9/7 17:45:04

Maven依赖冲突全面排查与解决:从仲裁规则到实战案例

1. 先把话说清楚&#xff1a;Maven依赖冲突到底是个什么事但凡用IDEA做Java开发超过三个月&#xff0c;几乎没人能绕开Maven依赖冲突这个坎。我见过太多人遇到这类报错时&#xff0c;第一反应是清缓存、重启IDEA&#xff0c;甚至把整个本地仓库删了重新下。结果呢&#xff1f;问…

作者头像 李华
网站建设 2026/9/7 17:44:37

哪里能找到稳定的 Facebook 广告账户资源

对于跨境电商企业来说&#xff0c;稳定可用的 Facebook 广告账户&#xff0c;直接关系到投放节奏能否持续。Meta 风控规则持续收紧&#xff0c;很多企业都会遇到现实难题&#xff1a;自有资质有限&#xff0c;官方开户数量受执照数量约束&#xff1b;自主申请驳回率高&#xff…

作者头像 李华
网站建设 2026/9/7 17:42:52

本地离线语音转文字:Buzz 三步完成音频转录

本地离线语音转文字&#xff1a;Buzz 三步完成音频转录 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 周五下午的部门例会刚…

作者头像 李华
网站建设 2026/9/7 17:42:43

腾讯混元Hy4 Preview:从770B MoE架构到vLLM部署与Agent落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华