基于双线性变换法的IIR数字高通滤波器设计教材.docx
- 文档编号:12331496
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:19
- 大小:262.06KB
基于双线性变换法的IIR数字高通滤波器设计教材.docx
《基于双线性变换法的IIR数字高通滤波器设计教材.docx》由会员分享,可在线阅读,更多相关《基于双线性变换法的IIR数字高通滤波器设计教材.docx(19页珍藏版)》请在冰豆网上搜索。
基于双线性变换法的IIR数字高通滤波器设计教材
基于双线性变换法的IIR数字高通滤波器设计
摘要
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,DigitalFilter)。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。
Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。
尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。
本次主要利用matlab的信号处理工具箱设计一个数字高通IIR滤波器,并用此滤波器处理一段音频信号。
此报告重点介绍了用双线性不变法设计IIR数字滤波器的基本流程,比较了各种设计方法的优缺点,总结了模拟滤波器的性能特征。
最后以双线性不变法设计了一个高通巴特沃斯IIR数字滤波器,介绍了设计步骤,然后在Matlab环境下进行了仿真与调试,实现了设计目标。
关键字IIR数字滤波器巴特沃斯高通双线性变换MATLAB
Abstract
Withtheinformationera andtheadventofthedigitalworld, digitalsignalprocessinghasbecomeoneof theimportant fieldsofscienceandtechnology.Inthedigitalsignalprocessingplaysan importantrole andhasbeenwidelyapplied inthe digital filter.Digital filterisa discretetime signalis usedtofilter the digital system,throughthe mathematicalprocessingof sampling datato reachthegoaloffrequencydomainfilterin.ImplementationofIIR filterorder islow, lessstorageunit, with highefficiency, highprecision, andcankeepsomesimulationcharacteristicsof filter, soaverywideapplication.Matlabsoftwarebasedonmatrixcomputation, thecalculation,visualizationandprogramdesignoforganic integrationtointeractiveenvironment, and providesanintuitive, efficient, convenienttool forthe researchandapplicationofdigital filter..
The main useof signalprocessing toolboxofMATLAB todesignadigital high-passIIRfilter, and anaudiosignal withthe filter.Thisreport focusesonthe basicprocessof usingthebilinearinvariant IIRdigitalfilterdesign, comparestheadvantagesanddisadvantagesof various designmethods, summarizesthecharacteristicsof theanalogfilter.Finally, bybilinear invariant todesigna high ButterworthIIRdigitalfilter, introducesthedesign steps, andthen intheMatlabenvironmentfor thesimulation anddebugging, achievesthedesigngoal.
Keywords IIR Butterworthhigh-pass bilineartransform MATLABdigitalfilter
目录
摘要I
AbstractII
1.数字滤波器1
1.1数字滤波器介绍1
1.2IIR数字滤波器设计原理2
1.2.2双线性变换法3
2.数字滤波器设计实现6
2.1典型模拟滤波器比较6
2.2设计步骤6
2.3程序流程图7
2.4音频信号部分程序8
2.5仿真结果9
2.5.1滤波器性能仿真9
2.5.2滤波器除噪性能10
3.总结11
致谢11
参考文献12
附录13
1.数字滤波器
1.1数字滤波器介绍
数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高(与系统字长有关)、稳定性好(仅运行在0与l两个电平状态)、灵活性强等优点。
时域离散系统的频域特性:
,其中
,
分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),
是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。
输入序列的频谱
经过滤波后
。
因此,只要按照输入信号频谱的特点和处理信号的目的,适当选择
,使得滤波后的
满足设计的要求,这就是数字滤波器的滤波原理。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。
IIR数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型
来实现,其差分方程为:
系统函数为:
设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。
1.2IIR数字滤波器设计原理
IIR数字滤波器是一种离散时间系统,其系统函数为
假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。
IIR数字滤波器的设计实际上是求解滤波器的系数
和
,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。
如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。
设计通数字滤波器通常可以归纳为如图所示的两种常用方法。
双线性变换
交换频率
方法1
双线性变换
方法2
图1-1数字带通滤波器设计的两种方法
方法1:
首先设计一个模拟原型低通滤波器,然后通过频率变换成所需要的模拟高通滤波器,最后再使用冲激不变法或双线性变换成相应的数字高通滤波器。
方法2:
先设计一个模拟原型低通滤波器,然后采用冲激响应不变法或双线性变换法将它转换成数字原型低通滤波器,最后通过频率变换把数字原型低通滤波器变换成所需要的数字高通滤波器。
本课程设计采用第一种设计方法,先构造一个巴特沃斯模拟低通滤波器,然后将模拟低通滤波器转换成模拟高通滤波器,最后利用双线性变换将模拟高通滤波器转换成数字高通滤波器。
1.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段上,可以通过以下的正切变换实现
式中,T仍是采样间隔。
当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。
将式(1-9)写成
将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得
再将S1平面通过以下标准变换关系映射到Z平面
z=es1T
从而得到S平面和Z平面的单值映射关系为:
这两个关系式是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换
首先,把
可得
即S平面的虚轴映射到Z平面的单位圆。
其次,将
代入,得
因此
由此看出,当
<0时,|z|<1;当
>0时,|z|>1。
也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。
因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。
双线性变换法优缺点:
双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。
这是因为S平面与Z平面是单值的一一对应关系。
S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。
这个关系重写如下:
上式表明,S平面上Ω与Z平面的ω成非线性的正切关系,如图1-4所示。
由图1-4看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
图1-4双线性变换法的频率变换关系
但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,图1-4所示。
由于这种频率之间的非线性变换关系,就产生了新的问题。
首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图1-5所示。
图1-5双线性变换法幅度和相位特性的非线性映射
对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。
也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。
2.数字滤波器设计实现
2.1典型模拟滤波器比较
1、Butterworth巴特沃斯滤波器:
它具有单调下降的幅频特性;即最平幅度。
2、Chebyshev切比雪夫滤波器:
在通带或阻带等波纹,可提高选择性。
3、Bessel贝塞尔滤波器:
在通带内有较好的线性相位特性。
4、Ellipse椭圆滤波器:
其选择性相对前三种是最好的。
此处选择巴特沃斯主要是想获得最平稳的幅频响应。
而不计较相位特性,而用双线性变换法也会将线性相位变为非线性相位。
2.2设计步骤
根据以上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=44100Hz。
通带截止频率Wp2=(2/T)*tan(wp/2)
阻带截止频率Ws2=(2/T)*tan(ws/2)
(4)归一化处理
;
;
;
;
;
由式2-3,2-4,2-5计算出N,查表可得模拟低通滤波器的阶数,从而由下式确定模拟高通滤波器的参数
(5)模拟低通滤波器的构造
借助巴特沃斯滤波器模型得到模拟低通滤波器的传输函数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);
(6)模拟低通滤波器转换成模拟高通滤波器
调用lp2bp函数将模拟低通滤波器转化为模拟高通滤波器。
[Bbs,Abs]=lp2hp(Bap,Aap,Wn);
(7)模拟高通滤波器转换成数字高通滤波器
利用双线性变换法将模拟高通滤波器Ha(s)转换成数字高通滤波器H(z)。
[Bbz,Abz]=bilinear(Bbs,Abs,FS);
2.3程序流程图
首先确定性能指标,把频率转化为数字角频率,进而在进行频率预畸变,用Ω=2/T*tan(w/2)对高通数字滤波器H(z)的数字边界频率预畸变,得到高通模拟滤波器H(s)的边界频率主要是通带截止频率Wp;阻带截止频率Ws的转换。
抽样频率Fs=44100Hz。
上述准备工作做好之后,就先把模拟高通性能指标转换成模拟低通性能指标,然后设计模拟低通滤波器,借助巴特沃斯滤波器模型得到模拟低通滤波器的传输函数Ha(s)。
然后将模拟低通滤波器转化为模拟高通滤波器。
最后利用双线性变换法将模拟高通滤波器Ha(s)转换成数字高通滤波器H(z)。
图2-1程序流程图
2.4音频信号部分程序
(1)写入声音信号
fnose=10;T=length(x)/fs;
t=T/length(x):
T/length(x):
T;
j=1:
1:
length(x);
(2)产生噪声并加到声音中
nose=sin(2*pi*fnose*T*j);
y=x+5*nose';
[b,a]=butter(N,Wn,'high');
Y=fft(y);
2.5仿真结果
2.5.1滤波器性能仿真
源程序设计了模拟低通滤波器、模拟高通滤波器与数字高通滤波器,对数字高通滤波器的性能仿真如下:
2.5.2滤波器除噪性能
为了实现滤波器的应用,程序中加入了有噪声的音频信号,通过对其滤波处理,来显示数字高通滤波器的功能,下面显示未加入噪声,加入噪声和滤波后的频谱波形图。
滤波前加噪信号的波形和频谱
滤波后信号的波形和频谱
3.总结
这次课设下来,对设计高通数字滤波器的整个过程有了很好的掌握,懂得了设计滤波器的基本方法,对双线性变换法,巴特沃斯滤波器有了一定了解,同时呢也熟悉了MATLAB的环境,巩固了相关知识。
初步掌握了MATLAB语言在数字信号处理中一些基本库函数的调用和编写基本程序等应用;熟悉了滤波器设计的一般原理,对滤波器有了一个感性的认识;学会了数字高通滤波器设计的一般步骤;加深了对滤波器设计中产生误差的原因以及双线性变换法优缺点的理解和认识。
总之,使理论联系了实际,巩固并深化了对课本基本知识的认识和理解,使理论得以升华。
在做本次课程设计的过程中,我深深地感受到了自己所学到知识的有限,明白了只学好课本上的知识是不够的,要通过图书馆和互联网等各种渠道来扩充自己的知识。
在实验过程中我们曾经遇到过问题。
但是从中我们学习到了如何对待遇到的困难,进一步培养了我们一丝不苟的科学态度和不厌其烦的耐心。
所有的这些心得会对我以后的学习和工作有帮助作用,忠心感谢学校给我们提供这次实验机会。
致谢
本设计过程中得到老师的悉心指导,设计过程中老师多次帮我分析思路,开拓视角,在我遇到困难想要放弃的时候给予我最大的支持和鼓励。
老师那严谨求实的治学态度、踏实坚韧的工作精神,将使我终身受益;另外同学和朋友的热心帮助也使我学到了不少的知识。
再多华丽的语言也显得苍白,在此,谨向老师和同学们致以诚挚的谢意和崇高的敬意。
因为他们我对这次课程设计有了深刻的印象,虽然只有短暂的一周,但在这期间,却让我受益匪浅,我深刻地认识到了“理论联系实际”这句话的重要性与真实性。
参考文献
[1]程佩青,数字信号处理.北京:
清华大学出版社,2007.2
[2]景振毅,张泽兵,董霖.北京:
中国铁道出版社,2008.12
[3]从玉良.数字信号处理原理及其MATLAB实现[M].北京:
电子工业出版社.2009.7
[4]胡广书.数字信号处理理论、算法与实现[M].北京:
清华大学出版社.2003,8
[5]刘波.MATLAB信号处理.北京:
电子工业出版社,2006
[6]施阳等.MATLAB语言工具箱.西安:
西北工业大学出版社,1999
[7]丁玉美.数字信号处理.西安电子科技大学出版社 第二版
[8] 倪养华.数字信号处理与实现.上海:
上海交通大学出版社,1998
[9] 张葛祥,李娜.MATLAB仿真技术与应用.北京:
清华大学出版社,2003
[10] 飞思科技产品研发中心.MATLAB7辅助信号处理技术与应用.北京:
电子工业出版社, 2005
附录
源程序
FS=8000;
T=1/FS;
fp=3200;
fs=3000;
Ap=1;
As=20;
fp=1600;
fs=1000;
FS=44100;
T=1/FS;
Ap=1;
As=60;
wp=fp*2*pi;
ws=fs*2*pi;
wp=wp/FS;
ws=ws/FS;
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('数字滤波器的频率响应')
fnose=10;T=length(x)/fs;
t=T/length(x):
T/length(x):
T;
j=1:
1:
length(x);
nose=sin(2*pi*fnose*T*j);
y=x+5*nose';
[b,a]=butter(N,Wn,'high');
Y=fft(y);
figure
(1);
title('高通滤波前的信号和其频谱');
subplot(2,1,1);
plot(y);
Subplot(2,1,2);
plot(abs(Y));
z=filter(b,a,y);
Z=fft(z);
figure
(2);
title('高通滤波后的信号和其频谱');
Subplot(2,1,1);
plot(z);
Subplot(2,1,2);
plot(abs(Z));
sound(y,fs);
sound(z,fs);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 双线 变换 IIR 数字 滤波器 设计 教材