《GPS原理与接收机设计》阅读笔记——第二章·GPS信号及其导航电文
目录
这一章主要介绍GPS信号结构和其播发的导航电文,内容丰富,对之后的学习较为重要,大家可以多看看书,多回顾回顾。笔者这次贴出了部分仿真代码(可能比较拙劣),也许可以帮助大家理解。这一章会涉及一些通信原理、信息论的知识,还会涉及一些概率论、随机信号的知识,所以学习之前复习复习,效果会比较好
一、背景知识
简单说一下,背景知识是笔者在读书的过程中发现的一些不能一下说出他们定义的名词,虽然很多都是在课程中学过的(惭愧),放在这里供大家参考。
- 地表面波(地波):沿大地与空气分界面传播的电波
- 直射波传播:由发射点从空间直线传播到接收点的电波,一般限于视距范围
- 天波传播:天波是由天线向高空辐射的电磁波遇大气电离层折射后返回地面的无线电波。
- 电离层:受太阳高能辐射以及宇宙射线的激励而电离的大气高层,60千米以上,其中存在相当多的自由电子和离子。
- CDMA:码分多址。通信系统中,不同用户传输信息所用的信号靠各自不同的编码序列来区分。从时域或者频域来观察,多个CDMA信号是互相重叠的。
- 电磁波频谱:
- 右旋圆极化(RHCP):媒介中某点的电场作为时间的函数沿直线振荡时称之为线极化波;若电场端点沿圆运动,称圆极化波。电场沿椭圆路径,称椭圆极化波。在线极化方式下又分为水平极化和垂直极化;在圆极化方式下又分左旋圆极化和右旋圆极化。因为线极化波在穿过大气层时可能有极化面旋转,而且接收天线必须调整极化角,而圆极化就不会有这些问题,所以早期卫星通信一般都用圆极化。若右手大拇指朝向波传播方向(z方向),其余四指的转向与E场转向一致,称之为右旋圆极化波。
- 非线性码:不满足线性叠加的纠错码。(生成这个码背后的数学公式是线性的)。
- PRN:伪随机噪声码
二、载波
- GPS卫星所发射的信号可分为载波、伪码、数据码三个层次,其结构如图所示
载波是属于最底层的。GPS的载波有两个,记为L1和L2他们的频率分别是1575.42MHZ、1227.60MHZ,属于甚高频这一层。
三、伪码
- 这是本章的重点啦啦啦,主要介绍了二进制随机序列、m序列、金码、C/A码、P码。
- 熟悉一下本书的叫法:一位二进制数称为一个码片(码元);一个码片持续时间称之为码宽;单位时间内所包含的码片数目称之为码率。
- 二进制随机序列
- 二进制随机序列的特点:有良好的的自相关性。如图
M序列
- 因为想要利用二进制随机序列良好的自相关特性,但是二进制随机序列不能复制,所以很难在实际生活中应用,所以选择伪随机噪声码(PRN)是一个不错的选择,它不但是一种能预先确定的、有周期性的二进制数序列而且又具有接近于二进制数随机序列的良好自相关特性。
- M序列是由n级移位寄存器产生的、周期等于最大可能值(2**n-1码片)的序列。
- 举个例子,请看下图
- 这就是一个移位寄存器,它可以产生一个周期为2**5-1=31的m序列。
- 贴出笔者拙劣的代码:
- clear;clc;
- jicun=ones(1,5);
- x1=[];
- forj=1:31
- x1=[x1,jicun(5)];
- fori=1:4
- jicun(6-i)=jicun(5-i);
- end
- jicun(1)=mod(jicun(4)+x1(end),2);%f=1+x3+x5
- end
- disp(x1);
- 一个n级M序列属于线性伪随机码,其特点:
- (1)M序列的周期N=2**n-1;
- (2)在m序列一个周期中,0、1出现概率均为0.5,且值为1的码片比值为0的码片多出现一次;
- 大家可以写程序来验证一下,画出图来后这个线性插值之中是没有点的,书上这样说是为了满足严谨和完备性?
- 笔者还发现,只有当产生的是m序列的点的个数是周期的整数倍的时候,才会有上图,不然自相关后就会很乱。
- 补充一下,关于这个自相关的运算,书上有详细的说明,直接使用matlab自带的函数好像不太行(实际是笔者比较懒,没有细致去了解),贴出自己写的。
- functionxiang=xiangguan(x1,x2,k)
- n=max(length(x1),length(x2));
- %x_mid=zeros(1,n);
- xiang=[];
- fori=-15:n
- x1i=circshift(x1,i);
- x_mid=yihuo(x1i,x2);%matlab自带的按位异或函数有位数限制,可以自己写一个。
- tong=0;
- yi=0;
- forj=1:n
- ifx_mid(j)==0
- tong=tong+1;
- else
- yi=yi+1;
- end
- end
- xiang_i=(tong-yi)/n;
- xiang=[xiang,xiang_i];
- end
- plot(-15:k,xiang(1:(k+16)));
- End
- 言归正传
- 现在我们来求一下两个不同的m序列的互相关函数,看看能有什么发现
- 很明显得发现,两个不同的m序列的互相关函数的值是很小的,而利用这一点设计出的金码,可以很好得解决码分多址的问题。
金码
- 金码是组合码中的一种,它由两个或多个线性码组合而成,适用于多址、扩频这一类通信系统。C/A码就是一种金码。
- 其产生方式如图:
- 代码:
- clear;clc;
- jicun=ones(1,5);
- x1=[];
- x2=[];
- forj=1:31
- x1=[x1,jicun(5)];
- fori=1:4
- jicun(6-i)=jicun(5-i);
- end
- jicun(1)=mod(jicun(4)+x1(end),2);%因为前面移位了,所以要和原先位置上的异或的话,就都要往后移一个
- end
- forj=1:31
- x2=[x2,jicun(5)];
- fori=1:4
- jicun(6-i)=jicun(5-i);
- end
- jicun(1)=mod(jicun(2)+jicun(3)+jicun(4)+x2(end),2);
- end
- x1=circshift(x1,-1);
- jinma=bitxor(x1,x2);
- figure(1)
- R_jin=xiangguan(jinma,jinma,31);
- figure(2)
- R_x1x2=xiangguan(x1,x2,31);
- disp('金码:');
- disp(jinma);
- 结果图
- 自相关函数:
- 计算自相关函数峰值公式:
- 计算互相关函数峰值公式:
- 其中:
- 由公式可以看出,金码越长就越有优良的自相关和互相关性能。
- 推动开发金码是为了寻找适用于多址、扩频通信系统中的伪码
C/A码
- C/A码是周期为1023(即2**10-1)个码片的金码,它每毫秒重复一周。
- C/A码生成图如下:
- 代码(这里生成的是PRN1,即2和6异或相加的那个):
- clear;clc;
- jicun=ones(1,10);
- x1=[];
- x2=[];
- forj=1:1023
- x1=[x1,jicun(10)];
- fori=1:9
- jicun(11-i)=jicun(10-i);
- end
- jicun(1)=mod(jicun(4)+x1(end),2);%G1发生器f=1+x3+x10
- end
- jicun=ones(1,10);
- forj=1:1023
- x2=[x2,mod(jicun(2)+jicun(6),2)];%生成G2i,详见C_A码分配表
- x_end=jicun(10);
- fori=1:9
- jicun(11-i)=jicun(10-i);
- end
- jicun(1)=mod(jicun(3)+jicun(4)+jicun(7)+jicun(9)+jicun(10)+x_end,2);%G2发生器f=1+x2+x3+x6+x8+x9+x10
- end
- disp('C_A码:');
- c_a=yihuo(x1,x2);
- ba=dec2base(bin2dec(num2str(c_a(1:10))),8);%转换成八进制
- %disp(c_a);
- disp(ba);
- result=xiangguan(c_a,c_a,50);
- 自相关函数:
- 由公式算出,图中也可以看到,C/A码自相关函数的最大侧峰值比主峰低24dB。这些C/A码良好的自相关特性不但非常有助于GPS接收机快速地检测到自相关函数的主峰,避免锁定侧峰,而且又有助于精确测量主峰的位置,降低对码相位的误差。
- 此外,不同C/A码之间的这种互相关很小、接近于正交的特性有助于减少不同GPS卫星信号之间的相互干扰,从而极大地避免发生接收机将互相关峰值误认为是主峰峰值的错误。
P码
- P码是GPS信号中的另一种伪码,它同时调制在L1和L2载波信号上。P码的周期为7天,码率为10.23Mcps,码宽等于0.1微秒或30米。
- P码的生成:
- 补充一下,为什么周期长为4092的序列和周期长为4093的序列,异或相加后的序列的周期却变成了前俩序列的公倍数了呢?这是因为异或操作要求对齐,有点像两个周期不同的正弦波叠加一起,周期数就成为了他们的公倍数了一样。
四、数据码
- “C/A码(或P码)是GPS信号中最重要的一层,其目的之一是用来实现码分多址,目的之二是用来测距,但这种结构固定的伪码必然不能传递任何导航电文数据信息。数据码是GPS信号中的第三个层次,它是一列载有导航电文的二进制码。数据码的码率为50比特每秒(即50bps),它采用不归零制的二进制编码方式。”
- 再重复一次这篇笔记开头的那个图说明一下数据码在整个GPS信号中的地位:
五、GPS信号结构
- 数据码首先与伪码异或相加而实现扩频,再通过(BPSK)对载波进行调制。接收机接收到信号后,先进行载波解调,之后让卫星信号与接收机内部复制的C/A码做自相关运算,剥离卫星信号中的C/A码,使信号频宽变回到只含数据码的基带信号(解扩)。
- 通过调制伪码而实现的扩频的机理称为直接序列扩频(DSSS),相应的信号频宽扩大倍数称为扩频增益。扩频增益Gp的值近似等于数据码码宽TD与伪码码宽Tc的比率。
- 扩频的优点:1、实现了码分多址;2、增强GPS信号对噪声、窄波、多路径等干扰的抵抗性能。使得GPS信号具有极强的隐秘性。
- 由香农公式,可知扩频可以减少系统对信噪比的要求。
- 于是GPS信号可以表示成:
六、导航电文
这一小节都是规定死了的东西,没什么需要理解的,自行阅读即可啦(主要是笔者打字有点累)。