test3.m

来自「Galileo BOC 码产生捕获相关仿真结果」· M 代码 · 共 68 行

M
68
字号
char datin;
datain=-32:32;
N=65;
Freq_Para=50;
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);
	  

Cmplx=datain.*DownCvtCarrier;
Rpart=real(Cmplx);
Ipart=imag(Cmplx);
stem(Ipart)		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?