CN101261318B - 高动态扩频精密测距接收机 - Google Patents

高动态扩频精密测距接收机 Download PDF

Info

Publication number
CN101261318B
CN101261318B CN2008101033736A CN200810103373A CN101261318B CN 101261318 B CN101261318 B CN 101261318B CN 2008101033736 A CN2008101033736 A CN 2008101033736A CN 200810103373 A CN200810103373 A CN 200810103373A CN 101261318 B CN101261318 B CN 101261318B
Authority
CN
China
Prior art keywords
mrow
carrier
frequency
module
msub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101033736A
Other languages
English (en)
Other versions
CN101261318A (zh
Inventor
徐勇
李雪
常青
刘磊
张其善
吴鑫山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN2008101033736A priority Critical patent/CN101261318B/zh
Publication of CN101261318A publication Critical patent/CN101261318A/zh
Application granted granted Critical
Publication of CN101261318B publication Critical patent/CN101261318B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种高动态扩频精密测距接收机,采用灵活的现场可编程门阵列+数字信号处理的结构,实现全数字化操作;其主要包括FPGA及DSP两大模块;其中,FPGA具体包括硬件及软件的设计;DSP模块具体主程序、中断服务程序和环路处理程序三个组成部分。本发明的高动态扩频精密测距接收机,测距精度高,在通信中抗干扰能力高,测控精确。

Description

高动态扩频精密测距接收机
(一)技术领域:
本发明涉及一种高动态扩频精密测距接收机,属于航天测控通信技术领域。
(二)背景技术:
基于扩频技术的航天测控通信系统的核心是将伪码扩频、伪码测距、码分多址等数字通信技术引入到测控系统中,实现对卫星的遥测、遥控、测距、测速、跟踪、测角、数传等功能,完成测控任务,靠码分多址实现多目标测控通信。
无线电测距原理是测量无线电波的传输时延。首先发射无线电波,然后测量返回信号相对于发射信号的时延τ,从而计算出目标距离R。R与τ的关系为:R=τc/2,其中,c为无线电传播速度(光速)。因此,测距就是测传播时延τ。
伪码测距是根据伪码可复制且其自相关函数为冲击函数这一特点,来测定电波传播时延τ的。接收机在本机产生与发射信号相同的测距伪码,不断改变其相位,与带有噪声的接收信号进行相关计算,当相关函数出现尖锐的相关峰时,本地伪码就可完全替代接收信号,此时测量收发测距伪码之间的时延,就是电波传播时延τ。
相关的关键技术如下:
测距模式(方法):收发端的时钟存在时间和频率差,必须首先获得和(或)消除这一误差,才能得到正确的电波传播时延τ。通过采取选择不同的时差/频差处理方法,可以得到基于扩频技术的不同测距模式(方法),并显示出各自的优缺点。
扩频信号的同步和电波传播时延的测定:接收机需要在本机产生与发射信号相同的本地载波和本地伪码,并进一步从本地复现伪码的相位值中提取时延信息。可以利用锁频环、科斯塔斯环、延迟锁定环等方法实现扩频信号的同步。接收机在本地历元时刻采样本地复现伪码的码相位值,可以得到本机接收信号时刻相对于对方信号发射时刻的伪时延值,进一步处理后得到真正的传播时延。
测距精度误差及其测试:测量设备钟差及其变化、测量设备距离变化、测量设备固有的电波传播和信号处理时延、天线相位中心误差、以及接收机热噪声和动态应力等因素都会给最终的距离测量精度带来误差,在这些误差因素中,前4项属于系统误差,后一项属于随机误差。由于误差因素较多,很难一一分析,对于各种误差因素给距离测量带来的总误差的评估,可以利用相应的方法和检定设备进行测试,以确定该测量设备的测距精度等指标。
而在航天测控通信领域中,航天器的动态程度大,要求通信中抗干扰能力高,测控要求精确,因此研制一款高动态扩频精密测距接收装置亟待解决。
(三)发明内容:
本发明的目的在于提供一种高动态扩频精密测距接收机,以解决现有技术中的不足满足,以满足航天测控通信领域中,航天器的动态程度大,要求通信中抗干扰能力高,测控要求精确的要求。
本发明一种高动态扩频精密测距接收机,采用灵活的现场可编程门阵列+数字信号处理(即FPGA+DSP)的结构,实现全数字化操作。其主要包括FPGA及DSP两大模块。
1.FPGA硬件模块设计
FPGA模块采用自顶向下的设计方法,按照外部接口——内部功能模块的信息流设计,主要由FPGA外部接口、FPGA接收模块构成。
(1)FPGA外部接口模块设计,包括:
FPGA与DSP接口:完成与DSP-EMIF之间数据总线、地址总线、控制总线连接,其中控制总线中含有片选、读写控制、输出使能、系统复位等信号线;DSP可以通过数据总线对FPGA内部寄存器、存储空间进行读写操作;DSP通过地址总线进行地址译码对FPGA内部进行寻址操作。
FPGA与射频前端接口:射频前端信号通过ADC采样后,得到数字信号,在FPGA内部进行数字信号锁存后,进行数字信号处理。
FPGA载波、伪码模拟信号接口:输出含有载波多谱勒的数字信号,通过DAC与带通滤波器BPF后,进行电平调节,送给射频前端;
系统工作时钟接口:接收射频前端输出的系统工作时钟;
1PPS时钟基准输出接口:输出本地1PPS秒脉冲时间基准;
1PPS可调时间输出接口:输出本地调整1PPS秒脉冲时间;
1PPM可调时间输出接口:输出本地调整1PPM分秒冲时间;
(2)FPGA接收模块设计
FPGA接收模块主要构成单元包括:
Figure GSB00000456208800021
伪码快捕单元
Figure GSB00000456208800022
载波伪码跟踪环路
Figure GSB00000456208800023
数据恢复与帧同步
Figure GSB00000456208800024
再生数据组帧与数据CRC纠错
Figure GSB00000456208800025
载波相位与伪码相位提取寄存器
其中,伪码快捕单元:接收AD转换电路输出的数字中频信号,产生再生载波对数字中频信号进行下变频,完成载波剥离;采用FFT方法实现相关运算;对相关结果进行检测判决,并计算信噪比;在捕获完成时获得扩频信号的伪码相位和载波多普勒频移的粗略估计,将其与捕获状态(是否检测到信号)一起输出给载波和码跟踪电路。由于采用基2-FFT运算要求数据点数为2的次幂,故在相关运算前需要对下变频结果进行内差和抽取操作。
伪码快捕单元的性能要求:
动态范围:载波频率变化范围≤±6kHz(C/N0≥48dB/Hz);频率变化速率≤±450Hz/s(C/N0≥48dB/Hz);码速率偏差≤±5Hz
捕获时间:≤±5s(C/N0≥48dB/Hz)
电平变化范围:30dB
抗干扰能力:单频干扰,干信比10dB,性能不恶化
伪码快捕单元的接口要求:
接口信号列表如下面表1所示:
Figure GSB00000456208800031
表1
伪码快捕单元接口信号的统一约定:
(a)伪码快捕单元与外部模块的接口信号,以及内部的FFT相关器和信号检测模块之间的接口信号,见下面的图“伪码快捕单元的划分及其接口信号”所示,图中同时标明了各信号的方向及位宽。
(b)在上述信号中,复位信号为低有效,并采用同步复位。
(c)下面的信号均为高有效,且仅持续一个62MHz时钟周期:
Figure GSB00000456208800041
伪码预置完毕信号
Figure GSB00000456208800042
启动捕获信号
Figure GSB00000456208800043
捕获计算完成信号
捕获完成时输出的0.2ms同步信号
Figure GSB00000456208800045
FFT相关器模块和信号检测模块之间的0.2ms基准
Figure GSB00000456208800046
启动FFT相关器计算信号
Figure GSB00000456208800047
IFFT计算完成信号
(d)捕获状态(是否检测到信号)指示信号为高时,指示检测到信号,输出结果有效,并一直持续到下一次复位伪码快捕单元。
(e)预置伪码的写使能为高有效。
整个伪码快捕单元可划分为FFT相关器模块和信号检测模块两个模块:
其中,FFT相关器模块的设计如下:
FFT相关器模块包括下变频和抽取模块,以及FFT/IFFT计算模块两部分组成。
(a)下变频和抽取模块,包括:
●伪码预置完毕信号
●启动捕获信号
●捕获计算完成信号
●捕获完成时输出的0.2ms同步信号
●FFT相关器模块和信号检测模块之间的0.2ms基准
●启动FFT相关器计算信号
●IFFT计算完毕信号
(b)FFT/IFFT计算模块
本模块在伪码预置完毕,收到启动捕获的信号后,启动码NCO,寻址伪码RAM产生本地伪码,对本地伪码进行FFT,将FFT结果缓存到RAM。
然后,模块在收到来自抽取模块的开始缓存的信号后,根据抽取模块送来的数据(抽取后的信号的实部和虚部)、地址和写使能,存储抽取后的信号。在缓存完毕后,读取这些缓存的信号,然后计算FFT,并把FFT结果写回同一块RAM。
最后,模块读取信号FFT和伪码FFT的缓存结果,共轭相乘,并计算IFFT,最后输出IFFT结果和索引值。
其中,信号检测模块的设计如下:
信号检测模块包括非相干积累模块,以及捕获控制(检测判决)模块两部分组成。
(a)非相干积累模块
非相干积累模块收到启动信号后,继续等待首次收到IFFT结果准备好信号后,此时,锁存IFFT结果的指数项到register a,同时,分别对IFFT结果的实部和虚部求绝对值,计算其平方和,并根据IFFT结果的索引值产生写地址,将平方和值存入RAM中。
然后,该模块在第N(N≥2)次收到IFFT结果准备好信号后,计算锁存的IFFT结果的指数项register a与本次IFFT结果的指数项之差,将IFFT结果的实部和虚部取绝对值,按照这一指数项之差进行移位后,计算移位后的实部和虚部的平方和。同时,根据IFFT结果的索引值产生读地址,读取RAM中存储的数据,与计算的平方和对应累加后,再根据IFFT结果的索引值产生写地址,将累加值存入RAM中。
在进行最后一次累加时,同时要对写入RAM的累加值进行峰值检测,找到峰值及其对应的地址,并且把峰值对应的地址加上16作为起始地址,对RAM进行寻址,计算出峰值附近2048个点的累加值之和,将其除以2048后,作为噪声功率的估计。最后将峰值、峰值对应的地址以及噪声功率的估计值锁存到register b和register c。
(b)捕获控制(检测判决)模块
检测判决的步骤如下:
●设定计数器K,初始化为K0
●若非相干累加后的峰值大于门限,计数器K加1;反之,计数器K减1
●K=K1,判决检测到信号;K=0,判决未检测到信号;否则,开始新的非相干累加频率细搜的流程见上面的图“频率细搜的流程”。
2.FPGA模块软件设计
FPGA专用数字信号处理器的设计将分为顶层设计和模块级设计。顶层设计用于描述各模块间的关系,模块级设计用于实现各模块的功能。顶层设计成DSP数据控制接口模块、前向测距通道处理模块和前向遥测通道处理模块三个部分。
前向测距通道处理模块和前向遥测通道处理模块包括积分清除计算单元、载波锁频环处理单元、载波锁相环处理单元、再生伪码发生器单元、位同步处理单元、帧同步处理单元。
下面的表2给出了整个FPGA专用数字信号处理器包含的各个模块和功能单元以及它们的标识符。
Figure GSB00000456208800051
表2
【1】积分清除计算单元:
由数字混频器、数字相关器等组成;数字混频器的作用是将GPS射频前端输出的数字中频信号变换成I、Q两路数字零中频信号,便于后面进行基带信号解扩。
其中,数字混频器用乘法器实现。载波NCO的I、Q输出与输入信号在乘法器中进行数字下变频,于是去除输入信号载频而保留了用于基带相关的码。
其中,数字相关器由数字乘法器和积分-清除器构成;积分-清除器用一个双向(加法和减法)累加器实现,利用它对数字混频后输入信号与本地码相乘的每一个结果进行累加,经过0.2ms的积分累加后,输出一次相关累加值。积分-清除器的输入信号是数字下变频后的数据。再生伪码来自再生伪码发生器,当再生伪码为高电平时,则做加法运算;当再生伪码为低电平时,则做减法运算。在62MHz的上升沿进行累加运算,并在再生5K为高电平时,利用62MHz下降沿锁存输出一次0.2ms的累加结果,同时利用62MHz的上升沿进行同步置数。
下面对数字相关器的功能叙述如下:
1)将锁频环载波NCO查找表输出的本地复制I,Q两路载波信号与数字中频信号幅度转换后的结果相乘,实现中频数字信号的下变频。
2)下变频的结果利用码环的再生伪码发生器产生的各路再生伪码进行解扩,每0.2ms得到的积分清除结果输出(注意即时再生码积分清除20K结果的输出时间为每0.05ms输出一次),作为之后的锁频环鉴别器以及相位旋转模块的输入。
数字相关器的算法描述如下:
1)将锁频环载波NCO的输出Nco和幅度转换后的结果Adc下变频,就是将二者进行乘法运算,得到二进制表示的补码结果。硬件实现中调用了FPGA芯片中集成的硬件乘法器。
2)积分清除的原理就是用一个累加器对数字下变频后输入信号与再生伪码相乘的每一位结果在系统时钟Clk62的上升沿进行累加,(伪码为‘1’乘以1,伪码为‘0’乘以-1,)经过0.2ms的积分累积后,在再生5KHz为高电平时,利用Clk62时钟的下降沿锁存积分清除结果并输出,同时利用62MHz的上升沿进行同步置数。
数字相关器的接口描述如下:
模块内部接口:
以下是积分清除模块的内部接口信号,包括复位信号,62MHz系统时钟以及数字中频幅度信号,另外还有锁频环NCO产生的载波正余弦幅度信号和再生伪码发生器产生的各路伪码。
Figure GSB00000456208800061
Figure GSB00000456208800071
模块外部接口:
以下是积分清除模块的外部接口信号,包括再生伪码发生器产生的再生5KHz时钟以及各路积分清除的结果。
Figure GSB00000456208800072
【2】载波锁频环处理单元
该单元包括载波相位累积器(carrier_phase_acc)和载波锁频环NCO查找表(fll_looker_nco)子单元。
A.载波相位累积器(fll_phase_accum)模块设计
载波相位累积器硬件包括:预置寄存器、更新寄存器、累加器、累加结果寄存器、整周计数器组成。
载波相位累积器功能描述:
1)累加锁频环环路频率字与中频频率字,累加的结果作为锁频环载波NCO正余弦查找表的输入。
2)累加锁频环环路频率字,输出锁频环多普勒载波累加器计数值。
载波相位累积器功能描述算法描述:
1)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字。
2)用系统时钟Clk62的上升沿对新的频率字和中频频率字进行累加,并取NCO累加结果的高12位作为查找表的输入;
3)用系统时钟Clk62的上升沿对新的频率字进行单独累加,取49位累加结果作为锁频环多普勒载波累加器计数值。
载波相位累积器接口描述
Figure GSB00000456208800081
模块内部接口
Figure GSB00000456208800082
Figure GSB00000456208800083
模块外部接口
B.载波锁频环NCO查找表(FLL_look_nco)模块设计
载波锁频环NCO查找表设置有频率控制字输入接口,载波环路通过不断调整载波锁频环NCO查找表的频率字来保持对接收信号载波频率和相位的跟踪。
载波锁频环NCO查找表要有足够的频率分辨率,保证能够高精度测量载波多普勒频率,这就要求载波锁频环NCO查找表要有足够的相位累加器字长,来满足频率分辨率的要求。载波锁频环NCO查找表的基准频率fs=62MHz。当载波锁频环NCO查找表的相位累加器字长为32位时,频率分辨率为δf=fclk/232=0.014Hz,可满足上面载波频率调整的需要。设频率控制字为W,则输出频率为
f o = W 2 32 f s
由于前面的相位累加的功能已经在载波相位累积器模块里面实现了,因此本部分只实现查找表的功能。
载波锁频环NCO查找表功能描述:
根据载波相位累积器的输出,产生本地复制载波信号。
载波锁频环NCO查找表算法描述:
将载波相位累积器累加结果的高12位送入正余弦查找表(由ISE7.1生成的IP核)当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存。
载波锁频环NCO查找表的接口描述:
Figure GSB00000456208800092
模块内部接口
Figure GSB00000456208800093
Figure GSB00000456208800094
模块处部接口
接口名称     方向   功能
Fll_Nco_Cos  OUT    锁频环路NCO余弦输出
Fll_Nco_Sin  OUT    锁频环路NCO正弦输出
【3】载波锁相环(pll_loop_unit)处理单元
载波锁相环处理单元主要完成以下功能:
1)接收外部复位控制信号(Reset),对自身进行复位,即返回至起始状态;
2)对输入的数字中频信号进行下变频、解扩以及积分清除,并提取0.2ms时刻的即时通道,超前滞后1/2、1/4通道的积分清除器结果给主信号处理器;
3)提取0.2ms时刻的载波整数、小数周相位,NCO累加结果寄存器的值给主信号处理器。
4)进行接收数据的解调,输出串行解调数据和帧同步信号。
该单元包括载波相位累积器(pll_phase_accum)与载波NCO查找表(pll_looker_nco)单元。
A载波相位累积器
载波相位累积器的功能描述
累加锁相环环路频率字,输出锁相环多普勒载波累加器计数值,累加的结果的(31 downto20)共12位作为锁相环载波NCO正余弦查找表的输入。
载波相位累积器的算法描述
1)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字。
2)用系统时钟Clk62的上升沿对新的频率字进行累加,取49位累加结果作为锁相环多普勒载波累加器计数值,并取NCO累加结果的(31 downto 20)共12位作为查找表的输入。
载波相位累积器的接口描述
Figure GSB00000456208800101
模块内部接口
Figure GSB00000456208800102
Figure GSB00000456208800103
模块外部接口
接口名称         方向    功能
ReClk5K_E_4prd   IN      再生5K同步时钟超前4个时钟的置数时钟
Pll_Pha_Int_dec  OUT     锁相环整周、小数周计数值
B.载波锁相环NCO查找表(PLL_look_nco)模块设计
由于前面的相位累加的功能已经在载波相位累积器模块里面实现了,因此本部分只实现查找表的功能。
载波锁相环NCO查找表功能描述:
根据载波PLL相位累积器的输出,产生本地复制载波信号。
载波锁相环NCO查找表:算法描述
将载波相位累积器累加结果的(31 downto 20)共12位送入正余弦查找表(生成的IP核)当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存。
载波锁相环NCO查找表接口描述:
Figure GSB00000456208800104
模块内部接口
Figure GSB00000456208800111
【4】再生伪码发生器单元模块设计
(1)功能
再生伪码发生器单元是为伪码跟踪环路提供多路伪码的单元,它接收捕获电路部分给出的FFT快捕码片数,在时钟的推动下产生即时及超前、滞后分别为
Figure GSB00000456208800112
Figure GSB00000456208800113
码相位的各路伪码,用于对输入数据码相位的鉴别。
再生伪码发生器的功能是:
1)接收外部复位控制信号(Reset),对自身进行复位,即返回至起始状态;
2)接收由码速率频率字、码环滤波器输出的频率字及载波辅助量频率字三部分组成的码频率控制字,用累加器计数,推动再生伪码的产生,通过查表得到伪码序列。
3)用移位寄存器对再生伪码进行移位,得到所需的即时、超前、滞后伪码。
4)输出即时码片计数及即时码相位。
(2)算法描述
伪码的选择输出通过一个42位累加器模1023×1023来实现,高10位顺序对应1023个伪码码片,事先按相应顺序存储伪码组成码表,用高十位作为地址去查找码表,输出相应的伪码。
(3)接口关系
Figure GSB00000456208800114
Figure GSB00000456208800121
【5】位同步处理单元(Bit_sync_unit)
(1)功能描述
测距信号的信息位和伪码周期是同步的。信息位速率是1kbps,每一位数据中包含1个伪码周期。数据位时钟对应伪码周期的起始位置。
(2)算法描述
测距通道在跟踪环路锁定时,用作环路积分清除的再生5kHz时钟的上升沿对应伪码周期的起始位置。
位同步模块由数字锁相环组成。数字锁相环根据本地估算的位同步时钟的相位误差,对本地估算出的位同步时钟相位进行连续不断的反馈调节,从而达到使本地估算的位同步时钟相位跟踪测距信号位同步时钟相位的目的。
I_Circum_sign为输入的数据流,对其进行符号判决,得到+1或者-1作为位同步数字锁相环的输入信号。
(3)接口描述
Figure GSB00000456208800131
【6】帧同步处理单元(Frame_sync_unit)
(1)功能描述
位同步结束后,需要进行数据解调。对位时钟内的10点数据累加,判断累加结果的符号,大于0此位判定为‘1’,小于0此位判定为‘0’。
数据解调之后,同步数据帧的传输还需要实现帧同步,即要确定一帧数据传输开始的时刻。通过连续不断的检测帧同步字“EDE20”来确定数据帧的开始时刻。
(2)算法描述
串行数据在位同步逻辑恢复出的位时钟的作用下,依次移入移位寄存器。将移位寄存器的内容与预知的固定帧同步字进行比较,如果两者相同,则输出高电平,否则保持低电平,这样,比较逻辑输出的高电平脉冲即为检测出来的帧同步脉冲。但是这样的结果不能直接输出,因为在数据帧的数据段中有可能出现伪帧同步字,从而导致输出虚假的帧同步脉冲,影响数据的正确接收。比较逻辑输出的高电平脉冲需要输入帧保护模块,消除虚假脉冲。
帧保护模块在内部设立有一个帧同步状态标志,在初始时刻,该标志指示尚未得到真正的帧同步脉冲,即尚未实现帧同步。在接收到来自比较逻辑的第一个高脉冲(可能为帧同步脉冲)后,由于没有先验知识判定该脉冲是否为真正的帧同步脉冲,为了防止该帧数据丢失,假定它为真正的帧同步脉冲,将它输出。根据数据帧出现的规律,经过一段确知的时间后(1000个数据位),应该在确定的时刻能够检测到帧同步脉冲的出现。如果没能检测到高脉冲,则说明比较逻辑前次输出的高脉冲不是真正的帧同步脉冲,上述过程继续。如果连续3次都能在指定位置检测到帧同步脉冲,则认为已经完成帧同步任务,使帧同步状态标志指示已经实现帧同步。以后就只在预测的位置让比较逻辑产生的帧同步脉冲通过。
在实现帧同步以后,仍旧在预测的时刻检测比较逻辑输出的高脉冲,如果连续3没能检测到预期的帧同步高脉冲,则认为失去帧同步,需要重启帧同步过程。
(3)接口描述
Figure GSB00000456208800141
3.DSP模块详细设计
其中,DSP模块的功能描述:
(1)DSP程序加载完成后控制FPGA复位;
(2)完成一路下行遥测和一路测距信号的环路处理:
Figure GSB00000456208800142
响应通道的5KHz同步时钟中断:
从通道FPGA读取积分-清除器的0.2ms积分累加结果、相位旋转结果;
Figure GSB00000456208800143
完成通道环路的跟踪处理:
实现通道的载波锁频环、载波锁相环和码跟踪算法,控制载波锁频环、载波锁相环和码环跟踪锁定;
输出通道的锁频环NCO频率字、锁相环NCO频率字和码NCO频率字至前端通道FPGA;
(3)读取FFT快捕及测距通道前向处理FPGA内部存储器中的遥测数据、下获取下行测量信号的载波多普勒频率、数据位计数、伪码周期数、伪码相位、伪码CHIP相位、载波的整数周、载波相位、下行测量信号的信噪比以及下行测量帧数据;
(4)处理控制命令:
Figure GSB00000456208800151
接收遥控命令、测量信号的功率比例因子、伪码码型、载波多普勒频率、码多普勒频率、载波加速度/加加速度和射频参考信号频率;
Figure GSB00000456208800152
将控制数据转发给FFT快捕及测距通道前向处理FPGA。
其中,DSP信号处理器接口定义,如下表3所示:
Figure GSB00000456208800153
表3
DSP信号处理器程序流程包括主程序、中断服务程序和环路处理程序三个组成部分,其中主程序包括初始化,中断控制,仲裁等。将载波和伪码的跟踪锁定过程放在10kHz中断程序内,只要有新数据来就立即进行环路跟踪。
下面对DSP模块的三部分组成详细说明如下:
DSP主程序流程说明(main)
①程序描述
主程序是DSP后向通道处理软件程序中的主要部分,对DSP的外部存储器和中断的设置,完成对整个DSP软件程序的控制处理。
②功能
主程序的主要功能是完成初始化工作和环路处理程序的循环控制,初始化工作包括CSL库的初始化,全局变量初始化。另外,主程序中还完成了中断的映射与设置。
③输入项
FFT_Acqui_Flag:捕获状态标志
名称            类型          描述
FFT_Acqui_Flag  int(整型)     0:未捕获
1:捕获
INTR_0_2ms_Flag:软件中断标志
名称            类型          描述
INTR_0_2ms_Flag char(字符型)  TRUE:中断发生
FALSE:中断清除
④流程逻辑
首先进行开机初始化,包括CSL库函数的初始化,以及程序中所需要的全局变量的初始化;之后对环境变量进行设置,配置EMIF外部空间寄存器;再者,对外部中断进行设置,包括中断映射,复位,清除和使能。以上所有过程处理完之后,等待中断标志到来,然后判断中断所属的通道,再进行所属通道的环路处理,处理完后清除中断标志,再继续等待下一次中断的到来。
DSP 0.2ms中断服务程序说明(FFT_0_2ms_Intr_ISR)
①程序描述
0.2ms中断服务程序是DSP对外部硬件中断的响应之后,读取所需外部接口数据而设计的。
②功能
中断服务程序的主要功能是通过开关中断的过程中完成外部数据的读入,另外,每开一次中断读取完数据后,将该通道软件中断标志置高,以备主程序进行环路处理的程序控制。
③性能
a)精度要求
积分清除结果寄存器取32位数据
相位旋转结果寄存器取32位数据
其中,FPGA前向通道处理器输出的相位旋转结果位宽为36bit,DSP外部数据读取位宽只有32bit,一个数据要进行两次外部数据线读取再进行整合,在程序中相位旋转数据仍要保持36bit位宽。
④输入项
Figure GSB00000456208800163
前向通道处理FPGA输出(DSP输入)数据寄存器
前向通道处理FPGA 0.2ms积分清除结果寄存器
I_PM_5K_ACCUM_ADDR(r)
Q_PM_5K_ACCUM_ADDR(r)
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
前向通道处理FPGA相位旋转结果寄存器
I_PM_5K_ROTATE_ADDR(r)
Q_PM_5K_ROTATE_ADDR(r)
I_WE_5K_ROTATE_ADDR(r)
Q_WE_5K_ROTATE_ADDR(r)
I_WL_5K_ROTATE_ADDR(r)
Q_WL_5K_ROTATE_ADDR(r)
格式:
  Bit   Bitname
  31:0   相位旋转结果寄存器
前向通道处理FPGA FFT快捕结果寄存器
FFT_ACQUI_STATE_ADDR(r)
格式:
  Bit   Bit name
  30:0   Unused
  31   捕获状态寄存器
FFT_ACQUI_DOPP_ADDR(r)
格式:
  Bit   Bit name
  31:0   捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑤输出项
Figure GSB00000456208800171
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we_5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
Figure GSB00000456208800181
FFT捕获寄存器
FFT_Acqui_State[r]
FFT_Acqui_Dopp_Word[r]
0.2ms中断发生标志
Irq_01ms_Flag[r]
其中,r=1代表测距通道,r=0代表遥测通道
⑥流程逻辑
进入中断服务程序后,首先将外部中断关闭后清除即保护现场,然后保存前一次通道积分清除结果,读取当前通道积分清除结果、相位旋转结果,并将中断标志变量置为有效,最后打开中断,恢复现场后退出中断。DSP后向通道处理的软件程序设计中,对于0.2ms的中断服务程序的设计分为测距通道0.2ms中断服务程序和遥测通道0.2ms中断服务程序。
⑦接口
中断服务程序与主程序之间的接口:软件中断标志、捕获状态标志;
中断服务程序与环路处理程序的接口:积分清除数据、相位旋转数据、捕获多普勒频率字。
DSP通道环路处理流程说明(LOOP_TRACK_FUNC)
环路处理开始后,首先对环路状态进行确定,如果处于锁定或跟踪状态,则进行下一步的处理;
环路计数器控制整个环路的处理进程,为单向计数,每进入一次环路处理,也即每来一次中断读取新数据后对环路计数器加1。
FLL处理中,由FLL门限切换标志控制FLL鉴频器采用10K积分清除数据还是20K积分清除数据,接着对鉴频结果进行环路滤波,输出FLLNCO控制字;
PLL处理中,鉴相器采用二象限鉴相,鉴相结果通过环路滤波器输出PLLNCO控制字;
DDLL处理中,对于码相位的鉴别中要有一步归整的处理,即鉴别结果超前2个码片则归为+2,滞后2个码片则归为-2;鉴别结果通过环路滤波再由载波辅助的处理后输出DDLLNCO控制字;
①程序描述
环路处理程序为DSP后向处理的核心部分,实现数据鉴别算法,环路滤波算法,处理完后得到的数据要向FPGA前向通道处理器输出,以完成整个跟踪过程。
②功能
环路处理程序在捕获模块的伪码相位预测值和多普勒频率预测值的基础之上,进行伪码相位的跟踪和载波相位的锁定跟踪,主要完成FLL鉴别算法,FLL环路滤波算法,PLL鉴别算法,PLL环路滤波算法,DDLL鉴别算法,DDLL环路滤波算法,FLL锁定判决,PLL锁定判决,DDLL锁定判决。
③性能
Figure GSB00000456208800191
各环路NCO频率字寄存器取32位数据
Figure GSB00000456208800192
FLL,PLL,DDLL锁定状态与环路状态寄存器整合后取32位数据,格式如下:
Figure GSB00000456208800193
其中,r=1代表测距通道,r=0代表遥测通道
④输入项
Figure GSB00000456208800194
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
Figure GSB00000456208800195
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we_5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
格式:
 Bit Bit name
 31:0 相位旋转结果寄存器
