MATLAB在模拟滤波器设计分析中的应用

2018-04-26 08:51北京林业大学理学院徐静怡周可欣赵一宁李冰琪
电子世界 2018年7期
关键词:沃斯幅频特性阻带

北京林业大学理学院 王 浩 赵 睿 徐静怡 周可欣 赵一宁 李冰琪

引言

模拟滤波器能有效地抑制频带噪声,平衡各频段的幅频、相频特性。因此,它在通信、控制、信号处理等领域发挥着重要的作用,被广泛应用于通信、数据采集、控制等电子系统中。但实验室中,在对仪器及系统测量过程中,市面上的模拟滤波器并不能很好地适用,因此许多情况下,用户需要根据需求自己设计合适的滤波器。以此为需求,在MATLAB的GUIDE开发环境下,设计模拟滤波器的分析界面,借助MATLAB强大的计算与图形工具帮助用户对设计的滤波器特性进行分析,同时利用MATLAB编程计算电路参数,极大简化了滤波器设计过程,减少了重新设计过程中繁琐的步骤。

1.模拟滤波器分析界面设计基本内容

由于理想滤波器为物理不可实现系统,实际滤波器的频率特性只能“逼近”理想滤波。且滤波器的幅频响应在通带内常出现波纹,阻带内幅频特性不能衰减到零,在通带与阻带之间存在过渡带[1]。因此传统人工设计模拟滤波器,首先根据技术指标包括滤波器的幅频特性、相频特性确定滤波器的系统函数H(s),然后经过复杂计算设计出实际网络来实现这一传递函数。虽然许多滤波器都有逼近函数,然而计算过程都极为繁琐复杂。此外利用传统方法设计高通、带通、带阻滤波器时,通常根据对高通、带通、带阻滤波器的特性指标要求,求出相应的低通原型的指标,然后再确定低通原型的系统函数H(s),依据一定变换关系得出其他通带滤波器的传递函数。本文设计的模拟滤波器分析界面,通过MATLAB编程编写相关回调函数,可有效避免上述问题,在模拟滤波器的设计和分析上有着简单方便等优点,不仅可以作为研究设计模拟滤波器的辅助工具,还可作为相关课程的辅助教学软件。该软件具有以下特点:

具有数据输入、修改、保存等功能,界面简介明了,操作简单,方便使用。

可以选择多种类型的模拟滤波器,如巴特沃斯、切比雪夫I型,切比雪夫II型、椭圆型,还可以选择低通、高通、带通、带阻四种通带类型。

可以对相应的模拟滤波器的幅频特性、相频特性以及零极点进行分析,同时可得到滤波器的系统函数。

2.1 界面结构设计

在MATLAB图形界面开发环境下,创建了主界面,并分成菜单区、滤波器参数设计区以及滤波器特性分析区三个部分,在每部分中分别编写各个控件的回调函数,可以实现读取数据、输出结果等功能[2]。其中菜单区包括打开文件、退出、清除数据、运行等基本功能外,还增加了Circuit菜单,可以得到滤波器电路参数,帮助用户进一步设计;以及增加了Compare Analysis(对比分析)菜单,使得用户可以对多个滤波器特性进行同时分析;用户也可选择help(帮助)菜单,了解详细的功能介绍。在滤波器参数设计区中,用户可根据滤波器逼近函数选择包括巴特沃斯、切比雪夫I型,切比雪夫II型、椭圆型在内的四种类型滤波器,其对应的特性区别可以在帮助菜单中查看,然后用户需输入相关参数,包括阶数、特征频率、衰减;运行之后,则可以在分析模块选择查看幅频特性和相频特性、零极点以及传递函数。

2.2 分析界面系统的具体实现

巴特沃斯滤波器特点是通频带内频率响应曲线最为平坦,幅频特性与相频特性都是单调下降的,因此在处理信号过程中产生的幅值畸变和相频畸变都相对较小[3]。这里以巴特沃斯低通滤波器设计分析为例,设计一款通带截止频率2kHz,通带最大衰减1.5dB,阻带截止频率5kHz,阻带最小衰减40dB的滤波器,介绍该分析界面各部分功能模块的具体实现。

(1)Filter Design(滤波器参数设计区),可分为System、Order、Frequency Specification、Magnitude Specification四块。设计巴特沃斯滤波器的主要步骤就是根据设计指标求出阶数和3dB截止频率,进而确定相应的传递函数[4]。在System下,选择要设计的巴特沃斯低通滤波器,并选择其幅频特性图像以对数显示(单位分贝,dB);在Order下,可以选择滤波器阶数是用户自定义或者最小阶数,后者在软件运行后,自动得出,这里选择最小阶数并计算得出最小阶数为4阶;在Frequency Specification中,输入特征频率,包括通带和阻带截止频率;在Magnitude Specification中输入通带最大衰减和阻带最小衰减。最后运行,设计结果如图1所示。

图1 巴特沃斯低通滤波器设计界面

Fig.1 The design interface of Butterworth low pass filter

运行后,在Filter Analysis(滤波器特性分析区)可以依次选择查看所设计滤波器的幅频和相频特性、零极点图,如图2所示,以及可以得到滤波器的传递函数H(s)。

如图2所示,巴特沃斯滤波器在通频带没有波纹,在阻带内逐渐衰减为零,但过渡带较长,阻带衰减特性较差,且由零极点图和传递函数可以看出,巴特沃斯滤波器为全极点滤波器,不存在零点,或者说其传递函数零点在无限频处,只有在无限频处才能给出无穷大的衰减[5]。另外在设计过程中,确定阶数及3dB截止频率时,采用的是通带指标刚好满足要求而阻带指标有富余的计算方法,因此图中1kHz时衰减约为1.5dB,而5kHz时衰减则约为52dB。

图2 巴特沃斯滤波器特性分析图

(3)为了更好的对所设计的滤波器进行分析,可以选择Compare Analysis菜单,其包含了Mag/Pha(幅频/相频特性)、Zero/Pole(零极点图)两大项。选择Mag/Pha,可以查看四种滤波器在相同分析特征参数条件下,幅频特性和相频特性的不同;选择Zero/Pole则可以得到四种滤波器的零极点图。

(4)完成运行后,系统会自动将此次滤波器设计分析的相关参数生成txt文件,导出到桌面。为了进一步验证设计,在仿真软件中搭建由RC元件和放大器组成的有源滤波电路,电路元件参数可以通过选择Circuit菜单获得。RC有源滤波器避免了无源滤波器中电感器件的非线性特性,且由于运放的作用可以为输入信号提供增益[6]。

(5)在第一次打开界面后,用户可以选择菜单栏中的help菜单,其中分为About 和Instructions两项。在About中可以了解有关图形界面的型号、设计时间、使用要求等;而Instructions中,则可以了解滤波器设计分析的基本知识,例如查看其它几种类型滤波器的基本知识,切比雪夫I型滤波器属于全极点滤波器,不过其在通带内有波纹,而过度带较窄,具有更陡的衰减特性[7];而切比雪夫II型和椭圆型滤波器的传递函数既有零点也有极点,前者通带平坦而阻带等波纹,后者虽然在通带和阻带中均等波纹,但阻带内的有限传输零点减少了过渡区,可获得极为陡峭的衰减曲线,不过椭圆滤波器的相频特性较差,失真严重[8]。

3.巴特沃斯低通滤波器电路仿真

巴特沃斯滤波器设计实例:

利用分析界面设计得到巴特沃斯低通滤波器阶数和传递函数,运用MATLAB语言编程计算得到如图3所示的巴特沃斯低通滤波器。

电路的元件参数。设计中采用的是Sallen-Key低通滤波电路,Sallen-Key结构由RC网络和有源VCVS(电压控制电源)共同组成,具有良好的反馈特性,适用于低频范围[9]。由于设计要求的是四阶滤波器,这里将两个二阶滤波器电路级联得到四阶滤波电路,并分别计算每一级电路的元件参数[10]。由图3电路分析,可得每级滤波器传递函数,第一级为:

第二级为:

其中fc为滤波器的3dB截止频率,Q1、Q2则为两级滤波器的品质因数,其描述了滤波器分离信号中相邻频率成分能力,通过查表可得四阶巴特沃斯低通滤波器两个品质因数为:Q1=1.307,Q2=0.5412。

图3 巴特沃斯滤波器电路图

图3中的电路是在Tina-Ti软件中搭建的,Tina-Ti 是德州仪器公司旗下一款易于使用、功能强大的电路仿真工具,基于 SPICE 引擎,可以很好的满足仿真需求。图4则为Sallen-Key型巴特沃斯低通有源滤波器的交流传输特性仿真图,可以看到幅频特性与相频特性与通过分析界面得到的曲线相同,所设计的巴特沃斯低通滤波器电路满足设计要求。

图4 巴特沃斯滤波器交流传输特性

程序描述,给出了包括巴特沃斯滤波器阶数和传递函数以及电路参数计算的部分程序。

4.结语

MATLAB在模拟滤波器设计中有着重要应用,利用GUIDE工具设计的这款分析界面简洁方便,可以帮助用户清楚的分析滤波器特性,且方便设计人员根据需求扩充完善程序,更可以在相关课程教学中作为教学软件提高教学质量;利用MATLAB编程可以简化运算,将滤波器电路设计程序化,设计程序完全开源,利于拓展,仿真结果符合预期要求。随着MATLAB相关功能的不断完善,MATLAB将在滤波器设计、信号处理等方面有着更多应用,为用户带来便利。

[1]费腾,张立毅.Matlab在模拟滤波器实验教学中的应用[J].高校实验室工作研究,2015(04)∶52-54.

[2]余胜威,吴婷,罗建桥.MATLAB GUI设计入门与实战[M].北京∶清华大学出版社,2016.

[3]王大伟,贾荣丛,王划一.基于MATLAB的巴特沃斯滤波器设计[J].现代电子技术,2012,35(21)∶71-72.

[4]程佩青.数字信号处理教程(第四版)[M].北京∶清华大学出版社,2013.

[5]董雷,张民,张炜.基于MATLAB巴特沃斯低通数字滤波器的设计与仿真[J].科技视界,2016(21)∶96-97.

[6]丁宇,薛开昶,孙伟.有源模拟滤波器的MATLAB辅助设计方法[J].计测技术,2015,35(05)∶31-34.

[7]王艳文,崔志娟,张静.基于matlab的切比雪夫Ⅰ型数字滤波器设计[J].科技信息,2013(17)∶386.

[8]周新.轻松学会滤波器设计与制作[M].北京∶化学工业出版社,2014.

[9]赵普渡.基于MATLAB的有源RC双二阶滤波网络仿真研究[J].机械工程与自动化,2016(2)∶115-117.

[10]娄云永,程金宏,侯凯文.基于MATLAB的模拟滤波器改进设计[J].电子世界,2014(20)∶185.

猜你喜欢
沃斯幅频特性阻带
安迪·高兹沃斯——塑造自然的艺术家
一种改进的最大信杂比MTD滤波器设计算法
量一量你的热爱
基于无线激光通信语音传输系统的设计
二维周期介质阻带分析与应用研究
雨天
基于MSP430的自动幅频特性测试系统
开口磁芯的高频电流传感器幅频特性研究
一种基于互补环缝谐振器抑制SSN的新方法
工程车辆油气悬架参数化建模与幅频特性分析