• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

使用MATLAB模拟生成C/A码,和导航报文,并用正弦调制生成GPS信号

资源截图

代码片段和文件信息

% 产生 C/A 码的方法一
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k1=2; k2=6; delay=5;                      % 定义参数 k1、k2以 及延迟
Reg=-ones(110);                            % 定义寄存器 1~10的 初始值都为 1
% 通过循环产生长度为 1024的 MLS序 列以及 G2序 列
for j=1:1023 
MLS(j)=Reg(10);                                                           % 将 10号 寄存器的输出作为  MLS 输出
modulo=Reg(2)*Reg(3)*Reg(6)*Reg(8)*Reg(9)*Reg(10); 
Reg(2:10)=Reg(1:9); 
Reg(1)=modulo; 
g2(j)=Reg(k1)*Reg(k2);         % 将参数 k1和 k2所 代表的寄存器模二相加后作为 G2 输出
end
% 将 G2与 MLS进 行延迟检验
if MLS ==g2([delay:1023 1:delay-1]) 
disp(‘OK‘)
else
disp(‘notmatch‘) 
end
% 在 G2序 列中找出  1并转换为 0找 出 1并转换为 1
ind1=find(g2 ==-1) 
ind2=find(g2 ==1) 
g2(ind1)=ones(1length(ind1)) 
g2(ind2)=zeros(1length(ind2)) 
temp=g2(1:1023); 
x(1)=0; 
Show(1)=temp(1) ;
P=2;
%   下面的循环是为了将结果显示成方波形式
for i=2:length(temp) 
    if ((temp(i) == temp(i-1)))
        x(P)=i-1;
        Show(P)=temp(i-1);
        x(P+1)=i-1+0.01;
        Show(P+1)=temp(i); 
        P=P+2;
    else
        Show(P)=temp(i) 
        x(P)=i; 
        P=P+1; 
    end
end

% 画出仿真结果图
plot(xShow) 
% axis([0     length(x)-60       0.1     1.1]) 
grid ;


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1286  2018-11-03 12:41  GPS\CA.m
     文件        1354  2018-11-03 13:26  GPS\fGenerateCAcode3.m
     文件        1343  2018-11-03 12:57  GPS\fGenerateNavigationData.m
     文件        1186  2018-11-03 13:30  GPS\GPS1.m
     文件        1242  2018-11-03 12:40  GPS\GPS2.m
     文件        1357  2018-11-02 21:05  GPS\GPS3.m

评论

共有 条评论