⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcode1.m

📁 伪随机码
💻 M
字号:
%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 + -