MATLAB课程设计虚拟信号发生器.doc
《MATLAB课程设计虚拟信号发生器.doc》由会员分享,可在线阅读,更多相关《MATLAB课程设计虚拟信号发生器.doc(10页珍藏版)》请在三一办公上搜索。
1、课程名称:计算机辅助分析大作业设计题目: 虚拟信号发生器 院 系: 专 业: 年 级: 姓 名: 指导教师: 西南交通大学峨眉校区2011 年 5 月 20 日一、 原理分析 该虚拟信号发生器的设计由GUI界面及其对应的程序组成。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛地应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、方波、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。本文设计了一种可以产生正弦波、方波、三角波、锯齿波的虚拟信号发生器。1、 建立图形用户界面图形用户界面(Graphical Us
2、er Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。具体步骤如下:1) 在Command 里面输入 GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE,然后新建一个GUI,进入布局编辑器。2) 为GUI添加控件:编辑框(Edit Text)控件、静态文本(Static Text)、 滚动条(Slider)控件、按钮(Push Button)控件、坐标轴(Axes)控件、面板(Panel)控件,并按照自己的想象摆放GHI控件,即做布局设计。3) 设置控件的属性 图1 对象浏览器控件主要属性列表:控件名称StringTag按钮(Push Bu
3、tton)控件正弦波pushbuttonZHENGXIAN方波pushbutton2FANGBO三角波pushbutton4SANJIAO锯齿波pushbutton3JUCHIBO清除Pushbutton5滚动条(Slider)控件SlidersliderxiangweiSlidersliderpinlvSlidersliderfuzhi编辑框(Edit Text)控件默认editpinlv默认editfuzhi默认editxiangwei静态文本(Static Text)频率Text1幅值Text2相位Text3注:其余属性中,大小位置就不叙述了,其他默认,或者在m文件中有设置4) 为各个控
4、件添加回调函数,然后保存或者运行它,自动生成FIG文件和M文件5) 在M文件对应回调函数中编程界面外观:图2 GUI界面2、 GUI程序设计1)正弦按钮的Callback函数:global p1;%GLOBAL Define global variable.global p2;global p3;global p4;p2=0;p3=0;p4=0;p1=get(handles.pushbuttonZHENGXIAN,value);%获取正弦按钮的当前值并赋给p1while p1=1j=get(handles.sliderfuzhi,value);%获取幅值滚动条的值,并且赋给jk=get(han
5、dles.sliderpinlv,value);l=get(handles.sliderxiangwei,value);set(handles.editfuzhi,string,num2str(j);%修改editfuzhi 的值为滚动条当前的值set(handles.editpinlv,string,num2str(k);set(handles.editxiangwei,string,num2str(l);A=str2num(get(handles.editfuzhi,string);%获取幅值选择框的值,并且赋给Af=str2num(get(handles.editpinlv,string
6、);P=str2num(get(handles.editxiangwei,string);t=0:0.001:8*pi;y=A*sin(2*pi*f*t+P*2*pi);plot(t,y);axis(0,8*pi,-1.2,1.2); grid on;break;end2) 方波按钮的Callback函数:global p1;global p2;global p3;global p4;p1=0;p3=0;p4=0;p2=get(handles.pushbutton2FANGBO,value);j=get(handles.sliderfuzhi,value);k=get(handles.slid
7、erpinlv,value);l=get(handles.sliderxiangwei,value);set(handles.editfuzhi,string,num2str(j);set(handles.editpinlv,string,num2str(k);set(handles.editxiangwei,string,num2str(l);A=str2num(get(handles.editfuzhi,string);f=str2num(get(handles.editpinlv,string);P=str2num(get(handles.editxiangwei,string);t=0
8、:0.001:6; y=A*square(2*pi*f*t+4*P/f,50);plot(t,y);grid on;axis(0,6,-1.2,1.2);3) 锯齿波按钮的Callback函数:global p1;global p2;global p3;global p4;p1=0;p2=0;p4=0;p3=get(handles.pushbutton3JUCHIBO,value);% - Executes on slider movement.j=get(handles.sliderfuzhi,value);k=get(handles.sliderpinlv,value);l=get(han
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 课程设计 虚拟 信号发生器
链接地址:https://www.31ppt.com/p-2388456.html