IIR数字滤波器双线性变换法的设计.docx
- 文档编号:15446299
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:20
- 大小:178.20KB
IIR数字滤波器双线性变换法的设计.docx
《IIR数字滤波器双线性变换法的设计.docx》由会员分享,可在线阅读,更多相关《IIR数字滤波器双线性变换法的设计.docx(20页珍藏版)》请在冰点文库上搜索。
IIR数字滤波器双线性变换法的设计
泰山学院
本科毕业论文(设计)
IIR数字滤波器双线性变换法的设计
所在学院物理与电子工程学院
专业名称通信工程
申请学士学位所属学科工学
年级二〇一一级
学生姓名、学号
指导教师姓名、职称
完成日期二〇一五年五月三十日
摘要
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域,而数字滤波器(DF,DigitalFilter)在数字信号处理中起着重要的作用并已获得广泛应用。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
本论文主要利用matlab的信号处理工具箱设计一个IIR数字高通滤波器,并用此滤波器处理一段音频信号。
文中主要介绍了用双线性变换法设计切比雪夫Ⅰ型高通数字滤波器的实现方法。
关键字:
数字信号处理IIR数字滤波器切比雪夫Ⅰ双线性变换MATLAB
1引言
IIR(无限长单位脉冲响应)数字滤波器是可以借助模拟滤波器的设计理论和设计方法来设计的,现有的模拟滤波器的设计理论比较都是比较成熟的,有相对比较简单的、现成的公式和设计图表,我们可以根据设计的指标,利用设计的手册进行设计,方便、准确、设计工作量较小。
设计数字滤波器,根据模拟滤波器的设计理论,有两种方法:
双线性变换法和脉冲响应不变法。
虽然使用第二种方法脉冲响应不变法时,数字滤波器时域瞬态的特性可以保持,但是时域采样时将会造成频域的混叠失真,这样会影响结果,不能用来设计高通滤波器和带阻滤波器。
而双线性变换法不但不会产生上述方法的频率特性的混叠失真,而且可以设计低通、高通、带阻、带通等各种类型的数字滤波器,而且设计方法简单,应用普遍又有效。
由美国MathWorks公司推出的软件产品MATLAB,是一款功能很强、效率很高,而且可以可视化,方便进行科学、工程计算的交换式软件包,MATLAB中包含的各种函数可以快捷、方便地为数字信号处理的各项内容提供对的答案和图形显示。
本论文通过其GUI功能设计制作,在MATLAB设计的GUI界面中,选择数字滤波器的性能指标参数,再通过编写的程序的运行,便可以得到所设计数字滤波器的相位特性、系统函数和幅频特性等相关的数据和图形,还有给定的信号滤波前后的频率特性等,从而更好地分析所设计滤波器的性能。
2数字滤波器
2.1数字滤波器介绍
数字滤波器(DF,DigitalFilter),顾名思义,是对输入信号起到滤波作用,其输入、输出都是数字信号,它是一种具有一定的传输选择特性功能的数字信号处理装置,实质上则是用有限精度算法来实现的一个线性时不变的时域离散系统。
数字滤波器的基本工作原理就是对系统输入的信号,来利用离散系统特性进行加工、变换,从而改变其输入序列的频谱或信号波形,让那些有用频率的信号分量地通过,而那些无用的信号,则被抑制,分量地输出。
数字滤波器和模拟滤波器都有着同样的滤波概念,根据他们的频率响应特性可以分为低通、高通、带通和带阻等类型。
数字滤波器同模拟滤波器相比较,除了数字信号处理所具有抗干扰强、设备尺寸小、造价低、效率高、能耗低等固有优点外,还具有滤波精度高、稳定性好和灵活性强等优点。
时域离散系统的频域特性:
其中
为数字滤波器的输出序列的频域特性,
为输入序列的频域特性,
为数字滤波器的单位取样响应的频谱,又称其为数字滤波器的频域响应。
输入序列的频谱
经过滤波后,即
。
所以,只要按照输入信号频谱的特点和处理信号的目的,选取合适的
,使得滤波后的
满足设计的要求,这便是数字滤波器的工作原理。
从实现方法上,数字滤波器根据其冲激响应函数的时域特性,可分为两种:
IIR(无限长冲激响应)数字滤波器和FIR(有限长冲激响应)数字滤波器。
IIR数字滤波器的特征是,其单位冲激响应是无限长的,需要用递归模型
来实现,其差分方程为:
(1-1)
系统函数为:
(1-2)
IIR滤波器的设计就是寻求一个物理上可实现的系统函数H(z),能够使其频率响应H(z)达到所希望得到的频域指标,即符合要求的通带截止频率、阻带截止频率、通带衰减系数、阻带衰减系数。
2.2IIR数字滤波器设计原理
IIR数字滤波器为一种离散的
时间系统,它的系统函数为
(1-3)
假设M≤N,当M>N时,可将系统函数看作一个IIR数字滤波器的子系统和一个(M-N)的FIR数字滤波器的子系统的级联。
IIR的设计其实就是求解滤波器的系数
和
,在规定意义上(通常采用最小均方误差准则)去逼近系统的特性,这在数学上的是一种逼近问题。
当在S平面上去逼近时,就会得到模拟滤波器;而当在z平面上去逼近时,就会得到DF。
设计高通DF一般可归纳为如下图所示的两种方法。
方法1
方法2
图1-1数字高通滤波器的两种设计方法
方法1:
先设计一个模拟原型低通滤波器,设计好之后再通过频率变换,变成所需要的模拟高通滤波器,最后,使用冲激不变法或双线性变转换成相应的高通DF。
方法2:
首先,设计一个模拟原型低通滤波器,其次再用冲激响应不变法或双线性变换法将其转换成原型低通DF,最后,利用频率变换将其变换成所需要的高通DF。
本论文采用的是第一种设计方法,首先设计一个切比雪夫Ⅰ型模拟低通滤波器,然后再将其转换成模拟高通滤波器,最后再使用双线性变换将模拟高通滤波器转换成高通DF。
2.2.1切比雪夫滤波器
我们在设计IIR数字滤波器时,为了能从模拟滤波器出发,需要先设计一个满足技术指标的模拟滤波器(把DF的指标转换成模拟滤波器的指标),所以,必须先设计对应的模拟原型滤波器。
众所周知,模拟滤波器的理论和设计方法已经很成熟,不仅有完整的设计公式,还有完善的图表和曲线供查阅,另外,还有一些典型的模拟滤波器供我们选择,如巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些典型的滤波器都有不同的特色。
这里仅介绍切比雪夫滤波器。
切比雪夫滤波器的幅频特性在通带或者阻带有等波纹特性,可以提高选择性。
通过观察巴特沃斯滤波器的频率特性曲线,我们得知,在通带内,它的幅度特性是单调下降的,当阶数N一定时,则在靠近截止频率
时,幅度下降很多。
也就是说,需要的阶次N很高,才能够使通带内的衰减足够小。
要想克服这一缺点,我们可以用切比雪夫多项式,利用它来逼近所希望的
。
因为切比雪夫滤波器的
在通带范围内是具有等波纹性,所以在同样通常内衰减要求下,它的阶数要比巴特沃兹滤波器的小。
切比雪夫滤波器的振幅平方函数为
(1-4)
式中Ωc为有效通带截止频率,
表示与通带波纹有关的参量,
值越大波动幅度也越大。
VN(x)是N阶切比雪夫多项式,定义为
(1-5)
切比雪夫滤波器的振幅平方特性如图所示:
当N是偶数时,cos2(
)=1,得到min,
,
(1-6)
当N是奇数时,cos2(
,得到max,
(1-7)
图1-2切比雪夫滤波器的振幅平方特性
有关参数的确定:
a、通带截止频率:
预先给定;
b、
与通带波纹有关的参数,通带波纹表示成
(1-8)
所以,
给定通带波纹值
分贝数后,可求得
。
c、阶数N:
由阻带的边界条件确定。
、A2为事先给定的边界条件,即在阻带中的频率点处
要求滤波器频响衰减到1/A2以上。
(1-9)
(1-10)
(1-11)
(1-12)
所以,要求阻带边界频率处衰减越大,要求N也越大,参数N,
给定后,查阅有关模拟滤波器手册,就可求得系统函数Ha(s)。
2.2.2双线性变换法
冲激响应法,从S平面到Z平面是多值的映射关系,所以可能会产生频率响应的混叠失真,为了克服这一缺点,我们采用非线性频率压缩方法。
首先,把整个频率轴上的频率范围压缩到-π/T~π/T之间,然后用z=esT转换到Z平面上,即首先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;然后通过标准变换关系z=es1T把这个横带变换到整个Z平面上去。
这样下来,就会让S平面与Z平面建立起一个一一对应的单值关系,从而多值变换性就被消除了,即频谱混叠现象也被消除了,映射关系如下图1-3
图1-3双线性变换的映射关系
为把S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,我们可以通过利用正切变换来实现
(1-13)
上式中,T仍是采样间隔。
当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也就将整个jΩ轴映射了。
将式(1-9)写成
(1-14)
把这个关系的解析延拓到整个S平面和S1平面上,令jΩ=s,jΩ1=s1,则得
(1-15)
再把S1平面利用以下标准变换关系映射到Z平面上
z=es1T
便得到了S平面和Z平面的单值映射关系:
(1-16)
(1-17)
式(1-10)与式(1-11)是S平面与Z平面两者间的单值映射关系,而他们都是两个线性函数之比的变换,所以称之为双线性变换
式(1-9)与式(1-10)的双线性变换把映射变换的两点应满足的要求全符合了。
首先,把
可得
(1-18)
也就是把S平面的虚轴映射到了Z平面的单位圆上。
其次,把s=σ+jΩ代入式(1-12),得
因此
(1-19)
由此可得,如果σ<0,则|z|<1;如果σ>0,则|z|>1,即把S平面的左半平面映射到Z平面的单位圆内,把S平面的右半平面映射到Z平面的单位圆外,把S平面的虚轴映射到Z平面的单位圆上。
所以可以肯定的是,将稳定的模拟滤波器经双线性变换后得到的数字滤波器也是稳定的。
而双线性变换法也不是完美的,也有优点和缺点。
双线性变换法与脉冲响应不变法相比,能够避免频率响应的混叠现象是它的最大的优点。
这是因为,S平面和Z平面为单值的一一对应的关系。
S平面jΩ轴和Z平面单位圆一周单值地对应,也就是频率轴为单值变换的关系。
这个关系如上面提到的式(1-12)所示,如下:
(1-20)
上式表明,S平面上的Ω与Z平面的上的ω为非线性的正切关系,如图1-4所示。
由图1-4看出,在零频率附近,模拟角频率Ω和数字频率ω之间的变换关系近似于线性关系;而如果Ω进一步增加,ω却增长得越来越慢,直到最后,当Ω→∞时,ω停止在折叠频率ω=π处,所以双线性变换将不会出现因为高频部分高于了折叠频率而混淆到低频部分上去的现象,便消除了频率混叠的现象。
图1-4双线性变换法的频率变换关系
但是由于双线性变换的这个特点是利用频率的很大的非线性关系才得到的,如式(1-12)及图1-4所示,这种频率间的非线性变换关系,所以便产生了新的问题。
第一,通过双线性变换,把线性相位的模拟滤波器转换为非线性相位的数字滤波器,将不会再保持原来的线性相位了;第二,模拟滤波器的幅频响应必须是分段常数型的,才能得到这种非线性关系,也就是某一频率段的幅频响应近似于某一常数,否则同原模拟滤波器相比,变换所产生的数字滤波器的幅频响应会有畸变,如图1-5所示。
图1-5双线性变换法幅度和相位特性的非线性映射
对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。
也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。
3数字滤波器设计实现
3.1设计步骤
根据以上IIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一个IIR带通滤波器。
(1)确定性能指标
在设计高通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:
通带截止频率fp=3200Hz;阻带截止频率fs=3000Hz;阻带最小衰减As=100dB和通带最大衰减Ap=1dB;
(2)把频率转化为数字角频率
wp=2*pi*fp*T;
ws=2*pi*fs*T;
(3)频率预畸变以及模拟高通性能指标转换成模拟低通性能指标
用Ω=2/T*tan(w/2)对高通数字滤波器H(z)的数字边界频率预畸变,得到高通模拟滤波器H(s)的边界频率主要是通带截止频率Wp;阻带截止频率Ws的转换。
抽样频率FS=8000Hz。
通带截止频率Wp2=(2/T)*tan(wp/2)
阻带截止频率Ws2=(2/T)*tan(ws/2)
(4)模拟低通滤波器的构造
借助切比雪夫(Chebyshev)滤波器得到模拟低通滤波器的传输函数Ha(s)。
[N,Wn]=buttord(wp2,ws2,Ap,As,'s');
[z,p,k]=buttap(N);
[Bap,Aap]=zp2tf(z,p,k);
G1=tf(Bap,Aap);
(5)模拟低通滤波器转换成模拟高通滤波器
调用lp2bp函数将模拟低通滤波器转化为模拟高通滤波器。
[Bbs,Abs]=lp2hp(Bap,Aap,Wn);
(7)模拟高通滤波器转换成数字高通滤波器
利用双线性变换法将模拟高通滤波器Ha(s)转换成数字高通滤波器H(z)。
[Bbz,Abz]=bilinear(Bbs,Abs,FS);
3.2程序流程图
首先确定性能指标,把频率转化为数字角频率,进而在进行频率预畸变,用Ω=2/T*tan(w/2)对高通数字滤波器H(z)的数字边界频率预畸变,得到高通模拟滤波器H(s)的边界频率主要是通带截止频率Wp;阻带截止频率Ws的转换。
抽样频率fs=10KHz。
上述准备工作做好之后,就先把模拟高通性能指标转换成模拟低通性能指标,然后设计模拟低通滤波器,借助切比雪夫(Chebyshev)滤波器得到模拟低通滤波器的传输函数Ha(s)。
然后将模拟低通滤波器转化为模拟高通滤波器。
最后利用双线性变换法将模拟高通滤波器Ha(s)转换成数字高通滤波器H(z)。
↓
图2-1程序流程图
3.3音频信号部分程序
(1)写入声音信号
[y,FS,nbits]=wavread('C:
\SHE.wav');
N=length(y);
Y=fft(y,N);
(2)产生噪声并加到声音中
noise=1+0.1*randn(N,1);
yn=y+noise;
sound(yn,FS,nbits);
HPASSyn=filter(Bbz,Abz,yn);
HPASSYN=fft(HPASSyn);
3.4仿真结果
3.4.1滤波器性能仿真
源程序设计了模拟低通滤波器、模拟高通滤波器与数字高通滤波器,对数字高通滤波器的性能仿真如下:
图2-2滤波器性能仿真
3.4.2滤波器除噪性能
为了实现滤波器的应用,程序中加入了有噪声的音频信号,通过对其滤波处理,来显示数字高通滤波器的功能,下面显示未加入噪声,加入噪声和滤波后的频谱波形图。
图2-3未加噪声的音频特性
图2-4滤波前后的音频特性
由图可知,在1K到2.4K的频率范围内,滤波器的滤波效果较好,把噪声基本上全部滤除掉了。
4总结
在拿到题目的那一刹,我被吓着了,赶紧去图书馆找材料,开始解剖题目,知道了什么是切比雪夫、什么是双线性变换,什么是巴特沃斯,学了那么久的MATLAB从没看到这些个东西,在网上瞎搜了一阵,到是搜到了一些相关的源程序,头都看大了,最终终于写出来了一个理想的程序。
这次课设下来,对设计带通数字滤波器的整个过程有了很好的掌握,懂得了设计滤波器的基本方法,对双线性变换法,切比雪夫滤波器有了一定了解,同时呢也熟悉了MATLAB的环境,巩固了相关知识。
最大的收获是初步了解了数字滤波器的原理及设计方法,加深了对滤波器的认识,一切从零开始,虽然没有以绝对完美结束,但在这么短的时间内能够设计成功已经出乎意料之外了,总之,收获还是很大的。
在做本次课程设计的过程中,我深深地感受到了自己所学到知识的有限,明白了只学好课本上的知识是不够的,要通过图书馆和互联网等各种渠道来扩充自己的知识。
在实验过程中我们曾经遇到过问题。
但是从中我们学习到了如何对待遇到的困难,进一步培养了我们一丝不苟的科学态度和不厌其烦的耐心。
所有的这些心得会对我以后的学习和工作有帮助作用,忠心感谢学校给我们提供这次实验机会。
参考文献
[1]程佩青.数字信号处理.北京:
清华大学出版社,2007.2
[2]景振毅,张泽兵,董霖.北京:
中国铁道出版社,2008.12
[3]从玉良.数字信号处理原理及其MATLAB实现[M].北京:
电子工业出版社.2009.7
[4]胡广书.数字信号处理理论、算法与实现[M].北京:
清华大学出版社.2003.8
附录
源程序
clear
%技术指标
FS=8000;T=1/FS;%采样频率大于3200HZ的两倍
fp=3200;
fs=3000;
Ap=1;
As=20;
wp=fp*2*pi*T;
ws=fs*2*pi*T;
wp2=2*tan(wp/2)/T;ws2=2*tan(ws/2)/T;
[N,Wn]=buttord(wp2,ws2,Ap,As,'s');
[z,p,k]=buttap(N);
[Bap,Aap]=zp2tf(z,p,k);
G1=tf(Bap,Aap);
figure
(1);
freqs(Bap,Aap);title('模拟低通滤波器的频率响应')
[Bbs,Abs]=lp2hp(Bap,Aap,Wn);%模拟低通转化为模拟高通
figure
(2);
freqs(Bbs,Abs);
title('模拟高通滤波器的频率响应')
[Bbz,Abz]=bilinear(Bbs,Abs,FS);%双线性变化把模拟高通转化为数字高通
figure(3);
freqz(Bbz,Abz,512,FS);
title('数字滤波器的频率响应')
figure(4);
[y,FS,nbits]=wavread('C:
\SHE.wav');
N=length(y);Y=fft(y,N);
subplot(2,1,1);
plot(y);title('原始信号波形');
subplot(2,1,2);
plot(abs(Y));title('原始信号频谱');
>>noise=1+0.1*randn(N,1);
yn=y+noise;sound(yn,FS,nbits);
HPASSyn=filter(Bbz,Abz,yn);
HPASSYN=fft(HPASSyn);
figure(5);
subplot(2,1,1);
plot(HPASSyn);title('滤波后信号波形');
subplot(2,1,2);
plot(abs(HPASSYN));title('滤波后信号频谱');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR 数字滤波器 双线 变换 设计