GNSS/INS组合导航实习面试

news2024/12/25 12:26:33

GNSS/INS组合导航面试

美团无人机、云创智行、阿里达摩院、图森蔚来组合导航、来牟创新腾讯地图出行事业部
持续更新

文章目录

  • GNSS/INS组合导航面试
    • 1.GNSS方面的问题
        • 模糊度固定的方法,以及部分模糊度固定
        • 多普勒和载波为什么精度更高,对多径更不敏感
        • 电离层误差为什么对载波和伪距的影响相反(在观测方程中符号相反)
        • **载波和伪距的观测方程**
        • 电离层误差为啥对高程影响更严重
        • 周跳探测有哪些方法
        • GNSS观测值的组合
    • 2. 惯性导航方面
    • 3. 滤波
    • 4. c++ git cmake

1.GNSS方面的问题

模糊度固定的方法,以及部分模糊度固定

http://t.csdn.cn/2LGQV
https://blog.csdn.net/dong20081991/article/details/129223718

多普勒和载波为什么精度更高,对多径更不敏感

  • 多普勒测量通过测量相位变化,可以彻底消除钟误差影响,而伪距测量仍受发射机和接收机钟误差影响。
  • 多普勒相位测量采用差分技术可以进一步提高精度,将大气误差和其他误差消除,而这些误差对伪距测量也有影响
  • 多普勒相位测量可以实现载波整周期伪距测量,避免码定时引入的余弦误差,而伪距测量会受余弦误差影响。
  • 多普勒测量使用相位测量技术,可以实现毫米级精度,而伪距测量受限于码定时精度,精度难以达到毫米级

综上,多普勒相位测量采用相位技术,可以对钟误差和大气误差实现更好补偿,从而达到更高的精度。它直接测量速度变化,避免了计算速度变化引入的额外误差。相位测量与差分技术的结合,使其精度优势更加明显。多普勒测量虽然精度高,但也面临相位失锁等问题,无法长期连续跟踪。而伪距测量虽精度稍差,但更稳定可靠,两者在GNSS中常结合使用,发挥各自优势。]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ALrjZpN-1682438050464)(…/…/AppData/Roaming/Typora/typora-user-images/image-20230425223751953.png)]

电离层误差为什么对载波和伪距的影响相反(在观测方程中符号相反)

电离层误差对载波相位测量和伪距测量的影响相反,主要原因是两者的测量机制不同:

  1. 载波相位测量依赖信号的相位,电离层误差会造成信号传播速度变化,从而导致相位产生跳变。
  2. 而伪距测量依赖信号的到达时间,电离层误差会减慢信号传播速度,信号需更长时间到达接收机,。
  3. 载波相位测量测量的是相位变化,而伪距测量测量的是码定时,两者受电离层影响的机制不同,因而误差方向相反。
  4. 载波相位测量的误差与信号频率成正比,频率越高误差越大。而伪距测量的误差与信号频率无关。

综上,电离层误差通过改变信号在电离层的传播速度,对载波相位测量和伪距测量产生相反影响**,前者增加距离,后者减小距离**。两者的测量机制不同,频率依赖性也不同,因而表现出相反的误差特征。对GNSS测量而言,电离层误差是一个很难补偿的误差源,需要采用对应的算法模型进行建模与补偿,或者使用实测的电离层数据进行校正

载波和伪距的观测方程

image-20230425232051764

