基于MATLAB的双线性变换法滤波器解读Word格式.docx

上传人:b****6 文档编号:8652118 上传时间:2023-05-12 格式:DOCX 页数:15 大小:135.83KB
下载 相关 举报
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第1页
第1页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第2页
第2页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第3页
第3页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第4页
第4页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第5页
第5页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第6页
第6页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第7页
第7页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第8页
第8页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第9页
第9页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第10页
第10页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第11页
第11页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第12页
第12页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第13页
第13页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第14页
第14页 / 共15页
基于MATLAB的双线性变换法滤波器解读Word格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于MATLAB的双线性变换法滤波器解读Word格式.docx

《基于MATLAB的双线性变换法滤波器解读Word格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的双线性变换法滤波器解读Word格式.docx(15页珍藏版)》请在冰点文库上搜索。

基于MATLAB的双线性变换法滤波器解读Word格式.docx

由于库函数都是由本领域的专家编写,所以用户不必担心函数的可靠性。

2.运算符号丰富。

由于MATLAB是用C语言编写的,所以MATLAB提供了C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。

3.高效方便的矩阵和数组运算。

MATLAB语言像Basic、Fortran、C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算,另外,它不需要定义数组的唯数,并给出矩阵函数、特殊矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。

在此基础上,高版本的MATLAB已逐步发展到科学及工程计算的其它领域。

因此,不久的将来,它一定能名副其实地成为“万能演算纸式的”科学算法语言。

4.MATLAB即具有结构化的控制语句,又有面向对象编成的特性。

5.语法限制不严格,程序设计自由度大。

为了充分利用Fortran、C等语言的资源,包括用户已编好的Fortran、C语言程序,通过建立M文件的的形式,混合编程,方便地调用有关的Fortran、C语言的子程序。

6.程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

7.MATLAB的图形功能强大。

在C和FORTRAN语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。

此外,MATLAB还具有较强的编辑图形界面的能力。

8.MATLAB具有的一项重要特色是拥有功能强大的工具箱。

MATLAB包含两个部分;

核心部分和各种可选的工具箱。

功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实施交互功能。

功能性工具箱能用于多种学科。

而学科性工具箱是专业性比较强的;

如Controltoolbox、Signalprocessingtoolbox、Communicationtoolbox等,这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。

9.源程序的开放性。

除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改变的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

MATLAB软件自1984年推向市场以来,历经十几年的发展和竞争,现已成为(IEEE评述)国际公认的最优秀的科技应用软件。

它功能强大、界面友好、语言自然、开放性强的特点是它获得了对应用学科(特别是边缘学科和交叉学科)的季强是盈利,并且很快成为应用学科计算机辅助分析、设计、仿真、教学乃至科技文字处理不可缺少的基础软件。

在欧美等高校,MATLAB已成为理工科高级课程的基本工具,成为攻读学位的大学生、硕士生、博士生必须掌握的技能。

在设计研究单位和工业部门,MATLAB已经成为研究和解决各种具体工程问题的一种标准软件。

近年来该软件系统开始在我国国内流行。

受到理工科大中专院校释省级科研人员的重视,这也是本文选择用它来设计实现数学滤波器原因所在。

二、数字滤波器及其MATLAB实现

数字滤波器是数字信号处理中最重要的组成部分之一。

在许多科学技术领域中,广泛使用滤波器对信号进行了处理。

滤波器是一种选频装置,它对某一个或几个频率范围(频带)内的电信号给以很小的衰减:

使这部分信号能够顺利通过,对其它频带内的电信号则给以很大的衰减,从而尽可能地阻止这部分信号的通过。

通过滤波器时不经受衰减或经受很小的衰减的频带称为通带,经受的衰减超过某一规定值的频带称为阻带,位于通带和阻带之间的频带称为过渡带。

于是,根据通带的不同,滤波器可分为低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。

此外,根据它所处理的信号型类,滤波器又可分为模拟滤波器和数字滤波器,模拟滤波器用来处理连续信号,而数字滤波器用来处理离散信号,后者是在前者基础上发展起来的。

数字滤波器与模拟滤波器比较,其主要优点精度和稳定性高,系统函数容易改变,因而灵活性高,不存在阻抗匹配问题,便于大规模集成,可以实现多维滤波。

因此,目前在诸如通信、雷达、遥感、声纳、卫星通信、宇宙航行、测量、语言和生物医学等科学领域的信号处理中,已经运用了数字滤波技术,而且随着大规模集成电路技术和数字计算技术的发展,它的应用会越来越广泛。

数字滤波器实际上就是一种数字信号处理系统的算法或设备。

数字滤波器实际上是一种运算过程,数字滤波器的功能是将一组输入的数字序列通过一定的运算后转变为另一组输出的数字序列,因此它本身就是一台数字式的处理设备。

数字滤波器的基本原理是:

先利用取样开关和模拟——数字转换器将一个联系性的信号转换成数字信号。

在数字计算器中完成所要求的传输函数运算之后,再通过数字——模拟转换器和保持电路,使信号形成最后要求的波形。

数字滤波器一般可用两种方法实现:

一种是根据描述数字滤波器的数字模型或信号流图,用数字硬件装配成一台专门的设备,构成专用的信号处理机,这就是硬件实现方式;

另一种方法就是直接利用通用计算机,将所需要的运算编成程序来让计算机来执行,这就是软件实现方式。

在硬件实现方式中,是一数字组件如延迟器、加法器和乘法器作为基本部件构成专用数字信号处理系统。

不像模拟滤波器需要用电感和电容元件,因此数字信号处理机很容易用数字集成电路来制成,而且它的转移函数可变,各回路之间不存在阻抗匹配问题,因此可以很容易做成最佳冲激响应和恒定延迟的线性相移网络。

在软件实现方式中,它是借助于通用计算机机器语言、汇编语言或高级语言程序来做数字滤波器的运算过程。

三、数字滤波器的设计原理

3.1设计原理

滤波器的种类很多,从功能上可分为低通、高通、带通和带阻滤波器,每一种又有模拟滤波器和数字滤波器两种形式。

如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲击响应也必然是离散的,这种滤波器称之为数字滤波器。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。

IIR数字滤波器采用递归型结构,即结构上带有反馈环路。

IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

IIR数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型

来实现,其差分方程为:

(1-1)

(1-2)

设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。

本次课程设计采用双线性变换法。

3.2设计步骤

(1)将给出的数字滤波器的技术指标转换为模拟滤波器的技术指标;

(2)根据转换后的技术指标设计模拟低通滤波器H(s);

(3)在按一定规则将H(s)转换为H(z);

若所设计的数字滤波器是低通的,那么上述设计工作可以结束,若所设计的是高通、带通或者带阻滤波器,那么还有步骤:

(4)将高通、带通或者带阻数字滤波器的技术指标先转化为低通滤波器的技术指标,然后按上述步骤

(2)设计出模拟低通滤波器H(s),再将H(s)转换为所需的H(z)。

四、设计方案

IIR数字滤波器是一种离散时间系统,其系统函数为

(1-3)

假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。

IIR数字滤波器的设计实际上是求解滤波器的系数

,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。

如果在S平面上去逼近,就得到模拟滤波器;

如果在z平面上去逼近,就得到数字滤波器。

实现IIR数字滤波器的设计有双线性变换法和脉冲响应不变法两种基本方案,现在就对两种基本方案的优劣进行具体论证,从而说明选择方案二的理由。

方案一:

脉冲响应不变法设计IIR数字滤波器

脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha(t)的采样值,满足h(n)=ha(nT)式中,T是采样周期。

如图1所示。

如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的Z变换,利用采样序列的Z变换与模拟信号的拉普拉斯变换的关系得

(1-4)

可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。

图1脉冲响应不变法的映射关系

由(1-4)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为

(1-5)

这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。

正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即

(1-6)

才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即

|ω|<

π(1-7)

但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图2所示。

这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。

当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。

这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。

图2脉冲响应不变法中的频响混叠现象

对某一模拟滤波器的单位冲激响应ha(t)进行采样,采样频率为fs,若使fs增加,即令采样时间间隔(T=1/fs)减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。

方案二:

双线性变换法设计IIR数字滤波器

双线性变换法主要是采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。

也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;

第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。

这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。

图3双线性变换的映射关系

为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

(1-8)式中,T仍是采样间隔。

当Ω1由-π/T经过0变化到π/T时,Ω由-∞经过0变化到+∞,也即映射了整个jΩ轴。

将式(1-8)写成

将此关系解析延拓到整个S平面和S1平面,令jΩ=s,jΩ1=s1,则得(1-9)

再将S1平面通过以下标准变换关系映射到Z平面

z=es1T

从而得到S平面和Z平面的单值映射关系为:

(1-10)

(1-11)

式(1-10)与式(1-11)是S平面与Z平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换

式(1-9)与式(1-10)的双线性变换符合映射变换应满足的两点要求。

首先,把z=ejω,可得(1-12)

即S平面的虚轴映射到Z平面的单位圆。

其次,将s=σ+jΩ代入式(1-12),得

因此

由此看出,当σ<

0时,|z|<

1;

当σ>

0时,|z|>

1。

也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。

因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。

两种方案优缺点比较:

脉冲响应不变法的最大缺点是有频率响应的混叠效应。

所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。

至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。

如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。

当然这样会进一步增加设计复杂性和滤波器的阶数。

双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。

这是因为S平面与Z平面是单值的一一对应关系。

S平面整个jΩ轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。

这个关系如式(1-8)所示,重写如下:

上式表明,S平面上Ω与Z平面的ω成非线性的正切关系,如图4所示。

由图4看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;

但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。

图4双线性变换法的频率变换关系

但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(1-12)及图1所示。

由于这种频率之间的非线性变换关系,就产生了新的问题。

首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;

其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图5所示。

5双线性变换法幅度和相位特性的非线性映射

对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。

也就是将临界模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。

由于用脉冲响应不变法设计IIR数字滤波器,存在从S平面到Z平面的多值映射的缺点,而且还有频谱混叠现象,所以本次课程设计就采用双线性变换法来设计IIR数字滤波器。

五、设计步骤

要求:

根据以上IIR数字滤波器设计方法,采用双线性变换法基于MATLAB设计一个巴特沃斯数字低通滤波器,其中要求通带截止频率为ωp=0.25π;

通带最大衰减Rp=1dB;

阻带最小衰减As=15dB;

阻带截止频率ωs=0.4π;

滤波器采样频率Fs=100Hz.

5.1设计步骤

(1)根据任务,确定性能指标:

在设计低通滤波器之前,首先根据工程实际的需要确定滤波器的设计指标:

通带截止频率wp,阻带截止频率ws,通带最大衰减Rp,阻带最小衰减Rs

通带截止频率wp=fp/Fs*2*Pi=0.785,通带衰减Rp=1dB和阻带截止频率ws=fs/Fs*2*Pi=1.256,阻带最大衰减As=15dB;

(2)根据公式Ω=2/T*tan(w/2)进行预修正,将数字滤波器指标转换成模拟滤波器设计指标,对双线性变换法一般T=2s

通带截止频率wc=(2/T)*tan(wp/2)=tan(0.392)=0.0068

阻带截止频率ws=(2/T)*tan(ws/2)=tan(0.628)=0.011

通带最小衰减Rp=1dB和阻带最大衰减As=15dB;

(3)将模拟高通滤波器指标转换为模拟低通滤波器指标。

normwp=wp/T=wp*Fs=78.5

normws=ws/T==ws*Fs=125.6

模拟低通滤波器指标:

normwp=78.5,normws=125.6,Rp=1dB,As=15dB

(4)设计模拟低通原型滤波器。

用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数Ha(s)并调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。

(5)利用双线性变换法将模拟低通滤波器Ha(s)转换成数字低通滤波器H(z).

5.2程序流程框图

开始

读入数字滤波器技术指标

将指标转换成归一化模拟低通滤波器的指标

设计归一化的模拟低通滤波器阶数N和1db截止频率

模拟域频率变换,将G(P)变换成模拟低通滤波器H(s)

用双线性变换法将H(s)转换成数字低通滤波器H(z)

输入信号后显示相关结果

结束

图6程序流程框图

5.3MATLAB程序

MATLAB程序如下:

%数字滤波器指标

wp=0.25*pi;

%滤波器的通带截止频率

ws=0.4*pi;

%滤波器的阻带截止频率

Rp=1;

As=15;

%输入滤波器的通阻带衰减指标

ripple=10^(-Rp/20);

Attn=10^(-As/20);

%转换为模拟滤波器指标

Fs=100;

T=1/Fs;

Omgp=(2/T)*tan(wp/2);

%原型通带频率预修正

Omgs=(2/T)*tan(ws/2);

%原型阻带频率预修正

%模拟原型滤波器计算

[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'

s'

)%计算阶数n和截止频率

[z0,p0,k0]=buttap(n);

%归一化原型设计

ba=k0*real(poly(z0));

%求原型滤波器系数

aa=real(poly(p0));

%求原型滤波器系数a

[ba1,aa1]=lp2lp(ba,aa,Omgc);

%变换为模拟低通滤波器系数b,a

%注意,以上4行求滤波器系数ba1,aa1的程序,可由下一条程序替代

[ba1,aa1]=butter(n,Omgc,'

);

%直接求模拟滤波器系数

%用双线性变换法计算数字滤波器系数

[bd,ad]=bilinear(ba1,aa1,Fs);

%用双线性变换法计算数字滤波器系数b,a

[sos,g]=tf2sos(bd,ad);

%由直接型变换为级联型

%求数字系统的频率特性

[H,w]=freqz(bd,ad);

dbH=20*log10((abs(H)+eps)/max(abs(H)));

%化为分贝值

subplot(2,2,1),plot(w/pi,abs(H));

ylabel('

|H|'

title('

幅度响应'

axis([0,1,0,1.1]);

set(gca,'

XTickMode'

'

manual'

XTick'

[0,0.25,0.4,1]);

YTickMode'

YTick'

[0,Attn,ripple,1]);

grid

subplot(2,2,2),plot(w/pi,angle(H)/pi);

\phi'

相位响应'

axis([0,1,-1,1]);

[-1,0,1]);

subplot(2,2,3),plot(w/pi,dbH);

幅度响应(dB)'

dB'

xlabel('

频率(\pi)'

axis([0,1,-40,5]);

[-50,-15,-1,0]);

subplot(2,2,4),zplane(bd,ad);

axis([-1.1,1.1,-1.1,1.1]);

零级图'

5.4运行结果及分析

n=5

图7运行结果

由频率特性曲线可知,该设计结果在通阻带截止频率处能满足Rp≤1dB,As≥15dB的设计要求,系统的极点都在单位圆内,是一个稳定的系统。

由n=5可知,巴特沃斯数字低通滤波器是一个5阶的系统,原型Ha(s)在s=-∞处有5个零点,映射到z=-1处。

这个巴特沃斯低通滤波器的传递函数为H(z)=0.0072(1+z-1)5/[(1-0.3193z-1)(1-0.6984z-1+0.2053z-2)(1-0.9257z-1+0.5976z-2)]

低通原型的每一个边界频率都映射为带通滤波器两个相应的边界频率。

根据通带截止频率和阻带截止频率与频谱函数曲线比较,满足设计要求。

六、IIR滤波器的优缺点

6.1IIR滤波器优点:

(1)递归结构;

(2)对频率分量的选择性好;

(3)H(n)设计有封闭的形式公式一定完成;

(4)对计算手段要求较低。

6.2IIR滤波器缺点:

(1)不稳定;

(2)相同性能下阶次较低;

(3)有噪声反馈;

(4)运算误差大。

IIR滤波器主要用于:

设计分段常数的标准低通、高通、带通、带阻和全通滤波器。

七、实验总结与心得

通过本次课程设计,不仅使我更加熟悉Matlab软件的应用,而且对数字信号处理中相关的各类滤波器的设计又进行了一次系统的复习;

也使我加深了对课堂抽象概念的理解,巩固了课

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2