第一章 离散时间信号与系统
第二章 z变换和离散时间傅里叶变换(DTFT)
第三章 离散傅里叶变换
第四章 快速傅里叶变换(FFT)
第五章 数字滤波器的基本结构
第六章 无限长单位冲激响应(IIR)数字滤波器的设计方法
第七章 有限长单位冲激响应(FIR)数字滤波器的设计方法
第八章 序列的抽取与插值——多抽样率数字信号处理基础
第七章 有限长单位冲激响应(FIR)数字滤波器的设计方法
7.1 引言
IIR数字滤波器的优缺点
优点:
可以用模拟滤波器设计的结果,而模拟滤波器的设计有大量图表可查,方便简单。
缺点:
- 相位的非线性
- 无限长——不能做快速卷积
- 稳定性问题
FIR数字滤波器的特点
- 很容易获得严格的线性相位,避免被处理的信号产生相位失真。这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要。
- 极点全部在原点(永远稳定),无稳定性问题。
- 任何一个非因过的有限长序列,总可以通过一定的延时,转为因果序列,所以因果性总是满足。
- 可以使用FFT算法实现过滤信号,从而提高效率。
缺点:
同样的滤波器设计指标,FIR滤波器所要求的阶数比IIR滤波器要高(比IIR滤波器高5-10倍)。
7.2 线性相位FIR滤波器的特点
FIR的系统函数和频率响应
h(n),n=0,1,...,N-1是长度为N的单位冲激响应,系统函数为:
H(z)=\sum_{n=0}^{N-1}h(n)z^{-n}
在有限z平面内有(N-1)个零点,在原点z=0处有(N-1)阶极点。
系统的频率响应为:
\begin{aligned} H(e^{\mathrm j\omega})&=\sum_{n=0}^{N-1}h(n)e^{-\mathrm j\omega n}\\&=\Big|H(e^{\mathrm j\omega})\Big|e^{\mathrm j\varphi(o)}\\ &=\pm\Big|H(e^{\mathrm j\omega})\Big|e^{\mathrm j\theta(\omega)}\\&=H(\omega)e^{\mathrm j\theta(\omega)} \end{aligned}
其中:
- \theta(\omega)称为相位特性,是实函数;
- H(\omega)称为幅度函数,可以是正的或负的,与之相对应的相频特性是连续函数。
- |H(e^{\mathrm j\omega})|是幅度响应,总是正的,与之相对应的相频响应的非连续函数。
线性相位条件
线性相位意味着相位特性\theta(\omega)是频率\omega的线性函数。有两类精确的线性相位,分别是:
\begin{align} \theta(\omega)=-\tau\omega\\ \theta(\omega)=\beta-\tau\omega \end{align}
两者的群延时都是常数:
-\frac{\mathrm d\theta(\omega)}{\mathrm d\omega}=\tau
满足(1)式是第一类线性相位,满足(2)式为第二类线性相位。
对于第一类线性相位:h(n)=h(N-1-n)是FIR数字滤波器具有\theta(\omega)=\tau\omega形式的线性相位的充分条件。
对于第二类线性相位:h(n)=-h(N-1-n)是FIR数字滤波器具有\theta(\omega)-\frac \pi 2-\tau\omega形式的线性相位的充分条件。
线性相位FIR滤波器频率响应的特点
设N-1-n=m,H(z^{-1})=\sum\limits^{N-1}_{m=0}h(m)z^m,则有:
\begin{aligned} H(z)&=\sum_{n=0}^{N-1}h(n)z^{-n}=\sum_{n=0}^{N-1}[\pm h(N-1-n)]z^{-n}\\&=\sum_{m=0}^{N-1}[\pm h(m)]z^{-(N-1-m)}\\&=\pm z^{-(N-1)}\sum_{m=0}^{N-1}h(m)z^m\\&=\pm z^{-(N-1)}H(z^{-1})\\&=\frac{1}{2}[H(z)\pm z^{-(N-1)}H(z^{-1})]\\&=\frac{1}{2}\sum_{n=0}^{N-1}h(n)[z^{-n}\pm z^{-(N-1)}z^n]\\&=z^{-(\frac{N-1}{2})}\sum_{n=0}^{N-1}h(n)[\frac{z^{(\frac{N-1}{2}-n)}\pm z^{-(\frac{N-1}{2}-n)}}{2}] \end{aligned}
当冲激响应偶对称(h(n)=h(N-1-n))时:
\begin{aligned} H(e^{\mathrm j \omega})&=H(z)\bigg|_{z=e^{\mathrm j\omega}}\\&=e^{-\mathrm j(\frac{N-1}{2})\omega}\sum_{n=0}^{N-1}h(n)[\frac{e^{\mathrm j(\frac{N-1}{2}-1)\omega}+e^{-\mathrm j(\frac{N-1}{2}-1)\omega}}{2}]\\&=e^{-\mathrm j(\frac{N-1}{2})\omega}\sum\limits_{n=0}^{N-1}h(n)\cos[(\frac{N-1}{2}-n)\omega]=H(\omega)e^{\mathrm j\theta(\omega)} \end{aligned}
其中:
- H(\omega)=\sum\limits_{n=0}^{N-1}h(n)\cos[(\frac{N-1}{2}-n)\omega]
- \theta(\omega)=-(\frac{N-1}{2})\omega
- \tau=\frac{N-1}{2}
当冲激响应h(n)奇对称时:
\begin{aligned} H(e^{\mathrm j \omega})&=H(z)\bigg|_{z=e^{\mathrm j\omega}}\\&=e^{-\mathrm j(\frac{N-1}{2})\omega}\sum_{n=0}^{N-1}h(n)[\frac{e^{\mathrm j(\frac{N-1}{2}-1)\omega}-e^{-\mathrm j(\frac{N-1}{2}-1)\omega}}{2}]\\&=e^{-\mathrm j(\frac{N-1}{2})\omega+\mathrm j\frac \pi2}\sum\limits_{n=0}^{N-1}h(n)\sin[(\frac{N-1}{2}-n)\omega]=H(\omega)e^{\mathrm j\theta(\omega)} \end{aligned}
其中:
- H(\omega)=\sum\limits_{n=0}^{N-1}h(n)\sin[(\frac{N-1}{2}-n)\omega]
- \theta(\omega)=\frac\pi 2-(\frac{N-1}{2})\omega
- \tau=\frac{N-1}{2}
幅度函数的特点
-
当h(n)偶对称且N为奇数时,设 \frac{N-1}2-n=m:
\begin{aligned} H(\omega)& =\sum_{n=0}^{N-1}h(n)\cos[(\frac{N-1}{2}-n)\omega] \\ &=h(\frac{N-1}{2})+\sum_{n=0}^{(N-3)/2}2h(n)\cos[(\frac{N-1}{2}-n)\omega] \\ &=h(\frac{N-1}{2})+\sum_{m=1}^{(N-1)/2}2h(\frac{N-1}{2}-m)\cos(m\omega) \\ &=\sum_{n=0}^{(N-1)/2}a(n)\cos(\omega n) \end{aligned}
\begin{aligned} &a(0) =h(\frac{N-1}{2}) \\ &a(n) =2h(\frac{N-1}{2}-n),\quad n=1,2,\cdots,\frac{N-1}{2} \end{aligned}
由于\cos(n\omega)对于\omega=0,\pi,2\pi都是偶对称,所以H(\omega)对\omega=0,\pi,2\pi也呈偶对称。
-
当h(n)偶对称且N为偶数时:
\begin{aligned} H(\omega)&=\sum\limits_{n=1}^{N/2}b(n)\cos[\omega(n-\frac{1}{2})] \end{aligned}
b(n)=2h(\frac{N}{2}-n),n=1,2,\cdots,\frac{N}{2}
-
当h(n)奇对称且N为奇数时:
\begin{aligned} H(\omega)&=\sum_{n=1}^{(N-1)/2}c(n)\sin(\omega n) \end{aligned}
c(n)=2h(\frac{N-1}{2}-n),n=1,2,\cdots,\frac{N-1}{2}
-
当h(n)奇对称且N为偶数时:
\begin{aligned} H(\omega)&=\sum_{n=1}^{N/2}d(n)\sin[\omega(n-\frac{1}{2})] \end{aligned}
d(n)=2h(\frac{N}{2}-n),n=1,2,...,\frac{N}{2}
| h(n) | N | H(\omega)性质 |
|---|---|---|
| 偶对称 | 奇数 | |
| 偶对称 | 偶数 | H(w)_{\omega=\pi}=0 |
| 奇对称 | 奇数 | H(w)_{\omega=0,\pi}=0 |
| 奇对称 | 偶数 | H(w)_{\omega=\pi}=0 |
类型3,4只适用于特殊意义上的滤波器,如差分器、希耳伯特变换器;
类型2不能设计高通、带阻滤波器;一般来说,使用的最多的是h(n)偶对称,N为奇数的类型1滤波器。
线性相位FIR滤波器的零点位置
已知:H(z)=\pm z^{-(N-1)}H(z^{-1}):
如果存在零点:z={z_1}=re^{\mathrm j\theta},那么一定存在零点z=\frac 1{z_1}=\frac1re^{\mathrm j\theta}。又因为h(n)是实数,那么H(z)的零点必然是共轭存在的:
z=z_1^*=re^{-\mathrm j\theta}\\z=\frac1{z_1^*}=\frac 1re^{\mathrm j\theta}
因此,线性相位FIR滤波器的特点一般成四点组:
z_i,\frac 1{z_i},z_{i}^*,\frac1{z_i^*}
7.3 窗函数设计法
FIR滤波器设计方法
FIR滤波器的设计方法有三种:
- 窗函数设计法(时域逼近)
- 频率抽样设计法(频域逼近)
- 最优化设计法(等波纹逼近)
窗函数设计法就是使所要设计的滤波器的单位冲激响应h(n)逼近理想滤波器的单位冲激响应h_d(n)。
用一个有限长的h(n)取近似无限长的h_d(n),最简单的方法就是直接截取一段h_d(n)来得到h(n)。此种截取可看作h_d(n)合一个窗函数的乘积。
h(n)=w(n)\cdot h_d(n)
以线性相位的理想低通滤波器为例:
H_d(e^{j\omega})=\begin{cases}1\cdot e^{-j\alpha\omega},\quad|\omega|\le\omega_c\\ 0,\quad\omega_c<|\omega|\le\pi\end{cases}
h_d(n)=\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\alpha)]}{\omega_c(n-\alpha)}
w(n)=R_N(n)
按照第一类线性条件:\alpha=\frac{N-1}{2};
\begin{aligned} h(n)&=h_d(n)w(n)\\&=\begin{cases}\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\frac{N-1}{2})]}{\omega_c(n-\frac{N-1}{2})},&0\leq n\leq N-1\\ \quad0,&\text{其他}\end{cases} \\ \end{aligned}

加窗处理对理想频率响应的影响
- 改变了理想频率响应的边沿效应,形成了过渡带,正副尖峰的间隔等于窗函数的主瓣宽度;
- 过渡带两侧产生尖峰和余振,即带内、带外产生起伏震荡,这取决于窗函数的旁瓣,旁瓣多则震荡多,旁瓣相对值大则尖峰强度大,与N无关。
- 改变N,只能改变窗函数主瓣的宽度,窗函数频谱的绝对值大小和窗函数频谱的起伏密度,不能改变主瓣与旁瓣的比例关系,也就是不能改变尖峰的相对值,其最大尖峰总是8.95%,这种现象称为吉布斯效应。
尖峰值的大小决定了滤波器通带内的平稳程度和阻带内的衰减,对滤波器的性能有很大影响。
改变窗函数的形状,可以改变滤波器的特性,窗函数有许多种,选取时希望能满足以下两点要求:
- 窗函数的主瓣要尽量窄,以获得较陡的过渡带;
- 相对于主瓣幅度,旁瓣要尽可能小,使能量尽量集中在主瓣中,这样就可以减少尖峰和余振,以提高阻带的衰减和通带的平稳性。
但实际上这两点不能兼得,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。窗函数不仅起截断作用,还能起平滑作用。
各种窗函数
-
矩形窗
最简单的窗函数:从阻带衰减特性来说,性能最差,主瓣宽度为:\frac{4\pi}N。
\begin{aligned} w(n)&=R_N(n)\\W_R(e^{j\omega})&=W_R(\omega)e^{-j\omega(\frac{N-1}{2})} \\ W_R(\omega)&=\frac{\sin(\frac{N\omega}{2})}{\sin(\frac{\omega}{2})} \end{aligned}

-
巴特列特窗(三角形窗)
主瓣宽度:\frac{8\pi}N
窗函数:
\begin{gathered} \\ w(n)=\begin{cases}\frac{2n}{N-1},&0\leq n\leq\frac{N-1}{2}\\ 2-\frac{2n}{N-1},&\frac{N-1}{2}<n\leq N-1\end{cases} \end{gathered}
幅度函数:
W(e^{\mathrm j\omega})\approx\frac{2}{N}\left[\frac{\sin\left(\frac{N\omega}{4}\right)}{\sin\left(\frac{\omega}{2}\right)}\right]^2e^{-\mathrm j(\frac{N-1}{2})\omega},~~(N>>1,~~N-1\approx N)

-
汉宁窗(升余弦窗)
主瓣宽度:\frac{8\pi}N
窗函数:
w(n)=\frac{1}{2}\bigg[1-\cos\bigg(\frac{2\pi n}{N-1}\bigg)\bigg]R_N(n)
幅度函数:
\begin{aligned} &W(\omega)\approx0.5W_R(\omega)+0.25\bigg[W_R(\omega-\frac{2\pi}{N})+W_R(\omega+\frac{2\pi}{N})\bigg]\quad~~~\left(N\text{>>}1\right) \end{aligned}

-
海明窗(改进的升余弦窗)
主瓣宽度:\frac{8\pi}N
窗函数:
w(n)=\bigg[0.54-0.46\cos\bigg(\frac{2\pi n}{N-1}\bigg)\bigg]R_N(n)
幅度函数:
\begin{aligned} &W(\omega)\approx0.54W_R(\omega)+0.23\bigg[W_R(\omega-\frac{2\pi}{N})+W_R(\omega+\frac{2\pi}{N})\bigg] ~~~~~~~(N>>1) \end{aligned}

-
布莱克曼窗(二阶升余弦窗)
主瓣宽度:\frac{12\pi}{N}
窗函数:
w(n)=\bigg[0.42-0.5\cos\bigg(\frac{2\pi n}{N-1}\bigg)+0.08\cos\bigg(\frac{4\pi n}{N-1}\bigg)\bigg]R_N(n)
幅度函数
W(\omega)\approx0.42W_R(\omega)+0.25\bigg[W_R(\omega-\frac{2\pi}{N})+W_R(\omega+\frac{2\pi}{N})\bigg] +0.04\bigg[W_R(\omega-\frac{4\pi}{N})+W_R(\omega+\frac{4\pi}{N})\bigg] ~~~~~~~(N>>1)

-
凯泽窗
w(n)=\frac{I_0\left(\beta\sqrt{1-\left(1-\frac{2n}{N-1}\right)^2}\right)}{I_0(\beta)}R_N(n)
I_0(\cdot)是第一类变形零阶贝塞尔函数;
\beta是一个可以自由选侧的参数,用于调整主瓣宽度和旁瓣的幅度。
\beta\rightarrow0,接近矩形窗函数;
\beta\rightarrow5.44,接近汉明窗;
\beta\rightarrow8.5,接近布莱克曼窗。
窗函数基本参数的比较:

窗函数设计法的基本步骤
- 给定所要求的理想频率响应函数H_d(e^{\mathrm j\omega})和技术指标;
- 计算出理想频率响应所对应的h_d(n);
- 确定窗函数w(n),根据阻带衰减\delta_2确定窗函数类型,根据过渡带宽\Delta\omega=\omega_s-\omega_p;
- 计算所设计的FIR滤波器的h(n)=h_d(n)w(n);
- 计算所设计的滤波器的频率响应,并检验是否满足设计要求。
线性相位FIR低通滤波器的设计
-
找出对应的数字频率;
-
得到线性相位的理想滤波器的频率响应函数;
-
计算理想滤波器的频率响应;
-
确定窗函数和N值;
-
计算所设计滤波器的h(n);
-
由h(n)计算所设计的FIR滤波器的频率响应,并检验是否满足设计指标。
如果不满足设计指标,取更大的N值重新设计滤波器;
线性相位FIR高通滤波器的设计
一个理想的FIR高通滤波器可以通过一个全通系统减去一个FIR理想低通滤波器来实现(两者有相同的相位响应)

线性相位FIR带通滤波器的设计
一个理想的FIR带通滤波器可以通过两个相位响应相同的FIR低通滤波器相减的方式实现。

线性相位FIR带阻滤波器的设计
一个理想的FIR带阻滤波器可通过一个全通系统减去两个FIR低通滤波器的差实现(三者具有相同的相位响应)。

习题
已知FIR系统的系统函数为H_0(z)=(1+0.7z^{-1}+0.1z^{-2})^2 (1)求具有相同幅度响应的线性相位滤波器系统函数H(z): (2)求该线性相位FIR滤波器的单位冲激响应h(n),并说明其为线性相位的原因; (3)求该线性相位FIR滤波器的相位响应函数\theta(\omega); (4)画出该线性相位滤波器的结构图。
-
答案

设计一线性相位FIR低通滤波器,满足设计指标:
\Omega_{sam }=2\pi\times1.5\times10^4(\text{rad}/\sec) \\ \Omega_p=2\pi\times1.5\times10^3\text{(rad/sec)}\\ \Omega_{st}=2\pi\times3\times10^3(\text{rad}/\sec)\\\delta_2=50\text{dB}
-
答案

设计一线性相位FIR高通滤波器,满足设计指标:
\begin{aligned}& \omega_s=0.4\pi,\delta_2=60\text{dB} \\& \omega_{_p} =0.6\pi,\delta_1=0.5\text{dB}\end{aligned}
-
答案

FIR滤波器与IIR滤波器相比较,下列说法中不正确的是 A.FIR相位可以做到严格线性 B.FIR主要是非递归结构 C.相同性能下FIR阶次高 D.以上说法都不对
-
答案
C
评论区