?? pnmabuhuol.m
字號(hào):
function [codephase,frequency] = acquisitionSerial(svnum)
% Performs serial search acquisition on collected data
% Searches for the satellite with number svnum
% Returns the code phase and the coarse frequency of the signal
% ***** initial conditions *****
load data.mat
x=double(data');
fs=11.999e6; % sampling freq
ts=1/fs; % sampling time
n=fs/1000; % data pt in l ms
nn=[0:n-1]; % total no. of pts
fc0=3.563e6; % center freq without Doppler
% ***** Reads code with 1024 different phases
filename=sprintf('gold%i.mat',svnum);
load(filename);
code=double(code);
y = ones(1023,1);
xcarrier = (y*x).*code;
% ***** Serial Search Algorithm *****
for i=1:41
fc(i) = fc0 + 0.0005e6*(i-21);
expfreq=exp(j*2*pi*fc(i)*ts*nn);
sine= imag(expfreq); % generate local sine
cosine= real(expfreq); % generate local cosine
I = (y*sine).*xcarrier;
Q = (y*cosine).*xcarrier;
result(i,:)=sum(I').^2+sum(Q').^2;
end
[peak codephase]=max(max(result));
[peak frequency]=max(max(result'));
frequency = fc(frequency);
figure(1)
x_axis=1:1023;
y_axis=fc/1e6;
s=surf(x_axis,y_axis,result);
set(s,'EdgeColor','none','Facecolor','interp');
axis([min(x_axis) max(x_axis) min(y_axis) max(y_axis) min(min(result)) max(max(result))]);
caxis([0 max(max(result))]);
xlabel('Code Phase [chips]');
ylabel('Frequency [MHz]');
zlabel('Magnitude');
text=sprintf('SVN %i',svnum);
title(text);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -