DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 94|回复: 0
打印 上一主题 下一主题

基于Matlab GUI的模拟带通滤波器的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:28:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      0? 引? 言
  模拟带通滤波器在信号的检测和传输过程中起着很重要的作用,但在传统模拟带通滤波器的设计过程中需要大量繁琐的数值计算,如果手工计算则费时费力。也有许多公司开发了相关的滤波器设计软件,如AnsoftDesigner,Filterlab等,但是它们大多数使用起来不容易上手,而且价格比较昂贵。Matlab中的图形界面编程环境GUIDE为用户开发软件界面提供了强有力的工具。在图形界面编程环境GUIDE下,设计好滤波器的设计工具界面后,对界面上各个控件的回调函数进行编写就能设计出交互式滤波器的分析设计软件。
  本文在Matlab GUI基础上设计了针对Chebyshev型模拟带通滤波器的设计分析软件。用户在使用时只需输入要设计的滤波器设计指标值,选择要设计的滤波器类型,即可在分析滤波器特性时只需选择相应菜单就能得出对应的特性。该工具解决了用户在设计Chebyshev型模拟带通滤波器时大量繁琐的数值计算,不仅可以作为研究设计Chebyshev型模拟带通滤波器的辅助工具,还可以作为设计滤波器等相关课程的辅助教学软件。
  1 模拟带通滤波器的设计理论
  目前,模拟高通滤波器、带通滤波器和带阻滤波器的设计方法都是先将要设计的滤波器技术指标通过某种频率转换关系转换成模拟低通滤波器的技术指标,并依据这些技术指标设计出低通滤波器的转移函数,然后再依据频率转换关系变成所要设计的滤波器的转移函数。工程实际中,设计高通、带通、带阻滤波器的常用方法是借助低通原型滤波器,经频率变换和元件变换得到。
  对于模拟带通滤波器的设计,首先是将要设计的模拟带通滤波器的技术指标通过频率变换关系,转换成模拟低通滤波器的技术指标,其次根据这些技术指标设计出低通切比雪夫滤波器转移函数,最后再依据频率转换关系变成模拟低通切比雪夫滤波器,其具体设计流程如图1所示。






  其中,设计的分析菜单包括滤波器的幅频特性、相频特性、阶跃响应、脉冲相应和零极点子菜单,计算菜单包括阶数、零点、极点、增益、转移函数(分子)和转移函数(分母)子菜单。
  4应用程序M文件的设计
  GUI包含许多可以使软件终端与用户界面进行交互的用户界面组件,GUI实现的任务之一就是控制组件如何响应用户的行为。Matlab通过创建应用程序M文件为GUI控制程序提供一个框架。所有代码(包括回调函数)都包含在应用程序M文件中,即完成了图形界面的设计后,应用程序设计的主要工作是控件回调函数的设计。下面讨论程序设计流程及控件回调函数的设计。
  4.1? 程序设计流程
  软件运行时,系统首先初始化。接着判断输入的滤波器参数及其类型是否正确,不正确重新输入,正确即可选择相应的功能菜单,实现相应的功能。程序具体流程图如图3所示。








  “阶数”、“零点”、“极点”、“增益”、“转移函数分子系数”、“转移函数分母系数”子菜单中回调函数的程序设计基本一样,只是在输出值时参数名称不同。将阶数子菜单程序中set语句的“n”换成相应菜单对应的变量名即可实现相应的功能。在完成了各个控件的回调函数编写后,对软件的功能进行逐一调试,以保证每项功能都能正确响应用户的操作。
  4.3? 代码优化
  在调试完软件的各项功能后,应对所设计的软件代码进行优化。打开软件中使用次数比较多的程序段,利用Matlab中的程序执行耗时剖析功能函数profile指令对程序中执行耗时情况进行分析,之后进行改进,以提高执行效率。打开设计出的软件主程序M文件,对已经优化过且使用次数较多的程序段,应另外编写成函数形式,供需要的控件回调函数调用,在需要调用的相关控件回调函数下只需要填写相应的函数名称就能实现其相应的功能。
  对于在界面设计时没有用到的控件,对应生成的代码可以直截删去。最后在Matlab环境下,运行该程序,即可实现模拟带通滤波器的设计和性能分析。利用该软件对模拟带通滤波器进行了分析,其部分结果如图4、图5所示。





  5? 结? 语
  该文在分析模拟滤波器设计理论的基础上,设计了基于Matlab GUI的模拟带通滤波器设计软件。利用该软件可以分析滤波器的幅频特性、相频特性和零,极点分布特性等。如何将该课题的研究与实际的模拟滤波器设计整合在一起,将是下一步面临的重要工作。同时也可利用该设计方法设计功能更大的滤波器分析设计软件,使该软件具有更大的实用价值。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-16 18:44 , 耗时 0.080850 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表