​ GNSS 接收机接收到的原始观测信息为伪距观测值和相位观测值, 伪距观测 值由伪随机噪声码计算获得卫星与接收机之间的距离, 相位观测值则是由接收机 复制载波与卫星播发载波之间的载波相位差, 在连续跟踪的情况下, 多历元相位 观测值与实际的卫地距之间差一个固定的整周数, 即整周模糊度。伪距和相位的 观测方程主要可描述如下:
{ P r , f s = ρ r S + t r , s y s − t s + α r s T z + 40.3 f 2 γ r s I r s − b s , f + b r , f + ε p Φ r , f s = ρ r s + t r , s y s − t s + α r s T z − 40.3 f 2 γ r s I r s + λ f N r , f s + ε Φ \left\{\begin{array}{l} P_{r, f}^s=\rho_r^S+t_{r, s y s}-t^s+\alpha_r^s T_z+\frac{40.3}{f^2} \gamma_r^s I_r^s-b^{s, f}+b_{r, f}+\varepsilon_p \\ \Phi_{r, f}^s=\rho_r^s+t_{r, s y s}-t^s+\alpha_r^s T_z-\frac{40.3}{f^2} \gamma_r^s I_r^s+\lambda_f N_{r, f}^s+\varepsilon_{\Phi} \end{array}\right. {Pr,fs=ρrS+tr,systs+αrsTz+f240.3γrsIrsbs,f+br,f+εpΦr,fs=ρrs+tr,systs+αrsTzf240.3γrsIrs+λfNr,fs+εΦ
式中, P 、 Φ P 、 \Phi PΦ 分别为伪距和相位观测值, ρ = ∥ p S − p r ∥ \rho=\sqrt{\left\|p^S-p_r\right\|} ρ=pSpr , 其中 p S 、 p r p^S 、 p_r pSpr 分别为卫星与接收机位置, t r , s y s 、 t s t_{r, s y s} 、 t^s tr,systs 分别为接收机和卫星钟差, 在进行单点定位解算时, 通 常忽略精密星历给出的卫星位置与卫星钟差误差; T Z 、 I T_Z 、 I TZI 分别为天顶对流层误差 和电离层误差, α 、 γ \alpha 、 \gamma αγ 则分别为对应的投影函数, b r , f 、 b s , f b_{r, f} 、 b^{s, f} br,fbs,f 分别为接收机端和卫星 端硬件延迟误差, N 、 λ N 、 \lambda Nλ 为模糊度和波长, ε p 、 ε Φ \varepsilon_p 、 \varepsilon_{\Phi} εpεΦ 为观测噪声。角标 f 、 s 、 r f 、 s 、 r fsr 分别 表示对应的频率和卫星号及接收机。

针对 式中的误差处理方式主要有三种:模型改正、组合/差分消除、 参数估计:

观测值的组合:GNSS观测方程及线性组合

电离层误差为啥对高程影响更严重

电离层误差在水平方向的投影可以互相消除,而在高程都是叠加

周跳探测有哪些方法

周跳探测的常用方法

周跳产生的原因

  • 第一,由于障碍物的短时间遮挡。
  • 第二,接收机的快速运动。
  • 第三,接收机接收到的卫星信号信噪比比较低。
  • 第四,接收机硬件的故障或者软件的不完善。
  • 第五,卫星的原因。

image-20230425221719247

image-20230425220724965

GNSS观测值的组合

(其中 R i R_i Ri Φ i , i = 1 , 2 \Phi_i,i=1 , 2 Φi,i=1,2表示在频率 f 1 f_1 f1 f 2 f_2 f2的测量值,为简单起见省略了 P P P L L L):

  • 无电离层(IF)组合:这消除了取决于频率反比平方的一阶(高达 99.9 99.9 %) 99.9电离层效应 ( α i ∝ 1 / f i 2 \left(\alpha_i \propto 1 / f_i^2\right. (αi1/fi2,见第5.4.1节)
    Φ C = f 1 2 Φ 1 − f 2 2 Φ 2 f 1 2 − f 2 2 , R C = f 1 2 R 1 − f 2 2 R 2 f 1 2 − f 2 2 \Phi_C=\frac{f_1^2 \Phi_1-f_2^2 \Phi_2}{f_1^2-f_2^2}, \quad R_C=\frac{f_1^2 R_1-f_2^2 R_2}{f_1^2-f_2^2} ΦC=f12f22f12Φ1f22Φ2,RC=f12f22f12R1f22R2

  • 几何无关(GF)组合:这取消了测量中的几何部分,留下了所有频率相关的效应(即电离层折射,仪器延迟,回转)。它可以用于估计电离层电子含量或检测载波相位的周跳。请注意, Φ I \Phi_I ΦI R I R_I RI中项的顺序发生了变化:
    Φ I = Φ 1 − Φ 2 , R I = R 2 − R 1 \Phi_I=\Phi_1-\Phi_2, \quad R_I=R_2-R_1 ΦI=Φ1Φ2,RI=R2R1

  • 宽巷组合:这些组合用于创建一个具有显着宽波长的测量。这种较长波长对于检测载波相位的周跳和固定模糊度非常有用:
    Φ W = f 1 Φ 1 − f 2 Φ 2 f 1 − f 2 , R W = f 1 R 1 − f 2 R 2 f 1 − f 2 \Phi_W=\frac{f_1 \Phi_1-f_2 \Phi_2}{f_1-f_2}, \quad R_W=\frac{f_1 R_1-f_2 R_2}{f_1-f_2} ΦW=f1f2f1Φ1f2Φ2,RW=f1f2f1R1f2R2

  • 窄巷组合:这些组合创建具有窄波长的测量。此组合中的测量噪声低于每个独立分量:
    Φ N = f 1 Φ 1 + f 2 Φ 2 f 1 + f 2 , R N = f 1 R 1 + f 2 R 2 f 1 + f 2 \Phi_N=\frac{f_1 \Phi_1+f_2 \Phi_2}{f_1+f_2}, \quad R_N=\frac{f_1 R_1+f_2 R_2}{f_1+f_2} ΦN=f1+f2f1Φ1+f2Φ2,RN=f1+f2f1R1+f2R2

    Φ W \Phi_W ΦW R N R_N RN与电离层相关,可用于消除电离层误差。

2. 惯性导航方面

  • 零偏、零偏不稳定性、上电重复性
  • 零偏不稳定意味着什么,长时间零偏会不会发散

3. 滤波

图解kalman滤波

(27条消息) 滤波笔记一:卡尔曼滤波(Kalman Filtering)详解_scoutee的博客-CSDN博客

(27条消息) 滤波笔记二:运动模型(CV&CA&CTRV)_ctrv模型_scoutee的博客-CSDN博客

(27条消息) 滤波笔记三:无迹卡尔曼滤波(UKF)_scoutee的博客-CSDN博客

  • kalman滤波的使用条件以及为什么 线性 高斯白噪声

  • EKF和ESKF

4. c++ git cmake

c++八股文相关内容

  • 左值引用、右值引用
    (27条消息) C++ 移动构造函数详解_a只如初见的博客-CSDN博客

  • 子类和父类构造函数、析构函数的调用顺序

  • 智能指针

  • 类和它的成员类的构造函数和析构函数的调用顺序

  • STL容器的底层实现原理

    (27条消息) STL容器详解_KuoGavin的博客-CSDN博客
    image-20230425222218190

    STL面试问题总结 (flowus.cn)

  • c++中的强制类型转换

    (27条消息) c++面试——强制类型转换_hyisoe的博客-CSDN博客

GIT

  • add commit push 的作用和区别
  • 如何解决冲突

cmake

  • find_package()是如何找到我所需的库的 .a .so .lib .dll

    cmake中的find_package命令用于查找软件包并加载软件包的相关设置。它主要通过以下几种方式找到软件包:

    1. CMAKE_PREFIX_PATH这个变量包含一系列目录,cmake会在这些目录中搜索软件包。我们可以通过设置这个变量来指定搜索路径。例如:
    set(CMAKE_PREFIX_PATH /usr/local/lib/cmake)
    find_package(PackageName)
    
    1. _DIR如果定义了_DIR变量,cmake会直接在该变量指定的路径下搜索软件包。例如:
    set(PackageName_DIR /path/to/package)
    find_package(PackageName)
    
    1. 环境变量cmake会检查相关环境变量,如DIR,看其是否定义了软件包路径。如果定义了,就在该路径下搜索软件包。
    2. 默认目录如果以上方式都未指定路径,那么cmake会在一系列默认路径下搜索软件包,通常在/usr/ 和 /usr/local/ 下搜索。
    3. _ROOT如果定义了_ROOT变量,cmake会在 < P A C K A G E > R O O T / s h a r e 和 {<PACKAGE>_ROOT}/share和 <PACKAGE>ROOT/share{ROOT}/lib下搜索软件包。
    4. 根目录如果以上方式均未找到,那么就在根目录/下搜索软件包。

    总之,cmake通过环境变量、用户定义变量和默认规则寻找软件包目录,并在这些路径下搜索find_package()要查找的软件包。
    如果成功找到,就会定义一系列变量,如:_FOUND、_INCLUDE_DIRS、<PACKAGE_LIBRARIES等,我们可以在CMakeLists.txt中使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你们工作中怎么用ChatGPT?如何高效Prompt?

当你还在错误使用对话 AI 工具如 GPT&#xff0c;可能会觉得其作用不过是知识平移总结或简单问答。实际上&#xff0c;当了解先进的用法、知悉如何做到 better prompt&#xff0c;你会发现&#xff1a;AI 不是来替代你的&#xff0c;是来帮助你更好工作。如果还用搜索引擎的“关…

【iOS-分类,拓展和关联对象底层探究】

前言 寒假分享会问题解决二 早在大一的OC的学习过程就知道了分类和拓展的区别和联系&#xff0c;分类不能添加成员变量&#xff0c;而拓展可以添加成员变量。分类是在运行时期实现的&#xff0c;而拓展只是编译器的时候就实现了。对于分类我们可以通过关联对象来为我们需要的分…

什么蓝牙耳机好?经销商分享线下热销蓝牙耳机品牌排行

开实体店铺多年&#xff0c;对数码行业多有研究&#xff0c;每天都会试用各种数码产品。网友们在发帖咨询什么蓝牙耳机好&#xff0c;为此我整理了实体店铺最受欢迎的蓝牙耳机品牌排行&#xff0c;大家在选购时可以作为备选&#xff1a; 第一款&#xff1a;JEET Air2蓝牙耳机 …

Mac M1/M2 安装nvm管理多版本node

Mac M1/M2 安装nvm管理多版本node Mac m1、Mac&#xff0c;Ventura 13.2&#xff0c;M2安装NVM使用homebrew安装nvm安装NodeMac nvm install failed python: not found解决方法(终端中执行以下命令)&#xff1a; Mac m1、Mac&#xff0c;Ventura 13.2&#xff0c;M2安装NVM 使…

2023最新XXL-JOB定时器教程

1.创建一个名为xxl_job的数据库,执行sql # # XXL-JOB v2.4.0 # Copyright (c) 2015-present, xuxueli.CREATE database if NOT EXISTS xxl_job default character set utf8mb4 collate utf8mb4_unicode_ci; use xxl_job;SET NAMES utf8mb4;CREATE TABLE xxl_job_info (id int(…

算法记录 | Day42 动态规划

01 背包 0-1 背包问题 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 **0-1 背包问题的特点&#xff1a;**每种物品有且仅有 1 件&…

28. Python logging日志模块下(适合小白)

28. Python logging日志模块下&#xff08;适合小白&#xff09; 文章目录 28. Python logging日志模块下&#xff08;适合小白&#xff09;1. %占位符格式化语法知识回顾2. basicConfig函数的参数3. format参数&#xff1a;设置输出的格式3.1 添加%(asctime)s字段输出日志发生…

电子商务网站上的API攻击如何泄漏PII

本稳重点分享&#xff1a; 以影子 API为目标的 API 攻击 电子商务网站上的 API 攻击如何泄漏 PII 对 API 运行时安全性重要性的看法 API 渗透测试指南 以影子 API为目标的 API 攻击 首先是DarkReading最近的一个研究的报告&#xff0c;该报告显示&#xff0c;大约50亿&am…

20+ Prompt工具网站汇总;我用AI工具开了一家「无人公司」;如何10分钟上线一个AI导航网站;第一部AIGC中英双语图文辞典 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 『MidJourney Prompt工具网站』加速生成与优化&#xff0c;持续更新中 ShowMeAI知识星球 | 资源标签&#xff1a;找工具 这是一个总结…

【unity专题篇】——GUI(IMGUI)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

tcp,udp一些列问题

&#xff08;tcp,udp基本介绍&#xff0c;三握四挥等&#xff09;七层模型主要知识点等 OSI七层模型其功能简介 分层机制体现了分治的思想&#xff0c;每一层为上一层提供保障屏蔽异构。 物理层&#xff1a;规定了一系列的物理、电气、接口标准&#xff0c;传输的是比特流&…

DAY05_面向对象基础

面向对象并不是一个技术&#xff0c;而是一种指导思想。 为什么要用面向对象编程&#xff1f; 因为生活中&#xff0c;我们解决问题时&#xff0c;就是采用这种指导思想去解决的。所以&#xff0c;我们写程序去解决问题时&#xff0c;如果也能采用这种指导思想就会使得程序变…

LVS+keepalived 群集

Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可以解决静态路由出现的单点故障问题 在一个LVS服务集群中通常有主服务器&#xff08;MASTER&#xff09;和备份服务器&#xff08;BACKUP&#xff09;两种角色的服务器&#xff…

链接伪类选择器(上)

知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" c…

java方法的重载

java中有很多方法是可以通过重载的方式实现的&#xff0c;这是 Java语言的一大特色&#xff0c;但是同时也为开发人员带来了一些麻烦&#xff0c;不知道怎么去调用这些方法&#xff0c;而且还容易出现一种情况就是&#xff1a;明明已经调用过了一个方法&#xff0c;但为什么又要…

Ansys Zemax | 如何模拟双折射偏振器件

这篇文章介绍了什么是双折射现象、如何在OpticStudio中模拟双折射 (birefringence)、如何模拟双晶体的双折射偏振器以及如何计算偏振器的消光比。&#xff08;联系我们获取文章附件&#xff09; 什么是双折射现象 一般的光学材料都是均匀的各向同性的&#xff0c;也就是说无论光…

等级保护、风险评估和安全测评分别是什么?

2022-06-17 15:17 迈入“等保2.0时代”以后&#xff0c;我国对于等级保护的要求更为严格和具体。等级保护、风险评估和安全测评这三个词&#xff0c;也因此总是出现在人们的视野之中&#xff0c;还总是被混淆。那这三者究竟分别是什么呢&#xff1f;如何区分它们&#xff1f;它…

如何以产品经理思维打造一所高品质学校?

学校的建设与管理真不是一件容易事。2023年03月17日&#xff0c;山东菏泽市曹县一家长投诉某中学课业繁重&#xff0c;孩子经常写作业到半夜&#xff1b;2023年4月4日&#xff0c;张先生在华龙网重庆网络问政平台投诉万州区某中学伙食差&#xff0c;指出“发灰的洋葱&#xff0…

本地运行 minigpt-4

1.环境部署 参考官方自带的README.MD&#xff0c;如果不想看官方的&#xff0c;也可参考MiniGPT-4&#xff5c;开源免费可本地进行图像对话交互的国产高级大语言增强视觉语言理解模型安装部署教程 - openAI 当然&#xff0c;所有的都要按照作者说明来&#xff0c;特别是版本号…

练好基本功,优秀工程师成长第一步

计算机基础作用 举例1&#xff1a;若是我们要开发大规模应用系统&#xff0c;如电商服务系统&#xff0c;要考虑很多 1. 这个服务应用要用什么语言来编写&#xff1f; 2. 是采用单体进程&#xff0c;还是用多个进程来协同工作&#xff1f; 3. 如何管理长期使用的内存空间&a…