📄 downcvt.m.bak
字号:
function [Cmplx,Rpart,Ipart]=DownCvt(datain,Freq_Para)
% datain: the input GPS data;
% Freq_Para: the parameter of output frequency
% Cmplx: the the down converted data in the form of complexity;
% Rpart: the real part of the Cmplx;
% Ipart: the imaginary part of the Cmplx;
N=length(datain);
Cmplx=zeros(1,N);
Rpart=zeros(1,N);
Ipart=zeros(1,N);
DownCvtCarrier=zeros(1,N);
dco_acc =zeros(1,N);
for(i=2:N)
dco_acc(i) = dco_acc(i-1) + Freq_Para;
dco_acc(i) = mod(dco_acc(i),256);
end
dco_acc = floor(dco_acc./8);
DownCvtMap = [7 + j* 1
6 + j* 3
6 + j* 4
5 + j* 5
4 + j* 6
3 + j* 6
1 + j* 7
0 + j* 7
-1 + j* 7
-3 + j* 6
-4 + j* 6
-5 + j* 5
-6 + j* 4
-6 + j* 3
-7 + j* 1
-7 + j* 0
-7 + j* -1
-6 + j* -3
-6 + j* -4
-5 + j* -5
-4 + j* -6
-3 + j* -6
-1 + j* -7
0 + j* -7
1 + j* -7
3 + j* -6
4 + j* -6
5 + j* -5
6 + j* -4
6 + j* -3
7 + j* -1
7 + j* 0 ]
for(i=1:N)
switch (dco_acc(i))
case 0 , DownCvtCarrier(i) = 7 + j* 1;
case 1 , DownCvtCarrier(i) = 6 + j* 3;
case 2 , DownCvtCarrier(i) = 6 + j* 4;
case 3 , DownCvtCarrier(i) = 5 + j* 5;
case 4 , DownCvtCarrier(i) = 4 + j* 6;
case 5 , DownCvtCarrier(i) = 3 + j* 6;
case 6 , DownCvtCarrier(i) = 1 + j* 7;
case 7 , DownCvtCarrier(i) = 0 + j* 7;
case 8 , DownCvtCarrier(i) = -1 + j* 7;
case 9 , DownCvtCarrier(i) = -3 + j* 6;
case 10, DownCvtCarrier(i) = -4 + j* 6;
case 11, DownCvtCarrier(i) = -5 + j* 5;
case 12, DownCvtCarrier(i) = -6 + j* 4;
case 13, DownCvtCarrier(i) = -6 + j* 3;
case 14, DownCvtCarrier(i) = -7 + j* 1;
case 15, DownCvtCarrier(i) = -7 + j* 0;
case 16, DownCvtCarrier(i) = -7 + j* -1;
case 17, DownCvtCarrier(i) = -6 + j* -3;
case 18, DownCvtCarrier(i) = -6 + j* -4;
case 19, DownCvtCarrier(i) = -5 + j* -5;
case 20, DownCvtCarrier(i) = -4 + j* -6;
case 21, DownCvtCarrier(i) = -3 + j* -6;
case 22, DownCvtCarrier(i) = -1 + j* -7;
case 23, DownCvtCarrier(i) = 0 + j* -7;
case 24, DownCvtCarrier(i) = 1 + j* -7;
case 25, DownCvtCarrier(i) = 3 + j* -6;
case 26, DownCvtCarrier(i) = 4 + j* -6;
case 27, DownCvtCarrier(i) = 5 + j* -5;
case 28, DownCvtCarrier(i) = 6 + j* -4;
case 29, DownCvtCarrier(i) = 6 + j* -3;
case 30, DownCvtCarrier(i) = 7 + j* -1;
case 31, DownCvtCarrier(i) = 7 + j* 0;
end
end
Cmplx=datain.*DownCvtCarrier;
Rpart=real(Cmplx);
Ipart=imag(Cmplx);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -