?? 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 + -