📄 ml_decision_2x2.m
字号:
function [Symbol_1,Symbol_2]=ML_decision_2x2(H11,H21,H12,H22,ComSymbol_1,ComSymbol_2,qam)
% Alamouti Maximum Likelihood Decision Rule
Factor=H11.*conj(H11)+H21.*conj(H21)+H12.*conj(H12)+H22.*conj(H22)-1;
IQvalue=get80216map(qam);
% Detect S1
Symbol_1=zeros(1,length(ComSymbol_1));
for loop=1:length(ComSymbol_1)
Metric=Factor(loop)*(IQvalue.*conj(IQvalue))+(abs(ComSymbol_1(loop)-IQvalue)).^2;
index=find(Metric==min(Metric));
if length(index)>1
index=index(1);
disp('Uncertain');
end
Symbol_1(loop)=index-1;
end
% Detect S2
Symbol_2=zeros(1,length(ComSymbol_2));
for loop=1:length(ComSymbol_2)
Metric=Factor(loop)*(IQvalue.*conj(IQvalue))+(abs(ComSymbol_2(loop)-IQvalue)).^2;
index=find(Metric==min(Metric));
if length(index)>1
index=index(1);
disp('Uncertain');
end
Symbol_2(loop)=index-1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -