📄 gps_signal.asv
字号:
clear
close all;
x1=10.23;y1=6.24;z1=17.8;
Code1=fGenerateNavigationData(x1,y1,z1);
index1=find(Code1==0);
Code1(index1)=-ones(1,length(index1));
SvNum=12;
Code2=zeros(1,1);
Temp=fGenerateCAcode3(SvNum);
index1=find(Temp==0);
Temp(index1)=-ones(1,length(index1));
Temp=[Temp Temp Temp Temp Temp];
for i=1:length(Code1)
Code2=[Code2 Code1(1,i)*Temp];
end
Code2=Code2(2:length(Code2));
SinWave=sin([0:2*pi/8;2*pi*7/8]);
SinWave=single(SinWave);
GPSsignal=zeros(1,1);
SinWave=[SinWave SinWave SinWave SinWave SinWave];
for i=1:length(Code2)
GPSsignal=[GPSsignal Code2(1,i)*SinWave];
end
GPSsignal=GPSsignal(2:length(GPSsignal));
function y=fGenerateCAcode3(svnum)
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);
reg=-1*ones(1,10);
for i=1:100
g1(i)=reg(10);
slave1=reg(3)*reg(10);
reg(1,2:10)=reg(1:1:9);
reg(1)=slave1;
end
reg=-1*ones(1,10);
Table=[2 6;
3 7;
4 8;
5 9;
1 9;
2 10;
1 8;
2 9;
3 10;
2 3;
3 4;
5 6;
6 7;
7 8;
8 9;
9 10;
1 4;
2 5;
3 6;
4 7;
5 8;
6 9;
1 3;
4 6;];
for i=1:100
save2=reg(2)*reg(3)*reg(6)*reg(8)*reg(9)*reg(10);
g2(i)=reg(Table(svnum,1))*reg(Table(svnum,2));
reg(1,2:10)=reg(1:1:9);
reg(1)=save2;
end
ss_ca=g1.*g2;
ca=ss_ca;
ind1=find(ca==-1);
ind2=find(ca==1);
ca(ind1)=ones(1,length(ind1));
ca(ind2)=zeros(1,length(ind2));
y=ca;
function y=fGenerateNavigationData(x1,y1,z1);
x=x1;
y=y1;
z=z1;
str1=num2hex(x);
str2=num2hex(y);
str3=num2hex(z);
Table1=[0 0 0 0 ;
0 0 0 1;
0 0 1 0;
0 0 1 1;
0 1 0 0;
0 1 0 1;
0 1 1 0;
0 1 1 1;
1 0 0 0;
1 0 0 1;
1 0 1 0;
1 0 1 1;
1 1 0 0;
1 1 0 1;
1 1 1 0;
1 1 1 1;];
TotalStr=[str1 str2 str3];
DataCode=zeros(1,1);
l=length(TotalStr);
for i=l:1
temp=int8(TotalStr(i));
if(temp>58)
temp=temp-96+10;
else
temp=temp-47;
end
DataCode=[DataCode Table(temp,:)];
end
y=DataCode(2:length(Data))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -