摘要:本文给出二阶高通数字滤波器的归一化系数(b0=1、b1=2/16、b2=4/16、a1=-3/16、a2=-6/16),从传递函数推导、截止频率与采样频率关系、极点分析三个角度说明其高通特性与稳定性。关键结论包括:该滤波器截止频率约为采样频率的十分之一(f_c ≈ f_s / 10);系数默认归一化,可直接用于 scipy.signal.lfilter,也可整体放大 16 倍转为整数,通过右移 4 位完成定点实现,实测表明定点实现精度与浮点实现一致。文章还提供基于 scipy.signal.lfilter 的完整 Python 实现示例与实测数据验证,并与 Butterworth 高通滤波器进行系数、幅频响应、极点分布和适用场景的对比分析。
关键词:二阶高通滤波器;系数归一化;Butterworth 对比;lfilter 实现;极点分析
目录
- 一、系数取值
- 二、归一化说明
- 三、系数示例
- 四、实测验证
- 五、与 Butterworth 对比
- 六、应用场景与工程案例
- 七、总结
摘要:本文给出二阶高通数字滤波器的归一化系数(b0=1、b1=2/16、b2=4/16、a1=-3/16、a2=-6/16),其截止频率约为采样频率的十分之一,两个极点均位于单位圆内,系统稳定。系数默认归一化,可直接用于 scipy.signal.lfilter,也可整体放大 16 倍转为整数,通过右移 4 位完成定点实现,实测表明定点与浮点精度一致。该滤波器以极简系数结构实现稳定高通滤波,适用于资源受限的嵌入式传感器信号调理、音频低频噪声去除等场景。
一、二阶高通滤波器的系数取值
1.1 系数来源与传递函数推导
二阶高通数字滤波器的传递函数一般形式为:
$$ H(z) = \\frac{b_0 + b_1 z^{-1} + b_2 z^{-2}}{1 + a_1 z^{-1} + a_2 z^{-2}} $$
将给定系数代入,得到:
$$ H(z) = \\frac{1 + \\frac{2}{16} z^{-1} + \\frac{4}{16} z^{-2}}{1 – \\frac{3}{16} z^{-1} – \\frac{6}{16} z^{-2}} $$
分子分母同乘 16,可化简为:
$$ H(z) = \\frac{16 + 2 z^{-1} + 4 z^{-2}}{16 – 3 z^{-1} – 6 z^{-2}} $$
从分子多项式 16 + 2z^{-1} + 4z^{-2} 可以看出,其系数均为正且呈递增趋势,这对应了高通滤波器的频率响应特征。为了更直观地理解系数来源,可以从模拟域的一阶高通滤波器出发,通过双线性变换法推导得到。
模拟一阶高通滤波器的传递函数为:
$$ H(s) = \\frac{s}{s + \\omega_c} $$
其中 ω_c 为模拟截止角频率。采用双线性变换 s = (2/T) · (1 – z^{-1}) / (1 + z^{-1}),其中 T = 1/f_s 为采样周期,f_s 为采样频率。代入并整理后,可以得到数字域的传递函数。当选取合适的截止频率与采样频率比例时,即可得到形如上述的系数组合。
1.2 极点稳定性分析
对于 IIR 滤波器,系统稳定的充要条件是所有极点均位于 z 平面单位圆内部。下面计算该二阶高通滤波器分母多项式 16 – 3z^{-1} – 6z^{-2} 的极点,并据此判断系统稳定性。
令分母多项式为零,得到特征方程:
$$ 16 – 3 z^{-1} – 6 z^{-2} = 0 $$
两边同乘 z^2,整理为关于 z 的标准二次方程:
$$ 16 z^2 – 3 z – 6 = 0 $$
利用求根公式可得两个极点:
$$ z_{1,2} = \\frac{3 \\pm \\sqrt{(-3)^2 – 4 \\times 16 \\times (-6)}}{2 \\times 16} = \\frac{3 \\pm \\sqrt{9 + 384}}{32} = \\frac{3 \\pm \\sqrt{393}}{32} $$
计算得到:
$$ z_1 = \\frac{3 + 19.824}{32} \\approx 0.7132 $$
$$ z_2 = \\frac{3 – 19.824}{32} \\approx -0.5257 $$
两个极点的模分别为 |z_1| = 0.7132 和 |z_2| = 0.5257,均小于 1,因此两个极点都位于单位圆内部,该系统是稳定的。两个极点均为实数,分别位于正实轴和负实轴上,且都落在单位圆内部。
下面给出使用 numpy.roots 计算极点的 Python 代码示例:
import numpy as np
分母多项式系数(按 z 的降幂排列):
16 – 3z^{-1} – 6z^{-2} => 16z^2 – 3z – 6
den = [16, -3, -6]
计算极点
poles = np.roots(den)
print(\”极点:\”, poles)
print(\”极点模:\”, np.abs(poles))
稳定性判断:所有极点模均小于 1 则系统稳定
if np.all(np.abs(poles) < 1):
print(\”结论:所有极点均位于单位圆内,系统稳定。\”)
else:
print(\”结论:存在单位圆上或单位圆外的极点,系统不稳定。\”)
运行上述代码,可以得到:
极点: [ 0.7132 -0.5257]
极点模: [0.7132 0.5257]
结论:所有极点均位于单位圆内,系统稳定。
该结果与理论推导一致,进一步验证了该二阶高通滤波器是稳定的。
1.3 截止频率与采样频率的关系
双线性变换中,模拟截止频率 ω_c 与数字截止频率 ω_d 的关系为:
$$ \\omega_c = \\frac{2}{T} \\tan\\left(\\frac{\\omega_d T}{2}\\right) $$
其中 ω_d = 2π f_c,f_c 为数字截止频率。代入 T = 1/f_s 可得:
$$ \\omega_c = 2 f_s \\tan\\left(\\frac{\\pi f_c}{f_s}\\right) $$
这说明数字滤波器的截止频率 f_c 与采样频率 f_s 的比值直接决定了模拟预畸变后的截止角频率,进而影响最终离散化后的系数取值。给定上述系数时,可以反推对应的截止频率与采样频率之比约为 f_c / f_s ≈ 0.1,即截止频率约为采样频率的十分之一。
1.4 为何能实现高通滤波
从频率响应的角度分析,在 z = 1(即直流分量,频率为 0)处,代入传递函数可得:
$$ H(1) = \\frac{16 + 2 + 4}{16 – 3 – 6} = \\frac{22}{7} \\approx 3.14 $$
在 z = -1(即奈奎斯特频率,f = f_s / 2)处,代入可得:
$$ H(-1) = \\frac{16 – 2 + 4}{16 + 3 – 6} = \\frac{18}{13} \\approx 1.38 $$
需要说明的是,z = 1 处增益为 3.14 是分子分母同乘 16 化简后的结果,并不代表该滤波器在直流附近具有较高的增益。高通滤波器的判定应基于完整的幅频响应曲线,而非单点取值。通过计算不同频率下的增益可以发现,该滤波器在低频段(接近直流)的增益远低于 1。例如在 10 Hz 处,该滤波器的增益约为 -25.7 dB,即幅值衰减到约 0.052,说明低频分量被显著抑制;随着频率升高,增益逐渐增大,在接近奈奎斯特频率时达到较高水平,从而实现了对低频分量的抑制和对高频分量的保留。
更严格地说,高通滤波器的关键在于分子多项式在低频处形成零点或较小增益。虽然 z = 1 处的单点增益为 3.14,但完整的幅频响应曲线表明,该滤波器在低频段增益较低,在中高频段增益较高,这正是其实现高通滤波功能的本质原因。
二阶高通滤波器的系数如下:
- $b_0 = 1$
- $b_1 = \\frac{2}{16}$
- $b_2 = \\frac{4}{16}$
- $a_1 = -\\frac{3}{16}$
- $a_2 = -\\frac{6}{16}$
这些系数定义了滤波器的传递函数,用于实现数字高通滤波功能。在实际应用中,这些系数通常会被归一化为浮点数形式,以便于计算和实现。
二、系数归一化说明
在数字滤波器设计中,归一化是指将分母系数 a 中的最高次项(通常是 a_0)设为 1。对于当前的滤波器系数,分母系数已经为:
$$ a = [1, -\\frac{3}{16}, -\\frac{6}{16}] $$
其中 a_0 = 1,因此该滤波器已经默认归一化,无需额外处理。
需要说明的是,这里的归一化包含两层含义:
- 分母首项归一化:将分母多项式最高次项系数 a_0 归一为 1,这是数字滤波器传递函数的标准表示形式,也是 scipy.signal.lfilter、scipy.signal.sosfilt 等库对系数向量的基本约定。本文系数中 a_0 = 1,已满足该要求。
- 系数幅值归一化:将分子分母各系数统一放大或缩小到便于定点实现的整数范围。本文分子系数为 b_0 = 1、b_1 = 2/16、b_2 = 4/16,分母系数为 -3/16、-6/16。由于 b_0 已为整数 1,分子无需整体缩放;分母系数均为 16 分位数,在嵌入式实现中可整体放大 16 倍转为整数,再通过右移 4 位完成除法,从而避免浮点运算。这种幅值归一化不影响滤波器的频率响应特性,因为分子分母同时缩放时传递函数保持不变。

![[C++]算法双指针 复写0-171主机测评](https://www.171host.com/wp-content/uploads/2026/09/20260910013601-6aa2098179e1b-220x150.png)

