欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    MATLAB课程设计虚拟信号发生器.doc

    • 资源ID:2388456       资源大小:194.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB课程设计虚拟信号发生器.doc

    课程名称:计算机辅助分析大作业设计题目: 虚拟信号发生器 院 系: 专 业: 年 级: 姓 名: 指导教师: 西南交通大学峨眉校区2011 年 5 月 20 日一、 原理分析 该虚拟信号发生器的设计由GUI界面及其对应的程序组成。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛地应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、方波、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。本文设计了一种可以产生正弦波、方波、三角波、锯齿波的虚拟信号发生器。1、 建立图形用户界面图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。具体步骤如下:1) 在Command 里面输入 GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE,然后新建一个GUI,进入布局编辑器。2) 为GUI添加控件:编辑框(Edit Text)控件、静态文本(Static Text)、 滚动条(Slider)控件、按钮(Push Button)控件  、坐标轴(Axes)控件、面板(Panel)控件,并按照自己的想象摆放GHI控件,即做布局设计。3) 设置控件的属性 图1 对象浏览器控件主要属性列表:控件名称StringTag按钮(Push Button)控件 正弦波pushbuttonZHENGXIAN方波pushbutton2FANGBO三角波pushbutton4SANJIAO锯齿波pushbutton3JUCHIBO清除Pushbutton5滚动条(Slider)控件SlidersliderxiangweiSlidersliderpinlvSlidersliderfuzhi编辑框(Edit Text)控件默认editpinlv默认editfuzhi默认editxiangwei静态文本(Static Text)频率Text1幅值Text2相位Text3注:其余属性中,大小位置就不叙述了,其他默认,或者在m文件中有设置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(handles.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');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.sliderpinlv,'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: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(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:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,1);plot(t,y);grid on;axis(0,20,-1.2,1.2);4) 三角波按钮的Callback函数:global p1;global p2;global p3;global p4;p2=0;p3=0;p1=0;p4=get(handles.pushbutton4SANJIAO,'value');j=get(handles.sliderfuzhi,'value');k=get(handles.sliderpinlv,'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:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,0.5);plot(t,y);grid on;axis(0,20,-1.2,1.2);5) 滚动条的Callback函数(各个滚动条都一样)global p1;global p2;global p3;global p4;j=get(handles.sliderfuzhi,'value');%获取幅值滚动条的值,并且赋给jk=get(handles.sliderpinlv,'value');%获取频率滚动条的值,并且赋给kl=get(handles.sliderxiangwei,'value');%获取相位滚动条的值,并且赋给lset(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');P=str2num(get(handles.editxiangwei,'string');while 1 %一直判断,遇到有按键就执行,然后退出。if p1=1 %如果选择了正弦波t=0:0.001:8*pi;y=A*sin(2*pi*f*t+P*2*pi);plot(t,y);grid on;axis(0,8*pi,-1.2,1.2); endif p2=1 %如果选择了方波t=0: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);endif p3=1 %如果选择了锯齿波t=0:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,1);plot(t,y);grid on;axis(0,20,-1.2,1.2);endif p4=1 %如果选择了三角波 t=0:0.001:20; y=A*sawtooth(pi*f*t+4*P/f,0.5);plot(t,y);grid on;axis(0,20,-1.2,1.2);endbreak;end6) 清除按钮的Callback函数t=0:pi/360:8*pi;y=0;global p1;global p2;global p3;global p4;p1=0;p2=0;p3=0;p4=0;set(handles.sliderfuzhi,'value',0);set(handles.sliderpinlv,'value',0);set(handles.sliderxiangwei,'value',0);set(handles.editfuzhi,'string',num2str(0);set(handles.editpinlv,'string',num2str(0);set(handles.editxiangwei,'string',num2str(0);plot(t,y);grid on;axis(0,8*pi,-1.2,1.2); 二、 仿真结果 图3 正弦波(对应参数见图)图4 方波(对应参数见图)图5 锯齿波(对应参数见图)图6 三角波(对应参数见图)图6 清除三、 结果分析 通过建立GUI界面,编辑控件对应的回调函数,然后运行仿真,即可实现虚拟信号发生器的功能。通过选择信号类型,虚拟信号发生器能够实现正弦、方波、三角波、锯齿波的信号的输出,调节滚动条得到需要波形的频率幅值相位参数,就能得到对应波形。四、 结论 使用matlab 软件产生信号波形,实现了虚拟数字信号发生器的设计。设计界面简单直观,具有一定的参考应用价值。五、 参考文献【1】董振海精通MATLAB编程与数据库应用,2007.9【2】薛定宇,陈阳泉.基于MATLAN/Simulink的系统仿真技术与应用,清华大学出版社,2006

    注意事项

    本文(MATLAB课程设计虚拟信号发生器.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开