📄 sq8qam_gray_demap.m
字号:
function out=sq8QAM_Gray_demap(input)
K=length(input);
d=1/sqrt(6); %%% The minimum distance between constellations is 2*d
x=d*[2,0,-2]; %%% coordinate matrix
y=d*[2,0,-2];
code=[0 0 0
0 0 1
0 1 1
1 1 1
1 0 1
1 0 0
1 1 0
0 1 0];
max=d*[2 2
2 0
2 -2
0 -2
-2 -2
-2 0
-2 2
0 2];
for i=1:K
temp(i,:)=[real(input(i)),imag(input(i))]; %%% 复数矩阵变成实数矩阵,便于处理
end
%%%------Minimun Euclidean distance demodulate-----------------
for i=1:K
disx=abs(temp(i,1)-x);
[d1,numx]=min(disx);
tt_out(i,1)=x(numx);
disy=abs(temp(i,2)-y);
[d2,numy]=min(disy);
tt_out(i,2)=y(numy);
tt=find(max(:,1)==tt_out(i,1) & max(:,2)==tt_out(i,2));
t_out(i,:)=code(tt,:);
end
for i=1:K
for m=1:3
out(3*(i-1)+m)=t_out(i,m); %%% P/S transform, the out is a serial binary sequence
end
end
clear K d x y temp disx disy tt_out t_out
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -