基于MATLAB的通信系统仿真教学研究
2018-05-11孙丰刚兰鹏
孙丰刚 兰鹏
【摘 要】针对通信原理类课程的教学特点以及基于硬件实验教学过程中存在的问题,讨论了将MATLAB软件引入到通信系统仿真教学的必要性。以单/双极性不归零码为例,分别从理论分析和编程仿真两个方面给出了两种码型在高斯信道中的误码性能分析,并给出了仿真结果。将MATLAB软件引入到通信系统仿真教学中,可增强所学理论知识点的直观性和生动性,增加学生的学习兴趣,提高了学生的知识理解能力和编程能力,改善了教学效果。
【关键词】通信系统仿真;MATLAB;不归零码;误码率
中图分类号: G642;TN911-4;TP391.9-4 文献标识码: A 文章编号: 2095-2457(2018)06-0017-002
【Abstract】According to the teaching property of communications principles and the difficulties in the hardware based experiments teaching,we have discussed the necessaries to introduce the MATLAB software into the communications systems simulations courses.Taking the single/double polarity not return zero(NRZ) code as an example,we derived the bit error rate performance by considering the two codes over the additive Gaussian channels,and provided the corresponding simulation results.By introducing MATLAB into communications systems simulations,it can enhance the intuition and vividness of the theoretical knowledge,increase the students learning interest and programming ability,and raise the teaching effects of courses.
【Key words】Communications Systems Simulations;MATLAB;Not Return to Zero Code;Bit Error Rate
0 前言
通信原理课程是高等院校电子信息类专业学生所面临的一门专业核心课,是许多专业课如移动通信、信息论与编码等课程的先修课。该课程的学习情况将会对后续课程的学习产生重要影响。然而因其理论性强、概念抽象、数学基础要求高等特点[1],学习难度较大。为提升教学效果,通常采用实验箱作为实验教学环节的手段,但却存在设备有限且易损坏、维护困难及实验内容不够灵活的问题。为此,有必要引入通信系统仿真教学环节。
MATLAB作为可实现算法开发、数据可视化、数据分析及数值计算的一种高级技术语言,为科学研究、工程设计等诸多领域提供了一种全面的解决方案[2][3]。利用MATLAB软件来实现通信系统仿真,可提供形式更加灵活、内容更加丰富的实践方式。仿真过程要求学生对所学理论知识有着清晰的理解,同时培养了学生的编程能力。
下面以通信单/双极性非归零码的误码性能为例进行分析。
1 单/双极性不归零码介绍
数字信号基带传输中可不经过调制和解调过程,而直接传输未经调制的基带信号。不归零码指的是在一个码元周期内电压始终保持不变的码字。其中,单极性不归零码分别用二进制数字“1”和“0”表示正电平和零电平,双极性不归零码分别用二进制数字“1”和“0”表示正、负电平。与单极性编码方式相比,双极性编码在“0”“1”等概率时无直流分量,译码过程不易受到信道特性变化的影响,抗干扰能力也较强[4]。
2 误码性能分析
2.1 误码性能理论分析
2.2 误码性能仿真分析
本次实验所采用的算法流程如图1所示。该算法共分为四个阶段:码字产生、加入高斯白噪声、信号译码及信号比对等。
各部分重点实现如下:
(1)产生单/双极性非归零码字
rand1=rand(1,N);%产生N个均匀分布随机数
binX=(rand1>0.5); %產生等概率的0、1序列
SingPolar=sqrt(2)*binX;%单极性,功率归一化
DoubPolar=2*binX-1;%双极性
(2)加入高斯白噪声
x1=SingPolar+sqrt(1/snr/2)*(randn(1,N)+1i*randn(1,N));%信噪比为snr时加入高斯白噪声
x2=DoubPolar+sqrt(1/snr/2)*(randn(1,N)+1i*randn(1,N));%信噪比为snr时加入高斯白噪声
(3)信号译码
x1_r=(real(x1)>sqrt(1/2)); %单极性译码
x2_r=(real(x2)>0); %双极性译码
(4)信号比对及误码率计算
N_er1=sum(xor(binX,x1_r));%单极性错码个数
P1=N_er1/N; %单极性误码率
N_er2=sum(xor(binX,x2_r));%双极性错码个数
P2=N_er2/N; %双极性误码率
2.3 结果分析
图2中给出了单/双极性非归零码在高斯信道中的理论及仿真误比特性能。可以看出,理论值和仿真值结果重合,从而证明了理论结果和仿真结果的正确性。此外,双极性的误码性能优于单极性编码。当误码率为10-1时,双极性码和单极性码所需要的信噪比分别为-1分贝和2分贝。当误码率为10-2时,双极性码和单极性码所需要的信噪比分别为4分贝和7分贝。可以看出,双极性码相比于单极性码能获得3分贝的优势,这也与理论分析结果(3)和(4)相吻合。
3 结论
利用MATLAB实现通信系统仿真,可有效克服传统实验教学中存在的实验内容单一及设备昂贵等问题。MATLAB的引入,进一步丰富了实验内容,增强了实验教学的直观性和生动性,可有效加深学生对理论知识的理解能力,提高学生的学习兴趣,有利于学生动手能力和创新能力的培养。
【参考文献】
[1]王忠礼,张海一.通信原理课程的微课程教学模式开发与设计[J].科技视界,2017(17):16-17.
[2]任秋洁,吕治国.MATLAB在通信系统仿真教学中的应用研究[J].科技视界,2017(20):79-80.
[3]关雪梅,陈纯锴.基于Matlab的通信原理实验教学的研究[J].实验技术与管理,2008,25(5):99-101.
[4]樊昌信,曹丽娜.通信原理(第7版)[M].国防工业出版社,2012.