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

📄 baker.m

📁 这里是我得一些常用函数库
💻 M
字号:
function [m,s]=Baker(P,Z)
%利用Baker变换产生PN码
aver=[];
N=1024;
e1=0.0009;
e2=0.0011;
L=length(P);
leng=1;
m=0;
s=0;
PN=[];
while leng<L
n=1;
pn=[];                       %初始为空矩阵
while n<=N
    j=leng;
x=Z(j)/P(j);
if x>0.5
pn=[pn,1];
else 
pn=[pn,0];
end
n=n+1;
Z(j)=mod(2*Z(j),P(j));
end
pn=2*pn-1;
for i=1:N
    acorr(i)=pn*[pn(1+i:N),pn(1:i)]'/N;
end
acorr=acorr(1:N-1);
aver1=acorr*acorr'/(N-1);
if aver1<=e1
    m=m+1;
    PN(m,:)=pn;
end
    leng=leng+1;
end
PN1=[];
[row,col]=size(PN);
i=1;
while i<=row
    j=1;
   while j<=row
       if j==i
           j=j+1;
       end
       if j>row
           break;
       end
       pn1=PN(i,:);
       pn2=PN(j,:);
       for k=1:N
           ccorr(k)=pn1*[pn2(1+k:N),pn2(1:k)]'/N;
       end
   aver2=ccorr*ccorr'/N;
       if aver2>e2
           break;
       end
       if j==row
          s=s+1;
          PN1(s,:)=pn1;
       end
       j=j+1;
   end
   i=i+1;
end
save PN1;
pn1=PN1(1,:);
pn2=PN1(2,:);
for i=1:N
    acorr(i)=pn1*[pn1(1+i:N),pn1(1:i)]'/N;
end
acorr=acorr(1:N-1);
aver1=acorr*acorr'/(N-1)
for i=1:N
    ccorr(i)=pn1*[pn2(1+i:N),pn2(1:i)]'/N;
end
aver2=ccorr*ccorr'/N


    


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -