📄 qam_16.m
字号:
function dsymb=QAM_16(numbits,d) %16_QAM调制
for n=1:4:numbits % 16QAM调制是4个比特调制成一个符号,调制规则按照36.211协议的第73页
if d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==0
select=1;
elseif d(n)==0&d(n+1)==0&d(n+2)==0&d(n+3)==1
select=2;
elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==0
select=3;
elseif d(n)==0&d(n+1)==0&d(n+2)==1&d(n+3)==1
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
if n == 1;
k = 1;
dsymb(k)=Re+j*Im;
else if n > 1 ;
k = ceil (n / 4) ;
dsymb(k)=Re+j*Im;
end
end
end
% 输出的为经过16QAM调制的符号。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -