基于双线性变换法设计的IIR带通滤波系统.docx
- 文档编号:26292518
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:19
- 大小:147.21KB
基于双线性变换法设计的IIR带通滤波系统.docx
《基于双线性变换法设计的IIR带通滤波系统.docx》由会员分享,可在线阅读,更多相关《基于双线性变换法设计的IIR带通滤波系统.docx(19页珍藏版)》请在冰豆网上搜索。
基于双线性变换法设计的IIR带通滤波系统
.
《数字信号处理》
实验课程考核报告
数字滤波系统的MATLAB实现与分析
——基于双线性变换法设计的IIR带通滤波系统
系部:
0000000
专业班级:
00000000
姓名:
000000000
学号:
0000000000
指导教师:
0000000
完成日期2012年12月
目录
摘 要1
Abstract1
1引言2
2课程设计要求4
2.1课程设计题目4
2.2课程设计目的4
2.3设计要求4
2.4数字滤波器的基本概念5
2.5数字滤波器设计的基本步骤5
2.5.1确定指标5
2.5.2模型逼近5
2.5.3实现性能分析和计算机仿真5
3IIR数字滤波器设计的原理与方法6
3.1IIR数字滤波器设计的原理6
3.2IIR数字滤波器设计的基本方法7
4IIR带通滤波器的MATLAB设计8
4.1IIR带通滤波器的设计流程8
5IIR带通滤波器的仿真结果及波形12
6IIR带通滤波器的仿真结果分析14
7总结16
参考文献18
摘 要
在进行DSP系统设计时,往往先采用MATLAB软件等对算法进行仿真,确定最佳算法和参数。
利用MATLAB的信号处理工具箱可以直接设计数字滤波器,也可以建立模拟原型,离散化设计数字滤波器。
本文介绍了IIR数字带通滤波器的设计原理、步骤以及在MATLAB中的实现方法,并能应用到实际的信号处理中。
关键词:
IIR数字滤波器,数字信号处理(DSP),MATLAB,仿真
Abstract
WhentheDSPsystemisdesigned,weoftensimulatethealgorithmanddecidethebestalgorithmandparametersontheMATLABsoftware.WecandesignadigitalfiltereitherusingtheMATLABToolboxdirectlyorcreatingaanalogfilterprototypeandscateringthedigitalfilter.ThispaperintroducesthedesignprincipleofIIRdigitalbandpassfilter,thestepsaswellasthemethodsinMATLAB,anditalsocanbeappliedtotheactualsignalprocessing.
Keywords:
IIRdigitalfilters,Digitalsignalprocessing(DSP),MATLAB,Simulation
1引言
在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号的处理和分析都是基于滤波器而进行的。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
但是,传统的数字滤波器的设计使用繁琐的公式计算,改变参数后需要重新计算,从而在设计滤波器尤其是高阶滤波器时工作量很大。
利用MATLAB信号处理箱(SignalProcessingToolbox)可以快速有效地实现数字滤波器的设计与仿真。
本文设计一个IIR数字带通滤波器。
IIR数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。
其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。
在对滤波器实际设计时,整个过程的运算量是很大的。
设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频、相频响应特性,运算量也是很大的。
平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候要根据设计要求和滤波效果不断地调整,以达到设计的最优化。
在这种情况下,滤波器设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成。
利用MATLAB强大的计算功能进行计算机辅助设计,可以快速有效地设计数字滤波器,大大地简化了计算量。
滤波器的功能是让一定频率范围内的信号通过,而将此频率范围之外的信号加以抑制或使其急剧衰减。
当干扰信号与有用信号不在同一频率范围之内,可使用滤波器有效的抑制干扰。
用LC网络组成的无源滤波器在低频范围内有体积重量大,价格昂贵和衰减大等缺点,而用集成运放和RC网络组成的有源滤波器则比较适用于低频,此外,它还具有一定的增益,且因输入与输出之间有良好的隔离而便于级联。
由于大多数反映生理信息的光电信号具有频率低、幅度小、易受干扰等特点,因而RC有源滤波器普遍应用于光电弱信号检测电路中
数字滤波器的实用型式很多,大略可分为有限冲激响应型和无限冲激响应型两类,可用硬件和软件两种方式实现。
在硬件实现方式中,它由加法器、乘法器等单元所组成,这与电阻器、电感器和电容器所构成的模拟滤波器完全不同。
数字信号处理系统很容易用数字集成电路制成,显示出体积小、稳定性高、可程控等优点。
数字滤波器也可以用软件实现。
软件实现方法是借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。
带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。
一个模拟带通滤波器的例子是电阻-电感-电容电路(RLCcircuit)。
这些滤波器也可以用低通滤波器同高通滤波器组合来产生.
2课程设计要求
2.1课程设计题目
数字滤波系统的MATLAB实现与分析
——双线性变换法设计数字带通IIR滤波器
2.2课程设计目的
通过本次综合设计,运用已学的课程知识,根据题目要求进行软件仿真设计和调试,对《数字信号处理》课程中涉及的滤波器原理和设计方法有一定的感性认识和实践操作能力,从而加深对本课程知识点的理解,使学生应用知识能力、设计能力、调试能力以及报告撰写能力等方面有显著提高。
学会MATLAB的使用,掌握MATLAB的程序设计方法;掌握在Windows环境下语音信号采集的方法;掌握数字信号处理的基本概念、基本理论和基本方法;掌握MATLAB设计FIR和IIR数字滤波器的方法;学会用MATLAB对信号进行分析和处理。
2.3设计要求
本设计的主要内容包括掌握数字信号处理的基础知识和利用MATLAB软件进行编程,利用几种常见的数字滤波器对信号进行处理,并对过滤结构进行分析。
具体要求包括以下几个方面:
(1)滤波器与数字信号处理的理论知识学习和分析
通过查找、学习相关文献资料,掌握滤波器与数字信号处理的基本理论知识,掌握滤波器设计的方法和基础知识,掌握滤波器过滤信号的基本过程和原理,并对相应信号进行时域和频域分析,理解信号的频谱变化的特点。
(2)利用MATLAB对上述过程进行仿真
利用MATLAB软件进行相应的设计,实现滤波器对信号的过滤处理。
(3)结果分析
利用滤波器处理相应信号,对过滤结果进行分析,对比处理前后的信号频率的衰变,说明信号过滤的情况好坏,并分析该类型的滤波器的优缺点和适用场合。
2.4数字滤波器的基本概念
滤波器的种类很多,从功能上可分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。
如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基木工作原理是利用离散系统特性对系统输人信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用的信号分量输出。
2.5数字滤波器设计的基本步骤
数字滤波器的设计要经过如下三个步骤:
2.5.1确定指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。
在很多实际应用中,数字滤波器常常被用来实现选频操作。
因此,指标的形式一般在频域中给出幅度和相位响应。
2.5.2模型逼近
一旦确定了技术指标,就可利用已学习过的基本原理和关系式,提出一个滤波器模型来逼近给定的指标体系。
这是滤波器设计所要研究的主要问题。
2.5.3实现性能分析和计算机仿真
以上两步的结果得到的滤波器,通常是以差分方程、系统函数或脉冲响应描述的。
根据这个描述就可以分析其频率特性和相位特性、以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
3IIR数字滤波器设计的原理与方法
3.1IIR数字滤波器设计的原理
IIR数字滤波器具有无限持续时间冲激响应,需要用递归模型来实现,其系统函数为:
(2.1)
设计IIR滤波器的任务就是寻求一个因果、物理上可实现的系统函数H(z),使其频率响应
满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止、通带衰减和阻带衰减.。
利用冲激响应不变法设计数字滤波器时可能会导致频域混叠现象,为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证:
1)s平面的整个jΩ轴仅映射为z平面单位圆上的一周;
2)若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的;
3)这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s);
4)如果G(j0)=1,那么
=1。
双线性Z变换满足以上4个条件的映射关系,其变换公式为
(2.2)
双线性Z变换的基本思路:
首先将整个S平面压缩到一条从-π/Ts变换到2π/Ts的横带里,然后通过标准的变换关系
将横带变换到整个Z平面上去,这样就得到了S平面与Z平面间的一一对应的单值关系。
图2.1双线性变换法S平面到Z平面的映射关系
3.2IIR数字滤波器设计的基本方法
IIR数字滤波器的设计方法有两类,一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,再用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要计算机作辅助工具。
随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。
IIR数字滤波器设计的基本步骤如下:
(1)根据任务,确定性能指标。
在设计一个滤波器之前,首先根据工程实际的需要确定滤波器的技术指标如:
边界频率:
ωp,ωs,ωc;阻带最小衰减As和通带最大衰减Rp;
(2)将数字滤波器的技术指标转换成模拟滤波器指标。
利用冲激响应不变法与双线性变换法进行频率间的转换,主要是边界频率Wp与Ws的转换。
(3)用模拟滤波器设计方法得到模拟滤波器的传输函数Ha(s);可借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器都有严格的设计公式、现成曲线和图表供设计人员使用。
(4)映射实现。
利用双线性变换法将模拟滤波器Ha(s)转换成数字滤波器H(z)。
(5)用有限精度算法实现这个系统函数H(z)(包括选择运算结构、选择合适的字长、有效数字处理方法)。
(6)用适当的软、硬件技术实现。
包括采用通用计算机软件、数字滤波器硬件或者软硬件结合,确定DF采用的结构将会影响其精度、稳定性、经济性及运算速度等很多重要性质。
4IIR带通滤波器的MATLAB设计
IIR带通滤波器的设计框图如下:
图3.1IIR带通滤波器的设计框图
4.1IIR带通滤波器的设计流程
图3.2IIR带通滤波器的设计流程
本文设计的IIR带通滤波器是从低通变换过来的,利用的是双线性变换以及切比雪夫II滤波器的原型,其具体的设计流程为上图所示。
首先根据题目要求确定带通滤波器的技术指标,先要进行频率的预畸变,并且归一化频率,再设计出切比雪夫II模拟低通滤波器,并求出其阶数等相关参数。
其次利用双线性变换法设计数字带通滤波器,,再调用函数进行双线性变换,并求出分子、分母的系数向量。
最后通过画图求出其幅频响应、相频响应、幅度特性曲线与零极点,并画出波形图。
最后进行验证,看所设计的滤波器能否达到要求的指标,若能达到,则说明该滤波器设计符合要求。
3.2IIR带通滤波器的设计步骤
(1)根据设计流程,首先确定所要设计的数字带通滤波器的相关指标:
① 通带截止频率wp1=0.4π,wp2=0.6π,通带最大衰减Rp=2dB;
② 阻带截止频率ws1=0.2π和ws2=0.8π,阻带最小衰减Rs=30dB;
③ 取样间隔T=0.1s。
其实现程序如下(程序中pi代表π):
Ts=0.1;Fs=1/Ts;%取样周期或频率
Rp=2;%通带最大衰减
Rs=30;%阻带最小衰减
wp1=0.4*pi;%通带、阻带上、下限截止频率
wp2=0.6*pi;
ws1=0.2*pi;
ws2=0.8*pi;
(2)频率的预畸变。
双线性变换中无法避免的一个问题即是频率的非线性偏移,因为数字频率的最大值为π,而模拟频率可以向无穷延伸,两者之间又要保持一一对应的映射关系。
双线性变换中的模拟角频率
与数字角频率
之间的关系为:
(3.1)
表明S平面与Z平面是单值的一一对应关系,即频率轴是单值变换关系。
虽然避免了脉冲响应不变法的频率响应的混叠现象,但是经过变换后,得到的幅频响应特性各分段边缘频率不能保持原来的比例关系,必须通过预修正加以校正。
做法是将数字频率
按
=2/T*tan(w/2)的关系,变成模拟频率
,利用这组做过修正的模拟频率来设计模拟带通滤波器作为模拟原型。
Wp1=(2/T)*tan(wp1/2);
Wp2=(2/T)*tan(wp2/2);
Wp=[Wp1,Wp2];%模拟滤波器的通带截止频率
Ws1=(2/T)*tan(ws1/2);
Ws2=(2/T)*tan(ws2/2);
Ws=[Ws1,Ws2];%模拟滤波器的阻带截止频率BW=Ws2-Ws1;%模拟滤波器的带宽
Omegaw0=sqrt(Ws1*Ws2); %模拟滤波器的中心频率
(2)设计切比雪夫模拟低通滤波器。
%求模拟低通滤波器的阶数与边缘频率
[N,OmegaC]=cheb2ord(Wp,Ws,Rp,Rs,'s');
%求切比雪夫II型模拟低通滤波器的零、极点与增益
[z0,p0,k0]=cheb2ap(N,Rs);
利用函数[N,OmegaC]=cheb2ord(Wp,Ws,Rp,Rs,’s’),通过给定滤波器的技术指标Wp、Ws、Rp、Rs,求得滤波器的阶数N与边缘频率OmegaC。
Wp、Ws、与OmegaC均在[0,1]区间归一化,以π弧度为单位。
利用函数[z,p,k]=cheb2ap(N,Rs),来设计一个阶数为N,阻带波动为Rs的归一化切比雪夫II型原型滤波器,得到左半平面零极点。
数组Z中返回零点,数组P中返回极点,并且返回增益K。
(3)设计归一化的模拟原型带通滤波器:
%求原型滤波器的分子系数
AnalogB=k0*real(poly(z0));
%求原型滤波器的分母系数
AnalogA=real(poly(p0));
%模拟低通到模拟带通的分子、分母系数的变换
[BandB,BandA]=lp2bp(AnalogB,AnalogA,Omegaw0,BW);
%双线性变换:
模拟带通与数字带通的分子分母系数的变换
[DigitalB,DigitalA]=bilinear(BandB,BandA,Fs);
%变为二阶节级联结构
[sos,G]=tf2sos(DigitalB,DigitalA);
利用函数p=poly(A)来计算模拟滤波器的分子、分母系数向量,因其为实数,因此用real()函数取其实部,即可得模拟滤波器的分子、分母系数向量。
这两个函数实现的功能可以用函数[Bs,As]=zp2tf(z,p,k)直接求得传递函数的分子、分母系数向量。
利用函数[BandB,BandA]=lp2bp(AnalogB,AnalogA,Omegaw0,BW),将模拟域的低通变为带通,并且得到模拟带通滤波器的分子、分母系数向量,Omegaw0取为中心频率,BW为带宽。
利用函数[DigitalB,DigitalA]=bilinear(BandB,BandA,Fs),双线性变换为数字带通滤波器的指标,如分子、分母的系数向量。
函数[sos,G]=tf2sos(DigitalB,DigitalA),即把z变换传递函数的直接形式转换成级联形式。
需要注意的是,这个函数是针对以z的负幂排列的多项式开发的,虽然可以推广到s域,但连续系统传递函数是按s的正幂排列的,要使两者一致,关键是使分子、分母系数向量同长,两序列中各元素的幂次排列一致
(4)求数字带通滤波器的幅频、相频特性、及其群延迟
%求数字带通滤波器的幅频特性
[Hz,Wz]=freqz(DigitalB,DigitalA,1024,'whole');
%将数字带通滤波器的幅频特性转化为分贝表示
dbHz=20*log10((abs(Hz)+eps)/max(abs(Hz)));
%求数字带通滤波器的相频特性
φ=angle(Hz)
%求数字带通滤波器的群延迟特性
grd=grpdelay(DigitalB,DigitalA,Wz);
函数[Hz,Wz]=freqz(DigitalB,DigitalA,1024,'whole')可以求数字带通滤波器的幅频特性,而其幅度(即模值)的最大值可以归一化为1,则其模值(单位为dB)即可以用公式表示为dbHz=20*log10((abs(Hz)+eps)/max(abs(Hz)))。
函数φ=angle(Hz)可求得其相频特性,而对于一个滤波器来说,要满足其线性相位,则其群延迟
要为一常数,则其相位特性必须为一直线,即满足
。
因此,利用群延迟函数grd=grpdelay(DigitalB,DigitalA,Wz)可以判断所设计的滤波器是否是线性相位,如果不符合,可以更改参数加以较正或者用其他方法重新设计,从而方便了设计。
(5)作图
程序见附录。
以上是根据切比雪夫II型滤波器设计的带通滤波器,如果以切比雪夫I型滤波器设计,则只需改变几个参数则可,其程序如下所示(只附改变的参数与程序)。
%模拟滤波器的带宽
BW=Wp2-Wp1;
%模拟滤波器的中心频率
Omegaw0=sqrt(Wp1*Wp2);
%求切比雪夫I型模拟低通滤波器的阶数与边缘频率
[N,OmegaC]=cheb1ord(Wp,Ws,Rp,Rs,'s');
%求切比雪夫I型模拟低通滤波器的零、极点与增益
[z0,p0,k0]=cheb1ap(N,Rp);
5IIR带通滤波器的仿真结果及波形
根据上述对IIR切比雪夫I、II带通滤波器的设计过程,在Matlab软件中得到其幅频响应、相频响应、零极点图以及群延迟特性曲线如下图所示。
图5.1ChebyshevI型IIR带通滤波器特性
图5.2ChebyshevII型IIR数字带通滤波器特性
6IIR带通滤波器的仿真结果分析
根据上述的仿真波形,可以看出:
(1)由ChebyshevI型、ChebyshevII型低通原型变换成带通模型的幅频特性可以用分贝形式表示。
对于ChebyshevI型的幅频响应在通带内为等纹波衰减、阻带内为单调减小的,且通带(归一化)截止频率在波形上显示为:
0.4与0.6,阻带(归一化)截止频率在波形上显示为:
0.2与0.8,与设计要求基本一致。
对于ChebyshevII型的幅频响应来说,在通带内单调减小、阻带内为等纹波衰减的,而通带、阻带(归一化)截止频率为:
0.4与0.6,0.2与0.8,均满足设计要求。
(2)此次设计的IIR带通滤波器的阶数可由函数[N,OmegaC]=cheb1ord(Wp,Ws,Rp,Rs,'s')
或[N,OmegaC]=cheb2ord(Wp,Ws,Rp,Rs,'s')求得,N=3。
则从ChebyshevI型带通滤波器的幅频响应曲线上看,当N=3时,在
(归一化后为0--1)范围内通带波动只有两个波谷,阻带则单调减小,这与理论内容一致。
对于ChebyshevII型带通滤波器来说,其幅频响应曲线的通带波动在
(归一化后为0--1)范围内阻带波动只有两个波峰,通带则单调减小,这与理论内容一致。
因此,对于滤波器阶数这一指标来说,满足要求。
(3)对于分贝化后的幅度特性,ChebyshevI型带通滤波器的通带最大衰减大约为2dB,阻带衰减最小为30dB,而ChebyshevII型带通滤波器的阻带最小衰减大约为30dB,通带最小衰减大约为2dB,这与带通滤波器的技术指标相同。
因此,在衰减性能上,所设计的滤波器达到了要求。
(4)对于相频响应来说,ChebyshevI型带通滤波器在通带内的相频响应曲线接近为一条平滑曲线,在阻带内则存在衰减、畸变。
ChebyshevII型带通滤波器在通带截止频率以内的相频响应曲线几乎为一条直线,但在通带截止频率处有很大角度的转折,使相频特性在通带内产生了的畸变,而在阻带内存在很大的畸变。
因此,对于双线性变换法,其相位特性得不到满足,必须用其它方法加以校正或采用其它方法重新设计滤波器,使之满足线性相位。
(5)群延迟是衡量一个滤波器或是整个系统性能指标的一个重要参数。
对于利用这两种低通滤波器原型模型设计的这两种带通滤波器,带通滤波器的延迟是同等带宽的低通滤波器延迟的两倍。
这个结果是由低通特性向带通特性变换引起的,n阶低通滤波器传递函数总是变换为2n阶带通滤波器传递函数,其滤波器的群延迟特性的中心频率与理论上的很接近。
(6)零、极点图则反映Z域的传递函数,因为从图上得知,ChebyshevI型带通滤波器在Z域单位圆内的传递函数存在3对极点,其每一对则关于实轴对称,而且存在1对零点,且关于虚轴对称。
ChebyshevII型带通滤波器在Z域单位圆内的传递函数存在3对极点,其每一对则关于实轴对称,而且存在3对零点,且关于虚轴对称。
从理论上分析,可以求出其传递函数。
综上所述,由于软件的精度要求以及所调用函数的特性,在误差允许范围内,上述的滤波器特性的仿真结果基本符合题目的要求,并且在一定的程度上设计的指标远远好于题目的要求。
因此,所设计的滤波器达到了题目的要求。
7总结
此次Matlab课程设计是在一定的理论基础之上进行的,在先修课程《信号与系统》与《数字信号处理》中,大量有Matlab设计方面的知识,所以做起来还比较容易,而且经过了自己的亲身实践,学到了许多实践方面的知识。
首先,在信号滤波系统中,有时因为模拟滤波器阶数太高,硬件占用空间太大为某些仪器的实现设置了障碍,而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 双线 变换 设计 IIR 滤波 系统