B B B I ^B 3
2〇2〇年第19卷第
22期
浅谈Python 语言在通信原理教学中的应用
□刘琼吴慢王连成柴一峰刘明伟
【内容摘要】根据通信原理课程的特点,探讨了 Python 语言在通信原理课程中的教学应用,完成了 2ASK 调制解调系统的演示
实例。并且利用PyQt ,设计了一个2ASK 调制解调的图形界面系统。结果证明:这种方式能够将通信原理的重要 知识点以图形的方式直观地展现在学生的面前,能够激发他们的学习兴趣,从而改善教学效果,提高教学质量。
【关键词】Python ;通信原理;图形用户界面;2ASK
【基金项目】本文为2019年度湖南省教育厅“普通高等学校教学改革研究项目”(编号:G 21916)和2018年度湖南科技大学“教
学研究与改革项目”(编号:G 31819)研究成果。
【作者简介】刘琼(丨983.4 ~ ),男,湖南衡阳人,湖南科技大学物理与电子科学学院讲师,博士;研究方向:二维材料、微纳光子学
吴熳,王连成,柴一峰,刘明伟;湖南科技大学物理与电子科学学院
本文将Python 语言引人到通信原理教学中来,结合通信 原理中2ASK 数字调制系统的调制和解调框图,利用Python  语言进行设计与仿真,给出调制和解调过程中信号的波形, 便于学生掌握和应用基本知识,使学生更加直观地了解调制 和解调过程。
_、2ASK 调制信号产生
相对于基带传输,数字调制传输具有抗噪声能力强、可 以减小天线尺寸以及可以实现多路复用等优点,被广泛应用 于高质量长距离数字通信系统中。因此,让学生理解和掌握 数字调制以及解调原理是通信原理课程教学中的一个重点。 数字调制方式中的ASK 调制类似于模拟调制中的AM 调制, 是一种正弦载波的幅度随数字基带信号的变化而变化的一 种数字调制技术。当数字基带信号是二进制时,即为2ASK 。 2ASK 调制信号可表示为:
e 2A S K (0 =s (t )c
〇SO)et
(1)
其中,S (t ) = Z a …g(t  -nT .)是单极性数字基带信号,a …n
的取值是〇或者1。2ASK 的调制信号产生方法有两种,一种 是键控法,另一种是模拟相乘法。模拟相乘法产生2ASK 调 制信号的方法如图1所示。
二进制
非归零信号
2 A SK 调制
信号,
e 2A S K ⑴
图1模拟相乘法
使用Python 语言产生2ASK 调制信号的程序如下所示:
im port  numpy  as  np
im port  matplotlib . pyplot  as  pit
im port  m ath sampling  =0. 01
t  = np . arange ( 0, code _num /Rs , sampling/Rs  )
Data_length  = len ( t )code  = np . random . randint (0,2,code _num )Ask_base  = np . zeros  ( Data _lenglh ) for  i  in  range  ( Data _length ):
Ask _base [ i ] = code [ math , floor (t [ i ] * Rs )] carrier  = np . cos (2 * math , pi  * Rc  * t )Ask 一ni  = np . multiply ( carrier , Ask 一base ) fig  = pit . figure ( figsize  = (8 ,6))ASK _3 = fig . add 一subplot  ()
pit . plot (t , Ask _m ," b ")
Python 语言专用的科学计算扩展库很多,在2ASK 调制
信号的产生过程中,我们主要使用了 NU mpy 、matP l 〇tlib 以及random在python中的意思
math 三个扩展科学计算库。其中NumPy 是Python 语言中的
一种开源数值计算库,主要是用来做快速数组处理,它比Py ­thon  语言本身的列表结构更高效,并且支持髙维数组和矩阵 运算。math 用来做数学计算,matplotlib 主要用来做绘图。在 我们的仿真中,码元数t t 设定为20个,码元传输速率为 1,000 Baud ,载波频率为2, 000Hz 。仿真结果如图2所示,从 图中可以清楚的了解2ASK 信号的产生过程。
二、2ASK 相干解调
2ASK 信号有两种基本的解调方式,分别为非相干解调 (包络检波法)和相干解调(同步检测法)。其中相干解调比 非相干解调的抗噪声能力更好,因此,在本文中,主要考虑相 干解调。在这一部分,主要采用Python 语言来实现ASK 相千 解调过程,展示解调过程中各个节点处的波形。相干解调的 原理框图如图3所示。
使用Python 语言实现2ASK 信号相干解调的程序如下所code_num  = 20示:
Rs  = 1000 Rc  = 2 * Rs
from  scipy  im port  signal
Ask _de_m  = np . multiply (carrier , Ask _m )
Industrial & Science Tribune 2020 (19) 22
.47
.
图3 2ASK 信号的相干解调方法
b , a  = signal . butter  (10,0. 05 ," lowpass  〇 Ask _de_m  = signal .
b ,a ,tuple ( Ask _de _m ))
v_decision  = 0. 25
Ask_dec  = np . zeros  (code _num ) for  i  in  range (20):
n  = int  ( ( i  + 1/2 ) /sampling  ) if  Ask _de_m  [ n  ] > v_decision  :Ask_dec  [ i  ] =1.0
else :
Ask_dec  [ i  ] =0.0
Ask_decision  = np . zeros ( Data _length ) for  i  in  range  ( Data_length  ):
Ask_decision  [ i  ] = Ask_dec  [ math , floor  (t  [ i  ] *
Rs )]
fig 2 = pit . figure  (figsize  = (8,6))ASK _d _3 = fig 2. add _subplot () pit . plot (t , Ask _decision,x  b 〇
在这里,需要使用另一个科学计算扩展库SciPy。SciPy  是构建在Numpy 基础之上的一款方便、易于使用、专为科学 和工程设计使用的扩展库。它包括了统计、傅里叶变换以及 信号处理等模块。主要是使用其中的信号处理模块(scipy . signal )来设计滤波器,由于在仿真中没有考虑噪声,因此只 需要考虑低通滤波器,使用的滤波器为高阶巴特沃斯滤波器 (Butterworth  filter ),巴特沃斯滤波器是电子滤波器的一种,它 也被称作最大平坦滤波器。巴特沃斯滤波器的特点是通频 带内的频率响应曲线最大限度平坦,没有纹波,而在阻频带 则逐渐下降为零。解调过程中的波形如图4所示。从图中 可以看出,经过相干解调器以后的信号波形与数字基带二进 制信号完全一致。
三、2ASK 调制解调GU 丨设计
GUI ( Graphical  User  Interface )是指采用图形方式显示的
计算机操作用户界面,是一种可视化交互式的工具。采用
0.0000 0.0026 0.0050 0.0075 0.0100 0.0125 0.0160 0.0175 0.0200图2基于Python 语言的2ASK 调制信号的产生0.0000 0.0025 0.0050 0.0075 0.0100 0.0125 0.0150 0.0175 0.0200
图4基于Python 语言的2ASK 信号解调
GU 丨的方式具有可视化、交互性良好、操作便捷等优势。Py ­thon  提供了多个图形开发界面库,包
括 Tkinter 、wxPython 、Jy - thon 以及PyQt 等。在这一部分,基于PyQt 设计了一个2A SK
调制解调的图形界面系统,其结果如图5所示。从图中可以
看出,参数设置区可以输人载波频率,二进制信号按钮用来 随机产生二进制基带信号,载波信号、2ASK 调制信号以及 2ASK 解调信号按钮分别用来绘制载波、调制信号以及解调 信号波形。
图5基于Q t  Designer 的2ASK 信号调制解调G U I 四、结语
在本文中,首次将Python 语言引人到通信原理课程教学 中来,探讨Python 语言在通信原理中的教学应用。利用Py ­
thon  语言完成了 2ASK  调制解调系统的演示, 在教学中通过
直观的图形方式展现通信原理课程中的复杂数学模型。该 系统直观性强,结果正确,能使学生更加直观的了解2ASK 调 制和解调过程,激发他们的学习兴趣,从而改善教学效果,提 高教学质量。
【参考文献】[1 ]宋明水,李存磊,张金亮.东营凹陷盐家地区砂砾岩体沉 积期次精细划分与对比[J ].石油学报,2012,5
[2] 赵霞,张珣,韩忠明,嵩天.Python 语言教学中问题解决能 力和创新能力的培养实践[J ].计算机教育,2017,9
[3] 沙伟.轴承振动测量仪测量值台差若干关键问题研究 [D ] •华中科技大学,2019,5
[4] 嵩天,黄天羽.Python 语言程序设计教学案例新思维[J ]. 计算机教育,20丨7,12
[5] 王亚萍.计算思维培养视域下《Python 程序设计》课程的 教学改革实践[J ].电脑知识与技术,2018,2
48
Industrial & Science Tribune 2020 (19)
22

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。