CN100539440C - 低密度奇偶校验码迭代排序统计译码方法 - Google Patents

低密度奇偶校验码迭代排序统计译码方法 Download PDF

Info

Publication number
CN100539440C
CN100539440C CNB2006100853315A CN200610085331A CN100539440C CN 100539440 C CN100539440 C CN 100539440C CN B2006100853315 A CNB2006100853315 A CN B2006100853315A CN 200610085331 A CN200610085331 A CN 200610085331A CN 100539440 C CN100539440 C CN 100539440C
Authority
CN
China
Prior art keywords
decoding
node
output
check
likelihood ratio
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.)
Expired - Fee Related
Application number
CNB2006100853315A
Other languages
English (en)
Other versions
CN1859013A (zh
Inventor
赵春明
姜明
许恩扬
高圣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CNB2006100853315A priority Critical patent/CN100539440C/zh
Publication of CN1859013A publication Critical patent/CN1859013A/zh
Application granted granted Critical
Publication of CN100539440C publication Critical patent/CN100539440C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

低密度奇偶校验码迭代排序统计译码方法适用于低密度奇偶校验(LDPC)码的软判决译码。在低密度奇偶校验码的迭代译码过程中,根据所有变量节点历次迭代输出的似然比累积值的幅度大小,采用排序统计译码方法辅助迭代译码,即各个变量节点将历次迭代的节点似然比输出累加,累积似然比绝对值定义为当前迭代的节点可靠度,并根据可靠度大小对节点和校验矩阵的列做升序排序,对列排序后的矩阵做高斯消去;结合高斯消去得到的系统生成矩阵,将前面两次排序后的可靠节点信息序列进行编码,得到一组候选码字;如果迭代译码没有得到最终的输出,就从前面得到各组候选码字中选取和接收序列欧氏距最小的作为译码输出。较大的增强了LDPC码的纠错性能。

Description

低密度奇偶校验码迭代排序统计译码方法
技术领域
本发明为低密度奇偶校验码的软判决译码方法,属于信道纠错编码的译码技术领域。
背景技术
在LDPC码的译码方法当中,基于二分图的迭代软判决译码方法即BP译码具有很好的误码率性能,对于较长的非规则LDPC码,可以达到接近香农限的性能。但实际应用中系统经常采用中短长度的码块,而有限长度的LDPC码对应的二分图不再具有渐进无圈特性,因此在这种情况下BP译码和MLD译码相比仍然具有较大的差距。OSD译码方法也是较早被应用于线性分组码的一种软判决译码,适用于具有一定代数结构的短码。对于长度通常在100以上的具有一定随机构造的LDPC码,OSD译码无法作高阶处理,因此其纠错性能也远达不到MLD的性能。利用迭代译码的软信息输出,用较低阶数的OSD译码辅助BP译码,可以明显提高LDPC码的纠错能力。由于OSD译码方法复杂度正比于N2,对每次迭代的输出软信息都做OSD译码处理,会给每次迭代增加很多的时延,破坏LDPC码的高速译码特性。如果在BP译码中间的某次迭代启动OSD译码,由于当前迭代输出的软信息存在震荡现象,OSD译码得到的性能增益很小。利用最初的一段迭代译码累积似然比信息,可以部分的克服震荡现象,因此累积似然比的幅度是更为有效的可靠度衡量信息。
基于累积似然比的LDPC码迭代排序统计译码方法,是将固定次数的迭代译码输出似然比累积,在此基础上进行OSD译码处理。在BP迭代译码的过程中,同时完成似然比的累积和OSD译码处理,没有增加额外的时延。基于累积似然比固定的几次OSD译码,可以明显改善BP译码的性能。OSD译码处理可以从零阶扩展到一阶,二阶和三阶,随着阶数的增加纠错性能逐渐增强,OSD译码复杂度也由N2迅速增长的到N3。在系统容许的OSD译码计算量限制条件下,对可靠度不同的节点作部分的混合阶OSD处理,是译码性能和实现复杂度之间一个较好的折中方案
发明内容
技术问题:本发明的目的是提供一种基于累积似然比的低密度奇偶校验码迭代排序统计译码方法,利用迭代译码输出的似然比累积信息,在迭代译码结束前对LDPC码作OSD处理,在不增加LDPC码迭代译码时延的条件下,完成OSD译码,提高性能。
技术方案:本发明是一种基于累积似然比的低密度奇偶校验码迭代排序统计译码方法,该结合方案的特点在于似然比累积以及OSD译码处理和BP译码同时进行,将开始或中间的迭代输出似然比不断的累积,在得到一个较为稳定的累积似然比信息基础上开始OSD译码处理,同时BP译码继续进行。OSD译码方法中的排序,矩阵高斯消去,反编码,高阶处理以及欧氏距计算等处理过程被分解到连续的一段迭代译码时间中。如果达到最大迭代译码次数,BP译码方法仍然不能给出合适的输出码字,OSD译码得到的与接收信息欧氏距最小的候选码字将作为最终的译码输出。
在低密度奇偶校验码的迭代译码过程中,根据所有变量节点历次迭代输出的似然比累积值的幅度大小,采用排序统计译码方法辅助迭代译码,即各个变量节点将历次迭代的节点似然比输出累加,累积似然比绝对值定义为当前迭代的节点可靠度,并根据可靠度大小对节点和校验矩阵的列做升序排序,对列排序后的矩阵做高斯消去;由于消去过程中矩阵的列之间会出现线性相关,必须将这些线性相关的列以及对应的节点再做一次升序排序调整;结合高斯消去得到的系统生成矩阵,将前面两次排序后的可靠节点信息序列进行编码,得到一组候选码字;如果迭代译码没有得到最终的输出,就从前面得到各组候选码字中选取和接收序列欧氏距最小的作为译码输出。
低密度奇偶校验码的迭代译码可以表述为按照如下顺序执行的步骤:
定义低密度奇偶校验码的生成矩阵G和校验矩阵HM×N=[hm,n],对应的二分图变量节点和校验节点集合为V={vn,n∈[1,N]},S={sm,m∈[1,M]};定义变量节点vn参与的校验节点集合A(n)={j,hj,n=1},包含于校验节点sm的变量节点集合B(m)={i,hm,i=1};定义校验节点集合A(n)中去除校验节点sm的节点集合A(n)\m,定义变量节点集合B(m)中去除变量节点vn的节点集合B(m)\n,编码序列C={cn,n∈[1,N]};
步骤(1)初始化:BPSK调制xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},初始的变量节点vn,n∈[1,N]向校验节点sm,m∈A(n)输出信息 L nm 0 = 2 y n / σ 2 , 并根据Y中信号的符号硬判得到序列C0,同时初始各个变量节点的累积似然比数据 L n sum = 0 , 以及迭代次数k=1,开始迭代译码;
步骤(2)校验节点和变量节点的信息输出更新:各校验节点sm将第k-1次迭代的变量节点输出信息
Figure C200610085331D00083
按照下式计算第k次迭代节点sm向变量节点vn输出的信息,
L mn k = 2 a tanh Π n ′ ∈ B ( m ) \ n tanh ( L n ′ m k - 1 / 2 ) ;
各变量节点vn将参与的校验式输出信息
Figure C200610085331D00085
相加,作为变量节点vn到校验节点sm的输出,
L nm k = Σ m ′ ∈ A ( n ) \ m L m ′ n k ;
步骤(3)第k次迭代的输出:各个变量节点vn将所有参与的校验节点sm,m∈A(n)的输出
Figure C200610085331D00087
相加,作为当前迭代的变量节点总输出
Figure C200610085331D00088
同时按照下式累加各个节点到目前为止的累积似然比输出,其中参数αk,0≤αk≤1为加权系数,
L n sum = α k · L n sum + L n k ;
步骤(4)根据当前迭代各个变量节点的输出信息
Figure C200610085331D000810
按照下式作符号硬判得到输出序列 C IT k ,
c IT , n k = 0 , if L n k > 0 c IT , n k = 1 , if L n k ≤ 0 ;
如果该序列满足所有校验方程,则迭代译码结果将作为最终的译码输出
Figure C200610085331D0009152853QIETU
同时终止该帧的译码,如果不能满足所有校验方程且迭代次数k等于最大迭代次数,则译码失败,终止译码,否则如果当前迭代次数k满足,mod(k,I)=0,其中参数I为排序统计译码的迭代间隔,则启动排序统计译码处理,同时继续迭代译码,跳转至步骤(2),k++。
低密度奇偶校验码的排序统计译码方法是和迭代译码方法相结合,利用迭代译码中各次迭代累积的似然比输出作为各个比特的可靠度信息,作为排序统计译码的排序依据,排序统计译码方法可以表述为按照如下顺序执行的步骤:按照各个节点上的累积似然比绝对值
Figure C200610085331D00093
从大到小的顺序,对节点和对应的校验矩阵列作出一个排序πk1,得到新的节点序列πk1(V)和校验矩阵πk1(H);对新的校验矩阵作高斯消去,由于校验矩阵列之间的相关特性,需要对列作出第二次重排πk2,最后得到新的生成矩阵Gk以及与之相对应的校验矩阵πk2k1(H))和节点序列πk2k1(V));将节点序列πk2k1(V))中前N-M个节点根据
Figure C200610085331D00094
的符号作出硬判得到信息序列,并通过对应的生成矩阵Gk编码得到码字
Figure C200610085331D00095
再做两次重排得到码字 C OSD k = π 1 - 1 ( π 2 - 1 ( C ~ OSD k ) ) ; 利用初始的接收序列Y和排序统计译码得到的码字
Figure C200610085331D00097
按照下式比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出
C OSD = arg min C OSD k Σ n , c OSD , n k ≠ c n 0 | y n |
如果迭代译码不能得正确的输出,排序统计译码的输出结果COSD将作为系统的最终输出
Figure C200610085331D00099
迭代译码是一类基于置信传播的译码方法;迭代译码既可以是标准或修正的和积译码方法,也可以使用简化的最小和译码方法及其相关的一系列修正最小和译码方法;这些基于置信传播的软判决译码都可以通过迭代更新各个节点的似然比输出,并通过似然比的累积减弱迭代译码输出的震荡现象;在一定的累积似然比幅度的基础上,排序统计译码方法可以和上述迭代译码方法并行处理,如果迭代译码不能给出合理的译码结果,则以排序统计译码输出中与接收信息欧氏距最小的结果为系统最终译码输出。
累积似然比的计算方法为:随着参数αk的不同选取方案,可以有如下几种不同的实现形式;首先αk如果不随迭代次数k变化而变化,则似然比累积的过程类似于对各个迭代输出似然比做一个一阶的IIR滤波处理;其次若参数αk始终为1或0,累积过程等效于将各次输出完全的相加或只选取当前的似然比输出为可靠度排序依据;最后若αk只在某些固定间隔的迭代次数是为零,其余时候满足αk∈(0,1],则该累积的过程等效于在这些迭代间隔之间对输出的似然比做固定阶数的FIR滤波处理。
排序统计译码方法可以从第k次迭代开始和迭代译码方法并行处理,在迭代译码失败达到最大迭代次数结束的同时给出排序统计译码的输出结果;这样迭代译码和排序统计译码算法并行实现的方案可以在不增加低密度奇偶校验码迭代译码延时的情况下,改善低密度奇偶校验码的译码性能;排序统计译码方法也可以串行级联在迭代译码过程的后端,这样的处理方式可以最有效的利用累积的似然比信息,得到更好的误码率性能。
排序统计译码根据排序后的节点序列πk2k1(V))做硬判编码;定义直接根据硬判序列编码的方案为零阶排序统计译码order-0,将前N-M个信息比特符号遍历翻转i位符号的排序统计译码处理过程定义为order-i;可以对部份可靠度较低的节点进行高阶翻转处理,做混合阶排序统计译码处理H_order(e1,e2...er),其中ei为做order-i处理的节点数目。
有益效果:本发明的有益效果主要体现在以下几个方面:
1)在BP迭代译码无法得到合理输出的情况下,由于OSD译码处理的辅助,大量的迭代不可纠错误可以得到正确的译码结果。
2)似然比的累积部分消除了节点信息的震荡现象,给OSD译码处理提3)供了更为准确的可靠度判据。
4)BP和OSD译码的并行处理,不增加系统译码时延,保证了原有迭代译码的高速特性。
5)参数α的调整,可以进一步提高似然比累积的有效性,改善OSD译码处理性能。
附图说明
图1是一个LDPC码二分图连接示意图。其中,图1a是校验节点和变量节点的连接示意图,图1b是某个变量节点与其参与的校验节点连接示意图,图1c是某个校验节点与其包含的变量节点连接示意图。
图2是LDPC码的迭代排序统计BP-OSD译码方法流程图。
图3是OSD译码方法的处理流程图。
图4是针对802.16e协议中规定的5/6码率(576,480)LDPC码,OSD译码分解计算和迭代译码的时序关系。
图5是(576,480)LDPC码在BP译码和BP-OSD译码下的误帧率性能曲线。
以下是所有的符号注解:
OSD:排序统计译码;
BP:置信传播译码算法;
N:LDPC码的总码块长度;
K:LDPC码的信息比特长度;
M:LDPC码校验矩阵的行数;
W:BP译码的最大迭代次数;
R:LDPC码的码率;
z:802.16e协议规定的分块LDPC码矩阵,子块维数;
f:LDPC码译码系统时钟频率;
λ:LDPC码译码器的数据吞吐速率。
vn:第n个变量节点;
sm:第m个校验节点;
A(n):变量节点vn参与的校验节点集合;
B(m):变量节点sm包含的变量节点集合;
第k次迭代变量节点vn向校验节点sm传递的似然比信息;
第k次迭代校验节点sm向变量节点vn传递的似然比信息;
Figure C200610085331D00121
第k次迭代变量节点vn输出的似然比信息;
变量节点vn历次迭代输出的似然比信息累积;
第k0次迭代根据累积似然比得到的硬判序列;
第k0次迭代的OSD译码处理输出;
COSD:OSD译码的最终处理输出;
Figure C200610085331D00125
BP-OSD译码的最终输出;
Figure C200610085331D00126
第k0次迭代OSD处理得到的系统生成矩阵;
order-1:一阶OSD译码处理;
H_order(e1,e2):混合二阶OSD译码,e1,e2分别为1阶2阶处理节点个。
具体实施方式
以下结合附图对本发明作进一步的说明:
图1(a)是一个LDPC码二分图结构图,即校验节点和变量节点的连接示意图,变量节点和校验节点分别记为v和s。(b)是变量节点vn和其参与的校验节点连接示意,以及节点间传递的似然比信息。(c)为校验节点sm与其包含的变量节点连接示意,以及节点间传递的似然比信息。
图2是BP-OSD译码的流程。预先经过k0次迭代处理,将前k0次迭代累积的似然比输入OSD译码。迭代译码继续执行的同时,节点继续将输出似然比累积,以k0次的累积值启动OSD译码。设第0次OSD处理结束时,BP迭代次数为k1,继续到k1次迭代的似然比累积值执行OSD译码。BP-OSD译码按此步骤并行执行,直到最大迭代次数达到,无法完成迭代译码,则以OSD译码输出。
图3将输入的累积似然比值,首先用各个门限确定不同的可靠度分段,再对这些分段做排序。分段并排序后的节点,按照可靠度从低到高的顺序,对不同的分段作高斯消去处理,直到新排序的矩阵得到对应的系统生成矩阵。利用排序后的序列和生成矩阵,作编码和欧式矩计算,保留欧式矩最小的对应码字。
图4是针对802.16e协议规定的5/6码率(576,480)LDPC码的一个BP迭代译码和OSD译码并行计算的具体实施案例的时序图,其中OSD做order-1处理。
图5是AWGN信道下,总长576,信息长度480,5/6码率的非规则LDPC码,在100次迭代BP方法,100次迭代BP-OSD译码方法下的误帧率和误码率性能比较,其中OSD算法根据最后具体翻转阶数,分别给出order-1和H_order(400,50)混合2阶性能曲线。似然比累积的参数α=1,累积前10次迭代的似然比输出,在此基础上开始OSD译码处理。我们给出的并行译码方案在order-1的OSD处理时的译码性能比原始的BP译码方法提高了大约有0.3dB。从图中可以看出,混合2阶的BP-OSD译码方法比直接BP迭代译码得到了超过0.4dB的性能增益。
本发明在低密度奇偶校验码的迭代译码过程中,根据所有变量节点历次迭代输出的似然比累积值的幅度大小,采用排序统计译码方法辅助迭代译码,即各个变量节点将历次迭代的节点似然比输出累加,累积似然比绝对值定义为当前迭代的节点可靠度,并根据可靠度大小对节点和校验矩阵的列做升序排序,对列排序后的矩阵做高斯消去;由于消去过程中矩阵的列之间会出现线性相关,必须将这些线性相关的列以及对应的节点再做一次升序排序调整;结合高斯消去得到的系统生成矩阵,将前面两次排序后的可靠节点信息序列进行编码,得到一组候选码字;如果迭代译码没有得到最终的输出,就从前面得到各组候选码字中选取和接收序列欧氏距最小的作为译码输出。
基于累积似然比的LDPC码迭代排序统计译码方法可以表述为按照如下顺序执行的步骤,其中BP迭代译码以标准的和积译码方法为例:
定义低密度奇偶校验码的生成矩阵G和校验矩阵HM×N=[hm,n],对应的二分图变量节点和校验节点集合为V={vn,n∈[1,N]},S={sm,m∈[1,M]};定义变量节点vn参与的校验节点集合A(n)={j,hj,n=1},包含于校验节点sm的变量节点集合B(m)={i,hm,i=1};定义校验节点集合A(n)中去除校验节点sm的节点集合A(n)\m,定义变量节点集合B(m)中去除变量节点vn的节点集合B(m)\n,编码序列
C={cn,n∈[1,N]};
(1)初始化:BPSK调制xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},初始的变量节点vn,n∈[1,N]向校验节点sm,m∈A(n)输出信息 L nm 0 = 2 y n / σ 2 , 并根据Y中信号的符号硬判得到序列C0,同时初始各个变量节点的累积似然比数据 L n sum = 0 , 以及迭代次数k=1,开始迭代译码;
(2)校验节点和变量节点的信息输出更新:各校验节点sm将第k-1次迭代的变量节点输出信息
Figure C200610085331D00143
按照下式计算第k次迭代节点sm向变量节点vn输出的信息,
L mn k = 2 a tanh Π n ′ ∈ B ( m ) \ n tanh ( L n ′ m k - 1 / 2 ) ;
各变量节点vn将参与的校验式输出信息
Figure C200610085331D00145
相加,作为变量节点vn到校验节点sm的输出,
L nm k = Σ m ′ ∈ A ( n ) \ m L m ′ n k ;
(3)第k次迭代的输出:各个变量节点vn将所有参与的校验节点sm,m∈A(n)的输出
Figure C200610085331D00147
相加,作为当前迭代的变量节点总输出
Figure C200610085331D00148
同时按照下式累加各个节点到目前为止的累积似然比输出,其中参数αk,0≤αk≤1为加权系数,
L n sum = α k · L n sum + L n k ;
(4)根据当前迭代各个变量节点的输出信息
Figure C200610085331D001410
按照下式做符号硬判得到输出序列 C IT k ,
c IT , n k = 0 , if L n k > 0 c IT , n k = 1 , if L n k ≤ 0 .
如果该序列满足所有校验方程,则迭代译码结果将作为最终的译码输出
Figure C200610085331D001413
同时终止该帧的译码,如果不能满足所有校验方程且迭代次数k等于最大迭代次数,则译码失败,终止译码跳转到步骤(6),否则如果当前迭代次数k满足,mod(k,I)=0,其中参数I为排序统计译码的迭代间隔,则启动步骤(5)排序统计译码处理,同时继续迭代译码,跳转至步骤(2),k++;
(5)按照各个节点上的累积似然比绝对值
Figure C200610085331D001414
从大到小的顺序,对节点和对应的校验矩阵列作出一个排序πk1,得到新的节点序列πk1(V)和校验矩阵πk1(H);对新的校验矩阵作高斯消去,由于校验矩阵列之间的相关特性,需要对列作出第二次重排πk2,最后得到新的生成矩阵Gk以及与之相对应的校验矩阵πk2k1(H))和节点序列πk2k1(V));将节点序列πk2k1(V))中前N-M个节点根据
Figure C200610085331D00151
的符号作出硬判得到信息序列,并通过对应的生成矩阵Gk编码得到码字
Figure C200610085331D00152
再做两次重排得到码字 C OSD k = π 1 - 1 ( π 2 - 1 ( C ~ OSD k ) ) ; 利用初始的接收信息Y和排序统计译码得到的码字
Figure C200610085331D00154
按照下式比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出 C OSD = arg min C OSD k Σ n , c OSD , n k ≠ c n 0 | y n |
(6)如果迭代译码不能得正确的输出,排序统计译码的输出结果COSD将作为系统的最终输出
Figure C200610085331D00156
如果迭代译码有正确的输出,这时将排序统计译码的输出结果COSD的欧氏距和BP迭代译码得到码字的欧氏距进行比较,选择欧氏距小的作为系统的最终输出。
似然比的累加过程,随着参数α的取值变化可以有不同的表现形式。根据码长和硬件资源消耗量的不同,OSD译码方法可以在迭代译码的过程中执行一次到多次。每一次的OSD译码过程的高斯消去过程之后,不同可靠度的信息位节点可以在总体计算量的限制条件下,可以作部分混合高阶处理。多次的OSD译码和混合高阶处理将会得到较多的候选码字,根据候选码字和接收信息的欧氏距大小,只存储欧氏距最小的码字。
本发明的主要创新点在于将BP译码的中间迭代输出信息累加,用累积的似然比信息作为OSD译码处理的基础;OSD译码处理被分解到多次迭代译码的一段时间中与迭代译码并行处理;根据排序后信息节点可靠度的不同,对部分节点采用混合高阶处理;随着迭代译码的处理,灵活控制参数α的取值。
本发明针对802.16e协议中规定的5/6码率(576,480)LDPC码实施BP-OSD译码处理的具体方案如下,其中BP译码采用标准的和积译码方法:
1、各项码字和译码参数设定如下:
N=576,K=480,M=96,z=24,R=5/6,W=100,f=100MHz,
BP迭代译码按照z=24可以确定,最终的译码速率大致为λ=10Mbps。整个系统迭代译码所需时钟是W·2z=4800个clock。
2、当迭代次数k=10的时候,利用已经初步累积的似然比数据,启动OSD译码处理。通过仿真研究,我们设定7个从小到大的似然比门限值,逐步将各节点的累积似然比序列分成8段。设定一个分段计算单元包括7个比较器和对应的门限值,需要3个clock处理完一次分段。设有24个分段计算单元并行处理序列的分段排序,不同的节点作pipeline处理,共需要2+576/24=26个clock。
3、完成分段之后,按照可靠度从小到大的顺序,对每个序列分段作交换排序,不同的分段可以作pipeline处理。完全均匀分配各段,每段块长576/8=72,考虑到门限的误差,这里假设最长的一段为100。我们先同时对后面4段并行排序,对各个小段,采用交换排序的方法,即不断把最小值向后移动。这里长为100的序列每两个之间有一个比较器,共99个。比较器分成两组,两组按时钟交替工作。在一个Clock内,比较器输入两个数,完成比较后将大的数放回左边的寄存器,小的放回右边的寄存器,完成一次排序需要99+98=197个clock。
4、在分段排序工作基本结束以后,针对排放在校验比特位的96列,我们以两列为一组开始高斯消去,先把矩阵变成一个下三角阵。对每一组,首先先是寻找1,找到后再把上面的1消去。在把矩阵变成一个下三角矩阵后,再按行把下三角的1消去。根据我们的统计结果,完成系统阵消去过程平均需要个3200个clock。
5、重编码可以通过提高硬件并行度加速,假定以8个比特,一个字节为单位,我们一次可以读出H矩阵的两行,同时对两行进行编码。对每一行,我们分成三级进行编码,第一级分成60段,每段8比特,得到60比特;第二级分成8段,每段8比特,得到8比特;最后一级8个比特异或得到对应的码字比特。
如果Pipeline的话,编完0阶OSD码字需要96/2+4=54个clock。
6、在编码的同时,我们要进行欧氏距的计算,0阶和1阶码字的欧氏距一起计算,用481个寄存器来存储各个欧氏距。其中,信息位部分欧氏距的计算可以在最后一次排序完成后进行,校验位部分一边编码一边计算。当编码和欧氏距计算都完成之后,就要从所有的OSD输出码字中选出相应的欧氏距最小的一个。
这里最小值的寻找,我们采用分级比较方式,每次从4个数中找出最小的一个,对481个数的最小值的寻找,采用这种方式,需要6个clock。如果BP译码有输出,我们还要和BP译码输出码字的欧氏距相比较,选择欧氏距最小的码字作为最终译码输出,这样能有效地减少BP译码的不可纠错误。当然,这里BP输出码字欧氏距的计算是提前算的。如果最后输出的码字是高阶OSD码字,由于我们之前没有把高阶码字存下来,还要再进行一次编码,需要54个clock。这样编码、欧氏距计算和输出最终结果总的clock数约为114个clock。

Claims (3)

1.一种低密度奇偶校验码迭代排序统计译码方法,其特征在于:在低密度奇偶校验码的迭代译码过程中,根据所有变量节点历次迭代输出的似然比累积值的幅度大小,采用排序统计译码方法辅助迭代译码,即各个变量节点将历次迭代的节点似然比输出累加,累积似然比绝对值定义为当前迭代的节点可靠度,并根据可靠度大小对节点和校验矩阵的列做升序排序,对列排序后的矩阵做高斯消去;由于消去过程中矩阵的列之间会出现线性相关,必须将这些线性相关的列以及对应的节点再做一次升序排序调整;结合高斯消去得到的系统生成矩阵,将前面两次排序后的可靠节点信息序列进行编码,得到一组候选码字;如果迭代译码没有得到最终的输出,就从前面得到各组候选码字中选取和接收序列欧氏距最小的作为译码输出;低密度奇偶校验码的迭代译码表述为按照如下顺序执行的步骤:
定义低密度奇偶校验码的生成矩阵G和校验矩阵HM×N=[hm,n],对应的二分图变量节点和校验节点集合为V={vn,n∈[1,N]},S={sm,m∈[1,M]};定义变量节点vn参与的校验节点集合A(n)={j,hj,n=1},包含于校验节点sm的变量节点集合B(m)={i,hm,i=1};定义校验节点集合A(n)中去除校验节点sm的节点集合A(n)\m,定义变量节点集合B(m)中去除变量节点vn的节点集合B(m)\n,编码序列C={cn,n∈[1,N]};
步骤(1)初始化:BPSK调制信号xn=1-2cn,n∈[1,N]经过零均值方差σ2的高斯白噪声信道,得到接收信号序列Y={yn|yn=xn+wn,n∈[1,N]},其中wn为零均值方差σ2的高斯白噪声信号,初始的变量节点vn,n∈[1,N]向校验节点sm,∈A(n)输出信息 L nm 0 = 2 y n / σ 2 , 并根据Y中信号的符号硬判得到序列C0,同时初始各个变量节点的累积似然比数据 L n sum = 0 , 以及迭代次数k=1,开始迭代译码;
步骤(2)校验节点和变量节点的信息输出更新:各校验节点sm将第k-1次迭代的变量节点输出信息
Figure C200610085331C00031
按照下式计算第k次迭代节点sm向变量节点vn输出的信息,
L mn k = 2 a tanh Π n ′ ∈ B ( m ) \ n tanh ( L n ′ m k - 1 / 2 ) ;
各变量节点vn将参与的校验式输出信息
Figure C200610085331C00033
相加,作为变量节点vn到校验节点sm的输出,
L nm k = Σ m ′ ∈ A ( n ) \ m L m ′ n k ;
步骤(3)第k次迭代的输出:各个变量节点vn将所有参与的校验节点sm,∈A(n)的输出
Figure C200610085331C00035
相加,作为当前迭代的变量节点总输出
Figure C200610085331C00036
同时按照下式累加各个节点到目前为止的累积似然比输出,其中参数αk,0≤αk≤1为加权系数,
L m sum = α k · L n sum + L n k ;
随着参数αk的不同选取方案,有如下几种不同的实现形式;首先αk如果不随迭代次数k变化而变化,则似然比累积的过程类似于对各个迭代输出似然比做一个一阶的IIR滤波处理;其次若参数αk始终为1或0,累积过程等效于将各次输出完全的相加或只选取当前的似然比输出为可靠度排序依据;最后若αk只在某些固定间隔的迭代次数是为零,其余时候满足αk∈(0,1],则该累积的过程等效于在这些迭代间隔之间对输出的似然比做固定阶数的FIR滤波处理;
步骤(4)根据当前迭代各个变量节点的输出信息
Figure C200610085331C00038
按照下式作符号硬判得到输出序列
Figure C200610085331C00039
c IT , n k = 0 , if L n k > 0 c IT , n k = 1 , if L n k ≤ 0 ;
如果该序列满足所有校验方程,则迭代译码结果将作为最终的译码输出
Figure C200610085331C00041
同时终止该帧的译码,否则如果当前迭代次数k未达到最大迭代次数,且满足mod(k,I)=0,其中参数I为排序统计译码的迭代间隔,则启动排序统计译码处理,同时继续迭代译码,k++,并跳转至步骤(2);步骤(5)低密度奇偶校验码的排序统计译码方法是和迭代译码方法相结合,利用迭代译码中各次迭代累积的似然比输出作为各个比特的可靠度信息,作为排序统计译码的排序依据,排序统计译码方法表述为按照如下顺序执行的步骤:按照各个节点上的累积似然比绝对值
Figure C200610085331C00042
从大到小的顺序,对节点和对应的校验矩阵列作出一个排序πk1,得到新的节点序列πk1(V)和校验矩阵πk1(H);对新的校验矩阵作高斯消去,由于校验矩阵列之间的相关特性,需要对列作出第二次重排πk2,最后得到新的生成矩阵Gk以及与之相对应的校验矩阵πk2k1(H))和节点序列πk2k1(V));将节点序列πk2k1(V))中前N-M个节点根据
Figure C200610085331C00043
的符号作出硬判得到信息序列,定义为零阶排序统计译码order-0,另外将前N-M个信息比特符号遍历翻转i位符号的排序统计译码处理过程定义为order-i;对部份可靠度较低的节点进行高阶翻转处理,做混合阶排序统计译码处理H_order(e1,e2...er),其中ei为做order-i处理的节点数目,不同处理方案得到的信息比特通过对应的生成矩阵Gk编码得到码字
Figure C200610085331C00044
再做两次重排得到码字 C OSD k = π 1 - 1 ( π 2 - 1 ( C ~ OSD k ) ) ; 利用初始的接收序列Y和排序统计译码得到的码字按照下式比较欧氏距,保留欧氏距最小的码字作为排序统计译码的输出
C OSD = arg max C OSD k Σ n , c OSD , n k ≠ c n 0 | y n | ;
如果迭代译码不能满足所有校验方程且迭代次数k等于最大迭代次数,则迭代译码失败,终止译码,迭代译码不能得到正确的输出,排序统计译码的输出结果COSD将作为系统的最终输出
Figure C200610085331C00048
2.根据权利要求1所述的低密度奇偶校验码迭代排序统计译码方法,其特征在于迭代译码是一类基于置信传播的译码方法;迭代译码既能采用标准或修正的和积译码方法,也能采用简化的最小和译码方法及其相关的一系列修正最小和译码方法;这些基于置信传播的软判决译码都通过迭代更新各个节点的似然比输出,并通过似然比的累积减弱迭代译码输出的震荡现象;在一定的累积似然比幅度的基础上,排序统计译码方法能和上述迭代译码方法并行处理,如果迭代译码不能给出合理的译码结果,则以排序统计译码输出中与接收信息欧氏距最小的结果为系统最终译码输出。
3 根据权利要求1所述的低密度奇偶校验码迭代排序统计译码方法,其特征在于排序统计译码方法从第k次迭代开始和迭代译码方法并行处理,在迭代译码失败达到最大迭代次数结束的同时给出排序统计译码的输出结果;这样迭代译码和排序统计译码算法并行实现的方案在不增加低密度奇偶校验码迭代译码延时的情况下,改善低密度奇偶校验码的译码性能;排序统计译码方法也能串行级联在迭代译码过程的后端,这样的处理方式最有效的利用累积的似然比信息,得到更好的误码率性能。
CNB2006100853315A 2006-06-09 2006-06-09 低密度奇偶校验码迭代排序统计译码方法 Expired - Fee Related CN100539440C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100853315A CN100539440C (zh) 2006-06-09 2006-06-09 低密度奇偶校验码迭代排序统计译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100853315A CN100539440C (zh) 2006-06-09 2006-06-09 低密度奇偶校验码迭代排序统计译码方法

Publications (2)

Publication Number Publication Date
CN1859013A CN1859013A (zh) 2006-11-08
CN100539440C true CN100539440C (zh) 2009-09-09

Family

ID=37297881

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100853315A Expired - Fee Related CN100539440C (zh) 2006-06-09 2006-06-09 低密度奇偶校验码迭代排序统计译码方法

Country Status (1)

Country Link
CN (1) CN100539440C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034661A1 (en) * 2007-07-31 2009-02-05 Pascal Olivier Vontobel Coordinate-ascent method for linear programming decoding
CN101188427B (zh) * 2007-11-13 2011-08-31 东南大学 纠错增强的置信度传播译码方法
CN101615913B (zh) * 2009-07-17 2011-04-27 清华大学 Ldpc码的快速收敛译码方法
CN101944993A (zh) * 2010-09-29 2011-01-12 北京邮电大学 基于ldpc码的加密方案中移位矩阵生成方法
CN102122962B (zh) * 2011-04-01 2013-04-17 山东大学 基于预测-修正原对偶内点法的ldpc码的lp译码器
CN104242957B (zh) * 2013-06-09 2017-11-28 华为技术有限公司 译码处理方法及译码器
CN103731159A (zh) * 2014-01-09 2014-04-16 北京邮电大学 一种对先验信息迭代应用的混合域fft多进制和积译码算法
CN108683423B (zh) * 2018-05-16 2022-04-19 广东工业大学 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置
CN109194335A (zh) * 2018-08-22 2019-01-11 佛山科学技术学院 一种低密度奇偶校验码译码方法
CN109981112B (zh) * 2018-09-26 2022-11-18 东南大学 一种部分循环冗余校验辅助的排序统计译码方法
CN114337913A (zh) * 2021-11-29 2022-04-12 北京中科晶上科技股份有限公司 译码方法、装置和译码器
CN114421972B (zh) * 2022-01-27 2022-11-22 石家庄市经纬度科技有限公司 一种多进制ldpc码译码方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LDPC码量化和积译码的高效实现. 童胜,王鹏,王单,王新梅.西安电子科技大学学报(自然科学版),第31卷第5期. 2004
LDPC码量化和积译码的高效实现. 童胜,王鹏,王单,王新梅.西安电子科技大学学报(自然科学版),第31卷第5期. 2004 *
低复杂度的LDPC码联合编译码构造方法研究. 姜明,赵春明,何善宝,单鸣.通信学报,第26卷第2期. 2005
低复杂度的LDPC码联合编译码构造方法研究. 姜明,赵春明,何善宝,单鸣.通信学报,第26卷第2期. 2005 *

Also Published As

Publication number Publication date
CN1859013A (zh) 2006-11-08

Similar Documents

Publication Publication Date Title
CN100539440C (zh) 低密度奇偶校验码迭代排序统计译码方法
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
US7539920B2 (en) LDPC decoding apparatus and method with low computational complexity algorithm
CN100486118C (zh) 一种基于分段偏移修正的最小和译码方法
CN101656541B (zh) Rs码的译码方法和装置
CN101494462B (zh) Rs乘积码级联卷积码系统的迭代译码方法
CN101132252B (zh) 低密度奇偶校验码的量化最小和译码方法
CN100539446C (zh) 提早终止迭代的涡轮解码器
CN101162965B (zh) 一种ldpc码的纠删译码方法及系统
CN109981112A (zh) 一种部分循环冗余校验辅助的排序统计译码方法
CN102545913A (zh) 一种迭代译码方法及系统
CN104025459A (zh) 译码处理方法及译码器
CN103259545A (zh) 基于振荡的准循环低密度奇偶校验码置信传播译码方法
CN101075811B (zh) 一种三对角线结构的准循环低密度码及其构造方法
CN101707485A (zh) 混合比特翻转和大数逻辑的ldpc译码方法
CN101273531B (zh) 低密度奇偶校验码的改进turbo-译码消息传递方法、设备和系统
CN101807929B (zh) 低密度奇偶校验码的选择退火最小和译码方法
CN105680881A (zh) Ldpc译码方法及译码器
CN101562456A (zh) 基于低密度奇偶校验码译码软信息的码辅助帧同步方法
CN101552613A (zh) 基于外信息符号变化的低密度校验码译码方法
CN109560819A (zh) 一种通用于ldpc码比特翻转译码算法的翻转准则
CN101436864B (zh) 一种低密度奇偶校验码的译码方法及装置
US20210288674A1 (en) Soft-input soft-output decoding of block codes
CN105680882A (zh) 一种平方剩余码的硬判决译码方法
CN113556135A (zh) 基于冻结翻转列表的极化码置信传播比特翻转译码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090909

Termination date: 20200609

CF01 Termination of patent right due to non-payment of annual fee