1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/YZWTkphubA==
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
EMS算法是一种基于置信传播(BP)算法的改进译码算法。它在BP算法的基础上,通过对消息传递过程中的置信度进行调整,以提高译码性能。EMS算法的核心思想是在计算校验节点到变量节点的消息时,不仅考虑相邻变量节点的信息,还考虑到一定范围内的非相邻变量节点的信息,从而更充分地利用了校验矩阵的结构信息。
4.部分源码
............................................................
for ii=1:n
[ff(:,ii),ff_ind(:,ii)] = order_EMS(f(:,ii),ff_ind(:,ii));
end
%截短
ffs = ff(1:Nm,:);
ff_ind2 = ff_ind(1:Nm,:);
ffs1 = zeros(Nm,n);
for i=1:Nm
ffs1(i,:)=ffs(i,:)-ffs(1,:);
end
xhat = zeros(1,n);
Rij = zeros(Nm*m,n);
Rijx = zeros(Nm*m,n);
Qij = zeros(Nm*m,n);
Qijx = zeros(Nm*m,n);
Qijy = zeros(Nm*m,n);
[Qij,Qijx] = func_Qij(H,Nm,ffs1,ff_ind2);
%迭代
kk = 0;
max_iter = Iter;
while (kk < max_iter)
kk = kk+1 ;
%置换
Qijy = func_replacement(Qijx,power,H,H_zhi,alpha,beta,field,Nm);
%校验更新
[Rij,Rijx] = func_check_updata(H,H_zhi,alpha,beta,power,field,Qij,Qijy,Nm,q);
%变量更新
[xhat,Qij,Qijx] = func_variable_updata(H,Rij,Rijx,Nm,ffs1,ff_ind2,q);
end
0X_089m
---