⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps_signal.asv

📁 gps c/a码程序以及模拟卫星定位的源代码、地球模型
💻 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 + -