侧边栏壁纸
博主头像
LittleAO的学习小站 博主等级

在知识的沙漠寻找绿洲

  • 累计撰写 125 篇文章
  • 累计创建 27 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

数字信号处理第七章笔记

LittleAO
2023-05-19 / 0 评论 / 0 点赞 / 201 阅读 / 0 字
温馨提示:
本文最后更新于2023-11-15,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

第一章 离散时间信号与系统
第二章 z变换和离散时间傅里叶变换(DTFT)
第三章 离散傅里叶变换
第四章 快速傅里叶变换(FFT)
第五章 数字滤波器的基本结构
第六章 无限长单位冲激响应(IIR)数字滤波器的设计方法
第七章 有限长单位冲激响应(FIR)数字滤波器的设计方法
第八章 序列的抽取与插值——多抽样率数字信号处理基础

第七章 有限长单位冲激响应(FIR)数字滤波器的设计方法

7.1 引言

IIR数字滤波器的优缺点

优点:

可以用模拟滤波器设计的结果,而模拟滤波器的设计有大量图表可查,方便简单。

缺点:

  • 相位的非线性
  • 无限长——不能做快速卷积
  • 稳定性问题

FIR数字滤波器的特点

  1. 很容易获得严格的线性相位,避免被处理的信号产生相位失真。这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要。
  2. 极点全部在原点(永远稳定),无稳定性问题。
  3. 任何一个非因过的有限长序列,总可以通过一定的延时,转为因果序列,所以因果性总是满足。
  4. 可以使用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}

幅度函数的特点

  1. 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也呈偶对称。

  2. 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}

  3. 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}

  4. 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滤波器的设计方法有三种:

  1. 窗函数设计法(时域逼近)
  2. 频率抽样设计法(频域逼近)
  3. 最优化设计法(等波纹逼近)

窗函数设计法就是使所要设计的滤波器的单位冲激响应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}

1700014153732.png

加窗处理对理想频率响应的影响

  1. 改变了理想频率响应的边沿效应,形成了过渡带,正副尖峰的间隔等于窗函数的主瓣宽度;
  2. 过渡带两侧产生尖峰和余振,即带内、带外产生起伏震荡,这取决于窗函数的旁瓣,旁瓣多则震荡多,旁瓣相对值大则尖峰强度大,与N无关。
  3. 改变N,只能改变窗函数主瓣的宽度,窗函数频谱的绝对值大小和窗函数频谱的起伏密度,不能改变主瓣与旁瓣的比例关系,也就是不能改变尖峰的相对值,其最大尖峰总是8.95%,这种现象称为吉布斯效应。

尖峰值的大小决定了滤波器通带内的平稳程度和阻带内的衰减,对滤波器的性能有很大影响。

改变窗函数的形状,可以改变滤波器的特性,窗函数有许多种,选取时希望能满足以下两点要求:

  • 窗函数的主瓣要尽量窄,以获得较陡的过渡带;
  • 相对于主瓣幅度,旁瓣要尽可能小,使能量尽量集中在主瓣中,这样就可以减少尖峰和余振,以提高阻带的衰减和通带的平稳性。

但实际上这两点不能兼得,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。窗函数不仅起截断作用,还能起平滑作用。

各种窗函数

  1. 矩形窗

    最简单的窗函数:从阻带衰减特性来说,性能最差,主瓣宽度为:\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}

    1700014133518.png

  2. 巴特列特窗(三角形窗)

    主瓣宽度:\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)

    1700014113794.png

  3. 汉宁窗(升余弦窗)

    主瓣宽度:\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}

    1700014094369.png

  4. 海明窗(改进的升余弦窗)

    主瓣宽度:\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}

    1700014068503.png

  5. 布莱克曼窗(二阶升余弦窗)

    主瓣宽度:\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)

    1700014009688.png

  6. 凯泽窗

    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,接近布莱克曼窗。

窗函数基本参数的比较:

1700013991353.png

窗函数设计法的基本步骤

  1. 给定所要求的理想频率响应函数H_d(e^{\mathrm j\omega})和技术指标;
  2. 计算出理想频率响应所对应的h_d(n)
  3. 确定窗函数w(n),根据阻带衰减\delta_2确定窗函数类型,根据过渡带宽\Delta\omega=\omega_s-\omega_p
  4. 计算所设计的FIR滤波器的h(n)=h_d(n)w(n)
  5. 计算所设计的滤波器的频率响应,并检验是否满足设计要求。

线性相位FIR低通滤波器的设计

  1. 找出对应的数字频率;

  2. 得到线性相位的理想滤波器的频率响应函数;

  3. 计算理想滤波器的频率响应;

  4. 确定窗函数和N值;

  5. 计算所设计滤波器的h(n)

  6. h(n)计算所设计的FIR滤波器的频率响应,并检验是否满足设计指标。

    如果不满足设计指标,取更大的N值重新设计滤波器;

线性相位FIR高通滤波器的设计

一个理想的FIR高通滤波器可以通过一个全通系统减去一个FIR理想低通滤波器来实现(两者有相同的相位响应)

1700013973012.png

线性相位FIR带通滤波器的设计

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

1700013955483.png

线性相位FIR带阻滤波器的设计

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

1700013935568.png

习题

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

  • 答案

    1700013888740.png


设计一线性相位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}

  • 答案

    1700013851555.png


设计一线性相位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}

  • 答案

    1700013812320.png


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

  • 答案

    C

0

评论区