4应用程序M文件的设计

GUI包含许多可以使软件终端与用户界面进行交互的用户界面组件,GUI实现的任务之一就是控制组件如何响应用户的行为。Matlab通过创建应用程序M文件为GUI控制程序提供一个框架。所有代码(包括回调函数)都包含在应用程序M文件中,即完成了图形界面的设计后,应用程序设计的主要工作是控件回调函数的设计。下面讨论程序设计流程及控件回调函数的设计。

4.1 程序设计流程

软件运行时,系统首先初始化。接着判断输入的滤波器参数及其类型是否正确,不正确重新输入,正确即可选择相应的功能菜单,实现相应的功能。程序具体流程图如图3所示。

4.2 控件回调函数设计

该软件的控件回调函数包括“确定”按钮控件回调函数、“清除”按钮控件回调函数、滤波器类型选择控件回调函数、“分析”菜单下各子菜单功能回调函数和“计算”菜单下各子菜单功能控回调函数的设计。限于篇幅,仅讨论“分析”菜单下各个菜单功能回调函数和“计算”菜单下各功能回调函数的设计。

4.2.1 “分析”菜单下的各子菜单功能回调函数设计

在“分析”菜单下应包含“幅频特性”、“相频特性”、“阶跃响应”、“脉冲响应”、“零极点图”子菜单,分别用来实现幅频特性曲线、相频特性曲线、阶跃响应、脉冲响应、零极点图的绘制。其中,“幅频特性”菜单用来绘制给定参数的滤波器的幅频特性曲线,在程序设计过程中首先使用Matlab中的axes函数,得到坐标轴控件的句柄,以便绘制特性曲线。在得到用户输入的设计指标值后,利用if else语句来判断用户所选择的是哪一种滤波器类型,在阶数和截止频率的计算中,利用信号处理工具箱中的cheblord和cheb2ord函数来计算,再用chebyl和theby2函数来计算转移函数的分子、分母,设计出用户所要求的滤波器。在计算滤波器幅值时,利用freqs函数计算出转移函数的响应。在绘制滤波器幅频特性曲线时,利用plot函数来完成,即在plot函数的参数中设置相关值,以完成幅频特性曲线的绘制。为了更好地观察到滤波器的设计是否达到相关的设计要求,利用line函数在坐标上标识出通带最大损耗、阻带最小损耗等点,这样可以直观地观察到所设计出的滤波器是否符合用户提出的要求,其具体程序如下:

在“分析”菜单下“相频特性”子菜单用来绘制给定参数的滤波器的相频特性曲线。相频特性曲线的在程序设计过程与幅频特性曲线的程序设计比较相似,只是在求得幅值后加一相位计算函数angle来求相位角。在plot函数中将纵坐标参数换为求出的相位角变量即可完成相频特性曲线的绘制。

对于“阶跃响应”回调函数的程序设计,要将计算出的阶跃响应绘制在坐标轴控件界面上,不能利用信号处理工具箱中step函数直接求得。因为若用该函数会使绘制出的阶跃响应曲线在一个新打开的窗口上,而软件在界面设计时,所求滤波器的所有特性曲线都共用一个坐标轴来绘制;在程序设计时利用tf函数将计算出的滤波器转移函数的分子、分母系数生成转移函数,再利用阶跃响应函数step对求出的转移函数变量求解出阶跃响应值;最后利用plot函数绘制出所求滤波器的阶跃响应曲线,这样即可完成阶跃响应曲线在坐标轴上的绘制。

“脉冲响应”回调函数的程序设计与“阶跃响应”回调函数的程序设计十分相近,只是将上述程序中的阶跃响应函数step换成脉冲响应函数impluse,并在对应的时间做相应的调整即可完成脉冲响应回调函数的编写。

“零极点图”回调函数的程序设计与以上两个子菜单的回调函数设计大致相同,程序的设计结构与前面几个菜单的回调函数的设计基本一致。在求得转移函数的分子、分母系数后,利用tf2zp函数求出所设计出的滤波器的零点、极点、增益,再用real函数和imag函数求出零点、极点的实部和虚部,最后利用绘图函数plot绘制出系统的零极点图。

matlab的GUI滤波器设计,基于Matlab GUI的模拟带通滤波器的设计相关推荐

  1. (更新源码)数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)

    数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发) 1.内容简介 2.函数使用 3.实现功能 4.操作实例 5.窗函数对比 6.源代码 1.内容简介 利用MATLAB GUI设计平台, ...

  2. 基于matlab下数字信号的课程设计,数字信号课程设计--基于MATLAB的语音滤波实验...

    数字信号课程设计--基于MATLAB的语音滤波实验 数字信号课程设计 数字信号课程设计 题目基于基于 MATLAB 的语音滤波实验 姓名 班级 电信 1002 班 学号 数字信号课程设计 摘要摘要 数 ...

  3. 自控matlab设计,自动控制原理课程设计--基于MATLAB软件的自动控制系统仿真

    自动控制原理课程设计--基于MATLAB软件的自动控制系统仿真 < 自动控制原理 >课程设计说 明 书日期: 2012.5.21-2012.6.1 自动控制原理 课程设计评阅书题目 基于 ...

  4. 工厂供电MATLAB仿真,工厂供电课程设计---基于MATLAB的电力电子系统仿真

    工厂供电课程设计---基于MATLAB的电力电子系统仿真 课题名称基于 MATLAB 的电力电子系统仿真 ((一一)) 交流交流.直流变流器直流变流器 交流-直流变流器又称整流器.AC-DC 变流器, ...

  5. matlab音乐信号处理,数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析...

    数字信号处理课程设计---基于 MATLAB 的音乐信号处理和分析 1<数字信号处理>课程设计设计题目:基于 MATLAB 的音乐信号处理和分析一.课程设计的目的本课程设计通过对音乐信号的 ...

  6. 潮流分析matlab课程设计小结,电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析...

    电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析 电力系统稳态分析课程设计 题 目基于 MATLAB 的电力系 统 复杂潮流分析 学生姓名 学 号 专 业电气工程及其自动化 班 级 ...

  7. 电力系统分析课程设计——基于MATLAB的三相短路分析

    电力系统分析课程设计--基于MATLAB的三相短路分析 案例:三机九节点系统 3.2.1 题目描述 三相短路发生时,电力系统的三相电路仍然对称,故称之为对称短路.此类 型短路在所有短路故障占比虽然不多 ...

  8. 基于matlab的温度信号采集,基于matlab与单片机的动态温度监控系统的设计

    基于matlab与单片机的动态温度监控系统的设计 基于Matlab/Simulink 与单片机的动态温度监控系统的设计Matlab 有着强大的数值处理能力,已应用于工程计算.控制系统设计.数字信号处理 ...

  9. matlab噪音的消除办法,基于MATLAB的噪声消除方法.ppt

    基于MATLAB的噪声消除方法 基于MATLAB的噪声消除方法 答 辩 人 :徐 苏 美 指导教师:杨卫平教授 论文的指导思想 21世纪的社会是信息化社会,我们生活中的每一天都离不开数字信号.随着信息 ...

  10. 基于matlab的车牌识别系统设计,基于MATLAB的车牌识别系统设计

    在图像处理领域,数字图像处理技术取得了飞速发展,并在国民经济的各个领域得到广泛应用.尤其在智能交通管理中汽车牌照识别技术方面具有重要的理论意义和实用价值.汽车牌照识别技术主要任务是实现对汽车监控视频所 ...

最新文章

  1. 驳斥《沙盒用于数据防泄密是重大技术原理性失误》
  2. CTF web题总结--任意文件下载
  3. 【小米校招笔试】假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。
  4. python基础(part17)--函数式编程
  5. [CSP-S Day1,Day2 游记]提高组考后总结及学习编程C++以来的心得体会
  6. Scrapy 爬虫去重效率优化之 Bloom Filter的算法的对接
  7. 计算机外部设备的配置及扩展能力也是计算机,计算机1-6修改后.docx
  8. 详解淘宝大秒杀系统设计,首次公开
  9. cedit多行文本设置透明背景会重叠_python:电商用户评价文本分析(wordcloud+jieba)...
  10. 防止phpddos攻击
  11. Idea 格式化代码 Idea设置快捷键 格式化代码
  12. Linux花生壳使用篇
  13. 强烈推荐这个Java学习文档——不看后悔系列
  14. ftl有三种映射地址_FTL地址映射的方法及装置与流程
  15. 解决win10+Ubuntu20.0.4双系统,win10时间错误问题
  16. Android开发--更换字体
  17. js 判断是否等于0不要用!
  18. 深入理解java虚拟机——自动内存管理
  19. V6H--升级3种方式和修改版本号
  20. 较为简洁明了的KMP算法解释

热门文章

  1. 服务器搭建微信编辑器,V5微信编辑器本地安装试卷.doc
  2. CSS伪选择器的使用-遁地龙卷风
  3. NFine框架因新增页面而显示无法链接资源
  4. 使用idea工具进行反编译
  5. Java练习题(String)
  6. 关于进行安装程序出现注册DLL/OCX失败,返回码:0x5问题
  7. Python上传文件到百度网盘(一)
  8. 遗传算法(Genetic Algorithm,GA)实例详解
  9. 将mysql服务从C盘(原),安装到新路径D盘下(其中的数据一并迁移)
  10. 联想Y580黑苹果安装