Skip to content

Latest commit

 

History

History
597 lines (344 loc) · 41.7 KB

06-GNSS接收机原理:从卫星信号接收到定位解算全流程.md

File metadata and controls

597 lines (344 loc) · 41.7 KB

GNSS接收机原理:从卫星信号接收到定位解算

Static Badge Static Badge Static Badge 访问量统计

1、接收机组成

GNSS 接收机归根结底是作为一种传感器,它的主要任务在于感应、测量GNSS卫星相对于接收机本身的距离以及卫星信号的多普勒频移,并从卫星信号中解调出导航电文。内部结构沿其信号工作流程的先后顺序,通常分为射频前端处理基带信号处理定位导航运算三大功能模块:

image-20240104161254670

  • 射频前端处理模块:通过天线接收所有可见的 GPS 卫星信号,经前置滤波器和前置放大器的滤波放大后,再与本机振荡器产生的正弦波本振信号进行混频而下变频成中频信号(IF),最后经模数(A/D)转换器将中频信号转变成离散时间的数字中频信号。

    image-20240104165233158
  • 基带数字信号处理模块:通过处理射频前端所输出的数字中频信号,经过捕获、跟踪复制出与接收到的卫星信号相一致的本地载波和本地伪码信号,从而实现对 GPS 信号的捕获与跟踪,并且从中获得GPS伪距和载波相位等测量值以及解调出导航电文。

    image-20240104170442834
  • 定位导航运算功能模块:在基带数字信号处理模块处理完数字中频信号后,各个通道分别输出其所跟踪的卫星信号的伪距、多普勒频移和载波相位等测量值以及信号上解调出来的导航电文,而这些卫星测量值和导航电文中的星历参数等信息再经后续的定位导航运算功能模块的处理,接收机最终获得GPS定位结果,或者再输出各种导航信息。


2、GPS 信号结构

GPS 卫星所发送的信号从结构上可以分为载波、伪码和数据码三个层次。在这三个层次中,伪码和数据码一起先通过调制而依附在正弦波形式的载波上, 然后卫星将调制后的载波信号播发出去。

image-20240105094346797

以载波 L1上的 C/A 码为例,在卫星信号发射端,PRN 编号为 i 的卫星首先将数据码与 C/A 码 $G_i$ 异或相加,实现了扩频操作。接着,采用载波 L1 对扩频后的码进行 BPSK 调制, 使整个 C/A 码信号以 L1 为中心频率被卫星发射出去:

image-20240105100256787

GPS接收机接收到卫星信号后,首先对卫星信号进 行载波解调,然后再将载波解调后的卫星信号与内部复制的 C/A 码 $G_i$ 做自相关运算,剥离卫星信号中的 C/A 码,使信号频宽变回只含数据码的基带信号:

image-20240105100424572

凭着 C/A 码良好的自相关特性,接收机一方面解出 卫星信号中的数据码(导航电文);另一方面根据 C/A 码自相关函数主峰位置而获得接收到的 C/A 码信号的相位,进而将其转化为从卫星到接收机的距离测量值。

1. 载波

卫星中的核心设备是原子钟,而由此原子钟所提供的基准频率 $f_{0}$$10.23 \mathrm{MHz}$。卫星利用频率合成器可在基准频率 $f_0$ 的基础上多倍频产生所需要各种载波频率,如此产生出的各种载波频率都是基准频率 $f_0$ 的整数倍。载波频率的选择有以下考虑因素:

  • 地球表面的电特性、地貌和电离层等因素对不同频率的电磁波有不同的影响。GNSS 所选择的信号频率一定要能穿透大气层(尤其是电离层)被用户接收,而且受到大气层的影响要尽量小。
  • 伪码信号会被用来调制载波信号,所以要求载波频率必须远远高于伪码频宽。
  • 采用高频率的载波可以允许接收机使用更小尺寸的用户天线,天线和波长通常呈正比关系(常用 1/4 波长)。
  • 无线电波的频带是有限的宝贵资源,由国际电信联盟(ITU)和美国的联邦通信委员会(FCC)负责频谱资源的分配。比如 Galileo 系统为了能和 GPS 系统相同的 L1 频段,采用了 BOC 调制,将功率谱的主瓣分裂成对称的两部分,减少与 GPS 信号之间的干扰。

2. 伪码

伪随机噪声码(PRN)简称伪随机码或者伪码,它是一种能预先确定的、有周期性的二进制序列, 而且具有接近于二进制随机序列的良好自相关特性。这种周期性的伪随机码可由一个多级反馈移位寄存器产生。伪码有两层目的,一是实现码分多址、二是用来测距。

二进制数随机序列所具有的一个很重要的特点是它的良好自相关性,一个二进制随机序列 $x(t)$ 的自相关函数 (ACF) $R_{x}(\tau)$定义为: $$ R{x}(\tau)=\lim \limits{T \rightarrow \infty} \frac{1}{T} \int_{0}^{T} x(t) x(t-\tau) d t $$ 因为 $x(t-\tau)$ 是信号 $x(t)$ 在时间上向右平移 $\tau$ 后得到的波形,所以自相关函数 $R_{x}(\tau)$ 检查 $x(t)$ 与它本身平移后的波形 $x(t-\tau)$ 两者之间的相似程度。自相关函数 $R_{x}(\tau)$ 是个偶函数, 关于纵轴左右对称。

