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

📄 mseq64.m

📁 64QAM的调制解调程序
💻 M
字号:
function  a=mseq64(N)
%%%%%%产生M序列%%%%%
%registers=ones(1,12);%将移位寄存器的初值都设置为1
%seq(1)=registers(1);%第一个寄存器的值做为序列的第一个值
%for i=2:(6*N)    %产生的m序列长度为20000,其中一个周期为4095个点
 %   t=xor(xor(registers(1),registers(7)),xor(registers(9),registers(12)));
  %  for j=1:11
   %    registers(j)=registers(j+1);
    %end;
     %registers(12)=t;
    %seq(i)=registers(1);
%end;
for i=1:N  %将产生的m序列的前400个点转换成星座图
switch 1
    case seq(6*(i-1)+6)==0&seq(6*(i-1)+4)==0&seq(6*(i-1)+2)==0
        ci(i)=7;
    case seq(6*(i-1)+6)==0&seq(6*(i-1)+4)==0&seq(6*(i-1)+2)==1
        ci(i)=5;
    case seq(6*(i-1)+6)==0&seq(6*(i-1)+4)==1&seq(6*(i-1)+2)==1
        ci(i)=3;
    case seq(6*(i-1)+6)==0&seq(6*(i-1)+4)==1&seq(6*(i-1)+2)==0
        ci(i)=1;
    case seq(6*(i-1)+6)==1&seq(6*(i-1)+4)==1&seq(6*(i-1)+2)==0
        ci(i)=-1;
    case seq(6*(i-1)+6)==1&seq(6*(i-1)+4)==1&seq(6*(i-1)+2)==1
        ci(i)=-3;
    case seq(6*(i-1)+6)==1&seq(6*(i-1)+4)==0&seq(6*(i-1)+2)==1
        ci(i)=-5;
    case seq(6*(i-1)+6)==1&seq(6*(i-1)+4)==0&seq(6*(i-1)+2)==0
        ci(i)=-7;
end
switch 1
    case seq(6*(i-1)+5)==0&seq(6*(i-1)+3)==0&seq(6*(i-1)+1)==0
        cq(i)=7;
    case seq(6*(i-1)+5)==0&seq(6*(i-1)+3)==0&seq(6*(i-1)+1)==1
        cq(i)=5;
    case seq(6*(i-1)+5)==0&seq(6*(i-1)+3)==1&seq(6*(i-1)+1)==1
        cq(i)=3;
    case seq(6*(i-1)+5)==0&seq(6*(i-1)+3)==1&seq(6*(i-1)+1)==0
        cq(i)=1;
    case seq(6*(i-1)+5)==1&seq(6*(i-1)+3)==1&seq(6*(i-1)+1)==0
        cq(i)=-1;
    case seq(6*(i-1)+5)==1&seq(6*(i-1)+3)==1&seq(6*(i-1)+1)==1
        cq(i)=-3;
    case seq(6*(i-1)+5)==1&seq(6*(i-1)+3)==0&seq(6*(i-1)+1)==1
        cq(i)=-5;
    case seq(6*(i-1)+5)==1&seq(6*(i-1)+3)==0&seq(6*(i-1)+1)==0
        cq(i)=-7;
end
end

j=sqrt(-1);
a=[0 0 0 0 0 0];
a=ci+j*cq;

⌨️ 快捷键说明

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