朱正鹏 熊 焱 朱旭锋 王苑瑾 杨文良
北京航天自动控制研究所,北京100854
随着我国北斗卫星导航系统的全面建设,世界各国都将研制可同时提供美国GPS、俄罗斯GLONASS、欧洲Galileo和我国北斗导航信号的多系统多体制的模拟器技术提上日程。GNSS中频信号模拟器可以根据设置的载体运动状态、导航卫星状态、信号传播环境等,精确产生GNSS中频信号,是导航系统仿真验证与测试评定系统的重要组成部分,与卫星导航接收机(软件接收机)等一起实现对卫星导航系统信号体制和信号接收方法及性能的验证,为后续卫星导航系统的论证和发展提供研究和试验平台[1]。
目前国内外研制的中频信号模拟器主要有3种:软件模拟器、采集回放模拟器和硬件模拟器。软件模拟器主要基于Matlab等软件平台开发实现,该方法精度高、成本低、易于实现,但需要提前生成信号,无法实时应用。采集回放模拟器基于实际卫星导航信号采集并存储,在应用时回放数据。该方法可以模拟真实环境导航信号,但应用灵活性差。硬件模拟器由上位机软件和导航信号生成硬件板卡构成,导航信号参数由上位机软件计算生成,信号调制由硬件板卡实现,该方法精度高、可以实时模拟各类动态场景,但是技术复杂,实现难度高[2]。
本文采用软件无线电架构方法,研制了一种GNSS中频信号硬件模拟器,配合基带数据生成设备及射频前端电路可模拟产生实际GNSS导航卫星播发的导航信号,为导航接收机的调试和测试提供一种能够再现的、可控的仿真信号源,也可以用于系统级仿真试验,支持不同动态情况对导航信号接收和信息处理的影响分析,对于我国自主研发导航信号体制的验证有着非常重要的现实意义。
不同GNSS系统播发的信号调制模式各不相同,对于目前常用的DSSS(直接序列扩频)+UQPSK(非均衡四相相移键控)调制,信号的数学模型由同相I和正交Q两路组成,如式(1)和式(2)所示[3]。
SI(t)=ACC(t-τ)D(t-τ)cos[(ωIF+ωd)t+
φ(t)]-APP(t-τ)G(t-τ)sin[(ωIF+
ωd)t+φ(t)]
(1)
SQ(t)=ACC(t-τ)D(t-τ)sin[(ωIF+ωd)t+
φ(t)]+APP(t-τ)G(t-τ)cos[(ωIF+
ωd)t+φ(t)]
(2)
式(1)和式(2)中,C为普通测距码,P为精密测距码,AC、AP分别为对应C码和P码的信号强度,D为C码导航电文,G为P码导航电文,τ为伪码延时,ωIF为中频信号的中心频率,ωd为载波的多普勒频移,φ(t)为载波相位。
模拟器产生的射频信号数学模型:
(3)
式(3)中,PI、PQ分别为到达天线的射频信号中I支路和Q支路信号功率。ωRF为卫星发射信号的中心频率,其余参数含义与式(1)和式(2)相同。
对于GPS L1信号,式(1)~(3)式中的AP、PQ均为0。
式(1)~(3)为单颗卫星的信号,模拟器输出的中频和射频信号是模拟所有可见卫星产生的信号之和:
(4)
(5)
(6)
式(4)~(6)中,式(4)和式(5)分别为模拟器I路和Q路中频模拟信号,式(6)为射频模拟信号,N代表可见卫星总数。
“对此,我们经常有一个误区,是做推拿和按摩。因为腰椎管狭窄症最主要的始发因素是腰肌劳损,所以有些患者可能进行推拿按摩以后感觉到局部舒服一点,但恰恰腰椎不稳定以及黄韧带肥厚和增生或者腰椎滑脱的病人在推拿和按摩的过程中,这种不稳定的因素会加剧,反而会增加这种疼痛和症状,所以我们一般不主张推拿和按摩。还有一个误区,就是补钙。因为大家想着,腰椎管狭窄症是不是骨头发生病变了?骨头发生变化一般就是骨质疏松,那就需要补钙,但补钙对腰椎管狭窄症并没有直接的作用。”
按照上节数学表达式可以实现一种模拟器中频调制方案,如图1所示。该调制方案首先产生单颗卫星的数字中频信号,然后所有可见卫星的中频信号合为一路输出,再通过数字上变频,数模转换,低通滤波后输出I、Q两路模拟中频信号,最后经过正交上变频成为实际射频信号[4]。
图1 模拟中频信号产生模型
模拟器首先产生的是单颗卫星的I、Q两路数字中频信号,各颗卫星的信号产生结构相同,卫星信号参数由各个寄存器中的数值控制。单颗卫星信号产生结构如图2所示,由控制寄存器、码NCO、码发生器、历元计数器、扩频调制器、乘法器、载波NCO和正交调制器组成[5]。
图2 信号产生通道结构
码NCO:在系统时钟驱动下对码频率控制字进行累加,累加器溢出时,产生持续一个系统时钟周期的码时钟,用于驱动码发生器和历元计数器。
C码发生器:由移位反馈寄存器组成,在码时钟的驱动下产生伪随机码,可根据卫星ID控制字改变反馈抽头或移位寄存器初始相位。
历元计数器:对码时钟进行计数,在计数满一个码周期时计数器清0,同时产生导航电文移位时钟。
扩频调制器:将伪随机码与导航电文进行异或运算后输出。
乘法器:控制I、Q两路信号的幅度。
载波NCO:产生两路互相正交的数字载波。
正交调制器:将基带数据调制到两路正交数字载波上。
模拟器可同时模拟产生12颗导航卫星信号,信号数字合成部分相应的有12个信号通道,每个通道产生对应某颗卫星的I、Q两路数字中频信号。将这些相互独立的数字中频信号相加,并调整信号的幅度和位宽,形成单路输出,这就是数字信号合路,其结构如图3所示。信号通道产生的I、Q两路信号需要各自分别合路,故实际上存在2个图3所示的合路模块,分别完成I、Q两路信号的合路。
图3中对于12路信号的相加,采用了加法器进行逐级相加的方案。每进行一次加法运算,数据位宽需要增加一位,以避免数据溢出。单个信号通道的输出数据的位宽是16,四次相加之后数据位宽为20。一般情况下,可见卫星数小于12,此时没有产生可见卫星信号的信号通道输出为0。为使信号合路输出幅度不随可见卫星数变化而改变,模块将各通道相加的结果乘以幅度控制字来进行调整。幅度控制字的位宽为16,与通道相加之和相乘后数据位宽为36。根据后端D/A转换器位宽限制,通道合路的结果取16位宽度。
在FPGA中采用直接数字合成技术(DDS)产生数字载波以实现对模拟器载波多普勒的动态模拟。FPGA主时钟为90MHz,若使用DDS直接产生46MHz左右的中频载波,会在后端D/A转换器输出的信号中产生较大的杂散分量,不利于高质量信号的产生。本文采用低中频和I,Q正交调制方案可以使中频载波频率不受信号带宽限制,避免信号产生频谱混叠。以I、Q两路输出的模拟中频信号可在射频电路部分进行正交上变频,这种方案可有效抑制镜像频谱的产生,降低对射频信号滤波器的设计要求,而且使得不同载频的信号在变频方案上能够统一。
图3 数字合路模块
为产生规定频点上的中频信号并减少信号频谱中的杂散分量,本文采取两次数字正交调制的方法将基带信号频谱搬移到规定的频点上。
如图4所示的信号产生通道中的正交调制器将基带信号调制到频率较低(1.4MHz左右)的载波上,通过改变该载波的频率以模拟卫星信号的多普勒频移。合路后的I、Q两路数字中频信号由FPGA输出给专用D/A上变频芯片,将信号频谱搬移到所设定的更高的中频频点(46MHz左右)上。
图4 数字上变频实现方式
图4模拟器产生的I、Q两路模拟中频信号经过模拟上变频,带通滤波,增益控制、衰减网络后输出射频信号,该信号用于模拟到达接收机天线端的卫星信号。
图5 模拟器射频前端电路结构
单颗卫星(GPS)I、Q两路中频信号仿真结果如下图6所示,图示波形从上至下分别为:系统时钟、CA码时钟,CA码、I路历元计数、I路导航电文、I路基带数据、同相载波、正交载波、I路中频信号、Q路中频信号。
数字信号合路是将多个卫星信号通道的I、Q数字中频信号分别相加再输出。图7显示4个信号通道相加的仿真结果。从上至下为:1至4信号通道的I路信号,合路后I路信号,1至4信号通道的Q路信号,合路后Q路信号。
如图8所示,模拟器通过RS232高速串口接收上位机发送的卫星观测数据,DSP根据这些观测数据计算出特定时刻的卫星信号状态,生成信号状态控制字,存储在FIFO中,FPGA每隔20ms从FIFO读取1次控制字,存储在内部的状态控制寄存器中,FPGA内部的数字波形合成模块每隔20ms从状态寄存器中加载控制字,产生I、Q两路数字中频信号,作为数字上变频芯片的输入,进行数字正交上变频,输出仍为I、Q两路数字中频信号,经过数模转换,产生I、Q两路模拟中频信号,最后经低通滤波后作为模拟器的模拟中频信号输出。模拟器的模拟中频信号经过射频前端电路,进行正交上变频、带通滤波、增益控制、功率衰减后,作为模拟器的射频信号输出。
图6 单颗卫星(GPS)I、Q两路中频信号仿真结果
图7 四通道中频信号合路仿真结果
图8 模拟器实现框图
DSP芯片用于根据卫星观测数据计算相应的卫星信号状态控制字,选用国产化DSP芯片FT-C6713J/400。FPGA接收DSP卫星信号状态控制字,产生数字中频信号,选用XC7K410T-1FFG900I(配置芯片选择N25Q128A13ESE40)。D/A转换模块同时实现数字上变频和数模转换,选用AD公司的AD9777,模拟器使用2片AD9777,可同时模拟2种体制的导航卫星信号。
FPGA内部状态机每隔1s向上位机软件发出1次请求指令。上位机软件检测到该指令后通过RS232串口向DSP外接SDRAM发送卫星观测数据。DSP根据卫星观测数据计算出信号状态控制字,写入FPGA内部FIFO,并在所有控制字写入完毕后通知FPGA。在下一个1s计时脉冲来临前,FIFO中的信号状态控制字被FPGA内部模块读出并写入到状态控制寄存器中,信号状态控制字每隔20ms就从FIFO读出,加载到FPGA内部的数字波形合成模块[6]。
信号状态控制字中的导航电文由DSP计算产生并按电文帧格式组织通过EMIF总线并行发送到FPGA的FIFO中。而FPGA数字波形合成模块读取导航电文是按比特以50Hz导航电文速率进行。如图9所示,为保证信号状态控制字及导航电文实时更新,实现数据无缝处理,模拟器采用2个FIFO构成乒乓结构,通过输入输出选择模块,控制2个FIFO交替读写。
图9 双FIFO访问时序
模拟器的测试包括中频信号测试和射频信号测试。在中频测试阶段,通过观察信号的波形和频谱来验证数字上变频过程,输出I、Q信号的幅度一致性和相位正交性。图10为模拟器输出单通道I、Q两路正交载波波形及频谱。图11为模拟器输出4通道合路信号波形及频谱。
图10 模拟器输出两路正交载波
图11 模拟器输出4通道合路中频信号
模拟器输出的GPS中频信号经数据采集卡采集存储后,截取其中的1ms数据用Matlab进行FFT捕获,捕获结果如图12所示,从图中可以看出捕获结果的主峰、边峰以及底噪的影响。
图12 GPS信号FFT捕获结果图
用GPS接收机验证本文模拟器射频信号得到定位结果如图13所示。接收机显示UTC时刻为00:08:39,03/31/2018,可见星为3、5、6、7、10、27号星,定位结果为22.315265E,0.000011N,高度98.7m。上述接收机定位结果与模拟器设定的参数相符。
图13 接收机定位结果图
GNSS中频信号模拟器在FPGA中实现数字波形合成,使用专用芯片完成数字上变频,利用DSP计算各信号状态,通过RS232高速总线实现与上位机软件之间的数据传输。通过对模拟器输出信号的观测和信号采集捕获的结果分析,该模拟器可以满足测试GNSS信号接收机的捕获、跟踪以及定位性能的需求。本文所采用的基于软件无线电的平台架构能够兼容多个GNSS系统、多种信号结构形式,为我国新一代卫星导航系统提供了验证和评估手段。