📄 pcode1.asv
字号:
%pcode period = 2^m-1
%pcode period number = n
function y=pcode1(m )
% close all;
r=0;
a=eye(1,m); %初始化
if m<21
y=zeros(1,(2^m-1));
for i=1:1:(2^m-1)
y(i) = a(m);
b = a(m);
a(2:m)=a(1:(m-1));
switch(m)
case 2
a(1)=xor(a(1),b); %011
case 3
a(1)=xor(a(1),b); %0100111
case 4
a(1)=xor(a(1),b); %
case 5
a(1)=xor(xor(xor(a(1),b),a(2)),a(4));%xor(xor(xor(a(2),b),a(3)),a(4));%xor(a(3),b);
case 6
a(1)=xor(a(1),b);
case 7
a(1)=xor(a(1),b);
case 8
a(1)=xor(xor(xor(xor(xor(a(2),b),a(5)),a(6)),a(7)),a(1));%xor(xor(xor(a(1),b),a(6)),a(7));
case 9
a(1)=xor(a(5),b);
case 10
a(1)=xor(a(4),b);%4 or 8
case 11
a(1)=xor(a(3),b);
case 12
a(1)= xor(xor(xor(a(7),b),a(5)),a(2)) ;%none
case 13
a(1)=xor(xor(xor(a(4),b),a(5)),a(2)) ;
case 14
a(1)=xor(xor(xor(a(7),b),a(11)),a(2)) ;%4 or 8
case 15
a(1)=xor(a(2),b); %xor(a(1),b) okokok
case 16
a(1)=xor(xor(xor(a(13),b),a(4)),a(2)) ;%4 or 8
case 17
a(1)=xor(a(4),b);
case 18
a(1)=xor(a(8),b);%4 or 8
case 19
a(1)=xor(xor(xor(a(6),b),a(3)),a(2)) ;
case 20
a(1)=xor(a(4),b);%4 or 8
end
end
z=2*y-1;
y=z;
end
%%%%%%%%%%%%%%%%%%%%%%求循环自相关%%%%%%%%%%%%%%%%%%%%%%
% mm=2^m-1;
% y=z;
% % c=z(mm);z
% % z(2:mm)=z(1:mm-1);
% % z(1)=c;
% for k=1:2000 %(2*mm-1)% 100 %(2*mm-1)
% r(k)=sum(z.*y);
% c=z(mm);
% z(2:mm)=z(1:mm-1);
% z(1)=c;
% end
% plot(r);
% else y=zeros(1,(2^20 ));
% for i=1:1:(2^20 )
% y( i) = a(m);
% b = a(m);
% a(2:m)=a(1:(m-1));
% switch(m)
% case 21
% a(1)=xor(a(3),b);
% case 22
% a(1)=xor(a(1),b);%4 or 8
%
% case 23
% a(1)=xor(a(6),b);
% case 24
% a(1)=xor(xor(xor(a(5),b),a(4)),a(2)) ;
% case 25
% a(1)=xor(a(4),b);
% case 26
% a(1)=xor(xor(xor(a(9),b),a(8)),a(2)) ;
% case 27
% a(1)=xor(xor(xor(a(8),b),a(9)),a(2)) ;
% case 28
% a(1)=xor(a(4),b);
% case 29
% a(1)=xor(a(3),b);
% case 30
% a(1)=xor(xor(xor(a(17),b),a(16)),a(2)) ;
% case 31
% a(1)=xor(a(4),b);
% case 32
% a(1)=xor(xor(xor(a(28),b),a(29)),a(2)) ;
% end
% end
% z=2*y-1;
% y=z;
% save mypcode y;
% save mypcode1 z;
% clear y;
% clear z;
% if m>32
% y=sprintf('%s','The current programe is unvalid for your need!!');
% else
%
% for j=2:2^(m-20)
% y=zeros(1,(2^20 ));
% for i=1:1:(2^20 )
% y( i) = a(m);
% b = a(m);
% a(2:m)=a(1:(m-1));
% switch(m)
% case 21
% a(1)=xor(a(3),b);
% case 22
% a(1)=xor(a(1),b);%4 or 8
% case 23
% a(1)=xor(a(6),b);
% case 24
% a(1)=xor(xor(xor(a(5),b),a(4)),a(2)) ;
% case 25
% a(1)=xor(a(4),b);
% case 26
% a(1)=xor(xor(xor(a(8),b),a(9)),a(2)) ;
% case 27
% a(1)=xor(xor(xor(a(8),b),a(9)),a(2)) ;
% case 28
% a(1)=xor(a(4),b);
% case 29
% a(1)=xor(a(3),b);
% case 30
% a(1)=xor(xor(xor(a(17),b),a(16)),a(2)) ;
% case 31
% a(1)=xor(a(4),b);
% case 32
% a(1)=xor(xor(xor(a(28),b),a(29)),a(2)) ;
% end
% end
% z = 2*y-1;
% load mypcode y ;
% r=r+sum(z.*y);
% y=z;
% save mypcode y;
% clear y;
% clear z;
% % clear y;
% end
% end
%
% load mypcode y;
% load mypcode1 z;
% r=r+sum(z(2:2^20 ).*y(1:2^20-1));
% r
% end
% % z=0;
%
% % %%%%%%%%%%%%%%%%%%%%%%求循环自相关%%%%%%%%%%%%%%%%%%%%%%
% % z=y;
% % mm=2^m-1;
% % y=z;
% % % c=z(mm);
% % % z(2:mm)=z(1:mm-1);
% % % z(1)=c;
% % for k=1:2000 %(2*mm-1)% 100 %(2*mm-1)
% % r(k)=sum(z.*y);
% % c=z(mm);
% % z(2:mm)=z(1:mm-1);
% % z(1)=c;
% % end
% % plot(r);
% % axis([1 2500 ]);%([1 150 -5 10]);%([1 (2*mm-1) -5 mm]);
% % %%%%%%%%%%%%%%%%%%%%%%求循环自相关%%%%%%%%%%%%%%%%%%%%%%
%
% % if (n>1)
% % for k=1:1:n-1
% % y=[y,z];
% % end
% % end
% % clear a;
% % clear b;
% % clear a1;
% % clear a2;
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -