⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 downcvt.m.bak

📁 Galileo BOC 码产生捕获相关仿真结果
💻 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 + -