十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

一阶高通滤波器差分方程:系数取值、性能对比与嵌入式定点实现 摘要:本文介绍一阶高通滤波器的差分方程及其参数含义,并通过对比不同系数取值(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)以保证足够的响应速度。
返回列表