孙立炜 钟石根 游陈盛
摘 要:量子通信技术正在迅速发展。对于高等院校通信工程和信号信息处理专业学生,开设量子通信课程作为选修课是有必要的。该文分析了量子通信课程与量子物理课程的不同点。采用MATLAB为仿真工具,对于没有硬件实验条件的院校,也可以达到教学目的。教师在指导仿真实验时,应首先给出量子通信基本仿真元素,再启发学生自己动手编制原理仿真程序,并给出了一个BB84协议的仿真实验教学案例。
关键词:量子通信 量子信息 MATLAB 仿真 教学设计 教学研究
随着仿真技术的迅速发展和仿真软件的普及,利用计算机仿真来辅助教学已经显示了明显的优势,它改变了传统的教学手段和教学模式,推动了教育的发展[1]。而随着人们对量子世界研究的深入,发现了量子物理3个基本原理。原理1:态叠加原理和量子测量扰动原理;原理2:量子纠缠原理;原理3:量子态不可克隆原理。基于这3个原理,在信息技术方面主要有3个应用方向。基于原理1、原理3,可以实现安全和高效的量子通信。基于原理2可以实现抗干扰和高分辨的量子雷达。基于原理1、原理2,可以实现大容量和超并行的量子计算机[2]。目前,在这3个应用方向上唯有量子通信取得了实用性进展,在未来有可能大范围应用,因此对相关高校提出了新增量子通信课程的要求。
1 量子通信课程开设的意义
近年来,量子通信蓬勃发展。例如,2017年8月,中国量子保密通信“京沪干线”项目通过验收,建成了连接北京、济南、合肥、上海的全长2000余公里的量子保密通信骨干线路,完成了金融、政务领域的同城数据灾难备份系统、金融机构数据采集系统等应用示范。2017年9月29日,“京沪干线”与“墨子号”科学实验卫星进行天地链接,成功实现了洲际量子保密通信[3]。
可以预见,量子通信迅速发展,并在未来有可能大范围应用。开设量子通信课程,为量子通信时代的到来,做一定的人才准备是有必要的。课程教学的对象是高等院校的通信工程和信号信息处理专业的学生,可以作为选修课或拓展课。课程开设的目的在于使同学们建立量子通信的概念,明确量子通信的基本原理。虽然目前大部分同学在走上工作岗位后暂时不会从事量子通信的研究和保障性工作,但在今后量子通信时代到来时,这些学生已经成长为通信行业的中坚力量和领导者。由于在年轻时已经打下了量子通信的理论基础,适应情况就比较快,能较为顺利地开展通信设备的升级换代工作。
2 量子通信课程与量子物理课程的比较
量子通信的理论基础是量子物理,但是二者在教学上是有所区别的。
从课程性质和教学对象上看,量子物理是大学物理的一部分内容,对于所有的理工科的学生作为必修课。量子通信针对通信工程和信号信息处理专业学生,作为选修课或拓展课。
从课程内容上看,量子物理课程侧重于量子物理学中的基本概念和原理,例如物理量的量值、能级、光子、实物粒子、不确定原理和测量理论、薛定谔波动力学、定态理论、基本粒子和它们的相互作用。而量子通信课程更侧重应用层面,例如量子信息论、量子通信协议、量子信号的产生、调制和探测技术、量子中继技术、量子通信网络技术、量子通信系统。
从课程教学方法上看,量子物理课程是经典的理论课程,以理论讲授为主。而量子通信课程是新兴的理论与实践相结合的课程,除了必要的理论讲授外,更重要的是让同学们动手操作,加深对理论的理解,并培养动手能力和实际分析解决问题的能力。量子通信课程在理论方面,重点要讲清量子物理的3个基本原理,即态叠加原理和量子测量扰动原理、量子纠缠原理和量子态不可克隆原理,因为这是量子通信实现的基础。实践方面,有条件的院校可以进行实物演示、现场参观,甚至让同学们动手操作。目前市场上已有生产量子通信设备的厂商,可以提供教学实验支持,如国内的国盾量子、都飞通信、朗研光电和安徽问天,国外的ID Quantique和MagiQ[4]。对于大部分没有条件的院校,可以采用MATLAB为仿真工具,仿真BB84协议、量子高密度编码、量子隐形传态、量子交换机的工作过程,同样可以达到教学目的。
3 MATLAB在量子通信课程教学中的运用
3.1 MATLAB仿真工具
MATLAB是一款功能强大的数学软件。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案[5]。MATLAB使用简单、上手容易,避免了复杂的编程过程,是优秀的仿真工具,能够应用于量子通信的教学中。
3.2 启发学生自己动手编制MATLAB仿真程序
教师在教学过程中,应该启发学生自己动手编制原理仿真程序。下面,以BB84的教学过程为例说明。BB84协议通信可分为两个阶段:第一阶段通过量子信道进行密钥的通信;第二阶段是在经典信道中进行密钥的协商,探测窃听者是否存在,确定最后的密钥[6-7]。具体可分为以下7个步骤,前3个步骤为第一阶段,后4个步骤为第二阶段。
(1)發信者A预备随机数列{ak}及{bk}。收信者B预备随机数列{ck}。{ak}、{bk}和{ck}均随机的取值0或1。k=1,2,…,N。
(2)A向B发送量子态{|φakbk>},不同ak、bk取值代表4个不同的量子态。ak的值表示A传送的码值。bk=0用正交归一基Z将量子态编码,bk=1则用基X编码。
(3)B进行同步测量。B用{ck}的取值来决定测量{|φakbk>}所用的基。若ck=0用基Z测量,ck=1则用基X测量。
(4)B在收到A发出的信号后通过公开信道告知A。在确知B已收到信号后,A与B通过公开信道进行基的筛选。舍去所有ck≠bk的数据,只保留ck=bk的数据。经过基筛选后留下的数据称为筛后数据。
(5)A与B通过公开信道交换部分的筛后数据,检验误码率(QBER)的大小。若QBER超过容许值,表明窃听者E存在,则摒弃该次通信。否则,舍去已公开的用作检验的数据,保留余下的筛后数据,继续进行步骤(6)和(7)。
(6)A和B进行数据协调,即通过公开信道进行纠错,使A及B所拥有的数据高度一致,QBER降到可接受的水平。
(7)A和B通过公开信道,进行密性放大,将窃听者E可能获得的少量信息变为无效。
在BB84协议的授课过程中,教师首先要讲清BB84协议原理和工作过程,然后给出基本仿真元素。例如量子极化状态|0>和|1>,用MATLAB语言描述为“L0=[1;0];L1=[0;1];”。量子比特|φ>是|0>和|1>的任意重叠组合,即|φ>=α|0>+β|1>,用MATLAB语言描述为“Lfi=arf*L0+beta*L1;”。量子比特的测定是以|0>和|1>为基底,进行内积演算实现的,用MATLAB语言描述为“Result=[norm(L0*Lfi)^2 norm(L1*Lfi)^2];”。量子比特序列是各个量子比特的张量积,例如贝尔基态β00、β01、β10、β11用MATLAB语言可以分别描述为,“Bell00=(kron(L0,L0)+kron(L1,L1))/2^0.5;Bell01=(kron(L0,L1)+kron(L1,L0))/2^0.5;Bell10=(kron(L1,L0)-kron(L1,L1))/2^0.5;Bell11=(kron(L0,L1)+kron(L1,L0))/2^0.5;”。量子通信中的Pauli算符,用MATLAB语言可以描述为“Pauli_X =[0 1;1 0];Pauli_Y=[0-i;i0];Pauli_Z=[10;0-1];”。可以讲解步骤(1)的参考代码,并启发学生自己动手编制步骤(2)~(6)的原理仿真程序。
4 结语
利用MATLAB仿真量子通信,不能完全模拟量子态,有很大的局限性,而且在可视化效果上不如一些主流的动画制作软件。尽管如此,MATLAB凭借其强大的科学计算功能和简便的矩阵操纵手段,对于缺少实验条件的院校,仍然是量子通信教学的良好工具。通过启发学生自己编写仿真程序,可以检验学生对原理的掌握程度,加深对量子世界的数学认识,达到了教学目的。
参考文献
[1] 曹锟.仿真技术在量子通信教学中的研究与应用[D].重庆师范大学,2015.
[2] 梁林梅.量子物理课程[EB/OL].[2014-12-09].https://www.icourse163.org/course/NUDT-51003.
[3] 中國科技大学.国家量子保密通信“京沪干线”项目通过总技术验收[EB/OL].[2017-09-05].https://news.qq.com/a/20170905/041395.htm.
[4] 中国报告大厅.量子通信设备主要供应商[EB/OL].[2016-10-13].https://www.chinabgao.com/k/246011liangzitongxin/24661.html.
[5] MATLAB[EB/OL].[2019-01-20].https://baike.so.com/doc/5365830-5601522.html.
[6] 陈锦俊,吴令安,范桁.量子保密通讯及经典密码[J].物理,2017,46(3):137-143.
[7] 尹浩.量子通信原理与技术[M].北京:电子工业出版社, 2013.