Figure GSB00000456208800201
FFT捕获寄存器
FFT_Acqui_Dopp_Word[r]
格式:
  Bit Bit name
  31:0 捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑤输出项
Figure GSB00000456208800202
锁频环NCO频率字
FLL_NCO_WORD_ADDR(r)
格式:
Figure GSB00000456208800203
Figure GSB00000456208800204
锁相环NCO频率字
PLL_NCO_WORD_ADDR(r)
格式:
  Bit   Bit name
  31-0   通道载波锁相环NCO频率字
Figure GSB00000456208800205
码环NCO频率字
DDLL_NCO_WORD_ADDR(r)
格式:
 Bit Bit name
 31-0 通道码环NC0频率字
状态寄存器
STATE_REGISTER_ADDR(r)
格式:
  Bit   Bit name
  31-0   状态寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑥锁频环跟踪模块(FLL_TRACK_FUNC)
该模块中实现的功能:FLL鉴别算法,FLL环路滤波算法。
⑦输入项
Figure GSB00000456208800207
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
Figure GSB00000456208800211
FFT捕获寄存器
FFT_Acqui_Dopp_Word[r]
格式:
  Bit   Bit name
  31:0   捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑧输出项
Figure GSB00000456208800212
锁频环NCO频率字
FLL_NCO_WORD(r)
格式:
  Bit   Bit name
  31-0   通道载波锁频环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
另外,锁频环算法:锁频环鉴别器采用点交叉鉴频算法,公式如下:
ef k = a tan ( I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) ) / 2 πT - - - ( 4.6 )
为了获得更大的鉴频范围,锁频环先采用20K鉴频,而后采用10K鉴频。对于20K鉴频,反正切采用四象限算法;对于10K鉴频,反正切采用二象限算法。根据式(24)(25),忽略噪声后,代入(2)式,得:
I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) = sin θ ( k ) · cos θ ( k - 1 ) - cos θ ( k ) · sin θ ( k - 1 ) cos θ ( k ) · cos θ ( k - 1 ) + sin θ ( k ) · sin θ ( k - 1 )
根据三角和差公式,得:
I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) = sin [ θ ( k ) - θ ( k - 1 ) ] cos [ θ ( k ) - θ ( k - 1 ) ] = tan [ θ ( k ) - θ ( k - 1 ) ] - - - ( 4.7 )
再由θ(k)-θ(k-1)=2πTΔfd,T为积分清除时间,采用20K时,T=0.05ms;采用10K时,T=0.2ms。所以锁频环鉴别算法的结果为efk=Δfd,其中,即信号实际多普勒频率与本地估计多普勒频率的差值。
锁频环路滤波算法
对于相同阶数的跟踪环路,相对锁相环和码环中采用的滤波器,锁频环的滤波器需要增加一个积分器。
锁频环相对于锁相环,对动态的应力较好。为应对同样的动态,锁频环的阶数可以比锁相环的阶数低一阶。所以载波跟踪锁频环采用二阶环路,一阶滤波器实现。
一阶最优环路滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s = 1 K d K v [ 2 w n + w n 2 · 1 s ] = 1 K [ 2 w n + w n 2 · 1 s ] - - - ( 4.8 )
其中,Kd=1,为频率鉴别器的增益,
Figure GSB00000456208800223
为NCO的增益,K=KdKv为环路滤波器的增益,wn为环路的自然频率。
相应的载波环的滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s · 1 s = 1 K d K v [ 2 w n + w n 2 · 1 s ] · 1 s = 1 K [ 2 w n · 1 s + w n 2 · 1 s 2 ] - - - ( 4.9 )
采用数字矩形积分映像方式,其映射关系为:
Figure GSB00000456208800225
其中T为环路滤波器的输入采样频率(这里的T是前级的鉴频算法的输出鉴频结果的时间间隔)。
二阶载波环路滤波器的离散传递函数为:
F ( z ) = ( 2 ω n T + ω n 2 T 2 ) - 2 ω n T · z - 1 K ( 1 - 2 z - 1 + z - 2 ) - - - ( 4.10 )
其实域对应表达式为:
y ( k ) - 2 y ( k - 1 ) + y ( k - 2 ) = ( 2 ω n T + ω n 2 T 2 ) K e f ( k ) - 2 ω n T K e f ( k - 1 ) - - - ( 4.11 )
其中,T-为滤波器输入采样时间间隔,T=0.1ms;
ωn-为环路的自然频率,ωn=1.89BLF,BLF为环路的带宽。
①输入项
相位旋转结果
I_pm_10k_Rotate[r]
Q_pm_10k_Rotate[r]
格式:
  Bit   Bit name
  31:0   即时通道相位旋转结果寄存器
其中,r=1代表测距通道,r=0代表遥测通道
②输出项
Figure GSB00000456208800231
锁相环NCO频率字
PLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道载波锁相环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
锁相环算法:
对经过解调、解扩后的信号进行积分清除,经过相位旋转,采用锁相环进一步消除频差和相位差,相位旋转如下实现:
I ′ = I ( k ) · cos ( θ ^ k ) + Q ( k ) · sin ( θ ^ k ) = d · A · R [ τ e ( k ) ] · sin c [ Δ w d ( k ) · N / 2 ] · cos ( θ k - θ ^ k ) - - - ( 4.12 )
Q ′ = Q ( k ) · cos ( θ ^ k ) - I ( k ) · sin ( θ ^ k ) = d · A · R [ τ e ( k ) ] · sin c [ Δ w d ( k ) · N / 2 ] · sin ( θ k - θ ^ k ) - - - ( 4.13 )
选择
Figure GSB00000456208800234
作为锁相环的鉴别算法,即二象限鉴相。
锁相环环路滤波算法采用二阶环路滤波器,即三阶跟踪环路,其最优环路滤波器为:
F ( s ) = 2 ω np s 2 + 2 ω np 2 s + ω np 3 K d K v s 2 = 1 K d K v [ 2 ω np + 2 ω np 2 · 1 s + ω np 3 · 1 s 2 ] - - - ( 4.14 )
其中,ωnp为环路的自然频率;Kd为鉴相器增益(Kd=1);Kv为NCO增益其中
Figure GSB00000456208800237
采用数字矩形积分映像方式,其映射关系为:
Figure GSB00000456208800238
其中T为环路滤波器的输入采样频率(在本系统中,T=0.2ms,由载波跟踪环路的更新时间T=0.2ms决定)。
环路滤波器的离散传递函数为:
F ( z ) = ( 2 ω np + 2 ω np 2 · T + ω np 3 · T 2 ) - ( 4 ω np + 2 ω np 2 · T ) · z - 1 + 2 ω np · z - 2 K ( 1 - 2 z - 1 + z - 2 ) - - - ( 4.15 )
其时域对应表达式为:
θ ^ ( k ) - 2 θ ^ ( k - 1 ) + θ ^ ( k - 2 ) = ( 2 ω np + 2 ω np 2 · T + ω np 3 · T 2 ) · e p ( k ) K (4.16)
- ( 4 ω np + 2 ω np 2 · T ) e p ( k - 1 ) K + 2 ω np · e p ( k - 1 ) K
其中,ωnP=1.2BLF,BLF为跟踪环路带宽,T是环路滤波器采样时间间隔(等于环路更新时间)。
码环跟踪模块(DDLL_TRACK_FUNC)
该模块完成的功能有:DDLL鉴别算法,DDLL环路滤波算法。
①输入项
Figure GSB00000456208800241
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we 5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
格式:
  Bit   Bit name
  31:0   相位旋转结果寄存器
锁频环NCO频率字
FLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道载波锁频环NCO频率字
锁相环NCO频率字
PLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道载波锁相环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
②输出项
Figure GSB00000456208800244
码环NCO频率字
DDLL_NCO_WORD(r)
格式:
  Bit   Bit name
  31-0   通道码环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
伪码跟踪环算法:
该码跟踪环鉴别算法采用点积鉴别算法,采用“归一化”操作,这样做的好处是能有效减少幅度敏感性,同时在适当信噪比条件下提供不变的鉴别器增益,有助于确定跟踪环路的增益。
归一化的点积鉴别器算法如下:
ec k = [ I es ( k ) - I ls ( k ) ] I ps ( k ) + [ Q es ( k ) - Q ls ( k ) ] Q ps ( k ) I ps 2 ( k ) + Q ps 2 ( k ) - - - ( 4.17 )
式中,Ies(k)、Ips(k)、Ils(k)分别为输入同相数字信号与超前码、实时码及滞后码在数字相关积累后的输出,Qes(k)、Qps(k)、Qls(k)分别为输入正交数字信号与超前码、实时码、滞后码在数字相关积累后的输出。
码环路滤波器
伪码跟踪环路采用二阶环路,参考GPS系统的设计,其最优环路传递函数为:
H τ ( s ) = 2 w n · s + w n 2 s 2 + 2 w n · s + w n 2 - - - ( 4.18 )
二阶环路对应的一阶滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s = 1 K d K v [ 2 w n + w n 2 · 1 s ] = 1 K [ 2 w n + w n 2 · 1 s ] - - - ( 4.19 )
采用数字矩形积分映像方式,其映射关系为:
Figure GSB00000456208800254
其中T为环路滤波器的输入采样频率,也就是积分清除器的时间间隔。
二阶DDLL环路的一阶数字滤波器的离散传递函数为:
F τ ( z ) = ( 2 ω n + ω n 2 T ) - 2 ω n z - 1 K ( 1 - z - 1 ) - - - ( 4.20 )
时域对应表达式为:
y ( k ) - y ( k - 1 ) = ( 2 ω n + ω n 2 T ) K e c ( k ) - 2 ω n K e c ( k - 1 )
y ( k ) = y ( k - 1 ) + ( 2 ω n + ω n 2 T ) K e c ( k ) - 2 ω n K e c ( k - 1 ) - - - ( 4.21 )
其中,ωn-为环路滤波器的自然角频率,ωn=1.89BLF,BLF=2为环路带宽;T-为环路滤波器输入采样时间间隔(等于环路更新时间);
K=KdKv为环路滤波器增益。Kd=2为鉴相器增益,
Figure GSB00000456208800258
为NCO增益,其中fs=62MHz。y(k)是滤波器输出的频率字增量,在频率字更新时,该频率字增量与码率频率字偏置Pbias(等于
Figure GSB00000456208800261
)及载波辅助量频率字相加后一起作为码率控制字。码率控制字在积分清除时钟再生10kHz时钟的控制下进入伪码生成器。
本发明一种高动态扩频精密测距接收机,其优点及功效在于:本发明测距精度高,误差小,通信中抗干扰能力高,测控精确。
(四)附图说明:
图1所示为送出IFFT结果的时序
图2所示为频率细搜的流程
图3所示为伪码快捕单元的划分及其接口信号
图4所示为载波相位累积器的硬件实现
图5所示为再生伪码发生器硬件实现
图6所示为帧同步实现结构
图7所示为DSP信号处理器主程序流程
图8所示为0.2ms中断服务程序
图9所示为中断服务程序接口示意图
图10所示为通道跟踪处理流程
图11所示为二阶载波环路的滤波器模拟实现
图12所示为二阶FLL的环路滤波器数字实现
图13所示为三阶PLL跟踪环路中的滤波器模拟实现
图14所示为一阶滤波器模拟实现
图15所示为一阶滤波器数字实现
图16所示为环路处理流程图
图17所示为环路处理程序接口示意图
(五)具体实施方式:
本发明一种高动态扩频精密测距接收机,采用灵活的现场可编程门阵列+数字信号处理(即FPGA+DSP)的结构,实现全数字化操作。其主要包括FPGA及DSP两大模块。
1.FPGA硬件模块设计
FPGA模块采用自顶向下的设计方法,按照外部接口——内部功能模块的信息流设计,主要由FPGA外部接口、FPGA接收模块构成。
(1)FPGA外部接口模块设计,包括:
FPGA与DSP接口:完成与DSP-EMIF之间数据总线、地址总线、控制总线连接,其中控制总线中含有片选、读写控制、输出使能、系统复位等信号线;DSP可以通过数据总线对FPGA内部寄存器、存储空间进行读写操作;DSP通过地址总线进行地址译码对FPGA内部进行寻址操作。
FPGA与射频前端接口:射频前端信号通过ADC采样后,得到数字信号,在FPGA内部进行数字信号锁存后,进行数字信号处理。
FPGA载波、伪码模拟信号接口:输出含有载波多谱勒的数字信号,通过DAC与带通滤波器BPF后,进行电平调节,送给射频前端;
系统工作时钟接口:接收射频前端输出的系统工作时钟;
1PPS时钟基准输出接口:输出本地1PPS秒脉冲时间基准;
1PPS可调时间输出接口:输出本地调整1PPS秒脉冲时间;
1PPM可调时间输出接口:输出本地调整1PPM分秒冲时间;
(2)FPGA接收模块设计
①模块功能:该模块主要完成扩频信号的捕获、跟踪与解扩解调,进行伪距提取、通信数据再生恢复、与纠错重组。
②模块输入信号:数字中频信号、系统工作时钟、积分清零信号、系统复位信号等;
③模块输出信号:系统载波与伪码捕获跟踪状态、再生通信数据、伪距测量结果与再生帧同步脉冲等。
④FPGA接收模块主要构成单元包括:
伪码快捕单元
Figure GSB00000456208800272
载波伪码跟踪环路
Figure GSB00000456208800273
数据恢复与帧同步
Figure GSB00000456208800274
再生数据组帧与数据CRC纠错
Figure GSB00000456208800275
载波相位与伪码相位提取寄存器
其中,伪码快捕单元:接收AD转换电路输出的数字中频信号,产生再生载波对数字中频信号进行下变频,完成载波剥离;采用FFT方法实现相关运算;对相关结果进行检测判决,并计算信噪比;在捕获完成时获得扩频信号的伪码相位和载波多普勒频移的粗略估计,将其与捕获状态(是否检测到信号)一起输出给载波和码跟踪电路。由于采用基2-FFT运算要求数据点数为2的次幂,故在相关运算前需要对下变频结果进行内差和抽取操作。
伪码快捕单元的性能要求:
动态范围:载波频率变化范围≤±6kHz(C/N0≥48dB/Hz);频率变化速率≤±450Hz/s(C/N0≥48dB/Hz);码速率偏差≤±5Hz
捕获时间:≤±5s(C/N0≥48dB/Hz)
电平变化范围:30dB
抗干扰能力:单频干扰,干信比10dB,性能不恶化
伪码快捕单元的接口要求:
接口信号列表如下面表1所示:
Figure GSB00000456208800281
表1
伪码快捕单元接口信号的统一约定:
(a)伪码快捕单元与外部模块的接口信号,以及内部的FFT相关器和信号检测模块之间的接口信号,见下面的图“伪码快捕单元的划分及其接口信号”所示,图中同时标明了各信号的方向及位宽。
(b)在上述信号中,复位信号为低有效,并采用同步复位。
(c)下面的信号均为高有效,且仅持续一个62MHz时钟周期:
Figure GSB00000456208800282
伪码预置完毕信号
Figure GSB00000456208800283
启动捕获信号
Figure GSB00000456208800284
捕获计算完成信号
Figure GSB00000456208800285
捕获完成时输出的0.2ms同步信号
Figure GSB00000456208800286
FFT相关器模块和信号检测模块之间的0.2ms基准
Figure GSB00000456208800287
启动FFT相关器计算信号
Figure GSB00000456208800288
IFFT计算完成信号
(d)捕获状态(是否检测到信号)指示信号为高时,指示检测到信号,输出结果有效,并一直持续到下一次复位伪码快捕单元。
(e)预置伪码的写使能为高有效。
其中,整个伪码快捕单元的工作流程如下:
(a)复位整个FFT捕获模块,然后信号检测模块始终送出要搜索载频值上的本地载波给FFT相关器模块。
(b)将预置伪码的写使能置高,并根据预置伪码的写地址将预置伪码逐一写入,然后给出伪码预置完毕信号;FFT相关器模块在码NCO的推动下,将伪码读出,并进行FFT运算,将FFT结果缓存。
(c)信号检测模块在收到启动捕获的命令后,每隔0.2ms产生一个时间基准信号给FFT相关器模块,并送出启动FFT相关器计算的信号。FFT相关器模块在收到启动信号后,等待下一个0.2ms基准信号到来时,开始对AD采样信号进行下变频、内插和缓存,然后计算其FFT,并将本地伪码FFT结果和接收信号FFT结果共轭相乘,再进行IFFT。IFFT计算完毕后,送出IFFT计算完成信号和IFFT结果的指数项,在接下来的时钟周期内逐一送出4096点IFFT结果的尾数项(包括实部和虚部)和对应的索引值(取值为0~4095)。送出IFFT结果的时序如图1所示。之后,FFT相关器模块就可以接收下一次启动FFT相关器计算的信号了。
(d)从上到下各波形依次为IFFT计算完成信号、IFFT结果的实部尾数项、IFFT结果的虚部尾数项、IFFT结果对应的索引值。信号检测模块在收到IFFT结果后,进行求模和积累。在进行最后一次积累时,还要进行峰值检测;在积累完毕后,再进行噪声功率估计,最后将峰值、峰值对应的位置和噪声功率估计值送给唐检测器。如果唐检测器在预定相位区间内未检测到信号,则改变载频值重复步骤③和④;如果当搜索完所有频点时,仍未检测到信号,则将0.2ms基准信号滞后0.02ms,再重复步骤③和④来搜索所有频点;如果在各个延迟值的0.2ms基准信号和所有载频值上都搜索完毕后,仍未捕获到信号,则宣告未捕获到信号,退出捕获过程,同时给出状态指示(捕获计算完毕但未检测到信号)。如果唐检测器检测到信号,则转入(e)进行频率细搜
(e)频率细搜,流程如图2所示
整个伪码快捕单元可划分为FFT相关器模块和信号检测模块两个模块,如图3所示:
其中,FFT相关器完成对接收信号的内插和缓存;对内插后的接收信号进行FFT计算;产生本地伪码并对C码进行FFT计算;将信号FFT的结果和伪码FFT的结果共轭相乘;对共轭相乘的结果做IFFT并输出。信号检测模块对接收到的IFFT结果进行求模、积累、选大,并估计噪声功率;进行唐检测判决;在检测到信号后完成频率细搜。
其中,FFT相关器模块的设计如下:
FFT相关器模块包括下变频和抽取模块,以及FFT/IFFT计算模块两部分组成。
(a)下变频和抽取模块,包括:
●伪码预置完毕信号
●启动捕获信号
●捕获计算完成信号
●捕获完成时输出的0.2ms同步信号
●FFT相关器模块和信号检测模块之间的0.2ms基准
●启动FFT相关器计算信号
●IFFT计算完毕信号
ADC对中心频率为15MHz的扩频信号以62MSPS采样,经过数字下变频后,同相和正交支路的信号分别送入一个系数时变的8阶FIR滤波器,完成滤波和抽取,得到等效采样率为20.48MSPS的信号,最后送入下一级的RAM中缓存。
滤波器的理想传递函数为
Figure GSB00000456208800301
因此输入x(nTs),在抽取后的输出
Figure GSB00000456208800302
(0≤k≤4095)为:
x ^ ( k T interp ) = Σ n = - ∞ n = ∞ x ( n T s ) Ω 0 Ω s sin [ Ω 0 2 · ( k T interp - n T s ) ] Ω 0 2 · ( k T interp - n T s )
≈ Σ n = INT ( k 62 MHz 20.48 MHz ) - 4 n = INT ( k 62 MHz 20.48 MHz ) + 3 x ( n T s ) 2 π · 20.48 MHz 2 π · 62 MHz sin [ 2 π · 20.48 MHz 2 · ( k 20.48 MHz - n 62 MHz ) ] 2 π · 20.48 MHz 2 · ( k 20.48 MHz - n 62 MHz )
= Σ n = INT ( k 256 775 ) - 4 n = INT ( k 256 775 ) + 3 x ( n T s ) 256 775 sin [ π · ( k - 256 775 n ) ] π · ( k - 256 775 n )
具体实现时,事先计算出
Figure GSB00000456208800306
的值,计算时从系数ROM中直接读出。
(b)FFT/IFFT计算模块
本模块在伪码预置完毕,收到启动捕获的信号后,启动码NCO,寻址伪码RAM产生本地伪码,对本地伪码进行FFT,将FFT结果缓存到RAM。
然后,模块在收到来自抽取模块的开始缓存的信号后,根据抽取模块送来的数据(抽取后的信号的实部和虚部)、地址和写使能,存储抽取后的信号。在缓存完毕后,读取这些缓存的信号,然后计算FFT,并把FFT结果写回同一块RAM。
最后,模块读取信号FFT和伪码FFT的缓存结果,共轭相乘,并计算IFFT,最后输出IFFT结果和索引值。
其中,信号检测模块的设计如下:
信号检测模块包括非相干积累模块,以及捕获控制(检测判决)模块两部分组成。
(c)非相干积累模块
非相干积累模块收到启动信号后,继续等待首次收到IFFT结果准备好信号后,此时,锁存IFFT结果的指数项到register a,同时,分别对IFFT结果的实部和虚部求绝对值,计算其平方和,并根据IFFT结果的索引值产生写地址,将平方和值存入RAM中。
然后,该模块在第N(N≥2)次收到IFFT结果准备好信号后,计算锁存的IFFT结果的指数项register a与本次IFFT结果的指数项之差,将IFFT结果的实部和虚部取绝对值,按照这一指数项之差进行移位后,计算移位后的实部和虚部的平方和。同时,根据IFFT结果的索引值产生读地址,读取RAM中存储的数据,与计算的平方和对应累加后,再根据IFFT结果的索引值产生写地址,将累加值存入RAM中。
在进行最后一次累加时,同时要对写入RAM的累加值进行峰值检测,找到峰值及其对应的地址,并且把峰值对应的地址加上16作为起始地址,对RAM进行寻址,计算出峰值附近2048个点的累加值之和,将其除以2048后,作为噪声功率的估计。最后将峰值、峰值对应的地址以及噪声功率的估计值锁存到register b和register c。
(d)捕获控制(检测判决)模块
检测判决的步骤如下:
●设定计数器K,初始化为K0
●若非相干累加后的峰值大于门限,计数器K加1;反之,计数器K减1
●K=K1,判决检测到信号;K=0,判决未检测到信号;否则,开始新的非相干累加频率细搜的流程见上面的图“频率细搜的流程”。
其中,捕获时间估计如下:
单次处理所需的时钟周期如下表4所示
处理过程  内插   FFT(IP)  复乘和IFFT(IP)  求模选大  门限计算  合计
时钟周期  12400  约15000  约15000         4096      2048      48544
表4
考虑到处理中其他的等待时间,设余量为100个时钟周期,当处理使用62MHz的时钟并且非相干累加次数为2时,单次处理所需时间为Td≈1.6ms。因为多普勒频率范围为±6kHz,考虑到晶振的频漂约为±1kHz,因此共需N=(7kHz*2)/2kHz=7个频点,故快捕模块搜索完所有通道所用时间约为
因此,本方法满足单通道5s的捕获时间的要求。
2.FPGA模块软件设计
按照自顶向下的设计思路,对前向通道FPGA专用数字信号处理器进行详细设计,FPGA专用数字信号处理器的设计将分为顶层设计和模块级设计。顶层设计用于描述各模块间的关系,模块级设计用于实现各模块的功能。顶层设计成DSP数据控制接口模块、前向测距通道处理模块和前向遥测通道处理模块三个部分。
前向测距通道处理模块和前向遥测通道处理模块包括积分清除计算单元、载波锁频环处理单元、载波锁相环处理单元、再生伪码发生器单元、位同步处理单元、帧同步处理单元。
下面的表2给出了整个FPGA专用数字信号处理器包含的各个模块和功能单元以及它们的标识符。
表2
【1】积分清除计算单元:
由数字混频器、数字相关器等组成;数字混频器的作用是将GPS射频前端输出的数字中频信号变换成I、Q两路数字零中频信号,便于后面进行基带信号解扩。
其中,数字混频器用乘法器实现。载波NCO的I、Q输出与输入信号在乘法器中进行数字下变频,于是去除输入信号载频而保留了用于基带相关的码。
其中,数字相关器由数字乘法器和积分-清除器构成;积分-清除器有两个作用:(1)低通滤波器:积分-清除器相当于一个低通滤波器,滤除混频后的和频成分。(2)降采样率:地面站的输入中频信号的采样率为62MHz,积分清除器每累加5808点输出一次结果,即数据采样率降为5KHz,一个伪码周期的长度。因为在位同步之前,如果积分时间超过一个伪码周期的长度,那么积分时间段内可能跨越数据位的跳变,这种情况下得到的I、Q两路积分清除结果就是错误的。所以选择积分清除时间为0.2ms。积分-清除器用一个双向(加法和减法)累加器实现,利用它对数字混频后输入信号与本地码相乘的每一个结果进行累加,经过0.2ms的积分累加后,输出一次相关累加值。积分-清除器的输入信号是数字下变频后的数据。再生伪码来自再生伪码发生器,当再生伪码为高电平时,则做加法运算;当再生伪码为低电平时,则做减法运算。在62MHz的上升沿进行累加运算,并在再生5K为高电平时,利用62MHz下降沿锁存输出一次0.2ms的累加结果,同时利用62MHz的上升沿进行同步置数。
下面对数字相关器的功能叙述如下:
1)将锁频环载波NCO查找表输出的本地复制I,Q两路载波信号与数字中频信号幅度转换后的结果相乘,实现中频数字信号的下变频。
2)下变频的结果利用码环的再生伪码发生器产生的各路再生伪码进行解扩,每0.2ms得到的积分清除结果输出(注意即时再生码积分清除20K结果的输出时间为每0.05ms输出一次),作为之后的锁频环鉴别器以及相位旋转模块的输入。
数字相关器的算法描述如下:
2)将锁频环载波NCO的输出Nco和幅度转换后的结果Adc下变频,就是将二者进行乘法运算,得到二进制表示的补码结果。硬件实现中调用了FPGA芯片中集成的硬件乘法器。
2)积分清除的原理就是用一个累加器对数字下变频后输入信号与再生伪码相乘的每一位结果在系统时钟Clk62的上升沿进行累加,(伪码为‘1’乘以1,伪码为‘0’乘以-1,)经过0.2ms的积分累积后,在再生5KHz为高电平时,利用Clk62时钟的下降沿锁存积分清除结果并输出,同时利用62MHz的上升沿进行同步置数。
接口描述
数字相关器的接口描述如下:
模块内部接口:
以下是积分清除模块的内部接口信号,包括复位信号,62MHz系统时钟以及数字中频幅度信号,另外还有锁频环NCO产生的载波正余弦幅度信号和再生伪码发生器产生的各路伪码。
Figure GSB00000456208800331
Figure GSB00000456208800341
模块外部接口:
以下是积分清除模块的外部接口信号,包括再生伪码发生器产生的再生5KHz时钟以及各路积分清除的结果。
Figure GSB00000456208800342
【2】载波锁频环处理单元
本单元是为载波跟踪算法提供数据的单元,在每一个伪码周期,它都向后向通道DSP信号处理器提供一次积分清除的结果,作为载波跟踪算法的依据,完成对中频输入数据的载波频率的跟踪。
该单元包括载波相位累积器(carrier_phase_acc)和载波锁频环NCO查找表(fll_looker_nco)子单元。
A.载波相位累积器(fll_phase_accum)模块设计
载波相位累积器的作用是从载波跟踪环路第一次闭合开始记录载波相位的整周数和小数周数,该计数用于计算差分距离值。
载波相位累积器可以用硬件实现,需要注意以下两种情况:(1)整周计数器计数值超过计数容量(整周上溢出);(2)在多普勒频率出现负频率时,整周计数器将有可能一直作减计数到零值以下造成下溢出,以致计数器翻转。上述情况将使载波相位累积器提取的差分测量值是错误的。
载波相位累积器硬件包括:预置寄存器、更新寄存器、累加器、累加结果寄存器、整周计数器组成,实现方法如图4所示。
其中,差分测量组之间时间间隔为0.5s(每秒两个下行测量帧),载波相位累积器的累加器字长为32位。多普勒频率在±6kHz的情况下,累加器在0.5s内将最多有45000次(0.5s×6kHz=3000)溢出。取整周计数器为20位,最大计数值(计数容量)1,048,576,至少在23秒内不会有整周计数器的上溢出。所以选择20位的整周计数器,可以保证从载波累积器提取的任何两组差分测量值之间发生计数器翻转的次数不超过一次,那么差分测量便是准确的。
载波相位累积器功能描述:
1)累加锁频环环路频率字与中频频率字,累加的结果作为锁频环载波NCO正余弦查找表的输入。
2)累加锁频环环路频率字,输出锁频环多普勒载波累加器计数值。
载波相位累积器功能描述算法描述:
4)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字。
5)用系统时钟Clk62的上升沿对新的频率字和中频频率字进行累加,并取NCO累加结果的高12位作为查找表的输入;
6)用系统时钟Clk62的上升沿对新的频率字进行单独累加,取49位累加结果作为锁频环多普勒载波累加器计数值。
载波相位累积器接口描述
Figure GSB00000456208800351
模块内部接口
Figure GSB00000456208800352
Figure GSB00000456208800361
模块外部接口
Figure GSB00000456208800362
B.载波锁频环NCO查找表(FLL_look_nco)模块设计
载波锁频环NCO查找表是载波跟踪环的重要组成部分,它的主要功能是产生本地复制载波信号。载波锁频环NCO查找表的另一个重要任务是要测量出接收信号多普勒频移和接收信号的载波相位。
载波锁频环NCO查找表设置有频率控制字输入接口,载波环路通过不断调整载波锁频环NCO查找表的频率字来保持对接收信号载波频率和相位的跟踪。
载波锁频环NCO查找表要有足够的频率分辨率,保证能够高精度测量载波多普勒频率,这就要求载波锁频环NCO查找表要有足够的相位累加器字长,来满足频率分辨率的要求。载波锁频环NCO查找表的基准频率fs=62MHz。当载波锁频环NCO查找表的相位累加器字长为32位时,频率分辨率为δf=fclk/232=0.014Hz,可满足上面载波频率调整的需要。设频率控制字为W,则输出频率为
f o = W 2 32 f s
由于前面的相位累加的功能已经在载波相位累积器模块里面实现了,因此本部分只实现查找表的功能。
载波锁频环NCO查找表功能描述:
根据载波相位累积器的输出,产生本地复制载波信号。
载波锁频环NCO查找表算法描述:
将载波相位累积器累加结果的高12位送入正余弦查找表(由ISE7.1生成的IP核)当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存。
载波锁频环NCO查找表的接口描述:
模块内部接口
Figure GSB00000456208800365
模块内部接口
接口名称   方向    功能
Clk62      IN      62MHz系统时钟
Fll_Nco_Pha(31 downto IN  载波NCO 0.2ms相位累加值高12位
20)
Figure GSB00000456208800371
模块处部接口
接口名称     方向    功能
Fll_Nco_Cos  OUT     锁频环路NCO余弦输出
Fll_Nco_Sin  OUT     锁频环路NCO正弦输出
【3】载波锁相环(pll_loop_unit)处理单元
载波锁相环处理单元主要完成以下功能:
3)接收外部复位控制信号(Reset),对自身进行复位,即返回至起始状态;
4)对输入的数字中频信号进行下变频、解扩以及积分清除,并提取0.2ms时刻的即时通道,超前滞后1/2、1/4通道的积分清除器结果给主信号处理器;
3)提取0.2ms时刻的载波整数、小数周相位,NCO累加结果寄存器的值给主信号处理器。
4)进行接收数据的解调,输出串行解调数据和帧同步信号。
该单元包括载波相位累积器(pll_phase_accum)与载波NCO查找表(pll_looker_nco)单元。
A载波相位累积器
载波相位累积器的功能描述
累加锁相环环路频率字,输出锁相环多普勒载波累加器计数值,累加的结果的(31 downto 20)共12位作为锁相环载波NCO正余弦查找表的输入。
载波相位累积器的算法描述
1)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字。
2)用系统时钟Clk62的上升沿对新的频率字进行累加,取49位累加结果作为锁相环多普勒载波累加器计数值,并取NCO累加结果的(31 downto 20)共12位作为查找表的输入。载波相位累积器的接口描述
Figure GSB00000456208800372
模块内部接口
Figure GSB00000456208800373
Figure GSB00000456208800374
模块外部接口
接口名称         方向  功能
ReClk5K_E_4prd   IN    再生5K同步时钟超前4个时钟的置数时钟
Pll_Pha_Int_dec  OUT   锁相环整周、小数周计数值
B.载波锁相环NCO查找表(PLL_look_nco)模块设计
由于前面的相位累加的功能已经在载波相位累积器模块里面实现了,因此本部分只实现查找表的功能。
载波锁相环NCO查找表功能描述:
根据载波PLL相位累积器的输出,产生本地复制载波信号。
载波锁相环NCO查找表:算法描述
将载波相位累积器累加结果的(31 downto 20)共12位送入正余弦查找表(生成的IP核)当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存。
载波锁相环NCO查找表接口描述:
Figure GSB00000456208800381
模块内部接口
Figure GSB00000456208800382
【4】再生伪码发生器单元模块设计
(1)功能
再生伪码发生器单元是为伪码跟踪环路提供多路伪码的单元,它接收捕获电路部分给出的FFT快捕码片数,在时钟的推动下产生即时及超前、滞后分别为
Figure GSB00000456208800383
Figure GSB00000456208800384
码相位的各路伪码,用于对输入数据码相位的鉴别。
再生伪码发生器的功能是:
5)接收外部复位控制信号(Reset),对自身进行复位,即返回至起始状态;
6)接收由码速率频率字、码环滤波器输出的频率字及载波辅助量频率字三部分组成的码频率控制字,用累加器计数,推动再生伪码的产生,通过查表得到伪码序列。
7)用移位寄存器对再生伪码进行移位,得到所需的即时、超前、滞后伪码。
8)输出即时码片计数及即时码相位。
(2)算法描述
再生伪码发生器的结构如图5所示,伪码的选择输出通过一个42位累加器模1023×1023来实现,高10位顺序对应1023个伪码码片,事先按相应顺序存储伪码组成码表,用高十位作为地址去查找码表,输出相应的伪码。
(3)接口关系
Figure GSB00000456208800401
【5】位同步处理单元(Bit_sync_unit)
(1)功能描述
测距信号的信息位和伪码周期是同步的。信息位速率是1kbps,每一位数据中包含1个伪码周期。数据位时钟对应伪码周期的起始位置。
(2)算法描述
测距通道在跟踪环路锁定时,用作环路积分清除的再生5kHz时钟的上升沿对应伪码周期的起始位置。
位同步模块由数字锁相环组成。数字锁相环根据本地估算的位同步时钟的相位误差,对本地估算出的位同步时钟相位进行连续不断的反馈调节,从而达到使本地估算的位同步时钟相位跟踪测距信号位同步时钟相位的目的。
I_Circum_sign为输入的数据流,对其进行符号判决,得到+1或者-1作为位同步数字锁相环的输入信号。
(3)接口描述
Figure GSB00000456208800402
【6】帧同步处理单元(Frame_sync_unit)
(1)功能描述
位同步结束后,需要进行数据解调。对位时钟内的10点数据累加,判断累加结果的符号,大于0此位判定为‘1’,小于0此位判定为‘0’。
数据解调之后,同步数据帧的传输还需要实现帧同步,即要确定一帧数据传输开始的时刻。通过连续不断的检测帧同步字“EDE20”来确定数据帧的开始时刻。
(2)算法描述
实现帧同步逻辑的原理如图6所示。串行数据在位同步逻辑恢复出的位时钟的作用下,依次移入移位寄存器。将移位寄存器的内容与预知的固定帧同步字进行比较,如果两者相同,则输出高电平,否则保持低电平,这样,比较逻辑输出的高电平脉冲即为检测出来的帧同步脉冲。但是这样的结果不能直接输出,因为在数据帧的数据段中有可能出现伪帧同步字,从而导致输出虚假的帧同步脉冲,影响数据的正确接收。比较逻辑输出的高电平脉冲需要输入帧保护模块,消除虚假脉冲。
帧保护模块在内部设立有一个帧同步状态标志,在初始时刻,该标志指示尚未得到真正的帧同步脉冲,即尚未实现帧同步。在接收到来自比较逻辑的第一个高脉冲(可能为帧同步脉冲)后,由于没有先验知识判定该脉冲是否为真正的帧同步脉冲,为了防止该帧数据丢失,假定它为真正的帧同步脉冲,将它输出。根据数据帧出现的规律,经过一段确知的时间后(1000个数据位),应该在确定的时刻能够检测到帧同步脉冲的出现。如果没能检测到高脉冲,则说明比较逻辑前次输出的高脉冲不是真正的帧同步脉冲,上述过程继续。如果连续3次都能在指定位置检测到帧同步脉冲,则认为已经完成帧同步任务,使帧同步状态标志指示已经实现帧同步。以后就只在预测的位置让比较逻辑产生的帧同步脉冲通过。
在实现帧同步以后,仍旧在预测的时刻检测比较逻辑输出的高脉冲,如果连续3没能检测到预期的帧同步高脉冲,则认为失去帧同步,需要重启帧同步过程。
(3)接口描述
Figure GSB00000456208800411
Figure GSB00000456208800421
3.DSP模块详细设计
其中,DSP模块的功能描述:
(1)DSP程序加载完成后控制FPGA复位;
(2)完成一路下行遥测和一路测距信号的环路处理:
Figure GSB00000456208800422
响应通道的5KHz同步时钟中断:
从通道FPGA读取积分-清除器的0.2ms积分累加结果、相位旋转结果;
Figure GSB00000456208800423
完成通道环路的跟踪处理:
实现通道的载波锁频环、载波锁相环和码跟踪算法,控制载波锁频环、载波锁相环和码环跟踪锁定;
输出通道的锁频环NCO频率字、锁相环NCO频率字和码NCO频率字至前端通道FPGA;
(3)读取FFT快捕及测距通道前向处理FPGA内部存储器中的遥测数据、下获取下行测量信号的载波多普勒频率、数据位计数、伪码周期数、伪码相位、伪码CHIP相位、载波的整数周、载波相位、下行测量信号的信噪比以及下行测量帧数据;
(4)处理控制命令:
接收遥控命令、测量信号的功率比例因子、伪码码型、载波多普勒频率、码多普勒频率、载波加速度/加加速度和射频参考信号频率;
Figure GSB00000456208800425
将控制数据转发给FFT快捕及测距通道前向处理FPGA。
其中,DSP信号处理器接口定义,如下表3所示:
Figure GSB00000456208800426
表3
其中,DSP信号处理器程序流程包括主程序、中断服务程序和环路处理程序三个组成部分,其中主程序包括初始化,中断控制,仲裁等。将载波和伪码的跟踪锁定过程放在10kHz中断程序内,只要有新数据来就立即进行环路跟踪。
流程中所用到的标志变量含义说明如下:
Figure GSB00000456208800432
DSP输出控制寄存器
主信号处理DSP的输出结果,用于FFT快捕及前向通道处理FPGA的功能进行控制与编程,完成载波周期计数,伪码周期计数,以及载波剥离,调整再生伪码发生器等功能。
(1)FLL_NCO_WORD_ADDR(r)
格式:
  Bit  Bit name
  31-0  通道载波锁频环NCO频率字
(2)PLL_NCO_WORD_ADDR(r)
格式:
  Bit  Bit name
  31-0  通道载波锁相环NCO频率字
(3)DDLL_NCO_WORD_ADDR(r)
格式:
  Bit  Bit name
  31-0  通道码NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道。
Figure GSB00000456208800433
前向通道处理FPGA输出数据寄存器
(4)前向通道处理FPGA 0.1ms积分清除结果寄存器
I_PM_20K_ACCUM_FRONT_ADDR(r)
Q_PM_20K_ACCUM_FRONT_ADDR(r)
I_PM_20K_ACCUM_BACK_ADDR(r)
Q_PM_20K_ACCUM_BACK_ADDR(r)
I_PM_10K_ACCUM_ADDR(r)
Q_PM_10K_ACCUM_ADDR(r)
格式:
  Bit  Bit name
  31:26  Unused
  27:0  通道码NCO频率字
(5)前向通道处理FPGA相位旋转结果寄存器
I_PM_10K_ROTATE_ADDR(r)
Q_PM_10K_ROTATE_ADDR(r)
I_WE_10K_ROTATE_ADDR(r)
Q_WE_10K_ROTATE_ADDR(r)
I_WL_10K_ROTATE_ADDR(r)
Q_WL_10K_ROTATE_ADDR(r)
格式:
Figure GSB00000456208800441
(6)前向通道处理FPGAFFT快捕结果寄存器
FFT_ACQUI_STATE_ADDR(r)
FFT_ACQUI_DOPP_ADDR(r)
其中,r=1代表测距通道,r=0代表遥测通道
下面对DSP模块的三部分组成详细说明如下:
DSP主程序流程说明(main)
①程序描述
主程序是DSP后向通道处理软件程序中的主要部分,对DSP的外部存储器和中断的设置,完成对整个DSP软件程序的控制处理。
②功能
主程序的主要功能是完成初始化工作和环路处理程序的循环控制,初始化工作包括CSL库的初始化,全局变量初始化。另外,主程序中还完成了中断的映射与设置。
③输入项
FFT_Acqui_Flag:捕获状态标志
名称            类型        描述
FFT_Acqui_Flag  int(整型)   0:未捕获
1:捕获
INTR_0_2ms_Flag:软件中断标志
名称              类型            描述
INTR_0_2ms_Flag   char(字符型)    TRUE:中断发生
FALSE:中断清除
④流程逻辑
如图7所示,首先进行开机初始化,包括CSL库函数的初始化,以及程序中所需要的全局变量的初始化;之后对环境变量进行设置,配置EMIF外部空间寄存器;再者,对外部中断进行设置,包括中断映射,复位,清除和使能。以上所有过程处理完之后,等待中断标志到来,然后判断中断所属的通道,再进行所属通道的环路处理,处理完后清除中断标志,再继续等待下一次中断的到来。
DSP 0.2ms中断服务程序说明(FFT_0_2ms_Intr_ISR)
①程序描述
0.2ms中断服务程序是DSP对外部硬件中断的响应之后,读取所需外部接口数据而设计的。
②功能
中断服务程序的主要功能是通过开关中断的过程中完成外部数据的读入,另外,每开一次中断读取完数据后,将该通道软件中断标志置高,以备主程序进行环路处理的程序控制。
③性能
a)精度要求
Figure GSB00000456208800451
积分清除结果寄存器取32位数据
Figure GSB00000456208800452
相位旋转结果寄存器取32位数据
其中,FPGA前向通道处理器输出的相位旋转结果位宽为36bit,DSP外部数据读取位宽只有32bit,一个数据要进行两次外部数据线读取再进行整合,在程序中相位旋转数据仍要保持36bit位宽。
④输入项
前向通道处理FPGA输出(DSP输入)数据寄存器
前向通道处理FPGA 0.2ms积分清除结果寄存器
I_PM_5K_ACCUM_ADDR(r)
Q_PM_5K_ACCUM_ADDR(r)
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
前向通道处理FPGA相位旋转结果寄存器
I_PM_5K_ROTATE_ADDR(r)
Q_PM_5K_ROTATE_ADDR(r)
I_WE_5K_ROTATE_ADDR(r)
Q_WE_5K_ROTATE_ADDR(r)
I_WL_5K_ROTATE_ADDR(r)
Q_WL_5K_ROTATE_ADDR(r)
格式:
  Bit   Bit name
  31:0   相位旋转结果寄存器
前向通道处理FPGA FFT快捕结果寄存器
FFT_ACQUI_STATE_ADDR(r)
格式:
  Bit   Bit name
  30:0   Unused
  31   捕获状态寄存器
FFT_ACQUI_DOPP_ADDR(r)
格式:
  Bit   Bit name
  31:0   捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑤输出项
Figure GSB00000456208800461
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
Figure GSB00000456208800462
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we_5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
Figure GSB00000456208800463
FFT捕获寄存器
FFT_Acqui_State[r]
FFT_Acqui_Dopp_Word[r]
Figure GSB00000456208800471
0.2ms中断发生标志
Irq_01ms_Flag[r]
其中,r=1代表测距通道,r=0代表遥测通道
⑥流程逻辑
如图8所示,进入中断服务程序后,首先将外部中断关闭后清除即保护现场,然后保存前一次通道积分清除结果,读取当前通道积分清除结果、相位旋转结果,并将中断标志变量置为有效,最后打开中断,恢复现场后退出中断。DSP后向通道处理的软件程序设计中,对于0.2ms的中断服务程序的设计分为测距通道0.2ms中断服务程序和遥测通道0.2ms中断服务程序。
⑦接口如图9所示
中断服务程序与主程序之间的接口:软件中断标志、捕获状态标志;
中断服务程序与环路处理程序的接口:积分清除数据、相位旋转数据、捕获多普勒频率字。
DSP通道环路处理流程说明(LOOP_TRACK_FUNC)
如图10所示,环路处理开始后,首先对环路状态进行确定,如果处于锁定或跟踪状态,则进行下一步的处理;
环路计数器控制整个环路的处理进程,为单向计数,每进入一次环路处理,也即每来一次中断读取新数据后对环路计数器加1。
FLL处理中,由FLL门限切换标志控制FLL鉴频器采用10K积分清除数据还是20K积分清除数据,接着对鉴频结果进行环路滤波,输出FLLNCO控制字;
PLL处理中,鉴相器采用二象限鉴相,鉴相结果通过环路滤波器输出PLLNCO控制字;
DDLL处理中,对于码相位的鉴别中要有一步归整的处理,即鉴别结果超前2个码片则归为+2,滞后2个码片则归为-2;鉴别结果通过环路滤波再由载波辅助的处理后输出DDLLNCO控制字;
①程序描述
环路处理程序为DSP后向处理的核心部分,实现数据鉴别算法,环路滤波算法,处理完后得到的数据要向FPGA前向通道处理器输出,以完成整个跟踪过程。
②功能
环路处理程序在捕获模块的伪码相位预测值和多普勒频率预测值的基础之上,进行伪码相位的跟踪和载波相位的锁定跟踪,主要完成FLL鉴别算法,FLL环路滤波算法,PLL鉴别算法,PLL环路滤波算法,DDLL鉴别算法,DDLL环路滤波算法,FLL锁定判决,PLL锁定判决,DDLL锁定判决。
③性能
Figure GSB00000456208800472
各环路NCO频率字寄存器取32位数据
Figure GSB00000456208800481
FLL,PLL,DDLL锁定状态与环路状态寄存器整合后取32位数据,格式如下:
Figure GSB00000456208800482
其中,r=1代表测距通道,r=0代表遥测通道
④输入项
Figure GSB00000456208800483
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
Figure GSB00000456208800484
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we_5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
格式:
  Bit   Bit name
  31:0   相位旋转结果寄存器
Figure GSB00000456208800485
FFT捕获寄存器
FFT_Acqui_Dopp_Word[r]
格式:
  Bit   Bit name
  31:0   捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑤输出项
Figure GSB00000456208800491
锁频环NCO频率字
FLL_NCO_WORD_ADDR(r)
格式:
Figure GSB00000456208800492
Figure GSB00000456208800493
锁相环NCO频率字
PLL_NCO_WORD_ADDR(r)
格式:
  Bit  Bit name
  31-0  通道载波锁相环NCO频率字
Figure GSB00000456208800494
码环NCO频率字
DDLL_NCO_WORD_ADDR(r)
格式:
  Bit  Bit name
  31-0  通道码环NCO频率字
Figure GSB00000456208800495
状态寄存器
STATE_REGISTER_ADDR(r)
格式:
  Bit   Bit name
  31-0   状态寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑥锁频环跟踪模块(FLL_TRACK_FUNC)
该模块中实现的功能:FLL鉴别算法,FLL环路滤波算法。
⑦输入项
Figure GSB00000456208800496
积分清除结果
I_pm_5k_Accum_past[r]
Q_pm_5k_Accum_past[r]
I_pm_5k_Accum_curr[r]
Q_pm_5k_Accum_curr[r]
格式:
  Bit   Bit name
  31:26   Unused
  27:0   积分清除结果寄存器
FFT捕获寄存器
FFT_Acqui_Dopp_Word[r]
格式:
  Bit   Bit name
  31:0   捕获多普勒寄存器
其中,r=1代表测距通道,r=0代表遥测通道
⑧输出项
Figure GSB00000456208800502
锁频环NCO频率字
FLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道载波锁频环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
另外,锁频环算法:锁频环鉴别器采用点交叉鉴频算法,公式如下:
ef k = a tan ( I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) ) / 2 πT - - - ( 4.6 )
为了获得更大的鉴频范围,锁频环先采用20K鉴频,而后采用10K鉴频。对于20K鉴频,反正切采用四象限算法;对于10K鉴频,反正切采用二象限算法。根据式(24)(25),忽略噪声后,代入(2)式,得:
I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) = sin θ ( k ) · cos θ ( k - 1 ) - cos θ ( k ) · sin θ ( k - 1 ) cos θ ( k ) · cos θ ( k - 1 ) + sin θ ( k ) · sin θ ( k - 1 )
根据三角和差公式,得:
I ps ( k - 1 ) · Q ps ( k ) - I ps ( k ) · Q ps ( k - 1 ) I ps ( k ) · I ps ( k - 1 ) + Q ps ( k ) · Q ps ( k - 1 ) = sin [ θ ( k ) - θ ( k - 1 ) ] cos [ θ ( k ) - θ ( k - 1 ) ] = tan [ θ ( k ) - θ ( k - 1 ) ] - - - ( 4.7 )
再由θ(k)-θ(k-1)=2πTΔfd,T为积分清除时间,采用20K时,T=0.05ms;采用10K时,T=0.2ms。所以锁频环鉴别算法的结果为efk=Δfd,其中,
Figure GSB00000456208800506
即信号实际多普勒频率与本地估计多普勒频率的差值。
锁频环路滤波算法
对于相同阶数的跟踪环路,相对锁相环和码环中采用的滤波器,锁频环的滤波器需要增加一个积分器。
锁频环相对于锁相环,对动态的应力较好。为应对同样的动态,锁频环的阶数可以比锁相环的阶数低一阶。所以载波跟踪锁频环采用二阶环路,一阶滤波器实现。
一阶最优环路滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s = 1 K d K v [ 2 w n + w n 2 · 1 s ] = 1 K [ 2 w n + w n 2 · 1 s ] - - - ( 4.8 )
其中,Kd=1,为频率鉴别器的增益,
Figure GSB00000456208800512
为NCO的增益,K=KdKv为环路滤波器的增益,wn为环路的自然频率。
相应的载波环的滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s · 1 s = 1 K d K v [ 2 w n + w n 2 · 1 s ] · 1 s = 1 K [ 2 w n · 1 s + w n 2 · 1 s 2 ] - - - ( 4.9 )
二阶载波环路的滤波器如图11、12所示。
采用数字矩形积分映像方式,其映射关系为:
Figure GSB00000456208800514
其中T为环路滤波器的输入采样频率(这里的T是前级的鉴频算法的输出鉴频结果的时间间隔)。
二阶载波环路滤波器的离散传递函数为:
F ( z ) = ( 2 ω n T + ω n 2 T 2 ) - 2 ω n T · z - 1 K ( 1 - 2 z - 1 + z - 2 ) - - - ( 4.10 )
其实域对应表达式为:
y ( k ) - 2 y ( k - 1 ) + y ( k - 2 ) = ( 2 ω n T + ω n 2 T 2 ) K e f ( k ) - 2 ω n T K e f ( k - 1 ) - - - ( 4.11 )
其中,T-为滤波器输入采样时间间隔,T=0.1ms;
ωn-为环路的自然频率,ωn=1.89BLF,BLF为环路的带宽。
①输入项
Figure GSB00000456208800517
相位旋转结果
I_pm_10k_Rotate[r]
Q_pm_10k_Rotate[r]
格式:
  Bit   Bit name
  31:0   即时通道相位旋转结果寄存器
其中,r=1代表测距通道,r=0代表遥测通道
②输出项
Figure GSB00000456208800521
锁相环NCO频率字
PLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道载波锁相环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
锁相环算法:
对经过解调、解扩后的信号进行积分清除,经过相位旋转,采用锁相环进一步消除频差和相位差,相位旋转如下实现:
I ′ = I ( k ) · cos ( θ ^ k ) + Q ( k ) · sin ( θ ^ k ) = d · A · R [ τ e ( k ) ] · sin c [ Δ w d ( k ) · N / 2 ] · cos ( θ k - θ ^ k ) - - - ( 4.12 )
Q ′ = Q ( k ) · cos ( θ ^ k ) - I ( k ) · sin ( θ ^ k ) = d · A · R [ τ e ( k ) ] · sin c [ Δ w d ( k ) · N / 2 ] · sin ( θ k - θ ^ k ) - - - ( 4.13 )
选择
Figure GSB00000456208800524
作为锁相环的鉴别算法,即二象限鉴相。
锁相环环路滤波算法采用二阶环路滤波器,即三阶跟踪环路,其最优环路滤波器为:
F ( s ) = 2 ω np s 2 + 2 ω np 2 s + ω np 3 K d K v s 2 = 1 K d K v [ 2 ω np + 2 ω np 2 · 1 s + ω np 3 · 1 s 2 ] - - - ( 4.14 )
其中,ωnp为环路的自然频率;Kd为鉴相器增益(Kd=1);Kv为NCO增益
Figure GSB00000456208800526
其中
Figure GSB00000456208800527
该环路滤波器的模拟实现形式如图13所示。图中,K=KdKv为环路增益。
采用数字矩形积分映像方式,其映射关系为:
Figure GSB00000456208800528
其中T为环路滤波器的输入采样频率(在本系统中,T=0.2ms,由载波跟踪环路的更新时间T=0.2ms决定)。
环路滤波器的离散传递函数为:
F ( z ) = ( 2 ω np + 2 ω np 2 · T + ω np 3 · T 2 ) - ( 4 ω np + 2 ω np 2 · T ) · z - 1 + 2 ω np · z - 2 K ( 1 - 2 z - 1 + z - 2 ) - - - ( 4.15 )
其时域对应表达式为:
θ ^ ( k ) - 2 θ ^ ( k - 1 ) + θ ^ ( k - 2 ) = ( 2 ω np + 2 ω np 2 · T + ω np 3 · T 2 ) · e p ( k ) K (4.16)
- ( 4 ω np + 2 ω np 2 · T ) e p ( k - 1 ) K + 2 ω np · e p ( k - 1 ) K
其中,ωnP=1.2BLF,BLF为跟踪环路带宽,T是环路滤波器采样时间间隔(等于环路更新时间)。
码环跟踪模块(DDLL_TRACK_FUNC)
该模块完成的功能有:DDLL鉴别算法,DDLL环路滤波算法。
①输入项
Figure GSB00000456208800531
相位旋转结果
I_pm_5k_Rotate[r]
Q_pm_5k_Rotate[r]
I_we_5k_Rotate[r]
Q_we_5k_Rotate[r]
I_wl_5k_Rotate[r]
Q_wl_5k_Rotate[r]
格式:
  Bit   Bit name
  31:0   相位旋转结果寄存器
Figure GSB00000456208800532
锁频环NCO频率字
FLL_NCO_WORD(r)
格式:
  Bit   Bit name
  31-0   通道载波锁频环NCO频率字
Figure GSB00000456208800533
锁相环NCO频率字
PLL_NCO_WORD(r)
格式:
  Bit   Bit name
  31-0   通道载波锁相环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
②输出项
Figure GSB00000456208800534
码环NCO频率字
DDLL_NCO_WORD(r)
格式:
  Bit  Bit name
  31-0  通道码环NCO频率字
其中,r=1代表测距通道,r=0代表遥测通道
伪码跟踪环算法:
该码跟踪环鉴别算法采用点积鉴别算法,采用“归一化”操作,这样做的好处是能有效减少幅度敏感性,同时在适当信噪比条件下提供不变的鉴别器增益,有助于确定跟踪环路的增益。
归一化的点积鉴别器算法如下:
ec k = [ I es ( k ) - I ls ( k ) ] I ps ( k ) + [ Q es ( k ) - Q ls ( k ) ] Q ps ( k ) I ps 2 ( k ) + Q ps 2 ( k ) - - - ( 4.17 )
式中,Ies(k)、Ips(k)、Ils(k)分别为输入同相数字信号与超前码、实时码及滞后码在数字相关积累后的输出,Qes(k)、Qps(k)、Qls(k)分别为输入正交数字信号与超前码、实时码、滞后码在数字相关积累后的输出。
码环路滤波器
伪码跟踪环路采用二阶环路,参考GPS系统的设计,其最优环路传递函数为:
H τ ( s ) = 2 w n · s + w n 2 s 2 + 2 w n · s + w n 2 - - - ( 4.18 )
二阶环路对应的一阶滤波器为:
F τ ( s ) = 2 w n · s + w n 2 K d K v s = 1 K d K v [ 2 w n + w n 2 · 1 s ] = 1 K [ 2 w n + w n 2 · 1 s ] - - - ( 4.19 )
因此,一阶滤波器的模拟实现如图14:
采用数字矩形积分映像方式,其映射关系为:其中T为环路滤波器的输入采样频率,也就是积分清除器的时间间隔。环路滤波器数字实现框图如图15:
二阶DDLL环路的一阶数字滤波器的离散传递函数为:
F τ ( z ) = ( 2 ω n + ω n 2 T ) - 2 ω n z - 1 K ( 1 - z - 1 ) - - - ( 4.20 )
时域对应表达式为:
y ( k ) - y ( k - 1 ) = ( 2 ω n + ω n 2 T ) K e c ( k ) - 2 ω n K e c ( k - 1 )
y ( k ) = y ( k - 1 ) + ( 2 ω n + ω n 2 T ) K e c ( k ) - 2 ω n K e c ( k - 1 ) - - - ( 4.21 )
其中,ωn-为环路滤波器的自然角频率,ωn=1.89BLF,BLF=2为环路带宽;T-为环路滤波器输入采样时间间隔(等于环路更新时间);
K=KdKv为环路滤波器增益。Kd=2为鉴相器增益,
Figure GSB00000456208800548
为NCO增益,其中fs=62MHz。y(k)是滤波器输出的频率字增量,在频率字更新时,该频率字增量与码率频率字偏置Pbias(等于
Figure GSB00000456208800551
)及载波辅助量频率字相加后一起作为码率控制字。码率控制字在积分清除时钟再生10kHz时钟的控制下进入伪码生成器。
载波辅助设计:
载波跟踪环在跟踪载波变化的同时向码环提供一个载波辅助用以校正由于多普勒效应引起的码率变化。伪码码率为fc,应答机接收下行载波频率为fdown,则由于动态运动而带来的伪码码率变化量为为:
Figure GSB00000456208800553
其中,
Figure GSB00000456208800554
为载波辅助的比例因子,
Figure GSB00000456208800555
为载波环路滤波器输出的多普勒频率估计值。
载波频率由两个部分组成,(1)载波跟踪锁频环估计的频率
Figure GSB00000456208800556
其中
Figure GSB00000456208800557
是输入的载波跟踪锁频环估计的频率字,CLKFLL是载波跟踪锁频环的NCO累加频率。(2)载波跟踪锁相环估计的频率
Figure GSB00000456208800558
其中
Figure GSB00000456208800559
是输入的载波跟踪锁相环估计的频率字,10kHz是载波跟踪锁相环的NCO累加频率。
码环的频率
Figure GSB000004562088005510
其中
Figure GSB000004562088005511
是码环的频率字增量,CLKDDLL是码环实现NCO功能的累加器的累加频率。
载波辅助模块输入的是载波跟踪锁频环和载波跟踪锁相环的频率字增量,输出的是码跟踪环的频率字增量,所以用频率字表示频率带入
Figure GSB000004562088005512
可得:
f ^ d _ ship = CLK DDLL × Δ W f ^ d _ chiip 2 32 = f c f down f ^ d = f c f down · ( f ^ d _ FLL + f ^ d _ PLL )
= f c f down ( CLK FLL × Δ W f ^ d _ FLL 2 32 + CLK PLL × Δ W f ^ d _ PLL 2 32 )
化简得:
Δ W f ^ d _ chip = f c f down ( CLK FLL × Δ W f ^ d _ FLL CLK DDLL + CLK PLL × Δ W f ^ d _ PLL CLK DDLL ) - - - ( 4.22 )
将式中的
Figure GSB00000456208800561
以及码环环路滤波器输出的频率字增量值和固定频率字偏置频率
Figure GSB00000456208800562
相加后,一起回馈给再生伪码发生器进行调整。如此即可有效降低载体机动对伪码延迟锁定环的影响,从而提高码跟踪环的动态跟踪性能和跟踪精度。
CLKFLL=CLKPLL=CLKDDLL=62MHz。
锁定判别模块(LOOP_LOCK_FUNC)
锁定判别模块主要功能是完成FLL锁定判决,PLL锁定判决,DDLL锁定判决,并依据PLL锁定状态完成环路状态的锁定判决。
FLL,PLL,DDLL的锁定判决中,都是利用其鉴别算法得到的鉴别结果进行平滑滤波之后,再进行门限比较来判定各自的锁定状态。
环路处理流程逻辑如图16所示。
接口描述,如图17:
环路处理程序与中断服务程序接口:积分清除数据、相位旋转数据、捕获多普勒频率字;
环路处理程序与测距通道数据寄存器接口:锁频环NCO频率字、锁相环NCO频率字、码环NCO频率字、状态输出寄存器;
环路处理过程在进行到环路计数器计数到128后,开始FLL,PLL,DDLL的锁定判决处理。首先对前128点的锁定判决中采用的数据进行平均,这样做的目的是为了消除随机误差;
FLL锁定判决中,对128点的平均结果进行αβ滤波,即平滑滤波,之后进行FLL鉴别切换门限的判决和FLL锁定判决,输出FLL的锁定状态;
PLL锁定判决中,对128点的平均结果进行αβ滤波,进行PLL锁定判决,输出PLL的锁定状态;
利用PLL锁定状态对环路的状态进行判决,输出环路状态;
DDLL锁定判决中,对128点的平均结果进行αβ滤波,进行DDLL锁定判决,输出DDLL的锁定状态;
至此,整个环路的处理过程结束,输出结果反馈给FPGA以实现整个环路的跟踪过程。

Claims (5)

1.一种高动态扩频精密测距接收机,采用灵活的现场可编程门阵列+数字信号处理的结构,实现全数字化操作;其主要包括FPGA及DSP两大模块;其特征在于:
(一)FPGA硬件模块设计
FPGA模块采用自顶向下的设计方法,按照外部接口——内部功能模块的信息流设计,主要由FPGA外部接口、FPGA接收模块构成:
(1)FPGA外部接口模块设计,包括:
FPGA与DSP接口:完成与DSP-EMIF之间数据总线、地址总线、控制总线连接,其中控制总线中含有片选、读写控制、输出使能、系统复位等信号线;DSP可以通过数据总线对FPGA内部寄存器、存储空间进行读写操作;DSP通过地址总线进行地址译码对FPGA内部进行寻址操作;
FPGA与射频前端接口:射频前端信号通过ADC采样后,得到数字信号,在FPGA内部进行数字信号锁存后,进行数字信号处理;
FPGA载波、伪码模拟信号接口:输出含有载波多谱勒的数字信号,通过DAC与带通滤波器BPF后,进行电平调节,送给射频前端;
系统工作时钟接口:接收射频前端输出的系统工作时钟;
1PPS时钟基准输出接口:输出本地1PPS秒脉冲时间基准;
1PPS可调时间输出接口:输出本地调整1PPS秒脉冲时间;
1PPM可调时间输出接口:输出本地调整1PPM分秒冲时间;
(2)FPGA接收模块设计
FPGA接收模块主要构成单元包括:
Figure FSB00000443317400011
伪码快捕单元
Figure FSB00000443317400012
载波伪码跟踪环路
Figure FSB00000443317400013
数据恢复与帧同步
Figure FSB00000443317400014
再生数据组帧与数据CRC纠错
Figure FSB00000443317400015
载波相位与伪码相位提取寄存器
其中,伪码快捕单元:接收AD转换电路输出的数字中频信号,产生再生载波对数字中频信号进行下变频,完成载波剥离;采用FFT方法实现相关运算;对相关结果进行检测判决,并计算信噪比;在捕获完成时获得扩频信号的伪码相位和载波多普勒频移的粗略估计,将其与捕获状态一起输出给载波和码跟踪电路;
(二)FPGA模块软件设计
FPGA专用数字信号处理器的设计将分为顶层设计和模块级设计;顶层设计用于描述各模块间的关系,模块级设计用于实现各模块的功能;顶层设计成DSP数据控制接口模块、前向测距通道处理模块和前向遥测通道处理模块三个部分;
前向测距通道处理模块和前向遥测通道处理模块包括积分清除计算单元、载波锁频环处理单元、载波锁相环处理单元、再生伪码发生器单元、位同步处理单元、帧同步处理单元;
【1】积分清除计算单元:
由数字混频器、数字相关器等组成;数字混频器的作用是将GPS射频前端输出的数字中频信号变换成I、Q两路数字零中频信号,便于后面进行基带信号解扩;
其中,数字混频器用乘法器实现;载波NCO的I、Q输出与输入信号在乘法器中进行数字下变频,于是去除输入信号载频而保留了用于基带相关的码;
其中,数字相关器由数字乘法器和积分-清除器构成;
所述的数字相关器的功能:
1)将锁频环载波NCO查找表输出的本地复制I,Q两路载波信号与数字中频信号幅度转换后的结果相乘,实现中频数字信号的下变频;
2)下变频的结果利用码环的再生伪码发生器产生的各路再生伪码进行解扩,每0.2ms得到的积分清除结果输出,作为之后的锁频环鉴别器以及相位旋转模块的输入;
所述的数字相关器的工作方法和过程如下:
1)将锁频环载波NCO的输出Nco和幅度转换后的结果Adc下变频,就是将二者进行乘法运算,得到二进制表示的补码结果,硬件实现中调用了FPGA芯片中集成的硬件乘法器;
2)积分清除的原理就是用一个累加器对数字下变频后输入信号与再生伪码相乘的每一位结果在系统时钟Clk62的上升沿进行累加,经过0.2ms的积分累积后,在再生5KHz为高电平时,利用Clk62时钟的下降沿锁存积分清除结果并输出,同时利用62MHz的上升沿进行同步置数;
【2】载波锁频环处理单元
该单元包括载波相位累积器和载波锁频环NCO查找表子单元;
A.载波相位累积器模块设计
载波相位累积器硬件包括:预置寄存器、更新寄存器、累加器、累加结果寄存器、整周计数器组成;
所述的载波相位累积器功能描述:
1)累加锁频环环路频率字与中频频率字,累加的结果作为锁频环载波NCO正余弦查找表的输入;
2)累加锁频环环路频率字,输出锁频环多普勒载波累加器计数值;
所述的载波相位累积器工作方法和过程如下:
1)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字;
2)用系统时钟Clk62的上升沿对新的频率字和中频频率字进行累加,并取NCO累加结果的高12位作为查找表的输入;
3)用系统时钟Clk62的上升沿对新的频率字进行单独累加,取49位累加结果作为锁频环多普勒载波累加器计数值;
B.载波锁频环NCO查找表的设计
载波锁频环NCO查找表设置有频率控制字输入接口,载波环路通过不断调整载波锁频环NCO查找表的频率字来保持对接收信号载波频率和相位的跟踪;
载波锁频环NCO查找表要有足够的频率分辨率,保证能够高精度测量载波多普勒频率,载波锁频环NCO查找表的基准频率fs=62MHz;当载波锁频环NCO查找表的相位累加器字长为32位时,频率分辨率为δf=fclk/232=0.014Hz,可满足上面载波频率调整的需要;设频率控制字为W,则输出频率为
f o = W 2 32 f s
由于前面的相位累加的功能已经在载波相位累积器模块里面实现了,因此本部分只实现查找表的功能;
载波锁频环NCO查找表功能描述:
根据载波相位累积器的输出,产生本地复制载波信号;
载波锁频环NCO查找表工作方法和过程如下:
将载波相位累积器累加结果的高12位送入正余弦查找表当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存;
【3】载波锁相环处理单元
载波锁相环处理单元主要完成以下功能:
1)接收外部复位控制信号,对自身进行复位,即返回至起始状态;
2)对输入的数字中频信号进行下变频、解扩以及积分清除,并提取0.2ms时刻的即时通道,超前滞后1/2、1/4通道的积分清除器结果给主信号处理器;
3)提取0.2ms时刻的载波整数、小数周相位,NCO累加结果寄存器的值给主信号处理器;
4)进行接收数据的解调,输出串行解调数据和帧同步信号;
该载波锁相环处理单元包括载波相位累积器与载波NCO查找表单元;
载波相位累积器的功能描述
累加锁相环环路频率字,输出锁相环多普勒载波累加器计数值,累加的结果的共12位作为锁相环载波NCO正余弦查找表的输入;
载波相位累积器的工作方法和过程如下:
1)在伪码再生5KHz同步时钟超前四个时钟周期的ReClk5K_E_4prd的高电平更新频率字;
2)用系统时钟Clk62的上升沿对新的频率字进行累加,取49位累加结果作为锁相环多普勒载波累加器计数值,并取NCO累加结果的共12位作为查找表的输入;
B.载波锁相环NCO查找表模块设计
根据载波PLL相位累积器的输出,产生本地复制载波信号;
将载波相位累积器累加结果的共12位送入正余弦查找表当中,输出的8位查表值在62MHz系统时钟的上升沿进行锁存;
【4】再生伪码发生器单元模块设计
再生伪码发生器单元是为伪码跟踪环路提供多路伪码的单元,它接收捕获电路部分给出的FFT快捕码片数,在时钟的推动下产生即时及超前、滞后分别为
Figure FSB00000443317400041
码相位的各路伪码,用于对输入数据码相位的鉴别;
【5】位同步处理单元
(1)功能描述
测距信号的信息位和伪码周期是同步的,信息位速率是1kbps,每一位数据中包含1个伪码周期,数据位时钟对应伪码周期的起始位置;
(2)工作方法和过程如下:
测距通道在跟踪环路锁定时,用作环路积分清除的再生5kHz时钟的上升沿对应伪码周期的起始位置;
位同步模块由数字锁相环组成;数字锁相环根据本地估算的位同步时钟的相位误差,对本地估算出的位同步时钟相位进行连续不断的反馈调节,从而达到使本地估算的位同步时钟相位跟踪测距信号位同步时钟相位的目的;
I_Circum_sign为输入的数据流,对其进行符号判决,得到+1或者-1作为位同步数字锁相环的输入信号;
【6】帧同步处理单元
(1)功能描述
位同步结束后,需要进行数据解调,对位时钟内的10点数据累加,判断累加结果的符号,大于0此位判定为‘1’,小于0此位判定为‘0’;
数据解调之后,同步数据帧的传输还需要实现帧同步,即要确定一帧数据传输开始的时刻通过连续不断的检测帧同步字“EDE20”来确定数据帧的开始时刻;
(2)工作方法和过程如下:
串行数据在位同步逻辑恢复出的位时钟的作用下,依次移入移位寄存器将移位寄存器的内容与预知的固定帧同步字进行比较,如果两者相同,则输出高电平,否则保持低电平,这样,比较逻辑输出的高电平脉冲即为检测出来的帧同步脉冲但是这样的结果不能直接输出,因为在数据帧的数据段中有可能出现伪帧同步字,从而导致输出虚假的帧同步脉冲,影响数据的正确接收比较逻辑输出的高电平脉冲需要输入帧保护模块,消除虚假脉冲帧保护模块在内部设立有一个帧同步状态标志,在初始时刻,该标志指示尚未得到真正的帧同步脉冲,即尚未实现帧同步在接收到来自比较逻辑的第一个高脉冲后,由于没有先验知识判定该脉冲是否为真正的帧同步脉冲,为了防止该帧数据丢失,假定它为真正的帧同步脉冲,将它输出根据数据帧出现的规律,经过一段确知的时间后,应该在确定的时刻能够检测到帧同步脉冲的出现如果没能检测到高脉冲,则说明比较逻辑前次输出的高脉冲不是真正的帧同步脉冲,上述过程继续如果连续3次都能在指定位置检测到帧同步脉冲,则认为已经完成帧同步任务,使帧同步状态标志指示已经实现帧同步,以后就只在预测的位置让比较逻辑产生的帧同步脉冲通过;
在实现帧同步以后,仍旧在预测的时刻检测比较逻辑输出的高脉冲,如果连续3没能检测到预期的帧同步高脉冲,则认为失去帧同步,需要重启帧同步过程;
(三)DSP模块详细设计
DSP信号处理器程序流程包括主程序、中断服务程序和环路处理程序三个组成部分,将载波和伪码的跟踪锁定过程放在10kHz中断程序内,只要有新数据来就立即进行环路跟踪;
(1)DSP主程序流程
主程序是DSP后向通道处理软件程序中的主要部分,对DSP的外部存储器和中断的设置,完成对整个DSP软件程序的控制处理,主程序的主要功能是完成初始化工作和环路处理程序的循环控制,初始化工作包括CSL库的初始化,全局变量初始化;另外,主程序中还完成了中断的映射与设置;
(2)中断服务程序
中断服务程序是DSP对外部硬件中断的响应之后,读取所需外部接口数据而设计的;
中断服务程序的主要功能是通过开关中断的过程中完成外部数据的读入,另外,每开一次中断读取完数据后,将该通道软件中断标志置高,以备主程序进行环路处理的程序控制;
(3)环路处理程序
环路处理程序为DSP后向处理的核心部分,实现数据鉴别算法,环路滤波算法,处理完后得到的数据要向FPGA前向通道处理器输出,以完成整个跟踪过程。
2.根据权利要求1所述的高动态扩频精密测距接收机,其特征在于:所述的伪码快捕单元可划分为FFT相关器模块和信号检测模块两个模块。
3.根据权利要求2所述的高动态扩频精密测距接收机,其特征在于:所述的FFT相关器模块的设计如下:
FFT相关器模块包括下变频和抽取模块,以及FFT/IFFT计算模块两部分组成;
(a)下变频和抽取模块,包括:
●伪码预置完毕信号
●启动捕获信号
●捕获计算完成信号
●捕获完成时输出的0.2ms同步信号
●FFT相关器模块和信号检测模块之间的0.2ms基准
●启动FFT相关器计算信号
●IFFT计算完毕信号
(b)FFT/IFFT计算模块
本模块在伪码预置完毕,收到启动捕获的信号后,启动码NCO,寻址伪码RAM产生本地伪码,对本地伪码进行FFT,将FFT结果缓存到RAM;
然后,模块在收到来自抽取模块的开始缓存的信号后,根据抽取模块送来的数据、地址和写使能,存储抽取后的信号;在缓存完毕后,读取这些缓存的信号,然后计算FFT,并把FFT结果写回同一块RAM;
最后,模块读取信号FFT和伪码FFT的缓存结果,共轭相乘,并计算IFFT,最后输出IFFT结果和索引值。
4.根据权利要求2所述的高动态扩频精密测距接收机,其特征在于:所述的信号检测模块的设计如下:
信号检测模块包括非相干积累模块,以及捕获控制模块两部分组成;
(a)非相干积累模块
非相干积累模块收到启动信号后,继续等待首次收到IFFT结果准备好信号后,此时,锁存IFFT结果的指数项到register a,同时,分别对IFFT结果的实部和虚部求绝对值,计算其平方和,并根据IFFT结果的索引值产生写地址,将平方和值存入RAM中;
然后,该模块在第N次收到IFFT结果准备好信号后,计算锁存的IFFT结果的指数项register a与本次IFFT结果的指数项之差,将IFFT结果的实部和虚部取绝对值,按照这一指数项之差进行移位后,计算移位后的实部和虚部的平方和,同时,根据IFFT结果的索引值产生读地址,读取RAM中存储的数据,与计算的平方和对应累加后,再根据IFFT结果的索引值产生写地址,将累加值存入RAM中;
在进行最后一次累加时,同时要对写入RAM的累加值进行峰值检测,找到峰值及其对应的地址,并且把峰值对应的地址加上16作为起始地址,对RAM进行寻址,计算出峰值附近2048个点的累加值之和,将其除以2048后,作为噪声功率的估计;最后将峰值、峰值对应的地址以及噪声功率的估计值锁存到register b和register c;
(b)捕获控制模块
检测判决的步骤如下:
●设定计数器K,初始化为K0
●若非相干累加后的峰值大于门限,计数器K加1;反之,计数器K减1
●K=K1,判决检测到信号;K=0,判决未检测到信号;否则,开始新的非相干累加。
5.根据权利要求1所述的高动态扩频精密测距接收机,其特征在于:所述的中断服务程序精度要求:积分清除结果寄存器取32位数据;相位旋转结果寄存器取32位数据。
CN2008101033736A 2008-04-03 2008-04-03 高动态扩频精密测距接收机 Expired - Fee Related CN101261318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101033736A CN101261318B (zh) 2008-04-03 2008-04-03 高动态扩频精密测距接收机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101033736A CN101261318B (zh) 2008-04-03 2008-04-03 高动态扩频精密测距接收机

Publications (2)

Publication Number Publication Date
CN101261318A CN101261318A (zh) 2008-09-10
CN101261318B true CN101261318B (zh) 2011-06-08

Family

ID=39961902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101033736A Expired - Fee Related CN101261318B (zh) 2008-04-03 2008-04-03 高动态扩频精密测距接收机

Country Status (1)

Country Link
CN (1) CN101261318B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407323A (zh) * 2014-12-11 2015-03-11 中国工程物理研究院电子工程研究所 一种高动态低信噪比扩频信号伪码时延测量方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408608B (zh) * 2008-11-21 2011-01-26 哈尔滨工程大学 采用p波段射频宽开数字接收与测向一体机的测向方法
CN101839970B (zh) * 2009-03-18 2012-02-29 杭州中科微电子有限公司 一种gps信号快速捕获的方法及其系统
CN101515913B (zh) * 2009-03-19 2012-12-05 北京理工大学 一种基于移位和加法的定点环路控制方法
CN101610095B (zh) * 2009-05-12 2013-05-08 北京航空航天大学 一种基于fpga的超宽带射频数字接收机装置及其实现方法
CN102981171B (zh) * 2009-06-30 2014-10-22 迈实电子(上海)有限公司 Gps卫星的载波频率检测方法和装置及gps接收机
CN101710180A (zh) * 2009-11-09 2010-05-19 上海华测导航技术有限公司 实现双频gps卫星信号接收机的基带电路结构及其方法
CN102158451B (zh) * 2010-02-11 2016-03-02 中兴通讯股份有限公司 高速多载波多相内插滤波方法和装置
US20110228838A1 (en) * 2010-03-17 2011-09-22 Trendchip Technologies Corp. Apparatus for impulse noise mitigation
CN102122971B (zh) * 2011-01-07 2013-09-11 中国电子科技集团公司第十研究所 快速捕获宽带载波信号的方法
CN102195669A (zh) * 2011-04-28 2011-09-21 马飒飒 双路32位m序列数字相关器
CN102253396A (zh) * 2011-06-08 2011-11-23 东南大学 一种高动态gps载波环跟踪方法
CN102338873B (zh) * 2011-09-28 2013-01-23 中国电子科技集团公司第十研究所 一体化融合完成靶场飞行器遥测与测距的方法
WO2013159341A1 (zh) * 2012-04-27 2013-10-31 北京大学深圳研究生院 基于同态的自修复码的编码、解码和数据修复方法及其存储系统
CN103812739B (zh) * 2012-11-06 2017-09-19 中国北车股份有限公司 Fpga与dsp的通信装置和通信方法
CN103034619B (zh) * 2012-12-13 2015-11-18 中国航天科工信息技术研究院 一种fft非相干积累的实现方法及装置
CN103869340B (zh) * 2014-03-11 2016-11-23 北京华力创通科技股份有限公司 一种快速捕获l频段突发信号的系统及方法
CN104035079B (zh) * 2014-06-12 2016-07-20 浙江大学 一种新型零中频脉冲压缩雷达系统的信号性能补偿方法
CN106896381B (zh) * 2015-12-18 2019-06-28 大唐半导体设计有限公司 一种信号搜索方法和装置
CN107688168A (zh) * 2016-08-03 2018-02-13 南京理工大学 一种频谱混叠的未知信号检测系统
CN106341212B (zh) * 2016-08-26 2019-08-27 郑州威科姆科技股份有限公司 一种实现多类型时间信号自辨识和检测的装置和方法
CN108508460B (zh) * 2017-02-27 2020-06-09 深圳市中兴微电子技术有限公司 一种gnss信号载波跟踪方法及装置
CN108627861B (zh) * 2017-03-24 2021-07-27 展讯通信(上海)有限公司 Bds非geo卫星b1信号的捕获方法、位同步方法及装置
CN107037457A (zh) * 2017-03-28 2017-08-11 上海双微导航技术有限公司 一种基于Inmarsat系统的星基增强接收机
CN107907877A (zh) * 2017-10-31 2018-04-13 天津大学 一种基于多普勒效应的室内距离定位系统
CN107942358B (zh) * 2018-01-10 2020-03-10 成都理工大学 一种基于码跟踪环路的载波周跳检测的方法
CN108337035B (zh) * 2018-02-05 2020-12-01 北京电子工程总体研究所 一种遥测下行热备份且无缝衔接的星务遥测中断处理方法
CN109660279A (zh) * 2018-12-20 2019-04-19 南京理工大学 基于扩频通信系统的弹载通信系统
CN110017731B (zh) * 2019-03-29 2021-07-13 北京遥测技术研究所 一种多点频测控接收机抗互调干扰方法
CN110071738B (zh) * 2019-04-28 2021-10-01 西安电子科技大学 基于多伪码支路接收机的扩频信号解扩跟踪方法
CN110531325A (zh) * 2019-07-30 2019-12-03 中国人民解放军91550部队 用于单脉冲雷达的数字中频接收机及方法
CN110401469A (zh) * 2019-07-31 2019-11-01 电子科技大学 一种抗大频偏的多进制扩频解扩方法
CN110568467B (zh) * 2019-08-19 2021-07-13 北京自动化控制设备研究所 载波相位差分定位信息输出频率切换的设计方法
CN110987007A (zh) * 2019-12-06 2020-04-10 四川九洲空管科技有限责任公司 一种基于捷变频收发器的塔康和测距机模拟器系统及方法
CN112187339A (zh) * 2020-09-27 2021-01-05 山东航天电子技术研究所 一种测量通信一体化天基测控终端
CN115201829A (zh) * 2021-04-13 2022-10-18 广东晟矽微电子有限公司 测距装置、接收机、终端及测距系统
CN114143411A (zh) * 2021-11-26 2022-03-04 天津光电通信技术有限公司 一种基于fpga的气象传真数字接收系统
CN117424945B (zh) * 2023-12-18 2024-03-22 四川恒湾科技有限公司 一种应用于o-ru的gsm上行处理系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2867353Y (zh) * 2005-04-11 2007-02-07 北京航空航天大学 卫星导航接收机通用数字信号处理平台

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2867353Y (zh) * 2005-04-11 2007-02-07 北京航空航天大学 卫星导航接收机通用数字信号处理平台

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407323A (zh) * 2014-12-11 2015-03-11 中国工程物理研究院电子工程研究所 一种高动态低信噪比扩频信号伪码时延测量方法

Also Published As

Publication number Publication date
CN101261318A (zh) 2008-09-10

Similar Documents

Publication Publication Date Title
CN101261318B (zh) 高动态扩频精密测距接收机
US5459473A (en) GPS receiver
CN105917622B (zh) 用于接收复合信号的方法和接收器
CN101776752B (zh) 机群链路高动态信号的精密跟踪与测量方法
CN100399044C (zh) 开环跟踪gps信号的方法
US4651154A (en) Digital NAVSTAR receiver
JP4154609B2 (ja) 衛星信号受信処理装置および衛星信号受信処理方法
JP2002511200A (ja) 信号取得の効率のよいgps受信器
JP2002513519A (ja) Gps受信器における取得前の周波数オフセット除去
JP2002512741A (ja) ディジタル信号セグメント相互間の相関を測定するための低電力並列相関器
JPH09505404A (ja) 多重相関器の時間遅延間隔を使用することにより多重経路歪みを補償する疑似ランダム雑音レンジング受信機
EP3141931A1 (en) Tracking of signals with at least one subcarrier
JPH11183586A (ja) 特にgps型の、完全高周波航行用受信装置
JP2014228536A (ja) 追跡ループのステータスを決定するための装置および方法
CN116745647A (zh) 现代化的消费者级gnss次级码捕获和信号跟踪
WO2013022457A1 (en) Satellite signal acquisition
EP3602129A1 (en) Global navigation satellite system (gnss) signal tracking
JP6272786B2 (ja) 低電力の非同期型gpsベースバンドプロセッサ
CN103439718A (zh) 一种高阶boc调制信号的无模糊跟踪单元
US7248624B2 (en) Bit synchronization in a communications device
KR101032735B1 (ko) 소프트웨어형 gps 프로세서모듈을 통한 실시간 gps 신호추적용 gps 수신기
CN107367749B (zh) 一种基于时空大数据的导航多径效应抑制方法
Sonowal et al. Real time GPS software receiver with new fast signal tracking method
JP3826808B2 (ja) 復調装置及び受信装置
RU227214U1 (ru) Микросхема навигационного процессора

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110608

Termination date: 20130403