MATLAB信号发生器系统

MATLAB信号发生器系统

一、课题背景    

传统的台式函数信号发生器具有体积庞大,接口不灵活,波形固定,价格昂贵等缺点,针对此现状,本次根据老师布置的作业完成一个简单的数字信号发生器,可以产生不同幅值,频率的白噪声、正弦波、锯齿波、方波。工具选择为matlab,它具有强大的数据分析功能和数据处理功能[1],其自带的库函数为信号波形的产生带来了很大的方便。正文详细介绍了通过计算机声卡如何完成虚拟数字信号发生器的基本原理以及出现波形所需要实现的具体函数。

二、GUI界面

三、技术路线

声卡是实现声波/数字信号相互转换的一种硬件[2],在一般通常使用的PC机配置声卡中,大豆提供了麦克风输入和扬声器输出2个接口,他们集成了信号IO需要的模/数转换器(ADC)和数/模转换器(DAC)。因此,我们只需要将产生的数字信号通过音频线引出即可获得声音输出。

所有波形由matlab中所带的函数绘制完成,通过固定的接口函数,完成波形与声卡的对接,从而实现波形与音频信号的转换。

四、GUI界面的制作与调试

4.1 概述

在开发一个实际的应用程序时都会尽量做到界面友好,最常用的方法就是使用图形界面。其能够使用户的学习和使用更为方便容易。用户不需要知道应用程序究竟怎样执行各种命令的,而只需要了解可见界面组件的使用方法;用户也不需要知道命令是怎么执行的,只要通过与界面交互就可以使指定的行为得以正确执行。

正是MATLAB为用户开发图形界面提供了一个方便高效的集成开发环境,MATLAB图形用户界面开发环境GUIDE(MATLAB Graphical User Interface Development Environment)。GUIDE主要是一个界面设计工具集,MATLAB R2011B将所有GUI支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户设计好的GUI界面保存在一个FIG资源文件中,同时还能够生成包含GUI初始化和组件界面布局控制代码的M文件。这个M文件为实现回调函数(当用户激活GUI某一组件时执行的函数)提供了一个参考框架。

图4.1 GUI设计框架图

实现一个GUI主要包括GUI界面设计和GUI组件编程两项工作。整个GUI的实现过程如图7.1所示

4.2 GUI界面的打开

在MATLAB 中,GUIDE提供了多种设计模块以方便用户轻松的定制属于自己的GUI。这些模块均包括了相关的回调函数,用户可以打开它所对应的M文件,修改实现自己需要的功能的函数。

在MATLAB 中,可以通过两种方法来进入GUI界面:

在MATLAB 的命令窗口中直接输入guide并且回车。

点击如图7.2所示的红色标志就可以打开GUI建立窗口。

然后再弹出来的选择窗口中选择Blank GUI(Default),并将其保存在自己选择的文件夹中。点击OK后,就会弹出组合面板窗口,如图5.3所示,在这个面板中,用户可以按照自己的需要添加相应的控件。

图4.2 GUI打开方式

(1)组件面板

在GUI界面中放置组件,首先单击工具栏中的按钮,光标变成十字形后使用十字形光标的中心点来确定组件左上角的位置,或者通过在界面区域内单击并拖动鼠标来确定组件的大小。如图5.3给出的一个添加组件的示例。

GUI组件布置完成后,可以使用菜单栏中最后一个三角形按钮或Tools菜单中的ActivateFigure选项来观察GUIDE的设计结果。这时会自动生成一个FIG文件和一个M文件,FIG文件会提示保存路径。双击界面区域内的按钮就会弹出属性窗口,可以修改自己需要的属性。

图4.3 添加组件示例

(2)编程回调函数

布置完GUI组件后,接下来最重要的一步就是编程每个按钮的回调函数,实现自己需要的功能,其编程过程为:

1、右键单击按钮,待弹出选择窗口时,选择最后一项即views callbacks;

2、鼠标放在views callbacks后就会弹出子选择窗口,根据自己的按钮属性选择相应的函数回调;

3、选择完函数后,则会自动跳到M文件中该按钮所对应的回调函数,在该段函数中,可以编写自己需要实现该按钮的功能的代码。

  1. 回调代码的具体实现

待所有按钮的功能的回调函数都编写完毕后,点击保存,然后点击菜单栏中的三角形按钮,则会弹出用户开发界面,在该用户开发界面中,用户可以单击按钮以实现该按钮所拥有的功能。如图5.4所示。

4.3 作品演示

   在MATLAB R2012a的命令窗口中输入guide后,选择自己弄好的GUI的路径,打开GUI。然后单击菜单栏中的三角形按钮则弹出如图5.4的用户开发界面。

用户可以通过点击按钮,弹出对话框后,选择交通标志,并且进行识别出来。

图4.4 运行界面

点击识别后,则会对测试图片进行识别。如图5.5所示,并将所得到的结果在MATLAB命令窗口显示出来。

图4.5 运行结果

  • 13
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值