CN101345601A - 一种译码方法和译码器 - Google Patents

一种译码方法和译码器 Download PDF

Info

Publication number
CN101345601A
CN101345601A CNA2007100291609A CN200710029160A CN101345601A CN 101345601 A CN101345601 A CN 101345601A CN A2007100291609 A CNA2007100291609 A CN A2007100291609A CN 200710029160 A CN200710029160 A CN 200710029160A CN 101345601 A CN101345601 A CN 101345601A
Authority
CN
China
Prior art keywords
sequence
module
confidence level
state value
information
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.)
Granted
Application number
CNA2007100291609A
Other languages
English (en)
Other versions
CN101345601B (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.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
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 Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CN2007100291609A priority Critical patent/CN101345601B/zh
Publication of CN101345601A publication Critical patent/CN101345601A/zh
Application granted granted Critical
Publication of CN101345601B publication Critical patent/CN101345601B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种译码方法,所述方法包括:对接收到的序列进行最大似然比序列估计,得到估计序列;计算所述估计序列中每一位的可信度;根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;所述初始化完成后,以初始化生成的信息作为LDPC译码的初始值,进行LDPC迭代译码,获得译码结果。本发明还公开了一种译码器。采用本发明提供的译码方法和译码器,能够有效的降低MLSE和LDPC码纠错译码联合使用时的通信系统的误码率。

Description

一种译码方法和译码器
技术领域
本发明涉及通信领域,尤其涉及一种译码方法和译码器。
背景技术
在通信系统中,通过信道将信息从一个地方传送到另一个地方。但是,对于存在码间串扰的通信信道,不同信号之间的相互干扰可能导致信息在传输过程中发生错误。为了提高码间串扰信道下的通信系统的传输性能,经常采用最大似然比序列估计(Maximum Likelihood Sequence Estimation,MLSE)技术和纠错码技术。纠错码的方式有很多,其中低密度奇偶校验(Low Density ParityCheck,LDPC)码是一种纠错码。
下面对MLSE技术、LDPC码译码技术和二者的基本联合译码技术分别进行描述。
MLSE简略说就是在一段序列取值的各种可能中,找出在概率意义上与原来序列最接近的序列,即估计出来的序列与原序列一致的可能性最大。以MLSE中的Viterbi算法为例具体介绍其原理。
对于长度为L的二进制序列的最佳译码,需要对有可能发送的2L个不同序列的2k条路径的似然函数累加值(即路径量度)进行比较,并选取其中累加值最大的一条路径以获得译码序列。译码过程中的计算量将随L的增加而呈指数级增长,这在实际中是难以实现的。因此,只能采用次最佳的译码方法,即在译码过程中只需考虑整个路径集合中那些能使似然函数最大的路径,如果在某一节点上发现某一条路径已经不可获得最大对数似然函数时,就应放弃这条路径,而在“幸存”下来的路径中重新选择译码路径,这样一直进行到最后第L级。则在序列的最后,通过最大似然函数累加值和其对应的幸存路径即可推出其对应的比特序列,这个比特序列就是最大似然比序列估计的结果。这即是Viterbi算法的理论基础。
如图1,图示了一个状态数为23=8的信道的状态转移图。
在图1中,按照状态之间的连续性要求,该状态转移图定义了状态之间允许的转移,即规定了可能的路径。例如k时刻的状态000(分别对应了k-1、k、k+1比特为0、0、0)可以转移到k+1时刻的000或者001(分别对应了k、k+1、k+2比特为0、0、0或者1)状态,但是不能转移到其他状态。
在实际应用中还有其他的MLSE算法,此处不再一一描述,其理论依据都是类似的,即最大似然比估计的思想。
同其他的纠错译码方式相似,LDPC码也是通过在传输的信息中添加一些冗余信息,来纠正或发现传输过程中发生的信息错误,以便恢复出有用信息,本处仅介绍其信息恢复即译码过程。
LDPC码译码的第一步,都是根据接收信号进行对应的信息初始化,如:
Ln=ln(f(Yn|0)/f(Yn|1))
式中,Yn是第n个接收信号的采样值,f(Yn|0)和f(Yn|1)分别是当发送信息比特为0和1时的接收信号的概率分布,因此Ln也常被称为对应第n个接收信号的对数似然比信息。LDPC码迭代译码的过程,就是利用初始化的对数似然比信息,通过迭代和不同信息比特之间的冗余关系来恢复出正确的信息。下面以置信传播(BeliefPropagation,BP)译码算法为例,介绍其具体译码过程:
(1)变量节点信息的初始化:利用信息初始化步骤中得到的信息值Ln对变量节点Q进行信息初始化,
qk,n=Ln
即Q变量的每一列都初始化为相同的信息值。
(2)校验节点信息的更新:利用变量节点信息,按照校验方程的要求对校验节点信息R进行更新,具体公式为:
r k , n = 2 tanh - 1 ( Π n ′ ∈ N ( k ) \ n tanh ( q k , n ′ / 2 ) )
N(k)/n表示参与k校验方程的所有变量节点中去掉n。
(3)变量节点信息的更新:利用校验节点信息,对变量节点信息Q进行更新,具体公式为:
q k , n = L n + Σ k ′ ∈ K ( n ) \ k r k ′ , n
(4)临时判决和校验方程检验:计算 D n = L n + Σ k ′ ∈ N ( k ) r k , , n , 并做如下的判决
B ^ n = 0 , if D n > 0 1 , if D n < 0
Figure A20071002916000081
就是临时判决得到的比特序列。如果 H B ^ = 0 , 则表明已经找到了一个正确的码字,可以停止迭代了。否则,回到步骤(2)继续迭代,直到达到一个预先设定的最大迭代次数。如果迭代次数达到了最大迭代次数,仍然未找到一个正确的码字,则表明本次译码失败。
考虑到置信传播译码算法中校验节点信息更新公式太复杂,也常用下述公式代替:
r k , n &ap; min n &prime; &Element; N ( k ) \ n | q k , n &prime; | &Pi; k &prime; &Element; N ( k ) \ n sgn ( q k , n &prime; )
这种近似后的LDPC码迭代译码算法通常称为最小和(Min-Sum,MS)译码算法,因为迭代中分别使用了求最小和求和操作。LDPC算法还有很多类似的近似和改进,本处不再一一列举。
在码间串扰信道中,由于码间串扰的存在,接收信号Yn的值将不仅仅取决于发送的第n个信息是0或是1,还取决于与其相邻的N个信息。对于这N个信息来说,共有2N种可能,因此接收信号Yn的概率分布共有2N个,即f(Yn|00…0x0…0)、f(Yn|00…0x0…1)等,其中x表示第n个信息的位置。
如果不使用MLSE技术,而是直接对接收信号进行LDPC码译码的话,在译码的信息初始化时,f(Yn|0)和f(Yn|1)的计算需要考虑到其他所有的N个信息,在这些相邻比特信息等概率地取0或1时有,
f ( Y n | x = 0 ) = 1 2 N ( f ( Y n | 00 . . . 0 x = 000 . . . 0 ) + f ( Y n | 00 . . . 0 x = 000 . . . 1 ) + . . . )
即将对应相邻比特信息的所有可能的分布相加,然后取平均。
对于码间串扰信道来说,如果仅仅使用这种LDPC码纠错译码的方法,则不能有效地改善系统的传输性能。
因此,为了提高译码可靠性通常采用MLSE技术和LDPC码译码技术联合方式进行译码。如图2,为现有的MLSE技术和LDPC码译码技术联合的译码方法示意图。
其中最大似然比序列估计的结果被用于LDPC码纠错译码的信息初始化。这时,译码信息初始化的最简单的方法是假设MLSE算法得到的序列估计值都是正确的,然后根据这些估计值判断出在LDPC算法中信息初始化时应该使用的状态值,并进行相应的信息初始化。例如,假设N=7,对应接收信号Yn,MLSE算法得到的其他N-1=6个信息估计值是010x011,这时Yn的信息初始化为:
Ln=ln(f(Yn|010x=0011)/f(Yn|010x=1011))
即假设其他N-1个序列估计值都是正确的,将其作为状态值进行信息初始化。称这种MLSE技术和LDPC码纠错译码技术的联合方法为基本联合方式。
使用MLSE技术和LDPC码纠错译码技术的基本联合方式,能够获得比仅仅使用LDPC码纠错译码或者仅仅使用MLSE算法更好的性能。
但是在实现本发明过程中,发明人发现现有技术至少存在如下问题:
由于最大似然比序列估计得到的信息估计值仍然可能包含错误,因此过度地信任最大似然比序列估计的结果,会造成LDPC纠错译码时初始化信息的错误,结果导致纠错译码的错误,达不到有效降低码间串扰信道系统误码率的目的,使得码间串扰信道的传输性能不高。
发明内容
本发明实施例提供了一种译码方法和译码器。利用更准确的最大似然比序列估计结果实现LDPC码译码信息的初始化,有效降低码间串扰信道系统的误码率,有效地提高了码间串扰信道的传输性能。
一方面,本发明的实施例提供了一种译码方法,所述方法包括:
A、对接收到的序列进行最大似然比序列估计,得到估计序列;
B、计算所述估计序列中每一位的可信度;
C、根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
D、以初始化生成的信息作为LDPC译码的初始值,进行LDPC译码。
另一方面,本发明实施例还提供了一种译码器,包括:
序列估计模块,对接收到的序列进行最大似然比序列估计得到估计序列;
可信度计算模块,与序列估计模块耦接,计算所述估计序列每一位的可信度;
初始化模块,与可信度计算模块和序列估计模块耦接,用于根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
译码模块,用于根据初始化模块生成的信息作为LDPC译码的初始值,进行LDPC译码。
由上述可知,本发明实施例的一种译码方法和译码器在利用MLSE的估计序列作为LDPC译码的初始化的信息时,考虑了对估计序列可信度的考察,使得LDPC译码的初始化信息更加可靠,有效地降低了MLSE和LDPC译码联合使用时的通信系统的误码率,提高了码间串扰信道的传输性能;另一方面,由于估计序列的可信度考察基于LDPC译码中的奇偶校验方程,所以可信度的计算可以和LDPC迭代译码共享资源,而不会占用多余的资源增加系统负担;同时,本方案中,MLSE的结果仅仅用于LDPC纠错译码的信息初始化,不会影响具体使用何种LDPC码迭代译码方案,因此适用于不同的LDPC迭代译码方案。
附图说明
图1是一个状态数为23=8的信道的状态转移图;
图2是现有的MLSE技术和LDPC译码技术联合的译码方法示意图;
图3是本发明中一种译码器的一个具体实施例的结构示意图;
图4是本发明中一种可信度计算模块的一个具体实施例的结构示意图;
图5是本发明中一种初始化模块的一个具体实施例的结构示意图;
图6是本发明中一种可信位判断模块的一个具体实施例的结构示意图;
图7是本发明中一种译码方法的第一个具体实施例的流程图;
图8是本发明中对所述迭代译码进行初始化的一个具体实施例的流程图;
图9是本发明中一种译码方法的第二个具体实施例的流程图;
图10是仿真得到本发明的一个具体实施例中的译码方法与所述基本联合方式的误码率比较图。
具体实施方式
下面参考附图对本发明的实施例进行描述。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
参见图3,为本发明中一种译码器的一个具体实施例的结构示意图。该译码器包括:
序列估计模块20,对接收序列进行最大似然比序列估计,得到估计序列;
可信度计算模块22,与序列估计模块20耦接,用于计算所述估计序列中各位的可信度;
初始化模块24,与序列估计模块20和可信度计算模块22耦接,于根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
译码模块26,与初始化模块24耦接,根据初始化模块24生成的信息作为LDPC译码的初始值,进行LDPC译码。
其中,参见图4,图3所述的可信度计算模块22具体包括:
方程验证模块220,该模块根据所述奇偶校验矩阵的校验方程对所述估计序列进行奇偶校验;
统计模块222,该模块与方程验证模块220耦接,统计所述估计序列中各位参与的所述全部校验方程中校验结果为错误的方程的个数;
存储模块224,该模块与统计模块222耦接,保存所述校验结果为错误的方程的个数为所述估计序列中各位的可信度。
其中,参见图5,图3所述的初始化模决24包括:
可信位判断模块240,该模块根据所述各位的可信度将所述估计序列中的每一位分为可信位或不可信位;
状态值模块242,该模块确定状态值的位数,并根据所述估计序列得到状态值;
多状态值模块244,该模块与可信位判断模块240和状态值模块242耦接,所述状态值中的可信位保持不变,将不可信位和需要进行LDPC译码的信息位分别取0或1,获得2r个状态值,其中r=m+1,且m为不可信位的个数,其中r、m均为自然数;
计算模块246,该模块与多状态值模块244耦接,根据所述多状态值模块244得到的2r个状态值对LDPC译码信息进行初始化,生成LDPC译码所需的初始值。
其中,所述初始值为接收到的序列的对数似然比信息,所述接收到的序列中每一位的对数似然比信息具体为,
L n = ln ( &Sigma; B n 0 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 0 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 0 ) ] &Sigma; B n 1 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 1 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 1 ) ] )
式中Ln为第n位的对数似然比信息,使用估计序列中连续的p+q+1位;Yn为接收到的序列中第n位的实际采样值,f为接收到的序列的条件概率函数;m为不可信位的个数,{0,1}m表示由m个0或者1组成的2m个序列的集合,则Bn0和Bn1分别为当第n位分别为0和1时,不可信位分别取0或1获得的所述2m个状态值的集合;当概率函数f的条件分别为Bn0和Bn1中的元素时,两个和式内分别有2m项相加;P(Bn0)表示f的条件为取Bn0中的状态值的概率,P(Bn1)表示f的条件为取Bn1中的状态值的概率,其中n、r、m均为自然数。
在具体实现时,参见图6,图5所述的可信位判断模块240包括:
判断模块2400,该模块根据预设的可信位判断阈值,比较可信度与所述可信位判断阈值的大小;
结果处理模块2402,该模块与判断模块2400耦接,并根据判断模块2400的比较结果,将所述估计序列中的每一位分为可信位或不可信位。
以上阐述了本发明实施例的一种译码器的技术方案,下面具体阐述本发明具体实施例中的译码方法,该方法可以应用于例如译码器的具有译码功能的装置中。如图7,为本发明中一种译码方法的第一个具体实施例的流程图,其步骤为:
S701、对接收到的序列进行最大似然比序列估计,得到估计序列;
S702、计算所述估计序列中每一位的可信度;
S703、根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
S704、所述初始化完成后,以初始化生成的信息作为LDPC译码的初始值,进行LDPC译码,获得译码结果。
其中,在步骤S702中,可信度具体计算方法可以是:
可信度计算方法1:对所述估计序列进行奇偶校验,得到奇偶校验方程,并根据校验结果将所述方程标记为正确或错误;
统计所有含有估计序列的第n位的奇偶校验方程,并计算其中标记为错误的方程的个数,所述错误的方程的个数即为第n位的可信度,其中n为自然数;
对估计序列的每一位重复上一步骤,得到估计序列中每一位的可信度。
可信度计算方法2:在序列估计的时候,需要计算累积对数概率,即
T k + 1 , S = L k + 1 , S + max S &prime; &Element; N ( S ) &prime; { T k , S &prime; } ,
其中Tk+1,S表示k+1时刻S状态的累积对数概率,Lk+1,S表示由接收信号Yk+1计算得到的S状态的对数概率,N(S)表示与状态S相连的上一个状态的集合。在序列估计结束时,选择对应获得最大累积对数概率的序列路径作为序列估计的结果。从最大累积对数概率的计算可见,对应序列估计结果的这个最大累积对数概率,是由该序列在每一个时刻的对数概率Lk,S相加得到的,而这些Lk,S并不是相同大小。Lk,S越大,该步累积值越可信,对应的该比特也越可信;Lk,S越小,该步累积值越不可信,对应的该比特也越不可信。因此,可以定义每一位的可信度即为Lk,S
可信度计算方法3:假设序列估计的结果是B,那么对应序列估计值B中的第n个比特,对其可信度进行判决时,首先计算
f n , 0 , max = max B n 0 &Element; { 0,1 } p + q f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 0 , &CenterDot; &CenterDot; &CenterDot; , b q )
f n , 1 , max = max B n 0 &Element; { 0,1 } p + q f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 1 , &CenterDot; &CenterDot; &CenterDot; , b q )
其中,fn,0,max和fn,1,max代表了第n个比特是0或者1有关的概率大小。可以定义fn,0,max和fn,1,max为第n个比特的可信度,然后判断该位是否为可信位并据此进行初始化,其可信位判断原则如下:
1)如果序列估计结果Bn=0,而且fn,0,max>fn,1,max(即简单概率估计的结果也是Bn更可能为0),则序列估计值Bn=0可信,否则该序列估计值不可信;
2)如果序列估计结果Bn=1,而且fn,0,max<fn,1,max(即简单概率估计的结果也是Bn更可能为1),则序列估计值Bn=1可信,否则该序列估计值不可信。
也可以将上述方法2和方法3与方法1结合,即在判断可信度时,同时利用奇偶校验方程的约束和概率的大小。如判断可信位时,仅对那些对应奇偶校验方程有错的比特值考量Lk,S的大小来判断是否为可信位,其他的比特则直接认为为可信位。
上述获得可信度的方法是本发明的实施例而已,不能以此来限定本发明的技术方案,本领域的普通技术人员很容易在本发明的基础上简单推理或演变得到其它的计算方法。
如图8所示,在所述步骤S703中根据所述每一位的可信度对接收到的序列的LDPC译码信息进行初始化具体包括:
S801、判断可信位,即根据所述可信度将所述估计序列中的各位分为可信位或不可信位;
S802、确定所述估计序列的状态值;
S803、块根据步骤S801和S802确定的可信位、不可信位和状态值得到多状态值,即:在所述状态值中,可信位不变,不可信位和需要进行LDPC译码的信息位分别取0或1,获得2r个状态值,其中r=m+1,且m为不可信位的个数,其中r、m均为自然数;
S804、根据所述2r个状态值,对LDPC译码信息进行初始化。
其中,在步骤S801中,所述判断可信位的方法可以为阈值检测法,即设定一可信位判断阈值,比较可信度与所述阈值的大小,并根据比较结果将所述估计序列中的每一位分为可信位或不可信位。
其中,在步骤S804中所述的初始化后生成初始值,所述初始值具体可以为计算接收到的序列的对数似然比信息,所述接收到的序列中每一位的对数似然比信息具体为,
L n = ln ( &Sigma; B n 0 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 0 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 0 ) ] &Sigma; B n 1 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 1 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 1 ) ] )
式中Ln为第n位的对数似然比信息,使用估计序列中连续的p+q+1位;Yn为接收到的序列中第n位的实际采样值,f为接收到的序列的条件概率函数;m为不可信位的个数,{0,1}m表示由m个0或者1组成的2m个序列的集合,则Bn0和Bn1分别为当第n位分别为0和1时,不可信位分别取0或1获得的所述2m个状态值的集合;当概率函数f的条件分别为Bn0和Bn1中的元素时,两个和式内分别有2m项相加;P(Bn0)表示f的条件为取Bn0中的状态值的概率,P(Bn1)表示f的条件为取Bn1中的状态值的概率,其中n、r、m均为自然数。
下面以通信信道是200公里长的普通单模光纤,工作波长是1550nm,调制方式是OOK调制,信号传输速率是10Gbps为例,详细介绍本发明中的一个实施例的译码方法。
设LDPC奇偶校验矩阵的形式为:
H=[H1 H2 H3…H16],
其中H1到H16是16个大小为255×255的循环矩阵。所谓循环矩阵是指该矩阵中的每一行或者每一列都是由上一行或者上一列循环移位得到的,如
1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1
就是一个大小为5×5的循环矩阵。
在本具体实施例中使用的LDPC码的奇偶校验矩阵共有255行、255×16=4080列,也就是说,所使用的LDPC码的码长为4080,校验方程或者冗·余比特的数目为255,所发送的信息比特数目是3825。因此,发射机将输入的待传输比特分成长度为3825的分组,每个分组在编码时添加255个冗余比特,变成长度为4080的分组发出。另外,本具体实施例中的奇偶校验矩阵H所定义的255个校验方程,每个包含了70个比特。
本实施例中使用的通信信道是200公里长的普通单模光纤,工作波长是1550nm,调制方式是OOK调制,信号传输速率是10Gbps。该信道造成的脉冲重叠可以到达前后共7个比特,由此确定MLSE序列均衡时需要的状态数目为27=128个,分别用0000000、0000001、0000010、......、1111111来表示。在这些不同的状态下,接收信号将具有不同的概率分布,即f(Yn|0000000)、f(Yn|0000001)、......、f(Yn|1111111)等。则计算LDPC码译码的初始值的状态值位数为7。
在发送端,首先将待发送的信息比特分成长度为4080的分组。在接收端,采样后得到的是包含有噪声和码间串扰的长度仍然为4080的接收信号Y序列分组。下面,参照图9所示的本发明的一种基于MLSE的LDPC译码的方法的第二个具体实施例的流程图,介绍如何对这个长度为4080的分组Y序列使用基于MLSE的LDPC译码方法。
S901、对接收到的序列Y进行最大似然比序列估计,得到估计序列B;
S902、定义一个长度为4080的可信度错误计数序列E,并将该序列初始化为0,序列E的每一位将保存对应序列B的每一位在可信度判断时累加的错误方程的数目;
S903、验证校验方程。如对奇偶校验矩阵H的第一个校验方程,方程具体如下:
b1+b105+b242+b247+b256+b331+b376+b486+b511+b644+b684+b694+b766
+b932+b952+b964+b1021+b1088+b1202+b1245+b1276+b1340+b1480+b1483+b1531
+b1604+b1675+b1705+b1786+b1822+b1844+b1848+b2041+b2052+b2217+b2272
+b2296+b2304+b2345+b2392+b2551+b2593+b2611+b2612+b2719+b2806+b2834
+b2912+b2925+b2995+b2061+b3146+b3153+b3192+b3248+b3316+b3350+b3443
+b3466+b3542+b3571+b3577+b3604+b3729+b3773+b3826+b3828+b3843+b3880+b3960
=0
(该方程左边一共有70项,即包含了70个比特),将序列B中的相应比特代入这个校验方程,如果对应的序列B的70个比特二进制相加后等于0,则表示满足该校验方程;如果二进制相加后等于1,表示不满足该校验方程。
S904、按照步骤S903的方法,对不满足校验的方程将对应这70个比特的序列E中的相应位的值累加1。在步骤S903中所示的例子中,若H的第一个校验方程二进制相加后等于1,则将E1、E105、......、E242等70个值分别加1。依次对其他254个校验方程进行相同的可信度判断,最后得到需要的可信度错误计数序列E。
S905、按照步骤S904中得到的可信度错误计数序列E,对序列B的每个比特进行可信度判断,具体可以为
i.如果En≤2,则bn可信;
ii.如果En>2,则bn不可信。
在本实施例中,发明人通过仿真将可信度判断阈值确定为2,显然,在不同的具体实施例中,该判断阈值也可以为其他适当的值或函数。
S906、确定根据最大似然比序列估计得到的估计序列B的状态值。
在本具体实施例中状态值的位数共有7位,设根据B得到第n位的状态值是010x011,其中x代表了对应Yn的待译码的比特,令s和t代表在该状态值中有两个不可信任的比特,其位置为01sx0t1,而其他4个0或者1则是x相邻比特中可信任的比特。
S907、确定计算所述初始值所需的2r个状态值,其中r=m+1,m为不可信位的个数;即令步骤S906中得到的状态值中的不可信位s、t和x,分别为0或1,可信位为序列估计值即可。
对于步骤906中所举的例子,r=2+1,即共有22+1=8个状态值,分别为:0100001,0100 011,0110 001,0110 011,0101 001,0101 011,0111 001,0111 011。
S908、根据得到2r个状态值对LDPC迭代译码进行初始化,其中,所述初始化具体可以为:计算接收到的序列的对数似然比信息,所述估计序列中每一位的对数似然比信息具体为
L n = ln ( &Sigma; B n 0 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 0 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 0 ) ] &Sigma; B n 1 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , &CenterDot; &CenterDot; &CenterDot; , b i , &CenterDot; &CenterDot; &CenterDot; , b n = 1 , &CenterDot; &CenterDot; &CenterDot; , b n + q ) P ( B n 1 ) ] )
式中各项具体解释同步骤804中计算对数似然比信息时所用公式的解释。
在本具体实施例中,状态值的位数共有7位,即上式中p+q+1=7,如果与Yn相邻的这6个比特都是可信的,不可信位的个数m为0,即r=0+1。相应地,得到的状态值只有2r=2个,即:Bn0集合中元素为bn-3bn-2bn-10bn+1bn+2bn+3,且取该状态值的概率P(Bn0)=1;Bn1集合中元素为bn-3bn-2bn-11bn+1bn+2bn+3,且取该状态值的概率P(Bn1)=1。所以Yn的信息初始化值为:
L n = ln ( f ( Y n | b n - 3 b n - 2 b n - 1 0 b n + 1 b n + 2 b n + 3 ) f ( Y n | b n - 3 b n - 2 b n - 1 1 b n + 1 b n + 2 b n + 3 ) ) ,
如果与Yn相邻的这6个相邻比特中只有bn-2为不可信位,即m=1,r=1+1,则得到状态值有2r=4个,则Bn0集合中元素的个数为2m=2,分别为:bn-30bn-1 0bn+1bn+2bn+3,bn-31bn-10bn+1bn+2bn+3;Bn1集合中元素的个数为2m=2,分别为bn-30bn-11bn+1bn+2bn+3,bn-31bn-1bn+1bn+2bn+3
在Bn0中取两个状态值的概率分别为P(B1 n0)=a1 P ( B n 0 2 ) = 1 - a 1 ; 在Bn1中取两个状态值的概率分别为P(B1 n1)=a1 P ( B n 1 2 ) = 1 - a 1 . 所以Yn的信息初始化值为:
L n = ln ( a 1 f ( Y n | b n - 3 0 b n - 1 0 b n + 1 b n + 2 b n + 3 ) + ( 1 - a 1 ) f ( Y n | b n - 3 1 b n - 1 0 b n + 1 b n + 2 b n + 3 ) a 1 f ( Y n | b n - 3 0 b n - 1 1 b n + 1 b n + 2 b n + 3 ) + ( 1 - a 1 ) f ( Y n | b n - 3 1 b n - 1 1 b n + 1 b n + 2 b n + 3 ) )
对于步骤S907中所举例获得的8个状态值,若是等概率获取所述状态值,则 P ( B n 0 j ) = 1 / 4 , j=1,2,3,4, P ( B n 1 k ) = 1 / 4 , k=1,2,3,4,那么Yn的信息初始化为:
f ( Y n | x = 0 ) = 1 4 ( f ( Y n | 0100001 ) + f ( Y n | 0100011 ) + f ( Y n | 0110001 ) + f ( Y n | 0110011 ) )
f ( Y n | x = 1 ) = 1 4 ( f ( Y n | 0101001 ) + f ( Y n | 0101011 ) + f ( Y n | 0111001 ) + f ( Y n | 0111011 ) )
则Ln=ln(f(Yn|x=0)/f(Yn|x=1))
S909、LDPC迭代译码。在信息初始化后,对接收到的序列Y进行LDPC迭代译码,并得到所述迭代译码的结果。所述结果将返回分组长度为3825的分组比特信息。
值得说明的是,在上述实施例中具体的可信度计算方法还可以是所述可信度计算方法2、3或是其他的算法;
在上述所有本发明实施例中,具体的MLSE算法还可以为:Viterbi算法、MVA算法(Modified Viterbi Algorithm)、SOVA算法(即传统软输出Viterbi算法)、VALPP(Viterbi-algorith-with-likelihood Post Processor,即带似然后级处理器的viterbi算法)、PSP(Per-survivor processing)算法、MLSE-EM(MLSE basedon expectation and maximization)算法、归一化LMS盲最大似然估计算法等;具体的迭代译码算法可以使用任何LDPC码的迭代译码算法,如:置信传播译码算法、基于非规则码的试探法和扩展Bit-Filling算法、基于规则码的和积算法等。
通过仿真的方法,对所述MLSE技术和LDPC纠错译码技术的基本联合方式和本发明的一个具体实施例提供的译码方式的误码率的性能进行比较。仿真中,假设光纤通信系统传输速率为10Gbps,采用OOK调制方式,使用1550nm波长,在普通单模光纤上传输200公里。如图10,为仿真得到本发明的一个具体实施例提供的译码方法与所述基本联合方式的误码率比较图。对比基本的联合方式,可以看出基于可信度的联合方式具有0.5dB的性能优势。更重要的是,基本的联合方式和基于可信度的联合方式,在接收功率变化时具有不同的变化速率:随平均光接收功率的增加,基于可信度的联合方式的误码率有更快的下降速度。由此可见,在码间串扰信道中,本发明的一种具体实施例提供的译码方法和译码器比基于基本联合的方法和译码器,具有更高的性能。
综上所述可知,本发明的具体实施例提供的译码方法和译码器能够有效的降低MLSE技术和LDPC纠错译码联合使用时的通信系统的误码率,有效地提高了码间串扰信道的传输性能。另一方面,由于估计序列的可信度考察基于LDPC译码中的奇偶校验方程,所以可信度的计算可以和LDPC迭代译码共享资源,而不会占用多余的资源;同时,在本方案中,最大似然比序列估计的结果仅仅用于LDPC纠错译码的信息初始化,不会影响具体使用的LDPC迭代译码方案,因此适用于不同的LDPC迭代译码方案。
以上所揭露的仅为本发明实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1、一种译码方法,所述方法包括:
A、对接收到的序列进行最大似然比序列估计,得到估计序列;
B、计算所述估计序列中每一位的可信度;
C、根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
D、以初始化生成的信息作为LDPC译码的初始值,进行LDPC迭代译码。
2、如权利要求1所述的方法,其特征在于,步骤B具体为:
对所述估计序列进行奇偶校验,得到奇偶校验方程,并根据校验结果将所述方程标记为正确或错误;
统计所有含有估计序列的第n位的奇偶校验方程,并计算其中标记为错误的方程的个数,所述错误的方程的个数即为第n位的可信度,其中n为自然数;
对估计序列的每一位重复上一步骤,得到估计序列中每一位的可信度。
3、如权利要求1或2中所述的方法,其特征在于,步骤C具体为:
根据所述每一位的可信度,将所述估计序列中的各位分为可信位或不可信位;
确定根据最大似然比序列估计得到的估计序列的状态值;
所述状态值中的可信位保持不变,将不可信位和需要进行LDPC译码的信息位分别取0或1获得2r个状态值,其中r=m+1,且m为不可信位的个数,其中r、m均为自然数;
根据所述2r个状态值对LDPC译码信息进行初始化。
4、如权利要求3所述的方法,其特征在于,根据所述每一位的可信度将所述估计序列中的各位分为可信位或不可信位具体为:
预设一可信位判断阈值,比较每一位的可信度与所述阈值的大小,并根据比较结果将所述估计序列中的所述每一位分为可信位或不可信位。
5、如权利要求3所述的方法,其特征在于,所述初始化具体为:计算接收到的序列的对数似然比信息,所述接收到的序列中每一位的对数似然比信息具体为,
L n = ln ( &Sigma; B n 0 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , . . . , b i , . . . , b n = 0 , . . . , b n + q ) P ( B n 0 ) ] &Sigma; B n 1 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , . . . , b i , . . . , b n = 1 , . . . , b n + q ) P ( B n 1 ) ] )
式中Ln为第n位的对数似然比信息,使用估计序列中连续的p+q+1位;Yn为接收到的序列中第n位的实际采样值,f为接收到的序列的条件概率函数;m为不可信位的个数,{0,1}m表示由m个0或者1组成的2m个序列的集合,则Bn0和Bn1分别为当第n位分别为0和1时,不可信位分别取0或1获得的所述2m个状态值的集合;当概率函数f的条件分别为Bn0和Bn1中的元素时,两个和式内分别有2m项相加;P(Bn0)表示f的条件为取Bn0中的状态值的概率,P(Bn1)表示f的条件为取Bn1中的状态值的概率,其中n、r、m均为自然数。
6、一种译码器,包括:
序列估计模块,对接收到的序列进行最大似然比序列估计得到估计序列;
可信度计算模块,与序列估计模块耦接,计算所述估计序列中每一位的可信度;
初始化模块,与可信度计算模块和序列估计模块耦接,用于根据所述每一位的可信度及接收到的序列,对LDPC译码信息进行初始化;
译码模块,用于根据初始化模块生成的信息作为LDPC译码的初始值,进行LDPC译码。
7,如权利要求6所述的译码器,其特征在于,所述可信度计算模块还包括:
方程验证模块,用于根据所述奇偶校验矩阵的校验方程对所述估计序列进行奇偶校验;
统计模块,与方程验证模块耦接,统计所述估计序列中各位参与的所述全部校验方程中校验结果为错误的方程的个数;
存储模块,该模块与统计模块耦接,保存所述校验结果为错误的方程的个数为所述估计序列中各位的可信度。
8、如权利要求6或7中所述的译码器,其特征在于,所述初始化模块包括:
可信位判断模块,用于根据所述每一位的可信度将所述估计序列中的每一位分为可信位或不可信位;
状态值模块,用于确定状态值的位数,并根据所述估计序列得到状态值;
多状态值模块,与状态值模块和可信位判断模块耦接,用于将所述状态值中的可信位保持不变,不可信位和需要进行LDPC译码的信息位分别取0或1获得2r个状态值,其中r=m+1,且m为不可信位的个数,其中r、m均为自然数;
计算模块,用于根据所述多状态值模块得到的2r个状态值对LDPC译码信息进行初始化。
9、如权利要求8所述的译码器,其特征在于,所述可信位判断模块包括:
判断模块,用于根据设定的可信位判断阈值,比较每一位的可信度与所述可信位判断阈值的大小;
结果处理模块,用于根据判断模块的比较结果,将所述估计序列中的每一位分为可信位或者不可信位。
10、如权利要求8所述的译码器,其特征在于,所述初始值为接收到的序列的对数似然比信息,所述接收到的序列中每一位的对数似然比信息具体为,
L n = ln ( &Sigma; B n 0 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , . . . , b i , . . . , b n = 0 , . . . , b n + q ) P ( B n 0 ) ] &Sigma; B n 1 &Element; { 0,1 } m 2 m [ f ( Y n | b n - p , . . . , b i , . . . , b n = 1 , . . . , b n + q ) P ( B n 1 ) ] )
式中Ln为第n位的对数似然比信息,使用估计序列中连续的p+q+1位;Yn为接收到的序列中第n位的实际采样值,f为接收到的序列的条件概率函数;m为不可信位的个数,{0,1}m表示由m个0或者1组成的2m个序列的集合,则Bn0和Bn1分别为当第n位分别为0和1时,不可信位分别取0或1获得的所述2m个状态值的集合;当概率函数f的条件分别为Bn0和Bn1中的元素时,两个和式内分别有2m项相加;P(Bn0)表示f的条件为取Bn0中的状态值的概率,P(Bn1)表示f的条件为取Bn1中的状态值的概率,其中n、r、m均为自然数。
CN2007100291609A 2007-07-13 2007-07-13 一种译码方法和译码器 Expired - Fee Related CN101345601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100291609A CN101345601B (zh) 2007-07-13 2007-07-13 一种译码方法和译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100291609A CN101345601B (zh) 2007-07-13 2007-07-13 一种译码方法和译码器

Publications (2)

Publication Number Publication Date
CN101345601A true CN101345601A (zh) 2009-01-14
CN101345601B CN101345601B (zh) 2011-04-27

Family

ID=40247501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100291609A Expired - Fee Related CN101345601B (zh) 2007-07-13 2007-07-13 一种译码方法和译码器

Country Status (1)

Country Link
CN (1) CN101345601B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404561B (zh) * 2008-11-18 2011-04-20 北京创毅视讯科技有限公司 一种误比特率估计方法、装置及接收机
CN104462187A (zh) * 2014-10-22 2015-03-25 上海交通大学 基于最大似然比的群智数据有效性验证方法
CN105409260A (zh) * 2013-09-16 2016-03-16 华为技术有限公司 用于用户设备协作的系统和方法
CN106169935A (zh) * 2016-07-14 2016-11-30 厦门大学 以可靠度为导向的低密度奇偶校验码信度传播译码方法
CN107070588A (zh) * 2016-12-28 2017-08-18 深圳清华大学研究院 一种简化的多址接入传输系统的接收机及接收方法
CN107391299A (zh) * 2017-07-17 2017-11-24 华中科技大学 一种提升闪存存储系统读性能的方法
CN107395214A (zh) * 2017-07-12 2017-11-24 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN107423159A (zh) * 2017-07-11 2017-12-01 华中科技大学 一种基于闪存错误模式提升ldpc译码性能的方法
WO2018064924A1 (zh) * 2016-10-08 2018-04-12 电信科学技术研究院 基于软输出维特比译码算法sova的译码方法和装置
CN110011724A (zh) * 2019-04-18 2019-07-12 上海航天测控通信研究所 一种船舶自动识别系统的接收方法、接收机及通信卫星
CN111865332A (zh) * 2020-08-04 2020-10-30 北京航空航天大学 适用于星基ads-b的低置信度矩阵可靠提取算法和检错纠错高性能算法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1252935C (zh) * 2002-12-13 2006-04-19 清华大学 基于低密度奇偶检验编码的信源信道联合编码方法
US7398453B2 (en) * 2005-10-03 2008-07-08 Motorola, Inc. Method and apparatus for a low-density parity-check decoder
CN100589357C (zh) * 2005-10-26 2010-02-10 中兴通讯股份有限公司 基于单位阵及其循环移位阵的ldpc码向量译码装置和方法
CN100425000C (zh) * 2006-09-30 2008-10-08 东南大学 双涡轮结构低密度奇偶校验码解码器及解码方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404561B (zh) * 2008-11-18 2011-04-20 北京创毅视讯科技有限公司 一种误比特率估计方法、装置及接收机
CN109802762A (zh) * 2013-09-16 2019-05-24 华为技术有限公司 用于用户设备协作的系统和方法
CN105409260A (zh) * 2013-09-16 2016-03-16 华为技术有限公司 用于用户设备协作的系统和方法
CN109802762B (zh) * 2013-09-16 2023-08-15 华为技术有限公司 用于用户设备协作的系统和方法
US10924212B2 (en) 2013-09-16 2021-02-16 Huawei Technologies Co., Ltd. System and method for user equipment cooperation
US10020915B2 (en) 2013-09-16 2018-07-10 Huawei Technologies Co., Ltd. System and method for user equipment cooperation
CN105409260B (zh) * 2013-09-16 2019-03-05 华为技术有限公司 用于用户设备协作的系统和方法
CN104462187A (zh) * 2014-10-22 2015-03-25 上海交通大学 基于最大似然比的群智数据有效性验证方法
CN104462187B (zh) * 2014-10-22 2017-09-08 上海交通大学 基于最大似然比的群智数据有效性验证方法
CN106169935A (zh) * 2016-07-14 2016-11-30 厦门大学 以可靠度为导向的低密度奇偶校验码信度传播译码方法
CN106169935B (zh) * 2016-07-14 2019-07-09 厦门大学 以可靠度为导向的低密度奇偶校验码信度传播译码方法
WO2018064924A1 (zh) * 2016-10-08 2018-04-12 电信科学技术研究院 基于软输出维特比译码算法sova的译码方法和装置
CN107070588B (zh) * 2016-12-28 2020-03-24 深圳清华大学研究院 一种简化的多址接入传输系统的接收机及接收方法
CN107070588A (zh) * 2016-12-28 2017-08-18 深圳清华大学研究院 一种简化的多址接入传输系统的接收机及接收方法
CN107423159B (zh) * 2017-07-11 2019-06-28 华中科技大学 一种基于闪存错误模式提升ldpc译码性能的方法
CN107423159A (zh) * 2017-07-11 2017-12-01 华中科技大学 一种基于闪存错误模式提升ldpc译码性能的方法
CN107395214B (zh) * 2017-07-12 2019-06-28 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN107395214A (zh) * 2017-07-12 2017-11-24 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN107391299B (zh) * 2017-07-17 2019-06-18 华中科技大学 一种提升闪存存储系统读性能的方法
CN107391299A (zh) * 2017-07-17 2017-11-24 华中科技大学 一种提升闪存存储系统读性能的方法
CN110011724A (zh) * 2019-04-18 2019-07-12 上海航天测控通信研究所 一种船舶自动识别系统的接收方法、接收机及通信卫星
CN110011724B (zh) * 2019-04-18 2021-08-10 上海航天测控通信研究所 一种船舶自动识别系统的接收方法、接收机及通信卫星
CN111865332A (zh) * 2020-08-04 2020-10-30 北京航空航天大学 适用于星基ads-b的低置信度矩阵可靠提取算法和检错纠错高性能算法
CN111865332B (zh) * 2020-08-04 2021-07-27 北京航空航天大学 适用于星基ads-b的低置信度矩阵可靠提取方法和检错纠错高性能方法

