想象你是一家中餐厅的主厨,有一道祖传的“模拟红烧肉”菜谱——用砂锅慢炖、明火收汁,风味绝佳。但餐厅要开连锁店,后厨换成了电磁炉和智能压力锅(数字厨房),你必须把老菜谱改写成数字设备能执行的精确步骤。改写得好,味道几乎不变;改写得不好,要么肉柴了(频率失真),要么汤汁溢锅(稳定性崩溃)。这就是IIR滤波器从模拟到数字的旅程:把一套成熟的模拟滤波器设计方法,翻译成数字信号处理器(DSP)能运行的差分方程。 IIR滤波器(无限脉冲响应滤波器)是数字信号处理中最实用的“菜谱翻译”成果。它因为有反馈回路,能用很低的“阶数”(配料种类少)实现很陡的滤波效果,计算效率极高。本文将从模拟滤波器经典原型(巴特沃斯、切比雪夫)出发,带你掌握两条核心翻译路径——脉冲响应不变法和双线性变换法,理解频率混叠与预扭曲这两个“翻译陷阱”,最终看清IIR的优缺点与工程选型智慧。

岗位关联

学完本节,你将能读懂工程中IIR滤波器的设计代码与参数含义,知道何时选巴特沃斯、何时用双线性变换、如何规避频率混叠——这是音频处理、生物医学信号滤波、通信系统等岗位的必备基本功。

目录
  1. 可视化演示
  2. IIR基础概念
  3. 巴特沃斯原型
  4. 切比雪夫原型
  5. 脉冲响应不变法
  6. 双线性变换法
  7. 混叠预扭曲
  8. IIR优缺点
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示IIR滤波器的核心机制,通过开始/执行/监控/完成四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

IIR滤波器:IIR滤 IIR滤波器的基本结构与反馈特 模拟滤波器原型:Butterw 核心机制可视化 IIR滤波器整体架构与关键组件

IIR基础概念

主厨拿到老菜谱时,第一件事是分清“一次性动作”和“循环动作”。切葱花是一次性的(前馈),但“舀一勺汤汁回浇到肉上”是循环的(反馈)——每一勺都改变了肉的状态,而肉的状态又影响下一勺。IIR滤波器的灵魂正是这个“回浇”动作:输出信号不仅依赖当前输入,还依赖过去的输出,形成一条反馈回路。

在数字信号处理中,反馈回路用差分方程表达:当前输出由两部分组成——输入信号的加权和(前馈部分),以及过去输出的加权和(反馈部分)。因为输出会循环影响自身,即使输入信号变成零,输出也不会立刻消失,而是像余音绕梁一般持续衰减,这就是“无限脉冲响应”(IIR)名称的由来。

反馈带来的最大红利是效率:一个二阶IIR滤波器就能达到需要几十阶FIR滤波器才能实现的陡峭衰减。这就像红烧肉通过“回浇”让每一块肉都均匀入味,不需要添加几十种香料(高阶FIR)就能达到浓郁口感。

巴特沃斯原型

设计数字IIR滤波器,就像翻译菜谱前先选定“底味风格”。巴特沃斯(Butterworth)滤波器是模拟滤波器中最经典的“底味”——它的幅度响应在通带内最大平坦,没有任何波纹,像一锅文火慢炖的高汤,味道均匀温和,绝不忽咸忽淡。

巴特沃斯滤波器的幅度平方函数是:

巴特沃斯的缺点是过渡带较宽:从通带到阻带需要一段较长的“渐凉区”。如果你需要非常陡峭的截止边缘,巴特沃斯会让你不得不增加阶数(多加香料),而切比雪夫提供了另一种思路。

∣Ha(jΩ)∣2=11+(ΩΩc)2N\displaystyle |H_a(j\Omega)|^2 = \frac{1}{1 + \left(\frac{\Omega}{\Omega_c}\right)^{2N}}
这个公式描述的是:当频率 $\Omega$ 远小于截止频率 $\Omega_c$ 时,增益约为 1(高汤原味);当频率远超 $\Omega_c$ 时,增益以每十倍频程 $20N$ dB 的速度衰减(味道迅速变淡)。$N$ 是滤波器阶数,相当于“炖煮的层数”。
  1. 幅度平方函数$|H_a(j\Omega)|^2$ 表示滤波器在不同频率下的功率增益,相当于“这道菜在不同火候下的浓郁程度”。
    ∣Ha(jΩ)∣2=11+(ΩΩc)2N|H_a(j\Omega)|^2 = \frac{1}{1 + \left(\frac{\Omega}{\Omega_c}\right)^{2N}}
  2. 归一化频率$\frac{\Omega}{\Omega_c}$ 把当前频率与截止频率的比值算出来,相当于“当前火候与标准火候的比值”。
    (ΩΩc)2N\left(\frac{\Omega}{\Omega_c}\right)^{2N}
  3. 分母中的 1这个“1“保证当 $\Omega = 0$ 时增益为 1,即直流信号完整通过,相当于”不调味时保留食材本味”。
    1+(ΩΩc)2N1 + \left(\frac{\Omega}{\Omega_c}\right)^{2N}
  4. 2N 次幂阶数 $N$ 越大,衰减越快,过渡带越窄,相当于“炖煮层数越多,火候控制越精准”。
    (ΩΩc)2N,N=1,2,3,…\left(\frac{\Omega}{\Omega_c}\right)^{2N}, \quad N = 1, 2, 3, \dots

切比雪夫原型

如果说巴特沃斯是“温和均匀”的高汤,切比雪夫(Chebyshev)滤波器就是“允许一点点味精结晶”的快炒——它在通带内允许等幅波纹(ripple),换来更陡峭的过渡带。这就像做菜时允许表面稍微有点焦斑,但换来外酥里嫩的口感层次。

切比雪夫I型滤波器的幅度平方函数是:

在选择原型时,记住:允许少量波纹,就能用同样的“香料量”(阶数)获得更陡的过滤边界。这在资源受限的嵌入式系统里特别有价值。

∣Ha(jΩ)∣2=11+ε2CN2(ΩΩc)\displaystyle |H_a(j\Omega)|^2 = \frac{1}{1 + \varepsilon^2 C_N^2\left(\frac{\Omega}{\Omega_c}\right)}
其中 $C_N(x)$ 是切比雪夫多项式,$\varepsilon$ 控制波纹幅度。这个公式说明:通带内增益在 $1$ 和 $1/\sqrt{1+\varepsilon^2}$ 之间等幅波动,过渡带则比同阶巴特沃斯更陡。
  1. 波纹系数$\varepsilon^2$ 决定通带内波纹大小,相当于“你允许的调味波动幅度”。
    ε2=10R/10−1\varepsilon^2 = 10^{R/10} - 1
  2. 切比雪夫多项式$C_N(x)$ 是一个在 $[-1,1]$ 区间内等幅振荡的多项式,相当于“均匀分布在锅底的香料颗粒”。
    CN(x)=cos⁡(Narccos⁡x),∣x∣≤1C_N(x) = \cos(N \arccos x), \quad |x| \le 1
  3. 分母结构当 $C_N$ 在 $[-1,1]$ 间振荡时,增益在 $1$ 附近波动;当 $\Omega > \Omega_c$ 时,$C_N$ 迅速增长,增益急剧下降。
    1+ε2CN2(ΩΩc)1 + \varepsilon^2 C_N^2\left(\frac{\Omega}{\Omega_c}\right)
  4. 波纹与陡度的权衡$\varepsilon$ 越大,波纹越大,但过渡带越窄,相当于“多放味精,味道更冲,但边界更清晰”。

脉冲响应不变法

现在进入核心翻译环节。脉冲响应不变法(Impulse Invariance Method)是最直观的翻译策略:既然数字滤波器要处理离散信号,那就直接把模拟滤波器的“脉冲响应”逐点采样,当作数字滤波器的脉冲响应,就像把整道菜按时间步骤逐帧录下来,在数字厨房里原样回放。

具体做法是:先得到模拟滤波器的传递函数 $H_a(s)$,将其做拉普拉斯反变换得到脉冲响应 $h_a(t)$,然后以采样周期 $T$ 对 $h_a(t)$ 采样得到 $h[n] = h_a(nT)$,最后对 $h[n]$ 做Z变换得到数字滤波器传递函数 $H(z)$。

从 $s$ 平面到 $z$ 平面的映射关系是:

因此,脉冲响应不变法只适用于带限的模拟滤波器(如低通或带通),不适合高通和带阻滤波器——高通有无限的高频成分,混叠会严重污染低频区。

z=esT\displaystyle z = e^{sT}
这个公式把模拟域的 $s$ 映射到数字域的 $z$:模拟频率 $\Omega$ 对应数字频率 $\omega = \Omega T$。映射是一对多的——模拟频率每隔 $2\pi/T$ 就会映射到同一个数字频率上,导致高频成分“折叠”进低频区,这就是频率混叠。
  1. 采样脉冲响应$h[n] = h_a(nT)$,把连续信号按时间间隔 $T$ 取值,相当于“每隔一秒钟舀一勺汤,记录味道变化”。
    h[n]=ha(nT),n=0,1,2,…h[n] = h_a(nT), \quad n = 0, 1, 2, \dots
  2. s到z映射$z = e^{sT}$,其中 $s = \sigma + j\Omega$。当 $\sigma = 0$ 时,$z = e^{j\Omega T}$ 落在单位圆上。
    z=esT=eσTejΩTz = e^{sT} = e^{\sigma T} e^{j\Omega T}
  3. 数字频率与模拟频率$\omega = \Omega T$,把模拟角频率(rad/s)转换成数字角频率(rad/样本)。
    ω=ΩT\omega = \Omega T
  4. 混叠的本质因为 $e^{j(\Omega + 2\pi/T)T} = e^{j\Omega T}$,模拟频率 $\Omega$ 和 $\Omega + 2\pi/T$ 映射到同一个 $z$,高频信息被“折叠”到了低频。
    ej(Ω+2πk/T)T=ejΩT,k=1,2,3,…e^{j(\Omega + 2\pi k/T)T} = e^{j\Omega T}, \quad k = 1, 2, 3, \dots

双线性变换法

既然脉冲响应不变法有混叠这个“翻译事故”,双线性变换法提供了一种更稳妥的翻译思路:不直接采样脉冲响应,而是把整个 $s$ 平面“压缩”映射到 $z$ 平面的单位圆内,从源头杜绝混叠。

双线性变换的映射关系是:

双线性变换法是目前最常用的IIR设计方法,因为它无混叠且稳定。代价是频率失真(尤其在接近 $\pi$ 的高频区),但预扭曲补偿后,关键频率点能做到精确对齐。

s=2T⋅1−z−11+z−1\displaystyle s = \frac{2}{T} \cdot \frac{1 - z^{-1}}{1 + z^{-1}}
这个公式把 $s$ 平面的整个左半平面映射到 $z$ 平面的单位圆内,模拟频率 $\Omega$ 与数字频率 $\omega$ 之间满足 $\Omega = \frac{2}{T}\tan\left(\frac{\omega}{2}\right)$。由于映射是“压缩”的,高频部分被非线性挤压,不会折叠混叠。
  1. 变换公式代入 $z = e^{j\omega}$,得到 $s = j\frac{2}{T}\tan\left(\frac{\omega}{2}\right)$,即模拟频率 $\Omega$ 与数字频率 $\omega$ 的关系。
    s=2T⋅1−e−jω1+e−jω=j2Ttan⁡(ω2)s = \frac{2}{T} \cdot \frac{1 - e^{-j\omega}}{1 + e^{-j\omega}} = j\frac{2}{T}\tan\left(\frac{\omega}{2}\right)
  2. 频率压缩$\Omega = \frac{2}{T}\tan\left(\frac{\omega}{2}\right)$,$\tan$ 函数把 $\omega \in [0, \pi]$ 映射到 $\Omega \in [0, \infty)$,把无限频带压缩进有限范围。
    Ω=2Ttan⁡(ω2)\Omega = \frac{2}{T}\tan\left(\frac{\omega}{2}\right)
  3. 预扭曲(pre-warping)因为映射非线性,设计截止频率 $\omega_c$ 时,要先反算对应的模拟频率 $\Omega_c = \frac{2}{T}\tan\left(\frac{\omega_c}{2}\right)$,再用这个 $\Omega_c$ 去设计模拟滤波器。
    Ωc=2Ttan⁡(ωc2)\Omega_c = \frac{2}{T}\tan\left(\frac{\omega_c}{2}\right)
  4. 稳定性保持$s$ 左半平面映射到 $z$ 单位圆内部,稳定的模拟滤波器经变换后仍是稳定的数字滤波器,相当于“食材的保质期在翻译后仍然有效”。

混叠预扭曲

翻译菜谱时,最大的两个陷阱就是混叠(aliasing)和频率失真(frequency warping)。它们就像“食材串味”和“火候误导”——你以为是糖,结果是盐;你以为电磁炉 180℃ 等于明火 180℃,实际差很多。

脉冲响应不变法遭遇的是混叠:模拟滤波器的高频响应在采样后“折叠”进低频区,污染通带。解决方法是让模拟滤波器在采样频率一半(奈奎斯特频率)以上衰减到足够小,这就是所谓的“带限”要求。巴特沃斯和切比雪夫低通滤波器在阻带是衰减的,只要阶数足够高、过渡带足够窄,混叠可以接受。

双线性变换法则没有混叠,但要面对频率失真:由于 $\Omega = \frac{2}{T}\tan\left(\frac{\omega}{2}\right)$ 的非线性,数字滤波器在 $\omega$ 处的响应实际上对应模拟滤波器在 $\Omega$ 处的响应,两者关系被扭曲。比如你设计一个截止频率 $\omega_c = \pi/2$ 的数字低通滤波器,直接代入模拟原型时需要用预扭曲后的 $\Omega_c$,否则实际截止频率会偏移。

设计流程总结为三步:首先根据数字指标($\omega_p, \omega_s$)确定预扭曲后的模拟指标($\Omega_p = \frac{2}{T}\tan\frac{\omega_p}{2}$);然后设计模拟原型(巴特沃斯或切比雪夫);最后代入双线性变换得到数字滤波器 $H(z)$。这套流程就像“先把菜谱中的温度换算成电磁炉的档位,再按新档位烹饪,最后微调时间”。

IIR优缺点

回到主厨视角:IIR滤波器这套“翻译菜谱”到底值不值得用?答案取决于你开的是哪种餐厅。IIR最大的优点是效率:同等的滤波陡度下,IIR的阶数通常比FIR低 5~10 倍,计算量小、延迟低、省内存,非常适合实时音频处理和低功耗嵌入式设备。在音频均衡器(EQ)中,一个十段图示均衡器如果用FIR实现需要上千个抽头,而IIR只需几十个二阶节即可。

IIR的缺点也很鲜明:相位非线性。IIR的相位响应是频率的非线性函数,信号通过后波形会失真——对听觉影响不大(人耳对相位不敏感),但对心电图、图像处理这类需要保形的应用就是灾难。此外,稳定性敏感:因为存在反馈回路,系数量化误差可能导致极点移出单位圆,滤波器震荡发散。这就像把“回浇”的力道算错一点,汤汁就可能溢出来。

工程中的选择智慧是:如果资源紧张、对相位不敏感(音频、语音、振动控制),优先IIR;如果必须线性相位、应对复杂信号(通信调制解调、医学信号分析),选FIR。有些系统采用“IIR滤波 + 后级相位校正”的组合方案,就像红烧肉配一碗米饭——用IIR搞定陡度,用FIR校正相位,各取所长。

AI 应用场景

音频均衡器设计

阶段:信号预处理与特征增强

解决的问题:在语音识别和音乐推荐系统中,原始音频常受环境噪声、麦克风频响不平坦的影响。传统做法是手动调参的模拟滤波器,调试周期长、且难以适应不同设备。IIR滤波器配合神经网络自动调参,可用极低算力完成频谱整形。

具体案例:某语音助手团队需要对麦克风采集的音频做高通滤波(去除 50Hz 以下的风噪和直流偏置)和 3 段EQ调整。他们用双线性变换法将模拟巴特沃斯高通转为数字IIR,再用梯度下降自动微调截止频率,在树莓派上达到实时处理。

生物医学信号滤波

阶段:数据清洗与预处理

解决的问题:心电图(ECG)信号常混有 50Hz 工频干扰和肌电噪声,但在滤波时必须尽量保留波形形态。IIR陷波器(notch filter)用双线性变换法设计,能以极少计算量精准抑制特定频率。

具体案例:某医疗AI公司设计了一款便携心电贴片,MCU 主频仅 80MHz。工程师用双线性变换设计了一个二阶IIR陷波器(中心频率 50Hz,品质因数 Q=30)和一个四阶巴特沃斯低通(截止 100Hz),总代码量不到 200 行,实现实时 ECG 去噪。

