📄 costas.m
字号:
% The goal of this simulation is to simulate carrier tracking loop with the
% way of costas loop.
clear all;
clc;
%------------simulate costas loop-------------
% disp(' ');
fdel = 30; %input('Enter the size of frequency step in Hertz>');%
fn = 50.7143; %input('Enter loop filter natural frequency in Hertz>');%10
lambda = 0.01; %input('Enter lambda, the relative pole offset>');%0.1
zeta = 1/sqrt(2);
%------采样频率------------------
fs = 4000*1.023;
tstop = 18; %----结束时间----
npts = fs * tstop + 1;
t = (0:(npts-1))/fs;
nsettle = fix(npts/10);
tsettle = nsettle/fs;
freq = fs;
fin = [zeros(1, nsettle), fdel * ones(1,npts-nsettle)]; %--输入的频率
phin = [zeros(1, nsettle), 2*pi*fdel*t(1:npts-nsettle)];
PRN_num = 1023;%
PRN_temp = double(0: (1/(sampleTimes*PRN_Fs)) :PRN_num*(1/(PRN_Fs)));
PRN_t = PRN_temp(1:(length(PRN_temp)-1));
% %--------------------------GPS PRN signal---------------------------
%------------------------carrier signal-----------------------------
% %Fs = 4000; t = 0:1/Fs:1;
% Carrier_sample_time = PRN_t;
% Carrier = cos(2 * pi * (Carrier_Frequency + Carrier_doppleFre_Shift)...
% * Carrier_sample_time + Phase_Diff);
% %-----plot--
% figure;
% an=[1:21];
% stem(an.*(1/(sampleTimes*PRN_Fs)),Carrier(1:21));
% hold on;
% plot(an.*(1/(sampleTimes*PRN_Fs)),Carrier(1:21),'r');
% grid on;
% if (sampleTimes*1000000/Carrier_Frequency>2)
% title('Carrier Signal Over Sampling Rate');
% else
% title('Carrier Signal UnderSampling Rate');
% end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -