QQ : 859367193
编辑部投稿邮箱:jiaoyujiaoxuelt@VIP.163.com
电话:0311-87766660 80820729
地址:河北石家庄联盟路705号 河北教育出版社 《教育教学论坛》杂志社 编辑部
信息论基础实验课程方案的设计
刘立伟
大连交通大学 理学院,辽宁 大连 116028
[摘 要]信息论基础是信息与计算科学专业的必修课,5G通信理论的核心就是信息论的信道编码理论。信息论是一门与最优化方法、概率统计和随机过程等密切相关的学科,它既有很强的理论性,数学证明复杂,又有很强的应用性,与通信技术联系紧密。这要求学生具备较高的数学思维能力和较强的编程实践能力,这对教师和学生都是一个挑战。而但若只有理论讲授、定理证明等,又会枯燥无趣、难以理解。所以在理论讲授之余增加实验课程,既能增加学生的学习兴趣,又能加深对课堂讲授知识的理解。实验教学是该课程整个教学过程中不可或缺的重要组成部分,搞好实验教学,有助于提高教学质量,加深学生对所学知识的理解。要激发学生对编程的兴趣,学生们在程序设计中, 提高了编程能力,设计的程序各有特色。通过学生的反馈意见可以看出通过实验课程能够极大的调动学生的想象力,巩固对理论知识的理解,提升学生的知识与技能。
[关键词] 信息论;5G;实验教学
[基金项目] 2021年教育部产学合作协同育人项目(通过实验课程提升信息论基础课程教学质量;2019年度辽宁省教育厅项目(染色质三维结构预测中的数学方法,研究项目编号:JDL2019032);2019年度大连交通大学研究生教改项目(数学+工科交叉学科建设,项目编号:2019-46)。
[作者简介]刘立伟(1980-),男,博士,辽宁大连人,大连交通大学 理学院副教授,主要从事数据挖掘、生物信息学研究。
[中图分类号]G642.0 [文献标识码]A
一 引言
信息论基础是信息与计算科学、电子信息工程、通信工程等专业必修的专业基础课程,主要内容有:随机变量与随机过程的信息度量、数据压缩与无失真信源编码、数据可靠传输和信道编码、限失真信源编码和率失真函数[1]。信息论基础本身是一门理论和实际紧密相连的课程,也是一门跨学科的重要课程,涉及数学、通信、计算机科学科学领域,关于这门课程教育教学方法的探讨有很多[2-5]。
由于信息论基础是一门既与高等数学、线性代数、最优化方法、概率统计和随机过程等数学课程密切相关,又与通信工程、计算机科学等实际应用技术紧密联系的课程。尽管信息论基础课程在信息与计算科学、电子信息、通信等专业有着非常重要的地位,但是它的课程教学却比较落后,学生普遍反映难学。它既有很强的理论性,数学证明复杂,又有很强的应用性,与通信技术联系紧密。这要求学生具备较高的数学思维能力和较强的编程实践能力,这对教师和学生都是一个挑战。
信息论基础若只有理论讲授、定理证明,必然会枯燥无味、难以理解。所以在理论讲授之余增加实验课程,既能增加学生的学习兴趣,又能加深对课堂讲授知识的理解。因此实验教学是该课程整个教学过程中不可或缺的重要组成部分,搞好实验教学,有助于提高教学质量,加深学生对所学知识的理解。学好信息论基础这门课程,并将其学以致用,实验的设计是一个非常重要的环节。实验教学是信息论基础课程非常重要的组成部分,搞好实验教学,有助于提高教学质量 ,巩固学生对所学知识的理解[6,7]。不同于物理实验,信息论基础的实验主要是通过计算机上机编程来实现信源编码、信道编码方案。
二 实验教学方案
在进行课堂理论教学时,可以演示一些实验结果,结合生活实例,培养学生的兴趣,使学生对实验教学知识点有一定了解,这样等到学生动手实验时就不会无所适从。选择适用的实验,学生通过实验理解信息论的理论及其应用,并提高编程能力。实验课程的开设,是对课堂教学内容的有益补充,特别能锻炼学生严谨的工作作风,提高学生的综合分析和实际动手能力。
实验教学方案设计思路:以信息论基础核心内容信息熵、信源编码、信道编码应用为主要实验课题,设计一系列实验把信息论基础众多知识点串联起来;依据信息熵、信源编码、信道编码的步骤安排实验前后顺序,进行完课堂教学马上进行相应的实验教学。教师通过开发实验课程讲义、实验指导书、微课、实验平台及教学大纲等,让学生学会算法并将其加以应用。教师在信息熵、信源编码、信道编码方面设计实验。通过编程实验,学生可以对信息熵、信源编码、信道编码进行模拟,教学相长。
(一) 二进熵函数曲线绘制
人们常说这条消息所含信息很多,那条消息所含信息较少,那么信息如何度量?有人说用文字多少定义信息量,一部《史记》文言文和翻译后的白话文所含信息是一样的,但字数差别很明显,所以用文字多少定义信息量是不合适的。直到1948年,信息论之父香农提出了信息熵的概念,用它来度量信息。信息熵是信息论研究的基础。
二进熵函数曲线绘制的实验步骤[8]如下:
(1)理解熵的计算公式;
(2)由数据计算熵;
(3)绘图。
通过二进熵函数曲线绘制的实验,学生可以形象的理解信息熵的性质,例如熵函数的单调性,熵在什么情况下最大,什么情况下最小等。通过实验,学生能够深刻熟练地进行熵函数的计算。
(二)利用Huffman编译码实现数字图像数据的压缩
Huffman 编码是消除编码冗余最常用的技术。它是一种可变长的前缀码。1950年,Huffman在MIT学习。Robert Fano教授给学生们布置了一个作业:找到最优的二进制编码。这个作业促使了Huffman编码的诞生。Huffman编码是学生接触的第一个信源编码方法,也是非常重要的信源编码方法。计算机算法大师高德纳(Donald E.Knuth)曾说过Huffman编译码是一个计算机科学和数据通信领域一直在使用的基本想法。由此可见Huffman编译码的应用非常广泛,像我们平时用的ZIP、RAR压缩文件,听的MP3歌曲,看的高清电视等等,里面都有用到Huffman编码。当对信源符号逐个编码时,Huffman 编码能给出最短的平均码长。Huffman 编码与人们的生活和工作紧密相连,被广泛应用到数字图像处理等各个领域。这里设计Huffman编译码实现数字图像数据的压缩方案。
利用Huffman编译码的实验步骤[8]如下:
(1)将数字图像转化成灰度符号文集;
(2)用Huffman算法编写压缩程序,对上述文件进行压缩;
(3)编写解压缩程序,以验证压缩程序是否正确;
(4)统计计算数据压缩率。
上述算法以 MATLAB为主要编程工具[9],当然C(或C++)也可以。通过上机实验完成数字图象的压缩与恢复,加强学生对Huffman编译码理解与应用。进一步介绍Huffman编码的发现过程,激发学生对科研的兴趣。另外,图象处理是当前非常热门的研究方向,教师可以进一步介绍常见的数字图象处理技术及其它图象编码技术。学生学以致用,自然会对学习信息论产生浓厚兴趣。
(三)利用LZW编码实现生物序列数据的压缩
LZ(Lempel-Ziv)算法是两个犹太人J.Ziv和A.Lempel于1977年提出的,他们描述的算法被后人称为LZ77算法。1984年,Terry Welch发表论文描述了他在Sperry研究中心的研究成果,实质上对LZ算法的一个改进,也就是后来非常有名的LZW算法。
应用LZW算法可以对线性序列数据进行压缩。在众多的线性序列中,生物序列数据长度较长,数据量大,是典型的“大数据”。利用数据压缩算法对生物序列数据进行压缩是存储和分析生物数据的重要手段。LZW编码属于通用编码,它不像Huffman编码需要概率等先验知识,而是基于字典的压缩算法。
利用LZW编码的实验步骤[8]如下:
(1)对生物序列数据进行预处理;
(2)用LZW算法编写压缩(编码)程序,对上述文件进行压缩;
(3)编写解压缩(译码)程序,以验证压缩程序是否正确;
(4)统计计算数据压缩率。
上述对生物序列的压缩工作属于生物信息学范畴。生物信息学是综合利用数学、信息科学来揭示大量而复杂的生物数据所赋有的生物学奥秘。生物信息学的研究目标是生物数据,使用的工具方法是数学、计算机,主要进行基于数学、信息科学基础理论研究。通过上述实验,学生不仅掌握了编码技术,而且也对生物信息学这样的交叉学科有所了解,开拓了眼界。
(四)限失真信源编码
在一般的数字图像、音频、视频信号中,即使有一定的误差也并不影响人的视觉、听觉感受。因此可以近似地还原消息,也就是允许一定的失真存在,这种情况下的编码就可以采用限失真信源编码。数字图像的数据压缩就可以采用限失真信源编码。
应用JPEG算法思想进行数字图像压缩的实验步骤[8]:
(1)使用JPEG算法编写程序,对图像文件进行压缩;
(2)编写解压缩程序,计算图像文件压缩前后的大小;
(3)使用不同参数,计算图像文件压缩前后的大小;
(4)统计计算数据压缩率。
限失真信源编码是信息论的一个难点,应用也非常广泛。虽然压缩前后,图像有损失,但所损失的部分对理解原始图像的影响很小,换来的却是大得多的压缩率。图像文件画质没有明显的下降,但文件的大小却得到了明显压缩,有利于文件传输和存储。通过上述实验,学生实际感受了图像压缩的效果,对限失真信源编码的应用有了感性认识,有了进一步学习的动力。
(五)信道编码
通信是要把信息从某方准确可靠地传送到另一方。因为移动通信过程中不可避免存在噪声和干扰,信号在传输过程中会以一定概率出现差错,所以对信道传输要使用纠、检错编码技术,来加强信号在信道传输时的抗干扰能力。信道编码的核心基础是纠错编码理论[10],是在信息码后面附加上一些监督码,以便在接收端发现和纠正误码。通过编程实现线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现。线性分组码解码时,前几位码字可以直接解出来,因而编解码器的设计较为简单。
(n,k)线性分组码编码实验步骤:
(1)对信源序列进行预处理,转化为k列;
(2)如果序列不能被k整除在后边补0使其能被k整除;
(3)将由(2)得到的序列与生成矩阵G相乘即得到编码后的码字。
信道编码是当今通信领域的核心问题。5G技术核心就是信道编码领域的极化码。华为用了10年时间将土耳其数学家的一篇论文,从理论变成了技术和标准,让5G 时代提前到来。这里介绍的线性分组码编码实验虽然是比较简单的信道编码,但学生可以通过简单问题触类旁通,对信道编码技术有一定的理解,既加深了对课本知识的理解,又了解了现代前沿通信技术,增强学习、探究未知领域的动力。
三 结论
总之,学生通过对信息论问题的上机实验,可以让学生发现数学知识在解决具体问题中的作用,发挥数学系学生的专业优势,并借此激发数学系学生学习信息论基础的兴趣。学生可以通过对实验结果的分析讨论和教师的讲解,加深对所学知识的认识和理解,有效提高课堂学习效率。对理论的认识也可以从表面的感性认识上升到更加深刻的理性认识。通过编程实验,学生可以使用软件分析处理实际数据,解决实际问题,拓宽了学生的视野。学生可以用现实数据来验证已有的理论,同时也可能会发现理论与实际的不同,从而找出现实与理论之间的差异并分析和讨论其原因,引导学生正确理解和认识所学理论。感兴趣的学生还可以在教师的指导下针对自己发现的问题进行更近一步的研究。
针对我校信息与计算科学+软件专业学生的专业复合特色,发挥他们软件编程能力较强的优势。指导学生自主设计实验项目和编写实验程序。从而激发学生的积极性和创造力,培养学生的自主研究和学习能力,为学生将来工作和进一步深造夯实了基础。
[参考文献]
[1] 叶中行. 信息论基础(第三版)[M]. 高等教育出版社, 2020.
[2] 车书玲,孙蓉,刘刚.《信息论基础》慕课和翻转课堂相结合的教学探索[J]. 教育现代化,2020,7(09):46-48.
[3] 杨凯新,林海涛,周媛媛,魏巍.军队院校混合式教学模式的探索与实践——以“信息论基础”课程为例[J]. 教育教学论坛. 2021(28):92-95.
[4] 高丽娟,代健美,陈龙.《信道编码》课程教学方法研究[J]. 教育现代化. 2019,6(44):174-176,186.
[5] 陈婧, 贾世祥. 信息论与编码课堂教学方法探索[J]. 高教学刊. 2020(28):3.
[6] 张正言, 田雨波, 张冰. MATLAB在"信息论与编码"实验教学中的应用[J]. 实验室科学. 2010(13):109-112.
[7] 姜楠.“信息论”课程本科教学探索与实践[J].计算机教育.2007,12(24):52-54.
[8] 沈世镒,吴忠华. 信息论基础与应用[M]. 高等教育出版社, 2004.
[9] 傅玉青. 信息论与编码技术实验仿真平台设计[J]. 福建师大福清分校学报. 2017(2):19-22.
[10] 高丽娟,代健美,陈龙.《信道编码》课程教学方法研究[J]. 教育现代化. 2019,6(44):174-176.
Design of experimental course for the elements of information theory
LIU Li-Wei
School of Science,Dalian Jiaotong University,Dalian 116028,China
Abstract:The foundation of information theory is a required course for information and computing science majors, and the core of 5G communication theory is the channel coding theory of information theory. Information theory is a discipline closely related to optimization methods, probability and statistics, stochastic processes, etc. It is not only highly theoretical, complicated in mathematical proof, but also highly applicable and closely related to communication technology. This requires students to have high mathematical thinking ability and strong programming practice ability, which is a challenge for both teachers and students. However, if there is only theoretical teaching and theorem proving, it will be boring and difficult to understand. Therefore, adding experimental courses after theoretical teaching can not only increase students' interest in learning, but also deepen their understanding of classroom teaching knowledge. Experimental teaching is an indispensable part of the whole teaching process of this course. Doing well in experimental teaching will help improve the teaching quality and deepen students' understanding of the knowledge they have learned.To stimulate students' interest in programming, students improve their programming ability in programming, with their own characteristics.Through the feedback of students, it can be seen that the experimental courses can greatly mobilize students 'imagination, consolidate the understanding of theoretical knowledge, and improve students' knowledge and skills.
Key words: information theory;5G; experimental teaching