image-20240105094727252

  • 移位寄存器:这种周期性的伪随机码可由一个多级反馈移位寄存器产生。

  • M(maximum) 序列:n 级反馈移位寄存器产生的、周期等于最大可能值(即 2n -1 码片)的序列,称为最长线性反馈移位寄存器序列,通常简称为 m(maximum)序列。

    $\mathrm{m}$ 序列的自相关函数 $R_{x}(\tau)$ 为: $$ R_{x}\left(i T_{c}\right)=\left{\begin{array}{c} 1, \text { 当 } i \text { 是 } N \text { 的整数倍时 } \ -\frac{1}{N}, \text { 当 } i \text { 不是 } N \text { 的整数倍的其他整数时 } \end{array}\right. $$ 当 $\tau$ 不是码宽 $\mathrm{T}{\mathrm{C}}$ 的整数倍时, 那么 $R{x}(\tau)$ 等于相邻两点之间相关函数的线性插值。

    image-20240105095121760
  • Gold 码:伪码可以通过 m 序列产生,也可以通过两个或多个 m 序列组合而成。GPS 广泛使用的 C/A 码属于 Gold 码,就是由一对技术相同的 m 序列线性组合而成。但是,并不是任何一对级数相同的 m 序列都可以产生金码,我们把能产生 Gold 码的一对 m 序列称为优选m序列对。通过调节其中一个 m 序列的延时,一对 n 级优选 m 序列可组合产生 $2^n-1$ 个不同的 Gold 码,再加上他们自身的一对 m 序列,总共就有 $2^n+1$ 个金码。

    对于任何一个 $n$ 级Gold码 $x_{i}$, 它的自相关函数 $R_{x_{i}}(\tau)$ 在为整数码片时的值只有四种可能: $$ \begin{array}{ll} & R_{x_{i}}\left(\tau=k T_{C}\right) \in\left{1, \frac{\beta(n)-2}{N},-\frac{1}{N},-\frac{\beta(n)}{N}\right} \ \end{array} $$ 其中,$\beta(n)=1+2^{\left\lfloor\frac{n+2}{2}\right\rfloor}$,$\lfloor a\rfloor \quad$ 代表小于或等于 $a$ 的最大的整数。 两个 $n$ 级 Gold 码 $x_{i}(t)$$x_{j}(t)$ 之间不完全正交,它们之间的互相关函数 $R_{x_{i}, x_{j}}(\tau)$ 的峰值只有以下三种可能: $$ R_{x_{i}}\left(\tau=k T_{C}\right) \in\left{\frac{\beta(n)-2}{N},-\frac{1}{N},-\frac{\beta(n)}{N}\right} $$

  • C/A 码:C/A 码是周期为1023 (即 $2^{10}-1$ ) 个码片的Gold码,即一个C/A 码的长度为 1023 个码片。它每个毫秒重复一周,因此其码速率为 $1.023 \times 10^{6}$ 码片/秒,即 (1.023Mcps),码宽 $T_{C}$ 约等于 $977.5 \mathrm{~ns}$$293 \mathrm{~m}$ (我们时常将一个 $/ \mathrm{A}$ 码的码片近似说成 $300 \mathrm{~m}$ 长)。$\mathrm{C} / \mathrm{A}$ 码的码率与载波 $\mathrm{L} 1$ 的频率在数值上具有这样种关系: 在一个 $\mathrm{C} / \mathrm{A}$ 码码片的时间内载波 $\mathrm{L} 1$ 重复 1540周。

    C/A码产生器由两个十级反馈移位寄存器构成,这 两个移位寄存器的特征多项式分别为:

    image-20240105095856784

    改变不同的抽头,可以产出不同卫星的 C\A 码:

    image-20240105100024813

3. 数据码

数据码是 GPS 信号中的第三个层次,它是一列载有导航电文的二进制码,数据码的码率为 50 比特每秒(bps),它采用不归零制的二进制编码方式,产生主峰频宽为 100Hz 的数据脉冲信号。

50bps 的数据码的码宽 $T_D$ 为 20ms,相当于长约 6000m。因为C/A码每1ms重复一周,而数据码一 个比特持续 20ms,所以在每一个数据比特期间 C/A 码重复 20 周。而且每个数据码比特发生时刻均与 C/A 码的第一个码片发生沿重合。

4. 导航电文

卫星将导航电文以帧与子帧的结构形式编排成数据流。每颗卫星一帧接着一帧发送导航电文,而在发 送每帧电文的时候,卫星又以一子帧接着一子帧的形式进行。

每帧导航电文长 1500 比特,共 30 秒,依次由 5 个子帧组成。每个子帧长 300 比特,计 6 秒,依次由十个个字组成。每个字长 30 比特,其最高位比特先被发送,而每一子帧中的每一个字又均以 6 比特奇偶校验码结束。每一比特长 20 毫秒,期间 C/A 码重复 20 个周期。

每一个子帧的前两个字分别为遥测字(TLW)与交接字(HOW),后八个字则组成数据块。不同子帧内的数据块侧重不同方面的导航信息,第 一子帧中的数据块通常称为第一数据块,第二和第三子帧中的数据块合成为第二数据块,而第四和第五子帧中的数据块则合并称为第三数据块。

  • 第一数据块又常称为时钟数据块,内容包括:星期数、用户测距精度、卫星健康状况、时钟矫正参数、群波延时矫正值、时钟数据期号。
  • 第二数据块提供卫星自身的星历参数
  • 第三数据块不是定位解算所急需的,主要提供所有卫星的历书参数、电离层延时校正参数、GPS时间与UTC之间的关系以及卫星健康状况等数据信息。

GPS 对第三数据块采用了分页结构,即第一帧中的第四和第五帧为一页,然后在下一帧中的第四和第五帧继续发送下一页,而第三数据块的内容各占 25 页。因为一帧电文长 30 秒,所以发送一套完整的导航电文总共需要花 750 秒(12.5分钟)的时间,然后整个导航电文的内容每 12.5 分钟重复一次,整体的结构层次如下图:

image-20240104164408088

  • 遥测字

    image-20240105101107860
    • 同步码 10001011 是每一子帧的最先 8 个比特,接收机用它来匹配接收到的数据。
    • 每一个字中的奇偶校验码可以帮助用户接收机检查 经解调得到的字中是否包含错误比特。
  • 交接字

    image-20240105101225616
    • 截短的周内时计数:交接字包含从 Z 计数器上得到的截短的周内时计数值,由于计数单位为 1.5 秒,所以将周期内时数乘 以 6 可得在这一子帧结束、下一子帧开始所对应的 GPS 时间。
    • 子帧码:子帧码可以标识该子帧是第几子帧。如果知道了当 前子帧的识别标识,则接收机就可以按照这一子帧 的相应格式解译数据码。

3、信号传播与天线

1. 信号功率计算

目前,GPS 卫星对调制有 C/A 码的 L1 载波信号的发射功率约为 26.8 W。

假如某一卫星信号的发射功率为 $P_{T}$, 卫星天线在某一方向上的增益为 $G_{T}$, 那么在此方向上与该卫星相距为 $d$ 的接收点 $R$ 处,接收天线单位面积所拦截的卫星信号功率等于发射功率 $P_{T}$除以球面积 $4 \pi d^{2}$ 再乘以增益 $G_{T}$, 即:

image-20240105103054093

同样,用来接收信号的接收天线经常也具有一定的指向性。若接收天线在某一方向上的有效接收面积为 $A_{R}$, 则该接收天线的相应增益 $G_{R}$为: $$ G_{R}=\frac{4 \pi A_{R}}{\lambda^{2}} $$ 在信号发射端, 卫星发射天线的有效面积 $A_{T}$ 与其增益 $G_{T}$之间也遵从类似的关系,即: $$ G_{T}=\frac{4 \pi A_{T}}{\lambda^{2}} $$ 接收天线与发射天线的工作原理是相同的,而它们之间所不同的只是相反的能量传递方向。天线的有效接收(或发射)面积与其物理尺寸的大小和形状有关:天线越大,增益越高。而对于同一个天线,如果载波信号的波长越短或者说频率越高,那么天线增益就越高。因为在接收点 $\mathrm{R}$ 处的卫星信号功率流密度为 $\Psi$ , 而有效接收面积为 $A_{R}$, 所以在点 $\mathrm{R}$ 处的接收天线所接收到的卫星信号功率 $P_{R}$ 为: $$ P_{R}=\psi A_{R}=\frac{P_{T} G_{T} G_{R} \lambda^{2}}{(4 \pi d)^{2}}=\frac{P_{T} A_{T} A_{R}}{(\lambda d)^{2}} $$ 上式称为自由空间传播公式,又称为富莱斯(Friis)传播公式,它表明了信号发射功率 $P_{T}$ 与接收功率 $P_{R}$ 之间的关系。Friis公式通常可以等价的用分贝为单位来表示的链路功率预算方程: $$ P_{R}=P_{T}+G_{T}+G_{R}+20 \lg \left(\frac{\lambda}{4 \pi d}\right)+L_{A} $$ 信号接收功率 $P_R$ 反映着信号的绝对强度,我们通常用接收机所支持的最低接收信号功率值来衡量接收机的信号捕获与跟踪灵敏度。

2. 信噪比、载噪比

信号接收功率的强弱并不能完整的用来描述信号的清晰程度或质量好坏,我们还需要知道信号相对于噪声的强弱。信号的质量通常用信噪比(SNR)来衡量,它定义为信号功率 $P_R$ 与噪声功率 N 之间的比率,即: $$ \mathrm{SNR}=\frac{P_{R}}{N} $$ 由于噪声功率 N 以及相应的信噪比 SNR 与噪声带宽 $B_N$ 的取值大小有关,因而每次给定一个信噪比值,我们一般应当随即指出其所采用的噪声带宽值,而这时常会给信噪比的应用带来不便。

载波噪声比 $C / N_{0}$ 简称载噪比, 其大小与接收机所采用的噪声带宽 $B_{n}$ 无关, 这有利于不同接收机之间的性能对比。载噪比 $C / N_{0}$ 的定义如下: $$ C / N_{0}=\frac{P_{R}}{N_{0}} $$ 其中 $C / N_{0}$ 的单位为 $\mathrm{dB} \cdot \mathrm{Hz}$, 以 $\mathrm{dBW} / \mathrm{Hz}$ 为单位的 $N_{0}$等于 $N_{0}=k T$,不难得到 $N=N_{0} B_{n}$

根据以下关系: $$ C / N_{0}=\frac{P_{R}}{N_{0}} \quad \mathrm{SNR}=\frac{P_{R}}{N} \quad N=N_{0} B_{n} $$ 很容易得出信噪比和载噪比之间的关系: $$ C / N_{0}=\mathrm{SNR} \times \mathrm{B}{\mathrm{n}} $$ 对于一般的接收机,$N{0}$ 的典型值为 $-205 \mathrm{dBW} / \mathrm{Hz}$那么载波 L1 上 $-160 \mathrm{dBW}$ 的 C/A 码信号标称最低接 收功率相当于 $45 \mathrm{~dB} \cdot \mathrm{Hz}$ 的载噪比。室外GPS接收信号的 $C / N_{0}$ 大致在 $35-55 \mathrm{~dB} \cdot \mathrm{Hz}$的这一范围内变动, 其中大于 $40 \mathrm{~dB} . \mathrm{Hz}$ 视为强信号, 小于 $28 \mathrm{~dB} . \mathrm{Hz}$ 视为弱信号。

3. 串联器件噪声指数

射频电子元件在信号处理过程中会将其本身所产生的热噪声附加到信号上。噪声指数(NF)用来衡量某一电子器件的噪声性能,它定义为信号在进入这一器件前和从该器件输出后的信噪比变化倍数,F 是一个没有单位的标量,其值经常表达成分贝的形式: $$ F=\frac{\mathrm{SNR}{\text {in }}}{\mathrm{SNR}{\text {out }}} $$ 噪声指数 $F$ 其值总是大于 1 的,这是因为任何模块自身总会产生噪声,所以信号经过模块以后的信噪比总是小于输入信噪比。

Friis 公式用于计算串联器件的噪声指数: $$ T_{t}=T_{1}+\frac{T_{2}}{G_{1}}+\frac{T_{3}}{G_{1} G_{2}} $$ 从公式可以看出,一个串联器件系统中的首级器件的噪声性能尤为重要,它的噪声温度通常会主导整个串联器件系统的噪声温度,而后面几级器件的噪声温度经折算后被缩小,缩小的倍数等于其前面几级器件的增益之积。所以接收机的首级器件常常采用低噪声放大器 LNA。

4. 螺旋极化

在椭圆极化和圆极化中,电场强度矢量的旋转方向有两种可能,我们可以用右手来定义来判断它们是属于左旋还是右旋:将右手大拇指指向电磁波的传播方向,若其余四指的方向与电 场强度矢量的旋转方向一致,则该信号为右旋极化(RHCP),反之则为左旋极化(LHCP)。

GNSS 载波信号是一种右旋圆极化(RHCP)信号。当电磁波信号经过电磁界面反射后,反射信号的极化状况有可能会发生改变。通常,经过奇数次反射后变为左旋圆极化,而经过偶数次反射后仍为右旋圆极化,但是其功率也因多次反射产生很大的衰减。

为了使接收天线具有最高的信号接收功率,接收天线的极化形式必须与接收信号的极化形式 一致。所以 GNSS 接收天线大都以右旋圆极化的方式工作,并且要具有较强的抵制接收左旋极化信号的能力。


4、射频前端

射频前端模块位于接收机天线与基带数字信号处理模块之间,它的主要目的是将接收到的甚高频射频模拟信号离散成包含 GPS 信号成分的、频率较低的数字中频信号,并在此过程中进行必要的滤波和增益控制。常采用 1918 年由 Armstrong 发明的超外差接收机技术框架,将射频前端的工作可以依次分为射频信号调整下变频混频中频信号滤波放大以及模数转换这几个主要部分:

image-20240104165233158

1. 射频信号调制

由于从接收天线接收到的 GNSS 信号功率很弱。而且信号中不但掺杂噪声,在信号波段内还可能存在着各种故意或无意的干扰信号。因此射频前端 对接收到的卫星信号的第一步处理是进行信号调整,即利用带通滤波器尽可能的滤除需要波段之外的各种噪声和干扰,并对信号进行功率放大。

2. 下变频混频

天线接收到的 GNSS 卫星射频信号的中心频率在 1~2MHz 左右,而频率如此高的射频信号一般不适于被直接采样。下变频混频是通过混频器将低噪声放大器输出的射频信号与本机振荡器产生的本振信号进行相乘,再对乘积产生的高频成分进行滤波,载波信号频率就从射频下降到中频。作为混频结果,中频信号不仅原封不动的保留着原先 GNSS 射频信号上所调制的全部数据与信息, 而且由于频率较低,适合用来采样。

3. 中频信号滤波放大

射频前端可能采用多级放大器,它们的功率放大倍数(即增益值)的选取需要考虑射频前端各个器件的噪声指数、功耗和器件饱和等多方面的因素,因而它们的成本会很高。于是,人们偏向于将各级放大器尽量安排在混频之后。

射频前端总的功率放大倍数是指考虑了电缆、滤波器、混频器、放大器等各级器件在处理信号过 程中的功率损耗或增加后的净增益值。

如果经过放大后的功率增益过低,则随后输入到 A/D 转换器的信号幅值不能激活多位 ADC 的各个输出位;反之,如果增益过高,则包含 ADC 在内的多种器件会达到饱和,而 ADC 在饱和的情况下将输出失去真实信息的最大幅值。

4. 模数转换

经过前面几级的混频、滤波和放大等处理,接收到的 GPS 卫星信号的功率至此已经得到了足够的 放大,其中心频率也已经变成了较低的中频,而这些状况均有利于模数转换器(ADC)对信号做 最后一步的模数(A/D)变换,主要是进行采样、量化、编码三个步骤:

  • 采样
  • 量化:量化的基本原理是将采样信号与一些门限值进行比较,从而决定相应的数据位输出是 0 还是 1。
  • 编码:模拟形式的采样信号值就被量化成一个用二进制表示的数据(二进制、BCD、ASCII)来表示,这就是数字量的编码。

为了防止 ADC 在信号采样过程中发生混叠失真,采样频率必须满足带通采样定理,采样频率必须大于两倍的信号带宽。由于中心频率位于 $f_{IF}$ 的GPS信号具有约 2MHz 的主峰频宽,因而采样率至少为 4MHz。再考虑到射频滤波器的通带过渡带,实际中的ADC采样频率一般至少在5MHz以上,即每 1ms 至少产生 5000 个采样点,相当于每一个 C/A 码码片有着 4~5 个采样点。

ADC 采用较少的位数的另一个原因是 GPS 信号是 CDMA 信号,而且已经通过发送功率的控制使得地面上每一点的卫星信号强度差不多。

为了充分利用 ADC 的多位资源,多位 ADC 通常需要配置一级或多级自动增益控制(AGC)。AGC 放大器通常是射频前端的最后一个增益元器件。 自动增益控制根据ADC的输出情况随时、相应的 调节 ADC 之前的滤波增益,使最后一级混频器输 出的中频信号幅值(即 ADC 的输出信号幅值)大致维持在一个常数。这样,当接收信号变弱时,自动增益控制可提高滤波增益,以避免 ADC 的输出全部为 0;当接收信号变强时,自动增益控制又可相应的降低滤波增益,以避免ADC 的输出全为正负最大值。


5、 卫星信号捕获

信号捕获是接收机内部数字信号处理的第一步,目的是获取所有可见卫星信号的载波频率和码相位的粗略初始值,只有完成了信号捕获,才有可能开始信号跟踪,基带信号处理和定位导航算法等后续过程。

1. 三维搜索

image-20240104184106003

  • PRN 码:卫星由不同的 PRN 码进行区分,通过 ,确定出有哪些卫星。
  • 码相位
  • 载波频率:在下变频的情况下指中频,

2. 启动方式

  • 冷启动:接收机不知道当前的时间及所处的位置,并且也没有保存有效的卫星星历和历书。 冷启动的接收机只能处于盲目搜索的状态。冷启 动的首次定位所需时间一般在 60s 左右

  • 暖启动:接收机没有有效星历但却掌握着误差小于 5 分钟的当前时间、误差小于 100km 的当前位置以及有效的历书。暖启动的首次定位所需时间一般在 45s 左右

  • 热启动:接收机不但具备暖启动条件,而且还保存着有效星历。热启动的首次定位所需时间 一般小于 12s。

3. 搜索范围估算

考虑到码相位的周期特性,所以码相位的搜索区域就是一个完整的 CA 码周期(即1ms),待确定的就是载波频率的搜索范围。接收机接收到的载波信号中心频率并不等于发射信 号的标称频率,原因为包括卫星和接收机相对运动引起的多普勒频移、接收机振荡频率漂移、卫星原子钟频率漂移。我们可以认为一般陆基运动载体上的接收机所接收到的载波信号的最大多普勒频移量为 ±10kHz 。而以载波 L1 的标称频率 f1 为中心的这 ±10kHz 不定区间,通常作为接收机冷启动时的频率搜索范围。

4. 信号检测

5. 信号搜索算法

信号搜索的基本步骤是在各个伪码、频率和码相位的三维搜索单元上进行信号搜索,而搜索的主要操作是进行 C/A 码相关运算。相关运算既可以在时域内由数字相关器硬件实现,也可以在频域内运用数字信号处理(DSP)技术(主要是指傅里叶变换)来完成。按照相关运算实现的方式不同,信号搜索捕获算法可主要分为以下三种:

  • 线性搜索(串行捕获算法):利用数字相关器在时域内对所指定的卫星信号的多 普勒频移和码相位这两维内进行扫描式搜索,每次只搜索一个搜索单元而不是一组搜索单元,因而它的搜索运算量巨大、速度较慢。可以采用常规的信号捕获电路来实现:

    image-20240104184648731
  • 并行频率搜索

    image-20240104184847240
  • 并行码相位搜索:并行码相位捕获搜索算法可以 2046 次码相位搜索通过傅立叶变换一次性完成,从而使搜索次数急剧减少至只在频率一维内的 41次搜索。

    image-20240104184858673

6、载波环信号跟踪

image-20240104185820769

1. 跟踪原理

一旦接收机捕获到卫星信号,就可以提取出卫星信号的载波频率和 C/A 码码相位的粗略估计值,然后各个相应的信号通道就进入跟踪阶段。简单来说,如果接收机内部复制的载波信号和伪码信号与接收到的卫星信号中的载波和伪码保持同步与一致(精确),那么复制载波与接收信号进行混频可以实现载波剥离并将信号下变频。复制伪码与接收信号进行相乘可以实现伪码剥离和信号解调,这时在接收信号中剩下的便只是数据码。

载波环的目的是尽力使其所复制的载波信号与接收到的卫星载波信号保持一致,从而通过混频机制彻底的剥离卫星信号中的载波。若复制载波与接收载波不一致,则接收信号中的载波就不能被彻底的剥离,也就是说接收信号不能被下变频到真正的基带。

码环通过其内部的码发生器尽量复制出一个与接收信号中的 C/A 码相一致的 C/A 码,然后让两者做相关运算,以剥离接收信号中的 C/A 码。复制 C/A 码的相位必须与接收信号中的 C/A 码相位一致。

在载波环和码环分别彻底的剥离了数字中频信号中的 C/A 码和载波后,尚留存在接收信号中的则是完整无损的导航电文数据比特。

2. 锁相环(PLL)

一个典型的锁相环主要是由鉴相器、环路滤波器和压控振荡器(VCO)三部分构成:

image-20240104185451195

我们将锁相环的输出和输出信号表达成:

3. 环路阶数与稳态分析

锁相环的系统函数表明了环路滤波器 F(s) 基本上决定着锁相环的性能,由此可见环路滤波器在锁相环设计中的重要性。 $$ H(s)=\frac{\theta_{o}(s)}{\theta_{i}(s)}=\frac{\frac{K F(s)}{s}}{1+\frac{K F(s)}{s}}=\frac{K F(s)}{s+K F(s)} \quad\quad\quad\quad K=K_{d} K_{o} $$

4. 环路参数

5. 离散锁相环

6. IQ解调

针对 GPS 信号的 BPSK 调制和强度微弱等特点,GPS 接收机通常采用 I/Q 解调法来帮助完成对输入信号的载波剥离、鉴相和数据解调等任务。

image-20240104191529856

7. 鉴相方法

科斯塔锁相环采用的相位鉴别方法主要有以下几种:

  • 二象限反正切函数鉴相器的离散时间型: $$ \phi_{e}(n)=\arctan \left(\frac{Q_{P}}{I_{p}}\right) $$

  • 为了避免反正切函数: $$ \phi_{e}=\frac{Q_{P}}{I_{P}} $$

  • IQ 支路上的信号相乘: $$ \phi_{e}=Q_{P} I_{P} $$

  • 最后一种鉴相方法为: $$ \phi_{\varepsilon}=Q_{P} \cdot \operatorname{sign}\left(I_{P}\right) $$


7、码环信号跟踪(DLL)

image-20240104190000322

1. 延迟锁定环路

C/A 码具有良好的自相关和互相关性。码环的用意在于将复制C/A码与接收C/A码之间的相关结果维持在最大值,并以此锁定接收信号。如果码环在每一时刻只复制一份C/A码,那么由于缺乏可比性,码环会难以判断出相关结果是否真的达到最大。鉴于此,码环一般复制出三份不同相位的C/A码,分别称为超前(Early)、即时(Prompt)和滞后(Late)C/A码,并分别用 E、P 和 L 来表示。超前、即时与滞后复制 C/A 码在码相位上逐次落后 d 码片,相邻相位差称为相应两个相关器的间距。码环通过比较多个相关结果,利用了自相关函数主峰的对称性,推算出 C/A 码自相关函数主峰顶端的位置:

image-20240104190742215

这相当于确定了即时C/A码和接收C/A码之间的相位差异,进而一方面获得接收信号的码相位测量值,另一方面将码相位差异信息反馈给C/A码数控振荡器(NCO)而闭合环路。如果超前与滞后相关器输出的相关幅值E与L相等,那么位于超前码与滞后码中间的即时码就必然与接收C/A码在相位上保持一致;否则,就意味着即时码与接收C/A码之间的相位不一致,于是码环根据相关幅值E与L之间的差异鉴别出此时即时码与接收C/A码之间的相位差异d**cp,然后再通过反馈调节机制使下一时刻超前与滞后相关器输出的相关幅值相等。

2. 相关器和自相关函数

3. 鉴相方法

在获得了超前、即时和滞后支路所输出的相干积分结果后,码环鉴别器通常先对它们进行非相干积分,然后利用所得的 C/A 码自相关函数幅值上的非相干积分值 E,P 和 L 估算出码相位差异$\delta_{c p}$,其码相位差异 确切的说是复制的即时 C/A 码落后接收 C/A 码的相位量。常见的码环鉴别器方法有:

  • 非相干超前减滞后幅值法: $$ \delta_{c p}=\frac{1}{2}(E-L) \quad\quad\quad\quad \delta_{c p}=\frac{1}{2} \frac{E-L}{E+L} $$

  • 非相干超前减滞后功率法: $$ \delta_{c p}=\frac{1}{2}\left(E^{2}-L^{2}\right) \quad\quad\quad\quad \delta_{c p}=\frac{1}{2} \frac{E^{2}-L^{2}}{E^{2}+L^{2}} $$

  • 似相干点积功率法: $$ \delta_{c p}=\frac{1}{2}\left(\left(I_{E}-I_{L}\right) I_{P}+\left(Q_{E}-Q_{L}\right) Q_{P}\right) \quad\quad \delta_{c p}=\frac{1}{4}\left(\frac{I_{E}-I_{L}}{I_{P}}+\frac{Q_{E}-Q_{L}}{Q_{P}}\right) $$

  • 相干点积功率法等: $$ \delta_{c p}=\frac{1}{2}\left(I_{E}-I_{L}\right) I_{P} \quad\quad\quad\quad \delta_{c p}=\frac{1}{4} \frac{I_{E}-I_{L}}{I_{P}} $$

4. 载波环与码环的结合

image-20240104190033719

在这一跟踪环路的运行过程中,载波环根据其所复制的载波信号输出多普勒频移、积分多普勒和载波相位测量值,同时码环根据其所复制的 C/A 码信号状态输出码相位和伪距测量值,而载波相位鉴别器还可以额外的解调出卫星信号上的导航电文数据比特。

在跟踪环路中,载波剥离发生在伪码剥离之前。无论是载波剥离还是伪码剥离在前,在理论上和信号跟踪性能上不存在差异,然而,伪码剥离在前的方式会增加载波剥离的复杂度。现实中的接收机一般均采用先载波剥离、后伪码剥离的设计方式。

image-20240104170442834


8、导航电文提取

接收机对卫星信号进行跟踪的目的,主要是为了解调出卫星信号上的导航电文和获取对该可见卫星的伪距测量值。在信号跟踪阶段后,还需要完成位同步,即从接收信号中找到数据比特的边缘;接着再实现帧同步,即从接收信号中找到子帧的起始边缘;在完成位同步之后,接收机可以进行正常 20ms 宽的数据解调,而在实现帧同步后,它又可以进一步对解调出的数据比特进行导航电文译码。产生伪距测量值基本上等同于确定接收信号的发射时间,而发射时间信息的一部分隐含在接收到的导航电文数据比特中,剩下的部分与当前接收机信号在导航电文子帧格式中的位置有关。

1. 位同步

在位同步之前,接收机并不知道哪 20 个相继的 1ms 数据属于同一比特;反过来,如果接收机能通过数据分析而将这一连串的 1ms 数据合理的划分成每 20 个一组,那么位同步也就得以实现。

  • 过零检测法

  • 直方图法:实际中,由于噪声等各种原因,1ms 宽的数据比特流有时并不呈现一个清晰而又有规律的模式,因此 我们不能简单的凭着1ms 宽数据流中的单个跳变来决定比特边缘,否则会发生很高的位同步错误率。 可以借助于直方图法进行判断。

    image-20240104194307214

    过程如下:

    1. 初始时,每个格子计数器设定为 0。

    2. 若每次 C/A 码符号变化则在对应的直方图格子中加 1。

    3. 该过程继续下去直到下面情况之一发生:

      • a.两个格子的计数超过了门限 N2。

      • b.失锁。

      • c.一个格子的计数超过了门限 N1

    4. 如果 a 发生,说明载噪比变小或者缺乏 C/A 码符号变化,位同步失败了,需要系新启动位同步;如果 b 发生,需要重新捕获锁定;如果 c 发生,说明位同步成功了,并且 C/A码计数复位到正确值。

2. 帧同步

3. 奇偶校验

在译码之前,接收机还需要对所解调出的以字为单位的数据比特进行奇偶检验,以确保被用于译码的数据比特的正确性。


9、观测值提取

1. 时间、伪距

  1. 伪距 $\rho \left ( t \right )$的定义:信号接收时间 $t_u\left ( t \right )$与信号的发送时间 $t^{(S)}\left ( t-\tau \right )$的差乘以光在真空中的速度 c,即: $$ \rho \left ( t \right ) =c( t_u\left ( t \right ) - t^{(S)}\left ( t-\tau \right ) ) $$ 表示接收机天线到卫星天线的距离,包含了接收机钟差、卫星钟差和其它偏差(如:大气延迟atmospheric delays)的影响,所以称之为“伪距”,伪距观测方程: $$ \rho =r+c\left ( \delta t_u-\delta t^{s} \right ) +cI+cT+\varepsilon _\rho $$ 其中 $r$ 表示接收机卫星间的几何距离,$\delta t_u$ 表示接收机钟差,$\delta t^{s}$ 表示卫星钟差,$I$ 表示电离层延迟,$T$ 表示对流层延迟,$\varepsilon _\rho$ 表示伪距测量噪声。$\delta t^{s}$、$I$ 、$T$ 都可通过模型消除,视为已知量,因此我们定义校正后的伪距测量值$\rho_c$ : $$ \rho _c=\rho +\delta t^{(s)}-I-T $$

  2. 信号发送时间$t^{(s)}$的获取:

    • 接收机直接测量的不是信号的发射时间$t^{(s)}$是码相位(CP),信号发送时间$t^{(s)}$和伪距 $\rho$ 是在码相位测量值的基础上组装起来的。

    • 码相位通过接收机内部码跟踪环路上的 C/A 码发生器和 C/A 码相关器获得的,码相位反应最新接收到C/A码在一整个周期 C/A 码中的位置,其值在 0—102 3间,且通常不是一个整数。

    • 只有当接收机接收到卫星信号并进入子帧同步状态后,才能将 $t^{(s)}$ 构筑出来,构筑公式: $$ t^{(s)}=TOW +\left ( 30w+b \right )\times 0.020+\left ( c+\frac{CP}{1023} \right ) \times 0.001 $$ 其中 TOW 是周内秒子帧起始时间,每个字 30 比特,w 个字,b 个比特,每个比特 0.02s,c 个周期,CP 码相位,C/A 码周期 0.001s。

2. 载波相位测量值、多普勒频移、积分多普勒

  1. 载体相位差是实际上是对卫星信号的接收载波和接收机产生的参考频率之间的差频的测量。若能测得信号传播过程中两点的载波相位差,就可推断出两点的距离。在接收机采样时刻$t_u$ ,接收机内部复制的载波相位为$\phi_u$,接收机接收到的卫星载波信号相位为$\phi^{(s)}$,则载波相位测量值: $$ \phi=\phi_u-\phi^{(s)} $$ 以周为单位,一周360度,距离上对应一个载波波长。乘以波长就转化为距离 $$ \phi=\lambda^{-1}r+N $$ 其中,$r$为卫星到接收机的几何距离,$N$为整周模糊度。如果能确定$N$的值,就可反推出几何距离$r$。考虑到误差可将载波相位观测方程式写为: $$ \phi=\lambda^{-1}(r+\delta t_u+\delta t^(s)-I+T)+N+\varepsilon_\phi $$

  2. 多普勒频移:一个静止不动的信号发射频率为$f$的信号,而接收机以速度$v$运行,那接收机收到的信号频率$f_r$不是信号发设频率频率$f$,而是$f+f_d$,我们将这种信号接收频率随发射源和接收机间相对运动而变化的现象称为多普勒频移,将$f_d$称为多普勒频移。这样多普勒频移$f_d$等于信号接收频率与信号发送频率的差,即: $$ f_d=f_r-f $$ 从电磁波传播的基本理论出发,我们可以严格推导出以下多普勒频移值的计算公式: $$ f_d=\frac{v}{\lambda } \cos \beta =\frac{v}{c}f\cos \beta $$ 其中,$\lambda$是信号发送频率对应的波长,$c$为光速,$\beta$为入射角。推广到移动型信号发射源: $$ f_d=\frac{(v-v^{(s)})I^{(s)}}{\lambda } =-\frac{(v^{(s)}-v)I^{(s)}}{\lambda }=\frac{-\dot{r} }{\lambda } $$ 对于静态信号发射源,$\beta$ 指接收机运动方向到信号入射方向的夹角。接收机朝信号方向运动时,$\beta$小于$90^\circ$ ,$f_d$大于0,相同的时间里接受到的载波周数更多。由此我们可以总结:多普勒频移反应信号发射源与接收机之间连线距离的变化快慢,与接收机运行速度在连线方向上的投影成正比。

  3. 为测量接收到的卫星信号的载波相位,接收机内部复制的不是频率始终为$f$的载波,而是通过内部的跟踪环路尽可能复制每时每刻的载波,并让复制出的载波相位与接收到卫星信号的载波一致。根据锁定的频率、相位的不同,载波跟踪环路存在频率锁定环路(FLL)和相位锁定环路(PLL)两种形式;FLL直接输出多普勒频移测量值而PLL输出的是积分多普勒测量值

  4. 积分多普勒:$d\phi$是多普勒频移$f_d$对时间的积分,即: $$ d\phi k=d\phi (t_k)=-\int{t_0}^{t_k}f_d(t)dt $$ 其中,$d\phi _k$代表接收机在历元$k$时输出的积分多普勒测量值。在载波跟踪环路刚锁定或重锁定载波信号的一刻,接收机一般将积分多普勒值重置为0,也就是说

    • $k$ 时刻的积分多普勒值等于 0~k 时间的载波相位测量值的变化量
    • 积分多普勒 $d\phi _k$ 乘以波长 $\lambda$ 后的值等于这段时间内卫星与接收机间的距离变化量,所以积分多普勒也称为积分距离差(ADR)。
    • 由式也可以看出:积分多普勒 $d\phi _k$ 对时间的导数等于多普勒频移 $f_d$ 乘以-1。
  5. 积分多普勒与多普勒频移的区别

    • 多普勒频移值是一个瞬时值,体现用户接收机在测量时刻相对于卫星的瞬时运动速度。

    • 积分多普勒是一个平均值,两时刻间的积分多普勒反应的是这也是断用户相对于卫星的总位移,运动位移反应的是平均速度。


10、定位解算