GPS载波伪码的matlab实现与分析.docx

上传人:b****8 文档编号:29356243 上传时间:2023-07-22 格式:DOCX 页数:9 大小:369.90KB
下载 相关 举报
GPS载波伪码的matlab实现与分析.docx_第1页
第1页 / 共9页
GPS载波伪码的matlab实现与分析.docx_第2页
第2页 / 共9页
GPS载波伪码的matlab实现与分析.docx_第3页
第3页 / 共9页
GPS载波伪码的matlab实现与分析.docx_第4页
第4页 / 共9页
GPS载波伪码的matlab实现与分析.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

GPS载波伪码的matlab实现与分析.docx

《GPS载波伪码的matlab实现与分析.docx》由会员分享,可在线阅读,更多相关《GPS载波伪码的matlab实现与分析.docx(9页珍藏版)》请在冰豆网上搜索。

GPS载波伪码的matlab实现与分析.docx

GPS载波伪码的matlab实现与分析

GPS载波、伪码的matlab实现与分析

1、伪码生成及分析

1、1生成M序列和Gold码序列

1 由于本原多项式分别为[2011]和[2411](八进制)。

从而知道两M序列的生成多项式为

此部分的程序设计思路为:

先为两个十位移位寄存器赋初值(全1);后利用循环,每次把寄存器的输出放到M序列储存器中,从而获得M序列。

2 第一个Gold码,使用第一个移位寄存器的第十级输出和第二个寄存器的第2级、第6级作为抽头的输出进行异或,异或的过程也在上部的循环中完成,每次异或的结果存于Gold寄存器。

第二个Gold码的生成与第一个类似,只是改为第二个寄存器的第3级、第7级作为抽头.

1、2对生成的伪随机码进行分析

1 利用xcorr函数对以上生成的两个M序列分别进行自相关和互相关运算,其中需要将两M序列进行双极性变换(xcorr函数的要求)。

并画出自相关、互相关函数图像。

2 后利用FFT函数,求取以上自相关函数的功率谱,并画出图像。

图像如下:

图1

3 图像分析:

由上图可验证,M序列作为近似白噪声的伪随机序列,其自相关函数近于冲击函数;互相关函数幅值近于0;功率谱密度函数是自相关函数的傅里叶变换,所以幅值近于常数1。

但在图像中有较多毛刺,与理想的图像有较大差别,可能是由于xcorr函数造成。

4 利用xcorr函数对以上生成的两个Gold码序列分别进行自相关和互相关运算,其中需要将两Gold码序列进行双极性变换(xcorr函数的要求)。

并画出自相关、互相关函数图像。

图像如下:

图2

图像分析:

由上图可验证,Gold码序列作为近似白噪声的伪随机序列,其自相关函数近于冲击函数;互相关函数幅值近于0。

但在图像中有较多毛刺,与理想的图像有较大差别,可能是由于xcorr函数造成。

2、生成混沌序列并得到跳频序列

2、1生成混沌序列的原始序列

1 采用Logistic(

)映射,设定初值为0.121381和0.121380,分别迭代50次,从而获得两个混沌序列。

图像如下:

图3

图像分析:

由图可见混沌序列对初值很敏感,即使初值在小数点后第6位有微小差别,但迭代一定次数后,序列也会有很大区别。

2.2跳频序列的生成

1 使用排序法,在上述混沌序列基础上生成调频序列:

首先利用sort函数对原始序列进行降序排列,然后利用find函数查找原始序列的各元素在新序列中的位置,也即是跳频序列;结果输出到matlab的commandwindow。

结果如下:

使用方法一的混沌序列X1的跳频序列为:

Columns1through15

2754537211230348443618191623

Columns16through30

103415258402824946392493822

Columns31through45

113314266423274131447433517

Columns46through50

201329150

使用方法一的混沌序列X2的跳频序列为:

Columns1through15

2944538211231248443617201525

Columns16through30

8371819162210331132347433413

Columns31through45

30150494639239351428542276

Columns46through50

412674024

2 使用T位截断法,生成调频序列:

首先设定门限Th=0;原始序列中大于Th的值置1,小于等于的置0;截断位数T设为5;利用循环,将置位后的新序列每隔5位就转换为十进制数,从而获得跳频序列。

结果输出到matlab的commandwindow。

结果如下:

使用方法二的混沌序列X1的跳频序列为:

2520152312132341726

使用方法二的混沌序列X2的跳频序列为:

2520152326178132713

3、伪码调制、载波调制及频谱分析

3.1C/A码调制

1 首先用randi函数随机生成4bit数据码;由于1bit数据码占20ms,每1ms有1023bit的C/A码,所以在4bit的数据码上去了81840个点。

2 将以上81840个点与80=4*20个周期的Gold1码进行异或。

3 画出原始数据码与C/A码调制后的数据码。

3.2BPSK调制

1 由于要把4bit数据码都进行C/A码调制后再进行在波调制,数据量太大,所以只去了C/A码调制后的数据码的前10bit进行在波调制。

2 每bit的C/A码占1540个周期的载波(1575.42MHz),每周期载波取20个点。

3 利用

进行BPSK调制,其中t单位为ms,data_CA是C/A码调制后的数据码。

4 画出BPSK调制后的波形。

3.3频谱分析

1 利用FFT函数对以上三组数据进行傅里叶变换,得到频域信息。

2 分别画出3个频谱图像。

图像如下:

图4

图像分析:

从以上总的图像可以看出,4bit数据码占80ms,以及BPSK调制后可以在其频谱中看见一高一低两个频点。

但由于数据量很大,以及采样频率很高,难以在全局图像中进行详细分析,于是采用matlab的放大镜工具查看其局部图像。

图5

从以上两幅局部图像看C/A码调制后的数据码在第2到第3bit发生跳变,BPSK调制后,在1.955e-3ms,载波的确发生了相位变化。

图6

从以上两幅图可以看出,下图除第一点外,其他部分都体现了扩频后频谱幅值会大幅下降。

而且配合图4可以看出,原数据码的频谱宽度被大幅扩宽。

但图5下部第一点,我不理解。

图7

从此局部图像中可以看出,BPSK调制后,信息集中到了1575.42MHz。

而且与图6的图像吻合。

但为什么会出现方波负载波调制中的那种双瓣,我还不会解释。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1