跳到内容

课程笔记

第8章 数字滤波器结构

数字滤波器基本构件、DF-I、DF-II、级联、并联、线性相位 FIR 结构和资源估算。

第8章 数字滤波器结构

📌 考试定位:本章对应 2025 Q4 的 Direct Form II 结构图,也服务 2022 Q4(c) 和复习题中的 “fewest multipliers/adders/delayers”。核心能力是把 H(z)H(z) 或差分方程变成可实现结构,并估算资源。

0. 先用一句话抓住本章

滤波器结构就是把 H(z)H(z) 翻译成“延时器、乘法器、加法器”的计算流程;考试最常考的是:从差分方程画直接型,知道 Direct Form II 是 canonical structure,并利用 FIR 对称性减少乘法器。

题干出现这些关键词就翻本章:

  • block diagram、signal flow graph;
  • adder、multiplier、delay、z1z^{-1}
  • Direct Form I / Direct Form II;
  • canonical structure;
  • cascade / parallel realization;
  • second-order sections;
  • fewest multipliers / adders / delayers;
  • linear-phase FIR structure。

最常见错误:把 z1z^{-1} 当代数倒数而不是延时;反馈项符号画反;DF-II 结构没有共用延时链;线性相位 FIR 没有先加/减再乘共享系数。

1. 30 秒公式速查

编号公式 / 结论名称看到什么题干就用
8.1z1z^{-1} 表示单位延时delay element框图读写
8.2H(z)=k=0MbkzkH(z)=\sum_{k=0}^{M}b_kz^{-k}FIR 直接型FIR structure
8.3y[n]=k=0Mbkx[nk]y[n]=\sum_{k=0}^{M}b_kx[n-k]FIR 差分方程FIR 结构
8.4H(z)=b0++bMzM1+a1z1++aNzNH(z)=\frac{b_0+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+\cdots+a_Nz^{-N}}IIR 标准型DF-I/DF-II
8.5y[n]=k=0Mbkx[nk]k=1Naky[nk]y[n]=\sum_{k=0}^{M}b_kx[n-k]-\sum_{k=1}^{N}a_ky[n-k]IIR 差分方程反馈符号
8.6DF-I 延时数约 M+NM+NDirect Form I前馈反馈分开
8.7DF-II 延时数 max(M,N)\max(M,N)canonical structure最少延时器
8.8级联:H=iHiH=\prod_iH_icascade二阶节实现
8.9并联:H=C+iHiH=C+\sum_iH_iparallel部分分式实现
8.10对称 FIR:h[n]=h[Mn]h[n]=h[M-n]先相加再乘fewest multipliers
8.11反对称 FIR:h[n]=h[Mn]h[n]=-h[M-n]先相减再乘linear phase structure
8.12奇数长度对称 FIR 乘法器数 N/2\lceil N/2\rceil资源估算最省乘法器

2. 5 分钟直觉

2.1 框图就是逐样本算法

数字滤波器框图不是装饰图。每条线表示一个中间变量;每个 z1z^{-1} 表示“把这个变量延迟一个采样点”;每个乘法器表示乘一个常数系数;加法器就是求和。

比如

y[n]=x[n]+2x[n1]+3x[n2]y[n]=x[n]+2x[n-1]+3x[n-2]

就需要一条输入延时链,产生 x[n]x[n]x[n1]x[n-1]x[n2]x[n-2],分别乘 1,2,31,2,3 后相加。

2.2 DF-I 和 DF-II 的区别

IIR 系统有前馈分子和反馈分母。Direct Form I 把两部分分开实现:一条输入延时链处理 bkx[nk]b_kx[n-k],一条输出延时链处理 aky[nk]a_ky[n-k]

Direct Form II 把两条延时链合并成一条中间变量 w[n]w[n] 的延时链,因此延时器数量最少。它叫 canonical structure,意思是“用最少延时器实现该系统函数”。

2.3 反馈项符号为什么总写错

标准形式是

H(z)=b0+b1z1++bMzM1+a1z1++aNzN.H(z)=\frac{b_0+b_1z^{-1}+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+\cdots+a_Nz^{-N}}.

这意味着

(1+a1z1++aNzN)Y(z)=(b0++bMzM)X(z).(1+a_1z^{-1}+\cdots+a_Nz^{-N})Y(z)=(b_0+\cdots+b_Mz^{-M})X(z).

回到时域:

y[n]+a1y[n1]++aNy[nN]=k=0Mbkx[nk].y[n]+a_1y[n-1]+\cdots+a_Ny[n-N]=\sum_{k=0}^{M}b_kx[n-k].

所以移项后:

y[n]=k=0Mbkx[nk]k=1Naky[nk].y[n]=\sum_{k=0}^{M}b_kx[n-k]-\sum_{k=1}^{N}a_ky[n-k].

也就是说,结构图中的反馈乘法器通常是 ak-a_k

2.4 线性相位 FIR 为什么能省乘法器

若 FIR 系数对称:

h[n]=h[Mn],h[n]=h[M-n],

则两个对称项可以合并:

h[n]x[kn]+h[Mn]x[k(Mn)]=h[n]{x[kn]+x[kM+n]}.h[n]x[k-n]+h[M-n]x[k-(M-n)] =h[n]\{x[k-n]+x[k-M+n]\}.

原本两个乘法器,现在先把两个输入相加,再乘同一个系数,只需要一个乘法器。反对称时把加号换成减号。

3. 做题套路

套路 1:由 H(z)H(z) 写差分方程

输入: H(z)H(z)
输出: 差分方程和结构系数。
对应真题: 2025 Q4、结构题。

  1. 化成标准形式:

    H(z)=b0+b1z1++bMzM1+a1z1++aNzN.H(z)=\frac{b_0+b_1z^{-1}+\cdots+b_Mz^{-M}}{1+a_1z^{-1}+\cdots+a_Nz^{-N}}.
  2. 写:

    (1+a1z1++aNzN)Y(z)=(b0++bMzM)X(z).(1+a_1z^{-1}+\cdots+a_Nz^{-N})Y(z)=(b_0+\cdots+b_Mz^{-M})X(z).
  3. 变回时域:

    y[n]=k=0Mbkx[nk]k=1Naky[nk].y[n]=\sum_{k=0}^{M}b_kx[n-k]-\sum_{k=1}^{N}a_ky[n-k].
  4. 前馈系数是 bkb_k;反馈支路系数是 ak-a_k

套路 2:画 Direct Form II

输入: 标准形式 H(z)H(z)
输出: DF-II / canonical structure。
对应真题: 2025 Q4。

H(z)=B(z)A(z).H(z)=\frac{B(z)}{A(z)}.

引入中间变量 w[n]w[n],让

W(z)=X(z)A(z),Y(z)=B(z)W(z).W(z)=\frac{X(z)}{A(z)},\quad Y(z)=B(z)W(z).

时域:

w[n]=x[n]k=1Nakw[nk].w[n]=x[n]-\sum_{k=1}^{N}a_kw[n-k]. y[n]=k=0Mbkw[nk].y[n]=\sum_{k=0}^{M}b_kw[n-k].

画图步骤:

  1. 画一条 w[n]w[n] 的延时链,长度 max(M,N)\max(M,N)
  2. 输入 x[n]x[n] 加上反馈项 akw[nk]-a_kw[n-k],形成 w[n]w[n]
  3. w[n]w[n] 延时链抽头,乘 bkb_k,相加得到 y[n]y[n]
  4. 延时器数写 max(M,N)\max(M,N),这是 canonical 的关键。

⚠️ 注意:DF-II 的反馈来自 w[nk]w[n-k],不是直接从 y[nk]y[n-k] 抽头。这是很多图画错的地方。

套路 3:级联结构

输入: H(z)H(z) 可因式分解为多个一阶/二阶因子。
输出: cascade realization。
对应真题/复习题: IIR 结构、二阶节。

  1. 因式分解:

    H(z)=GiHi(z).H(z)=G\prod_iH_i(z).
  2. 每个 Hi(z)H_i(z) 实现成一阶或二阶小节。

  3. 前一节输出接后一节输入。

  4. 对实系数系统,复共轭极点/零点要放在同一个二阶节。

优点:高阶 IIR 用二阶节更稳,系数量化误差更可控。

套路 4:并联结构

输入: 有理函数 H(z)H(z)
输出: parallel realization。
对应真题/复习题: 部分分式结构。

  1. 做部分分式展开:

    H(z)=C+iHi(z).H(z)=C+\sum_iH_i(z).
  2. 每个 Hi(z)H_i(z) 实现成低阶滤波器。

  3. 所有支路共用输入,输出相加。

  4. 不要漏掉直接项 CC

级联是相乘,并联是相加。这是最重要的区分。

套路 5:最省资源 FIR 结构

输入: FIR 系数,通常线性相位。
输出: fewest multipliers / adders / delayers。
对应真题: 2022 Q4(c)、复习题设计小问。

  1. 判断系数是否对称或反对称。
  2. 对称:成对输入先相加;反对称:成对输入先相减。
  3. 再乘共享系数。
  4. 延时器数通常为 M=N1M=N-1
  5. 乘法器数:
    • 对称奇数长度:(N+1)/2(N+1)/2
    • 对称偶数长度:N/2N/2
    • 若乘以 1、0、-1 不计,可进一步减少。

4. 典型题精讲

例题 1:IIR 系统函数写差分方程

题目:

H(z)=1+0.2z110.7z1.H(z)=\frac{1+0.2z^{-1}}{1-0.7z^{-1}}.

写出差分方程。

解答:

(10.7z1)Y(z)=(1+0.2z1)X(z).(1-0.7z^{-1})Y(z)=(1+0.2z^{-1})X(z).

时域:

y[n]0.7y[n1]=x[n]+0.2x[n1].y[n]-0.7y[n-1]=x[n]+0.2x[n-1].

所以

y[n]=0.7y[n1]+x[n]+0.2x[n1].y[n]=0.7y[n-1]+x[n]+0.2x[n-1].

答案: 如上。

易错提醒: 因为分母是 10.7z11-0.7z^{-1},标准形式中的 a1=0.7a_1=-0.7,反馈项 a1y[n1]=0.7y[n1]-a_1y[n-1]=0.7y[n-1]

例题 2:DF-II 中间变量

题目:

H(z)=b0+b1z1+b2z21+a1z1+a2z2.H(z)=\frac{b_0+b_1z^{-1}+b_2z^{-2}}{1+a_1z^{-1}+a_2z^{-2}}.

写出 DF-II 的中间变量方程。

解答:

W(z)=X(z)1+a1z1+a2z2.W(z)=\frac{X(z)}{1+a_1z^{-1}+a_2z^{-2}}.

(1+a1z1+a2z2)W(z)=X(z).(1+a_1z^{-1}+a_2z^{-2})W(z)=X(z).

时域:

w[n]=x[n]a1w[n1]a2w[n2].w[n]=x[n]-a_1w[n-1]-a_2w[n-2].

输出:

y[n]=b0w[n]+b1w[n1]+b2w[n2].y[n]=b_0w[n]+b_1w[n-1]+b_2w[n-2].

答案: 如上。需要 2 个延时器。

例题 3:对称 FIR 省乘法器

题目:

h=[1,3,4,3,1].h=[1,3,4,3,1].

写出最省乘法器结构的输出表达式。

解答: 直接形式:

y[n]=x[n]+3x[n1]+4x[n2]+3x[n3]+x[n4].y[n]=x[n]+3x[n-1]+4x[n-2]+3x[n-3]+x[n-4].

利用对称性:

y[n]=1{x[n]+x[n4]}+3{x[n1]+x[n3]}+4x[n2].y[n]=1\{x[n]+x[n-4]\}+3\{x[n-1]+x[n-3]\}+4x[n-2].

若乘以 1 不计乘法器,则需要 2 个非平凡乘法器;若所有系数计入,则需要 3 个乘法器。

易错提醒: 先相加再乘,才能省乘法器。

例题 4:级联与并联区别

题目: H1(z)H_1(z)H2(z)H_2(z) 级联、并联时总系统函数分别是什么?

解答:

级联:输出依次通过两个系统,频域相乘:

Hcas(z)=H1(z)H2(z).H_{cas}(z)=H_1(z)H_2(z).

并联:两个系统输出相加,频域相加:

Hpar(z)=H1(z)+H2(z).H_{par}(z)=H_1(z)+H_2(z).

答案: 级联相乘,并联相加。

5. 易错点表

❌ 错误做法✅ 正确做法来源
z1z^{-1} 当成倒数z1z^{-1} 是单位延时框图题
反馈系数符号照抄分母标准分母 1+a1z11+a_1z^{-1} 对应反馈 a1-a_1DF-I/DF-II
DF-II 画两条延时链DF-II 共用一条 w[n]w[n] 延时链2025 Q4
级联结构写成相加级联是系统函数相乘结构题
并联结构漏掉常数项部分分式中的 CC 要单独直通支路并联题
线性相位 FIR 先乘再加应先加/减对称输入,再乘共享系数fewest multipliers
延时器数和乘法器数混淆延时器看阶数,乘法器看非零系数/共享系数资源估算

6. 本章 90 分检查清单

  • 能从 H(z)H(z) 写出差分方程。
  • 能判断反馈项符号。
  • 能说明 DF-I 和 DF-II 的区别。
  • 能写出 DF-II 的 w[n]w[n] 中间变量方程。
  • 能估算 DF-II 延时器数量。
  • 能区分级联和并联结构。
  • 能用部分分式解释并联结构。
  • 能利用线性相位 FIR 对称性减少乘法器。

7. 自测题与答案

题目

  1. 框图中的 z1z^{-1} 表示什么?
  2. H(z)=1+2z1+3z2H(z)=1+2z^{-1}+3z^{-2} 的差分方程是什么?
  3. H(z)=1/(1+0.5z1)H(z)=1/(1+0.5z^{-1}) 的反馈项是什么符号?
  4. DF-II 为什么比 DF-I 更 canonical?
  5. H(z)=H1(z)H2(z)H(z)=H_1(z)H_2(z) 是级联还是并联?
  6. 部分分式结构通常对应级联还是并联?
  7. 对称 FIR h=[2,5,5,2]h=[2,5,5,2] 可写成什么省乘法表达式?
  8. 若 IIR 分母阶数 3、分子阶数 2,DF-II 通常需要几个延时器?
  9. 为什么高阶 IIR 常用二阶节级联?
  10. 反对称 FIR 合并输入时用加还是减?

答案

  1. 表示单位延时,一个采样周期的存储。

y[n]=x[n]+2x[n1]+3x[n2].y[n]=x[n]+2x[n-1]+3x[n-2].
  1. 分母为 1+a1z11+a_1z^{-1}a1=0.5a_1=0.5,所以差分方程为

    y[n]=0.5y[n1]+x[n].y[n]=-0.5y[n-1]+x[n].
  2. 因为 DF-II 合并前馈和反馈延时链,使用最少延时器。

  3. 级联。

  4. 并联。

y[n]=2{x[n]+x[n3]}+5{x[n1]+x[n2]}.y[n]=2\{x[n]+x[n-3]\}+5\{x[n-1]+x[n-2]\}.
  1. max(3,2)=3\max(3,2)=3 个延时器。

  2. 二阶节能把复共轭极点/零点成对处理,数值稳定性和量化鲁棒性通常比高阶直接型好。

  3. 用减:成对输入先相减,再乘共享系数。

8. 学习路线

  1. 先熟悉基本构件:加法器、乘法器、延时器。
  2. 练 FIR 直接型,从 H(z)H(z) 写差分方程。
  3. 练 IIR 标准形式,特别是反馈符号。
  4. 学 DF-II 中间变量 w[n]w[n],这是 2025 结构题重点。
  5. 学级联/并联,区分相乘和相加。
  6. 最后练线性相位 FIR 的最省资源结构。

9. 和前后章节的关系

  • 第6章 提供 H(z)H(z)、差分方程和零极点,本章把它们变成实现结构。
  • 第7章 的线性相位 FIR 对称性在本章用于减少乘法器。
  • 第9章第10章 设计出滤波器后,最终都要回到本章选择结构实现。