APP下载

现代通信原理实验系统平台的研究与设计

2018-01-04景文芳

电脑知识与技术 2018年30期
关键词:仿真可视化

景文芳

摘要:利用MATLAB GUI工具箱设计和实现现代通信原理课程中相关知识点内容的交互式实时动态演示仿真系统,效果生动,界面友好,弥补了传统实验平台的各种缺点,具有开放性、易学和可扩展性等優点。

关键词:GUI;仿真;可视化

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)30-0033-02

1引言

现代通信原理课程是通信工程和计算机通信、移动通信技术等电子信息类专业的专业课程。通信原理实验的开设正是对理论课程的深入学习和弥补,将深奥、抽象的理论知识化为简单易懂的数据波形,更易学生的学习和掌握。然而现在所使用的通信原理设备成本高,易损坏,数据误差大,并且设备内容的固定使知识点的过时,陈旧,这些给实验课程带了许多问题。本文主要基于MATLAB GUI工具箱对现代通信原理实验系统平台进行设计和实现。

2 平台设计方案

本文选取通信原理中4个基础模块进行分析和设计,分别为:模拟线性调制解调系统、模拟信号数字化系统、二进制数字调制解调系统、信道编码和解码系统。每个模块又划分为几个小模块。其中,模拟线性调制解调系统包括调幅信号(AM)的调制解调、抑制载波双边带信号(DSB)的调制解调、单边带信号(SSB)的调制解调。模拟信号波形编码包含了抽样、量化、编码3个子模块。二进制数字调制解调系统包括2ASK调制解调、2FSK调制解调、2PSK调制解调子模块。信道编码和解码包含线性分组码、循环码。

3 系统主界面设计

主界面中,用户点击菜单按钮,选择相应的模块进入子界面。“结束演示”按钮可以关闭主界面,结束演示。系统主界面如图1所示。

主界面中菜单栏是通过菜单编辑器来设计,并设置菜单栏(Menu Bar)和右键菜单(Context Menus)的相关属性,将Menu Bar属性值为figure,用户设计的菜单排列在标准菜单之后,如图2所示。

主界面中添加“结束按钮”,实现关闭演示系统。先在界面添加按钮并双击修改相应属性值:Tag:pushbutton1,string:“结束演示”,FontSize:18,FontWeight:demi。在编写对应回调函数实现关闭系统功能。步骤为:点击“结束演示”按钮右键选择View Callbacks中的Callback菜单选项,打开GUI.fig对应的m文件,此文件是Matlab自动生成的,在代码function pushbutton1_Callback(hObject, eventdata, handles)下面增加代码:close(gcbf);quit;完成之后保存运行,便可实现结束演示功能。

在主界面中,本文设置图片作为欢迎界面,具体步骤如:选择图片,调整图片大小为483 ×385,单位为像素;在主界面添加Axes坐标轴控件,双击属性将Units设置为pixels(像素),将Position属性中Width:483,Height:385;编写对应的M文件,在函数OpeningFcn下面添加代码:

backgroundImage = importdata('tupian.jpg');% 将背景图像载入主界面

axes(handles.axes);

image(backgroundImage);% 将图片添加到坐标轴控件中,实现背景设置

axis off;% 去掉坐标轴标签

4 模拟线性调制解调演示系统设计思路及步骤

本文主要以模拟线性调制解调系统为例介绍其设计思路及步骤。

(1)设计思路

在本模拟线性调制解调系统中,为观察方便特设置调制信号为正弦波,振幅:1,频率:1Hz。其具体要求包括第一:能在同一界面完成AM、DSB、SSB的调制解调过程。第二:设计界面包括调制、解调、参数设置、绘图、说明、返回六个区域。第三:参数设置区设置载波频率、AM信号直流分量2个可变参数,用户可自由输入数值。当选择“载波信号”按钮时,能够在图轴上画出相应载波频率下载波信号时域波形和频域波形,当选择“AM信号”按钮时,能够在图轴上画出给定AM信号直流分量下AM信号时域和频域的波形。同理选择“调制信号”“DSB信号”等按钮时会分别在图轴上画出相应信号时域波形和频域波形。第四:本次演示过程结束后,按“退出”按钮就能退出本界面返回到主界面。添加说明部分,对演示系统添加说明,方便学习者清晰理解作者的思路。

