GNU Radio平台在通信工程实践教学改革中的应用 曾 嵘 (杭州电子科技大学通信工程学院,浙江杭州310018) 摘 要:开源软件无线电(GNU Radio)是一个构建和部署软件定义无线电系统的免费软件工具 包。GNU Radio是GNU的正式项目之一。由于通信技术发展较快,在通信工程专业实践教学改革中 通过GNU Radio平台来对当前通信新技术进行实验和实践。能有效地解决当前通信工程专业在实践 教学方法遇到的诸多难题,提高学生对本专业的兴趣并加深理解。 关键词:GNU Radio平台;通信工程;实践教学改革 目前,通信工程专业在进行教学实践过程中表 相关实验设备更新维护和换代成本非常高,相关经 现出的一个突出的问题是学生专业方面动手能力较 费投入效率不高。其造成在进行教学实验设备购置 弱且与迅猛发展的通信技术脱离较大,与相关毕业 时,更倾向于购买计算机等通用平台,在相关专业 生用人单位的要求差距较大。另一方面,学生由于 课程学习过程中导致针对性不高,直观感受不强, 缺乏对本学科所学知识的具体直观感受,造成目前 相关动手能力较弱的问题。因此,对于通信工程专 通信工程专业学生较为广泛的对所学专业知识缺乏 业教学实践过程中改革目前在专业相关教学实践和 较强的兴趣,对所学专业知识理解不深人以及对通 动手能力培养的模式,以提高本专业学生对所学知 信工程专业就业前景缺乏信心的问题。出现了部分 识的兴趣和理解,重新树立起对本专业就业前景的 学生转而学习其它专业(如计算机软件专业)课程 信心等方面是非常必要的。 的现象。此现象不仅仅在本科生,甚至在研究生中 1 通信工程专业实践教学方法现状和问题 也表现较为普遍。通过对近几年通信工程专业毕业 生就业企业随访,发现目前用人单位对于通信工程 1.1 专业实践教学环节工具软件化 专业的毕业生需求仍然旺盛。而相关企业认为目前 目前,通信工程专业在进行具体专业课程教学 通信工程专业毕业生对专业知识缺乏深入的理解以 实践过程中,由于存在前述问题,广泛采用工具软 及缺乏较强的动手能力是阻碍相关专业毕业生顺利 件(如Matlab仿真软件)在通用计算机平台上对所 就业的重要问题之一。目前在通信工程专业教学实 学课程进行建模仿真实验。仿真软件存在大量成熟 践过程中,主要是让学生通过一些专业的仿真软件 的封装库文件和函数,因而学生在具体实验过程中 在计算机上建模模拟相关课程所学知识。经过这几 往往通过调用仿真软件现成的库文件和函数就可以 年教学工作总结发现,目前通过计算机仿真的方式 实现实验仿真任务,而这些封装好的库文件和函数 对学生来说仍然缺乏对专业知识较直观的认识,且 是没有源代码可查。因此,在实验过程中,学生仅 锻炼学生动手能力的程度有限。通过近几年的教学 仅是按照实验流程和步骤走完了整个实验过程,对 实践中的案例分析,发现造成这一现象的原因主要 具体的实验过程中应该掌握和理解的专业知识并没 有:①目前通信和信息技术发展较快,相关实验设 有理解和掌握,动手能力也没有得到提高,实验的 备跟不上通信技术的发展速度。②目前通信系统越 效果不佳,没有达到预期目的。 来越大且更为复杂,涉及到的相关学科较多。包括 1.2教学实践内容跟不上技术发展步伐 任课老师在内,不可能掌握所有的相关技术并加以 通信工程技术发展较快,知识更新需求较强。 实现来用于实践教学。③由于技术更新发展较快, 这一方面需要专业教师紧跟技术发展的现状,不断 更新自身的专业知识内容。另一方面,在实践教学 ●基金项目:杭州电子科技大学2o17年高等教育研究项目 上由于受到经费、人员以及实践教学设备市场等多 GnuRadi0平台在实践教学改革中的应用研究(项目编号: 方面的制约,使得目前实践教学内容方面和当前相 ——YB201752)。 关技术发展水平有较大差距。而用人单位在进行招 ●作者简介:曾蝾,男,工学博士,副教授,主要从事移 聘过程中,往往倾向于考察学生对现有新技术的理 动通信方面的教学和科研工作。 解和掌握程度,这也是毕业生在就业过程中遇到就 ●收稿日期:2018—03—16 业困难的原因之一。 一5一 高 校 实 验 室 工 作 研 究 1.3 专业教师很难全面掌握整个系统 由于通信系统涉及知识面广且系统庞大,专业 教师很难仅通过自身的知识储备和学习完全掌握整 个通信系统各部分的实现细节。例如无线通信系统 仅仅物理层接收机部分就分为基带和射频两大部 分,分别涉及到通信与信息系统专业,电路与系统 专业以及电磁场与微波专业的专业知识。普通的专 任教师很难完全掌握多个专业的知识内容。因此在 实践教学过程中学生很难从系统的角度去理解理论 教学上所学知识内容,难以获知所学知识的用处从 而对本专业所学知识产生迷茫感。 由以上分析可知,目前通信工程类的实践教学 环节主要存在的问题影响了学生的培养质量以及就 业,亟待解决。 2 GNU Radio简介 GNU Radio是一个设计框架,用户可以用来设 计、模拟和部署真实的高效无线电系统。这是一个 高度模块化,自带流程图,集成处理各种信号的 库,可以很方便的将各个模块结合到一起来处理复 杂的信号 ’ 。GNU Radio已经被广泛应用于无线电 世界,可以用电脑软件处理包括音频处理、移动通 信、卫星跟踪、雷达系统、GSM网络、数字信号广 播等。GNU Radio硬件平台本身并不是非常特殊的 硬件,也没有包含现成的通信协议和通信标准,比 如802.11、Zigbee、LTE等,但它可以用于开发并 实现任何频率、任何协议的无线电通信。GNU Ra— dio提供一个信号处理模块的库,并且有个机制可 以把单个的处理模块连接在一起形成一个系统。编 程者通过建立一个流向图(flow graph)就能搭建成 一个无线电系统。信号处理模块是使用C++来实 现的,理论J二说,信号数据流不停的从输入端口流 入从输出端口流出。GNU Radio提供了超过100个 信号处理块,并且扩展新的处理模块也是非常容易 的。软件图形化接口和信号处理模块的链接机制是 通过python脚本语言来进行。GNU Radio的编程基 于Python脚本语言和C++的混合方式。Python用 来构造流图。c++南于具有较高的执行效率,被 用于编写各种信号处理模块,如:滤波器、FFT变 换、调制/解调器、信道编译码模块等,GNU Radio 中称这种模块为block。Python是一种新型的脚本语 言,具有无须编译、语法简单以及完全面向对象的 特点,因此被用来编写连接各个block成为完整的 信号处理流程的脚本,GNU Radio中称其为graph。 开源软件无线电(GNU Radio)是一个对学习、 构建和部署软件定义无线电系统的免费软件工具 包。发起于2001年,GNU Radio现在成为GNU的 ——6—— 正式项目之一。GNU Radio是一个无线电信号处理 方案,它遵循GNU的GPL的条款分发。它的目的 是给普通的软件开发者提供探索电磁波的机会,并 激发他们利用射频电波的能力。正如所有软件定义 无线电系统的定义,可重构性是其最重要的功能。 再也不需购买一大堆发射接收设备,只要一台可以 装载信号处理软件的通用设备。GNU Radio开发了 通用软件无线电外设(USRP和USRP2),它是一个 包含4个64MS/s的12位ADC,4个128MS/s的14 位的DAC。该USRP能够处理的信号频率高达 16MHz宽。开源软件无线电GNU Radio是免费的软 件开发工具套件。它提供信号运行和处理模块,用 它可以在低成本的射频(RF)硬件和通用微处理器 上实现软件定义无线电。GNU Radio的应用主要是 用Python编程语言来编写的。但是其核心信号处理 模块是C++在带浮点运算的微处理器上构建的。 因此,开发者能够简单快速的构建一个实时、高容 量的无线通信系统。由此可见,通过GNU Radio来 构建通信工程专业实践实验环节的通用平台,是可 行且非常必要的。具有经费使用效率高,实践操作 训练效果好,紧跟技术发展现状等特点。其用于实 践实验教学的方法值得深入进行研究和探讨。 3 基本思路 (1)通过调查研究,全面了解目前通信工程专 业主干课程教学实践情况,了解实验课教学的基本 情况,在进一步开展调查、研究、论证的基础上分 析具体的改革措施。 (2)将GNU Radio引入通信工程专业主干课的 教学实践环节中,建立统一的教学实验平台。针对 各主干课程的侧重点不同,设计不同的基于GNU Radio的实践实验方案。进一步提高学生在整个过 程中的实际参与性。通过实际通信环境的信号捕捉 与分析,加深学生对所学知识的感性认识和理解 程度。 (3)通过开发探索性的实验内容,激发学生对 本课程和本专业的学习兴趣。通过将课程教学中的 专业知识在实际的通用软件无线电外设USRP(Uni— versal Software Radio Periphera1)平台上运用实施, 进一步夯实课程所学内容,改进课程教学方法,研 究教学方式,提升教师的教学水平和科研水平。 (4)以“学以致用”为指导思想,有目的地促 进教师的教学和学生的实践,真正意义上提高学生 对专业知识的学习效果和对知识应用价值的认知, 促进学生的全面发展。 4 方法措施 通过调查研究,调查各学校目前通信工程专业 曾 嵘:GNU Radio平台在通信工程实践教学改革中的应用 教学实践现状,按不同专业课对具体情况进行抽样 调查;调查各校专业课相关实践能力考核情况和实 验室建设情况;调查各校专业课程的学生应用技能 培养的实施情况;理论教学与实践教学结合的方 法、手段,教学内容的选择、实验设备的落实、实 践教学评价体系和评价模式的选择与研究。在实施 方案的选择上,根据目前技术发展现状结合各专业 课授课内容,构建相应的基于Gnu Radio的实验平 台,搭建系统模型。对GNU Radio源代码程序进行 二次开发,抽取与专业课授课内容相匹配的单元部 分,提供FPGA编程实验接口。例如在移动通信课 程授课与实践教学部分,可以构建主流的移动通信 系统信号传输实验平台,如GSM UE,GSM BTS, CDMA200,WCDMA,TD—SCDMA,LTE等典型移 动通信系统的数据传输平台 。抽取诸如扩频、调 制、信道编码、均衡、成形滤波器、解调以及信道 解码模块供学生在进行实践实验时,将理论课授课 内容同相应的实际应用结合起来,加深学生对所学 2G、3G以及4G系统相关内容的理解,提高其对移 动通信系统知识的兴趣。此外,这些内容还可以被 用于诸如通信原理、数字信号处理、纠错编码技 术、随机信号处理与检测以及信息论与编码技术等 通信工程专业主干课程的学习与实践过程。此外, 还需组织相关任课教师组成学习讨组,学习GNU Radio的系统知识。通过分工和实例,掌握具体的 GNU Radio系统的编程使用方法,探讨简单实用的 系统操作流程,便于学生在工具使用方法上快速上 手。最后,通过实验手册的编写,对具体各专业课 程相关内容采用统一编写实践实验手册的方法,串 联各个独立专业课程理论知识,使得学生能将各专 业课程的内容融会贯通,举一反三,真正做到在系 统层面上理解各专业课知识内容和要点。 5 实例对比 现以PSK符号解调为例来说明实践教学过程。 常规的PSK符号解调实验作为通信工程专业的主干 课程通信原理的相应实验举例。目前PSK符号解调 实验主要采用两种方式:一种是采用通用的通信原 理实验箱,实验箱有用于PSK信号调制解调的发送 和接收模块,学生在做实验时仅需要按照实验手册 选好相应的模块,并插入指定的插槽中。然后按照 实验手册上的连接方法进行连线即可完成该实验。 学生通过改方式进行的PSK符号解调实验并不能达 到预期的实验目的和效果,学生对具体的信号处理 方法仍然理解不深。另外一种方法是通过Matlab等 纯软件的方式进行PSK符号解调实现。该方法通过 Matlab来模拟PSK信号的发送和接收过程,并可以 仿真简单的无线信道。该方法存在的问题是,通过 Matlab建模仿真的无线通信链路同实际通信链路仍 然存在一定的差距。另外,学生在做实验过程中, 主要通过编写仿真代码来进行实验,存在参与感不 够和动手能力锻炼不足的问题。这与使用GNU Ra. dio进行PSK实验时有很大不同。首先通过GNU Radio的USRP实验平台接收到的PSK信号是经过实 际无线信道后的信号,通过改变实际无线信道传播 环境,学生可以更好的理解和体验无线传播环境给 无线通信系统带来的影响。通过USRP平台接收下 来的信号是实际的无线通信接收机接收到的信号, 将存在很多通过Matlab仿真比较难以模拟的信号失 真,如IQ不平衡、功放非线性、相位噪声等情况, 而通过GNU Radio的USRP实验平台可以很容易地 观察到这些非线性失真对通信信号产生的影响。通 过GNU Radio的USRP实验平台进行的PSK符号解 调实验,学生可以设计定时同步单元,多径信号处 理单元,相位和载波矫正单元以及符号解调和解码 单元。在一个实验中,可以设计通信原理课程所涉 及的信号同步,无线信道特征,相干解调和频偏矫 正,数字调制和解调以及纠错编码技术等课程内 容,涵盖范围较广,学生每次实验可以按照课程授 课内容的先后来逐步进行相应单元的设计与实测功 能和性能验证。 6 结 语 针对目前通信工程专业实践教学中存在的设备 更新快,知识涉及面广以及学生参与度低的问题, 探讨采用开源软件无线电(GNU Radio)平台来进 行相关专业实践教学改革的必要性和可能性。通过 分析具体存在的问题以及相应的解决方法,我们认 为GNU Radio是解决目前通信工程专业实践教学中 存在问题的有效方案之一。 ●参考文献: [1]黄琳.GNU Radio入门[BE/OL].(2001—7—21)[2018— 5—22].https://wenku.baidu.corn/view/404f0c4376c66137 el06190c.htm1. [2]West,Nathan.GNU Radio.GUN Radio[BE/OL].(2017— 03—27)[2018—5—22].https://wiki.gnuradio.ors/index. php/Main— Page. [3]Mihir Laghate.Shailesh Chaudhafi.Danijela Cabric.USRP N210 demonstration of wideband sensing and blind hierarchical modula— tion classification[C].2017 IEEE International Symposium on Dynamic Spectrum Access Networks(DySPAN),2017:1—3.