MATLAB的16QAM映射

来源:百度知道 编辑:UC知道 时间:2024/06/23 23:28:11
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;

你可以用矩阵,而不要用switch
16QAM就是个4*4的矩阵
然后只要横纵坐标两个参数,就能确定一个星座点的值了。

注意归一化,你的程序没有做