ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

GNSS 高级篇 05 捕获算法: 5.1 捕获算法原理精讲

GNSS 高级篇 05 捕获算法: 5.1 捕获算法原理精讲 GNSS 高级篇5 捕获算法5.1 捕获算法原理精讲捕获Acquisition是接收机信号处理的第一步——在一片噪声海洋里找到卫星信号的踪迹。在正式开始前请大家思考几个问题1GNSS 信号比噪声还弱 20dB接收机是怎么从噪声里把信号捞出来的靠的是什么魔法2捕获到底在捕什么是捕卫星的位置吗还是捕别的什么3为什么冷启动要几十秒甚至几分钟热启动却只要几秒差距到底在哪里4捕获和跟踪有什么区别为什么不能直接跟踪非要先捕获接下来我们揭开捕获算法的神秘面纱。5.1.1 捕获到底在干什么捕获的本质是一个二维搜索问题在码相位和多普勒频率两个维度上搜索卫星信号的存在性。a. 为什么是这两个维度维度一码相位Code Phase每颗卫星的伪随机码长度是固定的比如 GPS C/A 码长 1023 码片周期 1ms。但信号从卫星到接收机传播了 ~20000 公里传播时间约 66ms——也就是说收到的码相对于本地码偏移了约 66 个码周期。接收机不知道卫星到底有多远所以不知道码偏移了多少——必须在整个码周期内搜索。维度二多普勒频率Doppler Frequency卫星和接收机之间有相对运动导致接收频率跟发射频率有偏差——这就是多普勒频移。卫星高速运动~3.9km/s引入最大 ±5kHz 的多普勒接收机本地晶振有频率偏差TCXO 可能有 ±1~2ppm对应 ±1.5~3kHz两者叠加总的频率不确定度可能达到 ±10kHz 甚至更大所以接收机也不知道信号的确切频率——必须在频率维度上搜索。b. 捕获的输出是什么捕获的输出不是定位结果而是三个信息这颗卫星的信号存在吗检测/未检测如果存在码相位大概是多少粗估精度约 0.5 码片如果存在多普勒频率大概是多少粗估精度约几百 Hz捕获只给出粗估计——精度足够把信号移交给跟踪环就行。精确的码相位和载波频率是跟踪环的事。c. 捕获 vs 跟踪有什么区别对比项捕获跟踪目标找到信号是否存在粗估参数精确锁定信号持续输出测量值搜索范围大全码相位、宽频率范围小在当前估计值附近微调精度粗码相位0.5chip频率500Hz精码相位0.01chip频率1Hz处理方式批量处理一段数据一次算实时处理每个采样点持续更新计算量大二维搜索小闭环反馈打个比方捕获就像在黑暗的房间里用手电筒到处照找到人在哪里跟踪就像找到人之后用眼睛一直盯着他走。没有捕获跟踪不知道该盯谁没有跟踪捕获找到的信号很快就会丢。5.1.2 相关运算捕获的核心武器捕获能从噪声里捞出信号靠的是伪随机码的自相关特性。a. 自相关是什么伪随机码有一个神奇的特性跟自己对齐时相关值很大跟自己错开一个码片以上时相关值很小接近噪声。具体来说GPS C/A 码的自相关特性码相位完全对齐时相关峰值 1归一化后错开 1 个码片以上相关值 ≈ -1/1023 ≈ -0.001几乎为零这意味着如果接收信号里包含某颗卫星的码用这颗卫星的本地码去做相关当码相位对齐时会出现一个明显的峰值不对齐时输出就是噪声。b. 相关运算怎么把信号从噪声里捞出来信号功率比噪声低 20dB但相关运算能把信号压缩出来信号跟本地码相关后能量集中在一个点上峰值噪声跟本地码不相关能量被扩散到整个搜索范围每个点上的噪声功率很低相关长度越长积分时间越长信号峰值越高噪声越低这就是处理增益Processing Gain处理增益 10 × log10(积分时间 × 码速率)比如 1ms 积分、1.023Mcps 码速率处理增益 10×log10(1023) ≈ 30dB。30dB 的增益足以把比噪声低 20dB 的信号捞出来——这就是 GNSS 捕获的核心原理。c. 相干积分 vs 非相干积分积分有两种方式相干积分Coherent Integration直接把相关结果复数包含幅度和相位累加信号相位一致时幅度线性叠加功率按平方增长噪声相位随机功率线性增长积分时间越长信噪比越高信噪比跟积分时间成正比但受数据比特翻转限制——如果积分跨越比特翻转信号会被抵消C/A 码电文 50bps比特长度 20ms所以相干积分通常不超过 20ms非相干积分Non-coherent Integration先做相干积分取模值或模值平方再累加不关心相位只关心幅度不受比特翻转限制可以做很长时间但有平方损耗——取模平方会放大噪声效率比相干积分低通常用于弱信号捕获在相干积分之后做非相干累加弱信号捕获的典型策略先做 10~20ms 相干积分再做几十次非相干累加总积分时间可以达到几百毫秒甚至几秒。5.1.3 串行搜索捕获最朴素的方法理解了相关运算最直接的捕获方法就是串行搜索步骤选一个多普勒频率假设比如 -5000Hz用这个频率把接收信号下变频到基带本地码从码相位 0 开始做相关运算相关峰值超过阈值 → 捕获成功记录码相位和频率没超过 → 码相位移动半个码片重复步骤 3整个码周期搜完都没找到 → 换下一个多普勒频率重复步骤 2~5a. 搜索空间有多大以 GPS L1 C/A 为例码相位搜索1023 个码片按 0.5 码片步长约 2046 个搜索单元多普勒搜索±10kHz 范围按 500Hz 步长约 40 个搜索单元总搜索单元2046 × 40 ≈ 82000 个每个搜索单元都要做 1ms 的相关运算——如果用纯软件串行算这要算到天荒地老。b. 串行搜索的优缺点优点原理简单容易实现不需要复杂的硬件加速适合教学和理解缺点速度极慢——纯软件串行搜索一颗卫星可能要几秒24 颗卫星全搜一遍冷启动时间无法接受所以实际接收机几乎不用纯串行搜索——而是用更快的方法。5.1.4 并行码相位搜索FFT 法让捕获飞起来串行搜索慢是因为码相位维度是一个一个试的。能不能一次把所有码相位都算出来能——用 FFT。a. 循环相关与 FFT相关运算在时域是滑动相乘累加在频域是相乘。根据傅里叶变换的性质时域循环相关 ↔ 频域共轭相乘具体步骤把 1ms 的接收数据做 FFT得到频域信号 R(f)把本地码做 FFT得到频域码 C(f)计算 R(f) × C*(f)C* 是共轭做 IFFT 变回时域——结果就是所有码相位的相关值一次 FFT 一次 IFFT就把 1023 个码相位的相关值全算出来了。原来要算 1023 次相关现在只要 2 次 FFT——速度提升了几百倍。b. 并行码相位搜索的流程选一个多普勒频率假设用这个频率下变频FFT 法一次算出所有码相位的相关值找峰值判断是否超过阈值没找到 → 换下一个多普勒频率重复码相位维度并行化了但频率维度还是串行的——不过频率维度的搜索单元数40比码相位2046少得多所以整体速度已经很快了。c. 进一步并行并行频率搜索频率维度能不能也并行也能。方法是匹配滤波器组——同时生成多个频率的本地载波并行做下变频和相关。硬件上可以用多个相关器通道并行或者用 FFT 在频率域也做并行。在 FPGA/ASIC 实现的接收机里通常是码相位并行FFT 频率部分并行多通道的混合方案——在速度和资源之间取平衡。5.1.5 捕获判决怎么判断找到了相关运算算出了峰值但怎么判断这个峰值是真信号还是噪声巧合这就是捕获判决问题——一个经典的假设检验问题。a. 阈值判决最基本的方法是阈值判决如果相关峰值 阈值 → 判定为信号存在检测如果相关峰值 ≤ 阈值 → 判定为无信号未检测阈值怎么定这是一个权衡阈值太高 → 漏检概率高真信号被当成噪声阈值太低 → 虚警概率高噪声被当成信号通常用恒虚警率CFAR, Constant False Alarm Rate方法根据噪声水平自适应调整阈值保持虚警率恒定。b. 峰值比判决比单阈值更可靠的是峰值比找到最大峰值和第二大峰值计算 最大峰值 / 第二大峰值 的比值如果比值 阈值 → 判定为检测成功为什么峰值比更好因为噪声的峰值之间差异不大比值接近 1而信号的峰值会明显高于第二大值比值通常 2。峰值比对噪声水平不敏感鲁棒性更好。c. 验证机制为了降低虚警捕获成功后通常还要做验证用捕获到的码相位和频率再做一次更长时间的相关如果峰值仍然明显 → 确认捕获成功移交跟踪如果峰值消失了 → 刚才是虚警继续搜索验证机制可以把虚警率降低几个数量级——代价是多花一点时间。5.1.6 冷启动、温启动、热启动为什么差距这么大捕获时间跟先验信息密切相关——知道的越多搜得越快。启动类型已知信息搜索范围典型时间冷启动什么都不知道全卫星、全码相位、宽频率30~60秒温启动有历书、大概时间和位置预测可见卫星码相位范围缩小10~30秒热启动有星历、精确时间和位置已知可见卫星码相位和频率范围很小1~5秒a. 冷启动不知道时间、位置、星历不知道哪些卫星可见——32 颗 GPS 卫星全要试码相位全范围搜索多普勒范围大±10kHz 以上因为时间不准导致频率不确定最慢但任何情况下都能工作b. 温启动有历书卫星轨道的粗略参数有效期几个月有大概的时间误差几秒到几分钟和位置误差几十到几百公里可以预测哪些卫星可见——只搜可见的几颗通常 8~12 颗可以根据位置和时间粗估距离缩小码相位搜索范围可以粗估多普勒缩小频率搜索范围比冷启动快很多c. 热启动有最新的星历精确轨道参数有效期 2~4 小时有精确时间误差 1 秒和位置误差 100 公里精确预测可见卫星和多普勒码相位搜索范围可以缩小到很小因为距离估算准频率搜索范围也很小最快几秒内就能定位这就是为什么手机导航打开后第一次定位慢之后很快——第一次是冷启动或温启动之后星历和时间都有了就是热启动了。AGNSS辅助 GNSS的作用就是通过网络把星历、时间、位置发给接收机让冷启动变成热启动——把首次定位时间从几十秒压缩到几秒。小结一下捕获是接收机信号处理的第一道关卡——在码相位和多普勒频率两个维度上搜索信号。核心武器是伪随机码的自相关特性配合 FFT 实现并行搜索再加上相干/非相干积分提升信噪比。捕获只给出粗估计精确跟踪是下一章的内容。启动时间的巨大差异本质上是先验信息多少的差异——知道的越多搜得越快。下一节我们讲捕获算法的优化策略——怎么在弱信号、强干扰、高动态等极端场景下把捕获性能做到极致。
返回列表