APP下载

MATLAB/Simulink 在通信原理教学中的应用

2015-03-18黄根岭张清淼周利红

郑州铁路职业技术学院学报 2015年3期
关键词:框图双边频谱

黄根岭,张清淼,周利红

(郑州铁路职业技术学院,河南 郑州 450052)

0 引言

通信原理课程的研究对象是通信系统。传统的教学是搭建一个实际的硬件系统,利用各种仪器仪表进行观测分析,参与者要花费很长的时间和一定的资金用于系统的构建,而且系统参数调整麻烦,随着通信系统的日益复杂,其弊端尤为明显。Math-Works 公司开发的MATLAB 是一种用于数值计算、可视化及编程的高级语言和交互式环境。借助其语言、工具和内置数学函数,可以很方便地进行数据分析、算法开发、建模和应用程序创建。Simulink 仿真工具包是MATLAB 的一个附加组件,是一个用来对动态系统进行建模、仿真和分析的面向框图的仿真软件,它支持连续、离散及二者混合的线性和非线性系统,也支持具有多种采样频率的系统[1-2]。MATLAB 应用广泛,其中包括信号处理和通信系统、图像和视频处理、控制系统、测试和测量、计算金融学及计算生物学等众多应用领域。在《通信原理》教学中,引入MATLAB 软件可以很方便地对通信系统进行建模、仿真,仿真结果可近乎“实时”地通过可视化模块,如示波器、频谱仪以及数据输入输出模块等直观地显示出来,既有助于对抽象概念和理论的理解,又加深了对通信系统的物理概念和运行过程的直观理解。同时,在系统结构的观测和数据的存储方面也比传统教学有很大优势[3-4]。

1 MATLAB 仿真方式及流程

在通信原理课程教学中,主要使用两种仿真方式,一种是通过编制M 脚本文件进行仿真,另一种是通过MATLAB 自带的Simulink 组件进行仿真。常规双边带幅度调制是通信原理课程中最基础的一种调制技术,且在无线电广播系统中占有主要地位。它有两个显著特点:一是在时域中已调波信号的包络与调制信号波形呈线性关系,二是在频域中已调波信号的频谱是调制信号频谱的线性位移。因此,将常规双边带幅度调制作为仿真案例具有很强的代表性。下面结合常规双边带幅度调制的原理分别简述其仿真流程。

1.1 M 脚本文件编程仿真

作为一种编程语言,MATLAB 是演算纸式(便签式)的科学工程计算语言,它的语法非常贴近人的思维方式。用MATLAB 语言编写程序,与人进行科学计算的思路和笔算时表达方式完全一样,犹如在一张演算纸上排列书写公式,运算、求解问题十分方便[5-6]。因此,MATLAB 语言易写易读,易于在科技人员之间交流。利用MATLAB 语言编写M 脚本文件进行仿真的步骤如下。

(1)建立数学模型

根据对仿真系统分析的结果,确定系统中的参数、变量及其相互之间的关系,并以数学形式将这些关系描述出来,就是系统的数学模型。数学建模是系统仿真中最关键的一步,必须尽可能准确地反映系统的真实特性,并且不能过于复杂[7]。

常规双边带幅度调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。其数学模型为

其中,m(t)为调制信号,A0为直流分量,cosωct为载波信号(选用单频的正弦信号),SAM(t)为已调波信号。

(2)编制M 脚本文件

选择MATLAB 菜单栏的“File”项中的“New”(或选择工具栏的“New”)即可新建一个M 脚本文件,根据常规双边带幅度调制原理,编写MATLAB 脚本程序如下(简单起见,假设调制信号也为正弦信号,且频率为1Hz,载波信号的频率为10Hz)。

(3)保存文件,运行仿真,观察结果

M 脚本文件保存时,扩展名要选择“.m”格式。然后点击运行(Run)按钮即可得到仿真数据或波形,具体波形如图1 和图2 所示,其中图1 为调制信号和已调波信号的波形图,图2 为调制信号和已调波信号的频谱图。

图1 调制信号与已调波信号的波形图

图2 调制信号与已调波信号的频谱图

1.2 Simulink 动态仿真

Simulink 提供了一个交互式的图形化环境,可对各种时变系统进行仿真,具有很多应用于不同领域的模块集。在通信原理课程教学中,常用的模块集有:基本模块集(Simulink)、通信模块集(Communications Blockset)、信号处理模块集(Signal Processing Blockset)等。利用Simulink 动态仿真的步骤如下。

(1)画出系统的框图

系统框图是数学模型的另一种描述形式,可由数学模型直接对应变换得到,也可以通过将所要仿真的系统按照功能划分成一个个小的模块,然后用一个个小的模块来搭建系统框图的方法实现。

常规双边带幅度调制在电路功能实现上,需要调制信号叠加直流分量后再与载波信号相乘,因此,系统可通过加法器和乘法器两个模块来实现。常规双边带幅度调制的系统框图如图3 所示。

图3 常规双边带幅度调制的系统框图

(2)启动Simulink,搭建系统仿真模型

由于Simulink 是基于MATLAB 环境之上的高性能的系统及仿真平台,因此,启动Simulink 之前必须首先运行MATLAB,然后才能启动Simulink 并建立系统的仿真模型。MATLAB 成功启动后,在窗口(Command Window)的工作区中,键入simulink 命令,回车即可启动Simulink,或点击MATLAB 窗体上的Simulink 的快捷键也可启动Simulink。

Simulink 启动后,选择Simulink 菜单栏的“File”项中的“New”(或选择工具栏的“New”)即可新建一个模型文件。然后按照图3 所示的系统框图要求,从Simulink 提供的不同模块集中依次选取信源[调制信号(Base Wave)和载波信号(Carry Wave)]、常数(Constant,作为直流分量)、加法器(Sum)、乘法器(Product)、零阶保持器(Zero-Order Hold)、示波器(Scope)、频谱仪(Spectrum Scope)等模块。具体方法是:选中需要的模块,按住鼠标左键并将其拖动到新建的模型文件中,释放鼠标即可。最后就是模块间的连接,具体方法是:连接模块时将光标指向起始模块的输出端口,按住鼠标左键并拖动到目标模块的输入端口,松开鼠标即可,完成后在连接处出现一个箭头,表示信号的流向。经过上述步骤,系统的仿真模型搭建完毕(如图4 所示)。

图4 常规双边带幅度调制系统的仿真模型

(3)设置、调整参数

仿真模型中的模块都有自己的参数,为了正确仿真和分析,必须正确设置模块的参数,具体方法是:双击需要设置参数的模块,在弹出的模块对话框中正确设置参数即可。本文主要涉及设置信源的幅度(Amplitude)、幅值偏移值(Bias)、频率(Frequency)和采样时间(Sample time);示波器的通道数(Number of axes);频谱仪的Buffer size(缓存长度)、Buffer overlap(缓存交叠)、FFT length(FFT 长度)、Number of spectral averages(谱平均数)和频率显示范围(Frequency range 或Spectrum type,与MATLAB 的版本有关)。这里需要注意两点,一个是频谱仪的频率显示范围,频率显示范围有两个选项[-Fs/2...Fs/2]或[0...Fs/2],若希望所研究的谱线内容出现在频谱仪显示窗的中间,需选择[0...Fs/2],此时需将输入信号的采样频率设为期望的频率显示窗最大值的2 倍。本文中的采样频率为100 Hz(即采样时间为0.01 s),因此显示窗口的最大值为50 Hz,频谱仪显示的中点频率为25 Hz(如图6、7 所示)。另一个是零阶采样保持器,Simulink 提供了两个可以减少模型中非法速率转换的模块:Unit Delay 模块和Zero-OrderHold 模块。对于从慢速率到快速率的转换,可以在慢输出端口和快输入端口插入一个单位延时Unit Delay 模块。而对于快速率到慢速率的转换,则可以插入一个零阶采样保持器Zero-OrderHold。由于本案例中前后两个模块的采样时间一致,故选择了零阶采样保持器,并将采样时间的参数设置为“-1”(表示继承前面的采样时间)。

(4)保存文件,运行仿真,观察结果

模型文件保存时,扩展名要选择“.mdl”格式,然后点击开始仿真(Start simulation),即可弹出调制信号频谱图(如图6)和已调波信号的频谱图(如图7),双击示波器即可看到调制信号与已调波信号的波形图(如图5)。

图5 调制信号与已调波信号的波形图

图6 调制信号的频谱图

图7 已调波信号的频谱图

2 结果与讨论

从上文的仿真范例可以看出:

(1)从仿真结果看,两种仿真方式的结果均与理论分析一致。从时域看(图1 和图5),两种仿真方式的调制信号与已调波信号的包络均具有严格的线性关系;从频域看(图2、图6 和图7),通过调制,两种仿真方式的调制信号的频谱均被线性搬移到载波频率的两边,并且两种仿真方式的仿真结果均用直观的图形来显示,加深了参与者对常规双边带幅度调制原理的理解。

(2)从仿真的特点看,编写M 脚本文件的仿真方式比较简单且灵活性好,只要掌握Matlab 语言的语法,就可以编辑一些简单的程序,实现一些仿真功能。但这种方法不直观,用户不了解系统的体系构成,复杂系统的仿真对编程水平有较高的要求。采用Simulink 可以很方便地对系统进行可视化建模、仿真分析,使得仿真系统建模与工程中的方框图统一起来,让用户把精力从编程转向模型的构造,为用户省去了许多重复的代码编写工作。但这种方法的不足之处在于人机交互不太理想,因为很多模块都是事先做好的,用户只能设置参数,而不能创造性地增删其中的内容[8-9]。

(3)从仿真的本质看,M 脚本文件仿真是基于数据流的仿真,即在仿真过程中,MATLAB 函数是按照数据流的顺序依次执行的,也就是先经过一个运算阶,然后再经过下一个运算阶,速度比较慢;Simulink 动态仿真是基于时间流的仿真,即在仿真过程中,所有的模块在每一个时间步长上同时执行,仿真速度比用M 脚本文件仿真要快很多[10]。

3 结束语

(1)在通信原理课程教学中,引入MATLAB 软件对通信系统进行建模、仿真和分析,有助于学生对抽象概念和枯燥理论的理解,加深了对通信系统的架构和运行过程的认识,激发了学生的学习兴趣和创新思维,弥补了硬件设备投资不足、更新速度跟不上的缺陷。

(2)很多通信类课程(比如信号与系统、数字信号处理、图像处理等)所研究的问题大都可归结为“信号通过系统的问题”,本文介绍的两种仿真方式对这些课程的教学改革具有借鉴意义。

[1]肖珂,张月清,贾宇琛,等.MATLAB 在《通信原理》课程实验中的应用[J].河北农业大学学报(农林教育版),2009,11(2):243-246.

[2]胡荣林.Matlab 在通信类课程教学改革中的应用研究[J].中国科技信息,2008(24):207-209.

[3]程铃,徐冬冬.Matlab 仿真在通信原理教学中的应用[J].实验室研究与探索,2010,29(2):117-119.

[4]李卫中.MATLAB 仿真在通信原理教学中的应用[J].孝感学院学报,2010,30(6):122-123.

[5]苏红艳,寿翔.MATLAB 仿真在通信专业教学中的应用[J].中小企业管理与科技,2009(12):201-202.

[6]王俊年,吴劲峰.基于MATLAB/SIMULINK 的通信原理可视化动态仿真实验[J].甘肃农业大学学报,2003,38(2):243-247.

猜你喜欢

框图双边频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
双边投资协定与外商直接投资
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
电路图2017年凯迪拉克XT5
电子产品回收供应链的双边匹配策略
基于不确定性严格得分下双边匹配决策方法
基于不确定性严格得分下双边匹配决策方法
算法框图的补全
新型自适应稳健双边滤波图像分割
遥感卫星动力学频谱规划