📄 downcvt.asv
字号:
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);
% ****************** Sample input data module ***********************************
% SampleMap = [1 3 5 7 -1 -3 -5 -7];
% datain = SampleMap(datain+1); % the format of input data is unsigned
%
% datain = sign(datain).*(fix(abs(datain)*2)+1); % the format of input data is signed
% % Note: if the data is signed, zero is forbidden. it should add +/-eps to
% % zero according to +0 or -0.
% ******************* down converter module ******************************
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 ];
DownCvtMap = DownCvtMap';
DownCvtCarrier = DownCvtMap(dco_acc+1);
% 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 + -