MATLAB的16QAM映射16QAM的映射与逆映射的编程实现貌似都很复杂,各位有什么好的办法么?我编了一个程序,此映射表采用格雷码,详见北邮通信原理function [Symbol]=MapTo16QAM(x);%--x:1*4向量str='';for ii=1:4;s
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 10:55:58
MATLAB的16QAM映射16QAM的映射与逆映射的编程实现貌似都很复杂,各位有什么好的办法么?我编了一个程序,此映射表采用格雷码,详见北邮通信原理function [Symbol]=MapTo16QAM(x);%--x:1*4向量str='';for ii=1:4;s
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映射16QAM的映射与逆映射的编程实现貌似都很复杂,各位有什么好的办法么?我编了一个程序,此映射表采用格雷码,详见北邮通信原理function [Symbol]=MapTo16QAM(x);%--x:1*4向量str='';for ii=1:4;s
你可以用矩阵,而不要用switch
16QAM就是个4*4的矩阵
然后只要横纵坐标两个参数,就能确定一个星座点的值了.
注意归一化,你的程序没有做