基于Hack RF的软件无线电平台在通信实践教学中的应用
2022-04-25吕晓蕊
唐 正,吕晓蕊
(1.湖北交通职业技术学院 交通信息学院,湖北 武汉 430079;2.武汉铁路职业技术学院 铁道通信与信号学院,湖北 武汉 430205)
0 引 言
通信原理是通信类专业的核心基础课程,对学生专业知识体系的建立具有重要意义。通信实践教学作为理论教学的重要补充和支撑,能够帮助学生更好地理解重要的结论和概念。在传统的通信实践教学中,实验平台多使用通信原理实验箱,该模式的实践教学多为验证性实验,实验内容固定、项目可拓展性差、学生参与性不强,导致教学效果不理想。
软件无线电(Software Defined Radio, SDR)是一种在不改变硬件设计的情况下,通过改变软体的部署实现不同通信方式的无线通信架构。该思想于1992年由Joseph Mitola博士第一次提出,SDR在军事领域和移动通信领域得到迅速发展。随着软件无线电平台通用外设(Hack RF、USRP等)的产生,SDR成为一种可行的通信课程实践教学资源。
鉴于软件无线电的优点,笔者将SDR引入通信实践教学中。学生通过完成相关实验,可深入理解通信系统中信息处理的过程,了解信道参数对系统的影响,并能亲自体验无线数据收发的乐趣。学生还能掌握软件无线电设计方法,以本实验平台为基础,拓展新的通信实验项目。
1 教学平台介绍
基于Hack RF的软件无线电教学平台由Hack RF和计算机构成,如图1所示。平台中,Hack RF开发板需要两块,其中一块作为发射模块,另一块作为接收模块;计算机需安装Linux系统和GNU Radio程序。软件无线电教学平台如图1所示。
图1 软件无线电教学平台
1.1 软件平台GNU Radio
GNU Radio是一个开源的无线电软件平台,由C++语言和Python语言混合编写而成。C++的实时性好、效率高,被用于编写信号处理模块,如信号的调制和解调模块、信道的编码和译码模块以及虚拟仪表模块等;Python是一种语法简单而且完全面向对象的新型脚本语言,它被用于连接由C++编译而成的信号处理模块。GNU Radio提供了一个可视化的图形界面。GNU Radio Companion简称GRC,在GRC空白区,开发者以流图的形式构建无线通信系统,流图完成后系统自动编译生成Python代码,为不熟悉Python编程的学生和用户提供方便。
1.2 硬件平台Hack RF
Hack RF是软件无线电平台的外部设备,工作频段为30 MHz~6 GHz,最大采样率为20 MS/s,半双工通信模式。其主要功能是无线信号的射频处理以及数字信号与模拟信号的相互转换,其硬件架构与工作流程如图2所示。当设备处于接收状态时,天线接收信号进入射频前端,射频模块对信号进行低噪声放大和下变频后生成模拟基带信号,模拟基带信号送入模数转换器生成数字基带信号,数字基带信号在单片机中完成数据封装后通过USB口送入计算机进行数字信号处理。发送流程为接收流程的逆过程,这里不再赘述。
图2 Hack RF硬件架构
1.3 通信实践教学内容
结合通信原理课程的教学特点,笔者基于Hack RF的软件无线电教学平台设计了7个实验项目,本文将重点分析“GFSK无线通信”实验,具体见表1所列。
表1 基于Hack RF的软件无线电教学平台开发设计的实验
2 GFSK无线通信实验
高斯频移键控(Gauss Frequency Shift Keying, GFSK)调制是把输入数据经高斯低通滤波器预调制滤波后,再进行FSK调制的数字调制方式。GFSK具有恒幅包络、功率谱集中、频谱较窄等特性,被广泛应用在移动通信、物联网通信等领域。
GFSK无线通信实验分为两部分:第一部分在GNU Radio软件上搭建GFSK的数据调制系统,观测调制系数BT对基带信号频谱的影响;第二部分使用图1所示的软件无线电通信教学实践平台实现GFSK调制解调的无线数据收发。
2.1 GFSK调制信号频谱分析
本实验旨在让学生观察GFSK数字基带信号受BT参数的影响。由于这部分实验不涉及信号的射频处理,故本实验仅在软件平台GNU Radio上进行。实验内容主要包括数字基带信号产生、GFSK调制以及虚拟仪表观测频谱,系统流图如图3所示。
图3 GFSK调制流图
2.1.1 实验流程
(1)在“File Source”模块中加载文本文件,使用“Packet Encoder”模块对信息进行预处理,其作用是配合解调过程中“Packer Decoder”模块的使用,使得调制前与解调后的数据流保持同步;
(2)将数据流送入GFSK调制器,本实验使用三组不同BT值的“GFSK Mod”模块做对比实验;
(3)在“Frequency Sink”模块中,观察设置不同BT值的“GFSK Mod”模块输出信号的频谱。
2.1.2 实验结果分析
不同BT值对应的GFSK频谱如图4所示。可以发现:BT值越小,基带信号的频谱能量越集中,带宽越小,频谱的利用率越高。在实际应用中,GSM系统和蓝牙通信系统均使用GFSK调制解调,调制系数BT取0.5。
图4 不同BT值对应的GFSK频谱
2.2 GFSK无线数据收发
本实验使用图1所示的软件无线电教学平台实现GFSK无线数据收发功能。在GRC流图中分别搭建GFSK调制发射部分和接收解调部分,如图5所示。由于Hack RF只能工作于半双工模式,故本实验需要两台Hack RF:一台作为发射信机,另一台作为接收信机。
图5 GFSK无线通信系统流图
2.2.1 实验流程
(1)本实验开始的操作与上节实验相似,GFSK的BT值设置为0.35。
(2)GFSK调制后的基带信号送入“ADD”模块的输入端口,“ADD”模块的另一个输入端口接入“Noise Source”模块。此设计的目的是让实验贴近实际,模拟无线信号在信道中信噪比衰落的现象。“Noise Source”模块中噪声的取值使用变量“noise”,而“noise”的大小受控件“QT GUI Range”的控制。该控件的功能是在GUI界面中创建变量参数调节框,使参数能在设定的范围内实时调节。
(3)叠加高斯噪声后的基带信号送入“Osmocom Sink”模块。“Osmocom Sink”模块需完成以下任务:
a)配置并部署指定Hack RF的射频参数。本实验中,Hack RF频率设为433 MHz,采样率为2 MS/s,增益参数使用默认值。
b)模块将基带信息送给指定的Hack RF进行射频处理,包括:数模转换、上变频、射频放大等。最终,信号经天线发送到无线信道中。
(4)接收系统大致为发射系统的逆过程。“Osmocom Source”模块中的频率值设置为“433 MHz+freq_offset”。“freq_offset”为频率偏移变量,“freq_offset”的引入是为了模拟无线通信中的多普勒频移效应。该变量参数同样使用“QT GUI Range”模块控制。
(5)接收系统最终将信号送入“File source”模块,并以文本文件的形式存储数据。
2.2.2 实验结果分析
(1)变量noise和freq_offset设置为0时,观察发射信号和接收信号频谱,如图6所示。接收信号频谱与发射信号频谱相似,信噪比良好。
图6 系统发射信号、接收信号频谱
(2)变量noise和freq_offset设置为0时,系统可正常收发文本文件,如图7所示。为便于实验观察,笔者在 “File Sink”模块设置中选择“repeat”模式,故接收系统保存的文本中出现重复信息。本实验框架还能实现图片文件和音频文件的发送和接收。
图7 发射文本文件与接收文本文件
(3)变量noise设置为0.4时,接收信号的信噪比恶化20 dB,如图8所示。此时,系统无法正常接收文件。
图8 不同情况下接收信号的频谱1
(4)变量freq_offset设置为260 kHz时,收发系统出现较大频偏,如图9所示。此时,系统无法正常接收文件。
图9 不同情况下接收信号的频谱2
2.3 实验效果及意义
通过“GFSK无线通信”实验,学生一方面可以观察GFSK频谱特性,掌握数字基带信号频带传输的方法,理解无线通信的框架,了解无线信道对通信系统的影响;另一方面,学生能够理解软件无线电的理念,学会使用GNU Radio平台仿真分析复杂的通信概念,并能借助通用外设实现实际通信案例。
3 结 语
本文从平台构建、实验内容、实验实施以及结果分析等方面阐述了基于Hack RF的软件无线电平台在通信教学中的应用和实施。
基于Hack RF的软件无线电平台的初步实践教学成果已在我校2020—2021学年的通信类课程教学中得以运用,教学效果良好,学生普遍反映实践教学课程高效有趣。笔者也正在尝试将实践教学平台运用到跨专业的学科教学中:拟与无人机专业联合开发无人机反制实验;与汽车专业开发汽车防撞雷达模拟实验等。
综上所述,基于Hack RF的软件无线电平台不仅能帮助学生理解通信课程的理论知识,其参与性强、拓展性强的特点还能促进学生学习的自主性和创新能力,帮助他们在通信工程的开发与应用方面不断取得进步。