m6.m

来自「硕士CDMA作业」· M 代码 · 共 64 行

M
64
字号
%6阶m序列 1+x+x^6%
a=zeros(63,7)
b=zeros(7,1)
c=zeros(1,63)
b=[0 0 0 0 0 1 0]
a(1,6)=1
for i=2:63,
    temp=b(1,7);
    b(1,7)=b(1,6);
    b(1,6)=b(1,5);
    b(1,5)=b(1,4);
    b(1,4)=b(1,3);
    b(1,3)=b(1,2);
    b(1,2)=b(1,1);
    b(1,1)=xor(b(1,1),temp);
    for j=1:7,
        a(i,j)=b(1,j);
    end
end
for k=1:63,
    if (a(k,7)==0),
        c(1,k)=1;
    else
        c(1,k)=-1; 
    end
end
aa1=zeros(1,6300);
for i=0:62
    k=100*i+1;
    for  j=k:k+99
        aa1(1,j)=c(1,i+1);
    end
end
for l=-200:200
     xg=0;
     if (l<0)
         for i=1:6300
             q=l+i+6300;
             while(q>6300)
                 q=q-6300;
             end
               xg=xg+aa1(1,i)*aa1(1,q);
         end
         xg=xg/6300;
    plot(l,xg);   
    hold on
            
        else
            for i=1:6300
                q=l+i;
                while(q>6300)
                     q=q-6300;
                 end
                 
               xg=xg+aa1(1,i)*aa1(1,q);
           end
            xg=xg/6300;
        plot(l,xg);   
        hold on
       end
end
xlabel('延迟时间(×100)');
ylabel('m序列自相关函数');

⌨️ 快捷键说明

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