📄 generate.m
字号:
clear;
%------------navigation data generate by 0 and 1--------------
for page=1:25
for subframe=1:5
tow=(page-1)*5+subframe;
tempnd=randint(1,300);
tempnd(31:47)=bitget(tow,17:-1:1);
if subframe==1
tempnd(61:70)=bitget(456,10:-1:1);
end
nd((tow-1)*300+1:tow*300)=tempnd;
end
end
%----------------save navigation data 1 subframe--------------
stu_data1=nd(1:300);
save stu_file1.mat stu_data1;
%--------------navigation data generate by 1 and -1-----------
ind1=find(nd==0);
ind2=find(nd==1);
nd(ind1)=ones(1,length(ind1));
nd(ind2)=-1*ones(1,length(ind2));
clear ind1;
clear ind2;
%-------------------------------G1----------------------------
reg1=-1*ones(1,10);
for i=1:1023
G1(i)=reg1(10);
temp1=reg1(3)*reg1(10);
reg1=[temp1 reg1(1:9)];
end
%-------------------------------G2----------------------------
reg2=-1*ones(1:10);
for i=1:1023
G2(i)=reg2(1)*reg2(9);
temp2=reg2(2)*reg2(3)*reg2(6)*reg2(8)*reg2(9)*reg2(10);
reg2=[temp2 reg2(1:9)];
end
%-------------------------C/A code by 1 and -1----------------
CA=G1.*G2;
%--------------------save C/A code by 0 and 1-----------------
ind1=find(CA==-1);
ind2=find(CA==1);
stu_data2(ind1)=ones(1,length(ind1));
stu_data2(ind2)=zeros(1,length(ind2));
clear ind1;
clear ind2;
save stu_file2.mat stu_data2;
%------------------spread spectrum sampling-------------------
k=4;% sample number per chip
dn=10;% navigation data number
%deltaf=-3000;
deltaf=(20*rand-10)*1000;
%cpshift=0;
cpshift=randint(1,1,1023*20*k);
midf=1023000;
cwt=sin(2*pi*(midf+deltaf)/(1023*4*1000).*(1:1023*20*k*dn));
CAt=reshape(repmat(CA,k,20*dn),1,1023*20*k*dn);
ndt=reshape(repmat(nd(1:dn),1023*20*k,1),1,1023*20*k*dn);
ss=sign(cwt.*CAt.*ndt+7.07*randn(1,1023*20*k*dn));
stu_data3=ss((cpshift+1):(1023*20*k*(dn-1)+cpshift));
ind1=find(ss==-1);
ind2=find(ss==1);
stu_data4(ind1)=ones(1,length(ind1));
stu_data4(ind2)=zeros(1,length(ind2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -