基于Matlab GUI的通信原理演示系统设计(4)

2019-03-23 13:11

按照设计思路在GUI编辑界面中添加相应的控件。添加11个按钮控件,双击第1个按钮,会出现对话框,将string属性设为“载波信号”,Tag属性设为“pushbutton1”。双击第2个按钮将string属性设为“调制信号”,Tag属性设为“pushbutton2”。双击第3个按钮将string属性设为“AM信号”,Tag属性设为“pushbutton3”。双击第4个按钮将string属性设为“DSB信号”,Tag属性设为“pushbutton4”。双击第5个按钮将string属性设为“SSB下边带信号”,Tag属性设为“pushbutton5”。双击第6个按钮将string属性设为“SSB上边带信号”,Tag属性设为“pushbutton6”。双击第7个按钮将string属性设为“AM解调信号”,Tag属性设为“pushbutton7”。双击第8个按钮将string属性设为“DSB解调信号”,Tag属性设为“pushbutton8”。双击第9个按钮将string属性设为“SSB下边带解调信号”,Tag属性设为“pushbutton9”。双击第10按钮将string属性设为“SSB上边带解调信号”,Tag属性设为“pushbutton10”。双击第11个按钮将string属性设为“返回”,Tag属性设为“pushbutton_back”。添加2个编辑框控件,将两个编辑框的string属性均设为空,同时在各自正左方添加静态文本控件进行说明。

此外还添加了4个面板(Panel)控件,string属性分别为设为“调制区”、“解调区”、“说明”、“参数设置区”。将前6个按钮控件(即载波信号、调制信号、AM信号、DSB信号、SSB下边带信号、SSB上边带信号按钮控件)布局在“调制区”面板中,将第7至10个按钮控件(即AM解调信号、DSB解调信号、SSB下边带解调信号、SSB上边带解调信号按钮)布局在“解调区”面板中,将2个编辑框及相应的静态文本控件布局在“参数设置区”面板中。说明面板控件中添加静态文本,string属性设为“1、调制信号是振幅为1,载波为1Hz的正弦波2、解调时均采用相干解调的方法3、两幅图横轴分别为t,f。解调信号有延迟。4、解调时,红色为原信号蓝色为解调信号”模拟线性调制解调系统的界面如图2.7所示。

(a)模拟线性调制解调系统编辑界面 (b)模拟线性调制解调系统演示界面

图2.7 模拟线性调制解调系统界面

步骤二:回调函数设计

11

要实现演示效果,就要对控件的回调函数进行编程。由GUI生成的M文件,控制GUI并决定GUI对用户操作的响应。它包含运行GUI所需的所有代码。GUI自动生成M文件的框架,用户在该框架下编写GUI组件的回调函数。M文件由一系列子函数构成,包含主函数、Opening函数、Output函数和回调函数。其中主函数是不可以修改的,否则会导致GUI界面初始化失败。用户对控件操作的时候,控件对操作进行响应,所指定执行的函数就是该控件的回调函数。在GUI编辑界面点击(MNtiaozhijietiao.m),点击M文件中的菜单项,打开对应的M文件。

(1)参数设置区回调函数设计

载波频率(Hz)和AM信号的直流分量是要输入的参数,在M文件中找到载波频率、和AM信号直流分量文本控件对应的callback,添加代码。2个文本控件添加代码类似,只是定义的变量不同,这里只对载波频率对应文本控件添加的代码进行说明。即在function edit1_Callback(hObject, eventdata, handles)下添加代码:global fc;%定义载波频率为全局变量f 1=str2double(get(handles.edit1,'string'));%将字符串转换为double型数值fc=f1;%赋值

(2)调制区、解调区回调函数设计

调制区包含6个按钮控件。解调区包含4个按钮控件。选择任何一个按钮都可以绘制出相应信号的时域和频率的波形。例如输入载波频率和AM信号的直流分量后,点击“AM信号”按钮,在axes1中会绘制AM信号时域波形,在axes2中会绘制AM信号频域波形,要实现该功能就要右键单击“AM信号”,选择View Callbacks中的Callback菜单项,在function pushbutton3_Callback(hObject, eventdata, handles)下面添加以下代码: axes(handles.axes1)

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

T=5; fm=1;dt=0.001;%T为信号时长,fm是信源最高频率,dt是时间采样间隔 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调制信号');

12

可以打开界面对应的M文件

就可以有选择地进入控件的Callback。根据

每个控件要实现的功能添加代码。也可以右键单击控件,选择View Callbacks中的Callback

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调制信号的频谱');

每个按钮的回调函数编好之后,还要对调用的子函数进行定义。如点击“AM信号”按钮,能够绘制正确的波形,需要提前定义好T2F子函数。

(3)返回按钮回调函数设计

返回按钮要实现退出本界面,返回到主界面的功能,点击此按钮的时候会出现如图2.8所示对话框,询问使用者是否返回界面,若选择【yes】会返回到主界面,若选择【no】则不返回。要实现此功能需要在“返回”按钮对应的回调函数中需要添加以下代码:

selection = questdlg(['确定返回' get(handles.figure1,'Name') '?'],... ['返回' get(handles.figure1,'Name') '...'],... 'Yes','No','Yes'); if strcmp(selection,'No') return;end

delete(handles.figure1)

图2.8 提问对话框

为了保持界面风格的统一,所有子界面设计中“返回”按钮均采用如图2.8所示对话框的形式。所添加的代码相同。在后期子界面设计中,对此控件不再赘述。

2.3 模拟信号数字化演示系统设计

模拟信号数字化分3个过程:抽样、量化、编码。由于这3个知识模块涉及的内容不同,界面的风格也不同,下面将分别介绍3个子模块的界面设计。

13

2.3.1 模拟信号数字化基本原理

通信系统分为模拟通信系统和数字通信系统两大类,数字通信系统因其抗噪声性能好、传输质量高、保密性好等一系列优点,已经成为当今通信的发展方向与主流。然而自然界的许多信息都是模拟信号,如图像、话音、电视信号、麦克风拾取的话音信号等,为了能利用数字通信系统来传送模拟信号,必须对模拟信号进行数字化,即模数转换和数模转换。模数转换即抽样、量化、编码,对模拟信号的时间和幅度进行离散化处理,使之变成数字信号再进行传输,在接收端要将收到的数字信号进行数模转换,还原成模拟信号再传至信宿。模拟信号数字化处理,即对模拟信号的幅度和时间做离散化处理,先通过抽样使模拟信号变成时间离散幅度连续的信号,之后将将抽样得到的时间离散幅度连续的信号进行量化,使之变成时间离散且幅度也离散的信号,在将其进行编码处理就所需的数字信号。

1)抽样定理

抽样是把时间上连续的模拟信号变成一系列时间上离散的抽样值的过程。抽样定理:一个频带限制在(0,fH)内的时间连续信号m?t?,如果以Ts≤1/(2fH)秒的时间间隔对它进行等间隔(均匀)抽样,则原信号m?t?将被所得到的抽样值完全确定。抽样定理指出,由样值序列无失真恢复原信号的条件是fs≥2fH,fs为抽样频率。当抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。反之,抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。

例如,对模拟信号cos?2???30?t??sin?2???65?t?进行抽样,模拟信号最高频率fH

为65Hz,2fH=130Hz。当抽样频率fs取200Hz的时候,满足抽样定理,抽样不会引起信号失真。当抽样频率取100Hz的时候,不满足抽样定理,从频域上,可以看到频谱发生了混叠,此时的抽样会引起信号的失真。

2)量化理论

量化是利用预先规定的有限个量化电平来表示模拟抽样值的过程,量化又分均匀量化与非均匀量化。均匀量化是把输入信号的量化范围按等间隔分割的量化。均匀量化时,量化噪声平均功率只取决于量化间隔,对于均匀分布的输入信号而言,输出量化信噪比恒定,但对于非均匀分布非平稳的输入信号,输入信号功率下时量化信噪比小,反之,输入信号频率大时量化信噪比大,影响信号的恢复。要满足条件,则编码位数多,设备复杂。在语言信号数字化通信中,均匀量化有个明显不足之处:量化信噪比随信号的电平的减小而下降。为了克服这个缺点,实际中往往采用非均匀量化。非均匀量化是根据

14

信号的不同区间来确定量化间隔。信号值小时,量化间隔小,信号值大时,量化间隔就大,在不增大量化级数N的前提下,使量化信噪比在较宽的动态范围内达到所需指标,即改善了小信号时的量化信噪比。其实现方法是将样值通过压缩器后再进行均匀量化,常用的是?压缩律和A压缩律。美国和日本采用?律,我国和欧洲采用A律。

3)编码理论

将量化后的信号变换成代码,即模数转换的第三步,把多电平变成二进制电平。其相反的过程称为译码。编码方法多种多样,在现有的编码方法中,若按编码的速度来分大致可分为两大类:低速编码和高速编码。通信中一般都采用高速编码。若按编码器的种类来分大体上可以归结为三类:逐次比较型、折叠级联型和混合型。在逐次比较型编码方式中,无论采用几位码,一般均按极性码、段落码、段内码的顺序排列。下面结合13折线的量化来加以说明。13折线特性就是近似于A压缩律的特性,其中A=87.6,仅考虑第一象限时其曲线如图2.9所示。完整13折线,负向8段斜线按同样方法得到,第Ⅲ象限的折线与第Ⅰ象限呈奇对称,斜率相同的段合为一段,共13段,称为13折线法。

图2.9 13折线A律特性

A律13折线用8bit编码,8位二进制码表示为D1,D2,D3,D4,D5,D6,D7,

“0”表示负极性;D2,D8。D1是极性码,表示量化信号的极性,通常“1”表示正极性,

D3,D4是段落码,表示信号绝对值处在哪个段落,3位码的8种可能状态分别代表8个

15


基于Matlab GUI的通信原理演示系统设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三年级下册科学全册教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: