抽空用手机写一写做接收机的心得,由于本萝卜也还是个学生,文章涉及的内容也是我个人在科研中遇到的问题,但工程经验比较欠缺,所以文章提到的算法可能并不是所谓的“标准答案”,和一些经验丰富的工程师相比,根本不值一提。唯一可能的优势就是完整地编过一套自己的GNSS软件接收机,对接收机内部大概怎么玩的,比较一般人了解一点。写出来的东西更多的是对自己的自我检查,希望各位朋友在阅读的时候,能积极发现文章中的不足之处。当然更希望各位能从我写的这些小经验中攫取到一些自己想要了解的东西。最后,非常感谢大家关注我的专栏。


注:本文涉及到的具体卫星信号都将以GPS L1 C/A 信号为例。

第一部分:GNSS射频信号转换到数字中频信号

每颗导航卫星向地面发射射频信号,首先,需要利用一个合适频段的GNSS天线接收到GNSS射频频段的发射信号,被接收到的该射频信号先通过一个低噪放,使该信号被调整到一个合适的电压范围;然后下变频模块将模拟射频信号转换成模拟中频信号,中频频段的信号才能够被接收机处理,但还需要将模拟信号转换成数字信号;其中,自动增益控制,能自动调整模拟中频信号的幅度,使信号能被充分地量化;最后,模数转换模块将接收到的GNSS模拟中频信号转换成能被接收机处理的数字中频信号。

我们可以用一个GNSS天线和一个商业射频前端模块来完成这一系列对接收到的GNSS模拟射频信号到数字中频信号的转换过程,数字中频信号才是能被GNSS基带处理的信号。

第二部分:信号捕获

GPS信号利用信号中调制的不同的伪随机噪声码PRN来区分不同卫星发射的信号,对于GNSS捕获模块,其最重要的任务就是获取两个粗糙的估计值:一是,初始的PRN码相位,二是,接收机相对于该通道卫星视线方向LOS的多普勒估计值。由于有两个未知量需要估计,所以捕获的基本原理就是在码相位(GPS L1C/A 要在0-1023中进行搜索)和多普勒值(根据导航卫星的运动状态以及地面用户动态估计,一般搜索范围为±5000Hz)这两个参数组成的二维空间中进行搜索,每移动一对数值,接机利用停留在改处的多普勒和码相位复制一组与接收到的卫星信号结构完全相同的本地信号,然后将接收和复制的信号每个采样点对应相乘累加(相干积分),获得一个累加和,将该累加和与预先设定好的门限值进行比较,若超过门限值,则信号捕获成功,否则继续搜索下一组码相位和多普勒,直到遍历整个搜索范围,若仍然未能捕获到信号,则该通道的信号捕获失败。

捕获一般有三种算法:

第一,在码相位和多普勒维度均利用串行的搜索方式,码的搜索步进至少为1/2个码片,多普勒搜索步进至少为2/(3T),步进越小,捕获成功率越高,其中T为一次相干积分的时间。

第二,在多普勒维度串行搜索,码相位维度并行搜索。假设多普勒值已经确定,只搜索码相位,由于需要遍历整个0-1023的范围,每移动一个步进需要做一次相乘累加(相干积分),所以该过程可以看成是一次码的卷积过程。所谓码并行搜索,首先我们默背一遍傅里叶变换的其中一个口诀“频域相乘,时域相卷”,码卷积就是时域相卷,因此,我们需要将本地复制信号和接收到的中频信号分别做一次傅里叶变换,使它们转换到频域上面,之后在频域对两者相乘,最后对相乘后的结果进行傅里叶反变换,得到的结果就是整个码搜索范围的一组累加和。

第三,在码相位维度串行搜索,多普勒维度并行搜索。假设码相位已经确定,只搜索多普勒。所谓多普勒的并行搜索,我们可以给出两种理解方式:一,将接收到的信号和本地复制信号每个采样点点对点相乘,若接收信号和本地信号完全相同,那么它们相乘后的结果可以看成是一条直流信号,直流信号频率为0,那么对直流信号进行傅里叶变换,最终信号频域幅度的最大值会出现在0Hz的位置,如果本地和接收信号频率不同,那么最大值将会出现在频域不为0Hz的地方,这样的话,最大值如果超过门限,那么本地的多普勒值将会最终被确定;二,默背傅里叶变换的另一个口诀“时域相乘,频域相卷”,同理,多普勒的在捕获中的搜索过程可以看成是频域的卷积过程,所以频域的并行算法,即,对本地信号和接收信号相乘后做一次傅里叶变换,结论与第一种理解方式相同。


本文主要写了一些GNSS射频信号处理和捕获算法的心得,之后?会不定期?补充一些内容。另外,接下来?会谈谈GNSS接收机的跟踪算法。

如有不妥,欢迎指正,谢谢~


本文禁止转载

mulitpartfile怎么接收不到值_GNSS接收机设计杂谈(射频前端+捕获)相关推荐

  1. mulitpartfile怎么接收不到值_最小均方误差接收机(MMSE接收机)

    操作符: 为矩阵或向量的转置, 矩阵或向量的共轭, 矩阵或向量的共轭转置 无线通信多用户模型中,接收器会收到来自多个发送端得信号.假设发送器采用单天线发送,接收器有N个接收天线,接收器收到得信号模型可 ...

  2. mulitpartfile怎么接收不到值_光端机电源正常,但是运行不了怎么办?

    光端机,是光信号传输的终端设备,在安防领域有很好的应用.伴随着监控的发展,视频光端机就是把1路到多路的模拟视频信号通过各种编码转换成光信号通过光纤介质来传输的设备分,分为模拟光端机和数字光端机.其中, ...

  3. mulitpartfile怎么接收不到值_和平精英信号接收区和信号值是什么?信号值怎么恢复...

    [闽南网] 和平精英公测开启,和平精英与刺激战场有什么不同呢?今天小编就为大家带来了信号值详解!各位玩家千万不要错过呀! 信号值详解 信号接收区和信号值是什么,对选手有什么影响? 在游戏战斗界面中,信 ...

  4. mulitpartfile怎么接收不到值_王者荣耀:460是怎么来的?为什么卡顿是460而不是别的数?...

    在王者荣耀中,经常听到人们说460,比如"你460了"."一打团战就460".这里趣鱿君首先解释一下460的意思. 460是什么意思? 王者荣耀里面,460指的 ...

  5. mulitpartfile怎么接收不到值_手机有时接收不到微信消息通知,怎么办?超全解决方案...

    不知道大家在使用微信的过程中有没有遇到以下情况,在自己看视频或者刷其他网页的时候,没有接收到微信的任何通知和提示的消息.等到你进入微信页面后,突然发现有很多未读信息.这种情况时有发生,很多人都反应说微 ...

  6. 前端接收pdf文件_雷达接收机的噪声系统及灵敏度

    接收机是雷达系统中必不可少的的一部分,而接收机性能也关系到雷达的正作.接收机根据其系统架构可以分成:超外差接收机.宽带中频接收机.零中频接收机.数字中频接收机等.接收机在朝着高集成度.低功耗.射频前端 ...

  7. BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 参考文章: (1)BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 (2)https://www. ...

  8. 【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )

    文章目录 一.主函数逻辑结构 1.启动无限循环 2.接收用户操作值 3.主函数代码示例 二.宏定义声明 三.显示操作菜单 一.主函数逻辑结构 在 main 函数中 , 启动一个无限循环 , 不断的接收 ...

  9. ajax传递数组后台接收不到值的问题

    背景: JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值. 后台语言:java 原因: ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对 ...

最新文章

  1. RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大 | CVPR-2021
  2. 【UEditor】关于导入ueditor-1.1.3.jar的问题---
  3. bzoj 2109: [Noi2010]Plane 航空管制
  4. Java并发编程-并发工具包java.util.concurrent使用指南
  5. 远程服务器返回了意外响应400,远程服务器返回400
  6. php 查找点,在多边形PHP中查找点
  7. SQL Server 扩展事件系列 (1 of 31) -- 扩展事件概述
  8. Spark创建DataFrame的三种方法
  9. Android之图片缓存管理
  10. pytorch macos_Windows,Linux和MacOS上的PyTorch安装
  11. entOS查看系统信息-CentOS查看命令
  12. DICOM通讯(ACSE->DIMSE->Worklist)
  13. 英语在线听力翻译器_英语听力翻译器在线翻译PC版-英语听力翻译电脑版下载 v2.1.4--PC6电脑版...
  14. 多元统计分析基于r课后答案_(完整版)多元统计分析课后练习答案
  15. 简单Android app开发_个人如何开发手机app?做个app需要的技术?最简单app制作流程...
  16. [摘]研究方法 - 实证研究
  17. C++萌新来看,一篇文让你让你彻底搞定类(超详细)!
  18. python aic准则_赤池信息准则AIC,BIC
  19. s3c6410地址映射
  20. 游戏制作流程全息解密

热门文章

  1. 程序员面试金典——3.3集合栈
  2. pytorch.tensor格式图像的resize操作
  3. python 实现SOM: 函数更新
  4. 【Oracle】用户管理
  5. Linux 基本命令(一)--ls 常用命令
  6. 【luogu4145】 上帝造题的七分钟2 / 花神游历各国 [线段树]
  7. 9.26-CSS 背景 字体 文本 边框 以及其他
  8. 开博第一篇,附上我开通博客的理由
  9. FreeCAD项目编译记录(1)
  10. Delphi 使用 Visual Studio Shell , 开源为期不远