📄 codegen.m
字号:
function [ca_used]=codegen(svnum,offset);
%ca_used a vector containing the desired output sequence
% the g2s vector holds the appropriate shift of the g2 code to generate
% the c/a code
% svnum: satellite number
g2s=[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];
g2shift=g2s(svnum,1);
% generate G1 code
reg=-1*ones(1,10);
for i=1:1023;
g1(i)=reg(10);
save1=reg(3)*reg(10);
reg(1,2:10)=reg(1:1:9);
reg(1)=save1;
end
% generate g2 code
reg=-1*ones(1,10);
for i=1:1023;
g2(i)=reg(10);
save2=reg(2)*reg(3)*reg(6)*reg(8)*reg(9)*reg(10);
reg(1,2:10)=reg(1:1:9);
reg(1)=save2;
end
%shift g2 code
g2tmp(1,1:g2shift)=g2(1,1023-g2shift+1:1023);
g2tmp(1,g2shift+1:1023)=g2(1,1:1023-g2shift);
g2=g2tmp;
% from single sample c/a code by multiplying g1 and g2
ss_ca=g1.*g2;
ca_used=-ss_ca;
%shift left
%ca_temp(1,1:offset)=ca_used(1,1:offset);
%ca_used(1,1:1023-offset)=ca_used(1,offset+1:1023);
%ca_used(1,1023-offset+1:1023)=ca_temp(1,1:offset);
%shift right
ca_temp(1,1:offset)=ca_used(1,1023-offset+1:1023);
ca_used(1,offset+1:1023)=ca_used(1,1:1023-offset);
ca_used(1,1:offset)=ca_temp(1,1:offset);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -