?? kasami.m
字號(hào):
% Kasami codes
%option indicates sequence format
function[codes] = kasami(option)
blarge = 1;
m=8; % m has to be even
N = 2^m -1;
code3 = zeros(1, N); %2 codes for xor with circular shift
code2 = zeros(1, N);
code1 = BasicSeqK(m);
if blarge == 0
s = 2^(m/2) + 1; %decimation index
lim = 2^(m/2); % no of sequences
codes = zeros(lim, N);
codes(1, 1:N) = code1;
%decimation process for creating code2
k = 0;
for i=1:N
ind = mod(1 + k*s, N);
if ind == 0;
ind = N;
end
code2(i) = code1(ind);
k = k + 1;
end
for i=2:lim
codes(i,1:N) = xor(code1,code2); %generating codes
circshift(code2, [0,-1]); %left shift
end
codes;
else
% LARGE KASAMI SEQUENCE SET
d1 = 2.^(m/2)+1; % decimation index1
d2 = 2.^((m+2)/2)+1; % decimation index2
k = 0;
%decimation process for creating code2
for i=1:N
ind = mod(1 + k*d1, N);
if ind == 0;
ind = N;
end
code2(i) = code1(ind);
k = k + 1;
end
%decimation process for creating code3
k = 0;
for i=1:N
ind = mod(1 + k*d2, N);
if ind == 0;
ind = N;
end
code3(i) = code1(ind);
k = k + 1;
end
lim = 2.^(m/2)*(2^m + 1); % the number of codes
codes = zeros(lim, N);
codes(1, 1:N) = code1;
codes(2, 1:N) = code3;
k_seq1 = code1; % add by hzh at 061219
codesp3 = code3;
codesp2 = code2;
lim1 = 2^m - 1;
for i=3:lim1+2
codes(i,1:N) = xor(code1, code3);
code3 = circshift(code3, [0, -1]);
end
lim2 = 2^(m/2)- 1;
for j=i+1:lim2+i
codes(j,1:N) = xor(code1, code2);
code2 = circshift(code2, [0, -1]);
end
code2 = codesp2;
code3 = codesp3;
for i=j+1:lim2+j
codes(i,1:N) = xor(code3, code2);
code2 = circshift(code2, [0, -1]);
end
for k = 3 : lim1+2
code2 = codesp2;
for j=1:lim2
i = i+1;
codes(i, 1:N) = xor(codes(k, 1:N), code2);
code2 = circshift(code2, [0, -1]);
end
end
end
%converting 0 to -1
if option == 1
d=1:lim;
codes(d,1:N) = 2*(codes(d,1:N)-1)+1;
end
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -