📄 qam_16.asv
字号:
function [d_symb]=QAM_16(numbits,d) %16_QAM调制
numbits=168;
% i=1:numbits;
% b(i)=randn(1,numbits)<0.5;
for n=1:4:numbits
if d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==0
Re=1/sqrt(10);
Im=1/sqrt(10);
% select=1;
elseif d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==1
Re=1/sqrt(10);
Im=3/sqrt(10);
% select=2;
elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==0
Re=3/sqrt(10);
Im=1/sqrt(10);
% select=3;
elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==1
Re=3/sqrt(10);
Im=3/sqrt(10);
% select=4;
elseif d(n)==0&d(n+1)==1&d(n+2)==0&d(n+3)==0
% select=5;
elseif d(n)==0&d(n+1)==1&d(n+2)==0&d(n+3)==1
% select=6;
elseif d(n)==0&d(n+1)==1&d(n+2)==1&d(n+3)==0
% select=7;
elseif d(n)==0&d(n+1)==1&d(n+2)==1&d(n+3)==1
% select=8;
elseif d(n)==1&d(n+1)==0&d(n+2)==0&d(n+3)==0
% select=9;
elseif d(n)==1&d(n+1)==0&d(n+2)==0&d(n+3)==1
% select=10;
elseif d(n)==1&d(n+1)==0&d(n+2)==1&d(n+3)==0
% select=11;
elseif d(n)==1&d(n+1)==0&d(n+2)==1&d(n+3)==1
% select=12;
elseif d(n)==1&d(n+1)==1&d(n+2)==0&d(n+3)==0
% select=13;
elseif d(n)==1&d(n+1)==1&d(n+2)==0&d(n+3)==1
% select=14;
elseif d(n)==1&d(n+1)==1&d(n+2)==1&d(n+3)==0
% select=15;
else d(n)==1&d(n+1)==1&d(n+2)==1&d(n+3)==1
% select=16;
end
switch select
case 1
Re=1/sqrt(10);
Im=1/sqrt(10);
case 2
Re=1/sqrt(10);
Im=3/sqrt(10);
case 3
Re=3/sqrt(10);
Im=1/sqrt(10);
case 4
Re=3/sqrt(10);
Im=3/sqrt(10);
case 5
Re=1/sqrt(10);
Im=-1/sqrt(10);
case 6
Re=1/sqrt(10);
Im=-3/sqrt(10);
case 7
Re=3/sqrt(10);
Im=-1/sqrt(10);
case 8
Re=3/sqrt(10);
Im=-3/sqrt(10);
case 9
Re=-1/sqrt(10);
Im=1/sqrt(10);
case 10
Re=-1/sqrt(10);
Im=3/sqrt(10);
case 11
Re=-3/sqrt(10);
Im=1/sqrt(10);
case 12
Re=-3/sqrt(10);
Im=3/sqrt(10);
case 13
Re=-1/sqrt(10);
Im=-1/sqrt(10);
case 14
Re=-1/sqrt(10);
Im=-3/sqrt(10);
case 15
Re=-3/sqrt(10);
Im=-1/sqrt(10);
case 16
Re=-3/sqrt(10);
Im=-3/sqrt(10);
end
for n=1:(numbits/4)
d_symb(n)=Re+j*Im;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -