CN102420616B - 基于拉丁方阵的准循环ldpc码纠错方法 - Google Patents

基于拉丁方阵的准循环ldpc码纠错方法 Download PDF

Info

Publication number
CN102420616B
CN102420616B CN 201110363098 CN201110363098A CN102420616B CN 102420616 B CN102420616 B CN 102420616B CN 201110363098 CN201110363098 CN 201110363098 CN 201110363098 A CN201110363098 A CN 201110363098A CN 102420616 B CN102420616 B CN 102420616B
Authority
CN
China
Prior art keywords
latin square
row
matrix
quasi
column
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
CN 201110363098
Other languages
English (en)
Other versions
CN102420616A (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN 201110363098 priority Critical patent/CN102420616B/zh
Publication of CN102420616A publication Critical patent/CN102420616A/zh
Application granted granted Critical
Publication of CN102420616B publication Critical patent/CN102420616B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种基于拉丁方阵的准循环LDPC码纠错方法,主要解决现有技术的缺少简易方法找到全部满足行列约束关系的拉丁方阵的问题。其实现过程是:(1)寻找拉丁方阵第二行中能自由取值元素的位置集合Ψ;(2)构造拉丁方阵的第二行;(3)构造整个拉丁方阵W;(4)生成准循环LDPC码的校验矩阵H;(5)由校验矩阵H得到生成矩阵G;(6)在发端,由生成矩阵G对信息编码之后发到信道;(7)在收端,根据校验矩阵H进行译码,从噪声中恢复信息。仿真表明,本发明所构造的基于拉丁方阵的准循环LDPC码的纠错性能优异,可用于需要高度可靠性的通信或数字存储系统中进行纠错。

Description

基于拉丁方阵的准循环LDPC码纠错方法
技术领域
本发明属于通信领域,涉及一种信道准循环LDPC码纠错方法,具体涉及用满足行列约束关系的拉丁方阵构造一类准循环LDPC码,用于需要高度可靠性的通信或数字存储系统中进行纠错。
背景技术
现代信息社会日新月异,通信技术更是迅猛发展。通信的最基本目的在于实现信息传输的有效性和可靠性。提高信息传输有效性的方法是提高频谱效率,而提高可靠性的方法是采用纠错码技术。现代各种通信系统中采用的纠错码主要是以Turbo码和LDPC码为代表的迭代可译码。
LDPC码于1962年由Gallager提出,它是除Turbo码之外的另一种近香农限的信道编码方案。虽然Gallager证明了LDPC码是渐进好码,但是限于当时的计算能力,LDPC码一度被认为是一种无法实现的信道编码方案,在很长一段时间内都没有受到人们的重视。1981年,随着Tanner著作的出现,LDPC码可以用图论的角度进行新的理解和诠释,然而不幸的是这一理论成果依然没有得到人们的关注。直到90年代初,随着Turbo码的出现,这才引发了众多学者对LDPC码的研究兴趣。MacKay和Neal在上世纪九十年代中期利用随机构造的Tanner图研究了LDPC码的性能,采用和积译码算法的LDPC码字具有了与Turbo码相似的译码性能,长的LDPC码在基于BP译码算法上甚至超过了Turbo码,它可以达到距离香农限只有0.1dB以下的距离,这个发现使得LDPC码比Turbo码在需要高度可靠性的通信和数字存储系统纠错中更具有竞争力。从此之后,有关LDPC码的文献大量涌现。
LDPC码的构造方法基本分为两类,一类是基于计算机搜索的伪随机码,另一类是基于有限域或有限几何的代数码。基于计算机搜索的伪随机码往往性能优异,具有逼近香农限的性能,但是其一般码长较长,生成矩阵和校验矩阵没有一定的结构性,从而实现复杂度比较高。基于有限域或有限几何的代数码特别是准循环LDPC码,具有一定的代数结构,这给编译码器的实现和码字结构性能的分析带来了方便,而且,经过精心设计的代数码的性能并不比伪随机码的性能差。美国加州大学戴维斯分校的Lin Shu老师用代数的方法系统地构造了多类LDPC码,这些LDPC码具有非常好的结构特性,且所对应的Tanner图不含有4环结构,错误平层极低甚至没有错误平层。LinShu老师构造的码中有一类码是基于拉丁方阵构造的,这类码不但不含有4环结构,而且其距离特性和trapping sets特性都很好,所以其错误平层极低,这类码适合应用在需要高度可靠性的通信或数字存储系统中。
但是,满足行列约束关系的同阶拉丁方阵有多个,并且基于它们构造的准循环LDPC码在高信噪比区域的性能存在差异,而Lin Shu老师在构造中只给出了其中一种特例,这种特例的性能不是最好的,而且这个特例不能为进一步寻找具有低错误平层的码字提供更为广泛的空间。另一方面,要找出所有满足行列约束关系的同阶拉丁方阵,如果采用全搜索,则复杂度高的不可实现。
发明内容
本发明针对上述已有技术的不足,提出一种基于拉丁方阵的准循环LDPC码纠错方法,以一个简单算法得到全部满足行列约束条件的拉丁方阵,并以此拉丁方阵为基础构造一类准循环LDPC码,以实现在需要高度可靠性的通信和数字存储系统中进行纠错。
实现本发明目的技术方案,包括如下步骤:
(1)寻找拉丁方阵第二行中能自由取值元素的位置集合:Ψ={p1,p2,...,pL},其中L为位置集合Ψ中元素的个数,pl为位置集合Ψ中的第l个位置元素,l∈{1,2,...,L};
(2)根据位置集合Ψ,构造拉丁方阵的第二行v1=[v1,0 v1,1 v1,2…v1,n-1],其中vi,j为拉丁方阵中的第i行第j列元素,i=1,j∈{0,1,...,n-1}:
(2a)设拉丁方阵的第二行第一列元素v1,0为0,第二行第二列元素v1,1为-1;
(2b)重新初始化辅助集合Θ为:Θ={1,2,3,...,n-2},任取拉丁方阵的第二行第p1+2,p2+2,...,pL+2列元素为辅助集合Θ中的L个互不相同的元素,其中p1,p2,...,pL为位置集合Ψ中的诸元素;
(2c)由第二行第pl+2列元素
Figure BDA0000108941750000022
按如下关系式确定第二行第n-pl+1列元素: v 1 , n - p l = ( v 1 , p l + 1 - p l ) % ( n - 1 ) , l∈{1,2,...,L};
(2d)由第二行第pl+2列元素
Figure BDA0000108941750000031
按如下关系式确定第二行第2pl%(n-1)+2列元素: v 1 , 2 p l % ( n - 1 ) + 1 = 2 v 1 , p l + 1 % ( n - 1 ) , l∈{1,2,...,L};
(2e)检测两个相邻元素之间的差值(v1,j-1-v1,j+1)%(n-1)是否各不相同,j∈{4,5,...,n-1};检测相隔一个元素的两个元素之间的差值(v1,j-2,-v1,j+2)%(n-1),j∈{4,5,...,n-1}是否各不相同;如果所述两个检测有一个不满足,则宣告失败;若所述两个检测都满足,则查找成功,找到了一个满足条件的拉丁方阵的第二行;
(2f)在辅助集合Θ中,重新选取一组L个互不相同的元素,作为拉丁方阵的第二行第p1+2,p2+2,...,pL+2列的元素,重复步骤(2c)~(2e),直到辅助集合Θ中的所有L个互不相同的元素组合都被搜索到;
(3)利用拉丁方阵的第二行,如下构造整个拉丁方阵W:
(3a)设对角线上的元素vi,i=-1,i∈{1,2,...,n-1};
(3b)从W矩阵的第三行开始,逐行生成,由第i行第j列元素按如下关系式生成第i+1行第j+1列元素:
vi,j=(vi-1,j-1+1)%(n-1),i∈{2,3,...,n-1},j∈{2,3,...,n-1}且j≠i;
(3c)由矩阵的对称性,得到对角线以下各元素的值:
vi,j=vj,i,i∈{2,3,...,n-1},j∈{1,2,...,n-2}且j<i;最后得到的拉丁方阵W如下:
Figure BDA0000108941750000033
(4)任取W矩阵的α行β列得到W的子矩阵Wα,β(α<β),以Wα,β为基矩阵生成准循环LDPC码的校验矩阵H:
Figure BDA0000108941750000034
其中Vi,j为矩阵H的第i+1行第j+1列元素,hs,t的取值为0或1,代表校验矩阵H的第s+1行第t+1列元素,s∈{0,1,...,(n-1)(α-1)},t∈{0,1,...,(n-1)(β-1)};
(5)取校验矩阵H的列数(n-1)β为所构造LDPC码的码长
Figure BDA0000108941750000041
校验矩阵H的秩为信息位长度
Figure BDA0000108941750000042
则得到了一个参数为
Figure BDA0000108941750000043
的准循环LDPC码,对校验矩阵H进行求逆运算得到生成矩阵G;
(6)在发送端,根据生成矩阵G对信源发送的长为
Figure BDA0000108941750000044
的信息向量u进行编码,得到长为
Figure BDA0000108941750000045
的码字:c=uG,并将码字c发送到离散无记忆信道,设该信道的加性噪声为n,则接收序列为
Figure BDA0000108941750000046
(7)在接收端,根据校验矩阵H进行消息传递迭代译码算法,对接收序列
Figure BDA0000108941750000047
中由于噪声引入的错误进行纠正,恢复发送的信息向量u。
本发明由于所构造的LDPC码具有准循环结构,因而编译码器实现复杂度低;同时由于在构造过程中,设计的拉丁方阵满足行列约束关系,故使得构造的LDPC码的Tanner图中不含有4环结构,从而具有极低的错误平层性能,甚至没有错误平层的出现;此外由于本发明所构造的LDPC码的码率较高,从而引入的冗余较少;由于本发明使用所述的准循环LDPC码进行纠错,所以实现复杂度低,纠错性能优异,特别适于应用在具有高度可靠性的通信系统比如光纤通信、深空通信和数字存储系统中。
附图说明
图1为本发明基于拉丁方阵的准循环LDPC码纠错方法总流程图;
图2为本发明中寻找拉丁方阵第二行中能自由取值元素的位置集合的子流程图;
图3为本发明中构造拉丁方阵的第二行的子流程图;
图4为本发明所构造的拉丁方阵生成的准循环LDPC码的性能仿真图。
下面结合附图对本发明的内容做进一步的详细说明。
具体实施方式
参见图1所示,本发明基于拉丁方阵的准循环LDPC码纠错方法包括七个步骤,其中前三步生成拉丁方阵;第四步和五步分别生成准循环LDPC码的校验矩阵和生成矩阵;第六步和七步将所构造的准循环LDPC用于纠错。具体表述如下:
步骤1,寻找拉丁方阵第二行中能自由取值元素的位置集合Ψ:
参见图2所示,本步骤具体实现如下:
(1a)对于给定的所构造的拉丁方阵的阶数n=2m,初始化集合,即将辅助集合Θ初始化为Θ={1,2,3,...,n-2},将位置集合Ψ初始化为空集。在满足行列约束关系的拉丁方阵中,其第二行中的某些位置的元素之间具有相互制约关系,所以,一旦某个位置的元素确定以后,与其具有制约关系的相应位置的取值就唯一的确定了。所以,只需首先确定拉丁方阵第二行中能自由取值元素的位置,其它位置的元素也就唯一确定了,这样可以大大减小构造过程中的搜索复杂度;
(1b)找出辅助集合Θ中的最小元素,记为p,把该最小元素p从辅助集合Θ放入位置集合Ψ中。拉丁方阵第二行中的所有位置包括{1,2,3,...,n-2},可以把这些位置分为L组,而具有相互制约关系的位置分到同一组,这样一旦本组的一个位置的元素确定,其它位置的元素就可以都确定了。对于每组而言,取组中的最小元素作为本组的代表pl,l∈{1,2,...,L};
(1c)初始化循环变量k=1,判断最小元素p的倍数元素p2k%(n-1)是否属于辅助集合Θ,若属于,则删除辅助集合Θ中的倍数元素;若不属于,不做任何操作;判断倍数元素的补元素n-1-p2k%(n-1)是否属于辅助集合Θ,若属于,则删除辅助集合Θ中的补元素;若不属于,不做任何操作;将循环变量k加1后再进行上述两个判断,直到k的值增加到log2n为止;其中%代表取模运算。保留第l,l∈{1,2,...,L}组的代表元素pl到位置集合Ψ后,本组中的其它元素就可以从辅助集合Θ中删除;
(1d)经过上述步骤,得到了第l,l∈{1,2,...,L}组的代表元素pl,重复步骤(1b)和(1c),直到辅助集合Θ成为空集为止,则此时的位置集合Ψ为Ψ={p1,p2,...,pL},其中L为位置集合Ψ中元素的个数,pl为位置集合Ψ中的第l个位置元素,l∈{1,2,...,L},位置集合Ψ中的所有元素就记录了各组的代表元素。
下面通过一个具体的例子来说明位置集合Ψ的寻找过程:
例1:对于满足行列约束关系的23阶拉丁方阵,m=3,n=8,其第2行的第4列元素是其第3列元素的2倍;第6列元素是其第3列元素的4倍;第8列元素是第3列元素的补元素即n-1减去第3列元素;第7列元素是第4列元素的补元素即n-1减去第4列元素;以上关系都是在模n-1下进行的。由于上述关系的存在,所以只需确定第3列和第5列元素的值就可以求出所有其它位置的取值,即位置集合Ψ={1,3},L=2。
步骤2,构造拉丁方阵的第二行:
参见图3所示,本步骤具体实现如下:
(2a)由满足行列约束关系的拉丁方阵的对称性,得到第二行第一列元素v1,0的取值为0;通过并不改变生成的准循环LDPC码的性能的行列交换,将第二行第二列元素v1,1设为-1;
(2b)重新初始化辅助集合Θ为:Θ={1,2,3,...,n-2},任取拉丁方阵的第二行第p1+2,p2+2,...,pL+2列元素
Figure BDA0000108941750000061
为辅助集合Θ中的L个互不相同的元素,其中p1,p2,...,pL为位置集合Ψ中的诸元素,对于位置集合Ψ中的那L个位置的元素赋以Θ中的任意一个值,这L个元素取值需要各不相同,这是由拉丁方阵的特点决定的;
(2c)由第二行第pl+2列元素按如下关系式确定第二行第n-pl+1列元素:
Figure BDA0000108941750000063
l∈{1,2,...,L};从第l组的代表位置的元素
Figure BDA0000108941750000064
出发,确定本组中补元素的值;
(2d)由第二行第pl+2列元素
Figure BDA0000108941750000065
按如下关系式确定第二行第2pl%(n-1)+2列元素:
Figure BDA0000108941750000066
l∈{1,2,...,L};从第l组的代表位置的元素出发,确定本组中倍数位置的元素值;
(2e)检测两个相邻元素之间的差值(v1,j-1-v1,j+1)%(n-1)是否各不相同,j∈{4,5,...,n-1};检测相隔一个元素的两个元素之间的差值(v1,j-2-v1,j+2)%(n-1),j∈{4,5,...,n-1}是否各不相同;如果所述两个检测有一个不满足,则宣告查找失败;若所述两个检测都满足,则查找成功,找到了一个满足条件的拉丁方阵的第二行。检测第二行中相邻元素和相隔一个元素的两个元素之间的差值以保证最终生成的拉丁方阵满足行列约束关系;
(2f)在辅助集合Θ中,重新选取一组L个互不相同的元素,作为拉丁方阵的第二行第p1+2,p2+2,...,pL+2列的元素,重复步骤(2c)~(2e),直到辅助集合Θ中的所有L个互不相同的元素组合都被搜索到。位置集合Ψ诸元素的取值是任意的,所以使其取遍所有可能的取值,以得到多个满足行列约束关系的拉丁方阵。
下面一个例子给出了一个具体的满足行列约束关系的拉丁方阵的第二行:
例2:对于满足行列约束关系的23阶拉丁方阵,m=3,n=8,根据例1所述各个位置的元素之间的制约关系,若第3列元素的取值为3,则可以得到整个拉丁方阵的第二行为[0 -1 3 6 1 5 4 2]。
步骤3,利用拉丁方阵的第二行,构造整个拉丁方阵W:
(3a)拉丁方阵的行列交换不会影响其生成的准循环LDPC码的性能,所以首先经过行列交换,将对角线上的元素设为vi,i=-1,i∈{1,2,...,n-1};
(3b)从W矩阵的第三行开始,逐行生成,由第i行第j列元素按如下关系式生成第i+1行第j+1列元素:
vi,j=(vi-1,j-1+1)%(n-1),i∈{2,3,...,n-1},j∈{2,3,...,n-1}且j≠i;这样可以保证生成的拉丁方阵的各行各列之间满足行列约束关系;
(3c)由矩阵的对称性,得到对角线以下各元素的值:
vi,j=vj,i,i∈{2,3,...,n-1},j∈{1,2,...,n-2}且j<i;
最后得到的拉丁方阵W如下:
下面举例说明,最后得到的拉丁方阵W:
例3:对于满足行列约束关系的23阶拉丁方阵,m=3,n=8,根据例2给定的拉丁方阵的第二行,得到整个拉丁方阵如下所示:
- 1 0 1 2 3 4 5 6 0 - 1 3 6 1 5 4 2 1 3 - 1 4 0 2 6 5 2 6 4 - 1 5 1 3 0 3 1 0 5 - 1 6 2 4 4 5 2 1 6 - 1 0 3 5 4 6 3 2 0 - 1 1 6 2 5 0 4 3 1 - 1 .
下面介绍上述方阵所具有的性质,由于交换拉丁方阵的任意两行或两列不会改变生成的LDPC码的校验矩阵的Tanner图,所以交换拉丁方阵的任意两行或两列不会影响所设计码的性能。因此,首先交换拉丁方阵的列使得拉丁方阵的第一行各元素按从小到大排列;交换拉丁方阵的行使得各行中-1都位于对角线上。满足行列约束关系的拉丁方阵所具有的性质如下:
性质1:为对称方阵;
性质2:在不包含对角线的右上三角阵中,从第三行开始的以后各行,方阵中的第i行第j列元素都是第i-1行第j-1列元素加1模2m-1得到;
性质3:对于l∈{1,2,...,L},方阵中存在以下关系式:
v 1 , n - p l = ( v 1 , p l + 1 - p l ) % ( n - 1 ) ;
v 1 , 2 p l % ( n - 1 ) + 1 = 2 v 1 , p l + 1 % ( n - 1 ) .
由性质1,满足行列约束关系的拉丁方阵具有对称性,所以只需先确定拉丁方阵右上三角中的元素,右下三角中的元素可以由矩阵的对称性得到;
由性质2,得到只需要构造方阵第二行的后2m-2个元素即可;
由性质3,得到只需确定方阵中第2行列为p1,p2,...,pL的那些元素即可。
综上,正是由于满足行列约束关系的拉丁方阵具有上述三个性质,所以才有上述前三步的拉丁方阵构造过程。
同时,由上述三个性质可知,一个满足行列约束关系的拉丁方阵可以完全由其第二行的诸元素按上述性质生成,因此,可以用拉丁方阵的第二行唯一的标识一个满足行列约束关系的拉丁方阵,故称拉丁方阵的第二行为一个拉丁方阵的基向量。
下面来比较一下采用全搜索和本发明的方法找到全部满足行列约束关系的拉丁方阵的算法复杂度。要想找到满足行列约束关系的全部拉丁方阵,如果采用全搜索,则第2行所有可能的排列有(2m-2)!种可能,第3行所有可能的排列有(2m-3)!种可能,所以整个方阵所有可能的排列就有
Figure BDA0000108941750000083
种可能。采用本发明中的方法,只需要确定第2行中L个位置的元素即可,所以只需要尝试种可能,其他位置的元素都可以通过计算得到。由此可见,本发明的搜索复杂度由
Figure BDA0000108941750000085
降到o(2mL)。
本发明能找到全部满足行列约束关系的2m阶拉丁方阵,而随着拉丁方阵阶数2m的不同,满足行列约束关系的拉丁方阵的个数也不同,其随着m的增大而增多,如下表所示:
Figure BDA0000108941750000091
步骤4,利用拉丁方阵W,生成准循环LDPC码的校验矩阵H:
任取W矩阵的α行β列得到W的子矩阵Wα,β,α<β,以Wα,β为基矩阵生成准循环LDPC码的校验矩阵H:
(4a)当矩阵Wα,β的第i+1行第j+1列元素为-1时,则该元素用(n-1)×(n-1)的全零方阵替换,i∈{0,1,...,α-1},j∈{0,1,...,β-1};
(4b)当矩阵Wα,β的第i+1行第j+1列元素为其他值时,则该元素用(n-1)×(n-1)的循环置换阵Vi,j={αi′,j′},i′,j′∈{0,1,...,n-2}替换,其中i∈{0,1,...,α-1},j∈{0,1,...,β-1},αi′,j′为矩阵Vi,j中的第i′+1行第j′+1列元素,
Figure BDA0000108941750000092
最终得到的校验矩阵H为:
其中Vi,j为矩阵H的第i+1行第j+1列元素,hs,t的取值为0或1,代表校验矩阵H的第s+1行第t+1列元素,s∈{0,1,...,(n-1)(α-1)},t∈{0,1,...,(n-1)(β-1)}。
下面举例说明由拉丁方阵W生成准循环LDPC码的校验矩阵H:
例4:一个22阶拉丁方阵W如下所示:
Figure BDA0000108941750000094
由以上拉丁方阵W,选取α=4,β=4,按步骤(4)生成的校验矩阵H如下:
Figure BDA0000108941750000101
下面以上述校验矩阵H为例,来给出生成的校验矩阵H中不含4环的拉丁方阵应该满足的条件,以说明所构造的拉丁方阵需要满足行列约束关系的原因。若校验矩阵H中存在2行,在这2行存在2列元素在对应位置上都是1,连接这4个1就形成校验矩阵H中的一个矩形,这个矩形对应着校验矩阵的Tanner图中的一个4环。如上述校验矩阵H中的虚线所示,其中示出了3个4环,这3个4环都出自于拉丁方阵W中虚线所标出的元素。可以看出,之所以存在4环,是因为拉丁方阵中存在两行,它们有两列对应位置的元素的差值相等,比如22阶拉丁方阵W中第2行第1列与第3行第1列元素的差为1,而第2行第2列与第3行第2列元素的差也是1,从而导致了校验矩阵H中4环的出现。所以为了避免生成的校验矩阵中不含有4环,则要求拉丁方阵中任意两行或两列中对应位置的元素的差各不相同,这个要求就称为拉丁方阵需要满足的行列约束关系。
步骤5,由校验矩阵H得到生成矩阵G:
取校验矩阵H的列数(n-1)β为所构造LDPC码的码长
Figure BDA0000108941750000102
校验矩阵H的秩为信息位长度
Figure BDA0000108941750000103
则得到了一个参数为
Figure BDA0000108941750000104
的准循环LDPC码,对校验矩阵H进行求逆运算得到生成矩阵G。由校验矩阵得到生成矩阵G现有技术有很多简化算法,例如高斯消元法、块高斯消元法。
步骤6,在发送端,根据生成矩阵G对信息向量编码之后发送到信道:
在发送端,根据生成矩阵G对信源发送的长为
Figure BDA0000108941750000105
的信息向量u进行编码,得到长为
Figure BDA0000108941750000106
的码字:c=uG,经过编码引入的个比特称为校验比特。校验比特的引入增加了传输码字的冗余度,但是可以利用其和信息比特之间的约束关系纠正传输过程中发生错误的比特。完成编码之后,将码字c发送到离散无记忆信道,设该信道的加性噪声为n,则接收序列为
Figure BDA0000108941750000108
步骤7,在接收端,根据校验矩阵H进行译码,从噪声中恢复信息向量:
在接收端,根据校验矩阵H进行消息传递迭代译码算法,对接收序列
Figure BDA0000108941750000111
中由于噪声引入的错误进行纠正,恢复发送的信息向量u。对接收端准循环LDPC码的译码算法的研究已经比较成熟,例如和积译码算法、最小和算法、比特翻转算法,在实际应用中可以根据译码算法的实现复杂度、译码性能及译码收敛速度等方面权衡之后,采用合适的译码算法。
本发明的效果,可通过以下仿真进一步说明:
1.仿真条件
仿真是在AWGN信道下采用BPSK调制进行的。仿真过程中,在接收端采用的是和积译码算法,译码迭代次数为50次。对于每个仿真信噪比点,仿真退出的条件是有100帧出错或是达到仿真上限107帧。仿真中采用的码字是基于26阶拉丁方阵构造的准循环LDPC码,α=6和β=64。满足行列约束关系的26阶拉丁方阵共有6个,下表中给出了它们的位置集合以及它们各自的基向量:
Figure BDA0000108941750000112
Figure BDA0000108941750000121
由上述6个拉丁方阵生成对应的6个准循环LDPC码,可以用生成这些码的基向量唯一的标识,这些码具有相同的参数:码长是4032,信息位长度是3708,码率为0.92。
2.仿真内容与结果
对具有上述参数的6个准循环LDPC码进行了仿真,仿真结果见图4。图4中的横轴代表信噪比EbNo,单位是dB;纵轴代表误比特率BER,其是错误比特占总的发送信息比特的比例,体现了所仿真的LDPC码的纠错性能。图4中所标为生成各个码字的基向量。由仿真结果图4可见,本发明构造出的6个准循环LDPC码的纠错性能优异,其中标有“基向量I”的曲线是Lin Shu老师构造的准循环LDPC码的仿真性能,而且本发明所构造的6个准循环LDPC码的纠错性能在高信噪比区域存在差异,其中标有“基向量V”的仿真曲线纠错性能最好,这为进一步寻找低错误平层的码字奠定了广泛的空间。

Claims (2)

1.一种基于拉丁方阵的准循环LDPC码纠错方法,包括如下步骤:
(1)寻找拉丁方阵第二行中能自由取值元素的位置集合Ψ:
(1a)初始化集合,即将辅助集合Θ初始化为Θ={1,2,3,…,n-2},将位置集合Ψ初始化为空集,其中n代表所构造的拉丁方阵的阶数;
(1b)找出辅助集合Θ中的最小元素,记为p,把该最小元素p从辅助集合Θ放入位置集合Ψ中;
(1c)初始化循环变量k=1,判断最小元素p的倍数元素p2k%(n-1)是否属于辅助集合Θ,若属于,则删除辅助集合Θ中的倍数元素;若不属于,不做任何操作;判断倍数元素的补元素n-1-p2k%(n-1)是否属于辅助集合Θ,若属于,则删除辅助集合Θ中的补元素;若不属于,不做任何操作;将循环变量k加1后再进行上述两个判断,直到k的值增加到log2n为止;其中%代表取模运算;
(1d)重复步骤(1b)和(1c),直到辅助集合Θ成为空集为止,则此时的位置集合Ψ为Ψ={p1,p2,…,pL},其中L为位置集合Ψ中元素的个数,pl为位置集合Ψ中的第l个位置元素,l∈{1,2,…,L};
(2)根据位置集合Ψ,构造拉丁方阵的第二行 v 1 = [ v 1,0 v 1,1 v 1,2 . . . v 1 , n - 1 ] , 其中vi,j为拉丁方阵中的第i+1行第j+1列元素,i=1,j∈{0,1,…,n-1}:
(2a)设拉丁方阵的第二行第一列元素v1,0为0,第二行第二列元素v1,1为-1;
(2b)重新初始化辅助集合Θ为:Θ={1,2,3,…,n-2},任取拉丁方阵的第二行第p1+2,p2+2,…,pL+2列元素
Figure FDA00002943822900012
为辅助集合Θ中的L个互不相同的元素,其中p1,p2,…,pL为位置集合Ψ中的诸元素;
(2c)由第二行第pl+2列元素
Figure FDA00002943822900013
按如下关系式确定第二行第n-pl+1列元素:
v 1 , n - pl = ( v 1 , pl + 1 - p l ) % ( n - 1 ) , l ∈ { 1,2 , . . . , L } ;
(2d)由第二行第pl+2列元素v1,pl+1按如下关系式确定第二行第2pl%(n-1)+2列元素: v 1,2 pl % ( n - 1 ) + 1 = 2 v 1 , pl + 1 % ( n - 1 ) , l ∈ { 1,2 , . . . , L } ;
(2e)检测两个相邻元素之间的差值(v1,j-1-v1,j+1)%(n-1)是否各不相同,j∈{4,5,…,n-1};检测相隔一个元素的两个元素之间的差值(v1,j-2-v1,j+2)%(n-1),j∈{4,5,…,n-1}是否各不相同;如果所述两个检测有一个不满足,则宣告失败;若所述两个检测都满足,则查找成功,找到了一个满足条件的拉丁方阵的第二行;
(2f)在辅助集合Θ中,重新选取一组L个互不相同的元素,作为拉丁方阵的第二行第p1+2,p2+2,…,pL+2列的元素,重复步骤(2c)~(2e),直到辅助集合Θ中的所有L个互不相同的元素组合都被搜索到;
(3)利用拉丁方阵的第二行,如下构造整个拉丁方阵W:
(3a)设对角线上的元素vi,i=-1,i∈{1,2,...,n-1};
(3b)从W矩阵的第三行开始,逐行生成,由第i行第j列元素按如下关系式生成第i+1行第j+1列元素:
vi,j=(vi-1,j-1+1)%(n-1),i∈{2,3,...,n-1},j∈{2,3,...,n-1}且j≠i;
(3c)由矩阵的对称性,得到对角线以下各元素的值:
vi,j=vj,i,i∈{2,3,...,n-1},j∈{1,2,...n-2}且j<i;
最后得到的拉丁方阵W如下:
Figure FDA00002943822900021
(4)任取W矩阵的α行β列得到W的子矩阵Wα,β,α<β,以Wα,β为基矩阵生成准循环LDPC码的校验矩阵H:
Figure FDA00002943822900022
其中Vi,j为矩阵H的第i+1行第j+1列元素,hs,t的取值为0或1,代表校验矩阵H的第s+1行第t+1列元素,s∈{0,1,…,(n-1)(α-1)},t∈{0,1,…,(n-1)(β-1)};
(5)取校验矩阵H的列数(n-1)β为所构造LDPC码的码长
Figure FDA00002943822900025
校验矩阵H的秩为信息位长度
Figure FDA00002943822900023
则得到了一个参数为的准循环LDPC码,对校验矩阵H进行求逆运算得到生成矩阵G;
(6)在发送端,根据生成矩阵G对信源发送的长为
Figure FDA00002943822900031
的信息向量u进行编码,得到长为
Figure FDA00002943822900032
的码字:c=uG,并将码字c发送到离散无记忆信道,设该信道的加性噪声为n,则接收序列为
Figure FDA00002943822900033
(7)在接收端,根据校验矩阵H进行消息传递迭代译码算法,对接收序列
Figure FDA00002943822900036
中由于噪声引入的错误进行纠正,恢复发送的信息向量u。
2.根据权利要求1所述的一种基于拉丁方阵的准循环LDPC码纠错方法,其中步骤(4)所述的以Wα,β为基矩阵生成准循环LDPC码的校验矩阵H,按如下步骤进行:
(4a)当矩阵Wα,β的第i+1行第j+1列元素为-1时,则该元素用(n-1)×(n-1)的全零方阵替换,i∈{0,1,...,α-1},j∈{0,1,...,β-1};
(4b)当矩阵Wα,β的第i+1行第j+1列元素为其他值时,则该元素用(n-1)×(n-1)的循环置换阵Vi,j={αi',j'},i',j'∈{0,1,...,n-2}替换,其中αi',j'为矩阵Vi,j中的第i'+1行第j'+1列元素,i∈{0,1,...,α-1},j∈{0,1,...,β-1},
Figure FDA00002943822900034
其中,α和β的取值根据所构造的准循环LDPC码的码长、码率、行重及列重确定,最后得到的校验矩阵H如下:
Figure FDA00002943822900035
其中,hs,t的取值为0或1,代表校验矩阵H的第s+1行第t+1列元素,s∈{0,1,…,(n-1)(α-1)},t∈{0,1,…,(n-1)(β-1)}。
CN 201110363098 2011-11-16 2011-11-16 基于拉丁方阵的准循环ldpc码纠错方法 Expired - Fee Related CN102420616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110363098 CN102420616B (zh) 2011-11-16 2011-11-16 基于拉丁方阵的准循环ldpc码纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110363098 CN102420616B (zh) 2011-11-16 2011-11-16 基于拉丁方阵的准循环ldpc码纠错方法

Publications (2)

Publication Number Publication Date
CN102420616A CN102420616A (zh) 2012-04-18
CN102420616B true CN102420616B (zh) 2013-08-14

Family

ID=45944875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110363098 Expired - Fee Related CN102420616B (zh) 2011-11-16 2011-11-16 基于拉丁方阵的准循环ldpc码纠错方法

Country Status (1)

Country Link
CN (1) CN102420616B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933386A (zh) * 2016-04-06 2016-09-07 中科院成都信息技术股份有限公司 一种存储系统构建方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825622A (zh) * 2014-02-25 2014-05-28 盐城师范学院 一种基于掩模运算的低复杂度准循环ldpc码设计方法
CN106685432A (zh) * 2017-01-03 2017-05-17 重庆邮电大学 一种基于完备循环差集的大围长Type‑II QC‑LDPC码构造方法
CN108880748B (zh) * 2018-05-31 2020-04-07 西安电子科技大学 基于拉丁方阵的无速率Spinal码的编译码方法
CN109309502B (zh) * 2018-08-03 2021-05-04 西安电子科技大学 5g nr标准的分层ldpc基矩阵处理译码方法
CN110928998B (zh) * 2019-12-09 2023-04-14 南开大学 一种基于等价类代表元索引和存储的拉丁方搜索引擎

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409563A (zh) * 2008-11-25 2009-04-15 西安电子科技大学 准循环移位低密度校验码的数据存储与预编码器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409563A (zh) * 2008-11-25 2009-04-15 西安电子科技大学 准循环移位低密度校验码的数据存储与预编码器

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
"LDPC Codes Based on Latin Squares:Cycle Structure, Stopping Set, and Trapping Set Analysis";Stefan Laendner 等;《IEEE TRANSACTIONS ON COMMUNICATIONS》;20070228;第55卷(第2期);第303-312页 *
"LDPC Codes from Latin Squares Free of Small Trapping Sets";Dung Viet Nguyen 等;《IEEE TRANSACTIONS ON INFORMATION THEORY》;20100831;第1-20页 *
"Quasi-Cyclic LDPC Codes:An Algebraic Construction, Rank Analysis, and Codes on Latin Squares";Li Zhang 等;《IEEE TRANSACTIONS ON COMMUNICATIONS》;20101130;第58卷(第11期);第3126-3138页 *
Dung Viet Nguyen 等."LDPC Codes from Latin Squares Free of Small Trapping Sets".《IEEE TRANSACTIONS ON INFORMATION THEORY》.2010,第1-20页.
Li Zhang 等."Quasi-Cyclic LDPC Codes:An Algebraic Construction, Rank Analysis, and Codes on Latin Squares".《IEEE TRANSACTIONS ON COMMUNICATIONS》.2010,第58卷(第11期),第3126-3138页.
Stefan Laendner 等."LDPC Codes Based on Latin Squares:Cycle Structure, Stopping Set, and Trapping Set Analysis".《IEEE TRANSACTIONS ON COMMUNICATIONS》.2007,第55卷(第2期),第303-312页.
基于拉丁方阵的准循环LDPC码构造;陈集炜 等;《杭州电子科技大学学报》;20111031;第31卷(第5期);第54-57页 *
陈集炜 等.基于拉丁方阵的准循环LDPC码构造.《杭州电子科技大学学报》.2011,第31卷(第5期),第54-57页.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933386A (zh) * 2016-04-06 2016-09-07 中科院成都信息技术股份有限公司 一种存储系统构建方法及装置
CN105933386B (zh) * 2016-04-06 2018-11-27 中科院成都信息技术股份有限公司 一种存储系统构建方法及装置

Also Published As

Publication number Publication date
CN102420616A (zh) 2012-04-18

Similar Documents

Publication Publication Date Title
US10673462B2 (en) Coding method and coding device
CN102420616B (zh) 基于拉丁方阵的准循环ldpc码纠错方法
US10320419B2 (en) Encoding method, decoding method, encoding device and decoding device for structured LDPC
CN101924565B (zh) Ldpc编码器、解码器、系统及方法
US8468430B2 (en) Product code decoding method and device
US20190273511A1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
CN100425000C (zh) 双涡轮结构低密度奇偶校验码解码器及解码方法
Montanari et al. The statistical mechanics of turbo codes
CN100505555C (zh) 一种无线通信系统中非正则低密度奇偶校验码的生成方法
CN101431337A (zh) 提高编码并行度实现降低编码时延的方法
CN101621299A (zh) 一种突发纠错的方法、设备和装置
CN107204780B (zh) polar-LDPC级联码的合并BP解码算法及装置
EP3649737B1 (en) Generalized low-density parity check codes (gldpc)
Miloslavskaya et al. Design of binary polar codes with arbitrary kernel
CN104158550A (zh) 一种基于深空通信环境的码率兼容原模图ldpc码构造方法
CN102843145A (zh) 一种低码率准循环累积重复累积码构造方法
CN101567697A (zh) 一种速率兼容的低密度奇偶校验码编码方法和编码器
Pfister et al. Symmetric product codes
CN100508442C (zh) 一种编译码方法及编译码装置
CN101373976A (zh) 生成ldpc校验矩阵的方法和设备
CN108390676A (zh) 一种结合等差数列与原模图的qc-ldpc码新颖构造方法
CN1973440A (zh) Ldpc编码器、解码器、系统及方法
CN109756232A (zh) 一种基于斐波那契-卢卡斯数列构造大围长规则qc-ldpc码的方法
CN105871385B (zh) 一种ldpc卷积码构造方法
CN103368585A (zh) 一种ldpc码校验矩阵的构造方法

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

Termination date: 20181116

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