(2)设计步骤

步骤一:界面设计

在GUI界面中添加控件。添加按钮控件,并设置属性值。按钮1属性string:“载波信号”,Tag:“pushbutton1”。同理,设计出其他按钮。添加2个编辑框控件,将两个编辑框的string属性均设为空,同时在各自正左方添加静态文本控件进行说明。

在系统界面上添加面板控件Panel,将相关按钮控件分别放于调制器、解调区、说明和参数设置区中,具体设置如图4所示。将2个编辑框及相应的静态文本控件布局在“参数设置区”面板中。说明面板控件中添加静态文本,string属性设为“A、调制信号是振幅为1,载波为1Hz的正弦波;B、解调时均采用相干解调的方法;C、两幅图横轴分别为t,f。解调信号有延迟。D、解调时,红色为原信号蓝色为解调信号”模拟线性调制解调系统的界面如图3所示。

步骤二:回调函数设计

界面中要实现按钮的相关动作则需要定义相关回调函数(Callback),回调函数可以执行语句,也可以调用函数。在调制解调区回调函数设计如下:

调制解调区中的按钮可以点击绘制出相应的波形,并显示在坐标轴中。例如输入载波频率和AM信号的直流分量后,点击“AM信号”按钮,在axes1中会绘制AM信号时域波形,在axes2中会绘制AM信号频域波形,要实现该功能就要右键单击“AM信号”,选择callback菜单项,在function pushbutton2_Callback(hObject, eventdata, handles)下面添加以下代码:

axes(handles.axes1)

global fc;global A;%fc為载波频率,A为AM信号的直流分量

T=5; fm=1;dt=0.001;

t=0:dt:T;

mt=cos(2*pi*fm*t);%调制信号(信源)

s_am=(A+mt).*cos(2*pi*fc*t);%AM信号

plot(t,s_am);plot(t,A+mt,'r--');%画出AM信号包络,标示出源信号波形

title('AM调制信号');

axes(handles.axes2)

[f,sf3]=T2F(t,s_am);%求AM调制信号的频谱

psf3=(abs(sf3).^2)/T;%求AM调制信号的功率谱密度

plot(f,psf3);

axis([-2*fc,2*fc,0,max(psf3)]);title('AM调制信号的频谱');

5 模拟线性调制解调子系统测试

为确定该系统功能,对该平台进行相关测试,下面以模拟线性调制解调子系统中AM调制解调为例进行说明。

在设计的模拟线性调制解调系统中,从界面输入的载波频率5Hz和AM信号的直流分量3时,观察模拟线性调制解调系统中AM信号和AM解调信号波形图,结果如图4所示。

系统设置中,调制信号为正弦波,其振幅为1,频率为1Hz。当载波频率为5Hz,AM信号的直流分量为3时,根据模拟线性调制解调原理可得AM信号的幅度为4。解调时采用相干解调法,AM解调信号为原调制信号,振幅为1,解调信号均有延迟,这是允许的。图中红色虚线标注的为原信号,由图可见,测试结果正确。同理测出其他DSB、SSB波形正确,故设计出的模拟线性调制解调系统,正确实现了预期功能。

6 总结

根据测试情况可知,本文所设计的MATLAB的通信原理仿真平台界面生动,性能稳定,数据准确,能减少波形误差,能灵活修改和扩展该系统,大大增加了同学们的学习兴趣。

参考文献:

[1] 赵鸿图,茅艳.通信原理MATLAB仿真教程[M].北京:人民邮电出版社,2010:120-122.

[2] 张德丰.MATLAB通信工程仿真[M].北京:机械工业出版社,2010:164.

[3] 徐国保,赵黎明等.MATLAB/Simulink实用教程[M].北京:清华大学出版社,2017:386.

【通联编辑:光文玲】

猜你喜欢

仿真可视化
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新