📄 2s_pcode.m
字号:
%1.5s_x1a
reg_x1a=[1 1 1 -1 1 1 -1 1 1 -1 1 1]; %给x1a寄存器赋初始值
%将12号寄存器的输出值作为x1a码
%将6,8,11,12寄存器输出模二加后反馈输给1号寄存器
for i=1:4095,
orig_x1a(i)=reg_x1a(12);
save1a=reg_x1a(6)*reg_x1a(8)*reg_x1a(11)*reg_x1a(12);
reg_x1a(2:12)=reg_x1a(1:11);
reg_x1a(1)=save1a;
end
x1a=orig_x1a(1:4092);
x1a=[x1a x1a x1a x1a]; %4*x1a
x1a=[x1a x1a x1a x1a]; %16*x1a
x1a=[x1a x1a x1a x1a]; %64*x1a
x1a=[x1a x1a x1a x1a]; %256*x1a
x1a=[x1a x1a x1a x1a]; %1024*x1a
x1a=[x1a x1a x1a x1a]; %2048*x1a
x1a=[x1a x1a x1a x1a]; %4096*x1a
x1a_1p5s=x1a(1:15345000);
%2s_x1a
x1a_0p5s=x1a_1p5s(1:5115000);
x1a_2s=[x1a_1p5s x1a_0p5s];
%1.5s_x1b
reg_x1b=[1 1 -1 1 -1 1 -1 1 -1 1 -1 1];
for j=1:4095,
orig_x1b(j)=reg_x1b(12);
save1b=reg_x1b(1)*reg_x1b(2)*reg_x1b(5)*reg_x1b(8)*reg_x1b(9)*reg_x1b(10)*reg_x1b(11)*reg_x1b(12);
reg_x1b(2:12)=reg_x1b(1:11);
reg_x1b(1)=save1b;
end
x1b=orig_x1b(1:4093);
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b=[x1b x1b x1b x1b];
x1b_hold=x1b(1:15344657);
hold=x1b_hold(15344657);
hold343=hold*ones(1,343);
x1b_1p5s=[x1b_hold hold343];
%2s_x1b
x1b_0p5s=x1b_1p5s(1:5115000);
x1b_2s=[x1b_1p5s x1b_0p5s];
%x2a_1p5s+37chips_delay
reg_x2a=[-1 1 -1 1 1 -1 1 1 -1 1 1 -1];
for m=1:4095,
orig_x2a(m)=reg_x2a(12);
save2a=reg_x2a(1)*reg_x2a(3)*reg_x2a(4)*reg_x2a(5)*reg_x2a(7)*reg_x2a(8)*reg_x2a(9)*reg_x2a(10)*reg_x2a(11)*reg_x2a(12);
reg_x2a(2:12)=reg_x2a(1:11);
reg_x2a(1)=save2a;
end
x2a=orig_x2a(1:4092);
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a=[x2a x2a x2a x2a];
x2a_1p5s=x2a(1:15345000);
hold2=x2a_1p5s(15345000);
hold37=hold2*ones(1,37);
d_x2a=[x2a_1p5s hold37];
%2s_x2a
x2a_rest=d_x2a(1:5114963);
x2a_2s=[d_x2a x2a_rest];
%x2b_1p5s+37chips_delay
reg_x2b=[1 1 -1 1 -1 1 -1 1 -1 1 -1 1];
for n=1:4095,
orig_x2b(n)=reg_x2b(12);
save2b=reg_x2b(2)*reg_x2b(3)*reg_x2b(4)*reg_x2b(8)*reg_x2b(9)*reg_x2b(12);
reg_x2b(2:12)=reg_x2b(1:11);
reg_x2b(1)=save2b;
end
x2b=orig_x2b(1:4093);
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b=[x2b x2b x2b x2b];
x2b_hold=x2b(1:15344657);
hold3=x2b_hold(15344657);
hold380=hold3*ones(1,380);
d_x2b=[x2b_hold hold380]; %保持37chips
%2s_x2b
x2b_rest=d_x2b(1:5114963);
x2b_2s=[d_x2b x2b_rest];
%generate 2s_pcode
x1_2s=x1a_2s.*x1b_2s;
x2_2s=x2a_2s.*x2b_2s;
x2_20=x2_2s(1:20); %i=20
x2_rest=x2_2s(21:20460000);
x2i=[x2_rest x2_20];
pcode_2s=x1_2s.*x2i;
%%%%%%%50ms长度的P码自相关值峰值为511500,次峰值为20000,MARGIN为25.575,符合文献值范围,经验证,生成P码成功%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -