使用LDPC准循环码进行编码和解码

申请号 CN201080005735.3 申请日 2010-02-05 公开(公告)号 CN102301603A 公开(公告)日 2011-12-28
申请人 马维尔西班牙有限责任公司; 发明人 J·V·布拉斯科克拉雷特; S·埃朗佐莫利内罗; A·巴德内斯科雷拉;
摘要 一种用于经由嘈杂介质进行数据通信的方法和设备,以便改进在经由嘈杂信道或传输介质传输信息的过程中的错误防护。该方法和改进的设备涉及在数据的编码和解码中使用针对低 密度 奇偶校验码技术的奇偶校验矩阵的新型结构,该结构改进了对错误的纠正而没有增加 硬件 实现方式的复杂度。
权利要求

1.在嘈杂介质上通信数据的方法,该方法应用于在传输中对数据进行编码并且该方法在数据上生成奇偶校验比特从而使得从K个比特的字生成N个比特的代码字;该方法的特征在于其包含以下步骤:
·选择1≤bK的自然数作为因子b,从而使得n=N/b和k=K/b为自然值;
·将大小为(n-k)×n的二元模型矩阵H0=[Ha|Hb]定义为对应于数据比特的位置的子矩阵Ha与对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和三对线结构Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;
·根据所述二元模型矩阵生成压缩矩阵H1;
·根据所述压缩矩阵h1生成奇偶校验矩阵H;
·取一数据块;
·向所述数据块应用所述奇偶校验矩阵H,以确定对应于所述块的奇偶校验比特;以及·将所述奇偶校验比特与数据块一同传输。
2.根据权利要求1所述的在嘈杂介质上通信数据的方法,其特征在于,在所述代码字被传输之前移除其一个或更多个元素,即,应用穿刺技术,从而使得传输的字将具有比获得的代码字数目更少的比特。
3.用于在嘈杂介质上通信数据的设备,该设备应用于在传输中对数据进行编码,该设备的特征在于其包括:
·用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]形成为对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和三对角线结构Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0i≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于
0;
·以及微处理器,该微处理器取数据块,使用压缩矩阵来生成奇偶校验矩阵H,向所述数据块应用该奇偶校验矩阵H以便获得对应于所述块的奇偶校验比特,以及在传输所述数据块之前向其添加所述奇偶校验比特。
4.根据权利要求3所述的用于在嘈杂介质上通信数据的设备,其特征在于,在向所述数据块添加所述奇偶校验比特之后,在传输代码字之前移除所述代码字的一个或更多个元素,即,应用穿刺技术从而使得传输的字将具有比获得的代码字数目更少的比特。
5.用于在嘈杂介质上通信数据的过程,其应用于在接收时对数据的解码,并且其使用接收的信号向量来评估数据块,从而使得从一个接收的N个比特的代码字获得K个比特的字;该过程的特征在于其包括以下步骤:
·取来自信道的信号向量;
·计算二元模型矩阵H0=[Ha|Hb],该二元模型矩阵H0=[Ha|Hb]为对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和三对角线结构Hb1,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;
·根据所述二元模型矩阵生成压缩矩阵H1;
·根据所述压缩矩阵H1生成奇偶校验矩阵H;以及
·根据所接收的信号向量和所述奇偶校验矩阵H来评估所述数据块。
6.根据权利要求5所述的在嘈杂介质上通信数据的方法,其特征在于,在根据所接收的信号向量和所述奇偶校验矩阵对数据块执行估计之前在传输中通过所述穿刺技术而被移除的位置上插入指标值。
7.用于在嘈杂介质上通信数据的设备,其应用于在接收时对数据进行解码;该设备的特征在于其包括:
·用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]形成为对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0。
8.根据权利要求7所述的用于在嘈杂介质上通信数据的设备,其特征在于,在向接收的信号向量应用奇偶校验矩阵H之前,在传输中通过穿刺技术而被移除的位置上插入指标值。
9.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于其利用以下压缩矩阵H1来获得具有1/2编码率的336比特代码字:
10.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有1/2编码率的1920比特代码字:
11.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有1/2编码率的8640比特代码字:
12.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有2/3编码率的1440比特代码字:
13.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有2/3编码率的6480比特代码字:
14.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有5/6编码率的1152比特代码字:
15.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H来获得具有5/6编码率的5184比特代码字:
16.根据权利要求2或4所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于,以1152比特代码字和5/6的编码率开始,使用以下穿刺模式:
以便获得1080比特代码字和16/18的编码率。
17.根据权利要求2或4所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于,以5184比特代码字和5/6的编码率开始,使用以下穿刺模式:
以便获得4860比特的代码字和16/18的编码率。
18.根据权利要求2或4所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于,以1152比特代码字和5/6的编码率开始,使用以下穿刺模式:
以便获得1008比特代码字和20/21的编码率。
19.根据权利要求2或4所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于,以5184比特代码字和5/6的编码率开始,使用以下穿刺模式:
以便获得4536比特代码字和20/21的编码率。
20.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有1/2编码率的336比特代码字:
21.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有1/2编码率的1920比特代码字:
22.根据权利要求1、3、5或者7所述的用于在嘈杂介质上通信数据的方法和设备,其特征在于使用以下压缩矩阵H1来获得具有1/2编码率的8640比特代码字:

说明书全文

使用LDPC准循环码进行编码和解码

技术领域

[0001] 本发明涉及数据传输,并且更具体地,涉及跨嘈杂介质(即,可能会在通信中引入错误的通信介质或信道)进行数据通信。

背景技术

[0002] 在通信环境中,通信介质或外部信号往往会引入信号错误。所述错误必须被检测到,并且如果可能,在接收过程中被纠正,从而可以恢复正确的数据。在现有技术中,存在若干用于误差检测和纠正的技术,包括基于用于纠正误差的低密度奇偶校验码的数据编码和解码。
[0003] 低密度奇偶校验码(LDPC)是用于在嘈杂传输信道上进行传输的纠错码。这些代码在消息中引入了一定的冗余(发送数目比原始消息中更多的比特),但是通过这种方式,在接收时可以检测在所接收的消息中是否存在错误并且纠正这些错误。
[0004] LDPC代码是一种其奇偶校验矩阵并不十分密集的代码,换言之,该代码的大部分元素为0。这种类型的代码在1960年代初首次公布于Robert G.Gallagher的“Low Density Parity Check Codes”(M.I.T.Press,1963)之中,并且被证明具有与已知的香农极限(理论最大数据传输率)非常相近的特征。然而,凭借代码的原始定义和当时的技术,不可能实现足够的复杂度。近来,由于集成电路的演进和结构化矩阵的发明,这些编码再次引起极大的关注。
[0005] 在现有技术中,存在多种用于实现对错误的编码和解码的方法。某些方法是在专利US 7,343,548B2和US 7,203,897B2中公布的方法,两者的标题都为“Method and Apparatus for Encoding and Decoding Data”,上述每个专利都概述了当面临数据传输中的错误时用于改进保护的方法。本发明还可以涉及IEEE802.16e和802.11n标准,这些标准介绍了用于减少错误的编码和解码。在任何一种情况下,所提到的专利和标准均使用在现有技术中已知的双对线结构,而本文件中介绍的结构是新型的并且允许具有在不增加复杂程度的情况下(因此以较低的成本)防止嘈杂介质上进行的数据通信中之错误的更好特征的实现方式。在现有技术中已知,在奇偶校验矩阵中如果列具有的汉明权重(Hamming weight)等于或小于2,则会约束LDPC的特征。然而,出于编码器的实现方式的复杂度的原因,在现有技术中使用了具有双对角线部分Hb1的矩阵。本文件中介绍的新型结构向二元模型矩阵的Hb1部分添加第三对角线,允许奇偶校验矩阵中具有小于或等于2的汉明权重的列的总数更少,从而可以实现更好的特征。该第三对角线通过以下方式选择,该方式使得编码器的实现方式的复杂度的增加几乎可以忽略不计。
[0006] 之前提到的文献不与本发明的新颖性或创造性优势相冲突。虽然它们全都基于使用现有技术中已知的LDPC技术,但是本文件的方法和设备使用了一类准循环码(准循环低密度奇偶校验码或QC-LDPC),并且应用了具有不同结构的奇偶校验矩阵作为本发明的中心点。
[0007] 贯穿本文件,将采用明确的命名法来区分贯穿本发明描述中所使用的元素。粗体大写字母(例如,A)指示该元素为矩阵;粗体小写字母(例如,a)指示该元素为向量,而小写非粗体字母(例如,a)指示该元素为标量值。另一方面,包括大小为M×N的矩阵的标量元素以a(i,j)的形式来指示,其中元组(i,j)是所述元素在矩阵内的位置,其中0≤i≤M-1为行号并且0≤j≤N-1为列号。包括大小为M的向量的元素以a(i)的形式标注,其中(i)为元素在向量中的位置(0≤i≤M-1)。
[0008] 此外,贯穿本发明将会使用术语“循环旋转”,该术语将在下文中进行定义。对向量a=[a(0),a(1),…,a(M-2),a(M-1)]的循环旋转z包括向右循环地旋转其元素,从而得到向量[a((M-z)%M),…,a((M-z-1)%M)]作为结果,其中%为“取模”运算符。以同样的方式,应用在矩阵A=[a(0),…,a(N-1)]上的循环旋转z对其列进行运算,从而得到矩阵[a((N-z)%N),…,a((N-z-1)%N)]作为结果。循环旋转还能够以相反的方向(向左)定义,从而使得向右的循环旋转z等价于分别针对向量和矩阵的向左循环旋转M-z和N-z。

发明内容

[0009] 为了实现以上章节中的目标并且避免以上章节中指出的缺点,本发明包括用于在嘈杂介质上进行数据通信的方法和设备。具体地,本发明介绍了用于对传输中使用的数据进行编码的方法、其关联的编码设备、用于进行解码的方法及其关联的解码设备。该组发明构成了独特的发明构思,该发明构思将在下文中进行描述。如果在传输中使用了上述方法或设备,则在接收中也必须使用等效的方法或设备,并且反之亦然,以使得所发送的数据可以被恢复。
[0010] 用于对数据进行编码的方法被用于传输,并且通过以下方式在数据上生成奇偶校验比特:以该方式,从包括错误防护的K比特的字中生成N比特的编码字(N>K)。所述过程包括多个步骤。首先选定因子b,该因子b是1与k之间的自然数,使得N和K除以因子b之商将是自然数(n=N/b;k=K/b)。下面将大小为(n-k)×n的二元模型矩阵H0=[Ha|Hb]定义为对应于数据比特的位置的子矩阵Ha与对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0。之后,生成压缩矩阵H1并且根据压缩矩阵H1生成奇偶校验矩阵H。从此处,取一数据块并且在该数据块上使用奇偶校验矩阵H来确定对应于所述块的奇偶校验比特。最后,与数据块一同传输所述奇偶校验比特。
[0011] 在该方法的一个实现方式中,可以在代码字被传输之前移除其一个或更多个元素,从而在不会严重损害错误防护能的情况下减少传输中的冗余。该技术被称作“穿刺(puncturing)”。在该情况下,传输的字将具有数目比通过初始过程获得的代码字更少的比特。
[0012] 数据编码设备包括用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]为对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;以及微处理器,该微处理器取数据块,使用压缩矩阵H1来生成奇偶校验矩阵H,向数据块应用该奇偶校验矩阵H来获得对应于该块的奇偶校验比特,以及在传输该数据块之前向其添加奇偶校验比特。
[0013] 在该设备的一个具体实现方式中,在向数据块添加奇偶校验比特之后但在传输之前通过应用穿刺技术来移除代码字的一个或更多个元素。通过这种方式,传输的字将具有数目比原始生成的代码字更少的比特。
[0014] 在另一方面,数据解码方法在接收时操作并且估计哪个是接收自从信道接收的信号向量的数据块。从接收的N比特的代码字(其由于信道噪声而可能具有错误)中,获得发射器希望发送的K比特数据字。这首先从信道和二元模型矩阵H0=[Ha|Hb]取得信号向量,该H0=[Ha|Hb]是对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和具有三对角线结构的矩阵Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0。之后,生成压缩矩阵H1并且从中生成奇偶校验矩阵H,并且最终根据所接收的向量信号和奇偶校验矩阵H来估计该数据块。
[0015] 如果在传输中使用了穿刺技术,则在接收时必须恢复丢失的数据。在该情况下,在根据接收的信号向量和奇偶校验矩阵对数据块进行估计之前在传输中通过穿刺技术而被移除的位置上插入指标值。
[0016] 数据解码设备包括用于存储从二元模型矩阵H0=[Ha|Hb]导出的压缩矩阵H1的装置,该二元模型矩阵H0=[Ha|Hb]是对应于数据比特的位置的子矩阵Ha和对应于奇偶校验比特的子矩阵Hb的组合,其中所述第二子矩阵Hb=[hb0|Hb1]包括n-k个位置的列向量hb0和三对角线结构Hb1,即,其中两个中心对角线的元素hb1(i,i),hb1(i+1,i)0≤i≤n-k-2以及最后一行的对角线的元素hb1(n-k-1,0)等于1,其中n-k是矩阵Hb的行和列的数目,并且其余元素等于0;微处理器,该微处理器根据压缩矩阵H1生成奇偶校验矩阵H,向接收的信号向量应用所述奇偶校验矩阵H,并估计所接收的数据块。
[0017] 如果传输设备使用了穿刺技术,则在完成纠错之前必须恢复丢失的数据。因此,在该实现方式中并且在向接收的信号向量应用奇偶校验矩阵H之前,在传输中通过穿刺技术而被移除的位置上插入指标值。
[0018] 在一个实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的336比特代码字。该矩阵为:
[0019]
[0020] 或者该矩阵为:
[0021]
[0022] 在另一实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的1920比特代码字。该矩阵为:
[0023]
[0024] 或者该矩阵为:
[0025]
[0026] 在又一实现方式中,可以使用以下压缩矩阵H1中的一个来获得具有1/2编码率的8640比特代码字。该矩阵为:
[0027]
[0028]
[0029] 或者该矩阵为:
[0030]
[0031] 在另一实现方式中,可以使用以下压缩矩阵H1来获得具有2/3编码率的1440比特代码字。该矩阵为:
[0032]
[0033] 在又一实现方式中,可以使用以下压缩矩阵H1来获得具有2/3编码率的6480比特代码字。该矩阵为:
[0034]
[0035] 在另一实现方式中,可以使用以下压缩矩阵H1来获得具有5/6编码率的1152比特代码字。该矩阵为:
[0036]
[0037] 在又一实现方式中,可以使用以下压缩矩阵H1来获得具有5/6编码率的5184比特代码字。该矩阵为:
[0038]
[0039] 一个在其中使用了穿刺技术的实现方式以1152比特代码字和5/6的编码率开始,并且应用以下穿刺模式:
[0040]
[0041] 以便获得1080比特代码字和16/18的编码率。
[0042] 另一在其中使用了穿刺技术的实现方式以具有5184比特的代码字和5/6的编码率开始,并且应用以下穿刺模式:
[0043]
[0044] 以便获得4860比特的代码字和16/18的编码率。
[0045] 又一在其中使用了穿刺技术的实现方式以具有1152比特的代码字和5/6的编码率开始,并且应用以下穿刺模式:
[0046]
[0047] 以便获得1080比特代码字和20/21的编码率。
[0048] 最后,在其中使用了穿刺技术的最后一个实现方式以5184比特代码字和5/6的编码率开始,并且应用以下穿刺模式:
[0049]
[0050] 以便获得4536比特代码字和20/21的编码率。
[0051] 下面,为了促进对本描述性文件的更多的理解,通过说明而非限制的方式给出了对本发明的一个示例性实现方式的描述。这构成本文件的不可分割的一部分。附图说明
[0052] 通过详细描述和附图将会更加全面地理解本公开,附图中:
[0053] 图1是发射器中编码器的框图
[0054] 图2是发射器中解码器的框图;
[0055] 图3是示例矩阵H的两部分的示图;以及
[0056] 图4是构造结构化LDPC码的流程图

具体实施方式

[0057] 以下参考附图中采用的标号对本发明实现方式的一个示例进行描述。
[0058] 理论上,本发明过程旨在解决的问题包括成功使用低成本硬件实现方式和LDPC代码来对数据通信中的纠错进行优化。
[0059] LDPC代码是在数据块上操作的线性代码。该代码由其奇偶校验矩阵H定义。在该实现方式示例中,代码是二进制代码,并且可以将本发明推广到任何伽罗瓦域(Galois field)GF(q)上的代码,其中q≥2。
[0060] 在传输中,数据块包括K个比特。所述数据块被指定为u=[u(0),u(1),…,u(K-1)]。在应用本发明的方法之后,生成具有N个比特的线性代码v=[v(0),v(1),…,v(N-1)](其中N<K)的字。所述代码通过乘积v=uG生成,其中G是二元矩阵KxN——LDPC代码的生成器。所生成的可能的代码集被称作集合C,并且代码的编码率为R=K/N。
[0061] 因此,可以将编码R的代码C定义为通过向所有可能的2K个二进制向量应用生成K器矩阵G而由所述所有可能的2 个二进制向量生成的向量集v∈C。等价定义可以为:C是包括在由矩阵G的K行组成的基(base)中的大小为N的向量空间。对代码C进行定义的另一备选形式是通过其奇偶校验矩阵H,这是现有技术中最常使用的形式。大小为(N-K)×NT
的该矩阵具有对偶空间C的基作为行,因此GH =0。代码的任何向量都满足[0062] vHT=0
[0063] (其中“T”是转置运算符)。
[0064] 从实践的角度讲,当使用这些代码时,优选将该代码认为是系统代码,即,其中代码字的比特在数据比特之间的代码。不失一般性地,该示例以其中v=[u|p]的情况为中心,其中p=[p(0),p(1),…p(N-K-1)]是由奇偶校验比特组成的向量,u是待传输的数据块而v是实际传输的代码字(在包括LDPC代码之后)。
[0065] 下文示出了实现方式的一个示例,其中可以观察到奇偶校验矩阵与代码字之间的关系。在该示例中,代码具有R=1/2的编码率并且由以下奇偶校验矩阵定义:
[0066]
[0067] 在该矩阵中,左边部分对应于K=5的数据比特,而右边部分对应于N-K=5的奇T偶校验比特。通过对矩阵H应用方程vH =0而获得以下方程组:
[0068]
[0069] LDPC码还可以通过被称作特纳图(Tanner graph)的两部分示图以图形形式来表示。在特纳图中,顶点节点被分类至两个单独的组或者集:“变量节点”和“检验节点”,该“变量节点”代表代码字的比特,而该“检验节点”代表奇偶校验关系。在上述两个节点集之间都可以找到定义奇偶校验方程的可能的边。在先前示例中定义的代码的情况中,其对应的图在图3中表示,其中可以找到由多条边(15)联合起来的10个变量节点(14)和5个检验节点(16)。每个检验节点通过边联合到6个变量节点,如先前的方程组中所示。可以观察到该图具有与对应的奇偶校验矩阵所具有的行和列一样多的控制节点和变量节点,并且当矩阵的元素h(i,j)(即,位于行i=0,…,N-K-1和列j=0,…,N-1中的元素)不为0时,在检验节点i和变量节点j之间可以找到边。
[0070] 在另一方面,可以在LDPC码上定义循环,其中长度为2c的循环被定义为边长度为2c的路径,该路径在代表代码的特纳图中在返回到相同的起始节点之前通过c个检验节点和c个变量节点。为了优化代码的特征,可以证明让短循环的数目尽可能最小是至关重要的。最小长度的循环被称作围长(girth)。尤其期望围长大于4,以便避免减少迭代解码器的特征。
[0071] 在原始描述中,R.Gallagher介绍了其奇偶校验矩阵是随机生成的代码。在现有技术中普遍已知的是,为了获得良好的特征(接近香农极限),代码的大小必须相对较大,因此奇偶校验矩阵必须较大。问题在于,较大并且随机生成的矩阵在编码器和解码器二者的实现中造成困难。一种避免此困难的方式是使用具有规则结构的矩阵。以下是用于生成规则结构所必需的步骤:
[0072] 1.首先,生成大小为(n-k)×n的二元模型矩阵H0,其中n<N,k<K并且R=k|n=K|N。如果H0的列和行的汉明权重是恒定的,则生成的代码被称作规则LDPC。然而,如果矩阵不规则,即,如果列的的权重遵循依赖于编码率和其中将最终完成数据传输的信道的统计分布,则可以获得更好的特征。
[0073] 2.一旦已获得二元模型矩阵H0,便生成压缩矩阵H1,从而用伪随机正整数0≤x<b(其中b=N|n)来替代H0的每个等于“1”的元素并且用值-1来替代每个等于“0”的元素。
[0074] 3.为了获得奇偶校验矩阵H,由单位子矩阵取代H1中的正元素,该单位子矩阵循环地旋转了由所讨论的H1的正元素的值所指示的次数,并且由相同大小的空子矩阵取代等于-1的元素。这些子矩阵的大小也将会是b×b。
[0075] 结果是大小为(N-K)×N的奇偶校验矩阵H,其定义了编码率为R=K|N的LDPC码。矩阵的密度(稀疏)等级将取决于b的大小。一般而言,b越大,通过使用迭代解码器获得的特征就越好。
[0076] 如果所生成矩阵的循环(特纳图)非常短,则应当出于改善这些属性的目的而应用步骤2(如果必要的话甚至应用步骤1)。
[0077] 为了促进编码器的实现,有必要以特定形式生成二元模型矩阵H0。首先,将所述矩阵分成两部分H0=[Ha|Hb],其中子矩阵Ha对应于数据比特的位置而Hb对应于奇偶校验比特。通过先前所述的方式伪随机地生成第一子矩阵。然而,第二部分通常是确定性的。
[0078] 根据现有技术并旨在促进高效编码器的设计,该第二部分Hb采取以下两种形式中的一种;第一形式为:
[0079]
[0080] 其中第一部分为具有大于2的汉明权重的伪随机列向量,并且Hb1是其元素hb1(i,j)在i=j,i=j+1时等于“1”并且在其余位置上等于“0”的双对角线矩阵。
[0081] 生成Hb的第二种方式是完全双对角线
[0082]
[0083] 其中子矩阵hb(i,j)的元素在i=j,i=j+1时等于“1”并且在其余位置上等于“0”。
[0084] 一旦生成该基矩阵结构,便以先前所述的形式生成压缩矩阵H1,唯一不同的是Hb的双对角线部分,“1”由相同的正整数替代而“0”由“-1”替代。此外,通过由经循环旋转的单位矩阵改变正整数并且由空子矩阵改变负数来获得最终的奇偶校验矩阵。可以在图4中图形地观察到该过程,其中块(17)生成二元模型矩阵H0,块(18)生成压缩矩阵H1,块(19)判定该循环是否足够长,并且该过程继续进行以通过块20生成奇偶校验矩阵H,或者如果循环短,则再次生成模型矩阵(21)或者基矩阵(22)。
[0085] 本发明的方法和设备共同修改现有技术中已知的奇偶校验矩阵的结构,以便促进编码和解码的最终实现并且改善特征。为此,所提出的结构包括:与奇偶校验比特对应的二元模型H0的部分具有以下形式:
[0086]
[0087] 其中结构Hb1是三对角线,即,除了两个中心对角线的元素hb1(I,i),hb1(i+1,i),最后一行的对角线hb1(n-k-1,0)的元素也等于“1”。以先前所述的方式生成该压缩矩阵,区别在于用严格正整数w≥0替代最后一行的等于“1”的元素。
[0088] 针对r=1/2具有n=24并且k=12的二元模型矩阵H0可以具有以下结构:
[0089]
[0090] 通过N=336的块大小从先前矩阵导出的并且因此具有扩展因子b=14的压缩矩阵H1将会是以下这样:
[0091]
[0092] 或者优选地,以下矩阵可以用作备选:
[0093]
[0094] 对于不同的块大小,可以定义能够从相同的二元模型矩阵或从另一不同的二元模型矩阵导出的不同的压缩矩阵。
[0095] 为了获得具有1/2的编码率的1920比特的代码字,可以使用以下矩阵:
[0096]
[0097] 或者,优选地,使用矩阵:
[0098]
[0099] 从不同二元模型矩阵导出的具有扩展因子360的N=8640比特的压缩矩阵将会是以下这样:
[0100]
[0101] 用于获得具有1/2的编码率的8640比特的代码字的另一优选备选为以下矩阵:
[0102]
[0103] 从压缩矩阵到二元模型的步骤是意义明确的,但是对于相反的步骤却不是意义明确的;换言之,根据二元模型矩阵可能获得不同的压缩矩阵。二元矩阵被引入作为促进对本发明的描述的步骤。可以直接产生压缩矩阵而不需要经过二元模型矩阵。在这种情况下,对于压缩矩阵而言,如果该压缩矩阵是三对角线,则其对应的二元模型矩阵可以根据本发明的方法获得。
[0104] 纠错码可以是“穿刺的”,其中用于穿刺的技术在于移除代码字的元素,使得它们将不被传输。替代于传输代码字v=[v(0),v(1),…,v(N-1)],将传输字w=[w(0),w(1),…,w(M-1)],其中M<N。穿刺必须以受控的方式完成,从而使得必要的冗余得以传输,以便接收器的解码器能够评估所传输的数据。该穿刺应用于数据比特和奇偶校验比特二者。穿刺的模式可以被定义为经穿刺的待传输比特的序列,其中所述比特模式可以是周期性的或非周期性的。在没有规律性的情况下,所述模式可以用N个位置的向量pp来描述,从而用“1”指示待传输的比特,并且用“0”指示待排除(穿刺)的比特。由于穿刺技术,数据通信可以被放大,这是因为发送了较少的冗余。如果模式pp的汉明权重为M,则整个系统的错误编码率为R=K|M。
[0105] 例如,如果拥有具有R=5/6和块大小为N=5184的代码并且希望执行穿刺以便将所述的编码率增加到R=16/18,则可以使用以下穿刺模式,其将产生具有N=4860个比特的块:
[0106]
[0107] 为了完成LDPC码的实现,而使用电子设备——无论其是在微处理器上执行的程序还是FPGA或ASIC硬件实现方式。所述设备接收数据块,计算奇偶校验比特,将所述奇偶校验比特与信息比特并置起来,并且将它们提交到发射器的后续阶段,以得到充分调制并通过对应信道传输。奇偶校验比特的计算可以借助于生成器矩阵G的乘积或者先前呈现的方程组的结果来完成。
[0108] LDPC码的解码器通常基于迭代解码器。在若干现有技术选项中,可能的解码器包括估计器,该估计器在接收对应于所传输的代码r=v+z的字(其中Z是附加信道噪声)时做出噪声估计 使得 在系统使用穿刺技术的情况下,在解码器之前将会存在向穿刺位置中插入指标的单元。该指标用于引导解码器估计这些位置中的正确值。
[0109] 图1示出了典型编码器的框图,其中(1)是待传输的数据块u=[u(0),u(1),…,u(K-1)],(2)是包含奇偶校验矩阵H或生成器矩阵G的表示形式的存储器,(3)是所述矩阵,(4)是执行编码算法的块,(5)是通过编码而获得的线性编码字v=[v(0),v(1),…,v(N-1)],(6)是进行穿刺的块,以及(7)是在穿刺之后获得的字w=[w(0),w(1),…,w(M-1)]。
[0110] 图2示出了解码器的框图,其中(8)表示从信道接收的信号s=[s0,s1,…,sM-1],该信号类似于在穿刺之后但在被信道噪声影响之后获得的字,(9)表示执行“解穿刺”从而获得字r=[r(0),r(1),…,r(N-1)](10)的块,字(10)具有LDPC码中的比特数。(11)是接收器中包含奇偶校验矩阵或生成器矩阵的存储器,并且将其(12)传输到执行解码器算法的块(13)。该块的输出将会是重新构造的数据(14)
QQ群二维码
意见反馈