基于软件无线电的双向时间同步系统设计与实现

2023-04-29 16:50杨君豪楚鹰军曹骏周志行夏文龙郭庆功
关键词:主从报文双向

杨君豪 楚鹰军 曹骏 周志行 夏文龙 郭庆功

针对全球导航卫星系统建设成本高,信号易被干扰和欺骗等问题,本文基于Zedboard+AD9361软件定义无线电平台设计出一套小型化、高精度的无线时间同步系统.整个系统分为双向时间同步模块和无线通信模块:双向时间同步模块处理主从机时间戳的标定、偏差的计算;无线通信模块将数据进行伪码扩频、数字上变频、部分匹配滤波-快速傅里叶变换捕获,实现主从机之间的无线通信.通过主从机输出到示波器上的1 PPS信号比对测试,主从机之间的时间同步误差均方根值(RMS)为18.6 ns.

精准时间协议;AD9361;PMF-FFT捕获;时间同步

TN925+.91A2023.013001

收稿日期: 2022-05-30

基金项目: 国家自然科学基金(62071316)

作者简介: 杨君豪(1996-), 男, 四川达州人, 硕士研究生, 主要研究方向为无线通信.E-mail:15827467971@163.com

通讯作者: 郭庆功.E-mail: guoqingong@scu.edu.cn

Design and implementation of two-way time synchronization system based on software Radio

YANG Jun-Hao1, CHU Ying-Jun2, CAO Jun2, ZHOU Zhi-Hang1, XIA Wen-Long1, GUO Qing-Gong1

(1.College of Electronics and Information Engineering, Sichuan University, Chengdu 610065, China;

2. The Fifth Research Institute of Telecommunications Technology, Chengdu 610021, China)

In order to solve the problems of high construction cost of GNSS (Global Navigation Satellite System) and easy signal jamming and spoofing, a small and high precision wireless time synchronization system is designed based on Zedboard+AD9361 software defined radio platform.The entire system consists of two-way time synchronization module and wireless communication module:the two-way time synchronization module deals with the calibration of master and slave time stamps and the calculation of deviation;the wireless communication module realizes the wireless communication between master and slave equipments by using pseudo-code spread spectrum, DUC(digital up-conversion), PMF-FFT (partially matched filtering and fast Fourier transform) capture. By comparing 1PPS signal output to oscilloscope, the RMS of time synchronization error between master and slave is 18.6 ns.

Precision time protocol; AD9361; PMF-FFT; Time synchronization

1 引 言

时间同步是导航定位系统的关键研究领域之一,这就要求时间同步必须具备高精度、高可靠性等特点[1].在常用的导航定位系统中,一般采用卫星授时的方式来获取统一的时间信息,从而纠正本地时钟带来的偏差.卫星授时技术成熟,授时精度高[2],但是卫星复建与维护成本较高,且卫星信号易被干扰与欺骗,在可靠性要求极高的环境如军事、航空航天等领域存在安全隐患[3].

针对以上问题,本文提出了一种基于精准时间同步协议(Precision Time Protocol,PTP)的无线定时方法.PTP作为IEEE 1588标准下的一种时间同步协议,受网络波动影响,其定时精度一般在毫秒级[4-6].文献[7]采用PTP中的双向时间同步技术在FPGA上进行硬件实现,在有线电缆通信的情况下能达到40 ns的定时精度.然而有线时间同步的适用范围较小,而在无线环境中,又存在诸如多普勒频移、晶振频偏及收发机相对运动等问题.前两者影响通信系统的通信质量,一般依靠伪码捕获的方法解决;后者制约着时间同步的精度,需要特定的算法去做补偿[8].在中低速目标的移动中,文献[9]在理论上证明了相对运动速度为30 m/s的收发机对时间同步精度的影响不到1 ns,但是该文献并未在实验平台上进行验证.本文针对多普勒频移和晶振频偏等问题,实现了一种基于部分匹配滤波器-快速傅里叶变换的快捕技术,并通过一种反馈机制将捕获到的频偏去调控本地中频频率,形成闭环使得捕获的频率更加精准.

本设计基于软件无线电平台进行搭建,具有低成本、高便携性等特点,可以应用于无人机组网、单兵定位和车载定位等领域,能够满足设备之间的信息传递和时间同步等需求.

杨君豪, 等: 基于软件无线电的双向时间同步系统设计与实现

2 双向时间同步原理及实现

PTP作为IEEE 1588标准下的一种精准时间同步协议,它通过双向时间同步技术,交换主从机之间包含时间戳信息的报文,从机可以计算出与主机的链路延迟和时间偏差,进而调整本地时钟与主机时钟同步[10].双向时间同步原理如图1所示.

图1所示为一台主机协助一台从机进行时间校准.首先主机发送一帧Sync同步报文,并记录发送该报文的时间戳t1,随后再发送一帧携带时间戳t1的FollowUp报文;从机这边在接收到Sync报文后记录接收时间t2接着接收FollowUp报文并解析出时间戳t1.随后从机发送一次Delay_req延时请求报文,并记录发出的时间t3.主机在接收到Delay_req报文后记录时间戳t4,之后再将时间戳t4以Delay_resp延迟响应报文发送出去.从机接收该报文并从中解析出t4时间戳信息.

在完成一次双向对时之后,从机获得了t1,t2,t3和t4等4个时间戳,利用这4个时间戳可计算出主、从机之间的链路延时:

Delay主-从=t2-t1+offset(1)

Delay从-主=t4-t3-offset(2)

其中,Delay主-从为主机发送信号至从机接收到信号的传播延时;Delay从-主为从机发送信号至主机接收到信号的传播延时;offset为主从机之间的时钟偏差.当主从机之间信道对称时,则有

Delay主-从=Delay从-主(3)

根据式(1) ~式(3),可以计算出主从机之间的时钟偏差offset,如下式:

offset=[(t1-t2)+(t4-t3)]/2(4)

2.1 PTP报文处理模块设计

为了实现主从机绝对的时间同步,需要设定一个参考时钟,方便标定主从机的时间戳.系统设定了一个1秒计数器循环计数作为参考时钟,在Zedboard上电开机后便不断循环计数,并在每1 s复位后输出一个脉冲信号作为1 PPS信号,用于观测主从机的时间偏差.图2是根据双向时间同步原理实现的主从机PTP报文处理模块流程图.在数据处理模块中,设定最大处理时限为1 s,即如果主机发送Sync同步报文和FollowUp报文后至1 s结束仍未收到从机发来的Delay_req报文,则会在下一秒从新发送新的Sync同步报文和FollowUp报文.从机每完成一次对时后,将得到的offset存放至移位寄存数组中用于计算主从机偏差的均值.当移位寄存数组存满后,从机将计算offset均值并对从机时钟进行校准.

2.2 主从机时间同步仿真

前面已经分析了主从机的PTP报文处理模块运行流程,接下来使用FPGA进行模块的实现.根据上述原理和流程图,使用Verilog编写主从机的PTP报文处理模块,输入的CLK为30.72 MHz;为方便仿真观察,设定的参考时钟为1 s循环,未进行均值处理,1 PPS信号持续1 ms;设定的路径延迟为20 460个30.72 MHz时钟.将设计好的主从机模块打包好的IP核放入一个工程中进行联调,通过仿真验证内部逻辑正确性,结果如图3所示.

在完成上电准备后,主从机开始进行对时,并在仿真1 s初拉高1 PPS_1ms信号.通过仿真得到的时间戳数值如图3所示,t1=40 961,t2=82 201,t3=163 841,t4=246 001.

3 无线通信FPGA实现

主从机通过无线扩频通信的方式进行数据交互,因此主从机基带模块的数据需要经过扩频、数字上变频和射频混频才能经由天线发射,并在接收端进行数字下变频、伪码捕获以及载波频偏估计与补偿完成数据的恢复.

