www.gusucode.com > matlab编程16QAM的仿真源码程序 > matlab编程16QAM的仿真源码程序/16QAM/Qam_modulation.m

    function [yy1,yy2]=Qam_modulation(x)
%QAM_modulation
%对产生的二进制序列进行QAM调制
   %首先进行串并转换,将原二进制序列转换成两路信号
N=length(x);
a=1:2:N;
y1=x(a);
y2=x(a+1);
%分别对两路信号进行QPSK调制
%对两路信号分别进行2~4电平转换
a=1:2:N/2;
temp11=y1(a);
temp12=y1(a+1);
y11=temp11*2+temp12;
temp21=y2(a);
temp22=y2(a+1);
y22=temp21*2+temp22;
%对两路信号分别进行相位调制
yy1(find(y11==0))=-3;
yy1(find(y11==1))=-1;
yy1(find(y11==3))=1;
yy1(find(y11==2))=3;
yy2(find(y22==0))=-3;
yy2(find(y22==1))=-1;
yy2(find(y22==3))=1;
yy2(find(y22==2))=3;
%yyy1=yy1
%yyy2=yy2