?? c_a_code.asv
字號:
% 產生C/A碼的方法一
clear
close all;
k1=2;k2=6;delay=5; %定義參數k1、k2以及延遲
Reg=-ones(1,10); %定義寄存器1~10的初始值為-1
% 通過循環產生長度為1024的MLS序列以及G2序列
for j=1:1023;
MLS(j)=Reg(10); %將10號寄存器的輸出作MLS輸出
modulo=Reg(2)*Reg(3)*Reg(6)*Reg(8)*Reg(9)*Reg(10);
Reg(2:10)=Reg(1:9); %循環移位
Reg(1)=modulo;
g2(j)=Reg(k1)*Reg(k2); %將參數k1和k2所代表的寄存器模二相加后作為G2輸出
end
%將G2與MLS進行延遲檢驗
if MLS==g2([delay:1023 1:delay-1])
disp('OK')
else
disp('not match')
end
%在G2序列中找出-1并轉換為0,找出1并轉換為1
ind1=find(g2==-1);
ind2=find(g2==1);
g2(ind1)=ones(1,length(ind1));
g2(ind2)=zeros(1,length(ind2));
temp=g2(1:120);
x(1)=0;show(1)=temp(1);
P=2;
%下面的循環是為了將結果顯示成方波形式
for i=2:length(temp)
if((temp(i)==temp(i-1)))
x(P)=i-1;
show(P)=temp(i-1);
x(P+1)=i-1+0.01;
show(P+1)=temp(i);
P=P+2;
else
show(P)=temp(i);
x(P)=i;
P=P+1;
end
end
%畫出仿真波形
subplot(2,1,1)
plot(x,show);
axis([0 length(x)-60 -0.1 1.1]);
grid;
%subplot(2,1,2)
%plot(x,show);
%grid;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -