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

📄 acqu1.m

📁 GPS的CA码捕获跟踪源代码
💻 M
字号:
function [fd_a,f_ac_code] = acqu1()
global fs;
global nn;
global F_if
% ==========================Create Localcode========================
ph_code = 0;
fd_code = 0;
Loop_time = 1;
CA_Code = CAcode(ph_code,fd_code,Loop_time);
Localcode = CA_Code;

%==============================读信号源=============================
fid=fopen('c:\satsource.dat','r');     %读信号源
Signal_Source=fscanf(fid,'%f',nn);  
fclose(fid);

% =========================function RxSignal===========================
x1 = Signal_Source(1:length(Localcode));

t = [0:length(Localcode)-1];
for i=1:41
    fr=F_if-10000+(i-1)*500;
    lc = x1'.*exp(j*2*pi*fr*t/fs);
    xf = fft(lc);
    lcf = fft(Localcode);
    yy(i,:)=ifft(lcf.*conj(xf));
 end
 
L1=length(yy(1,:));
LL=L1;
yy1=zeros(41,LL);
yy1=yy([1:41],[1:LL]);
Corr_value = (abs(yy1)).^2; 
%  figure
%  mesh(Corr_value);

[value,code_p] = max(max( Corr_value));
[value,carrier_p] = max(max( Corr_value'));

fd_a = -10000+(carrier_p-1)*500;            %捕获到的多普勒频率
ac_carrier = F_if-10000+(carrier_p-1)*500;

ac_code=code_p-3;
xsh = nn/1023;
f_ac_code = ac_code/xsh;    %捕获到的码相位


%%%%%%%%%%%%%%%%%%%%%%%%画图显示%%%%%%%%%%%%%%%%%%%%%%%
X=1023*[1:5000]/5000;    %转换回码片值以后的坐标;
Y=[0:40];

figure;
mesh(X,Y,Corr_value);
axis([0 inf 0 inf  0 inf ]);
set(gca,'ytick',[0:10:40]);
set(gca,'yticklabel',{'-10','-5','0','5','10'});
set(gca,'xtick',[1:100:1001]);
set(gca,'xticklabel',{'1','100','200','300','400','500','600','700','800','900','1000'});
xlabel('本地码相位(chip)');
ylabel('多普勒频率成份(kHz)');
zlabel('相关值');
title('捕获结果')
%title([num2str(svnum) '号卫星' '捕获结果']);
hidden;
shading interp;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -