GPS信号结构:伪码

伪随机噪声码(PRN)简称伪随机码或者伪码;能预先确定,有周期性的二进制数序列,而且有接近于二进制数随机序列的良好自相关特性。伪码中的一位二进制数称为一个码片chip;一个码片的持续时间Tc称为码宽,单位时间内所包含的码片数目称为码率。码率*码宽=1

伪码大体可分为三大类:m序列,组合码和非线性码。

二进制异或加法(模2和):

首先介绍二进制数随机序列:良好自相关性。不能被预测,不能重现,不能复制,没有周期性。

m序列:由n级反馈移位寄存器产生的、周期等于最大可能值(即2^n-1码片)的序列,称为最长线性反馈移位寄存器,简称m序列。 由多级反馈移位寄存器产生。通常,最后一级寄存器的输出端用做整个多级反馈移位寄存器的伪随机码输出端。寄存器工作特点:输出值等于上一时刻的输入值。

两个不同反馈连接方式的五级反馈移位寄存器(会计算推导周期序列):

一个n级m序列x(t)属于线性伪随机码,特性:

  • 1.m序列的周期N等于2^n-1个码片
  • 2.在m序列的一个周期中,值为1和值为0的码片出现的概率均约等于0.5,并且值为1的码片比值为0的码片多出现1次
  • 3.m序列的x(t)的自相关函数:

  • 自相关函数的值等于一周期内x(k)与x(k-i)有相同码片值的个数减去两者有不同码片值的个数再除以N
  • 互相关函数的值等于一周期内x1(t)与x2(t)有相同码片值的个数减去两者有不同码片值的个数再除以N

金码:金码由一对级数相同的m序列线性组合而成,适用于多址、扩频这一类通信系统。并不是任何一对级数相同的m序列都可以产生金码,能产生金码的一对m序列称为优选m序列对。一对m序列可以产生2^n+1个金码。 

五级金码发生器:平移等价序列通过相位选择器来实现。

图2.7的两个五级金码的自相关函数:对于任何一个n级金码自相关函数在整数码片值时只有四种可能:

两个n级金码不完全正交,互相关函数峰值只有三种可能:

金码越长,自相关和互相关性能越好。 

 C/A码:测距:接收机通过对所接收到的卫星信号与接收机内部所复制的伪码进行相关运算,检测自相关函数的峰值,从而确定接收信号中伪码的相位并测量出从卫星到接收机的空间距离。L1上有C/A码和P(Y)码;L2上只有P(Y)码。C/A码是金码的一种。周期为1023(2的10次方-1)个码片。码宽约等于977.5ns或293m(通常近似说成300m)。C/A码的码率与载波L1的频率在数值上的关系:在一个C/A码码片的时间内载波L1重复1540(即1575.42M/1.023M)周,半个码片相当于770周。

C/A码发生器逻辑图:G2发生器通过相位选择器选择G2发生器中的两个寄存单元输出,并将两者异或相加后输出一个G2的平移等价序列G2i。最后,m序列G1与平移等价m序列G2i模2和成为一个PRN编号为i的卫星所发射的C/A码。

P码: P码周期为7天,码率为10.23Mcps,码宽Tp约等于0.1us或30m。加密后的P码称为Y码。PRN为i的卫星上产生的P码Pi是序列X1和序列X2的模2和。序列X1的生成电路时由两个十二级反馈移位寄存器构成的,每个12级反馈移位寄存器各能产生一个周期为2的12次方-1=4095个码片的m序列,首先把这两个m序列截短,一个4092,一个4093,然后异或相加,生成周期4092*4093的长码,最后将长码截短,变成周期为1.5s,长为1.5s*10.23Mcps码片的序列X1。X2序列和X1类似。

 

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
引用中提供了求解任意两点间最短路径的Floyd算法的代码。该算法通过构建邻接矩阵,并使用动态规划的思想来解决该问题。代码如下: ``` for k from 1 to n for i from 1 to n for j from 1 to n if Floyd[i][j > Floyd[i][k + Floyd[k][j] Floyd[i][j = Floyd[i][k + Floyd[k][j] ``` 其中,`Floyd`是一个大小为`n`的邻接矩阵,`Floyd[i][j`表示从顶点`i`到顶点`j`的最短路径长度。 引用中提供了希尔排序的实现代码。希尔排序是一种插入排序的改进算法,它通过将待排序的元素分组后进行插入排序,最终达到整体有序的效果。实现代码如下: ```java public int[] shellSort(int[] arrs) { for(int dk = arrs.length / 2; dk >= 1; dk /= 2) { for(int i = dk + 1; i < arrs.length; i++) { int j = i; int temp = arrs[j]; for(j = i; j >= dk && arrs[j - dk > temp; j -= dk) { arrs[j = arrs[j - dk]; } arrs[j = temp; } } return arrs; } ``` 希尔排序通过设置不同的增量序列来进行排序,其中`dk`表示增量,每次循环都会缩小增量,直到增量为1时完成排序。 希望以上信息能够解答您的问题。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【墨尘の笔记】数据结构与算法](https://blog.csdn.net/IntFase/article/details/115915402)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GISerY_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值