⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_a_code_generator.m

📁 fGenerateNavigationData.m C_A_code_generator.m GPSsignal.m 依次产生导航电文,C/A码,GPS最终数据
💻 M
字号:
clc;
clear all;
%产生C/A码的方法一
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%,%%%%%%%
    k1=2;k2=6;delay=5;    %定义参数k1、k2以及延迟
    Reg=-ones(1,10);      %定义寄存器1~10的初始值都为-1
                        %通过循环产生长度为1024的MLS序列以及G2序列
    for j=1:1023
      MLS(j)=Reg(10);    %将士0号寄存器的输出作为MLS输出
    modulo=Reg(2)*Reg(3)*Reg(6)*Reg(8)*Reg(9)*Reg(10);
    Reg(2:10)=Reg(1:9);
    Reg(1)=modulo;
    g2(j)=Reg(k1)*Reg(k2);    %将参数k1和k2所代表的寄存器模2相加后作为G2输出
                              %g2即为输出
    end
    %将G2与MLS进行延迟检验
     if MLS == g2([delay:1023 1:delay-1])
     disp('OK') ;
    else  
    disp('not match')
    end
    %在G2序列中找出-1并转换为0,找出1并转换为1
    ind1=find(g2==1);
    ind2=find(g2==1);
    g2(ind1)=ones(1,length(ind1));
    g2(ind2)=zeros(1,length(ind2));
    temp=g2(1:120);
x(1)=0;
Show(1)=temp(1);
    P=2;
    %下面的循环是为了将结果显示成方波形式
    for i=2:length(temp)
       if temp(i)==temp(i-1)
       x(P)=i-1;
   Show(P)=temp(i-1);
       x(P+1)=i-1+0.01;
       Show(P+1)=temp(i);
       P=P+2;
else
    Show(P)=temp(i);
    x(P)=i;
    P=P+1;
    end
    end
    %画出仿真结果图
    plot(x,Show+1);
    axis([0  length(x)-60 -0.1 1.1]);
    grid on;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -