% Construction of Code (零相关窗互补码)及相关性--调用相关函数。
clc;
clear all;
%产生零相关窗互补码。
k=3; %与码长有关的参数。
C11=[1 1];
C12=[-1 1];
C21=[1 -1];
C22=[-1 -1];
C(2^(k+1),2^(k+2))=0;
CT(2^(k+1),2^(k+2))=0;
C(1:2,1:4)=[C11 C12;C21 C22];
CT=C;
for i=1:k
for j=1:2^(i-1)
C11=CT(2*j-1,1:2^i);
C12=CT(2*j-1,2^i+1:2^(i+1));
C21=CT(2*j,1:2^i);
C22=CT(2*j,2^i+1:2^(i+1));
C(4*j-3,1:2^(i+2))=[C11 C21 C12 C22];
C(4*j-2,1:2^(i+2))=[C11 -C21 C12 -C22];
C(4*j-1,1:2^(i+2))=[C21 C11 C22 C12];
C(4*j,1:2^(i+2))=[C21 -C11 C22 -C12];
end
CT=C;
end
C
%取互相关码组
A1 = C(1,1:2^(k+1));
B1 = C(1,2^(k+1)+1:2^(k+2));
A2 = C(2,1:2^(k+1));
B2 = C(2,2^(k+1)+1:2^(k+2));
A3 = C(3,1:2^(k+1));
B3 = C(3,2^(k+1)+1:2^(k+2));
A4 = C(8,1:2^(k+1));
B4 = C(8,2^(k+1)+1:2^(k+2));
% a = 0.2/4.343*1e-3; %光纤损耗系数。
%相关码组特性
r1=apcorr(A1,A1)
r3=xcorr(A1,A1,'coeff')
r2=apcorr(B1,B1);
r=r1+r2;
figure(1)
plot(-length(A1)+1:length(A1)-1,r1);
hold on
plot(-length(A1)+1:length(A1)-1,r2,'-r');
figure(2)
plot(-length(A1)+1:length(A1)-1,r);
title('自相关曲线');
%不同码组间相关特性
cr1=apcorr(A1,A2);
cr2=apcorr(B1,B2);
cr=cr1+cr2;
figure(3)
plot(-length(A1)+1:length(A1)-1,cr1);
hold on
plot(-length(A1)+1:length(A1)-1,cr2,'-r');
figure(4)
plot(-length(A1)+1:length(A1)-1,cr);
title('互相关曲线');