低轨卫星导航抗欺骗认证信号间歇跟踪SNAP算法(MATLAB跟踪代码)

本文主要是介绍低轨卫星导航抗欺骗认证信号间歇跟踪SNAP算法(MATLAB跟踪代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇论文是作者发表在《全球定位系统》期刊上的论文,主要面向低轨卫星的快速信号认证,采用NMA和SCA的SNAP方案的两步稳健的认证,但会带来跟踪性能的损失,主要分析了1ms间歇跟踪的情况,公式太繁琐该篇博客没有打,欢迎引用原文,原文地址

http://www.qqdwxt.cn/cn/article/doi/10.12265/j.gnss.2023126

摘  要:  随着卫星导航系统的快速发展,基于低轨(LEO, Low Earth Orbit)卫星的高精度可信导航已成为当前研究的热点. 然而,LEO卫星导航的安全可信问题一直阻碍其大规模应用,基于扩频码和导航电文(SNAP,Spreading code and Navigation data based Authentication Proposal)认证方案在解决上述问题中展现了良好势头. 本文的重点是解决SNAP信号的间歇跟踪算法及性能分析,并得到跟踪误差的解析表达式. 研究结果表明,由于间歇跟踪导致的误差累积服从高斯分布,其均值与多普勒频移变化率成正比,均方差可等价于载噪比的损失,相较载波环,码环受多普勒的影响较小. 本文的研究结果为间歇跟踪结构下接收机系统参数设计提供重要理论参考.

引  言

全球卫星导航系统(GNSS,Global Navigation Satellite System)能够为用户提供精确的位置,速度,时间等信息服务,已被广泛应用[1]. 然而室内和偏远地区信号强度弱、易受干扰和定位精度有限等问题仍然存在. LEO卫星由于距离地面较近,在提升信号强度、精度上表现良好,基于低轨星座的导航增强技术已成为研究重点[2]. 近年来国家综合导航定位授时已将低轨星座纳入建设体系,旨在全面增强我国北斗卫星导航系统的精度、可用性、连续性等[3].

LEO系统过境速度快且卫星信号载波频率高,在进行信号认证时,需要面对高多普勒频移和高多普勒频移变化率的动态场景,同时也需要考虑用户在多个卫星间频繁切换和认证安全性保证的问题. 因此,如何实现高动态场景下的信号快速安全认证是LEO系统能否大规模部署的关键问题[4].

基于密码学的GNSS信号认证是解决上述问题的有效途径,其基本理论是设计和检测一系列不可预测的符号,并将不可伪造的信息附加到可认证信号的一个或多个元素上[5]-[7]. 其中,文献[8]提到的SNAP认证方案是一种基于卫星通信和导航电文的安全认证和授权方案. 在该认证方案中,采用扩频码加密技术可以保证信号认证的安全性和高动态性能,同时利用CSK调制的灵活性实现多星快速认证. 然而,该认证方案的时分复用结构要求接收机进行间歇跟踪,会造成一定的性能损失[9].

本文聚焦LEO通导一体化信号认证背景,选择SNAP时分复用认证结构为分析对象,在低轨信号功率和多普勒动态条件下对其间歇跟踪环路进行性能分析与评估,旨在得到性能损失的解析表达式,并为接收机系统参数设计提供理论参考.

1  低轨SNAP信号模型

LEO系统以高速通过地面,运动速度快. 由于相对运动而产生的多普勒频移和变化率比中高轨卫星更大,在信号认证方面提出了更高的要求. 本节首先介绍了低轨高动态场景下的多普勒分析与仿真,接着讨论了SNAP认证方案下的信号模型.

    1. 动态场景

为评估低轨卫星动态多普勒的影响,进行了基于MATLAB平台的仿真实验,设置不同高度的低轨卫星92颗、中轨(MEO, Medium Earth Orbit)卫星11颗,假设接收机固定在地面,卫星绕地球匀速圆周运动. 表1示出了仿真场景参数,图1展示了中低轨卫星多普勒频移与过境时间关系.

表1  仿真参数

参数

LEO高度

1.0-2.0×103 km

MEO高度

 1.5-2.5×104 km

地球半径

6400 km

地球质量

6×1024 kg

观测间隔

1 ms

图1  中低轨卫星多普勒频移对比图

      从图中可以观察到,与MEO卫星的数小时过境时间相比,LEO卫星过境时间均在20分钟以内,导致的多普勒频移增大了300%-500%.  LEO卫星不仅会引起较高的多普勒频移,还会导致高多普勒频移变化率. 选取卫星高度为h=1×103km的LEO和高度为H=2×104km的MEO进行多普勒频移变化率的对比分析,具体结果如图2所示.

图2  中低轨卫星多普勒频移变化率对比图

        从图中可以看出,随着LEO卫星相对接收机速度逐渐增加,其最高多普勒频移变化率可达145Hz/s,由于MEO卫星运行速度较低,基本未造成较大多普勒频移变化率. 因此,传统方案无法适应LEO卫星的高动态性能需求,需要设计更为灵活且响应速度更快的认证方案,本文选择SNAP认证方案并对其进行性能分析.

2. SNAP信号模型

图3  时分复用示意图

如图3所示,为实现导航电文与扩频码的高速联合认证,SNAP认证方案使用CSK调制方式携带认证信息,并在传统BPSK信号电文中传输CSK解调所必需的序列种子[9]. 在信号结构上,上述CSK调制部分与BPSK调制部分采用时分复用的方式插入. 在BPSK周期,导航电文与扩频码相乘后采用BPSK调制到载波上进行发送. CSK周期对扩频码进行CSK移位后再通过BPSK调制到载波上进行发送.

因此,输入跟踪环路中的数字中频信号为

接收机收可根据插入在扩频码中的CSK认证信息进行双重认证,其中第一步认证可快速判断接收到的来自不同卫星信号的一致性,第二步认证可根据BPSK电文中的解码种子进行稳健的后验验证,从而有效提升认证效率和安全性,满足低轨卫星认证需求.

  1. 信号环路跟踪算法

导航接收机对不同卫星信号进行跟踪处理的目的是为了获得各颗卫星的观测信息,本节首先介绍针对SNAP认证方案跟踪要求,然后介绍本文间歇跟踪过程.

2.1  间歇跟踪

通过1.2节对SNAP认证的特性分析可知,SNAP认证结构对CSK周期的扩频码进行了CSK调制,

和的扩频码相位不再具有连续性,为实现对此类“非连续”信号的跟踪,需采用间歇跟踪结构,即载波环和码环只对

进行跟踪,并输出载波相位和码相位估计值,下一个BPSK周期开始时沿用的上一个BPSK周期结束时的相位估计值进行信号的解调. 由于CSK周期不更新环路会形成跟踪误差的累积,因此间歇跟踪下会造成一定的环路性能损失.

2.2  跟踪环路结构

本文选取跟踪环路结构如4所示,由载波环和码环共同组成,与传统跟踪环路的区别为该载波环路间歇性地更新环路状态,鉴相器仅在BPSK周期内更新载波环相位误差和码环相位误差,首先介绍本文跟踪鉴相原理[10].

图4  跟踪环路结构图

3.仿真验证

        为验证SNAP信号间歇跟踪性能分析的正确性,本小节进行了蒙特卡洛仿真验证. 选用图2中LEO场景,表2示出了仿真信号参数设置. 仿真中通过改变多普勒频移变化率,探究性能损失和多普勒频移变化率的关系,图5展示了载波环性能损失.

表2  仿真参数

参数

扩频码

P 码

码速率

2.046 MHz

码长度

2046 chips

码长度

2046 chips

采样率

7.5 MHz

载波频率

1575.43 MHz

初始载噪比

45 dB·Hz

码噪声带宽

1 Hz

载波噪声带宽

15 Hz

时分复用周期

1:1 ms

(a)均值

(b)均方差 

图5  载波环性能损失

        从图中可以看出,仿真与理论结果基本吻合. 误差均值累积与多普勒频移变化率α成正比,在α大于20Hz/s后进入线性增加状态,其斜率与相干时间以及环路参数相关. 误差均方差累积可等价为由于多普勒频移导致的信噪比的损失,同时还与噪声带宽和相干时间相关. 进一步了验证码环理论分析正确性,图6展示了码环性能损失.

(a)均值 

(b)均方差

图6  码环性能损失

        从图中可以看出,理论与仿真结果基本吻合,由于码频率远小于载波频率,因此码环性能损失受多普勒频移变化影响较小. 综上,由于LEO卫星相对移动导致的最大多普勒频移变化率约为145Hz/s,此时载波环相位误差增加约0.07弧度,码环误差增加约0.005码片,均满足动态跟踪要求.

4  结束语

本文针对低轨卫星动态多普勒场景下的快速认证需求,首先定量分析了低轨卫星多普勒频移及多普勒频移变化率α,然后对SANP认证方案的间歇跟踪结构进行了性能分析,并推导出间歇跟踪下的误差累积解析表达式. 结果表明,跟踪误差均值与α成正比,增加噪声带宽有助于提升跟踪环路的动态性能,但会带来更多的热噪声误差,码环受多普勒变化影响较小. 数值结果证明了理论分析的正确性. 本文的分析结果为接收机系统参数的设计提供了重要理论参考.

参考文献

  1. Chen X, Luo R D, Liu T, Yuan H, Wu H T. Satellite Navigation Signal Authentication in GNSS: A Survey on Technology Evolution, Status, and Perspective for BDS[J]. Remote Sensing, 2023, 15(1462): 1462.
  2. 江旭东, 陈潇, 马满帅, 王莹, 梁任腾, 杨子佳. 典型低轨卫星星座导航增强性能对比性评估研究[J]. 全球定位系统, 2021, 46(2): 49-55.
  3. 张小红, 马福建. 低轨导航增强GNSS发展综述[J]. 测绘学报, 2019, 48(9): 1073-1087.
  4. Meng L X, Yang L, Yang W, Zhang L. A Survey of GNSS Spoofing and Anti-Spoofing Technology[J]. Remote Sensing, 2022, 14(4826): 4826.
  5. Yuan M Z, Tang X M & Ou G. Authenticating GNSS civilian signals: a survey[J]. Satellite Navigation, 2023, 4(1): 1-18.
  6. 陈东桥.基于新型OTP认证的GNSS导航电文加密认证技术研究[J]. 计算机产品与流通, 2021, (3): 157-158.
  7. 申成良, 郭承军.卫星导航信号电文加密技术研究与评估[J].全球定位系统,2018, 43(3): 7-12.
  8. MOTELLA B, MARGARIA D, PAONNI M. SNAP: an Authentication Concept for the Galileo Open Service[J]. 2018 IEEE ION POSITION, LOCATION AND NAVIGATION SYMPOSIUM (PLANS) IEEE ION Position Location and Navigation Symposium, 2018: 967-977.
  9. 严涛,田野,李天,王国永,王瑛,周泉,边朗. CSK调制信号的跟踪方法[J]. 中国空间科学技术, 2023, 43(2): 117-127.
  10. 陈玉君. 高动态卫星信号跟踪技术研究[J]. 电子技术与软件工程, 2021, (16): 79-80.
  11. 韩志凤,刘建业,李荣冰,王翌. 北斗弱信号跟踪相干积分算法设计[J]. 控制与决策, 2018, 33(7): 1282-1286.
  12. DAVIDE M, BEATRICE M, MARCO A, et al. Signal structure-based authentication for civil GNSS [J]. IEEE Signal Processing Magazine, 2017(9): 27-37.
  13. 赵琳, 柏亚国, 丁继成, 章小春. 基于EKF的北斗B1C信号数据/导频联合跟踪方法[J]. 全球定位系统, 2020, 45(6): 1-9.
  14. 田野, 湛剑佳. 用于GNSS信号的可变相干积累时长的时频域结合捕获算法[J]. 全球定位系统, 2018, 43(4): 8-13.

MATLAB信号跟踪代码

https://github.com/profmou/SoftGNSS

该链接是软件接收机代码,如有不懂,欢迎私信

这篇关于低轨卫星导航抗欺骗认证信号间歇跟踪SNAP算法(MATLAB跟踪代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803749

相关文章

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部