手把手教你一小时设计基于matlab的信号发生器GUI界面(2)

在这里插入图片描述

3.xx.m文件设计

在xx.fig摆放了上面那些元件后,xx.fig会有些代码了,不管他,在xx.fig的按钮中 右键→点击回调→callback!
就能看到在xx.m文件中所对应的的.m代码
这是AM按钮下的callback代码。

function pushbutton1_Callback(hObject, eventdata, handles)


AM

AM是AM子界面的 .m文件的名字,加入AM后就能实现在点击那个按钮的时候切换界面。

function pushbutton8_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton8 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close(handles.figure1);

在这里插入图片描述
上面那两行代码的含义:当点击‘AM’按钮时,会跳出AM.fig界面,当点击‘退出’按钮时,会退出整个界面。

function pushbutton8_Callback(hObject, eventdata, handles)

这行代码运行条件是:当在界面点击所对应的的按钮时,会运行里面的代码。
上面那行表示的就是点击pushbutton8时,运行代码。

4.AM界面及代码设计

主界面设计很简单,不涉及计算,这个系统的计算功能都在子界面中实现。下面说一下子界面的设计方法。
在这里插入图片描述
上图是子界面运行时的图像。
上图有几个关键部件,上方两个显示运行结果的图像框,左下角设置参数的文本输入框,右下角界面控制的俩按钮。
说一下我这个界面运行的流程,从主界面点击AM系统进入这个界面后,左下角的参数会有默认的初始参数,点击运行产生图像。
在这里插入图片描述
这是运行后的AM界面效果。
合理的修改左下角参数也可产生图像
在这里插入图片描述
这是点击运行按钮里的程序,前四号就是从edit1,2,3,4中获取数值,后面就是计算。

A=str2num(get(handles.edit1,'String'));  % A=0.3
f=str2num(get(handles.edit2,'String')); %f=1,1hz基带信号
fc=str2num(get(handles.edit3,'String')); %fc=64  hz载波
fs=str2num(get(handles.edit4,'String')); %fs=1024;    
t=0:1/fs:2-0.5/fs;    %采样时间为0到2秒
x=(1+A*cos(2*pi*f*t)).*cos(2*pi*fc*t);  %调幅表达式
plot(handles.axes1,x);     
%画出采样时间内的AM信号
y=fft(x);
N=length(x);
stem(handles.axes3,(0:N-1)*fs/N,abs(y),'.');   %画出以模拟频率为横坐标,以FFT后的幅度为纵坐标
%画出AM信号做傅里叶变化后的幅度和频率图

so easy。需要整个资源的可以点进我的资源下载,谢谢各位的学习了。

  • 14
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值