基于PCO+FFT的B1C导航信号捕获算法
2020-12-23王晓君张子奇李影
王晓君 张子奇 李影
摘 要: 为了对采用BOC调制的B1C导航信号进行捕获,提出了基于PCO+FFT的导航信号捕获算法。首先,在深入分析B1C信号特点的基础上,对分段长度和FFT点数进行选择;其次,从相干积分增益、非相关积分增益、多普勒测频范围与测频分辨率、检测概率等几个方面对该算法进行了深入地推导;再次,给出基于新算法的FPGA实现方案;最后,通过仿真验证算法的有效性。在FPGA硬件平台上进行实测的结果显示了方案的正确性。将副载波剥离的方式以及基于状态机的控制核心的实现思路可为导航信号捕获算法的改进提供参考。
关键词: 无线通信技术;B1C信号;PCO;FFT;捕获;性能分析;算法实现
中图分类号:TN961文献标识码: A
doi:10.7535/hbkd.2020yx06002
B1C navigation signal acquisition algorithm based on PCO+FFT
WANG Xiaojun1,ZHANG Ziqi1,LI Ying2
(1. School of Information Science and Engineering, Hebei University of Science and Technology, Shijiazhuang, Hebei 050018, China; 2. Shijiazhuang Institute of Posts and Telecommunications, Shijiazhuang, Hebei 050018, China)
In order to capture the B1C navigation signal with BOC modulation, a specific acquisition scheme of PCO+FFT was proposed. Firstly, based on in-depth analysis of the characteristics of B1C signal, the segment length and FFT points were selected. Secondly, the algorithm was derived from coherent integral gain, uncorrelated integral gain, Doppler frequency measurement range and resolution, and detection probability. Thirdly, the FPGA implementation scheme based on the algorithm was given. Finally, the simulation performance of the algorithm was given to illustrate the effectiveness of the algorithm. The correctness of the implementation scheme is verified by the actual measurement on the FPGA hardware platform. The method of sub carrier separation and the realization of control core based on state machine have certain reference value for the improvement of navigation signal acquisition algorithm.
wireless communication technology; B1C signal; PCO; FFT; acquisition; performance analysis; algorithm implementation
B1C信号属于北斗卫星导航系统(BeiDou navigation satellite system,BDS)中的北斗三号卫星导航信号。2017年末,中国卫星导航系统办公室发布了B1C信号的空间接口文件。2020-06-23,最后一个北斗卫星发射成功并且组网完成,标志着北斗三号全球卫星导航系统星座部署全面完成。
与之前的北斗二号不同的是,B1C属于新体制信号,采用二进制偏移载波(binary offset carrier, BOC)类型信号,且包含数据分量和导频分量2个部分。其中,数据分量采用BOC(1,1)调制方式,导频分量采用正交复用二进制偏移载波(quadrature complexed BOC, QMBOC)调制方式,二者的功率比为1∶3。由于BOC/MBOC类信号的特性,使得导航信号的功率谱密度存在多个主瓣和旁瓣,且伪码的自相关函数存在副峰,这会给信号的捕获带来模糊性问题[1]。
文献[2]提出用3路并行相关器的捕获算法消除BOC调制的副峰问题,可以消除BOC调制引起的副峰情况,但是需要额外的相关器,不利于硬件实现。文献[3]提出了构建辅助函数对相关结果进行处理最后消除自相关副峰的捕获算法,但是需要对码相位和多普勒进行二位搜索,增加了捕获时间。文献[4]通过滤波器对信号的某一频谱边带进行滤除以达到消自相关副峰的目的,不仅额外增加了硬件开销,而且由于滤除边带导致失去了BOC类调制的自相关峰更尖锐的优势。因此,设计恰当的捕获算法具有很重要的意义和使用价值。
由于B1C信号的数据分量功率占比较小,且考虑到民用接收机对于性能的要求,本文提出了一种采用分段相关(piecewise correlation operation, PCO)结合快速傅里叶变换(fast Fourier transform, FFT)测频相结合的捕获算法,仅对导频分量进行捕获[5]。本算法在频率方面采用并行搜索的方式,很大程度上缩短了对同一码相位不同频率的搜索时间;对副载波进行4路剥离的方式消除了副载波带来的捕获模糊性问题;采用固定时间相干积分与不同次数的非相干积分相结合的方法,對低信噪比环境下信号的捕获有着良好的适应能力[6]。
本文从算法的原理出发,首先对其分段段数、FFT点数的选择以及非相干积分次数等重要参数的设定进行详细论述;其次给出基于FPGA的硬件实现方案,并对本算法的性能进行仿真;然后将本文算法同目前经典的BPSK-LIKE和ASPeCT算法进行对比;最后对硬件实现的结果进行验证[7]。
1 算法原理
1.1 算法描述
从射频前端传送来的B1C中频信号可表示为
s(t)=A·(12DB1C_data(t)·CB1C_data(t)·sign(sin(2πfsc_B1C_at))+ 111CB1C_pilot(t)·
sign(sin(2πfsc_B1C_bt))+j2944
CB1C_pilot(t)·sign(sin(2πfsc_B1C_at)))·
cos(fIF+fd)+n(t),
式中:A为振幅;D(t)为数据码,仅在数据分量播发;C(t)为卫星播发的伪码,导频分量和数据分量伪码不同;sign(sin(2πfsc_B1Ct))为不同频率分量的副载波;fsc_B1C_a为1.023 MHz;fsc_B1C_b为6.138 MHz;fIF为中频信号频率;fd为多普勒频移;n(t)为噪声[8]。
针对B1C信号的特点,设计了基于PCO+FFT的捕获算法,算法原理框图如图1所示。其基本原理是将来自射频前端的数字中频信号经过本地载波信号混频并略去高频分量,得到零中频信号。将1个码周期内信号点数P(B1C信号,1个主码周期10 ms,P=10 230,为实现分段整除补0为10 240点)分为K段,每段L点。将K段数据每次位移1个数据点,然后逐段与本地码分段做相关运算,可得到某个特定搜索相位下的K个相关值,将K个相关值进行补0至N点的FFT运算。选择FFT处理输出中幅值最大的峰值与预设的门限进行比较,最终得到多普勒频移及伪码相位的估计值。
其中,分段相关运算,即将整周期的本地伪码和导航信号均进行平均划分成段,并对每段进行相关运算,其效果等同于对信号进行了部分匹配滤波(partial matched filtering,PMF)。若此时的伪随机码和输入信号的伪码同相位,则它们在模二运算之后就只有残留的多普勒频偏及副载波[9]。
由于分段的概念等同于对信号进行采样,所以此时的运算结果包含频率信息。当得到分段相关的结果后,对结果做FFT运算进行频谱分析,可以获得输入信号的多普勒频移值fd。因此1次循环运算,就可以得到码相位和多普勒频移,很大程度上减少了捕获所需要的时间,提高了捕获效率。
副载波是sign函数,剥离载波后,残留的副载波会导致捕获峰值模糊度出现问题。由BOC信号的自相关函数可知,只有当本地副载波与导航信号副载波对齐才能产生最大的相关峰。由于信号的码相位具体情况未知,本算法采用4路并行操作的方法,在数据降速时,将降速的数据分成4路输出,分别对应于各相差90°的副载波,实现了在对数据进行降采样的同时也剥离了副载波,方法如图2所示。
1.2 分段长度与FFT点数的选择
因为B1C信号的主码速率为1.023 MHz,码周期长P=10 230(10 ms),在1个主码周期内,数据位不发生跳变,故可设置最长的相干积分时间为10 ms。为工程实现方便,将10 ms内数据10 230点补0为10 240点。设分段的段数为K,每段数据长度L,则有P=KL,FFT点数M取与L最靠近的2的整数次幂。表1给出了不同分段参数下多普勒估计范围和多普勒测频分辨率的对应表。不同的分段数和段内点数对多普勒频偏估计的影響不同[10],基本上分段数K越大,其多普勒频偏的估计范围也越大,但同时需要的FFT点数也越多,这是对实现不利的方面。综合考虑指标要求,当采用K=64,L=160,M=256时,从多普勒频偏测量指标及工程实现的资源占用情况看,既能满足民用接收机对动态的要求,同时实现的代价又可以接受[11]。
本算法的运算量主要集中在相关运算和FFT运算。
OM=(P2+M2 logM2·P)·N,
OA=(P2+M logM2·P)·N,
式中:OM为乘法运算量;OA为加法运算量;P为总点数;M为FFT点数;N为非相干积分次数。
1.3相干积分增益与非相干积分增益计算
相干积分是提高信号信噪比的关键所在,要尽可能地增加相干积分时间Tcoh以获得信噪比增益[12]。根据B1C码的周期特性,最合理的相干积分时间Tcoh应为其主码周期10 ms。在信号进入相关器之前,信噪比为SNRpd,B1C信号射频前端的噪声带宽Bpd一般选为4.096 MHz,由于噪声是宽带信号且相干积分器的滤波带宽为1/Tcoh,因此信号经过相关器后噪声带宽从Bpd下降到1/Tcoh。由于有用信号功率不变,噪声功率降低,使得经过相干积分器后信号信噪比增加,其增值为
Gcoh=10 lgBpd1/Tcoh=10 lg4.092×106100=46.1 dB。
将分段相关的结果进行补0做256点FFT之后,经过多次平方得到信号的相关检测值V2,其实质是对信号进行多次非相干积分[13]。设计中主要通过增加非相干积分次数以增加B1C信号的信噪比。假定非相干积分次数为N,其获得的增益为
GNC=10 lg N。
非相干积分存在一定的平方损耗[14],N次非相干积分的损耗LSQ(N)为
LSQ(N)=10 lg 1+1+9.2N/Ds(1)1+1+9.2/Ds(1) dB,
式中Ds(1)表示1次非相干积分的损耗。从而可得非相干积分增益Gnc为
Gnc=GNC-LSQ。
设计中当捕获信号的虚警概率Pfa为10-6、信号检测概率Pd为0.9时,Ds(1)约为18.2 dB,选取非相干积分次数N分别为4,8和16时,经过多次非相干积分后获得的增益分别约为5,7.4,10.2 dB。
1.4 门限确定方法
将4路通道的多次非相干积分后的检测量Vi(i=1,2,3,4)与设定好的捕获门限值Vt比较,如果有1路检测量Vi大于Vt,则信号捕获成功。在导航信号的检测中,采用的是恒虚警的奈曼-皮尔逊准则,在工程中,一般选Pfa=10-6。捕获门限值Vt的设定,就是在恒虚警的前提下反推出来的[15],一般在工程中,采用Monte Carlo统计的方法得到门限。检测量V为
V=1N∑Nn=1|Xn|2,
式中Xn为第n次相干积分的结果,为复数,其实部和虚部均服从高斯分布N(0,σ2),|Xn|2代表其模方。当不存在卫星导航信号时,检测量V为
V~σ2χ2(2N),
即服从自由度为2N的σ2χ2(N)分布[16]。当N较大时,可用高斯分布近似表示卡方分布,其概率密度函数为
fn(v)=12πσvexp(-(v-E(v))22σ2v), (1)
式中:E(v)=2Nσ2, σ2v=4Nσ2。
设捕获虚警率Pfa为10-6,所对应的检测门限值为Vt,则:
Pfa=∫+∞Vtfn(v)dv。 (2)
故通过式(2)是可以反推门限的。将式(1)代入式(2),有
Pfa=∫+∞Vt12πσv
exp(-(v-E(v))22σ2v)dv=
∫+∞v-E(v)σv
12π
exp(-v22)dv=
Q(v-E(v)σv)。
式中Q函数为标准正态分布的右尾函数,用Q-1来表示其逆,则可将门限值Vt表示为
Vt=Q-1(Pfa)·σv+E(v)。
门限值Vt是将卡方分布近似成高斯分布得到的,它与真实值存在一定的误差,如上所述,误差的大小可以通过实际仿真得到。
2 基于FPGA的算法实现要点
2.1 模块划分
基于前述算法,本文给出一种基于FPGA的实现框图,如图3所示。采用流水线实现结构,在中心控制器的统一控制下,各模块依次完成各自的处理。
1)下变频(DDC) 数字中频信号分别与本地载波NCO产生本振信号的同相、正交信号相乘,完成下变频处理,从而实现载波剥离,输出数字基带信号。
2)降速模块(ACC) 先剥离副载波,然后在码钟的控制下,将数字基带信号的数据点进行合并,输出与码速率相同的降速后的数据。
3)数据缓冲区(Cache) 降速后的数据存储区,实现对输入数据的环形存储,缓冲最近输入的N+1次非相干长度的数据。
4)分段相关运算(PCO)模块 分段相关运算器的长度为L,基本操作是:从Cache中取出L长度数据,并与本地L长度伪码做相关运算。基本过程是:本地码先不动,数据逐点滑动L个相位,然后本地码换下一段,直到完成全部K段,实现L个相位的遍历,再重复上述过程K次,实现全部KL=P个相位遍历。
5)快速傅里叶变换(FFT)模块 在FFT IP核基础上,再封装一层控制逻辑而成,将某个相位的K个点(补0扩成M点)送入FFT核,完成多普勒频偏测量,最后对FFT结果做模方运算并输出。
6)门限判决模块(Detector) 将FFT模块输出的模方结果进行N次非相关积分,然后与设定的门限进行比较,超过門限则宣告捕获成功。
7)核心控制模块(Control) 整个捕获模块的控制核心,基于状态机转移算法调控各功能模块的运转。
2.2 核心控制模块
核心控制模块是整个捕获算法的中心,是基于状态机机制实现的。图4给出核心控制模块的状态机转移图,可辅助理解整个算法实现的思路。
图4中S0—S7解释如下。
S0:待机状态,当复位或系统总使能关闭时均处于此状态,各模块也均处于待机状态;
S1:等待状态,系统准备就绪,等待捕获启动信号FC_start到来;
S2:准备状态,此状态缓冲降速后的数据;
S3:预读状态,将相关器及伪码寄存器内容均准备好,完成相关运算之前的一系列操作;
S4:相关运算状态,此状态为主状态,由相关器完成数据与伪码的分段相关运算;
S5:分段相关完成状态,是一个暂态,用来进行换段处理,若单段完成,换段之后继续返回S4,若M段数据全部相关运算完成,则进入S6;
S6:等待缓冲状态,由于相关运算速度和FFT流水运算速度不一致,需要等待二者均完成才能进行下一步操作,故在此状态进行等待;
S7:非相干积分结束状态,进入此状态则代表1次非相干积分完成,此时判断是否完成所有次数,尚未完成则转换至S3状态,否则返回到S1状态,代表捕获结束。在此期间若有结果高于门限,则直接回到S1状态,表示捕获已结束。
3 性能仿真分析
为了论证算法的有效性,由Matlab完成了全部算法过程的仿真,通过1 000次的蒙特卡洛实验得到捕获算法的检测概率(恒虚警Pfa=10-6条件下),并分析其捕获性能[17]。图5是设定多普勒为1 000 Hz,不同载噪比环境下各算法对B1C信号的导频分量的捕获概率示意图。由图5可知,对B1C信号进行捕获时,在载噪比达到36~37 dBHz及以上时各算法基本能够达到100%的捕获成功率;在载噪比为30~35 dBHz时,本文算法(PCO+FFT)的捕获成功率优于BPSK-LIKE算法,但低于ASPeCT算法。
为了研究不同多普勒频移对本文算法捕获性能的影响,设置载噪比为36 dBHz,多普勒频移为0~7 500 Hz,步长为500 Hz,仿真得到本文算法的捕获概率,如图6所示。由图6可知,随着多普勒频移的增加,捕获的概率随之下降,所以需要通过增加非相干积分次数来提升捕获概率。
图7给出本文算法在1 000 Hz多普勒频移时,一定范围改变载噪比[18]、非相干积分次数的环境下测得的捕获概率,其中nc1,nc2,nc4,nc8为不同的非相干积分次数。由图7可知,仿真结果与理论分析结果一致,且随着载噪比和非相干积分次数的增加,捕获性能越来越好[19]。因此,当输入信号确定时,可以通过不同的非相干积分次数提高捕获能力[20]。
4 结 语
本文提出了基于PCO+FFT的B1C信号快速捕获算法,针对B1C信号中的导频分量进行捕获,通过4通道剥离副载波的方式,消除BOC调制带来的捕获模糊性问题。该算法在基于FPGA工程得以实现后,达到了预期效果,满足了项目指标要求,是正确和有效的。
本文算法仅考虑了低动态环境下对B1C信号的捕获情况,且仅对导频分量的BOC(1,1)进行了处理,因而在后续的研究过程中需要对高动态等环境下的算法改进作进一步研究。
参考文献/References:
[1]叶旅洋. 北斗三号B1C信号模拟产生与性能分析[D]. 北京:中国科学院大学,2019.
YE Lvyang. Simulation Generate and Performance Analyse on BDS-3 B1C Signal [D]. Beijing: University of Chinese Academy of Sciences, 2019.
[2]李永虎. 新体制导航信号捕获跟踪技术的研究与实现[D]. 长沙:国防科学技术大学,2013.
LI Yonghu. Research and Implement of the Acquisition and Tracking for the New-Styled Navigation Signals [D]. Changsha: University of National Defense Science and Technology, 2013.
[3]JULIEN O, MACABIAU C, CANNON M E, et al. ASPeCT: Unambiguous sine-BOC(n,n) acquisition/tracking technique for navigation applications[J].IEEE Transactions on Aerospace and Electronic Systems, 2007, 43(1): 150-162.
[4]王淑君,易翔,孟建,等.BPSK-LIKE算法信号级仿真验证与分析[J].无线电通信技术,2012,38(6):65-68.
WANG Shujun,YI Xiang,MENG Jian,et al.Signal-level simulation and analysis of BPSK-LIKE algorithm[J].Radio Communications Technology,2012,38(6):65-68.
[5]潘毅,张天骐,张刚,等.高动态BOC信号捕获算法[J].通信学报,2019,40(6):82-89.
PAN Yi,ZHANG Tianqi,ZHANG Gang,et al.Acquisition algorithm for BOC signals in high dynamic environment[J].Journal on Communications,2019,40(6):82-89.
[6]刘亮,马忠强.带限QMBOC信号的加权匹配接收技术[J].无线电工程,2019,49(2):139-144.
LIU Liang,MA Zhongqiang.Weighted matching receiving technology of bandwidth-limited QMBOC signal[J].Radio Engineering,2019,49(2):139-144.
[7]冯瑞,马宏,任宇飞.B1C信号非匹配捕获研究[J].电子测量技术,2019,42(1):132-137.
FENG Rui,MA Hong,REN Yufei.Non-matching acquisition research of B1C signal[J].Electronic Measurement Technology,2019,42(1):132-137.
[8]馮瑞,马宏,任宇飞.B1C信号调制实现与性能分析[J].无线电工程,2019,49(2):95-100.
FENG Rui,MA Hong,REN Yufei.B1C signal modulation implementation and performance analysis[J].Radio Engineering,2019,49(2):95-100.
[9]刘敏洁. 基于BOC调制的卫星导航信号的捕获跟踪方法研究[D].西安:西安电子科技大学,2012.
LIU Minjie. Acquisition and Tracking for Satellite Navigation Signal Based on BOC Modulation [D]. Xian: Xidian University,2012.
[10]谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2009.
[11]刘少强,龚文飞,孙昕.一种 “北斗” B1 C信号无模糊捕获算法[J].电讯技术,2020,60(3):315-319.
LIU Shaoqiang,GONG Wenfei,SUN Xin.An unambiguous acquisition algorithm for BeiDou B1C signal[J].Telecommunication Engineering,2020,60(3):315-319.
[12]任宇飞. 北斗B1C信号高动态接收处理关键技术研究[D]. 北京:中国科学院大学,2019.
REN Yufei. Research on the Key Technology of Receiving and Processing the BDS B1C Signal under Highly Dynamic Environment [D]. Beijing: University of Chinese Academy of Sciences, 2019.
[13]LIN Caiyong, XU Can, XU Jieping. A matched-filter-based coherent integration method for passive bistatic radar using frequency-agile radar as the illuminator[J]. Journal of Physics: Conference Series,2019,1169(1): 012010.
[14]AKOPIAN D. Fast FFT based GPS satellite acquisition methods[J]. IEEE Proceedings on Radar, Sonar & Navigation, 2005,152(4):277-286.
[15]黎山. GPS软件接收机基带关键技术的研究与实现[D].广州:暨南大学, 2012.
LI Shan. Research and Realization of Key Technology of GPS Software Receiver[D]. Guangzhou: Jinan University, 2012.
[16]魏敬法,胡永辉,华宇.GPS接收机中采样平均技术的FPGA实现[J].时间频率学报,2004,27(1):16-22.
WEI Jingfa,HU Yonghui,HUA Yu.An averaging method of signal sampling realized with FPGA for GPS reciever[J].Journal of Time and Frequency,2004,27(1):16-22.
[17]何在民,胡永辉,魏敬法,等.基于FPGA的数字匹配滤波器的实现[J].时间频率学报,2008,31(2):114-120.
HE Zaimin,HU Yonghui,WEI Jingfa,et al.A digital matched filter realized based on FPGA[J].Journal of Time and Frequency,2008,31(2):114-120.
[18]魏敬法,胡永辉,李滚.基于SOPC的扩频接收机设计与实现[J].计算机工程,2009,35(18):224-226.
WEI Jingfa,HU Yonghui,LI Gun.Design and implementation of spread-spectrum receiver based on SOPC[J].Computer Engineering,2009,35(18):224-226.
[19]魏敬法.GNSS 軟件接收机算法验证平台设计与实现[J].通信技术,2013,46(3):110-114.
WEI Jingfa.Design and implementation of algorithm verification platform for GNSS software receiver[J].Communications Technology,2013,46(3):110-114.
[20]MCDONOUGH R N, WHALEN A D. Detection of Signals in Noise[M]. 2nd Ed.Amsterdam: Elsevier, 1995.