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

📄 aqammod.m

📁 个人硕士论文的关于数字接收机调制解调方面的matlab程序
💻 M
字号:
function [iout,qout]=aqammod(x,ml)
%本函数是实现星形qam调制的文件
%data:随机产生的bit
%ml: 表示调制制式8qam->3,16qam->4,32qam->5,64qam->6
%
%this file is edited at 2005-08-23
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

N=length(x);
b=0;
%*********************************
if (mod(N,ml)~=0)
    b=ml-(N-ml*(floor(N/ml)));
    nx=zeros(1,N+b);
end
nx(1:N)=x;   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=0;m=1;
%theta=zeros(1,(length(nx)/ml));
mi4=randint(1,N,4);
switch (ml)
    case{3}  %8qam modulation
        M=4;
        for i=1:ml:length(nx)
            m=m+n;
            %mi=nx(i)*2+nx(i+1)*1;
            s2=[1 2.4];
            theta=(2*pi*mi4(i))/M;
            A=s2(nx(i+ml-1)+1);
            iout(m)=A.*cos(theta);
            qout(m)=A.*sin(theta);
            n=n+1;
        end
    case{4}
        M=8;
        for i=1:ml:length(nx)
             m=m+n;
            mi=nx(i)*4+nx(i+1)*2+nx(i+2)*1;
            s2=[1 1.8];
            theta=(2*pi*mi)/M;
            A=s2(nx(i+ml-1)+1);
            iout(m)=A.*cos(theta);
            qout(m)=A.*sin(theta);
            n=n+1;
            [iout(m) iout(m+1)]=gngauss;
            [qout(m) qout(m+1)]=gngauss;
        end
    case{5}
        M=8;
        for i=1:ml:length(nx)
             m=m+n;
            mi=nx(i)*4+nx(i+1)*2+nx(i+2)*1;
            s4=[1 1.77 2.54 3.318];
            theta=(2*pi*mi)/M;
            A=s4(nx(i+ml-2)*2+nx(i+ml-1)+1);
            iout(m)=A.*cos(theta);
            qout(m)=A.*sin(theta);
            n=n+1;
        end
    case{6}
        M=16;
        for i=1:ml:length(nx)
          m=m+n;
            mi=nx(i)*8+nx(i+1)*4+nx(i+2)*2+nx(i+3);
            s4=[1 1.4 1.81 2.23];
            theta=(2*pi*mi)/M;
            A=s4(nx(i+ml-2)*2+nx(i+ml-1)+1);
            iout(m)=A.*cos(theta);
            qout(m)=A.*sin(theta);
            n=n+1;   
        end
    otherwise
        iout=[iout 0];
        qout=[qout 0];
end

⌨️ 快捷键说明

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