longcode.m

来自「cdma 系统级仿真」· M 代码 · 共 25 行

M
25
字号
%产生42位扩频长码,以IS-95为范本而作
function y=longcode(n)
maskcode=[1,0,0,1,1,1,0,0,1,1,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0,1,1,0,0,1,0,0,0,1,1,1,1,0,0,0,1,1];%掩码
codeg=[1,1,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,1,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0];%生成器抽头序列
%reginitstate=randsrc(1,42,[0,1]);%长为42的随机数,移位寄存器初始状态
reginitstate=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];%移位寄存器初始状态
regstate=reginitstate;
codenext=zeros(1,42);
for num1=1:n
    codeinmod=regstate.*maskcode;
    codeinsum=mod(codeinmod,2);
    code(1,num1)=mod(sum(codeinsum),2);%code(1,num1)=mod(sum(mod(regstate.*maskcode,2)),2);
%    codenext(1,1)=regstate(1,42);    
    codenext(1,2:42)=regstate(1,1:41);
    codeadd=regstate(1,42)*codeg;
    regstate=mod(codenext+codeadd,2);
end
y=code;






⌨️ 快捷键说明

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