基于matlab的iir数字滤波器的课程设计.docx
《基于matlab的iir数字滤波器的课程设计.docx》由会员分享,可在线阅读,更多相关《基于matlab的iir数字滤波器的课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于matlab的iir数字滤波器的课程设计
基于MATLAB的IIR数字滤波器的课程设计
学院:
信息工程学院
专业:
通信工程
班级:
2014164班
学号:
201416416
姓名:
李瑞鹏
指导老师:
陈黎霞
摘要
语音信号是我们日常生活中最常见的一种信号,模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。
大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。
因此,数字信号实际上是数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列。
本课程设计主要使用Matlab软件进行一个数字带通IIR滤波器的设计,使之可以对加噪的语音信号进行滤波去噪处理。
文中主要介绍了利用双线性变换法设计切比雪夫Ⅰ型带通数字滤波器的实现方法,并对所设计IIR带通滤波器滤波结果进行信号谱对比和分析,并与预计的仿真结果进行比较说明。
关键词:
Matlab;IIR滤波器;切比雪夫Ⅰ;双线性变换
目录
前言1
1滤波器原理综述2
1.1滤波器的定义2
1.2滤波器的分类2
1.3滤波器的原理与设计3
2IIR数字滤波器设计原理5
2.1IIR数字滤波器简介5
2.2IIR数字滤波器的主要技术指标5
2.3IIR数字滤波器的设计过程6
3IIR数字带通滤波器设计与仿真结果分析7
3.1滤波器参数设置8
3.2程序设计流程框图9
3.3仿真与结果分析9
总结13
参考文献13
附录14
前言
滤波技术是信号分析、处理技术的重要分支。
无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。
随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用,在所有的电子系统和各类控制系统中,数字滤波器的优劣直接决定产品的优劣。
数字滤波器(DF,DigitalFilter),根据其单位冲激响应函数的时域特性可分为两类:
无限冲激响应IIR(InfiniteImpulseResponse)滤波器和有限冲激响应FIR(FiniteImpulseResponse)滤波器。
与FIR滤波器相比,IIR的实现采用的是递归结构,极点须在单位圆内,在相同设计指标下,实现IIR滤波器的阶次较低,即所用的存储单元少,从而经济效率高,在不要求严格线性相位的情况下,IIR滤波器的应用相当广泛。
而且与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有灵活性强、稳定性好、滤波精度高等优点。
MATLAB是英文MATrixLABoratory(矩阵实验室)的缩写。
它是美国的MathWorks公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。
在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。
本文以MATLABR2013a为设计平台进行IIR数字带通滤波器的设计,并加以仿真。
滤波器原理综述
1.1滤波器的定义
滤波器(Filter)是指减少或消除谐波对电力系统影响的电气部件。
是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。
对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。
1.2滤波器的分类
1.按信号处理的类型分,滤波器分为模拟滤波器和数字滤波器。
模拟滤波器由电阻,电容电感等原器件构成;而数字滤波器则可由数字电路实现或软件实现。
2.按脉冲响应来分类,数字滤波器分为IIR和FIR,即无限冲激响应滤波器和有限冲激响应滤波器;其中IIR网络中有反馈回路,FIR网络中没有反馈回路。
3.按所通过信号的频段来分类,滤波器分为为低通、高通、带通和带阻滤波器四种
低通滤波器:
它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声。
高通滤波器:
它允许信号中的高频分量通过,抑制低频或直流分量。
带通滤波器:
它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声。
带阻滤波器:
它抑制一定频段内的信号,允许该频段以外的信号通过。
图1.1为通过频段划分的四种滤波器的简略图:
图1.1由通过信号的频段划分的四种滤波器
4.按所采用的元器件来分类,模拟滤波器分为无源和有源滤波器两种
无源滤波器:
仅由无源元件(R、L和C)组成的滤波器,它是利用电容和电感元件的电抗随频率的变化而变化的原理构成的。
这类滤波器的优点是:
电路比较简单,不需要直流电源供电,可靠性高;缺点是:
通带内的信号有能量损耗,负载效应比较明显,使用电感元件时容易引起电磁感应,当电感L较大时滤波器的体积和重量都比较大,在低频域不适用。
有源滤波器:
由无源元件(一般用R和C)和有源器件(如集成运算放大器)组成。
这类滤波器的优点是:
通带内的信号不仅没有能量损耗,而且还可以放大,负载效应不明显,多级相联时相互影响很小,利用级联的简单方法很容易构成高阶滤波器,并且滤波器的体积小、重量轻、不需要磁屏蔽(由于不使用电感元件);缺点是:
通带范围受有源器件(如集成运算放大器)的带宽限制,需要直流电源供电,可靠性不如无源滤波器高,在高压、高频、大功率的场合不使用。
1.3滤波器的原理与设计
滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
1.模拟滤波器的原理与设计简介
模拟滤波器的设计,就是用模拟系统的系统函数
去逼近所要求的理想特性。
标准的模拟低通滤波器的设计公式有巴特沃思和切比雪夫等,它们都是根据幅度平方函数来确定的。
为逼近理想低通滤波器,其模拟理想低通滤波器的幅度特性可用幅度平方函数表示,即
(1-1)
式中,
为所设计的模拟滤波器的系统函数,它是s的有理函数;
是其稳态响应,即滤波器频率特性
为滤波器的稳态振幅特性。
由幅度平方函数确定
的方法是:
(1)在
中,令
,得到
;
(2)将
的有理式进行分解,得到零点和极点。
如果系统函数是最小相位函数,则s平面左半平面的零点和极点都属于
,而任何在虚轴上的极点和零点都是偶次的,其中一半属于
(3)根据具体情况,比较
和
的幅度特性,确定增益常数,这样
就完全确定了。
在模拟滤波器中,低通滤波器的设计是最基本的,高通,带通和带阻滤波器等可以用频带变换方法由低通滤波器转变得到。
2.数字滤波器的原理与设计
数字滤波器从功能上分类:
可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器。
从滤波器的网络结构或者从单位脉冲响应分类:
可分为IIR滤波器(即无限长单位冲激响应滤波器)和FIR滤波器(即有限长单位冲激响应滤波器)。
IIR数字滤波器可用一个n阶差分方程式(1-2)表示:
(1-2)
或用它的Z域系统函数:
(1-3)
对照模拟滤波器的传递函数:
(1-4)
可以看出,设计数字滤波器的思路与模拟滤波器相仿,设计实质都是寻找一组系数{b,a},去逼近所求的频率响应,以便在性能上满足预定的技术要求;不同的是数字滤波器是在Z平面寻找合适的H(Z),模拟滤波器则是在S平面用数学逼近法寻找近似的所需特性H(S)。
由于模拟滤波器的设计在理论上已十分成熟,因此数字滤波器设计的关键是将H(S)变换至H(Z),即利用复值映射将模拟滤波器离散化。
已经证明,脉冲响应不变法和双线性变换法能较好地担当此任。
IIR数字滤波器的单位响应是无限长的,而模拟滤波器一般都具有无限长的单位脉冲响应,故与模拟滤波器相类似。
IIR数字滤波器设计原理
1.IIR数字滤波器简介
IIR数字滤波器可以利用模拟滤波器设计的结果,然后采用双线性变换法或冲激响应不变法将模拟滤波器转换成数字滤波器。
IIR数字滤波器具有以下特点:
1.IIR数字滤波器的系统函数可以写成封闭函数的形式。
2.IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
3.IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
4.IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
2.IIR数字滤波器的主要技术指标
数字滤波器的主要技术指标为:
1.特征频率参数
滤波器的频率参数主要有:
(1)通带截止频率
:
为通带与过渡带的边界点,在该点信号增益到规定的下限。
(2)阻带截频
:
为阻带于过渡带的边界点,在该点信号衰减到规定的下限。
(3)转折频率
:
为信号功率衰减到
(约为3
)时的频率,但在多数情况下也常以
作为通带或阻带截频。
(4)当电路没有损耗时,固有频率
,就是其谐振频率。
2.增益和衰减
滤波器在通带内的增益并不是常数。
对低通滤波器来说,通带增益
一般指
时的增益;对于高通而言,通带增益
指
时的增益;对于带通而言,通带增益
则指中心频率处的增益。
对带阻滤波器而言,应给出阻带衰减,衰减定义为增益的倒数;通带增益变化
指通带内各点增益的最大变化量,如果
以
为单位,则指增益
值的变化量。
3.阻尼系数与品质因数
阻尼系数
是表征滤波器对角频率为
信号的阻尼作用,同时是滤波器中表示能量衰减的一项重要指标,也是与传递函数的极点实部大小相关的一项系数。
阻尼系数的倒数1/
称为品质因数Q,是评价带通和带阻滤波器频率选择特性的一个重要指标,它可以表示为
。
其中
为带通或带阻的
带宽,
为中心频率,在多数情况下中心频率等于固有频率。
4.灵敏度
滤波器的滤波电路是由很多元件构成的,每个元件的参数值变化都会影响它的性能。
当滤波器的某一个性能指标
对另一个性能指标
变化的灵敏度记为
,定义如式(2-1)所示:
(2-1)
灵敏度是滤波电路设计中的一个重要参数,但该灵敏度与测量仪器或电路系统灵敏度概念不同,该灵敏度越小,标志着电路容错能力越大,稳定性也就越高。
5.群延时函数
当滤波器幅频特性满足设计要求时,为保证输出信号失真不超过允许范围,对其相频特性
也相应提出了一定要求。
在滤波器设计中,常用群延时函数
评价信号经滤波后相位失真程度,
越接近常数,信号相位失真越小。
3.IIR数字滤波器的设计过程
IIR数字滤波器的设计一般有两种方法:
一个是借助模拟滤波器的设计方法进行。
其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。
这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。
其设计步骤是:
先设计过渡模拟滤波器得到系统函数
,然后将
按某种方法转换成数字滤波器的系统函数
。
另外,还有一些典型的优良滤波器类型可供我们使用。
为了保证转换后的
稳定且满足技术指标要求,对转换关系提出两点要求:
1.因果稳定的模拟滤波器转换成数字滤波器,仍是因果稳定的。
2.数字滤波器的频率相应模仿模拟滤波器的频响特性,s平面的虚轴映射为z平面的单位圆,相应的频率之间呈线性关系。
利用模拟滤波器成熟的理论设计IIR数字滤波器的过程是:
(1)确定数字低通滤波器的技术指标:
通带边界频率
、通带最大衰减
、阻带截止频率
、阻带最小衰减
。
(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。
(3)按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器。
(4)用所选的转换方法,将模拟滤波器
转换成数字低通滤波器系统函数H(z)。
IIR数字带通滤波器设计与仿真结果分析
1.滤波器参数设置
1.在设计带通滤波器之前,首先根据设计任务书确定滤波器的技术指标:
通带截止频率fp1=1200,fp2=3000;阻带截止频率fs1=1000;fs2=3200;;阻带最小衰减As=100dB和通带最大衰减Ap=1dB;
2.把频率转化为数字角频率
wp1=2*pi*fp1*T;wp2=2*pi*fp2*T;
ws1=2*pi*fs1*T;ws2=2*pi*fs2*T;
3.频率预畸变
用Ω=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率Wp1,Wp2;阻带截止频率Ws1,Ws2的转换。
抽样频率fs=10KHz。
通带截止频率Wp1=(2/T)*tan(wp1/2)Wp2=(2/T)*tan(wp2/2)
阻带截止频率Ws1=(2/T)*tan(ws1/2)Ws2=(2/T)*tan(ws2/2)
4.模拟带通性能指标转换成模拟低通性能指标
WP=[Wp1,Wp2];
W0=sqrt(Wp1*Wp2);
B=Wp2-Wp1;
WS=[Ws1,Ws2];
5.模拟低通滤波器的构造
借助切比雪夫(Chebyshev)滤波器得到模拟低通滤波器的传输函数Ha(s)。
[N,Wc]=cheb1ord(WP,WS,Ap,As,'s');%求阶数和边缘频率
[z0,p0,k0]=cheb1ap(N,Ap);%求极点,零点和增益
num=k0*real(poly(z0));%模拟低通滤波器系统函数
den=real(poly(p0));
6.模拟低通滤波器转换成模拟带通滤波器
调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。
[numt,dent]=lp2bp(num,den,W0,B);%模拟带通滤波器系统函数
7.模拟带通滤波器转换成数字带通滤波器
利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z)。
[numd,dend]=bilinear(numt,dent,fs);
2.程序设计流程框图
Matlab语言程序设计流程图跟一般语言程序编写流程一样,调用更加丰富的语句进行设计。
首先需要读入设计指标进行初始化,然后按照前述的一般流程步骤进行滤波器的设计转换,完成后加入语音信号和噪声,通过滤波器进行滤除噪声处理,最后显示结果。
其程序流程图如图(2-6)所示
图2.6程序设计流程框图
3.仿真与结果分析
1.IIR带通滤波器仿真结果与分析:
根据IIR带通滤波器的设计指标,在Matlab软件环境下源程序设计了模拟低通滤波器、模拟带通滤波器与数字带通滤波器,对数字带通滤波器的数字带通滤波器的仿真波形如图3.1所示:
图3.1IIR数字带通滤波器仿真图
通过该仿真的幅频特性曲线图和相频特性曲线图可以看出,满足我们的设计指标fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hzas=100dbap=1db。
2.语音信号仿真结果与分析
在Matlab软件平台下可以利用函数wavread对语音信号进行采样,得到了声音数据变量[y,fs,nbits]=wavread('gg.wav');同时把采样频率fs=10KHz和数据位Nbits=16Bit放进了MATALB的工作空间。
图3.2为原始语音信号的波形和信号频谱。
图3.2原始语音信号的波形与频谱
声音文件“gg.wav”的大致为模拟街道的喧哗声。
从图3.2中可以看出在时域环境下,信号呈现出2个左右规则的信号峰值,符合实际声音波形。
3.正弦噪声时域波形和频谱
图3.3正弦噪声时域波形和频谱
4.滤波结果对比与分析
为了实现滤波器的应用,程序中加入了有噪声的音频信号,通过对其滤波处理,来显示数字带通滤波器的功能,图3.4是加入噪声后的频谱波形图。
图3.4
(1)滤波前信号波形与频谱
图3.4
(2)滤波后的信号波形与频谱
由图3.4可以看出,加有噪声的声音信号在滤波后信号的幅值都偏小于原信号的幅值,但与原始声音波形和频谱对比后,两者基本一致,达到了滤波效果。
总结
本次数字滤波器设计方法是基于MATLAB的数字滤波器的设计,是用学过的数字信号理论为依据,用MATLAB代码来实现的。
通过IIR数字滤波器的设计过程,说明如何利用MATLAB来完成数字滤波器的设计。
在实验的过程中也遇到了很多问题,刚开始读取的语音信号读不出来,截取的语音信号没有转化为wav格式,后来发现语音信号在双声道的情况下,滤波信号出不来,通过XX和询问,才知道我设计的程序只能用单声道的音频作为语音信号。
对于双声道的语音信号需要改变程序,设置参数才行。
在滤波的过程中,起初我设计的滤波器只对低频的信号产生过滤,滤躁效果不明显。
后来经过改进,滤波器终于很好的把噪声滤除掉了。
通过综合运用数字信号处理的理论知识进行滤波器设计,再利用MATLAB作为编程工具进行计算机实现,从而加深了知识的理解,建立概念。
对以前在课本上所学的东西有了更深入的理解和掌握双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,但会产生频率混叠现象,使数字滤波器的频响偏移模拟滤波器的频响。
由滤波器的频谱图和滤波前后的语音信号的频谱图对比可知本设计选用双线性变换法设计的IIR滤波器比较好。
在同样的技术指标的要求下,IIR滤波器所要求的阶数N也比较小,实现起来比较容易。
最后,无论做什么课程设计,都需要有一定的理论知识作为基础,通过这次课程设计,我对以前所学的数字信号处理知识有了更深的理解。
以后我会更加注重对课本知识的学习,注重对动手能力的培养。
参考文献
[1]倪养华.数字信号处理与实现[M].上海:
上海交通大学出版社,1998
[2]张葛祥.MATLAB仿真技术与应用[M].北京:
清华大学出版社,2003
[3]刘波.MATLAB信号处理[M].北京:
电子工业出版社,2006
[4]施阳.MATLAB语言工具箱[M].西安:
西北工业大学出版社,1999
[5]高西全.数字信号处理[M].西安:
西安电子科技大学出版社,2008
[6]丁玉美.数字信号处理[M].西安:
西安电子科技大学出版社,2003
[7]朱冰莲.数字信号处理[M].西安:
电子工业出版社,2003
[8]韩纪庆.语音信号处理[M].北京:
清华大学出版社,2004
附录:
实验程序
读取语音信号
[y,Fs]=wavread('C:
\Users\Administrator\Desktop\gg.wav');
n=length(y);
Y=fft(y);
figure
(1);
subplot(2,1,1);plot(y);title('原语音信号波形');
subplot(2,1,2);plot(abs(Y));title('原语音信号频谱')
sound(y,Fs);
噪声的波形和频谱
[y,Fs]=wavread('C:
\Users\Administrator\Desktop\gg.wav');
n=length(y);
Fs=1000
T=1/Fs;
t=0:
T:
(n-1)*T;
noise=0.5*sin(400*2*pi*t);
x=noise';
X=fft(x,1000);
figure
(2);
subplot(2,1,1);
plot(x);
axis([0,500,-1,1]);
title('噪声的波形');
subplot(2,1,2);
plot(abs(X));
axis([0,500,0,100]);
title('噪声的频谱');
加入噪声语音的波形和频谱
[y,Fs]=wavread('C:
\Users\Administrator\Desktop\gg.wav');
n=length(y);
T=1/Fs;
t=0:
T:
(n-1)*T;
noise=0.5*sin(2*400*pi*t);
z=y+noise';
sound(z,Fs);
Z=fft(z,n);
figure(4);
subplot(2,1,1);plot(z),title('加入噪后波形');
subplot(2,1,2);
plot(abs(Z));
axis([0,200000,0,800]);
title('加入噪后频谱');
经滤波后的语音信号的波形和频谱
[y,Fs]=wavread('C:
\Users\Administrator\Desktop\gg.wav');
n=length(y);
T=1/Fs;
t=0:
T:
(n-1)*T;
noise=0.5*sin(400*pi*t);
z=y+noise';
fp=1000;fs=200
wp=2*fp/Fs;ws=2*fs/Fs
[n11,wn11]=buttord(wp,ws,0.1,50);%求低通滤波器的阶数和截止频率
[b11,a11]=butter(n11,wn11,'high');
w=linspace(0,pi,100);
[h1,w]=freqz(b11,a11,w);%求离散系统频响应特性
h1=20*log10(abs(h1));
z11=filter(b11,a11,z);%滤波操作
m11=fft(z11,n);%求滤波后的信号的傅里叶变化
figure(5);
subplot(2,1,1);plot(z11);title('经过滤波后的信号波形');
subplot(2,1,2);plot(abs(m11));title('经过滤波后信号的频谱')
sound(z11,Fs);目录
第一章总论1
1.1项目概况1
1.2研究依据及范围3
1.3主要技术经济指标4
1.4研究结论及建议4
第二章项目建设的背景和必要性6
2.1项目建设的背景6
2.2项目建设的必要性8
第三章项目服务需求分析11
第四章项目选址与建设条件13
4.1选址原则13
4.2项目选址13
4.3建设条件14
4.4项目建设优势条件分析15
第五章建设方案18
5.1建设规模与内容18
5.2总体规划设计19
5.3建筑方案24
5.4结构方案26
5.5给水工程27
5.6排水工程29
5.7电气设计31
5.8暖通设计34
5.9项目实施进度35
第六章节能措施37
6.1 设计依据37
6.2节能措施37
第七章环境影响分析39
7.1环境影响分析39
7.2环境