function qpskoutput=qpsk(qpskinput)
len=length(qpskinput); %输入二进制数据的长度
n=len/2; %经4PSK调制后的数据长度
qpskoutput=zeros(1,n);
mapping=[1+j -1+j 1-j -1-j];%信号的星座图矩阵
for i=1:n
ps=[qpskinput((i-1)*2+1) qpskinput((i-1)*2+2)];%串并变换
a=ps(1)*2+ps(2);%计算二进制向QPSK映射的序号
qpskoutput(i)=mapping(a+1);
end
解调
function output=deqpsk(input)
lenin=length(input);
output=zeros(1,2*lenin);
for i=1:lenin
re=real(input(i));
im=imag(input(i));
if re>0
output(2*i)=0;
else
output(2*i)=1;
end
if im>0
output(2*i-1)=0;
else
output(2*i-1)=1;
end
end