窗函数法 FIR 滤波器设计练习

题目 1:矩形窗设计线性相位低通 FIR DF

要求:过渡带宽度不超过 $\pi/8$ rad。

逼近目标:理想低通滤波器频率响应函数 $H_d(e^{j\omega})$ 为:

$$ H_d(e^{j\omega}) = \begin{cases} e^{-j\omega\tau}, & 0 \le |\omega| \le \omega_c \\ 0, & \omega_c < |\omega| \le \pi \end{cases} $$
  1. 求理想低通滤波器的单位脉冲响应 $h_d[n]$;
  2. 求出加矩形窗设计的低通 FIR DF 的单位脉冲响应 $h[n]$ 表达式,并确定 $\tau$ 与 $N$ 之间的关系;
  3. 简述 $N$ 取奇数或者偶数对滤波特性的影响。

详细解答:

(a) 求理想单位脉冲响应 $h_d[n]$

对 $H_d(e^{j\omega})$ 进行离散时间傅里叶逆变换 (IDTFT):

$$ \begin{aligned} h_d[n] &= \frac{1}{2\pi} \int_{-\pi}^{\pi} H_d(e^{j\omega}) e^{j\omega n} d\omega \\ &= \frac{1}{2\pi} \int_{-\omega_c}^{\omega_c} e^{-j\omega\tau} e^{j\omega n} d\omega \\ &= \frac{1}{2\pi} \int_{-\omega_c}^{\omega_c} e^{j\omega(n-\tau)} d\omega \\ &= \frac{\sin[\omega_c(n-\tau)]}{\pi(n-\tau)} \end{aligned} $$

(b) 求实际响应 $h[n]$ 及参数关系

1. 确定长度 $N$:

矩形窗的过渡带宽度近似公式为 $\Delta\omega \approx \frac{4\pi}{N}$。

根据题目要求 $\Delta\omega \le \frac{\pi}{8}$:

$$ \frac{4\pi}{N} \le \frac{\pi}{8} \implies N \ge 32 $$

2. 确定 $\tau$:

为了保证线性相位,对称中心必须位于序列中心,即:$\tau = \frac{N-1}{2}$

3. 求 $h[n]$ 表达式:

加矩形窗 $w[n] = R_N[n]$ (即 $0 \le n \le N-1$ 时为 1,否则为 0):

$$ h[n] = h_d[n] \cdot w[n] = \frac{\sin[\omega_c(n-\frac{N-1}{2})]}{\pi(n-\frac{N-1}{2})}, \quad 0 \le n \le N-1 $$

(c) $N$ 取奇偶的影响

  • 当 $N$ 为奇数时: 对称中心 $\tau = (N-1)/2$ 是整数。这属于 Type I 线性相位 FIR,其频率响应在 $\omega=\pi$ 处没有强制零点,适合设计各种滤波器(包括低通、高通)。
  • 当 $N$ 为偶数时: 对称中心 $\tau$ 是半整数。这属于 Type II 线性相位 FIR。其特性是 $H(e^{j\pi}) = 0$。对于低通滤波器来说,高频端 $\omega=\pi$ 本来就需要截止,所以 Type II 可以用于低通设计,通常没有负面影响。
题目 2:矩形窗设计线性相位高通 FIR DF

要求:过渡带宽度不超过 $\pi/10$ rad。

逼近目标:理想高通滤波器频率响应函数 $H_d(e^{j\omega})$ 为:

$$ H_d(e^{j\omega}) = \begin{cases} e^{-j\omega\tau}, & \omega_c \le |\omega| \le \pi \\ 0, & \text{其他} \end{cases} $$
  1. 求出该理想高通的单位脉冲响应 $h_d[n]$;
  2. 求出矩形窗设计的高通 FIR DF 的单位脉冲响应 $h[n]$ 表达式,确定 $\tau$ 与 $N$ 之间的关系;
  3. $N$ 的取值有什么限制?为什么?

详细解答:

(a) 求理想单位脉冲响应 $h_d[n]$

利用线性性质,理想高通 = 全通 - 理想低通。

全通滤波器的脉冲响应为 $\delta[n-\tau]$,理想低通(截止频率 $\omega_c$)如题目1所示。

因此,理想高通的 $h_d[n]$ 为:

$$ h_d[n] = \frac{\sin[\pi(n-\tau)]}{\pi(n-\tau)} - \frac{\sin[\omega_c(n-\tau)]}{\pi(n-\tau)} $$

或者利用 sinc 函数表示(注意 $\frac{\sin(\pi x)}{\pi x}$ 在离散整数点对应 $\delta$):

$$ h_d[n] = \delta[n-\tau] - \frac{\sin[\omega_c(n-\tau)]}{\pi(n-\tau)} $$

(注:这是建立在 $\tau$ 为整数即 $N$ 为奇数的前提下,如果是分数延迟系统,第一种积分形式更通用)

(b) 求实际响应 $h[n]$ 及参数关系

1. 确定长度 $N$:

根据矩形窗过渡带公式 $\Delta\omega \approx \frac{4\pi}{N}$:

$$ \frac{4\pi}{N} \le \frac{\pi}{10} \implies N \ge 40 $$

2. 确定 $\tau$:

线性相位条件:$\tau = \frac{N-1}{2}$

3. 求 $h[n]$ 表达式:

$$ h[n] = \left( \delta[n-\tau] - \frac{\sin[\omega_c(n-\tau)]}{\pi(n-\tau)} \right) \cdot R_N[n] $$

(c) $N$ 取值的限制及原因

限制: $N$ 必须取奇数

原因:

  • FIR 滤波器设计为高通,意味着在高频端 $\omega=\pi$ 处,频率响应 $|H(e^{j\pi})|$ 应该比较大(通带),不能为 0。
  • 如果 $N$ 取偶数且为偶对称(线性相位条件),则构成了 Type II 滤波器。Type II 滤波器由其对称性决定了 必然有 $H(e^{j\pi}) = 0$
  • 这直接违背了高通滤波器的设计初衷(高频被强制截止了)。因此,设计线性相位高通滤波器时,必须选择 Type I,即 $N$ 必须为奇数。
  • 在本题中,虽然计算出 $N \ge 40$,但必须取 $N=41$ (或更大奇数)。