电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

基于GUI的简易信号发生器VIP免费

基于GUI的简易信号发生器_第1页
1/6
基于GUI的简易信号发生器_第2页
2/6
基于GUI的简易信号发生器_第3页
3/6
基于GUI的建议信号发生器许子晨指导老师:孙福玉(赤峰学院内蒙古赤峰024000)摘要:我们对简单信号进行分析时一般会遇到图像和数据的处理问题,而这些图像和数据的处理使得我们很是费心。文章利用MATLAB的GUI功能设计了基于GUI的简单信号的处理方法。通过对GUI开发环境中回调函数的设计,在GUI界面上实现了简单信号图像和数据的处理,展示了方便灵活的数据输入和结果图形输出效果。对实现系统的最佳设计提供了一个实用、方便的仿真操作平台。关键词:GUI;信号发生器;回调函数引言:简易信号发生器是一种基于软硬件实现的波形发生器,可以实现各种基本波形的产生。工程的各种复杂信号是由这些基本信号叠加产生,因此它在工程分析和实验教学中有着广泛的应用。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。常用的数字信号发生器一般可产生正弦信号、方波信号、三角波信号、锯齿波信号、白噪声信号、脉冲信号、阶跃信号、斜坡信号等。本文介绍正弦信号、方波信号、三角波信号的产生。1、正弦波产生电路1、正弦波振荡电路的振荡条件正反馈放大电路如图1所示。˙Xa=˙Xi+˙Xf若环路增益˙A˙F=1,则˙Xa=˙Xf,去掉˙Xi,˙Xo仍有稳定的输出又˙A˙F=|˙A˙F|∠ϕa+∠ϕf=AF∠ϕa+ϕf所以振荡条件为{A(ω)⋅F(ω)=1振幅平衡条件ϕa(ω)+ϕf(ω)=2nπ相位平衡条件图2-1正弦波振荡电路的方框图2、方波发生器由集成运放构成的方波发生器和三角波发生器,一般均包括比较器和RC积分器两大部分。图2所示为由迟滞比较器及简单RC积分电路组成的方波—三角波发生器。它的特点是线路简单,但三角波的线性度较差。主要用于产生方波,或对三角波要求不高的场合。电路振荡频率式中R1=R1'+RW'R2=R2'+RW"方波输出幅值Uom=±UZ三角波输出幅值调节电位器RW(即改变R2/R1),可以改变振荡频率,但三角波的幅值也随之变化。如要互不影响,则可通过改变Rf(或Cf)来实现振荡频率的调节。图2方波发生器3、三角波和方波发生器如把迟滞比较器和积分器首尾相接形成正反馈闭环系统,如图3-1所示,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。图3-2为方波、三角波发生器输出波形图。由于采用运放组成的积分电路,因此可实现恒流充电,使三角波线性大大改善。fo=12RfCfLn(1+2R2R1)Ucm=R2R1+R2UZ图3-1方波、三角波发生器电路振荡频率fO=R24R1(Rf+RW)Cf方波幅值U′om=±UZ三角波幅值Uom=R1R2UZ调节RW可以改变振荡频率,改变比值R1R2可调节三角波的幅值。图3-2方波、三角波发生器输出波形图4、制作简易信号发生器GUI(1)如图四简易信号发生器GUI界面所示,拖放所需要的控件,拖放一个坐标轴控件用来放置简易信号发生器实验中不同函数的曲线,拖放三个按钮控件,双击所选控件,编辑其属性,主要有fontname,fontsize,fontweight,string,tag等属性。编辑三个静态文本的fontsize属性为‘12’,string属性分别为‘sin函数’、‘方波’和‘三角波’,其余的属性为默认值。拖放两个RadinBtton控件,双击所选控件,编辑其属性,将fontsize属性为‘12’,string属性分别为‘不加噪声’、‘加噪声’其余属性为默认值。(2)将以下源代码输入GUI的callback中functionvarargout=Mytools(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@Mytools_OpeningFcn,...'gui_OutputFcn',@Mytools_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&isstr(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctionMytools_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=Mytools_OutputFcn(hObject,eventdata,handles)varargout{1}=handles.outpu...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于GUI的简易信号发生器

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部