(重庆交通大学信息科学与工程学院 重庆 400074)
仿真实验能达到真实实验不具备或难以实现的教学效果,尤其对于那些涉及高危或极端环境、不可及或不可逆的操作,以及需要高成本、高消耗的大型或综合性实验项目,因而仿真实验教学方式越来越得到高校的重视。其中MATLAB的通信系统仿真已经变得非常成熟。[1]
但是基于MATLAB的通信系统仿真存在不足,不如:MA TLAB在实际产品开发中使用较少,因此学生不喜欢MATLA B,同时MATLAB的仿真系统往往是在一台单机上同时仿真发送端和接收端,学生感受不到通信“系统级”概念。[2]
C/C++是通信类产品开发常用的语言,但C/C++缺乏像MAT LAB的通信模块,为了降低C/C++通信系统仿真的开发难度,我们利用了武汉凌特的e-labSim仿真平台,该仿真平台是按照武汉凌特的通信原理实验箱硬件的设计思路开发的,可以为我们提供几乎与硬件实验一样的实验效果,同时利用该平台可以为我们提供我们需要的通信模块,包括虚拟信号源、虚拟示波器、同步等,不同模块之间只需要在平台上连线即可,我们的注意力放在我们关注的模块上,比如BPSK调制与解调模块等。[3]
下面以BPSK为例介绍,仿照硬件实验,基于e-labsim的BPSK实验仿真系统如图1所示:
仿真系统分为发送端、信道和接收端,其中发送端包括信号源和调制模块,接收端包括解调模块、同步模块。
在验证性试验中,基于e-labsim的一台电脑上同时完成发送端和接收端。基带信号的1电平和0电平信号分别与256KHz载波及256KHz反相载波相乘,叠加后得到BPSK调制输出;已调信号送入到载波提取单元得到同步载波;已调信号与相干载波相乘后,经过低通滤波和门限判决后,解调输出原始基带信号。
为了更真实地让学生感知到发送端、信道和接收端的存在,我们利用实验室计算机局域网搭建仿真环境,将发动端放在计算机A上,将信道放在计算机B上,接收端放在计算机C上运行,利用C/C++可以根据我们的想法随意更改,比如:可以在计算机A上更改发送的数据、载波频率等,在计算机B上更改信道模型,计算机C上自己编写相干载波提取模块等。
图1 基于e-LabSim的BPSK实验仿真系统
通过这种方式,即可以让学生迅速完成验证性实验,同时根据学生的能力,利用VC编程编写部分模块,提高了学生实验兴趣,增强了学生实验设计与开发能力。[4]