多进制LDPC码的译码算法比较

本文总结了多进制LDPC码的译码算法,包括基础的BP和SPA译码算法及其扩展——Log-BP和Log-SPA译码算法。Log-BP在初始化和校验节点更新上有别于二进制版本,采用前向-后向运算,而判决过程需考虑0符号的特殊性。
摘要由CSDN通过智能技术生成

总结对比一下多进制LDPC的译码算法

一、多进制 BP、SPA译码算法 

 这个是最基本的译码算法,可以从二进制直接扩展引用过来。在译码过程中传递的信息是码字符号取不同值的概率值(二进制是0和1,多进制是0到q-1个概率值),符号的几个概率值的叠加的运算就是累乘,复杂度高,但是性能好。

二、多进制Log—BP、Log—SPA 

 跟二进制Log-BP略有不同,主要不同点如下: 

 1.初始化 二进制的Log—BP初始化时的公式是:2*y/sigma^2    多进制的Log-BP初始化时的公式是:2*s_y/sigma^2 

 %接收后处理
        f=reshape(zb,nbits,length(y));  % reshape for finding priors on symbols 将列向量重构成两行向量
        PP=zeros(q-1,n);
        for i=1:q-1
            a=dec2bin(i,nbits);
            for j=1:nbits
                if(a(j)=='1')
                PP(i,:)=PP(i,:)+f(j,:);
                end
            end
        end
        PP=2*PP/sigma^2;        % likelihoods for bits 这里说的是第n个符号去值为a(0~q-1)的概率

 2. 校验节点更新

    多进制的校验节点更新采用的是前向-后向算法

如图,一个与5个变量节点相连的校验节点,进行的前向-后向运算,需要10个存储单元。前向-后向同时进行运算,每次运算结果跟下一个变量节点继续运算。如图第4步运算完后,再各个变量节点对应的上层(前向运算结果)和下层(后项运算结果)与本身节点进行运算。具体的前向-后向运算程序如下:

for i=1:m
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值