一,中频数据捕获:当捕获通道状态空闲时,启动中频数据存储,此时根据当前要捕获的卫星的来选择射频通道,并将相应的载波频率和码频率写入寄存器中,使能存储操作;当一次捕获运算完成之后,需要重新存储中频数据。卫星选择:初始化时,将所有卫星设置为待捕获状态,用一个32位的变量记录要捕获的卫星,每一位代表一颗卫星,变量每一位的编号表示卫星编号。当配置了一颗卫星后,将卫星信号写入FPGA,然后将变量的相应位清零。当一个系统的所有卫星都配置捕获过一次后,切换到下一个系统,按照GPSàBDSàGlonassàGalileo转换,处理完一个循环后,重置变量值,将未跟踪到的卫星对应的位置位。二,CA码生成: 仿真调制clc,clear;close all fid = fopen('D:\SAMPLE_DATA\20m_1bit_20k.txt')//存有电文的数据数据 A=textscan(fid,'%d','delimiter',','); fclose(fid); num=A{1,1}; sss=zeros(1,20000); for i=1:20000 sss(i)=num(i); end //生成CA码 index1=find(sss==0); sss(index1)=-ones(1,length(index1)); G1 =[1 1 1 1 1 1 1 1 1 1] G2 =[1 1 1
MATLAB仿真GPS调制和捕获
一,中频数据捕获:当捕获通道状态空闲时,启动中频数据存储,此时根据当前要捕获的卫星的来选择射频通道,并将相应的载波频率和码频率写入寄存器中,使能存储操作;当一次捕获运算完成之后,需要重新存储中频数据。卫星选择:初始化时,将所有卫星设置为待捕获状态,用一个32位的变量记录要捕获的卫星,每一位代表一颗卫星,变量每一位的编号表示卫星编号。当配置了一颗卫星后,将卫星信号写入FPGA,然后将变量的相应位清零。当一个系统的所有卫星都配置捕获过一次后,切换到下一个系统,按照GPSàBDSàGlonassàGalileo转换,处理完一个循环后,重置变量值,将未跟踪到的卫星对应的位置位。二,CA码生成: 仿真调制clc,clear;close all fid = fopen('D:\SAMPLE_DATA\20m_1bit_20k.txt')//存有电文的数据数据 A=textscan(fid,'%d','delimiter',','); fclose(fid); num=A{1,1}; sss=zeros(1,20000); for i=1:20000 sss(i)=num(i); end //生成CA码 index1=find(sss==0); sss(index1)=-ones(1,length(index1)); G1 =[1 1 1 1 1 1 1 1 1 1] G2 =[1 1 1