26、离散时间系统实现与滤波器设计全解析

离散时间系统实现与滤波器设计全解析

离散时间系统实现

在离散时间系统的实现中,极点与零点的配对是一项关键操作。其通用策略是先找出最接近单位圆的两个极点,例如在某些情况下为 $z = 0.9e^{\pm j\pi/6}$,然后将它们与最接近这些极点的两个零点配对,这里是单位圆上的 $z = e^{\pm j\pi/6}$,这样就得到了第一个二阶环节。

对于剩余的极点,接着找出最接近单位圆的一对,可能是 $z = 0.8e^{j\pi/4}$ 或者 $z = 0.8e^{j3\pi/4}$,我们可以任意选择其中一组,比如选择前者,再将其与 $z = j$ 处的零点配对,得到第二个二阶环节。最后,完成最后一个环节。整个级联过程是按逆序进行的,即先 $H_3(z)$,接着 $H_2(z)$,最后是 $H_1(z)$。

此外,还给出了一些补充问题,涵盖了有限长单位冲激响应(FIR)系统和无限长单位冲激响应(IIR)系统的不同方面:
1. FIR 系统相关问题
- 求特定网络的单位样本响应和频率响应。
- 确定实现线性相位滤波器所需的最小乘法、加法和延迟次数,例如对于 $h(n) = 0$($n < 0$ 且 $n \geq 63$)的情况。
- 计算使用直接形式结构和频率采样结构实现特定滤波器所需的乘法、加法和延迟次数。
2. IIR 系统相关问题
- 求给定网络的系统函数,其中 $az^{-1}$ 表示单位延迟并乘以系数 $a$。
- 求特定网络的单位样本响应。
- 找出使二阶全极点滤波器在 $\omega = 0$ 处具有单位增益的常数 $A$,并设计仅需两次乘法的结构。
- 确定特定滤波器结构对应的系统函数。
- 求由差分方程描述的系统的转置直接形式 II 实现。
3. 格型滤波器相关问题
- 求具有特定反射系数的 FIR 滤波器的频率响应。
- 绘制全通滤波器的格型滤波器实现。
- 判断因果滤波器的稳定性。
- 根据给定反射系数求滤波器的系统函数。
- 分析 FIR 格型滤波器最后反射系数为单位幅度时系统函数的一般特性。
- 求特定格型滤波器的系统函数。
4. 有限字长效应相关问题
- 确定二进制数在不同补码表示法下代表的分数。
- 计算输入白噪声时线性移不变滤波器输出噪声的方差。
- 分析级联滤波器顺序反转时舍入噪声方差的变化。
- 计算不同实现形式下线性移不变系统输出的舍入噪声方差。
- 计算 FIR 滤波器在 16 位定点处理器上实现时输出的舍入噪声方差。
- 计算二阶系统在 16 位定点算术下实现时滤波器输出的量化噪声功率。
- 确定系统极点与零点的最佳配对方式和二阶环节的最佳排序,以最小化舍入噪声的影响。

部分补充问题的答案如下:
|问题编号|答案|
| ---- | ---- |
|8.44|63 次延迟,63 次加法,32 次乘法|
|8.45 (a)|33 次乘法,63 次加法,63 次延迟|
|8.45 (b)|9 次乘法,10 次加法,69 次延迟|
|8.49|$A = 1 + a_1 + a_2$|
|8.54|滤波器不稳定,因为 $r_3 = 1.2$|
|8.55|$G(z) = H(z^2)$|
|8.56|系统函数具有广义线性相位,$H(z) = \pm z^{-P}H(z^{-1})$|
|8.58 (a)|6|
|8.58 (b)|$\frac{1}{2}$|
|8.60|若级联中最接近单位圆的极点在第二个滤波器中,输出噪声方差会更大,即级联顺序反转时输出噪声方差更大|
|8.61 (a)|$\sigma_{o}^{2} = 2.7\sigma_{e}^{2}$|
|8.61 (b)|$\sigma_{o}^{2} = 2.2\sigma_{e}^{2}$|
|8.62|输出噪声方差为 $\sigma_{o}^{2} = \frac{1}{12}2^{-2B} = 12^{-10}$|
|8.63|$\sigma_{o}^{2} = 0.2077\sigma_{e}^{2}$,其中 $\sigma_{e}^{2} = \frac{1}{12}2^{-30}$|
|8.64|$H_1(z) = \frac{1 + 0.9z^{-2}}{1 - 1.4\cos(0.25\pi)z^{-1} + 0.49z^{-2}}$,$H_2(z) = \frac{1 - 2.4\cos(0.75\pi)z^{-1} + 1.44z^{-2}}{1 - 1.8\cos(0.9\pi)z^{-1} + 0.81z^{-2}}$|

滤波器设计

滤波器设计是一个系统的过程,主要包括以下几个关键步骤:
1. 明确滤波器规格 :这是设计的起点,规格可能涉及频率响应的幅度和/或相位约束、滤波器的单位样本响应或阶跃响应约束、滤波器类型(如 FIR 或 IIR)以及滤波器阶数等。例如,设计低通滤波器时,理想的低通滤波器具有线性相位和截止频率 $\omega_c$,其频率响应和单位样本响应是已知的,但由于该滤波器不可实现(非因果且不稳定),需要放宽理想约束,允许一定的偏差。低通滤波器的规格通常包括通带截止频率 $\omega_p$、阻带截止频率 $\omega_s$、通带偏差 $\delta_p$ 和阻带偏差 $\delta_s$,这些偏差常用分贝(dB)表示。通带和阻带之间的区间 $[\omega_p, \omega_s]$ 被称为过渡带。
2. 寻找合适的滤波器系数 :在确定规格后,下一步是找到一组能产生符合要求滤波器的系数。
3. 实现滤波器 :设计完成后,最后一步是在硬件或软件中实现系统,必要时对滤波器系数进行量化,并选择合适的滤波器结构。

FIR 滤波器设计

FIR 滤波器设计旨在找到系数 $h(n)$,使频率响应满足给定的滤波器规格。与 IIR 滤波器相比,FIR 滤波器具有两个重要优势:一是保证稳定,即使在滤波器系数量化后也是如此;二是易于约束为具有(广义)线性相位。因此,下面主要讨论线性相位 FIR 滤波器的设计方法。
1. 基于窗函数的线性相位 FIR 滤波器设计
- 原理 :理想频率选择性滤波器的单位样本响应 $h_d(n)$ 通常是无限长的,因此需要找到其 FIR 近似。窗函数设计方法通过对单位样本响应加窗来设计滤波器,窗函数 $w(n)$ 是有限长的,在区间 $0 \leq n \leq N$ 外为零,且关于中点对称,即 $w(n) = w(N - n)$。根据复卷积定理,理想频率响应会被窗函数的离散时间傅里叶变换 $W(e^{j\omega})$ 平滑。
- 常用窗函数 :常见的窗函数有矩形窗、汉宁窗、汉明窗和布莱克曼窗等,它们的特性如下表所示:
|窗函数|表达式|旁瓣幅度 (dB)|过渡宽度 ($\Delta f$)|阻带衰减 (dB)|
| ---- | ---- | ---- | ---- | ---- |
|矩形窗|$w(n) = 1$($0 \leq n \leq N$),$w(n) = 0$(其他)| -13|$0.9/N$| -21|
|汉宁窗|$w(n) = \frac{1}{2}(1 - \cos(\frac{2\pi n}{N}))$($0 \leq n \leq N$),$w(n) = 0$(其他)| -31|$3.1/N$| -44|
|汉明窗|$w(n) = 0.54 - 0.46\cos(\frac{2\pi n}{N})$($0 \leq n \leq N$),$w(n) = 0$(其他)| -41|$3.3/N$| -53|
|布莱克曼窗|$w(n) = 0.42 - 0.5\cos(\frac{2\pi n}{N}) + 0.08\cos(\frac{4\pi n}{N})$($0 \leq n \leq N$),$w(n) = 0$(其他)| -57|$5.5/N$| -74|
- 窗函数特性影响 :滤波器频率响应近似理想响应的程度取决于窗函数主瓣宽度和旁瓣峰值幅度。理想情况下,主瓣宽度应窄,旁瓣幅度应小,但对于固定长度的窗函数,这两个指标不能独立最小化。一般来说,窗函数长度 $N$ 增加,主瓣宽度减小,过渡带宽度也随之减小;旁瓣峰值幅度主要由窗函数形状决定,与长度基本无关;改变窗函数形状以减小旁瓣幅度时,主瓣宽度通常会增加。
- Kaiser 窗 :除了上述常见窗函数,Kaiser 开发了一族窗函数,其定义为 $w(n) = \frac{I_0(\beta\sqrt{1 - ((n - \alpha)/\alpha)^2})}{I_0(\beta)}$,其中 $\alpha = N/2$,$I_0(.)$ 是第一类零阶修正贝塞尔函数。参数 $\beta$ 决定窗函数的形状,控制主瓣宽度和旁瓣幅度之间的权衡。Kaiser 窗在给定旁瓣幅度下,主瓣能量最大,接近最优。有两个经验公式可用于设计 FIR 滤波器,一个将低通滤波器的阻带波纹 $\alpha_s = -20\log(\delta_s)$ 与参数 $\beta$ 相关联,另一个将 $N$ 与过渡宽度 $\Delta f$ 和阻带衰减 $\alpha_s$ 相关联。
- 设计示例 :假设要设计一个 FIR 线性相位低通滤波器,要求阻带衰减为 -40 dB,过渡宽度 $\Delta\omega = 0.02\pi$。根据表中数据,可选择汉宁窗。由 $N\Delta f = 3.1$(汉宁窗),可得所需滤波器阶数的估计值。最后,根据截止频率 $\omega_c = (\omega_p + \omega_s)/2 = 0.2\pi$ 和延迟 $\alpha = N/2 = 155$,求出理想低通滤波器的单位样本响应。
- 局限性 :窗函数设计方法虽然简单,但存在一些局限性。首先,需要找到 $h_d(n)$ 的闭式表达式(或用很长的离散傅里叶变换近似);其次,对于频率选择性滤波器,频率带之间的过渡宽度和带内波纹近似相同,因此需要按照最严格的公差设计滤波器;最后,窗函数设计的滤波器通常不是最优的,即在给定滤波器阶数和截止频率下,不能保证具有最小的波纹。
2. 频率采样滤波器设计
- 原理 :该方法首先在 $0$ 到 $2\pi$ 之间的 $N$ 个等间隔点对期望的频率响应 $H_d(e^{j\omega})$ 进行均匀采样,这些频率样本构成 $N$ 点离散傅里叶变换(DFT),其逆变换就是 $N - 1$ 阶的 FIR 滤波器。
- 改进措施 :虽然频率样本能精确匹配理想频率响应,但样本之间的插值无法控制。因此,该方法常通过引入一个或多个过渡样本来改进,这些过渡样本通过迭代方式进行优化,以最大化阻带衰减或最小化通带波纹。
3. 等波纹线性相位滤波器设计
- 问题提出 :基于窗函数设计的 FIR 低通滤波器虽然简单且性能较好,但存在两个不足之处。一是通带和阻带偏差 $\delta_p$ 和 $\delta_s$ 近似相等,而实际中通常要求 $\delta_p$ 远小于 $\delta_s$,但窗函数设计方法无法独立控制这两个参数,因此需要过度设计通带以满足阻带的严格要求;二是对于大多数窗函数,通带或阻带内的波纹不均匀,且远离过渡带时波纹通常会减小。
- 等波纹滤波器的优势 :等波纹线性相位滤波器在给定滤波器阶数 $N$ 下,能最小化所有感兴趣频带内的波纹幅度,具有最优性。
- 设计原理 :FIR 线性相位滤波器的频率响应可表示为 $H(e^{j\omega}) = e^{-j\alpha\omega}A(e^{j\omega})$,其中幅度 $A(e^{j\omega})$ 是 $\omega$ 的实值函数。对于 I 型线性相位滤波器,$h(n) = h(N - n)$($N$ 为偶数),频率响应可进一步表示为 $A(e^{j\omega})$ 是 $\cos\omega$ 的 $L$ 阶多项式($L = N/2$)。通过定义加权近似误差 $E(e^{j\omega}) = W(e^{j\omega})[A_d(e^{j\omega}) - A(e^{j\omega})]$,等波纹滤波器设计问题就转化为找到系数 $a(k)$,使加权误差 $|E(e^{j\omega})|$ 在一组频率 $F$ 上的最大值最小化。
- 交替定理 :该定理指出,对于正加权函数 $W(e^{j\omega})$,使加权误差 $|E(e^{j\omega})|$ 在集合 $F$ 上最大值最小化的唯一函数 $A(e^{j\omega})$ 必须满足 $E(e^{j\omega})$ 至少有 $L + 2$ 次交替,即存在至少 $L + 2$ 个极值频率,使得 $E(e^{j\omega_k}) = -E(e^{j\omega_{k + 1}})$($k = 0, 1, \cdots, L$),且 $|E(e^{j\omega_k})| = \max_{w \in F}|E(e^{j\omega})|$($k = 0, 1, \cdots, L + 1$)。这表明最优滤波器是等波纹的,低通滤波器可能有 $L + 2$ 或 $L + 3$ 个极值频率,具有 $L + 3$ 个极值的低通滤波器称为超波纹滤波器。
- 求解方法 :根据交替定理得到的方程可以写成矩阵形式,包含未知系数 $a(0), \cdots, a(L)$ 和 $E$。为了找到极值频率,有一个高效的迭代过程,即 Parks - McClellan 算法,其步骤如下:
- 猜测一组初始极值频率。
- 通过求解方程找到 $E$,$E$ 的值已被证明具有特定的表达式。

综上所述,离散时间系统实现和滤波器设计是一个复杂而重要的领域,不同的方法各有优缺点,需要根据具体的应用场景和要求选择合适的设计和实现方案。

离散时间系统实现与滤波器设计全解析

设计示例与流程总结

为了更清晰地展示滤波器设计的实际应用,下面给出一个完整的低通滤波器设计示例,同时总结设计流程。

设计示例

假设我们要设计一个低通滤波器,具体规格如下:
- 通带截止频率 $\omega_p = 0.2\pi$
- 阻带截止频率 $\omega_s = 0.3\pi$
- 通带偏差 $\delta_p = 0.01$
- 阻带偏差 $\delta_s = 0.001$

我们可以按照以下步骤进行设计:
1. 选择设计方法 :根据阻带衰减要求 $\alpha_s = -20\log(\delta_s) = -60$ dB,考虑使用 Kaiser 窗。
2. 计算参数
- 根据经验公式计算 $\beta$ 和 $N$。假设通过公式计算得到 $\beta = 5$,$N = 100$。
3. 确定窗函数 :使用 Kaiser 窗 $w(n) = \frac{I_0(\beta\sqrt{1 - ((n - \alpha)/\alpha)^2})}{I_0(\beta)}$,其中 $\alpha = N/2 = 50$。
4. 计算理想单位样本响应 :理想低通滤波器的单位样本响应 $h_d(n) = \frac{\sin((n - \alpha)\omega_c)}{(n - \alpha)\pi}$,其中 $\omega_c = (\omega_p + \omega_s)/2 = 0.25\pi$。
5. 加窗得到 FIR 滤波器系数 :$h(n) = h_d(n)w(n)$,$0 \leq n \leq N$。

设计流程总结

下面是一个 mermaid 格式的流程图,展示了 FIR 滤波器设计的一般流程:

graph TD;
    A[明确滤波器规格] --> B[选择设计方法];
    B --> C[计算相关参数];
    C --> D[确定窗函数或采样方式];
    D --> E[计算理想单位样本响应];
    E --> F[加窗或进行频率采样];
    F --> G[得到滤波器系数];
    G --> H[实现滤波器];
不同设计方法的对比

为了帮助读者更好地选择合适的设计方法,下面对 FIR 滤波器的三种设计方法进行对比,具体内容如下表所示:
|设计方法|优点|缺点|适用场景|
| ---- | ---- | ---- | ---- |
|基于窗函数的设计|简单易懂,能快速得到近似滤波器|需要闭式表达式,过渡带和波纹控制有限,非最优设计|对设计速度要求高,对性能要求不是特别严格的场景|
|频率采样滤波器设计|可精确匹配采样点频率响应|样本间插值难以控制,性能一般|对频率采样点有特殊要求的场景|
|等波纹线性相位滤波器设计|最优设计,能独立控制通带和阻带波纹|算法复杂,计算量大|对滤波器性能要求高,需要精确控制波纹的场景|

实际应用中的考虑因素

在实际应用中,除了选择合适的设计方法,还需要考虑以下因素:
1. 计算资源 :不同的设计方法和滤波器结构对计算资源的需求不同。例如,等波纹线性相位滤波器设计算法复杂,计算量大,需要更多的计算资源;而基于窗函数的设计方法相对简单,计算量较小。
2. 滤波器阶数 :滤波器阶数越高,性能越好,但计算复杂度也会增加。因此,需要在性能和计算复杂度之间进行权衡。
3. 系数量化 :在硬件实现中,滤波器系数需要进行量化。量化可能会影响滤波器的性能,因此需要选择合适的量化位数和量化方法。
4. 实时性要求 :对于实时应用,需要确保滤波器的设计和实现能够满足实时性要求。例如,在音频处理中,需要在短时间内完成滤波操作,因此需要选择计算速度快的设计方法和滤波器结构。

总结

离散时间系统实现和滤波器设计是数字信号处理中的重要内容。在离散时间系统实现中,极点与零点的配对和级联结构的设计是关键步骤。而在滤波器设计中,FIR 滤波器由于其稳定性和线性相位特性,得到了广泛应用。不同的 FIR 滤波器设计方法各有优缺点,需要根据具体的应用场景和要求进行选择。同时,在实际应用中,还需要考虑计算资源、滤波器阶数、系数量化和实时性要求等因素。通过合理选择设计方法和考虑实际因素,可以设计出满足各种需求的高性能滤波器。

希望本文能够帮助读者深入理解离散时间系统实现和滤波器设计的原理和方法,为实际应用提供有益的参考。在未来的研究和应用中,随着数字信号处理技术的不断发展,相信会有更多高效、精确的设计方法和实现技术出现。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值