冲激不变法

冲激不变法是利用连续时间滤波器来设计离散时间无限冲激响应（IIR）滤波器的一种方法，这种方法中对连续时间系统的冲激响应进行采样以产生离散时间系统的冲激响应。离散时间系统的频率响应就会是连续时间系统的频率响应的位移后的拷贝之和；如果连续时间系统的频带大致限制在小于采样的奈奎斯特频率的范围内，则离散时间系统的频率响应会大致与连续系统的频带相同，低于奈奎斯特频率。

## 背景

直接在离散时间域中设计 IIR 滤波器并不容易，因此实务上常采取“先设计类比原型、再映射为数位滤波器”的策略：先在连续时间域中设计一个性能良好的类比原型（例如巴特沃斯滤波器、切比雪夫滤波器或椭圆滤波器），再透过某种转换得到对应的数位滤波器。这类转换大致可分为两种思路：一种是在 s 平面与 z 平面之间直接做代数代换（例如双线性转换）；另一种则要求转换前后在时域上对应，脉冲不变法即属后者——它要求数位滤波器的脉冲响应在取样点上与类比脉冲响应一致，而非直接对转移函数做变数代换。脉冲不变法、双线性转换与匹配 z 转换法并列为三种经典的类比－数位滤波器转换技术。

## 基本原理

### 脉冲响应的取样与增益正规化

以 $T$ 为取样周期（取样频率 $f_s=1/T$）对连续时间系统的冲激响应 $h_c(t)$ 取样，并定义离散时间系统的冲激响应为

$$h[n]=Th_c(nT)\,$$

式中乘上系数 $T$ 并非取样本身的必然结果，而是一种增益正规化：对连续讯号取样会使其频谱在叠加各平移副本时整体放大 $1/T$ 倍，乘上 $T$ 恰可补偿此缩放，使数位滤波器在低频处的通带增益与类比原型一致。

### 频率响应与混叠

对上式取离散时间傅立叶变换

$$H(e^{j\omega})=\sum_{n=-\infty}^{\infty}h[n]e^{-j\omega n}=T\sum_{n=-\infty}^{\infty}h_c(nT)e^{-j\omega n},$$

并利用取样讯号频谱与原始连续频谱之间的卜瓦松求和关系，可得

$$H(e^{j\omega}) = \sum_{k=-\infty}^\infty{H_c\left(j\frac{\omega}{T} + j\frac{2{\pi}}{T}k\right)}\,$$

此式显示数位频率响应是把类比频率响应沿频率轴以 $2\pi/T$ 为周期反复平移后叠加而成。如果连续时间滤波器是大致是带限的（即当 $|\Omega| \ge \pi/T$ 时，$H_c(j\Omega) < \delta$），各平移副本之间的重叠可忽略，则每次采样的频率低于 π（即奈奎斯特频率低于 1/(2T) Hz）的离散时间系统的频率响应就会大致为连续时间系统的频率响应：

$H(e^{j\omega}) = H_c(j\omega/T)\,$ for $|\omega| \le \pi\,$

由于映射 $\Omega=\omega/T$ 为线性，脉冲不变法在不发生重叠的范围内可忠实保留类比原型的频率响应形状；但若原型在奈奎斯特频率以上仍有不可忽略的响应，平移副本便会互相叠加而造成混叠，这是本方法最主要的误差来源。

### 与双线性变换比较

注意到会出现混叠，包含有奈奎斯特频率以下与超过该频率连续时间滤波器的非零的响应混叠。双线性转换使用不同的映射方法，将连续系统能够达到无限频率的频率响应，映射到在离散时间系统中至多能达到奈奎斯特频率的范围，避免了冲激不变法线性地对频率映射产生的循环混叠，从而可以替代冲激不变法。其代价是频率轴发生非线性扭曲（frequency warping），需以频率预扭（pre-warping）补偿；脉冲不变法则保持线性的频率对应，但无法处理在奈奎斯特频率以上仍有显著响应的原型。

### 系统函数的极点映射

若连续极点位于 $s = s_k$，系统函数可以用部分分式展开写作

$$H_c(s) = \sum_{k=1}^N{\frac{A_k}{s-s_k}}\,$$

因此，使用拉普拉斯逆变换，得到冲激响应为

$$h_c(t) = \begin{cases} <pre> \sum_{k=1}^N{A_ke^{s_kt}}, & t \ge 0 \\ 0, & \mbox{otherwise} </pre> \end{cases}$$

依脉冲不变定义取样，并将指数项整理为 $e^{s_k nT}=(e^{s_k T})^n$：

$$h[n] = Th_c(nT) = T \sum_{k=1}^N{A_k\left(e^{s_kT}\right)^n u[n]}\,$$

由于 $\sum_{n\ge 0}a^n z^{-n}=1/(1-az^{-1})$，对其取 Z 变换即得离散时间系统函数

$$H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}}}\,$$

于是连续时间系统函数位于 $s=s_k$ 的每个极点，被搬移到 $z = e^{s_kT}$ 处的极点，且各项残数同步缩放 $T$ 倍。零点则不会这样简单地映射过去。

### 零极点

如果系统函数既有零点也有极点，可以用相同方式映射，但结果不再是冲激不变的结果：离散时间冲激响应不是简单地与连续时间冲激响应相等。这种方法名为匹配Z变换方法，或叫做零极点映射。对于全极点滤波器，两种方法是等价的。

### 稳定性和因果性

由于连续时间系统 s = sk 处的极点转换到离散时间系统 z = exp(skT) 处的极点， s 左半平面的极点就会映射到 z 平面的单位圆内部；所以若连续时间滤波器是因果稳定的，则离散时间滤波器也会时因果稳定的。

### 修正公式

当一个因果的连续时间冲激响应在 $t=0$ 处不连续时，上述表达式不一致。

这是因为 $h_c (0)$ 应道贡献一半的值给 $h[0]$。

修正为：

$$h[n] = T \left( h_c(nT) - \frac{1}{2} h_c(0)\delta [n] \right) \,$$

$$h[n] = T \sum_{k=1}^N{A_ke^{s_knT}} \left( u[n] - \frac{1}{2} \delta[n] \right) \,$$

对离散时间冲激响应进行Z变换得到下面的离散时间系统函数

$$H(z) = T \sum_{k=1}^N{\frac{A_k}{1-e^{s_kT}z^{-1}} - \frac{T}{2} \sum_{k=1}^N A_k}.$$

## 设计步骤

脉冲不变法的设计流程可整理如下：

- 依规格（截止频率、通带／止带衰减等）设计类比原型转移函数 $H_c(s)$。
- 选定取样周期 $T$，并将类比规格频率换算为对应的数位频率 $\omega=\Omega T$。
- 对 $H_c(s)$ 作部分分式展开，取得各残数 $A_k$ 与极点 $s_k$。
- 套用映射：残数改为 $T A_k$、极点改为 $z=e^{s_k T}$，组成 $H(z)=\sum_k \dfrac{T A_k}{1-e^{s_k T}z^{-1}}$。
- 若类比脉冲响应于 $t=0$ 不连续（即 $h_c(0)\neq 0$），可选择套用上节之修正公式。
- 通分整理为 $H(z)=B(z)/A(z)$，并验证其频率响应是否符合规格；若混叠明显，可提高取样频率（缩小 $T$）后重做。

## 设计范例

考虑类比原型

$$H_c(s)=\frac{2}{s+1}-\frac{1}{s+2}=\frac{s+3}{(s+1)(s+2)},$$

其极点为 $s_1=-1,\;s_2=-2$，残数为 $A_1=2,\;A_2=-1$，并具一零点于 $s=-3$。由部分分式可得脉冲响应

$$h_c(t)=\left(2e^{-t}-e^{-2t}\right)u(t).$$

取取样周期 $T=1$（示意值），则离散脉冲响应为 $h[n]=\left(2e^{-n}-e^{-2n}\right)u[n]$，其前几项数值为

$$h[0]=1,\quad h[1]\approx0.6004,\quad h[2]\approx0.2524,\quad h[3]\approx0.0971.$$

依设计步骤，将两项各自映射并通分。分母为

$$\left(1-e^{-1}z^{-1}\right)\left(1-e^{-2}z^{-1}\right)=1-\left(e^{-1}+e^{-2}\right)z^{-1}+e^{-3}z^{-2}=1-0.5032\,z^{-1}+0.0498\,z^{-2},$$

分子为

$$2\left(1-e^{-2}z^{-1}\right)-\left(1-e^{-1}z^{-1}\right)=1+\left(e^{-1}-2e^{-2}\right)z^{-1}=1+0.0972\,z^{-1},$$

故得未修正之数位系统函数

$$H(z)=\frac{1+0.0972\,z^{-1}}{1-0.5032\,z^{-1}+0.0498\,z^{-2}}.$$

可验证数位极点位于 $z=e^{-1}\approx0.3679$ 与 $z=e^{-2}\approx0.1353$，与“极点映射为 $e^{s_kT}$”一致。然而数位零点位于 $z\approx-0.0972$，并未落在 $z=e^{-3}\approx0.0498$，再次说明零点不满足不变性。

由于本例 $h_c(0)=2-1=1\neq 0$，属上节修正公式之适用情形。套用修正（自常数项扣除 $\tfrac{T}{2}\sum_k A_k=0.5$）后得

$$H(z)=\frac{0.5+0.3488\,z^{-1}-0.0249\,z^{-2}}{1-0.5032\,z^{-1}+0.0498\,z^{-2}},$$

此时 $h[0]$ 由 $1$ 修正为 $0.5$，恰为原值之一半，与修正公式之物理意义相符。若比较此数位滤波器与类比原型 $H_c(j\omega/T)$ 的幅度响应，可发现低频处两者形状相符，而在接近 $\omega=\pi$ 处数位响应被抬高，此即高频成分折回所造成的混叠。

## 取样周期的选择

取样周期 $T$ 是脉冲不变法中需权衡的关键参数。由于频率映射为线性的 $\Omega=\omega/T$，缩小 $T$（提高取样率）会把类比原型的频谱压往较低的正规化频率，使奈奎斯特频率以上的残余响应更小，从而抑制混叠；但过高的取样率会使极点 $e^{s_kT}$ 过于接近单位圆上的 $z=1$，可能在有限字长实作中恶化数值敏感度。实务上常选择足以使原型在奈奎斯特频率附近衰减至可忽略的取样率，并在必要时以更高取样率重新设计后再评估。与双线性转换不同，脉冲不变法不需要频率预扭，因为其频率对应本身即为线性。

## 优点与限制

### 优点

- 频率映射为线性（$\Omega=\omega/T$），在无混叠范围内可精确保留类比原型的频率响应形状与相对频率位置，不会像双线性转换产生频率扭曲。
- 在取样点上保留了类比脉冲响应的时域波形，适合对时域特性（如暂态响应）有要求的应用。
- 因果稳定的类比原型可保证得到因果稳定的数位滤波器。

### 限制

- 混叠是最根本的限制：若类比原型在奈奎斯特频率以上仍有显著响应，平移副本叠加会使数位响应失真。
- 因此本方法仅适用于本质上带限的原型，例如低通与带通滤波器；对高通与带阻滤波器则不适用，因其通带延伸至无限高频，必然发生严重混叠。
- 零点不满足不变性，无法直接由类比零点推得数位零点。
- 设计结果对取样周期 $T$ 的选择敏感，$T$ 过大会加剧混叠。

## 应用

脉冲不变法常用于由类比低通／带通原型转换出数位 IIR 滤波器，尤其是在需要保留原型时域脉冲响应特性、或希望维持线性频率对应关系的场合，例如部分音讯处理与通讯系统中对类比滤波器的数字化重现。在连续时间 Sigma–Delta 类比数位转换器的设计中，亦会利用脉冲不变的概念，将离散时间回路滤波器对应回连续时间原型。由于其先天无法处理高通与带阻原型，实务上若无此类时域需求，常改采双线性转换。

## 外部链接

- Impulse Invariant Transform at CircuitDesign.info Brief explanation, an example, and application to Continuous Time Sigma Delta ADC's.