通信系统抗干扰

阶段:物理层信号处理

解决的问题:无线通信接收机中,镜像频率干扰和带外噪声需要被快速滤除,且对群延迟有一定容忍。IIR滤波器以低阶数实现窄带带通,节省宝贵的FPGA乘法器资源。

具体案例:某 5G 小基站项目中,工程师用切比雪夫IIR带通滤波器(双线性变换法,12阶)替代了原来 64 阶 FIR,FPGA资源占用下降 60%,功耗降低 1.2W,满足了散热约束。

Python 演示

python43 行
# 用双线性变换法设计IIR低通滤波器,对比不同阶数巴特沃斯和切比雪夫import numpy as npfrom scipy.signal import butter, cheby1, bilinear, freqzimport matplotlib.pyplot as plt # 数字滤波器指标fs = 1000.0         # 采样率 Hzfc = 100.0          # 截止频率 Hzwc = 2 * np.pi * fc / fs   # 数字截止频率 rad/sample# 预扭曲:计算双线性变换对应的模拟原型截止频率T = 2.0             # 取 T=2 归一化Omega_c = (2 / T) * np.tan(wc / 2)   # 预扭曲频率 def design_butter(N):    # 设计模拟巴特沃斯原型(原型截止频率预扭曲后),再经双线性变换    b_a, a_a = butter(N, Omega_c, analog=True)    b_d, a_d = bilinear(b_a, a_a, fs=2 / T)    return b_d, a_d def design_cheby(N):    # 设计模拟切比雪夫I型原型(通带波纹 1dB),再经双线性变换    b_a, a_a = cheby1(N, 1.0, Omega_c, analog=True)    b_d, a_d = bilinear(b_a, a_a, fs=2 / T)    return b_d, a_d plt.figure(figsize=(10, 6))for N in [2, 4]:    b_but, a_but = design_butter(N)    w, h_but = freqz(b_but, a_but, worN=512, fs=fs)    plt.plot(w, 20 * np.log10(abs(h_but) + 1e-12),             label='Butter N={}'.format(N)) for N in [2, 4]:    b_che, a_che = design_cheby(N)    w, h_che = freqz(b_che, a_che, worN=512, fs=fs)    plt.plot(w, 20 * np.log10(abs(h_che) + 1e-12),             '--', label='Cheby1 N={} (1dB ripple)'.format(N)) plt.axvline(fc, color='#F43F5E', ls=':', label='设计截止 100Hz')plt.xlabel('频率 (Hz)'); plt.ylabel('增益 (dB)')plt.title('IIR低通:双线性变换 + 预扭曲设计')plt.legend(); plt.grid(True); plt.tight_layout()plt.show()
目的:演示教科书中的“预扭曲—模拟设计—双线性变换”三步流程,直观对比巴特沃斯与切比雪夫的幅频特性差异。
  1. Omega_c = (2 / T) * np.tan(wc / 2)预扭曲公式:把数字截止频率反算成模拟原型的截止频率,这是双线性变换法正确工作的关键。
  2. butter(N, Omega_c, analog=True)设计模拟巴特沃斯原型,analog=True 表示返回模拟传递函数系数。
  3. cheby1(N, 1.0, Omega_c, analog=True)设计模拟切比雪夫I型,中间的 1.0 是通带最大波纹(单位 dB)。
  4. bilinear(b_a, a_a, fs=2 / T)核心双线性变换,将模拟传递函数映射为数字传递函数,fs=2/T 对应变换公式的系数。
  5. freqz(b_d, a_d, worN=512, fs=fs)计算数字滤波器的幅频响应,fs=fs 让横轴显示为物理频率(Hz)。
  6. plt.plot(... 20*np.log10(abs(h)+1e-12))用 dB 绘制增益,+1e-12 防止对数取零值。

常见误区

误区既然双线性变换法无混叠又能保稳定,为什么不所有场景都用它?我认为脉冲响应不变法就是过时的老方法,没必要学。

正解双线性变换虽然无混叠,但它的频率映射是非线性的,会扭曲滤波器在数字频域中的形状。对于线性相位要求极高的场景(如某些通信均衡器),脉冲响应不变法能保持模拟滤波器的时域特性(脉冲响应形状),这是双线性变换做不到的。两者不是替代关系,而是分别保“频域形状”和“时域形状”。

为何常见:初学者先学了双线性变换的无混叠优势,容易忽略它带来的频率失真;而脉冲响应不变法的“采样”直觉简单,但混叠问题先入为主让人误以为它一无是处。

误区IIR最大的优点就是效率高,那我做滤波器直接选二阶不就完了?反正反馈能让它很陡。

正解阶数过低会导致滤波器无法满足阻带衰减要求。比如一个二阶巴特沃斯低通只能提供 12dB/oct 的衰减,若需要 60dB 的阻带抑制,必须用到五六阶。降低阶数的同时必须确认指标(通带波纹、阻带衰减、过渡带宽度)是否仍满足。

为何常见:把“效率高”误解为“随便用低阶”,忽略了滤波器设计本质上是指标驱动的权衡过程。

误区我直接用双线性变换,把模拟滤波器的截止频率设为数字滤波器的截止频率,不预扭曲差别也不大吧?

正解当截止频率远低于奈奎斯特频率时(如 $\omega_c < 0.1\pi$),$\tan(\omega/2) \approx \omega/2$,不预扭曲确实误差很小。但当截止频率接近 $\pi/2$ 或更高时,频率失真显著,实际截止点可能偏移 20%~30%,让滤波器无法满足指标。

为何常见:初学者设计低频率滤波器时发现不预扭曲也能用,于是形成“预扭曲无所谓”的经验错觉。

误区IIR滤波器因为有反馈回路,我感觉它天生就不稳定,随时可能发散。

正解反馈本身不等于不稳定。设计得当的IIR滤波器,其极点全部位于z平面单位圆内部时是严格稳定的。不稳定通常来自设计失误(如把模拟滤波器极点映射到单位圆上)或系数量化精度不足(低bit定点实现时极点偏移)。双线性变换法恰好能保证稳定的模拟滤波器映射后仍然稳定。

为何常见:混淆了“存在反馈”与“反馈增益超过临界值”两种状态,把稳定性设计问题误当成原理性缺陷。

面试题

Q1. IIR滤波器名称中的"IIR"是指什么?

单选题 · easy

  • A.无限脉冲响应(Infinite Impulse Response)← 正确答案
  • B.有限脉冲响应(Finite Impulse Response)
  • C.交织脉冲响应(Interleaved Impulse Response)
  • D.反相脉冲响应(Inverse Impulse Response)

答案:A。IIR 是 Infinite Impulse Response 的缩写,核心特征是滤波器输出依赖过去的输出(反馈),因此脉冲响应在理论上无限延续。B 选项是 FIR(Finite Impulse Response),C 和 D 是杜撰的干扰项。

Q2. IIR滤波器相比FIR最核心的优势是什么?

单选题 · easy

  • A.相位响应一定是线性的
  • B.相同陡度下阶数更低、计算量更小← 正确答案
  • C.永远不会不稳定
  • D.不需要采样率即可设计

答案:B。IIR 由于存在反馈回路,用较少阶数即可实现陡峭的过渡带,计算效率高。A 错误,IIR 相位通常是非线性的;C 错误,IIR 存在稳定性问题;D 错误,任何数字滤波器设计都依赖采样率。

Q3. 巴特沃斯滤波器最显著的特点是?

单选题 · easy

  • A.通带内最大平坦,无波纹← 正确答案
  • B.通带内等波纹,过渡带陡
  • C.相位响应严格线性
  • D.只能用于高通滤波器

答案:A。巴特沃斯滤波器的幅度响应在通带内最大平坦,没有任何波纹,代价是过渡带相对较宽。B 描述的是切比雪夫;C 是 FIR 的特性;D 完全错误,巴特沃斯可用于低通、高通、带通等各类滤波器。

Q4. 脉冲响应不变法产生频率混叠的根本原因是?

单选题 · mid

  • A.模拟滤波器阶数太低
  • B.采样导致频谱周期延拓且周期性频谱可能重叠← 正确答案
  • C.数字滤波器采样率设置过高
  • D.反馈回路增益过大

答案:B。脉冲响应不变法通过对模拟脉冲响应采样得到数字滤波器,采样在频域造成频谱的周期延拓。当模拟滤波器在高频处衰减不足时,相邻周期的频谱重叠就产生混叠。A 和 C 是间接因素而非根本原因,D 与混叠无关。

