李银
四川大学电子信息学院 四川 成都 610065
OQPSK调制的实现方法是正交调制,使用两个余弦相干载波,两个载波的频率保持一致,相位相差90°,将基带数据序列分成I、Q两路,分别乘上两路载波,其中Q路延迟半个码元周期再传输。
OQPSK调制信号可以表示为:
式中,g(t)代表高度是1,宽度是sT的门函数,代表基带码元数据,cw为载波角频率[2]。
OQPSK解调可采用相干解调法,调制信号分别与调制阶段同频同相的载波相乘处理,其中Q路信号要延迟半个码元周期再进行抽样判决,解调系统的组成如图1所示。
GNURadio是一个开源的软件定义无线电(SDR)平台,使用C++语言进行编写,可以获得较高的数字处理效率和运行速度。USRP系列是高性能的通用软件无线电外设硬件产品,USRP N210由母板和射频子板组成,子板模块主要有射频开关、双工器、低噪声信号放大器、射频功率放大器、本地数控振荡器等[3]。
外部模块不存在于源代码树的外部组件,是用户扩展的信号处理功能模块,使用平台提供的gr_modtool工具,这个工具的作用是自动编辑配置文件,减少开发人员的工作量。开发者只需根据该工具的使用方法来创建模块代码包,该工具在新增包中添加的模块代码的具体结构,都已被开发人员实现好了,之后开发者重点针对核心函数进行编码即可,本文根据外部模块方法设计了OQPSK的模块,具体流程:首先设置模块的输入输出接口数量,然后确定流入模块的数据类型,接着匹配输出数据和输入数据的数量,然后进入核心功能将输入的数据转变为二进制,进行调制处理后完成复数类型数据的输出,解调模块的设计步骤与调制模块一样[4]。
发射机系统的设计使用GNURadio软件平台搭配通用硬件外设USRP N210进行开发设计。发射机部分,首先信源模块是用于获取信息数据的模块,这里使用文件信源的作用是从输入文件中读取数据流,然后使用封装成包模块对信源输出的数据打包封装,OQPSK调制模块是通过外部模块的设计方法来实现OQPSK调制的功能。经过调制之后的基带信号带宽较高,为了保证更好的传输,需要成型滤波器模块对其进行低通滤波处理,降低基带信号的带宽。最后是将基带信号发送给USRP模块实现数字上变频和数模转换并通过天线进行发射。
接收机部分是由USRP模块接收机接收空中信号,通过高频放大器、AD转换、数字下变频。然后经过增益控制模块,把信号幅值控制在一定的范围内。再经过锁相环时钟同步模块和载波同步模块,恢复同频同相的载波信号。接着经过OQPSK解调模块进行解调,最后是解包模块,把有效的信息数据从包中取出来,再将数据流写进文件信宿[5]。
通过上述分析,通过两台主机和两台USRP连接搭建综合测试环境,一个USRP负责搭建发送系统信号,另一个USRP负责搭建接收系统接收信号。宿主机与虚拟机进行通信的方式被设置为桥接模式。然后在进行网络配置时,将Ubuntu的IP地址设置为一个网段。然后分别搭载发射机框图和接收机框图,使用文件信源来测试数据文档的收发。保持发射功率不变的情况下,传输距离变化,针对不同的传输距离进行测试,发射功率保持在0dBm左右,通过USRP进行接收后,在接收端进行解调和解包处理后,将数据写入文本文件。每一次改变距离均传输10次,分别记录每一次的错误比特数目,得到每一次的误码率和平均值。设置传输距离为1m、2m、5m、8m、10m,再次测试并记录每一次的错误比特数目,得到误码率后,将数据绘成误码率曲线[6]。
图2 不同传输距离的误码率
通过以上仿真实验可以看出,基于软件无线电技术搭建的OQPSK通信系统模型与理论上OQPSK系统是一致的,本文给出了OQPSK的数学公式的推导和调制解调原理,通过软件无线电工具GNURadio和USRP N210硬件平台,设计OQPSK外部模块,实现了OQPSK通信收发机,并通过实际的收发数据,可以完全正确地解调出原始数据,验证了基于软件无线电技术的OQPSK通信系统方案的性能。上述的测试结果表明,基于软件无线电技术和通用的硬件平台构建数字通信系统具有很强的可重构性、可扩展性和灵活性。而且可以根据实际工程部署,使用GNURadio搭载USRP N210通用的硬件平台,搭建各种调制方式的通信系统,避免了传统的基于定制硬件的通信技术无法灵活升级,在硬件设计、制造上产生大量浪费的缺陷。