作业帮 > 综合 > 作业

MATLAB的16QAM映射

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/28 13:17:51
MATLAB的16QAM映射
16QAM的映射与逆映射的编程实现貌似都很复杂,各位有什么好的办法么?
我编了一个程序,此映射表采用格雷码,详见北邮通信原理
function [Symbol]=MapTo16QAM(x);
%--x:1*4向量
str='';
for ii=1:4;
str=[str,int2str(x(ii))];
end
dec_num=bin2dec(str);
switch dec_num
case 0
Symbol=-3-3j;
case 1
Symbol=-3-j;
case 2
Symbol=3+3j;
case 3
Symbol=3+j;
case 4
Symbol=-1-3j;
case 5
Symbol=-1-j;
case 6
Symbol=-1+3j;
case 7
Symbol=-1-j;
case 8
Symbol=3-3j;
case 9
Symbol=3-j;
case 10
Symbol=3+3j;
case 11
Symbol=3+j;
case 12
Symbol=1-3j;
case 13
Symbol=-1-j;
case 14
Symbol=1+3j;
case 15
Symbol=1+j;
end;
%------------------------
Symbol;
MATLAB的16QAM映射
你可以用矩阵,而不要用switch
16QAM就是个4*4的矩阵
然后只要横纵坐标两个参数,就能确定一个星座点的值了.
注意归一化,你的程序没有做