CN112929036A - 一种基于对数似然比的置信度传播动态翻转译码方法 - Google Patents
一种基于对数似然比的置信度传播动态翻转译码方法 Download PDFInfo
- Publication number
- CN112929036A CN112929036A CN202110138072.2A CN202110138072A CN112929036A CN 112929036 A CN112929036 A CN 112929036A CN 202110138072 A CN202110138072 A CN 202110138072A CN 112929036 A CN112929036 A CN 112929036A
- Authority
- CN
- China
- Prior art keywords
- bit
- decoding
- llr
- mllr
- absolute value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种基于对数似然比的置信度传播动态翻转译码方法,对极化码进行置信度传播算法译码时,通过比特翻转,结合循环冗余校验辅助早期停止标准,能够对每次迭代译码结果进行提前判断,达到预设最大迭代次数且CRC校验失败后则转入比特翻转译码程序进行比特翻转,直至提前通过CRC校验或达到预设最大翻转次数。该方法在可灵活调节翻转位数的情况下,同时又能控制和缩小多位比特翻转尝试次数,提高极化码译码性能,降低译码复杂度。仿真结果表明,与基于信息后处理的极化码的BP算法和原始BP算法相比,有明显的性能增益。
Description
技术领域
本发明涉及极化码的编码译码领域,具体涉及一种基于对数似然比的置信度传播动态翻转译码方法。
背景技术
2008年在国际信息论ISIT会议上,土耳其教授Erdal Arikan首次提出信道极化(Channel Polarization)的概念,将给出的信道编码方法命名为极化码(Polar Code),极化码是一种被严格证明到达信道容量的信道编码方法,其编译码复杂度低,性能优越。当极化码码长持续增加,选择在信道容量接近于1的可靠信道上面直接传输信息可逼近信道容量。2016年在3GPP RAN187次会议的5G短码方案讨论中,确定了极化码成为了eMBB控制信道编码标准。
Arikan教授首次提出置信传播(BeliefPropagation,BP)算法,虽然BP算法采用了并行的处理方式,有较高的吞吐量,但是现有的BP算法中仍有不足之处,因此寻找一种更好的译码方案来提高译码性能尤为重要。
比特翻转方法是一种能够显著降低误码率的译码方法,通过对译码过程中的出错位置进行统计,确定翻转比特位置,在译码初始时将最易出错的信息位进行正、负无穷的替代,实现比特翻转,进而在译码过程中,降低译码错误概率。
比特翻转的译码方法最开始是在连续消除算法(Successive cancellation,SC)译码算法中被采用的,进行SC的比特翻转译码程序后,误码率有了显著降低。但是在连续译码过程中,SC的比特反转算法有着明显的译码延迟情况,在计算复杂度及译码时长的情况下表现较差。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于对数似然比(loglikelihoodratio,LLR)的置信度传播动态翻转译码方法,本发明中的译码方法,可纠正由信道噪声引起的错误比特。
本发明提供一种基于对数似然比的置信度传播动态翻转译码方法,包括以下步骤:
步骤A:对经过置信度传播每一次迭代的译码结果采用CRC(循环冗余校验辅助,CRC Aided)校验;若所述CRC校验通过,则执行步骤B;若所述CRC校验不通过,执行步骤C;
步骤B:输出译码结果,译码结束;
步骤C:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第一个位置,然后进行一位比特翻转译码,对所述比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤D;
步骤D:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第二个位置,然后进行两位比特翻转译码,对两位比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤E;
步骤E:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第三个位置,然后进行三位比特翻转译码,对三位比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,则译码结束。
进一步的,
在步骤C中:所述一位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,筛选出LLR绝对值最小的比特位置作为步骤D中的所述最小LLR绝对值比特位置;
在步骤D中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码。
进一步的,
在步骤D中:所述两位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置作为步骤E中的所述最小LLR绝对值比特位置;
在步骤E中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置分别放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码。
进一步的,
在步骤A中:所述比特信息经过极化码(Polar Code)编码处理,所述极化码编码包括:
信道极化(Channel Polarization)过程包括信道分裂(Channel Splitting)和信道合并(Channel Combining),经对信道W的N个独立间隙上进行信道极化后,通过计算巴氏参数(Bhattacharyya参数)、密度进化或高斯近似等方式可以得到极化信道的传输错误率P(Ai),其中,Ai表示序号为i的极化信道所承载的比特经过传输后接收发生错误,P(Ai)越小则该信道越稳定,即越可靠。根据可靠程度在信道极化后的N个信道中选取K个最可靠的信道传输信息比特序列,一般为1,其余N-K个信道传输接收端已知的固定比特位,一般为0。信息比特序列与固定比特序列根据位置信息混合后得到的向量为编码器输入向量。由上述比特序列混合后得到的向量与核心生成矩阵的n次克罗内克积相乘得到编码序列其中作为生成矩阵,乘式如下:
通过比特反序序列将编码得到的序列经过重新排列得到反序后的编码序列用π(i)表示反序函数,则有xi=vπ(i)。反序函数π(i)可表示为:序号i用二进制表示为(b1,b2,...,bn),即则此时π(i)可用二进制表示为(bn,bn-1,...,b1)。将反序重排表示为一维矩阵B,则故反序后的编码序列可表示为
在此过程中,在原始编码序列中添加CRC校验比特;
进一步的,
在步骤C中:对译码结果序列根据节点LLR绝对值进行升序排序,当绝对值大小相等时,则根据极化信道的传输错误率进行降序排序,选取错误率最高的位置,最终将LLR绝对值和极化信道的传输错误率相结合得到排序位置序列。
进一步的,
所述步骤C中,所述一位比特翻转译码的翻转位数ω为1,步骤C中具体包括:
步骤a:进入ω=1的一位翻转程序,从动态翻转矩阵的第一行开始,对第一行的ω个位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷,执行步骤b;
步骤b:计算翻转次数k,k=2ω-1,k=0时,执行步骤c,k=1时,执行步骤d;
步骤c:将k转换为ω位二进制数b,此时ω=1,则b为0,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为-∞;
步骤d:将k转换为ω位二进制数b,此时ω=1,则b为1,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为+∞;
步骤e:对一位比特翻转程序迭代的译码结果根据节点LLR绝对值排序,筛选出两个的最小LLR绝对值位置mllr_ω1,1,mllr_ω1,2;比较产生的两个最小LLR绝对值比特位置,保留互不相同的最小LLR绝对值比特位置。
进一步的,
在所述BP算法中,包括译码迭代,在每次迭代后进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代过程,输出译码结果;若达到预设最大迭代次数后,仍然没有通过CRC校验,则根据最后一次的迭代结果,将最后一次的迭代结果作为所述译码结果,对所述迭代结果中的节点位置进行LLR绝对值的排序。
与现有技术相比,本发明具有如下的有益效果:本发明提出一种基于对数似然比的置信度传播动态翻转译码方法,对比特信息做BP算法后的译码结果进行CRC校验;若CRC校验通过,则输出译码结果;若CRC校验不通过,将译码结果进行节点LLR绝对值排序,将排序后的LLR绝对值序列中最小LLR绝对值比特位置放置于动态翻转矩阵的第一个位置,然后进行一位比特翻转译码,对比特翻转译码结果进行CRC校验;若CRC校验通过则输出译码结果;若CRC校验不通过,将译码结果进行节点LLR绝对值排序,将LLR绝对值序列中最小LLR绝对值比特位置放置于动态翻转矩阵的第二个位置,然后进行两位比特翻转译码,对两位比特翻转译码结果进行CRC校验;若CRC校验通过则输出译码结果;若CRC校验不通过将译码结果进行节点LLR绝对值排序,将LLR绝对值序列中最小LLR绝对值比特位置放置于动态翻转矩阵的第三个位置,然后进行三位比特翻转译码,对三位比特翻转译码结果进行CRC校验;若CRC校验通过则输出译码结果;若CRC校验不通过则译码结束;通过上述比特翻转,能够对每次达到预设最大迭代次数但未通过CRC校验的码字进行比特翻转译码,并对每次译码结果进行CRC早期停止判断以保证输出正确的译码结果,减少迭代次数,在可灵活调节翻转位数的情况下,同时控制和缩小多比特翻转尝试次数,提高极化码译码性能,降低译码复杂度。仿真结果表明,当同时翻转位数为2时,在误帧率为0.001时,与基于信息后处理的极化码的BP(BP using intelligent post-processing,BPF-IP)算法和原始BP算法相比分别提高了0.33dB和0.43dB增益;在信噪比为3dB和3.5dB时,在复杂度方面与BPF-IP算法相比减少了约7%至16%。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例中基于对数似然比的更新构建翻转矩阵的动态翻转译码的具体实施流程图;
图2为本发明实施例中(8,4)极化码编码示例图;
图3为本发明实施例中误帧率曲线图;
图4为本发明实施例中平均迭代次数曲线图;
图5为本发明实施例中基于对数似然比的更新构建翻转矩阵的动态翻转译码的步骤流程图。
具体实施方式
下面结合具体实施例和附图对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
本发明提出一种基于对数似然比的置信度传播动态翻转译码方法。
在一个实施例中,一些方式可以是参考图1实施,可以首先进行极化码编码处理,极化码编码包括:经信道极化后,通过计算巴氏参数等方式得到极化信道的传输错误率P(Ai),其中,Ai表示序号为i的极化信道所承载的比特经过传输后接收发生错误,P(Ai)越小则该信道越稳定,即越可靠。根据可靠程度在信道极化后的N个信道中选取K个最可靠的信道传输信息比特序列,一般为1,其余N-K个信道传输接收端已知的固定比特位,一般为0。由上述比特序列混合后得到的向量与核心生成矩阵的n次克罗内克积相乘得到编码序列其中作为生成矩阵,乘式如下:
通过比特反序序列将编码得到的序列经过重新排列得到反序后的编码序列用π(i)表示反序函数,则有xi=vπ(i)。反序函数π(i)可表示为:序号i用二进制表示为(b1,b2,...,bn),即则此时π(i)可用二进制表示为(bn,bn-1,...,b1)。将反序重排表示为一维矩阵B,则故反序后的编码序列可表示为
图2给出(8,4)极化编码示意图,图中左边一列数字对应极化信道的巴氏参数值,为构造计划编码,本示例选取较低的巴士参数信道序号4、6、7、8传输信息比特,其它四个信道传输固定比特。信息比特与固定比特序列混合后与生成矩阵相乘(模二加运算)得到编码序列经过反序重排后得到最终反序后的编码序列然后分别通过信道进行传输。
然后进行以下步骤:
步骤A:对经过置信度传播每一次迭代的译码结果采用循环冗余校验辅助(CRCAided,CA)早期停止标准进行校验;若所述CRC校验通过,则执行步骤B;若所述CRC校验不通过,执行步骤C;
步骤B:输出译码结果,译码结束;
步骤C:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第一个位置,然后进行一位比特翻转译码,对所述比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤D;
步骤D:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第二个位置,然后进行两位比特翻转译码,对两位比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤E;
步骤E:将所述译码结果进行节点LLR绝对值排序,将LLR绝对值序列中最小LLR绝对值比特位置放置于动态翻转矩阵的第三个位置,然后进行三位比特翻转译码,对三维比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,则译码结束。
在步骤C中,对达到预设最大迭代次数的译码结果序列进行节点LLR绝对值排序,得到本次译码的节点LLR绝对值排序序列。预设最大迭代次数指在BP算法中的预设最大迭代次数。对于BP算法,一次迭代过程由一次左向信息更新与一次右向信息更新组成。在左向信息更新过程中,左信息序列Li(i=1,2,…,n)依次向左串行更新,当到达最左侧时开始反向依次向右串行更新右信息序列Ri(i=n-1,n-2,…,0)。完成向左和向右串行更新的整个过程称为一次迭代。
在BP算法中,信息在迭代过程通过因子图从左到右然后从右到左反复迭代。当迭代次数达到预设最大次数或者达到提前判断停止条件时,即停止迭代,开始进行译码判决。
判决公式如下:
Li,j=g(Li+1,2j-1,Li+1,2j+Ri,j+N/2)
Li,j+N/2=g(Ri,j,Li+1,2j-1)+Li+1,2j
Ri+1,2j-1=g(Ri,j,Li+1,2j+Ri,j+N/2)
Ri+1,2j=g(Ri,j,Li+1,2j-1)+Ri,j+N/2
Li,j、Ri,j为第i行第j列节点的左、右信息,g(x,y)函数表示对x和y的符号位进行异或,对x和y的绝对值取最小值,如下式:
g(x,y)≈sign(x)sign(y)min(|x|,|y|)
本发明在一些具体实施方式中:所述一位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,筛选出LLR绝对值最小的比特位置作为步骤D中的所述最小LLR绝对值比特位置;
在步骤D中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码。
在上述步骤中,一种基于对数似然比的置信度传播动态翻转译码方法是一种通过计算BP算法迭代过程中的节点LLR绝对值,对迭代过程中的节点LLR绝对值进行排序,对排序后产生的动态翻转比特位置进行比特翻转的一种比特译码方法。
本方法通过构建译码翻转矩阵,使用CRC校验判断是否需要进行比特翻转程序,在翻转程序中对翻转矩阵中的比特位置进行比特翻转,从而提高BP迭代译码的可靠性。
基于对数似然比的置信度传播动态翻转译码方法如下:
首先进行BP译码,对每次迭代的译码结果进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代,输出译码结果;如果达到预设最大迭代次数后,仍然没有通过CRC校验,则根据最后一次的迭代结果,对节点信息进行LLR绝对值的排序,筛选出这一帧中LLR绝对值最小的比特位置i_1,如下式:
i_1{i=min(|node_data[i]|)}
其中node_data[i]表示第i节点位置的LLR值,min(|node_data[i]|)表示取LLR绝对值位置中最小的位置。
具体的,在比特翻转译码中,可采用翻转位数ω进行比特翻转的次数计算,步骤C中,所述一位比特翻转译码的翻转位数ω=1,步骤C中具体包括:
步骤a:进入ω=1的一位翻转程序,从动态翻转矩阵的第一行开始,对第一行的ω个位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷,执行步骤b;
步骤b:计算翻转次数k,k=2w-1,k=0时,执行步骤c,k=1时,执行步骤d;
步骤c:将k转换为ω位二进制数b,此时ω=1,则b为0,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为-∞;
步骤d:将k转换为ω位二进制数b,此时ω=1,则b为1,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为+∞;
步骤e:对一位比特翻转程序迭代的译码结果根据节点LLR绝对值排序,筛选出两个的最小LLR绝对值位置mllr_ω1,1,mllr_ω1,2;比较产生的两个最小LLR绝对值比特位置,保留互不相同的最小LLR绝对值比特位置。
在步骤D中:所述两位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置作为步骤E中的所述最小LLR绝对值比特位置;
在步骤E中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置分别放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码。
在步骤C中:对译码结果序列根据节点LLR绝对值进行升序排序,当绝对值大小相等时,则根据极化信道的传输错误率进行降序排序,选取错误率最高的位置,最终将LLR绝对值和极化信道的传输错误率相结合得到排序位置序列。
在所述BP算法中,包括译码迭代,在每次迭代后进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代过程,输出译码结果;若达到预设最大迭代次数后,仍然没有通过CRC校验,则根据最后一次的迭代结果,将最后一次的迭代结果作为所述译码结果,对所述迭代结果中的节点位置进行LLR绝对值的排序。
例如在一种具体实施方式中,进入ω=1的一位翻转程序,将已达到最大迭代次数但未通过CRC校验的BP译码结果序列,进行排序后产生的最小LLR绝对值位置i_1放在动态翻转矩阵的第一个位置,进入一位比特翻转程序,在一位比特翻转程序的迭代过程中进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代,输出译码结果,如果达到预设最大迭代次数后,仍然没有通过CRC校验,根据一位翻转迭代产生的两种译码结果,进行最小LLR绝对值序列排序,筛选出这一帧LLR绝对值最小的比特位置:
i_2_1{i=min(|node_data[i]|)}
i_2_2{i=min(|node_data[i]|)}
判断最小LLR绝对值比特位置i_2_1是否等于最小LLR绝对值比特位置i_2_2,如果二者相等,则将最小LLR绝对值比特位置i_2_1置于动态翻转矩阵的第二个位置,进入两位比特翻转译码程序;如果二者不相等,则分别将最小LLR绝对值比特位置i_2_1与最小LLR绝对值比特位置i_2_2置于动态翻转矩阵的第二个位置,同时,动态翻转矩阵的第一个位置仍然保持为i_1,进入两位比特翻转译码程序进行译码,在两位比特翻转程序的迭代过程中进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代,输出译码结果,如果达到预设最大迭代次数后,仍然没有通过CRC校验,根据译码结果,进行最小LLR绝对值序列排序,筛选出这一帧LLR绝对值最小的比特位置
i_3_1{i=min(|node_data[i]|)}
i_3_2{i=min(|node_data[i]|)}
i_3_3{i=min(|node_data[i]|)}
i_3_4{i=min(|node_data[i]|)}
判断最小的比特位置i_3_j是否相互相等,此处j=1,2,3,4。选出互不相等的i_3_j位置,置于动态翻转矩阵的第三个位置,保持动态翻转矩阵的第一个和第二个翻转位置保持不变,进入三位比特翻转译码程序;在三位比特翻转程序的迭代过程中进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代,输出译码结果,译码结束;如果达到预设最大迭代次数后,仍然没有通过CRC校验,则翻转译码失败,输出原始BP迭代的译码结果,译码结束。
对于本发明,再进行一个具体实施例的阐述,对本发明所提出的方法从头到尾利用一个具体例子来进行解释说明,以便于本领域技术人员更好地理解本发明,以ω=3为例的具体案例如下:
(1)首先进行1024位置信度传播译码,将译码器最右端的左信息Nodes[i][10].inf_L与最左端的右信息Nodes[i][0].inf_R分别更新为信道LLR绝对值与∞,其中,Nodes[i][j]表示第i行第j列的节点LLR信息,Nodes[i][j].inf_L表示译码器第i行第j列节点的左信息,Nodes[i][j].inf_R表示第i行第j列的右信息:
Nodes[i][10].inf_L=LLR[i]
Nodes[i][0].inf_R=∞
,后执行步骤(2);
(2)进行传统的BP译码迭代,更新i行、j列的左信息序列Li,j和i行、j列的右信息序列Ri,j,其中i=1,2...,1024表示码长,即译码行数,j=1,2,...,10,表示译码因子图的阶数:
Li,j=g(Li+1,2j-1,Li+1,2j+Ri,j+N/2)
Li,j+N/2=g(Ri,j,Li+1,2j-1)+Li+1,2j
Ri+1,2j-1=g(Ri,j,Li+1,2j+Ri,j+N/2)
Ri+1,2j=g(Ri,j,Li+1,2j-1)+Ri,j+N/2
对得到的译码迭代结果序列Nodes_data[1024],根据节点LLR绝对值进行升序排序,得到本次译码的节点LLR绝对值最小位置mllr_de,执行步骤(3);
(3)对译码结果序列进行CRC校验;
(4)若通过,译码成功,输出译码结果,若不通过,则进入步骤(5);
(5)根据BP译码的节点LLR绝对值最小位置mllr_de,构建一位翻转矩阵M(1,1):
(mllr_de)
进行步骤(6);
(6)根据一列翻转矩阵M(1,1),进行ω=1的一位比特翻转程序,将M(1,1)中的比特位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷:
Nodes[mllr_de][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=+∞
进入步骤(7);
(7)执行步骤(3),若通过,则译码成功,输出译码结果,若不通过,则进入步骤(8);
(8)对一位比特翻转程序迭代的译码结果通过节点LLR绝对值大小进行排序,对应正、负无穷替换后的译码结果,筛选出两个的最小LLR绝对值位置mllr_ω1,1,mllr_ω1,2进入步骤(9);
(9)根据步骤(8)产生的最小LLR绝对值位置,结合迭代的译码结果产生的最小LLR绝对值位置,比较步骤(8)产生的两个最小LLR绝对值比特位置,构建两列比特翻转关键集合M(1,2):
若mllr_ω1,1=mllr_ω1,2,构建M(1,2)矩阵为:
(mllr_de,mllr_ω1,1)
若mllr_ω1,1!=mllr_ω1,2,构建M(1,2)矩阵为:
(mllr_de,mllr_ω1,1)
(mllr_de,mllr_ω1,2)
进行步骤(10);
(10)根据步骤(9)构建的两位动态翻转矩阵,进行ω=2的两位比特翻转程序,将M(1,2)中的比特位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷:
当mllr_ω1,1=mllr_ω1,2,进行4次两位的正、负无穷替换:
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=-∞
当:mllr_ω1,1!=mllr_ω1,2,进行8次两位的正、负无穷替换:
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,2][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,2][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=-∞;Nodes[mllr_ω1,2][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=-∞;Nodes[mllr_ω1,2][0].inf_R=-∞
执行步骤(11);
(11)执行步骤(3),若通过,则译码成功,输出译码结果,若不通过,进入下一步骤;
(12)根据两位比特翻转程序迭代的译码结果通过信道LLR绝对值大小进行排序,筛选出4个的最小LLR绝对值位置mllr_ω2,1,mllr_ω2,2,mllr_ω2,3,mllr_ω2,4,进入步骤(13);
(13)根据步骤(12)产生的最小LLR绝对值位置,结合M(1,3),构建三列比特翻转关键集合M(1,3):
若mllr_ω1,1=mllr_ω1,2且mllr_ω2,1=mllr_ω2,2=mllr_ω2,3=mllr_ω2,4,构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
若mllr_ω1,1=mllr_ω1,2,且mllr_ω2,1,mllr_ω2,2,mllr_ω2,3,mllr_ω2,4互不相等时,构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,2)
(mllr_de,mllr_ω1,1,mllr_ω2,3)
(mllr_de,mllr_ω1,1,mllr_ω2,4)
若mllr_ω1,1=mllr_ω1,2,且mllr_ω2,1=mllr_ω2,2,mllr_ω2,3=mllr_ω2,4
构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,3)
若mllr_ω1,1=mllr_ω1,2,且mllr_ω2,1=mllr_ω2,3,mllr_ω2,2=mllr_ω2,4
构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,2)
以此类推,当mllr_ω1,1=mllr_ω1,2时,M(1,3)的前两个位置分别固定为mllr_de与mllr_ω1,1,第三位为步骤(12)产生的四个最小LLR比特位置中,互不相同的位置。
若mllr_ω1,1!=mllr_ω1,2且mllr_ω2,1=mllr_ω2,2=mllr_ω2,3=mllr_ω2,4,构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,2,mllr_ω2,1)
若mllr_ω1,1!=mllr_ω1,2,且mllr_ω2,1,mllr_ω2,2,mllr_ω2,3,mllr_ω2,4互不相等时,构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,2)
(mllr_de,mllr_ω1,1,mllr_ω2,3)
(mllr_de,mllr_ω1,1,mllr_ω2,4)
(mllr_de,mllr_ω1,2,mllr_ω2,1)
(mllr_de,mllr_ω1,2,mllr_ω2,2)
(mllr_de,mllr_ω1,2,mllr_ω2,3)
(mllr_de,mllr_ω1,2,mllr_ω2,4)
若mllr_ω1,1!=mllr_ω1,2,且mllr_ω2,1=mllr_ω2,2,mllr_ω2,3=mllr_ω2,4构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,3)
(mllr_de,mllr_ω1,2,mllr_ω2,1)
(mllr_de,mllr_ω1,2,mllr_ω2,3)
若mllr_ω1,1!=mllr_ω1,2,且mllr_ω2,1=mllr_ω2,3,mllr_ω2,2=mllr_ω2,4构建矩阵为:
(mllr_de,mllr_ω1,1,mllr_ω2,1)
(mllr_de,mllr_ω1,1,mllr_ω2,2)
(mllr_de,mllr_ω1,2,mllr_ω2,1)
(mllr_de,mllr_ω1,2,mllr_ω2,2)
以此类推,当mllr_ω1,1!=mllr_ω1,2时,M(1,3)的前两个位置分别固定为mllr_de与mllr_ω1,1和mllr_de与mllr_ω1,2,第三位仍然未为步骤(12)产生的四个最小LLR比特位置中,互不相同的位置。进行步骤(14);
(14)根据步骤(13)构建的两位动态翻转矩阵,进行ω=3的三位比特翻转程序,将M(1,3)中的比特位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷:
若mllr_ω1,1=mllr_ω1,2且mllr_ω2,1=mllr_ω2,2=mllr_ω2,3=mllr_ω2,4,构建矩阵为:(mllr_de,mllr_ω1,1,mllr_ω2,1);
此时进行8次三位的正、负无穷替换:
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=+∞,Nodes[mllr_ω2,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=+∞,Nodes[mllr_ω2,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=-∞,Nodes[mllr_ω2,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=+∞,Nodes[mllr_ω1,1][0].inf_R=-∞,Nodes[mllr_ω2,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=+∞,Nodes[mllr_ω2,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=+∞,Nodes[mllr_ω2,1][0].inf_R=-∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=-∞,Nodes[mllr_ω2,1][0].inf_R=+∞
Nodes[mllr_de][0].inf_R=-∞,Nodes[mllr_ω1,1][0].inf_R=-∞,Nodes[mllr_ω2,1][0].inf_R=-∞
以此类推,根据步骤(13)产生的三位动态翻转矩阵进行三位翻转译码程序。
(15)执行步骤(3),若通过,则译码成功,输出译码结果,若不通过,进入步骤(16);
(16)译码失败,结束整个译码过程。
以上对本发明的具体实施例进行了描述,根据所述方法,可在三位翻转之后自行增加同时翻转位数。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (7)
1.一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:包括以下步骤:
步骤A:对经过置信度传播每一次迭代的译码结果采用CRC校验;若所述CRC校验通过,则执行步骤B;若所述CRC校验不通过,执行步骤C;
步骤B:输出译码结果,译码结束;
步骤C:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第一个位置,然后进行一位比特翻转译码,对所述比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤D;
步骤D:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第二个位置,然后进行两位比特翻转译码,对两位比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,执行步骤E;
步骤E:将所述译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置放置于翻转矩阵的第三个位置,然后进行三位比特翻转译码,对三位比特翻转译码结果进行CRC校验;若所述CRC校验通过,执行步骤B;若所述CRC校验不通过,则译码结束。
2.根据权利要求1所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
在步骤C中:所述一位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,筛选出LLR绝对值最小的比特位置作为步骤D中的所述最小LLR绝对值比特位置;
在步骤D中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置放置于动态翻转矩阵的第二个位置,再进行两位比特翻转译码。
3.根据权利要求2所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
在步骤D中:所述两位比特翻转译码后,对译码结果序列根据节点LLR绝对值排序,将排序后序列中的LLR绝对值最小的比特的位置作为步骤E中的所述最小LLR绝对值比特位置;
在步骤E中:首先判断所述最小LLR绝对值的比特位置是否相等;若相等,则将最小LLR绝对值的比特位置放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码;若不相等,则将互不相等的最小LLR绝对值的比特位置分别放置于动态翻转矩阵的第三个位置,再进行三位比特翻转译码。
4.根据权利要求3所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
在步骤A中:所述比特信息经过极化码编码处理,所述极化码编码包括:
信道极化过程包括信道分裂和信道合并,经对信道W的N个独立间隙上进行信道极化后,通过计算巴氏参数、密度进化或高斯近似可以得到极化信道的传输错误率P(Ai),其中,Ai表示序号为i的极化信道所承载的比特经过传输后接收发生错误,P(Ai)越小则该信道越稳定,即越可靠;根据可靠程度在信道极化后的N个信道中选取K个最可靠的信道传输信息比特序列,一般为1,其余N-K个信道传输接收端已知的固定比特位,一般为0;信息比特序列与固定比特序列根据位置信息混合后得到的向量为编码器输入向量;由上述比特序列混合后得到的向量与核心生成矩阵的n次克罗内克积相乘得到编码序列其中作为生成矩阵,乘式如下:
通过比特反序序列将编码得到的序列经过重新排列得到反序后的编码序列用π(i)表示反序函数,则有xi=vπ(i);反序函数π(i)可表示为:序号i用二进制表示为(b1,b2,...,bn),即则此时π(i)可用二进制表示为(bn,bn-1,...,b1);将反序重排表示为一维矩阵B,则故反序后的编码序列可表示为
在此过程中,在原始编码序列中添加CRC校验比特。
5.根据权利要求4所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
在步骤C中:对译码结果序列根据节点LLR绝对值进行升序排序,当绝对值大小相等时,则根据极化信道的传输错误率进行降序排序,选取错误率最高的位置,最终将LLR绝对值和极化信道的传输错误率相结合得到排序位置序列。
6.根据权利要求5所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
所述步骤C中,所述一位比特翻转译码的翻转位数ω为1,步骤C中具体包括:
步骤a:进入ω=1的一位翻转程序,从动态翻转矩阵的第一行开始,对第一行的ω个位置的初始信息进行+∞和-∞的替换,其中+∞和-∞分别代表正无穷和负无穷,执行步骤b;
步骤b:计算翻转次数k,k=2ω-1,k=0时,执行步骤c,k=1时,执行步骤d;
步骤c:将k转换为ω位二进制数b,此时ω=1,则b为0,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为-∞;
步骤d:将k转换为ω位二进制数b,此时ω=1,则b为1,将一列动态翻转矩阵的第一行第一列的位置的初始信息替换为+∞;
步骤e:对一位比特翻转程序迭代的译码结果根据节点LLR绝对值排序,筛选出两个的最小LLR绝对值位置mllr_ω1,1,mllr_ω1,2;比较产生的两个最小LLR绝对值比特位置,保留互不相同的最小LLR绝对值比特位置。
7.根据权利要求6所述的一种基于对数似然比的置信度传播动态翻转译码方法,其特征在于:
在所述BP算法中,包括译码迭代,在每次迭代后进行CRC校验,在达到预设最大迭代次数之前,如果通过了CRC校验,则跳出迭代过程,输出译码结果;若达到预设最大迭代次数后,仍然没有通过CRC校验,则根据最后一次的迭代结果,将最后一次的迭代结果作为所述译码结果,对所述迭代结果中的节点位置进行LLR绝对值的排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138072.2A CN112929036A (zh) | 2021-02-01 | 2021-02-01 | 一种基于对数似然比的置信度传播动态翻转译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110138072.2A CN112929036A (zh) | 2021-02-01 | 2021-02-01 | 一种基于对数似然比的置信度传播动态翻转译码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112929036A true CN112929036A (zh) | 2021-06-08 |
Family
ID=76169311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110138072.2A Pending CN112929036A (zh) | 2021-02-01 | 2021-02-01 | 一种基于对数似然比的置信度传播动态翻转译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929036A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572577A (zh) * | 2021-07-28 | 2021-10-29 | 北京邮电大学 | 一种新型缩短极化码方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006992A1 (en) * | 2012-11-15 | 2015-01-01 | Huawei Technologies Co., Ltd. | Method and decoder for processing decoding |
CN109286405A (zh) * | 2018-09-10 | 2019-01-29 | 山东科技大学 | 一种低复杂度的极化码递进式比特翻转sc译码方法 |
CN112104379A (zh) * | 2020-08-25 | 2020-12-18 | 山东科技大学 | 一种基于关键集的极化码置信度传播动态翻转译码方法 |
-
2021
- 2021-02-01 CN CN202110138072.2A patent/CN112929036A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006992A1 (en) * | 2012-11-15 | 2015-01-01 | Huawei Technologies Co., Ltd. | Method and decoder for processing decoding |
CN109286405A (zh) * | 2018-09-10 | 2019-01-29 | 山东科技大学 | 一种低复杂度的极化码递进式比特翻转sc译码方法 |
CN112104379A (zh) * | 2020-08-25 | 2020-12-18 | 山东科技大学 | 一种基于关键集的极化码置信度传播动态翻转译码方法 |
Non-Patent Citations (2)
Title |
---|
张荣才: "任意码长极化码算法研究", 《万方》 * |
李俊: "基于流水线的极化码置信度传播译码器研究", 《万方》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572577A (zh) * | 2021-07-28 | 2021-10-29 | 北京邮电大学 | 一种新型缩短极化码方法及系统 |
CN113572577B (zh) * | 2021-07-28 | 2022-04-26 | 北京邮电大学 | 一种新型缩短极化码方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282264B (zh) | 基于比特翻转串行消除列表算法的极化码译码方法 | |
CN109660264B (zh) | 高性能极化码译码算法 | |
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
USRE44421E1 (en) | Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof | |
CN109586730B (zh) | 一种基于智能后处理的极化码bp译码算法 | |
CN107248866B (zh) | 一种降低极化码译码时延的方法 | |
CN109286405B (zh) | 一种低复杂度的极化码递进式比特翻转sc译码方法 | |
US8677222B2 (en) | Method and device for decoding Reed-Solomon (RS) code | |
CN109921803B (zh) | 基于神经网络的高密度线性分组码译码方法 | |
CN109981112B (zh) | 一种部分循环冗余校验辅助的排序统计译码方法 | |
US11316540B2 (en) | Method of decoding polar codes based on belief propagation | |
US20130283119A1 (en) | Method and Apparatus for Elementary Updating a Check Node During Decoding of a Block Encoded with a Non-binary LDPC Code | |
CN110830048B (zh) | 基于奇偶校验矩阵分解构造全分集ldpc码的纠错方法 | |
CN112929036A (zh) | 一种基于对数似然比的置信度传播动态翻转译码方法 | |
CN112104412B (zh) | 一种适用于低轨卫星宽带通信的加速器 | |
CN108055107B (zh) | 一种基于穿刺极化码的信息通信方法 | |
CN111130567B (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
CN112104379B (zh) | 一种基于关键集的极化码置信度传播动态翻转译码方法 | |
CN113014271B (zh) | 一种缩小翻转集的极化码bp译码方法 | |
CN113556135A (zh) | 基于冻结翻转列表的极化码置信传播比特翻转译码方法 | |
Chen et al. | Semi-LDPC convolutional codes with low-latency decoding algorithm | |
CN101895375A (zh) | 低密度校验码的译码系统 | |
CN112953559B (zh) | 基于冻结位对数似然值修正的极化码译码方法 | |
CN113872609B (zh) | 一种部分循环冗余校验辅助的自适应置信传播译码方法 | |
CN115348010B (zh) | 一种适用于连续变量量子密钥分发残余误码消除的方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210608 |