cacodegen.asv

来自「Galileo BOC 码产生捕获相关仿真结果」· ASV 代码 · 共 36 行

ASV
36
字号
function CACode=CACodeGen(index)
%   生成GPS Gold码序列

if  nargin==0   
    index=1;
end

if (index<1)|(index>37)
    disp('输入参数必须在1 ~ 37之间取值');
    return
end

CACode=zeros(1,1023);

%   抽头
G2Table=[  2,3,4,5,1,2,1,2,3,2,3,5,6,7,8,9,1,2,3,4,5,6,1,4,5,6,7,8,1,2,3,4,5,4,1,2,4;
           6,7,8,9,9,10,8,9,10,3,4,6,7,8,9,10,4,5,6,7,8,9,3,6,7,8,9,10,6,7,8,9,10,10,7,8,10];

%   设置寄存器初相
Reg1=[1,1,1,1,1,1,1,1,1,1];
Reg2=[1,1,1,1,1,1,1,1,1,1];

%   设置反馈点,1表示需要反馈
gp1=[0,0,1,0,0,0,0,0,0,1];
gp2=[0,1,1,0,0,1,0,1,1,1];

%   生成一个周期的伪码序列
for m=1:1023
    CACode(m)=mod(Reg1(10)+Reg2(G2Table(1,index))+Reg2(G2Table(2,index)),2);
    Reg1=[mod(Reg1*gp1',2),Reg1(1:9)];
    Reg2=[mod(Reg2*gp2',2),Reg2(1:9)];
end

CACode=1-2*CACode;          %   0,1变换为1,-1

%plot(CACode);

⌨️ 快捷键说明

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