📄 acqu1.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 + -