Acquisition technique for navigation signals based on pre-average process
-
摘要: 针对传统导航信号捕获算法资源消耗大、多普勒分辨率低的问题,提出了一种基于预平均处理的变系数匹配滤波的快速捕获方法. 该方法将经过预平均处理后的导航中频信号和本地信号主码存入相应存储器,然后经变系数匹配滤波器完成相关累加,再经快速傅里叶变换(FFT)频率估计器完成数据的频谱分析,最后利用验证模块对FFT输出结果的最大值进行二次验证,完成捕获检测. 所提方法在达到相同积分时间的同时节省了50%硬件资源,能够提高捕获多普勒分辨率以提高转跟踪成功率,通过软件灵活配置可以实现多系统多频点全球卫星导航系统(GNSS)信号的兼容处理.Abstract: To resolve large resource consumption and low Doppler resolution problem of traditional acquisition algorithm, a fast acquisition method based on pre-average and coefficient variable matched filter is proposed. The method stores the received intermediate-frequency signals and pseudo-code into corresponding dual-ports memory, completes correlation through coefficient variable matched filter, analyses the spectrum of correlation result by FFT. Finally, the maximum value of FFT output is verified to finish the Doppler estimation and acquisition process. The proposed method saves 50% hardware resources while reaching the same integration time, and can improve the Doppler resolution which can improve the probability of signal tracking. The experiment results show that this method can implement modern multi-frequency GNSS signals acquisition through the flexible configuration.
-
表 1 信号参数
频点分量 调制类型 带宽/MHz 主码 辅码 电文 速率/Mcps 码长 类型 长度 类型 信息速率/符号速率 B1I BPSK-R(2) 4.092 0 2.046 2 046 Gold码 20 NH码 50/50或500/500 B1C_d BOC(1,1) 4.092 0 1.023 10 230 Weil码 - - 50/100 B1C_p QMBOC(6,1,4/33) 14.322 0 1.023 10 230 Weil码 1 800 Weil码 导频分量无电文 B2a_d QPSK-R(10) 20.460 0 10.230 10 230 Gold码 5 NH码 100/200 B2a_p 10.230 10 230 Gold码 100 Weil码 导频分量无电文 B2b_d QPSK-R(10) 20.460 0 10.230 10 230 Gold码 - - 1000/1000 B2b_p 10.230 10 230 Gold码 - - 导频分量无电文 B3I BPSK-R(10) 20.460 0 10.230 10 230 Gold码 20 NH码 50/50 或 500/500 L1CA BPSK-R(1) 2.046 0 1.023 1 023 Gold码 - - 50/50 L1C_d BOC(1,1) 4.092 0 1.023 10 230 Weil码 - - 50/100 L1C_p TMBOC(6,1,4/33) 14.322 0 10.230 10 230 Weil码 1 800 Weil码 导频分量无电文 L5C_d QPSK-R(10) 20.460 0 10.230 10 230 Gold码 10 NH码 50/100 L5C_p 10.230 10 230 Gold码 20 NH码 导频分量无电文 E1OS_d CBOC(6,1,1/11,‘+’) 4.092 0 1.023 10 230 存储码 - - 125/250 E1OS_p CBOC(6,1,1/11,‘−’) 4.092 0 1.023 10 230 存储码 25 存储码 导频分量无电文 E5a_d QPSK-R(10) 20.460 0 10.230 10 230 Gold码 20 存储码 25/50 E5a_p 10.230 10 230 Gold码 100 存储码 导频分量无电文 E5b_d QPSK-R(10) 20.460 0 10.230 10 230 Gold码 4 存储码 125/250 E5b_p 10.230 10 230 Gold码 100 存储码 导频分量无电文 G1 BPSK 8.334 5 0.511 511 M序列 - - 50/100 G2 BPSK 6.709 5 0.511 511 M序列 - - 50/100 表 2 M=2、 K=3时匹配滤波计算过程示意
PMF0 PMF1 时钟 滤波器系数 数据 中间结果 $ {R_0}(l){\text{ = }}{D_{0,2}} $ 滤波器系数 数据 中间结果 $ {R_1}(l){\text{ = }}{D_{1,2}} $ $ {c_{0,0}} $ $ {c_{0,1}} $ $ {c_{0,2}} $ $ {D_{0,0}} $ $ {D_{0,1}} $ $ {c_{1,0}} $ $ {c_{1,1}} $ $ {c_{1,2}} $ $ {D_{1,0}} $ $ {D_{1,1}} $ 0 $ {a_0} $ 0 0 $ {d_0} $ $ {a_0}{d_0} $ 0 0 $ {a_3} $ 0 0 $ {d_3} $ $ {a_3}{d_3} $ 0 0 1 $ {a_0} $ $ {a_1} $ 0 $ {d_1} $ $ {a_0}{d_1} $ $ {a_0}{d_0} + {a_1}{d_1} $ 0 $ {a_3} $ $ {a_4} $ 0 $ {d_4} $ $ {a_3}{d_4} $ $ {a_3}{d_3} + {a_4}{d_4} $ 0 2 $ {a_0} $ $ {a_1} $ $ {a_2} $ $ {d_2} $ $ {a_0}{d_2} $ $ {a_0}{d_1} + {a_1}{d_2} $ $ {a_0}{d_0} + {a_1}{d_1} + {a_2}{d_2} $ $ {a_3} $ $ {a_4} $ $ {a_5} $ $ {d_5} $ $ {a_3}{d_5} $ $ {a_3}{d_4} + {a_4}{d_5} $ $ {a_3}{d_3} + {a_4}{d_4} + {a_5}{d_5} $ 3 $ {a_0} $$ {a_0} $ $ {a_1} $ $ {a_2} $ $ {d_3} $ $ {a_0}{d_3} $ $ {a_0}{d_2} + {a_1}{d_3} $ $ {a_0}{d_1} + {a_1}{d_2} + {a_2}{d_3} $ $ {a_3} $ $ {a_4} $ $ {a_5} $ $ {d_6} $ $ {a_3}{d_6} $ $ {a_3}{d_5} + {a_4}{d_6} $ $ {a_3}{d_4} + {a_4}{d_5} + {a_5}{d_6} $ 4 $ {a_0} $ $ {a_1} $ $ {a_2} $ $ {d_4} $ $ {a_0}{d_4} $ $ {a_0}{d_3} + {a_1}{d_4} $ $ {a_0}{d_2} + {a_1}{d_3} + {a_2}{d_4} $ $ {a_3} $$ {a_3} $ $ {a_4} $ $ {a_5} $ $ {d_7} $ $ {a_3}{d_7} $ $ {a_3}{d_6} + {a_4}{d_7} $ $ {a_3}{d_5} + {a_4}{d_6} + {a_5}{d_7} $ 5 $ {a_0} $ $ {a_1} $ $ {a_2} $ $ {d_5} $ $ {a_0}{d_5} $ $ {a_0}{d_4} + {a_1}{d_5} $ $ {a_0}{d_3} + {a_1}{d_4} + {a_2}{d_5} $ $ {a_3} $$ {a_3} $ $ {a_4} $ $ {a_5} $ $ {d_8} $ $ {a_3}{d_8} $ $ {a_3}{d_7} + {a_4}{d_8} $ $ {a_3}{d_6} + {a_4}{d_7} + {a_5}{d_8} $ 6 $ {a_6} $ $ {a_1} $ $ {a_2} $ $ {d_6} $ $ {a_6}{d_6} $ $ {a_0}{d_5} + {a_1}{d_6} $ $ {a_0}{d_4} + {a_1}{d_5} + {a_2}{d_6} $ $ {a_9} $ $ {a_4} $ $ {a_5} $ $ {d_9} $ $ {a_9}{d_9} $ $ {a_3}{d_8} + {a_4}{d_9} $ $ {a_3}{d_7} + {a_4}{d_8} + {a_5}{d_9} $ 7 $ {a_6} $ $ {a_7} $ $ {a_2} $ $ {d_7} $ $ {a_6}{d_7} $ $ {a_6}{d_6} + {a_7}{d_7} $ $ {a_0}{d_5} + {a_1}{d_6} + {a_2}{d_7} $ $ {a_9} $ $ {a_{10}} $ $ {a_5} $ $ {d_{10}} $ $ {a_9}{d_{10}} $ $ {a_9}{d_9} + {a_{10}}{d_{10}} $ $ {a_3}{d_8} + {a_4}{d_9} + {a_5}{d_{10}} $ 8 $ {a_6} $ $ {a_7} $ $ {a_8} $ $ {d_8} $ $ {a_6}{d_8} $ $ {a_6}{d_7} + {a_7}{d_8} $ $ {a_6}{d_6} + {a_7}{d_7} + {a_8}{d_8} $ $ {a_9} $ $ {a_{10}} $ $ {a_{11}} $ $ {d_{11}} $ $ {a_9}{d_{11}} $ $ {a_9}{d_{10}} + {a_{10}}{d_{11}} $ $ {a_9}{d_9} + {a_{10}}{d_{10}} + {a_{11}}{d_{11}} $ 9 $ {a_6} $ $ {a_7} $ $ {a_8} $ $ {d_9} $ $ {a_6}{d_9} $ $ {a_6}{d_8} + {a_7}{d_9} $ $ {a_6}{d_7} + {a_7}{d_8} + {a_8}{d_9} $ $ {a_9} $ $ {a_{10}} $ $ {a_{11}} $ $ {d_{12}} $ $ {a_9}{d_{12}} $ $ {a_9}{d_{11}} + {a_{10}}{d_{12}} $ $ {a_9}{d_{10}} + {a_{10}}{d_{11}} + {a_{11}}{d_{12}} $ 10 $ {a_6} $ $ {a_7} $ $ {a_8} $ $ {d_{10}} $ $ {a_6}{d_{10}} $ $ {a_6}{d_9} + {a_7}{d_{10}} $ $ {a_6}{d_8} + {a_7}{d_9} + {a_8}{d_{10}} $ $ {a_9} $ $ {a_{10}} $ $ {a_{11}} $ $ {d_{13}} $ $ {a_9}{d_{13}} $ $ {a_9}{d_{12}} + {a_{10}}{d_{13}} $ $ {a_9}{d_{11}} + {a_{10}}{d_{12}} + {a_{11}}{d_{13}} $ 11 $ {a_6} $ $ {a_7} $ $ {a_8} $ $ {d_{11}} $ $ {a_6}{d_{11}} $ $ {a_6}{d_{10}} + {a_7}{d_{11}} $ $ {a_6}{d_9} + {a_7}{d_{10}} + {a_8}{d_{11}} $ $ {a_9} $ $ {a_{10}} $ $ {a_{11}} $ $ {d_{14}} $ $ {a_9}{d_{14}} $ $ {a_9}{d_{13}} + {a_{10}}{d_{14}} $ $ {a_9}{d_{12}} + {a_{10}}{d_{13}} + {a_{11}}{d_{14}} $ 12 $ {a_{12}} $ $ {a_7} $ $ {a_8} $ $ {d_{12}} $ $ {a_{12}}{d_{12}} $ $ {a_6}{d_{11}} + {a_7}{d_{12}} $ $ {a_6}{d_{10}} + {a_7}{d_{11}} + {a_8}{d_{12}} $ $ {a_{15}} $ $ {a_{10}} $ $ {a_{11}} $ $ {d_{15}} $ $ {a_{15}}{d_{15}} $ $ {a_9}{d_{14}} + {a_{10}}{d_{15}} $ $ {a_9}{d_{13}} + {a_{10}}{d_{14}} + {a_{11}}{d_{15}} $ 13 $ {a_{12}} $ $ {a_{13}} $ $ {a_8} $ $ {d_{13}} $ $ {a_{12}}{d_{13}} $ $ {a_{12}}{d_{12}} + {a_{13}}{d_{13}} $ $ {a_6}{d_{11}} + {a_7}{d_{12}} + {a_8}{d_{13}} $ $ {a_{15}} $ $ {a_{16}} $ $ {a_{11}} $ $ {d_{16}} $ $ {a_{15}}{d_{16}} $ $ {a_{15}}{d_{15}} + {a_{16}}{d_{16}} $ $ {a_9}{d_{14}} + {a_{10}}{d_{15}} + {a_{11}}{d_{16}} $ 14 $ {a_{12}} $ $ {a_{13}} $ $ {a_{14}} $ $ {d_{14}} $ $ {a_{12}}{d_{14}} $ $ {a_{12}}{d_{13}} + {a_{13}}{d_{14}} $ $ {a_{12}}{d_{12}} + {a_{13}}{d_{13}} + {a_{14}}{d_{14}} $ $ {a_{15}} $ $ {a_{16}} $ $ {a_{17}} $ $ {d_{17}} $ $ {a_{15}}{d_{17}} $ $ {a_{15}}{d_{16}} + {a_{16}}{d_{17}} $ $ {a_{15}}{d_{15}} + {a_{16}}{d_{16}} + {a_{17}}{d_{17}} $ ··· ······ ······ 表 3 捕获模块资源消耗
资源类型 使用数量 硬件总资源 占比/% CLB LUT 25 615 522 720 4.90 CLB Register 24 452 1 045 440 2.34 Block RAM 20 984 2.04 DSPs 114 1 968 5.79 表 4 捕获参数配置
信号 相干积分时间/ms 非相干次数 FFT点数 B1I 2 10 64 B1C 8 2 256 B2a 4 4 128 B2b 1 20 64 B3I 2 10 64 L1CA 8 2 256 L5C 8 2 256 E1OS 8 2 256 E5a 8 2 256 G1 8 2 256 表 5 捕获结果
信号 单星最长捕获时间/ms 捕获成功率/% 多普勒分辨率/Hz B1I 29.6 99.0 125.00 B1C 23.8 98.4 31.25 B2a 37.7 97.6 62.50 B2b 41.6 96.8 125.00 B3I 41.2 97.8 125.00 L1CA 23.6 99.2 31.25 L5C 37.4 97.8 31.25 E1OS 23.9 98.2 31.25 E5a 37.2 97.6 31.25 G1 20.7 99.4 31.25 -
[1] 谢钢. 全球导航卫星系统原理[M]. 北京: 电子工业出版社, 2013. [2] 谢钢. GPS原理与接收机设计[M]. 北京: 电子工业出版社, 2017. [3] STIRLING-GALLACHER R A, HULBERT A P, POVEY G J R. A fast acquisition technique for a direct seqence spread specrum signal in the presence of a large doppler shift[C]//The ISSSTA'95 International Symposium on Spread Spectrum Techniques and Applications, 1996. DOI: 10.1109/ISSSTA.1996.563761 [4] HOLMES J K. GNSS与无线通信中的扩频系统[M]. 陈军, 刘义, 唐卓, 等译. 北京: 电子工业出版社, 2013: 324-335. [5] 陈景昭. 基于ZYNQ的卫星导航信号快速捕获算法研究与实现[D]. 石家庄: 河北科技大学, 2019. [6] 孙斌. 基于PMF-FFT快速捕获算法的研究与实现[D]. 哈尔滨: 哈尔滨工业大学, 2011. [7] 王义强. 高灵敏度卫星导航接收机捕获跟踪技术研究[D]. 北京: 北方工业大学, 2017. [8] 吴征. 北斗卫星导航仿真系统中快速捕获算法的实现[D]. 西安: 西安电子科技大学, 2019. [9] 王晓君, 张子奇, 李影. 基于PCO+FFT的B1C导航信号捕获算法[J]. 河北科技大学学报, 2021, 41(6): 486-492. [10] 盛志超, 秦瑾, 周勃, 等. 基于频域差分的“北斗”三号信号快速捕获算法[J]. 电讯技术, 2020, 60(8): 928-935. DOI: 10.3969/j.issn.1001-893x.2020.08.011