电子产业一站式赋能平台

PCB联盟网

搜索
查看: 826|回复: 0
收起左侧

ML信号检测

[复制链接]

616

主题

968

帖子

5301

积分

四级会员

Rank: 4

积分
5301
发表于 2022-11-3 17:41:21 | 显示全部楼层 |阅读模式
有大佬帮忙解释一下这串代码的意思吗



function [X_hat] = ML_detector(y,H)
QAM_table = [-3-3j,-3-j,-3+3j,-3+j,...
              -1-3j,-1-j,-1+3j,-1+j,...
              3-3j,3-j,3+3j,3+j,...
              1-3j,1-j,1+3j,1+j]/sqrt(10);%为啥要除10的开方啊
metric = 100000;
for k = 1:16
     x_tmp(1) = QAM_table(k);
     Esti_y1(:,1) = y - H(:,1)*x_tmp(1);
     for m = 1:16
         x_tmp(2) = QAM_table(m);
         Esti_y2(:,1) = Esti_y1(:,1) - H(:,2)*x_tmp(2);
         for n = 1:16
             x_tmp(3) = QAM_table(n);
             Esti_y3(:,1) = Esti_y2(:,1) - H(:,3)*x_tmp(3);
             for o = 1:16
                 x_tmp(4) = QAM_table(o);
                 Esti_y4(:,1) = Esti_y3(:,1) - H(:,4)*x_tmp(4);
                 metric_tmp = sqrt(Esti_y4(:,1)'*Esti_y4(:,1));
                 if metric_tmp < metric
                     X_hat = x_tmp;
                     metric = metric_tmp;
                 end
             end
         end
     end
end
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表