脉冲响应不变法设计IIR数字滤波器.docx
- 文档编号:18057166
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:15
- 大小:67.07KB
脉冲响应不变法设计IIR数字滤波器.docx
《脉冲响应不变法设计IIR数字滤波器.docx》由会员分享,可在线阅读,更多相关《脉冲响应不变法设计IIR数字滤波器.docx(15页珍藏版)》请在冰豆网上搜索。
脉冲响应不变法设计IIR数字滤波器
第一章摘要
本设计采用脉冲响应不变法设计IIR数字低通滤波器,所以在根据脉冲响应不变法设计出来的IIR数字滤波器会很好地重现原模拟滤波器的频率特性;数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位脉冲响应,时域特性逼近好,但容易产生频谱混叠现象,只适合低通和带通滤波器的设计,不适合高通和带阻滤波器的设计。
关键词:
数字滤波器;脉冲响应不变法;频率混叠
第二章引言
数字滤波器可以满足滤波器对幅度和相位特性的严格要求,精确度高,有高度的可编程性,灵活性好,并且它没有电压飘移、温度漂移及噪声等问题,基本不受环境影响,稳定性好等。
正是由于数字滤波器的以上优点,使得数字滤波器广泛应用于语音处理、图像处理、模式识别、频谱分析、医学仪器等领域。
第三章设计原理
3.1数字滤波器
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
数字滤波实质上是一种运算过程,实现对信号的运算处理。
输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。
描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。
时域离散系统的频域特性:
其中
、
分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),
是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。
输入序列的频谱
经过滤波后
因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择
,使得滤波后的
满足设计的要求,这就是数字滤波器的滤波原理。
3.2脉冲响应不变法
脉冲响应不变法是实现模拟滤波器数字化的一种直观而常用的方法。
它特别适合于对滤波器的时域特性有一定要求的场合。
脉冲响应不变法的核心原理是通过对连续函数ha(t)等间隔采样得到离散序列ha(nT)。
令h(n)=ha(nT),T为采样间隔。
它是一种时域上的转换方法。
一个模拟滤波器的传递函数可以用有理分式表达式表示为:
(3-1)
通过反拉普拉斯变换我们就可以得到它的冲激相应:
(3-2)
脉冲响应不变法就是要保证脉冲响应不变,即:
(3-3)
对上式的冲激相应序列
作
变换,就可以得到数字滤波器的传递函数:
(3-4)
一般来说,
的分母多项式阶次总是大于分子多项式的阶次。
假定
的没有多重极点,则式
(1)就可分解为:
(3-5)
式中
,
均为复数,
是
的极点。
其拉氏变换为
一般来说,
的分母多项式阶次总是大于分子多项式的阶次。
数字滤波器的传递函数H(z)经过合并简化,成为一般形式的有理分式传递函数
(3-6)
在讨论采样序列z变换与模拟信号拉氏变换之间关系的有关章节中,我们已经知道
(3-7)
按照z=
的关系,每一个s平面上宽度为
/T的水平条带将重迭映射到z平面上。
因此脉冲响应不变法将s平面映射到z平面,不是一个简单的一一对应的关系。
对于高采样频率(T小)的情况,数字滤波器在频域可能有极高的增益。
为此我们采用
(3-8)
(3-9)
在脉冲响应不变法设计中,模拟频率与数字频率之间的转换关系是线性的(
)。
同时,它可以保持脉冲响应不变,
=
。
因此,这一方法往往用于低通时域数字滤波器设计及相应的模拟系统数字仿真设计。
3.3巴特沃斯低通滤波器
巴特沃斯滤波器的特点是同频带内的频率响应曲线最为平坦,没有起伏,而在组频带则逐渐下降为零。
在振幅的对数对角频率的波特图上,从某一边界见频率开始,振幅随着角频率的增加而逐渐减少,趋向于负无穷大。
一阶巴特沃斯滤波器的衰减率为每倍频20分贝,二阶巴特沃斯滤波器的衰减率为每倍频12分贝,三阶的衰减率为每分贝18分贝,如此类推,巴特沃斯滤波器的振幅对角频率单调下降,并且滤波器的结束越高,在组频带振幅衰减速度越快,其他滤波器高阶的振幅对角频率图和低阶数的振幅对角频率有不同的形状。
(3-10)
上述函数的特点是等距离分布在半径为
的圆上。
因此,极点用下式表示为
(3-11)
的表示式:
(3-12)
为了使设计公式和图表统一,将频率归一化。
巴特沃斯滤波器采用3dB截止频率
归一化,归一化后的系统函数为
(3-13)
令
称为归一化频率,
称为归一化复变量,这样巴特沃斯滤波器的归一化低通原型系统函数为
(3-14)
式中,
,为归一化极点,用下式表示:
(3-15)
第四章设计过程
利用模拟滤波器来设计IIR低通数字滤波器是常用的方法,称之为模拟一数字转换法。
4.1设计步骤
利用在MATLAB设计IIR数字滤波器可分以下几步来实现
(1)按一定规则将数字滤波器的技术指标转换为模拟低通滤波器的技术指标;
(2)根据转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率Wc;
(3)利用最小阶数N产生模拟低通滤波原型;
(4)利用截止频率Wc把模拟低通滤波器原型转换成模拟带通原型;
(5)利用冲激响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。
4.2频率混叠现象
数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。
只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真。
即
|w|<π
(4-1)
但是,任何一个实际的模拟滤波器频率响应都不是严格限带的(非理想),变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真。
这时数字滤波器的频响就不同于原模拟滤波器的频响,而是有一定的失真。
当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。
这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果
图4.1脉冲响应不变法的频率混叠现象
总结以上,脉冲响应不变法的优点是频率坐标变换是线性的,即W=,如果不考虑频率混叠现象,用这种方法设计的数字滤波器会很好地重现原模拟滤波器的频率特性。
另一个优点是数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位脉冲响应,时域特性逼近好。
其缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响。
脉冲响应不变法适合低通、带通滤波器的设计,不适合高通、带阻滤波器的设计。
第五章程序设计
5.1设计巴特沃斯模拟滤波器
5.1.1模拟滤波器设计程序
clear
Fs=1000;%采样频率为周期倒数
Wp=200*pi;
Ws=600*pi;%设置归一化通带和阻带截止频率
Ap=3;
As=20;%设置通带最大和最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%调用butter函数确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,'s');%调用butter函数设计巴特沃斯滤波器
W=(0:
pi:
1000*pi);%指定一段频率值
hs=freqs(B,A,W);%计算模拟滤波器的幅频响应
plot(W/pi/2,abs(hs)/abs(hs
(1)));%绘出巴特沃斯模拟滤波器的扶贫特性曲线
gridon;
title('巴特沃斯模拟滤波器');
xlabel('频率/Hz');
ylabel('归一化幅值');
5.1.2用分贝显示幅值
clear
Fs=1000;%采样频率为周期倒数
Wp=200*pi;
Ws=600*pi;%设置归一化通带和阻带截止频率
Ap=3;
As=20;%设置通带最大和最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%调用butter函数确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,'s');%调用butter函数设计巴特沃斯滤波器
W=(0:
pi:
1000*pi);%指定一段频率值
hs=freqs(B,A,W);%计算模拟滤波器的幅频响应
hs0=abs(hs)/abs(hs
(1))
hs1=20*log10(hs0)
plot(W/pi/2,hs1);%绘出巴特沃斯模拟滤波器的幅频特性曲线
gridon;
title('巴特沃斯模拟滤波器');
xlabel('频率/Hz');
ylabel('分贝/db');
5.2设计巴特沃斯数字滤波器
5.2.1数字滤波器设计程序
clear
Fs=1000;%采样频率为周期倒数
Wp=200*pi;
Ws=600*pi;%设置归一化通带和阻带截止频率
Ap=3;
As=20;%设置通带最大和最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%调用butter函数确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,'s');%调用butter函数设计巴特沃斯滤波器
W=(0:
pi:
1000*pi);%指定一段频率值
[D,C]=impinvar(B,A,Fs);%调用脉冲响应不变法
W=(0:
0.001*pi:
pi)
Hz=freqz(D,C,W);%返回频率响应
plot(W/pi,abs(Hz)/abs(Hz
(1)));%绘出巴特沃斯数字低通滤波器的扶贫特性曲线
gridon;
title('巴特沃斯模拟滤波器');
xlabel('频率/Hz');
ylabel('归一化幅值');
5.2.2用分贝显示幅值
clear
Fs=1000;%采样频率为周期倒数
Wp=200*pi;
Ws=600*pi;%设置归一化通带和阻带截止频率
Ap=3;
As=20;%设置通带最大和最小衰减
[N,Wc]=buttord(Wp,Ws,Ap,As,'s');%调用butter函数确定巴特沃斯滤波器阶数
[B,A]=butter(N,Wc,'s');%调用butter函数设计巴特沃斯滤波器
W=(0:
pi:
1000*pi);%指定一段频率值
hs=freqs(B,A,W);%计算出模拟滤波器的幅频响应
[D,C]=impinvar(B,A,Fs);%调用脉冲响应不变法
W=(0:
0.001*pi:
pi);
Hz=freqz(D,C,W);%返回频率响应
Hz0=abs(Hz)/abs(Hz
(1));
Hz1=20*log10(Hz0);
plot(W/pi,Hz1);%绘出巴特沃斯数字低通滤波器的幅频特性曲线
gridon;
title('巴特沃斯数字滤波器');
xlabel('频率/Hz');
ylabel('分贝/db');
5.3程序中涉及到的函数介绍
Buttord
功能:
用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
[N,wc]=buttord(wp,ws,αp,αs)调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:
0≤wp≤1,0≤ws≤1。
1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc作为butter函数的调用参数。
[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率。
Butter
功能:
利用butter函数直接设计各种形式的数字滤波器(也可以设计模拟滤波器)
[B,A]=BUTTER(N,Wn),设计一个阶数为n,频率为Wn的低通滤波器;
[B,A]=BUTTER(N,Wn,ftype)可以设计高通,带阻滤波器,其中ftype参数的形式可以指定何种滤波器,
ftype为‘high’时,设计一个阶数为n,频率为Wn的高通滤波器;ftype为‘stop’时,得到滤波器阶数为2*n,频率范围为Wn=[W1,W2]的带阻滤波器;
[Z,P,K]=BUTTER(...),若返回值是三个,则分别是滤波器的零点,极点和增益,其他函数的参数同上面。
Plot(X,Y)
功能:
绘制线性二维图形当X,Y均为实数向量时,并且为维数相同,X=[X(i)],Y=[Y(i)],则plot(X,Y)先描述点(X(i),Y(i)),然后依次画线;当X,Y均为复数向量时,则不考虑虚数部分;当X,Y均为实数矩阵时,并且为维数相同,plot依次按照对应的列画出线,矩阵有几列就有几条线;当X,Y一个为向量,一个为矩阵时,并且向量的维数等于矩阵的行数或者列数,则把矩阵按照向量的方向分解为几个向量,在与向量配对分别画图,矩阵分解几个向量就有几条线。
Gridon
2维/3维绘图设置网格线
grid
功能:
来设置当前坐标系的网格线的开/闭。
gridon
功能:
对当前坐标系添加主要网格线。
gridoff
功能:
对当前坐标系移除主要/细节网格线。
grid(axes_handle,...)
输入:
axes_handle——坐标系句柄
功能:
对指定的坐标系设置网格线是否显示。
gridminor
功能:
对当前坐标系设置添加细节网格
Impinvar
功能:
用“脉冲响应不变法”将模拟滤波器离散化。
[BZ,AZ]=impinvar(B,A,Fs)
把具有[B,A]模拟滤波器传递函数模型转换成采样频率为Fs(Hz)的数字滤波器的传递函数模型[BZ,AZ]。
采样频率Fs的默认值为Fs=1。
Freqz、Freqs
Freqz是计算数字滤波器的频率响应的函数
Freqs是计算模拟滤波器的频率响应的函数
[H,F]=freqz(B,A,N,Fs)其中B/A提供滤波器系数B为分子A为分母(b0+b1Z^-1+....)/(a0+a1Z^-1+....)N表示选取单位圆的上半圆等间距的N个点作为频响输出;Fs为采样频率,该参数可以省略H为N个点处的频率响应复值输出向量,其模即为频响幅值曲线幅值20log10(abs(H))DB,其幅角angle(H)即为频响相位曲线相位值。
F为与第N点处对应的频率值f(Hz),如果Fs参数省略时,则频率值w为rad/sample,w=2*pi*f/Fs
[H,F]=freqz(B,A,N,'whole')
其参数意义如上,只是调用时角频率的范围由0-pi扩展到了0-2*pi,F返回的是离散系统频率响应H(exp(j*w))在0-2*pi范围内N个频率等分点的对应
样值的列向量。
freqz(B,A,,N),调用时并不返回系统频率响应的样值,而是直接绘制系统的幅频和相频特性曲线。
但要注意,该调用绘制的是对数幅频特性曲线
freqz(B,A,N,'whole'),调用时绘制0-2*pi频率范围内系统对数幅频和相频特性曲线
freqs的功能与freqz类似。
Filter
功能:
FILTER是一维数字滤波器
Y=FILTER(B,A,X),输入X为滤波前序列,Y为滤波结果序列,B/A提供滤波器系数,B为分子,A为分母整个滤波过程是通过下面差分方程实现的:
a
(1)*y(n)=b
(1)*x(n)+b
(2)*x(n-1)+...+b(nb+1)*x(n-nb)-a
(2)*y(n-1)-...-a(na+1)*y(n-na)
[Y,Zf]=FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A提供滤波器系数,B为分子,A为分母,并输入Zi指定X的初始状态,Zf为最终状态矢量
第六章运行波形
6.1巴特沃斯模拟滤波器幅频响应
巴特沃斯模拟滤波器运行波形图如下
图6.1巴特沃斯模拟低通滤波器归一化幅频响应
图6.2巴特沃斯模拟低通滤波器幅频响应(分贝)
如图6.1、6.2所示,模拟低通滤波器的幅频响应与所给参数基本相符。
300Hz处的幅值衰减为20db,100Hz处的幅值衰减为1db。
通带的指标与要求略有出入,这是因为在程序中计算的时候调用的公式保证了阻带衰减,而通带的指标有富余。
6.2巴特沃斯数字滤波器幅频响应
数字滤波器的幅频响应图横轴为数字域频率,数字域频率为模拟角频率对采样频率的归一化频率。
程序设计中,横轴为数字域频率除以π后的值,所以横轴为0-1。
图6.3巴特沃斯数字低通滤波器归一化幅频响应
图6.4巴特沃斯数字低通滤波器幅频响应(分贝)
如图6.3、6.4所示,数字滤波器的幅频响应与模拟滤波器的幅频响应基本一致。
数字滤波器仍然是因果稳定的,数字滤波器的幅频响应模仿模拟滤波器的幅频响应,未发生频谱混叠,达到设计要求。
第七章心得体会
通过这一周数字信号处理的课程设计,熟悉了MATLAB的运行环境,了解更多有关于Matlab软件的知识,初步掌握了MATLAB语言在数字信号处理中一些基本库函数的调用和编写基本程序等应用;通过对数字低通滤波器的设计让我熟悉了滤波器设计的一般原理,对滤波器有了一个感性的认识;学会了数字低通滤波器设计的一般步骤;加深了对脉冲响应不变法的理解和认识。
在设计的过程中,我也认识到了自己所学知识的不足。
以前上课都是学一些基本的东西,自以为知识掌握的很熟练,实际只是了解了最表面的东西,好多理论只是不能很好的应用于实践,现在运用学到得的东西做出有实际应用价值的东西,对所学知识点进一步的理解,并进行系统化。
这也让我再次认识到知识是无尽的,只有不断的充实自己、完善自己的知识理论体系,才能够更好的胜任自己以后的工作。
设计过程中知识的不足也让我更加坚定了终身学习的决心。
第八章参考文献
1 薛年喜MATLAB在数字信号处理中的应用(第二版)清华大学出版社,20082谢平王娜林洪彬信号处理原理及应用机械工业出版社,2009
3吴湘淇肖煕郝晓莉信号系统与信号处理的软硬件实现电子工业出版社2002年
4周浩敏.王睿.测试信号处理技术.北京航空航天大学出版社,2005年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 脉冲响应 变法 设计 IIR 数字滤波器