成都理工大学2012届本科毕业设计(论文)
IIR数字滤波器的设计
利用 MATALAB工具箱分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
IIR数字滤波器的设计步骤
由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合,从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优的量化后的IIR数字滤波器,采用如下步骤进行设计。
首先计算整体传递函数的零极点;
选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶基本节的传递函数;
对于剩下的极点和零点采用与相类似的步骤,直至形成所有的二阶基本节。
通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小。
获得最优IIR数字滤波器系数:
为了设计出可用FPGA实现的数字滤波器,需要对上一步分解获得的二阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使IIR滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得最优的滤波器系数,采用以下步骤进行量化。
A计算每个系数的 绝对值;
B查找出每个系数绝对值中的最大值; C计算比此绝对值大的最小整数; D对3.2.3的结果取反获得负整数; E计算需要表示此整数的最小位数;
F计算用于表示系数值分数部分的余下位数。
除了系数存在量化误差,数字滤波器运算过程中有限字长效应也会造成误差,因此对滤波器中乘法器、加法器及寄存器的数据宽度要也进行合理的
8
成都理工大学2012届本科毕业设计(论文)
设计,以防止产生极限环现象和溢出振荡。
与FIR数字滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。
9
成都理工大学2012届本科毕业设计(论文)
第3章 滤波器的设计及实现
3.1数字滤波器设计的基本原理
滤波器是一种对信号有处理作用的器件或电路。
滤波器分为有源滤波和无源滤波,它的主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的衰减。
滤波器是由电感器和电容器构成的网路,可使混合的交直流电流分开。整流器中,即借助此网路滤净脉动直流中的涟波,而获得比较纯净的直流输出。最基本的滤波器,是由一个电容器和一个电感器构成,称为L型滤波。所有各型的滤波器,都是集合L型单节滤波器而成。基本单节式滤波器由一个串联臂及一个并联臂所组成,串联臂为电感器,并联臂为电容器。在电源及声频电路中之滤波器,最通用者为L型及π型两种。就L型单节滤波器而言,其电感抗XL与电容抗XC,对任一频率为一常数,其关系为
XL·XC=K2 (3-1)
故L型滤波器又称为K常数滤波器。倘若一滤波器的构成部分,较K常数型具有较尖锐的截止频率(即对范围选择性强),而同时对此截止频率以外的其他频率只有较小的衰减率者,称为m常数滤波器。所谓截止频率,亦即与滤波器有尖锐谐振的频率。通带与带阻滤波器都是m常数滤波器,m为截止频率与被衰减的其他频率之衰减比的函数。每一m常数滤波器的阻抗与K常数滤波器之间的关系,均由m常数决定,此常数介于0~1之间。当m接近零值时,截止频率的尖锐度增高,但对于截止频的倍频之衰减率将随着而减小。最合于实用的m值为0.6。至于那一频率需被截止,可调节共振臂以决定之。m常数滤波器对截止频率的衰减度,决定于共振臂的有效Q值之大小。若达K常数及m常数滤波器组成级联电路,可获得尖锐的滤波作用及良好的频率衰减。
简而言之,滤波,本质上是从被噪声畸变和污染了的信号中提取原始信号所携带的信息的过程。 滤波器的分类:
10
成都理工大学2012届本科毕业设计(论文)
巴特沃斯响应(最平坦响应),巴特沃斯响应能够最大化滤波器的通带平坦度。该响应非常平坦,非常接近DC信号,然后慢慢衰减至截止频率点为-3dB,最终逼近-20ndB/decade的衰减率,其中n为滤波器的阶数。巴特沃斯滤波器特别适用于低频应用,其对于维护增益的平坦性来说非常重要。
贝塞尔响应,除了会改变依赖于频率的输入信号的幅度外,滤波器还会为其引入了一个延迟。延迟使得基于频率的相移产生非正弦信号失真。就像巴特沃斯响应利用通带最大化了幅度的平坦度一样,贝塞尔响应最小化了通带的相位非线性。
切贝雪夫响应,在一些应用当中,最为重要的因素是滤波器截断不必要信号的速度。如果你可以接受通带具有一些纹波,就可以得到比巴特沃斯滤波器更快速的衰减。
本课题主要采样FIR和IIR数字滤波器对加噪语音信号进行滤波。下面就分别论述一下FIR和IIR数字滤波器的设计原理和基本步骤。 3.2 FIR数字滤波器的设计及实现
FIR:有限脉冲响应滤波器。有限说明其脉冲响应是有限的。与IIR相比,它具有线性相位、容易设计的优点。这也就说明,IIR滤波器具有相位不线性,不容易设计的缺点。而另一方面,IIR却拥有FIR所不具有的缺点,那就是设计同样参数的滤波器,FIR比IIR需要更多的参数。这也就说明,要增加DSP的计算量。DSP需要更多的计算时间,对DSP的实时性有影响。FIR滤波器的设计比较简单,就是要设计一个数字滤波器去逼近一个理想的低通滤波器。通常这个理想的低通滤波器在频域上是一个矩形窗。根据傅里叶变换我们可以知道,此函数在时域上是一个采样函数。通常此函数的表达式为:
sa(n)=sin(n∩)/n(3-2)
但是这个采样序列是无限的,计算机是无法对它进行计算的。故我们需要对此采样函数进行截断处理。也就是加一个窗函数。就是传说中的加窗。也就是把这个时域采样序列去乘一个窗函数,就把这个无限的时域采样序列截成了有限个序列值。但是加窗后对此采样序列的频域也产生了影响:此时的频域便不在是一个理想的矩形窗,而是成了一个有过渡带,阻带有波动的低通滤波器。通常根据
11
成都理工大学2012届本科毕业设计(论文)
所加的窗函数的不同,对采样信号加窗后,在频域所得的低通滤波器的阻带衰减也不同。通常我们就是根据此阻带衰减去选择一个合适的窗函数。如矩形窗、汉宁窗、汉明窗、BLACKMAN窗、凯撒窗等。
面我们着重介绍用窗函数法设计FIR滤波器的步骤。如下:
(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。
(2)构造希望逼近的频率响应函数。 (3)计算h(n).。 (4)加窗得到设计结果。
接下来,我们根据语音信号的特点给出有关滤波器的技术指标: 低通滤波器的性能指标:
fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB
高通滤波器的性能指标:
fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB
在Matlab中,可以利用函数fir1设计FIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。
MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下:
[B,A]=cheby1(N,Rp,wpo,’ftypr’) [B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’)
下面我们将给出设计FIR数字滤波器的主要程序和图像。 FIR低通滤波器程序见附录1 FIR低通滤波器图像:(图3—1)
12