基于GPS/BDS 双模接收机的恒温晶振驯服方法
2021-12-14王琦彭良福
王琦,彭良福
( 西南民族大学 电子信息工程学院, 成都 610041 )
0 引 言
目前,时间频率标准以原子钟为主. 但是铯钟和氢钟价格昂贵、体积偏大,对使用环境也有较高要求.又有许多在实际应用场景要求高精度的时间频率标准,如高速交通网、金融以及电力网,其中电力传输网要求时刻准确度优于±1 µs,高速数字通信系统优于±0.5 µs,二级频标即可满足需求[1-2]. 因此具有价格便宜、体积更小的晶振有突出的优势[3]. 但是晶振受老化、温度影响产生的频率偏移,使得准确度不断下降,随着时间的推移逐渐满足不了用户需求. 所以,通过GPS/BDS 接收机输出的秒脉冲(1 pps)信号校正晶振输出,使晶振与卫星保持同步,补偿频率偏移,使用户的时间频率精度需求得到满足.
卫星信号在传输过程中受电离层、多径等因素的影响存在约 ±50 ns 的随机抖动,在相位上还存在跳变[4-5]. 因此,本文着重研究消除抖动的滤波算法和抵抗跳变的控制算法. 经卫星信号驯服校正后的晶振输出信号与铯钟对比,评估驯服有效性.
1 驯服系统
驯服系统框图如图1 所示,GPS/BDS 双模接收机输出卫星1 pps 信号送入现场可编程逻辑门阵列(FPGA). 晶振输出的10 MHz 信号送入FPGA,经分频得到晶振1 pps,随后和卫星1 pps 先后输入鉴相芯片,得出的相位差返回处理器. 相位差中仍包含有跳变和随机抖动,通过NIOS 软核处理器对该相位差做中位值平均滤波和卡尔曼滤波处理. 根据滤波后的相位差使用带死区的增量式PID 算法计算频偏补偿量,控制数字模拟转换器(DAC)产生控制电压,从而调整晶振频率. 当相位差为负值时,晶振输出相位超前于卫星1 pps 信号,需减小控制电压,降低晶振频率,相位滞后的调整同理.
驯服系统中鉴相部分使用的是德国ACAM 公司生产的TDC-GP2 鉴相芯片,该芯片通过内部电路的传播延迟实现高精度时间测量,其典型分辨率可达50×10−12s,精度优于250×10−12s[6].
驯服过程中,通过SR620 时间间隔计数器实时比对驯服晶振输出与铯钟输出相位差,测试验证驯服效果. 测试系统框图如图2 所示.
图2 测试系统框图
2 滤波算法
由于卫星信号跳变的存在,容易引起误调整. 为剔除跳变,采用中位值平均滤波法,以10 s 相位差数据为一组,对每组数据排序取中位数,每4 组中位数取平均数作为卡尔曼滤波算法的输入. 此时,控制周期为40 s,既保护了晶振的短稳性不被破坏又极大地避免了跳变产生的影响,增强了系统抵抗跳变的能力.
卡尔曼滤波器是以最小均方误差为准则的最佳线性滤波器,使状态变量的估计误差最小接近真实值[7-8]. 假设系统的状态方程和观测方程如下:
式中:k代表时刻;X(k)为状态变量;Z(k)为观测值;A、Γ分别为状态转移矩阵、噪声驱动矩阵,A、Γ为单位向量;w(k)、v(k)分别为过程噪声、观测噪声. 应用卡尔曼滤波算法的5 个基本公式,求解最优估计[9].
建立系统模型,初始化参数后,根据第k时刻状态Xˆ(k|k) 预测第k+1 时刻状态
3 控制算法
滤波处理后的相位差,在时间上是晶振频率偏移量的积分,通过调整频率也能达到调整相位的效果.直接对相位进行调整会出现时间跳变[10-11]. 因此,使用调整频率的方法.
增量式的PID 算法计算产生的控制增量与最近3 次采样的相位差相关,加权处理后即可获得良好的控制效果,误动作影响小.
式中:e(k)、e(k−1)、e(k−2)分别是k、k−1 和k−2 时刻的相位差;Kp、Ki、Kd分别是积分常数、微分常数和比例常数,需要实际工程经验确定;Δu(k)表示第k时刻控制电压增量. 相偏、频偏在一定范围以内时,称为锁定状态,前一阶段为快捕状态. 根据实际情况,锁定状态下控制策略分以下3 种:
1) 一个控制周期内,相位差的绝对值大于50 ns,令 Δu(k)=0 . 不使用该值计算出的控制增量控制晶振. 短时间内出现较大相位差,是由卫星信号的跳变引起,与晶振无关.
2) 连续两个控制周期内,相位差的绝对值小于5 ns,令 Δu(k)=0 . 此时,相偏和频偏已经趋近于零,利用晶振短期稳定性好的特点任其自由振荡一个周期,下个周期若超出5 ns 再予以控制.
3) 进入锁定状态40 个控制周期以后,控制增量衰减一半. 控制算法需兼顾快捕和锁定两个状态,为更快通过快捕进入锁定,各项系数均有上调,锁定状态稳定后需衰减控制增量,防止状态被破坏.
4 实验结果分析
同步分析晶振输出1 pps 与GPS/BDS 双模接收机输出的1 pps. OSA3300 型铯钟短期稳定度能达到1×10−12,长期稳定度最高3×10−14,待系统锁定后以该铯钟为参考测试源,测试晶振输出精度. 接收机输出1 pps 与铯钟相位差如图3 所示,其标准差为11 ns,相对偏大. 图4 为GPS/BDS 的1 pps 信号与铯钟信号之间相位差的Allan 方差图,表1 记录了卫星1 pps与铯钟、晶振和铯钟的Allan 方差数据. 从表1 中1 s、10 s 和10 000 s 采样的Allan 方差中可以看出,接收机输出的1 pps 与铯钟钟差的短期稳定性较差,长期稳定性较好.
图3 接收机输出1 pps 与铯钟钟差
图4 接收机输出1 pps 与铯钟钟差的Allan 方差
表1 GPS/BDS 接收机输出1 pps 与铯钟相位差的Allan 方差
按照文中所述方法驯服晶振,待到锁定状态稳定后,接收机输出的1 pps 与晶振钟差如图5 所示. 图5中可以观察到相位差没有跳变,峰-峰值优于 ±35 ns ,标准差为8.19 ns,滤波算法有显著效果.
图5 驯服过程中晶振和卫星钟差
为评估晶振驯服后的性能,使用时间间隔计数器SR620 测量受驯晶振输出的1 pps 与铯钟输出1 pps 的相位差,如图6 所示,Allan 方差如图7 所示.
图6 受驯晶振和铯钟钟差
图7 受驯晶振与铯钟钟差的Allan 方差
图6 中,驯服后的晶振与铯钟钟差的峰-峰值低于47 ns,标准差为7.15 ns. 根据表1 数据和图7 可知,1 s采样Allan 方差为1.74×10−10,晶振自身参数为1×10−10,短期稳定性没有被破坏. 接收机输出1 pps 与受驯晶振输出1 pps 的10 000 s 采样Allan 方差十分接近,处于同一数量级,分别为1.84×10−12和1.02×10−12,证明晶振获得了良好的长期稳定性.
5 结束语
本文通过中位值平均滤波和卡尔曼滤波算法消除GPS/BDS 接收机输出1 pps 信号的跳变和随机抖动,再利用带死区的增量式PID 算法计算控制增量.实验测试数据表明,恒温晶振获得了较好长期稳定性,同时不受卫星信号短期不稳定的影响,能长时间输出高精度频率信号.
致谢:感谢彭良福教授的讨论.