Also Published As

Publication number Publication date
CN101345601B (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN101345601B (zh) 一种译码方法和译码器
CN109257148B (zh) 一种基于高斯近似阈值判断的极化码bp译码方法
US8099645B2 (en) LDPC codes and stochastic decoding for optical transmission
EP3469714B1 (en) Polar code encoding with puncturing, shortening and extending
CN111294058B (zh) 一种信道编码和纠错译码方法、设备以及存储介质
EP3539237B1 (en) Error detection in communication systems using polar coded data transmission
CN107248866A (zh) 一种降低极化码译码时延的方法
CN102412846B (zh) 一种适用于低密度奇偶校验码的多值修正最小和解码方法
US10892783B2 (en) Apparatus and method for decoding polar codes
CN103973314A (zh) 一种基于ldpc的信号编解码方法、及接收端和发送端
CN106656208A (zh) 一种纠正同步错误的符号级硬判决迭代译码的级联码方法
CN105703781A (zh) 用于估计同步错误位置的硬判决导向的前后向估计方法
CN101807929B (zh) 低密度奇偶校验码的选择退火最小和译码方法
CN105812000B (zh) 一种改进的bch软判决译码方法
CN101577607B (zh) 可提前结束迭代的归一化最小和译码方法
CN104052499A (zh) 一种ldpc码的纠删译码方法及系统
CN106209312A (zh) 一种利用软判决的循环码参数盲识别算法
CN106788458B (zh) 面向插入删节与替代错误的硬判决导向前后向估计方法
Wu et al. Polar codes for low-complexity forward error correction in optical access networks
CN100395974C (zh) 译码数据字的方法
US20210194509A1 (en) Information decoder for polar codes
US11515895B2 (en) Block code encoding and decoding methods, and apparatus therefor
Islam LDPC Codes Incorporating Source, Noise, and Channel Memory
CN113824452B (zh) 基于网格图的译码方法、分量译码器和信道译码器
CN103297059B (zh) 一种lt码译码方法

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: 20110427

Termination date: 20160713

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