Q5. 双线性变换法中,模拟频率 Ω 与数字频率 ω 的关系是?

单选题 · mid

  • A.Ω = ω / T(线性关系)
  • B.Ω = (2/T)·tan(ω/2)(非线性关系)← 正确答案
  • C.Ω = (2/T)·tan(Ω/2)(自递归)
  • D.Ω = ω·T(乘法关系)

答案:B。双线性变换的映射为 Ω = (2/T)tan(ω/2),这是非线性关系,将整个模拟频率区间压缩到数字频率 [0, π] 区间。正因为非线性,才需要预扭曲来补偿截止频率偏移。B 是唯一正确的数学表达式。

Q6. 预扭曲(pre-warping)的核心目的是什么?

单选题 · mid

  • A.提高滤波器阶数稳定性
  • B.补偿双线性变换带来的频率非线性失真← 正确答案
  • C.消除所有的量化噪声
  • D.让滤波器相位变线性

答案:B。双线性变换的 tan 映射会把数字频率扭曲,导致设计截止点偏移。预扭曲先根据公式 Ωc = (2/T)tan(ωc/2) 反算模拟截止频率,再用这个值设计模拟原型,从而让数字滤波器在预期频率点准确截止。A、C、D 都与预扭曲无关。

Q7. 关于IIR滤波器,下列说法正确的有?

多选题 · mid

  • A.输出信号依赖于过去的输出(反馈)← 正确答案
  • B.相同阶数下通常比FIR过渡带更陡← 正确答案
  • C.相位响应一定是非线性的
  • D.只要设计正确,可以做到稳定← 正确答案

答案:ABD。A 是 IIR 的“无限”来源,正确。B 是反馈带来的效率红利,正确。C 错误——大多数 IIR 相位非线性,但并非绝对,可以特殊设计实现近似线性相位;D 正确,极点位于单位圆内即可稳定。因此正确选项是 0、1、3。

Q8. 下列关于双线性变换法的说法,正确的有?

多选题 · mid

  • A.不存在频率混叠问题← 正确答案
  • B.频率映射是非线性的,需要预扭曲← 正确答案
  • C.模拟滤波器的稳定区域被映射到z平面单位圆外部
  • D.特别适合设计高通和带阻滤波器← 正确答案

答案:ABD。双线性变换通过把无限频率轴压缩到有限区间,从根本上避免混叠(A 正确)。这种压缩是非线性的 tan 映射,需要预扭曲(B 正确)。稳定的模拟滤波器左半平面映射到单位圆内部(C 错误)。由于无混叠,双线性变换适用于包括高通、带阻在内的所有滤波器(D 正确)。因此选 0、1、3。

Q9. 某工程师用双线性变换法设计数字低通滤波器,设 T=2,数字截止频率 ωc=π/2。则预扭曲后的模拟截止频率 Ωc 为?

单选题 · hard

  • A.1.0 rad/s
  • B.2.0 rad/s← 正确答案
  • C.0.5 rad/s
  • D.π/2 rad/s

答案:B。按预扭曲公式 Ωc = (2/T)tan(ωc/2) = (2/2)·tan(π/4) = 1×1 = 2.0 rad/s。注意 T=2 恰好把系数化为 1,但 tan(π/4)=1 乘以 2 得 2。BCD 都不符合计算,因此答案选 B。

Q10. 设计一个必须同时满足“无混叠、稳定、给定频率点截止精确”的IIR滤波器,正确流程包括?

多选题 · hard

  • A.对数字指标做预扭曲,设 Ωc=(2/T)tan(ωc/2)← 正确答案
  • B.用预扭曲后的指标设计模拟原型(巴特沃斯/切比雪夫)← 正确答案
  • C.对模拟原型做脉冲响应不变法采样
  • D.代入双线性变换公式 s=(2/T)(1-z⁻¹)/(1+z⁻¹) 得H(z)← 正确答案

答案:ABD。双线性变换法的标准三步是:预扭曲(A)、设计模拟原型(B)、代入双线性变换(D)。C 错误,脉冲响应不变法会产生混叠,与此处“无混叠”要求矛盾。因此正确选项是 0、1、3。