matlab ca码 采样,ca码生成原理及matlab程序实现.docx

该博客介绍了C/A码的生成原理,它是基于m序列的Gold码,由两个10级反馈移位寄存器产生。每个GPS卫星有特定的码片延时,通过MATLAB编程实现C/A码生成器,输入卫星号可得到对应卫星的C/A码序列,并绘制方波图。程序中定义了卫星号与G2码片延时的对应关系,生成的C/A码序列通过两Gold码逐点模2相乘得到,最后展示了不同卫星号的C/A码方波图。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifca码生成原理及matlab程序实现.docx

作业:用Matlab写C/A码生成器程序,并画生成码的方波图。C/A码生成原理C/A码是用m序列优选对组合形成的Gold码。Gold码是由两个长度相同而互相关极大值为最小的m序列逐位模2相加所得到的码序列。它是由两个10级反馈移位寄存器组合产生的,其产生原理如图1所示。图1C/A码生成原理发生器的抽头号为3和10,发生器的抽头号为2、3、6、8、9、10;发生器的𝐺1𝐺2𝐺1第10位输出的数字即为码,而码是由的两个抽头的输出结果进行模2相加得到。𝐺1𝐺2𝐺2卫星的PRN码与延时的量是相关联的,对C/A码来说,每颗卫星都有特别的延时,如第1颗GPS卫星的G2抽为2、6,第2颗为3、7,第3颗为4、8,第4颗为5、9等,如图2所示。通过G2相位选择可以产生结构不同的伪随机码,从而可以实现不同卫星之间的码分多址技术与卫星识别。图2prn序号与G2抽头、时延对应关系基于MATLAB的GPS信号实现编写成“codegen”程序,输入[ca_used]=codegen(svnum),其中svnum为卫星号,ca_used为得到的C/A码序列。程序具体实现流程如下:在程序中定义一个数组,使得卫星号与G2的码片延时一一对应。gs2=[5;6;7;8;17;18;139;140;141;251;252;254;255;256;257;258;469;470;471;472;473;474;509;512;513;514;515;516;859;860;861;862];定义两个1×1023的数组g1、g2用来存放生成的Gold码。定义一个全1的10位数组,作为移位寄存器,相当于G1、G2生成模块的初值均置为全“1”。按原理式来生成两个Gold码序列。设定两个Gold码产生器的反馈抽头:save1=reg(3)*reg(10);%g1码的反馈值;save2=reg(2)*reg(3)*reg(6)*reg(8)*reg(9)*reg(10);%g2码的反馈值。在移位寄存器数组reg中逐位移动,将末端值reg(10)送入g1(g2),将反馈抽头的模2值输出save1、save2送入寄存器首位reg(1)。g1码这样重复运算1023次后即可生成。g2码在此基础上要引入与卫星号相对应的码片延时g2s(s),s为输入的卫星号。以码片延时时间作为分界点,将其后半段数据前移,前半段数据后移,这样就得到g2码。将产生的g1和g2码逐点相乘,反向,即得C/A码。程序实现结果分别输入codegen(22)和codegen(32),得到prn22和prn32C/A码序列如图3、图4.图3prn22方波图图3prn32方波图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值