3.1 数据扩频模块

该模块主要实现数据帧的形成、C/A码的存取、直接序列扩频等,目的是将PTP报文处理好的时间戳组装成发送帧,并进行伪码扩频.模块结构如图4所示.

系统将扩频码存入ROM,当PTP报文处理模块送入数据后便准备读取ROM中的扩频码与数据帧进行数据扩频.扩频码长1024位,由C/A码及其末尾补0码组成,码速率为3.072 Mbps;数据帧总长60位,数据速率为3 kbps,包括10位的导频序列,7位的数据帧头,37位的时间戳信息,6 bit的校验和信息.其中导频序列为10位全1的符号,数据帧头采用7 bit巴克码,用于告知接收端有效数据的起始位置.整个模块将速率为3 kbps的数据帧符号扩展为速率3.072 MHz的扩频码段,扩展频谱降低功率谱密度以提高数据传输的抗干扰能力.

3.2 数字上变频模块

扩频模块产生的信号为方波信号,不能直接用于空口发射,因此需要对扩频后的基带数据进行脉冲成型和插值滤波[11].设计的指标要求数据进行10倍上采样,即最终数据速率为30.72 Mbps;发射带宽不小于6 MHz,数字中频频点为5 MHz.

图5是采用了System Generator实现的数字上变频模型.系统时钟设定为30.72 MHz,整个设计由两个部分组成:滤波器模块和混频器模块.滤波器和混频器的模型如图6所示.滤波器由2级FIR滤波器实现,总共完成10倍插值.第一级为根升余弦滤波器(Root Raised Cosine,RRC),使用54阶Chebyshev窗设计,截止频率2.15 MHz,过采样率15.72 MHz,成型因子为0.32,实现3.072 MHz到15.36 MHz的5倍插值;第二级为半带滤波器(Half Band,HB),使用10阶等波纹FIR滤波器设计,截至频率2.15 MHz,过采样率30.72 MHz,带内波纹系数0.01 dB,实现15.36 MHz到30.72 MHz的2倍插值.

AD9361作为一款零中频射频收发芯片,因此需要额外设计数字中频模块,实现基带数据的数字上变频,便于接收端捕获模块进行中频滤波.混频器由Xilinx DDS IP核产生5 MHz正余弦信号,分别与滤波器模块输出的IQ信号进行相乘,得到数字中频信号.

对数字上变频模块采用软硬协同仿真,采用3.072 Mbps的随机数输入.经过数字上变频后的数据将得到如图7的频域仿真波形,该频谱是双边谱.只看正频率部分,输出的数据码速率为30.72 Mbps,频谱宽度约为6 MHz,中频频点为5 MHz.

3.3 PMF-FFT捕获模块

由于接收端不清楚发送数据何时到达,且在发送过程中,存在多普勒频移和收发晶振差异引起的频率偏差,因此就需要对扩频数据在一定频率和相位范围内进行搜索和捕获,并对其进行频偏补偿.

传统的捕获方式如串行捕获,耗时较久但消耗资源较少;并行频率捕获耗时较短但消耗资源量更大[12].接收端采用了折中的PMF-FFT捕获技术[13],该技术在使用较低的资源的情况下能够快速实现接收数据时频二维的捕获.PMF-FFT捕获技术是由多个数字匹配滤波器作为基本单元组成的并行数字匹配滤波的捕获方式,将长度为N的伪随机码,平均的分成K组,每组M=N/K个码片组成一个PMF单元.它的结构图如图8所示.

图8 PMF-FFT捕获结构图

Fig.8 Structure diagram of PMF-FFT capture

Zedboard上电后,会读取ROM中的扩频码存放到PMF单元中. AD9361将天线接收的信号下变频到中频后,然后需要对携带频偏的数据数字中频载波剥离.设定的DDS设置初始频率与数字中频一致,设置为5 MHz,相位位宽为29 bit,频率调整精度为0.057 Hz;低通滤波器(Low-Pass Filter,LPF)截止频率为5 MHz.首次剥离中频的信号仍存有频偏,将其并行送入PMF单元与单元中的本地码片段进行相关,将产生的K个相关累加值送入FFT模块,最终经过最大信号选择器选择峰值最大的点输出,峰值超过阈值的点即为捕获信号的频偏值.同时将捕获的频偏值反馈回DDS调整本地频率,调整后剥离中频的信号会具有更低的频偏值,PMF-FFT再对其进行捕获,会使得捕获的频偏更加精细.系统在发送端做了10倍的上采样,接收端的本地码也要进行十倍采样.因此将N设置为10240位;K设置为1024,M设置为10.

根据文献[12]提供的公式,带入上述相关参数,在MATLAB仿真中得到PMF-FFT频响特性如下.

如图9所示,设计的PMF-FFT在理论上能够容忍10 KHz以内的频率偏差,10 KHz以外的频偏将导致接收机虚警概率提高.根据图8所示结构,使用Verilog编写PMF-FFT模块,在modelsim上进行功能仿真.输入时钟为30.72 MHz,输入的数据为码速率30.72 Mbps,中频频点为5.005 MHz的发送端上变频后的数据,引入了5 KHz频偏值.仿真结果如图10所示.

图10中,由于DDS初始频率为5 MHz,剥离中频后会残留5 KHz频偏.PMF-FFT模块对其进行捕获后,将捕获的频偏经过调整后反馈DDS频率控制字, DDS载波频率将调整为接近5.005 MHz的频率,经过低通滤波器后即可完成粗频偏的去除.

4 无线双向定时系统搭建

设计的双向无线定时系统结构图如图11所示,Zedboard作为基带信号处理器,其PS端用于AD9361的初始化和参数控制;PL端用于实现PTP报文收发处理、基带信号扩频、数字上变频、PMF-FFT捕获;AD9361实现数字中频到射频信号的转换,最终通过天线完成射频信号的收发.系统通过将10 MHz恒温晶振(OXCO)倍频到上GHz再分频下来,可为基带、DAC/ADC、射频本振等模块提供时钟驱动.

修改ADI公司提供的NO-OS工程,在FPGA部分将设计好的PTP报文处理模块、扩频模块、数字上变频模块、PMF-FFT捕获模块打包成IP加入到NO-OS工程中,修改信号的收发路径;在ARM部分修改程序完成对AD9361的配置:设置数字接口速率为30.72 MHz、设置DAC/ADC采样率为122.88 MHz、设置发射本振(Local Oscillator,LO)的频率为1575 MHz、接收本振为1500 MHz(主从机收发频率相反)、调节AD9361的各级滤波器带宽和波纹系数.最后通过天线完成射频信号的收发.

5 系统测试

搭建好的无线双向时间同步系统实物如图12所示,主要由4部分组成:Zedboard+AD9361平台组建的主机与从机、示波器与恒温晶振.通过观察主从机输出的1 PPS信号上升沿偏差来检验无线定时系统的时间同步性能,将1 PPS信号引脚引出连接到示波器的端口上,使用示波器标定输入信号上升沿的50%处,并记录每次1 PPS信号变动时两个标识间距变化.连续1500 s记录的结果如图13所示.

进行1500 s的同步后,主从机最大时钟偏差为 40.35 ns,时钟偏差基本稳定在±40 ns内.在图13中,存在有许多点超过了±20 ns,是因为系统只采用了码片级的时间同步校准,只有在主从机之间误差达到一个码片长度时(1/30.72 MHz=32.6 ns)才能进行计算偏差值.因此±40 ns为主从机的输出的1 PPS观测误差而非校准误差.校准误差指的是当从机进行时钟校准后,主从机此时的时间同步误差.当主机进行校准时,校准误差会受到以下方面因素影响.

(1) 采样误差.由于接收端不知道信号何时到来,码片的采样点不能确定.

(2) 系统误差.系统仅对时钟频率进行校准,因此在校准后1 PPS信号仍受主从机晶振频率偏差影响.

(3) 测量误差.主从机的线缆长度差异以及电路布局布线延时未进行校准,会导致出现测量误差.

为了检验校准误差的精度,采用统计数据的均方根值体现时间同步校准误差的有效值,根据式(5)来求测量数据的均方根值,即offsetRMS=18.6 ns.此次实验中主从机时间同步精度有效值为18.6 ns.

offsetRMS=∑ni=0χ2i/n(5)

6 结 论

基于Zedboard+AD9361软件无线电平台设计实现了一套无线双向时间同步系统,该设计时间同步均方根值优于20 ns,具有高精度、低成本、高便携性等特点.该技术可应用于无线自组网机载平台,使无人机具备超精密时间同步能力和自主控制以及智能组网的能力,能够有效保障并促进智能态势感知、智能决策、智能控制、智能组网和人机交互等关键核心技术的发展.本技术也可用于其他飞行器和空间设备、车载设备,并提高它们的时间同步能力和组网能力.

参考文献:

[1] Ge Y, Qin W J, Su K,  et al. A new approach to real-time precise point-positioning timing with International GNSS Service real-time service products [J]. Meas Sci Technol, 2019, 30: 125104.

[2] 吴肖伶, 张记会, 龚星衡, 等.一种基于边缘计算的RTK定位方法[J].四川大学学报:自然科学版,2021, 58: 50.

[3] Koovi D V,  Durevi D . Spoofing in aviation: security threats on GPS and ADS-B systems [J]. Mil Tech Courier,  2021, 69: 461.

[4] Teener M D J,  Garner G M. Overview and timing performance of IEEE 802.1 AS [C]// Proceedings of the 2008 IEEE International Symposium on Precision Clock Synchronization for Measurement,  Control and Communication.  USA: IEEE,  2008.

[5] Mahmood A,  Exel R,  Sauter T. Delay and jitter characterization for software-based clock synchronization over WLAN using PTP [J]. IEEE T Ind Inform,  2014,  10: 1198.

[6] 陈苏浩, 刘小洋, 谢春丽, 等. 具有外部干扰的耦合时滞神经网络固定时间二分同步[J]. 江苏大学学报:自然科学版,  2021,  42: 702.

[7] Yin H,  Fu P,  Qiao J,  et al. The implementation of IEEE 1588 clock synchronization protocol based on FPGA [C]// Proceedings of the 2018 IEEE International Instrumentation and Measurement Technology Conference (I2MTC).USA: IEEE, 2018.

[8] 李辉. 移动目标微波双向时间同步误差分析[D].北京: 中国科学院大学,  2021.

[9] 付永杰, 于蒙, 李迪.舰船运动对时间同步精度的影响[J].舰船电子工程, 2016, 36: 72.

[10] 吴先涛.基于IEEE1588精确时间同步的无线传感器网[J].现代传输,  2020(2): 8.

[11] 杨勇, 夏文龙, 史晓荻, 等. 基于 AD9361 的智能屏蔽系统设计与实现[J]. 太赫兹科学与电子信息学报,  2018,  16: 625.

[12] 柳春. 基于PMF-FFT的高动态导航信号捕获设计与实现[D].成都: 电子科技大学, 2014.

[13] Ruitao L,  Songlin L,  Gang L.Research and implementation of GPS pseudo-code fast acquisition based on matched filter and FFT [C]// Proceedings of the 2018 IEEE CSAA Guidance,  Navigation and Control Conference (CGNCC). Xiamen,  China: IEEE, 2018.

猜你喜欢
主从报文双向
双向度的成长与自我实现
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
FANUC系统PROFIBUS主从功能应用
ATS与列车通信报文分析
基于主从控制的微电网平滑切换控制策略研究
一种软开关的交错并联Buck/Boost双向DC/DC变换器
基于飞行试验数据的仿真模型主从一体化检验
一种工作频率可变的双向DC-DC变换器