数字通信实验软件平台的GUI设计与实现
2013-05-03周荣花卢继华
周荣花,卢继华
(北京理工大学 信息与电子学院,北京 100081)
随着无线通信技术的飞速发展以及仿真软件的普及,数字通信原理的教学内容结合软硬件实验教学,越来越成为工程类专业课程教学的新模式,良好的教学效果也日益凸显。基于软件的虚拟实验平台能够解决现有实验教学资源的紧缺问题,并能有效降低实验成本[1-5]。因此,设计满足数字通信原理课程教学实践需要、功能齐全、灵活移植和扩展的数字通信实验软件平台更有助于教学实践工作的发展和提高。
本文使用Matlab的人机交互图形用户接口(Graphical User Interface,GUI)设计了友好的图形界面环境,采用了Matlab语言编写 M文件[6-7]。利用GUI建立的平台实现了信道编码和调制解调过程,且模拟真实信道引入了噪声和衰落,并将该软件应用于通信实验教学。教学实践证明本文设计的数字通信原理软件实验平台能使学生加深对数字通信原理的掌握,并通过与数字通信原理硬件实验平台的测试和设计结果相对比,进一步增强了动手实践的动力,从而有效锻炼了学生的自主实践和设计能力。同时,通过修改系统的相应参数,可以对数字通信系统进行仿真研究,以促进学生对数字通信系统的理解。本文设计的数字通信实验软件平台可作为数字通信原理教学实践的参考。
1 传统数字通信原理实验现状
1.1 数字通信原理硬件实验平台
传统的数字通信原理实验环节是基于数字通信原理硬件实验平台展开,开设的实验主要有以下几个。
1.1.1 采样基础及采样编码类实验
包括:脉冲幅度调制(pulse amplitude modulation,PAM)、脉冲编码调制(pulse code modulation,PCM)、自适应差分脉冲编码调制(adaptive differential pulse code modulation,ADPCM)和连续可变斜率增量 调 制 (continuous variable slope delta modulation,CVSD)实验。
1.1.2 调制解调类实验
包括:移频键控(frequency shift keying,FSK)、二进制移相键控(binary phase shift keying,BPSK)、差分二进制相移键控(differential binary phase shift keying,DBPSK)、最小移频键控(minimum shift keying,MSK)、高斯最小频移键控(gaussian minimum shift keying,GMSK)、正 交 相 移 键 控 (quadrature phase shift keying,QPSK)、偏移四相相移键控(offset quadraphase shift keying,OQPSK)和正交幅度调制(quadrature amplitude modulation,QAM)实验。
1.1.3 编码解码类实验
包括:汉明码实验、加扰码实验、传号交替反转码(alternative mark inversion,AMI)/三阶高密度双极性码(3ndorder high density bipolar,HDB3)码型变换和传号反转码(coded mark inversion,CMI)码型变换实验。
1.1.4 接口类实验
包括:用户环路接口实验、双音多频检测实验、RS442接口实验和RS232接口实验。
1.1.5 系统性实验
包括:IS95扩频系统 Walsh码特性测量、IS95(CDMA/DS)系统信号传输实验和移动衰落信道通信系统综合测试。
1.2 数字通信原理硬件实验平台面临的问题
上述数字通信原理硬件实验平台涵盖了无线通信领域的常用基础技术与实践技能、数字通信原理的核心组成以及与当前通信标准密切关联的系统与技术,充分体现了原理基础、工程实践、新技术及系统综合4个方面的有机结合。所述的通信原理硬件平台虽然使用方便,但在实践过程中存在若干问题有待改进和提高:
(1)实验箱中的原理基础模块,如采样原理及模拟锁相环实验采用专有模拟芯片实现,实现方式较传统,导致缺乏自主设计,且模拟电路容易损坏。
(2)实验箱中数字调制实验各数字环节处理不透明,尤其是解调及同步算法的中间结果无法测试和评估,导致学生只需按部就班地操作得到实验结果,而无法进一步深究内部原理。
(3)数字通信原理硬件实验平台受芯片容量及其处理能力的制约,导致实验内容及实践环节的拓展空间受限,影响了学生创新能力的培养和提高。
(4)数字通信原理硬件实验平台相关设备容易受到损坏,导致实验成本很高[8]。
鉴于上述的问题,本文使用Matlab自带的GUI工具开发数字通信原理软件实验平台与数字通信原理硬件实验平台相结合,提高了学生独立设计及理论与实践相结合的能力,从而提高数字通信原理课程的教学效果。
1.3 Matlab GUI的优势
Matlab功能强大,可以提供可视化的结果,使用户能够以模块化设计的方式完成系统的建模和仿真,便于学生掌握和使用。采用基于Matlab搭建的虚拟实验平台在克服传统实验箱缺点的同时,还具有以下优势:
(1)实验内容可以与课堂理论匹配,学生可以通过编程实现课堂中所学的知识,这要求学生对课堂知识有深入的理解,同时实验结果直观、明了,与理论学习相得益彰。
(2)实验环境可以是机房,也可以是学生自己的电脑,只需要安装Matlab即可,十分方便、灵活,学生可以根据自己的喜好实现各种不同的功能,充分调动学生的兴趣和积极性。
(3)无需进行设备的设计和购买,减轻了实验成本。
2 数字通信实验软件平台设计
2.1 数字通信实验软件平台系统
本文设计的数字通信原理软件实验平台包括发送和接收2个部分。图1中给出了“数字通信原理软件实验平台”的各个组成部分[9]。其中虚线框中所示为硬软件平台的相同和扩展环节。接收端是发送端的逆过程,在此没有展开叙述。其中采样模块分为采样/量化/编码以及滤波/重构2个部分;编码和调制模块分别包含了常用的信道编码和调制,充分扩展了数字通信原理硬件平台上的信道编码和调制实验。各模块构造好后,还要注意数据能够从一个模块流动到下一个模块,系统联合调试时还要对具体功能的子模块进行修改和完善。
图1 数字通信原理软件实验平台系统框图
2.2 数字通信实验软件平台设计
数字通信原理软件实验平台的界面设计采用Matlab软件中的GUI工具,数字通信原理软件实验系统的界面如图2所示。
图2 数字通信原理软件实验平台系统界面
由图2可以看出GUI界面除包括图1中所示的发送和接收各环节,还包含参数设计和显示环节,将各环节运行结果从时频域多形式显示出来。此外,还配有存储模块用来临时存储通信过程中的信号(也可以将临时信号存在文件中)。本软件系统中的发送模块包括采样、输入码序列、信道编码、数字调制和扩频。采样即按一定间隔对模拟信号进行抽取,变为数字序列,并存入文件;输入码序列从文件中读取;信道编码主要用来引入差错控制,这里主要对CRC码、卷积码这2种常见编码方式进行了仿真[10];调制包含了不同进制的ASK、FSK、PSK、DPSK以及 MSK和QASK,并且将调制后信号时域波形以及功率谱绘制出来[11];扩频是用一组高速伪随机序列作为信息对载波进行调制,由于伪随机序列速率远高于原信号码元速率,所以信号频率得到扩展。扩频通信可以提高抗窄带干扰的能力,并且可以防止窃听。
此外,由于不同用户采用相互正交的不同扩谱码作为相互区分的依据,所以多个用户可以占用同一个频带,将DS-CDMA原理、GSM移动通信系统中与扩频相关的技术加入软件实验平台中,对现行标准中的关键技术进行有效跟踪[12]。接收模块主要仿真了对发送信号引入高斯白噪声的过程,并分别绘制了引入噪声后的时域波形和功率谱,此外,还包括解扩、解调、译码、误码率分析和采样恢复。
3 数字通信实验软件平台实现
3.1 数字通信实验软件平台验证
利用Matlab的GUI设计软件平台时,按照图1构造整体系统,再分模块编程实现。软件实验平台能实现硬件平台上大部分的实验功能,同时还有许多扩展,如编码部分中的AMI/CMI/HDB3和汉明编码以及调制部分中的BASK、BFSK、D/BPSK调制是硬件实验平台上可以实现的。因此,软件平台和硬件平台的运行及测试波形可以进行比对。
图3是利用GUI工具产生的FSK波形和实际硬件平台上示波器测试的FSK图形对比。
编码、调制、扩频3个主要环节都进行了有效扩展:其中编码环节增加了奇偶校验码、循环码、BCH码、RS码、卷积码、Turbo码;调制环节增加了16QAM和256QAM;扩频环节增加了扩频码设计。
3.2 数字通信实验软件平台各模块
仿真技术在通信原理实验的教学实践过程中,能有效激发学生学习主动性和积极性,提高课程教学效果。以数字通信实验软件平台为例介绍平台构成的各个模块及运行过程。
GUI运行后,如果要模拟信源进行仿真,则首先点击“采样”按钮,对模拟信号进行抽样,并将抽样结果存入“*.txt”格式文件,如果是数字信源则无需这一步;点击“输入码序列”按钮,打开一个存有数据的“*.txt”格式文件,并将数据显示在相应位置;然后选择合适的信道编码方式,点击“信道编码”按钮进行编码,并将编码后信号显示在左侧显示模块中。源数字信号和CRC编码后信号如图4所示,图4(a)是从文件中读取输入码序列波形图,图4(b)是CRC编码结果。
接下来选择调制方式并输入相应的参数,点击“调制”按钮,进行调制,并将调制信号波形或功率谱显示出来(显示模块中可选时域或频域),如图5所示。图5中的调制方式为FSK调制,图5(a)是时域信号波形,图5(b)是其频谱。
图4 数字信源及其CRC信道编码波形
图5 BFSK调制信号波形及功率谱
然后对信号进行扩频,点击“扩频”按钮。输入一个信噪比值,点击“噪声”按钮,加入噪声。扩频以及加入噪声后的波形和频谱如图6所示(图中所加噪声,其信噪比为5dB)。
再点击“解扩”按钮可从扩频信号中恢复原信号,然后点击“解调”按钮,对信号进行解调,然后译码得到有用信号,最后将其与输入信号进行比较。
由图2中的信号显示部分可以看出:发送端和接收端获得信息一致,表明解码、解调及解扩程序正确。整个传输系统的误码率通过统计也可得出。对于发送端产生模拟信源的情况,点击“恢复”按钮可重构出原始的模拟信号,并可将相关信息存入文件。一次仿真结束后点击“清除”按钮可恢复至初始状态,进行下一次仿真。需要结束时点击“退出”按钮即可退出GUI界面,如图2所示。
另外需要说明的是噪声虽然在信道中存在,但实际上是在接收端引入的,所以将引入噪声这一步归在接收模块。在做卷积码仿真时,由于所用方法译码时不能将原数据全部恢复,所以需要在编码时补零,这样译码得到的才是完整的初始码序列。这次设计的GUI只包含了通信的一些基本步骤,实际情况要复杂得多。比如实际信道中还包括衰减、延迟、多径、多普勒频移等很多问题,此外,在接收端还要考虑滤波器设计、均衡、同步等问题。
图6 扩频后信号时域波形及功率谱
4 结论
本文是基于数字通信系统的基本原理和Matlab交互界面设计了主要包含编码和调制解调两部分的数字通信实验软件,启动软件就可以清楚地看到数字通信系统的各个部分。整个界面简洁、明了,可以帮助学生顺利掌握课堂所学的知识,同时学生也可以根据自己的兴趣在本软件的基础上进行修改,进一步拓展自己所学的知识;由于Matlab具有优良的可移植性和可扩展性,随着学生学习的深入,本软件的每一个模块还可以进一步地分离出来,形成单独的一个整体以供学生进行更加深入的研究;最后,各个完整的整体还可以连接到本软件上,形成一个功能强大的综合系统。采用软件的方法可以使学生对于整个数字通信系统有一个更清楚的认识,对于系统中的每一部分及其作用建立一种更加结构化的观念。
(
)
[1]凌霖,苏胤杰,晋春.软件仿真在通信原理实验教学中的应用[J].实验技术与管理,2011,28(4):83-85.
[2]文化锋,胡乾苗,杨燕.基于MATLAB的数字通信系统可视化设计[J].宁波大学学报,2006,19(3):302-305.
[3]周友兵.通信原理教学与研究系统的设计[D].苏州:苏州大学,2006.
[4]郭文彬.通信原理:基于Matlab的计算机仿真[M].北京:北京邮电大学出版社,2006(6):35-50.
[5]廖云伢.基于Java与MATLAB集成的数字通信原理虚拟实验平台的设计与实现[D].长沙:中南大学,2007.
[6]张学典,赵学玲,许家群.Matlab与VB、VC高级语言的接口方法[J].沈阳工业大学学报,2001,23(6):493-496.
[7]江伟.通信信号的仿真平台设计与实现[D].长沙:国防科学技术大学,2006.
[8]钟丽辉,吕丹桔.基于 MATLAB的通信原理实验教学改革[J].电子设计工程,2012,20(6):76-78.
[9]樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2011.
[10]张海涛,王福昌.基于MATLAB的信道编码教学实验软件设计与实现[J].实验室研究与探索,2005,24(1):46-49.
[11]赵鸿图.通信原理 MATLAB仿真教程[M].北京:人民邮电出版社,2010(11):227-260.
[12]姜宏,莫秀玲,康健,等.“数字移动通信原理”课程教学模式探索[J].电气电子教学学报,2011,33(4):23-24.