低轨卫星导航抗欺骗认证信号间歇跟踪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

相关文章

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

利用Python在万圣节实现比心弹窗告白代码

《利用Python在万圣节实现比心弹窗告白代码》:本文主要介绍关于利用Python在万圣节实现比心弹窗告白代码的相关资料,每个弹窗会显示一条温馨提示,程序通过参数方程绘制爱心形状,并使用多线程技术... 目录前言效果预览要点1. 爱心曲线方程2. 显示温馨弹窗函数(详细拆解)2.1 函数定义和延迟机制2.2

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

VS Code中的Python代码格式化插件示例讲解

《VSCode中的Python代码格式化插件示例讲解》在Java开发过程中,代码的规范性和可读性至关重要,一个团队中如果每个开发者的代码风格各异,会给代码的维护、审查和协作带来极大的困难,这篇文章主... 目录前言如何安装与配置使用建议与技巧如何选择总结前言在 VS Code 中,有几款非常出色的 pyt

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python