LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW

您所在的位置:网站首页 SDR算法中MM算法全称 LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW

LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW

2024-07-11 10:13:58| 来源: 网络整理| 查看: 265

LDPC译码:和积译码算法(SPA)、最小和算法(MSA)、分层译码算法(LBP)、动态信息更新策略IDS(含RBP、NW-RBP、SVNF-RBP)的MATLAB实现 主要内容符号说明算法说明与代码实现和积译码算法(SPA)基本原理MATLAB代码实现SPA 分层译码算法(LBP)基本原理MATLAB代码实现LBP IDS类算法单次迭代的终止条件及判决方法残差置信传播(RBP)算法内容RBP的贪婪性 NW-RBP (Node wise RBP)SVNF-RBP (Silent-Variable-Node-Free RBP)MATLAB代码实现 代码使用说明参考文献

主要内容

  LDPC[1]码是一种接近香农极限的“好”码,自二十世纪九十年代被重发现以来,已获得越来越广泛的应用,成为诸多通信领域推荐使用的信道编码。近来,3GPP将其作为5G新空口eMMB应用上的数据传输编码方案。本文将主要介绍LDPC的一些主要译码方法并通过MATLAB实现,这里主要使用的译码方法为SPA([2] Sum-Product Algorithm和积译码算法)、LBP([3] Layered-Belief Propagation分层置信传播译码算法)以及性能更高的IDS(Information Dynamic Schdule)类译码算法如RBP([4] Residual Belief Propagation)、NW-RBP([5] Node Wise-RBP)、SVNF-RBP([6] Silent-Variable-Node-Free RBP)。

符号说明

在这里插入图片描述 Check to Variable: C2V Variable to Check: V2C

算法说明与代码实现 和积译码算法(SPA) 基本原理

  LDPC码的概率域BP算法的变量节点和校验节点操作有大量乘法,这样计算量和复杂度都很高,如果将上述0和1的概率信息用对数似然比表示,就可以把乘法运算转换为加法运算,大大降低了运算量,此算法称为和积译码算法。步骤如下:

初始化          L v j → c i = C v j L_{v_{j} \rightarrow c_{i}}=C_{v_{j}} Lvj​→ci​​=Cvj​​ (1)

校验节点更新        m c i → v j = 2 × atanh ⁡ ( ∏ v b ∈ N ( c i ) \ v j tanh ⁡ ( L v b → c i 2 ) ) m_{c_{i} \rightarrow v_{j}}=2 \times \operatorname{atanh}\left(\prod_{v_{b} \in N\left(c_{i}\right) \backslash v_{j}} \tanh \left(\frac{L_{v_{b} \rightarrow c_{i}}}{2}\right)\right) mci​→vj​​=2×atanh(∏vb​∈N(ci​)\vj​​tanh(2Lvb​→ci​​​)) (2)

变量节点更新    L v j → c i = ∑ c a ∈ N ( v j ) \ c i m c a → v j + C v j L_{v_{j} \rightarrow c_{i}}=\sum_{c_{a} \in N\left(v_{j}\right)\backslash c_{i}} m_{c_{a} \rightarrow v_{j}}+C_{v_{j}} Lvj​→ci​​=∑ca​∈N(vj​)\ci​​mca​→vj​​+Cvj​​ (3)

后验概率信息更新      L j = ∑ c a ∈ N ( v j ) m c a → v j + C v j L_{j}=\sum_{c_{a} \in N\left(v_{j}\right)} m_{c_{a} \rightarrow v_{j}}+C_{v_{j}} Lj​=∑ca​∈N(vj​)​mca​→vj​​+Cvj​​ (4)

MATLAB代码实现SPA function Dec_out = LdpcDecode_SPA(in,H,MaxIter) %%% in为解调后的的对数似然比信息,为N维行向量 %%% H为校验矩阵,MaxIter为最大迭代次数 [M,N] = size(H); %% 初始化 V_n = in; %似然概率 V_mn = repmat(V_n,M,1); %m代表校验节点索引,n代表变量节点索引 V_mn(H == 0) = 0; U_mn = zeros(M,N); %% 译码 for i = 1:MaxIter % 校验节点更新 for m = 1:M Nm = find(H(m,:)==1); %校验节点m相邻的变量节点 for n = 1:length(Nm) aa = Nm; aa(n) = []; % MSA: U_mn(m,Nm(n)) = prod(sign(V_mn(m,aa)))*min(abs(V_mn(m,aa))); U_mn(m,Nm(n)) = 2*atanh(prod(tanh(V_mn(m,aa)/2))); end end %变量节点更新 for n = 1:N Mn = find(H(:,n)==1); %变量节点n相邻的校验节点 for m = 1:length(Mn) bb = Mn; bb(m) = []; V_mn(Mn(m),n) = in(n) + sum(U_mn(bb,n)); end V_n(n) = in(n) + sum(U_mn(Mn,n));%似然概率更新 end end %% 硬判决 decBits = zeros(1,N); decBits(V_n


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