EDN China > 设计实例 > EDA工具与服务 > 仿真与验证 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于Matlab GUI的模拟带通滤波器的设计

陕西理工学院 贾建科 韩团军 朱宁洲?? 2010年07月23日 ?? 收藏0

  0? 引? 言

  模拟带通滤波器在信号的检测和传输过程中起着很重要的作用,但在传统模拟带通滤波器的设计过程中需要大量繁琐的数值计算,如果手工计算则费时费力。也有许多公司开发了相关的滤波器设计软件,如 AnsoftDesigner,Filterlab等,但是它们大多数使用起来不容易上手,而且价格比较昂贵。Matlab中的图形界面编程环境 GUIDE为用户开发软件界面提供了强有力的工具。在图形界面编程环境GUIDE下,设计好滤波器的设计工具界面后,对界面上各个控件的回调函数进行编写就能设计出交互式滤波器的分析设计软件。

  本文在Matlab GUI基础上设计了针对Chebyshev型模拟带通滤波器的设计分析软件。用户在使用时只需输入要设计的滤波器设计指标值,选择要设计的滤波器类型,即可在分析滤波器特性时只需选择相应菜单就能得出对应的特性。该工具解决了用户在设计Chebyshev型模拟带通滤波器时大量繁琐的数值计算,不仅可以作为研究设计Chebyshev型模拟带通滤波器的辅助工具,还可以作为设计滤波器等相关课程的辅助教学软件。

  1 模拟带通滤波器的设计理论

  目前,模拟高通滤波器、带通滤波器和带阻滤波器的设计方法都是先将要设计的滤波器技术指标通过某种频率转换关系转换成模拟低通滤波器的技术指标,并依据这些技术指标设计出低通滤波器的转移函数,然后再依据频率转换关系变成所要设计的滤波器的转移函数。工程实际中,设计高通、带通、带阻滤波器的常用方法是借助低通原型滤波器,经频率变换和元件变换得到。

  对于模拟带通滤波器的设计,首先是将要设计的模拟带通滤波器的技术指标通过频率变换关系,转换成模拟低通滤波器的技术指标,其次根据这些技术指标设计出低通切比雪夫滤波器转移函数,最后再依据频率转换关系变成模拟低通切比雪夫滤波器,其具体设计流程如图1所示。

设计流程

  2 Matlab GUI设计工具简介

  在Matlab中,图形用户界面(graphical user interface,GUI)是Matlab中一个专用于GUI程序设计的向导设计器,而GUI是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交互的有效工具和方法。通过GUIDE可以很方便地设计出各种符合要求的图形用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。GUI设计既能以基本的Matlab程序设计为主,也能以鼠标为主,利用 GUIDE工具进行设计,也可综合以上两种方法进行设计。GUIDE主要是一个界面设计工具集。Matlab将所有GUl支持的用户控件都集成在这个环境中并提供界面外观、属性和行为相应方式的设置方法。GUIDE将用户保存设计好的图形用户界面保存在一个FIG资源文件中,同时自动生成包含图形用户界面初始化和组件界面布局控制代码的M文件,这个M文件为实现回调函数的编写提供了一个参考框架。FIG文件是一个二进制文件,包含系列化的图形窗口对象。所有对象的属性都是用户创建图形窗口时保存的属性。该文件最主要的功能是对象句柄的保存。M文件包含GUI设计、控制函数及控件的回调函数,主要用来控制 GUI展开时的各种特征。该文件基本上可以分为GUI初始化和回调函数2个部分,控件的回调函数可根据用户与GUI的具体交互行为分别调用。

  3 软件界面设计

  在软件设计时,通过文本编辑框控件来接收用户输入的滤波器设计指标值,考虑到分析滤波器时输出的参数较多,如果用一一对应的文本框来接收输出的参数值,则使软件界面在设计中难以布局,并影响了界面的美观,所以只用一个文本编辑框控件来实现多个参数的输出。在滤波器类型选择控件方面,因为只用2种滤波器来进行选择设计,所以使用两个单选按钮,以实现滤波器类型的选择;在滤波器特性曲线分析和参数计算方面,利用图形界面设计工具 GUIDE提供的菜单编辑器来设计出分析、计算菜单,并加入相应的功能子菜单。绘制输出滤波器的特性曲线时使用一个坐标轴来实现各个特性曲线的绘制,这样可以使软件界面简洁明了。最后对参数输入和参数输出区进行功能区域划分,利用控件工具箱中的框架按钮,将参数的输入与输出区划分,利用控件工具箱中文本标签对上面相应控件的功能命名。将设计好的界面文件保存运行,就可以看到软件在运行时显示出的实际效果。设计的界面如图2所示,设计出的软件界面由4个部分组成:菜单栏、参数输入区、参数输出区、绘图区。

设计的界面

  其中,设计的分析菜单包括滤波器的幅频特性、相频特性、阶跃响应、脉冲相应和零极点子菜单,计算菜单包括阶数、零点、极点、增益、转移函数(分子)和转移函数(分母)子菜单。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

GUI? 模拟带通滤波器? Chebyshev?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