📄 longcode1.m
字号:
%产生42位扩频长码,以IS-95为范本而作,业务信道
function y=longcode1(n,m)
% clc;
% clear all;
% close all;
% n=100;
% k=[1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0];
ESN1=[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0
0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0
1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0];
k=ESN1(m,:);
%k为ESN原始序列,在下面对其进行虫排序,一使其相关特性增强
ESN=[k(10),k(19),k(28),k(6),k(15),k(24),k(2),k(11),k(20),k(29),k(7),k(16),k(25),k(3),k(12),k(21),k(30),k(8),k(17),k(26),k(4),k(13),k(22),k(31),k(9),k(18),k(27),k(5),k(14),k(23),k(32),k(1)];
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,0,0,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;
maskcode(1:32)=ESN;
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -