CN1941635A - 一种非正则低密度奇偶校验码的构造方法 - Google Patents
一种非正则低密度奇偶校验码的构造方法 Download PDFInfo
- Publication number
- CN1941635A CN1941635A CN 200510021775 CN200510021775A CN1941635A CN 1941635 A CN1941635 A CN 1941635A CN 200510021775 CN200510021775 CN 200510021775 CN 200510021775 A CN200510021775 A CN 200510021775A CN 1941635 A CN1941635 A CN 1941635A
- Authority
- CN
- China
- Prior art keywords
- mtd
- mover
- row
- mrow
- mtr
- 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
Links
- 230000001788 irregular Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 19
- 239000011159 matrix material Substances 0.000 claims abstract description 299
- 239000013598 vector Substances 0.000 claims abstract description 111
- 125000004122 cyclic group Chemical group 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 208000011580 syndromic disease Diseases 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 4
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供了一种非正则低密度奇偶校验码的构造方法,它首先构造有限域上的矢量矩阵,然后通过循环移位、倒序处理、截取得到新的矢量矩阵,最后将这个新的矢量矩阵的元素用向量替换得到一个稀疏矩阵,将这个稀疏矩阵与双对角线元素全为“1”的矩阵并排就得到了低密度奇偶校验矩阵。由于采用了循环移位,大大降低了软硬件实现的复杂度,整个方法在保证构造简单的同时,可采用完全并行的操作,适合硬件实现,尤其可以利用线性反馈移位寄存器,具有高速的编译码潜力,因此,本发明的非正则LDPC码有良好的工程应用前景。
Description
技术领域
本发明属于无线通信技术领域,它特别涉及LDPCC(Low-Density Parity-Check Codes)即低密度奇偶校验码的构造方法。
背景技术
LDPC(Lower-Density Parity-Check)码是一类可以用非常稀疏的校验矩阵或二分图定义的线性分组纠错码,最初由Gallager发现,故亦称Gallager码。经数十年的沉寂,随着计算机能力的增强和相关理论(如图论、BP传播、turbo码等)的发展,MacKay和Neal重新发现了它,并证明它在与基于BP的迭代译码相结合的条件下具有逼近Shannon限的性能。LDPC的重新发现是继turbo码后在纠错编码领域又一重大进展。
LDPC码的特点是:性能优于turbo码,具有较大灵活性和较低的差错平底特性;描述简单,对严格的理论分析具有可验证性;译码复杂度低于turbo码,且可实现完全的并行操作,硬件复杂度低,因而适合硬件实现;吞吐量大,极具高速译码潜力。
研究结果显示,对于二元输入的二进制对称AWGN信道,码率为1/2的非正则LDPC码可具有距容量不到0.06dB的门限;计算机仿真结果表明,最好的非正则LDPC码(长度为106)可获得在BER=10-6时仅偏离容量0.13dB的性能,优于迄今所知道的最佳turbo码;当码长为107、码率R=1/2时,其性能距Shannon限只差0.04dB。
LDPC码的优异性能及其在信息可靠传输中的良好应用前景(例如光通信、卫星通信、深空通信、第4代移动通信系统、高速与甚高速率数字用户线、光和磁记录系统等),已引起世界各国学术界和IT业界的高度重视,成为当今信道编码领域最瞩目的研究热点。LDPC码在许多情况下将取代turbo码的趋势已很明显,研究LDPC码的学术意义、商业价值和对IT(特别是通信)领域相关技术发展的推动作用是巨大的。近几年国际上对LDPC码的理论研究已取得重要进展,在应用基础乃至工程应用和VLSI(超大规模集成电路)实现方面的研究亦正在全方位开展。
LDPC码分为正则码和非正则码两种,它们相对应的校验矩阵称为正则矩阵和非正则矩阵。正则码又分广义正则码和狭义正则码,狭义正则码简称正则码。正则的LDPC码是一种线性分组码,结构非常简单,其校验矩阵为一稀疏矩阵,也就是说其矩阵元除一小部分不为0外其它绝大多数都为0。通常我们说一个(n,ρ,γ)LDPC码是指其码长为n,其奇偶校验矩阵满足:
(1)每行包含有固定个数的ρ(ρ为定值)个‘1’,ρ又称为行的权重,其它元素为‘0’;
(2)每列也包含有γ(γ也为定值)个‘1’,γ又称为列的权重,其它元素为‘0’;
(3)任意两行或两列至多有一个‘1’在相同的位置;
(4)ρ和γ都远远小于n,以满足校验矩阵的低密度特性。
校验矩阵的一行称为关联矢量(incidence vectors),一列称为相交矢量(intersect vectors)。
广义正则LDPC码除上述条件(3)外与狭义正则码相同。
非正则LDPC码的奇偶校验矩阵满足:
(1)每行包含的‘1’的个数不完全相同;
(2)每列包含的‘1’的个数不完全相同;
(3)任意两行或两列至多有一个‘1’在相同的位置;
(4)每行或每列‘1’的个数都远远小于码长,以满足校验矩阵的低密度特性。
由校验矩阵H的零域得到的码字称为非正则LDPC码。
正则校验矩阵的构造方法有基于欧氏几何空间(Euclidean Geometry简称EG,详见Y.Kou,S.Lin,and M.Fossorier,“Low-Density Parity-Check Codes Based on Finite Geometries:A Rediscovery and NewResults”,IEEE Trans Inform Theor,Vol.47,No.7,pp2711-2736,Nov 2001)的构造方法,均衡不完全区组设计方法(Balanced Incomplete Block Design简称BIBD,详见Bassem Ammar,Bahram Honary,Yu Kou,JunXu,and Shu Lin,“Construction of Low-Density Parity-Check Codes Basedon Balanced Incomplete BlockDesigns”,IEEE Trans Inform Theor,Vol.50,No.6,Jun 2004),这些方法都充分利用了循环移位的特性,有效地降低了校验矩阵实现的复杂度。但是生成矩阵和编码器的实现比较复杂。
非正则校验矩阵的构造方法有随机搜索的方法(详见Thomas J.Richardson,M.Amin Shokrollahi,andRüdiger L.Urbanke,“Design of Capacity-Approaching IrregularLow-Density Parity-Check Codes”,IEEETrans Inform Theor,Vol.47,No.2,Feb 2001),基于Pi旋转的设计方法(Pi-rotation,详见Echard R,ChangS C,“The rotation low-density parity-check codes”,in Proc GLOBECOM 2001,pp:980-984),基于Pi旋转的设计方法的编码器的设计复杂度低于正则校验矩阵。这两种方法构造的校验矩阵不具有循环移位的特性,实现和存储比较复杂。
综上所述,现有的非正则LDPC码的构造方法在实现校验矩阵上硬件的复杂度比较高,而且采用随机搜索方法会大大影响编码的速率。
发明内容
本发明的目的是提供一种非正则的LDPC码的构造方法,采用本发明方法构造的非正则LDPC码具有编码简单、码长和码率灵活的优点。
为了方便地描述本发明的内容,首先作一个术语定义:
编码器的输入信息为μ,生成矩阵为G,校验矩阵为H,编码器输出的LDPC码字为c。
本发明提出的校验矩阵H由两个子矩阵组成:
H=[P D]
在本发明中用到了以下公知的编码基本知识:
包含有限个元素的域称为有限域,域中元素的个数称为域的阶;
编码器的输入码字可以通过公式c=μ×G生成相应的输出码字;
生成矩阵G可以由公式
通过校验矩阵H求得;
因此,校验矩阵H的设计是关键。
本发明提供了一种非正则校验矩阵的构造方法,它包括下面的步骤:
步骤1,构造子矩阵P
首先,构造初始有限域矢量矩阵:
选取阶为N的有限域,域中元素为从1至N的正整数,我们用带箭头的数字来表示这些元素;选取该域中所有元素,从小到大排成一列,得到一个N×1的列矩阵K:
其中,KT是K的转置;
这里,N选取大于5的奇素数,同时满足:
N=4×q+1
其中,q>1且为正整数;
其中,mod是取模运算符。
然后,对初始有限域矢量矩阵
进行循环移位、去零阵、倒序处理、截取处理;
循环移位处理:
选取N个N×N的子矩阵,按照从1到N列排列,分别定义为第一个子矩阵、第二个子矩阵、……、第N个子矩阵,将初始有限域矢量矩阵
的第一行放到第一个子矩阵的第一行,将初始有限域矢量矩阵
的第二行放到第二个子矩阵的第一行,依次类推,将初始有限域矢量矩阵
的第N行放到第N个子矩阵的第一行;这样就构造出N个子矩阵的第一行;
对于第一个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第一个子矩阵;
对于第二个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第二个子矩阵;
依次类推,对于第N个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第N个子矩阵;
这样就构造出了N个N×N的循环子矩阵。
例如第一行循环移位得到的子矩阵为:
去零阵处理:
对循环移位并去零阵后的有限域矢量矩阵
中的N-1个循环子矩阵每隔一个子矩阵按行进行倒序,也就是对
等下标为偶数的循环子矩阵的1至N行进行逆序排列,所述的逆序排列是指:将原来循环子矩阵中的第一行放到倒序矩阵的最后一行,将原来的循环子矩阵中的最后一行放到倒序矩阵的第一行;将循环子矩阵的第二行放到倒序矩阵的倒数第二行,将原来循环子矩阵中的倒数第二行放到倒序矩阵的第二行;依次进行,将循环子矩阵中第(N-1)/2行放到倒序矩阵的倒数第(N-1)/2行,将原来循环子矩阵中的倒数第(N-1)/2行放到倒序矩阵的第(N-1)/2行;这样就得到了倒序矩阵。
截取处理:
有限域的阶N,列权值W,码率R。
其中,有限域的阶N已经确定,列权值W是指子矩阵P的每列中‘1’的个数,列权值W应选取小于N-2的正整数,列权值W的选择方法是:
如果阶N=4×q+1,则列权值W选择为4;如果阶N=8×q+1,则列权值W选择为4或8,其中,q>1且为正整数。
码率R根据用户对通信系统的要求而定,码率R的选择要求保证R/(1-R)为大于或等于1的正整数,码率R的选择值有:0.5、0.75、0.8、0.875、0.9。
构造一个行数为N×W、列数为N的矩阵,命名为矩阵一。
再构造一个行数为N×W、列数为W×R/(1-R)的矩阵,命名为矩阵二。
从矩阵一中不重复地任意取出除最后两列以外的W×R/(1-R)列,作为矩阵二的W×R/(1-R)列;需要注意的是,在矩阵一中取出的排在前面的列在矩阵二中仍然排在前面。
可以发现,循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
由
至
这些元素构成。
最后,将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
转换为二进制有限域上的稀疏矩阵:
二进制有限域上的稀疏矩阵就是指矩阵中的所有元素为‘0’或者‘1’,且‘1’的个数远远小于‘0’的个数。
将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{10…00}来替换,该向量的第一个元素为1,其余N-1个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{01…00}来替换,该向量的第二个元素为1,其余N-1个元素全为0;依次进行,将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{00…10}来替换,该向量的第N-1个元素为1,其余N-1个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{00…01}来替换,该向量的第N个元素为1,其余N-1个元素全为0。经过这些操作,原来的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素被替换成了向量,因此,新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
的元素为‘0’或者‘1’,这个新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
即是构造的校验矩阵H的子矩阵P。
步骤2,构造子矩阵D
选择一个行数和列数都等于N×W的方阵,令该方阵的主对角线和与主对角线相邻的下对角线上的元素全为‘1’,其余元素全为‘0’,就可以得到校验矩阵H的子矩阵D:
步骤3,构造校验矩阵H
将构造好的校验矩阵H的两个子矩阵P和D按下式组合:
H=[P D]
就可以得到校验矩阵H。
步骤4,按照以下方法构造编码后的非正则LDPC码字
首先,构造出子矩阵D的逆矩阵L:
选择一个行数和列数都等于N×W的方阵,令该方阵的对角线以下的元素全为‘1’,其余元素全为‘0’,于是得到了子矩阵D的逆矩阵L:
然后,生成非正则LDPC码的校验元部分:
输入已知的编码器的信息μ,它的元素为‘0’或者‘1’,它的行数为N×W×R/(1-R),列数为1;则LDPC码的校验元部分η的计算公式为:
η=L×(P×μ)
得到的非正则LDPC码的校验元部分η的行数为N×W,列数为1。
最后,生成编码后的非正则LDPC码:
将输入的编码器的信息μ和由上面计算得到的校验元部分η按下式组合:
就得到了输出的非正则LDPC码字c,c的行数为N×W/(1-R),列数为1。
按照上述步骤,就可以构造出非正则低密度奇偶校验码。
综上所述,本发明的关键是非正则校验矩阵的设计,采用本发明设计的校验矩阵具有循环移位的特性,在提高译码性能的同时降低了硬件实现的复杂度。另外,在按本发明内容得到校验矩阵H后,可以不用求出生成矩阵G,直接构造出编码后的LDPC码字。
采用本发明的方法构造的LDPC码在无线通信系统如无线局域网中具有良好的性能,相比传统的纠错码有很优异的特点,具有良好的应用前景。由本发明构造的非正则LDPC码字的编码复杂度低,可采用完全并行的操作,适合硬件实现,尤其可以利用线性反馈移位寄存器,具有高速的编译码潜力;由于码长较长时,相距甚远的信息比特可能参与同一校验,使得连续的突发错误对译码的影响不大,因此码本身具有很好的抗突发差错的能力。由于码的码率和码长选择很灵活,甚至对于同样的码率和码长,也可以构造出不同的校验矩阵,所以,本发明的非正则LDPC码有良好的工程应用前景。
附图说明
图1是本发明的工作流程框图
图2是本发明在有限域的阶数为N=233,列权值W=8,码率R=0.5下的码字(3728,1864)和在有限域的阶数为N=401,列权值W=8,码率R=0.5下的码字(6416,3208)的误码率性能比较图。
图3是本发明在有限域的阶数为N=401,列权值W=8,码率R=0.5下的码字(6416,3208)和在有限域的阶数为N=269,列权值W=8,码率R=0.75下的码字(4304,3228)的误码率性能比较图。其中,
表示码率R=0.5时的香农限0.18dB,
表示表示码字(6416,3208)的误码率曲线图,表示码率R=0.75时的香农限1.63dB,
表示表示码字(4304,3228)的误码率曲线图。
图4是本发明在有限域的阶数为N=89,列权值W=4,码率R=0.9375下的码字(5696,5340)的误码率性能图。其中,
表示码率R=0.9375时的香农限3.88dB,
表示表示码字(5696,5340)的误码率曲线图。
图2、图3、图4中的(3728,1864)表示输入编码器的信息位的长度为1864,输出编码器的码字的长度为3728;(6416,3208)表示输入编码器的信息位的长度为3208,输出编码器的码字的长度为6416;(4304,3228)表示输入编码器的信息位的长度为3228,输出编码器的码字的长度为4304。图2、图3、图4中的仿真都是在调制方式为二进制相移键控(BPSK),信道为加性白高斯噪声信道(AWGN),译码算法采用和积算法(SPA)的条件下进行的。
具体实施方式
采用本发明的方法构造一个具体非正则LDPC码字c,具体步骤如下:
步骤1,构造子矩阵P。
首先,构造初始有限域矢量矩阵:
选取阶为233的有限域,域中元素为从1至233的正整数,我们用带箭头的数字来表示这些元素。选取该域中所有元素,从小到大排成一列,得到一个233×1的列矩阵K:
用得到的列矩阵K按照下面的公式计算得到一个233×233的初始矢量矩阵
其中,KT是K的转置。
这里,233是大于5的奇素数,同时满足:
233=4×58+1
循环移位处理:
去零阵处理:
倒序处理:
其中,
等带有adv的符号表示行倒序后的矢量矩阵。
截取处理:
在进行截取处理之前,需要确定三个重要的参数:
有限域的阶N,列权值W,码率R。
其中,有限域的阶N已经确定,就是233;列权值W选择为8;码率R选择为0.5。
构造一个行数为1864、列数为233的矩阵,命名为矩阵一。
再构造一个行数为1864、列数为8的矩阵,命名为矩阵二。
从矩阵一中不重复地任意取出除最后两列以外的8列,作为矩阵二的8列;需要注意的是,在矩阵一中取出的排在前面的列在矩阵二中仍然排在前面。
矩阵二就是循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
其行数为1864,列数为8。
二进制有限域上的稀疏矩阵就是指矩阵中的所有元素为‘0’或者‘1’,且‘1’的个数远远小于‘0’的个数。
将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为233的向量{10…00}来替换,该向量的第一个元素为1,其余232个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为233的向量{01…00}来替换,该向量的第二个元素为1,其余232个元素全为0;依次进行,将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为233的向量{00…10}来替换,该向量的第232个元素为1,其余232个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为233的向量{00…01}来替换,该向量的第233个元素为1,其余232个元素全为0。经过这些操作,原来的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素被替换成了向量,因此,新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
的元素为‘0’或者‘1’,这个新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
即是构造的校验矩阵H的子矩阵P。
步骤2,构造子矩阵D。
选择一个行数和列数都等于1864的方阵,令该方阵的主对角线和与主对角线相邻的下对角线上的元素全为‘1’,其余元素全为‘0’,就可以得到校验矩阵H的子矩阵D:
步骤3,构造校验矩阵H。
将构造好的校验矩阵H的两个子矩阵P和D按下式组合:
H=[P D]
就可以得到校验矩阵H。
步骤4,按照以下方法构造编码后的非正则LDPC码字。
首先,构造出子矩阵D的逆矩阵L:
选择一个行数和列数都等于1864的方阵,令该方阵的对角线以下的元素全为‘1’,其余元素全为‘0’,于是得到了子矩阵D的逆矩阵L:
然后,生成非正则LDPC码的校验元部分:
输入编码器的信息μ行数为1864,列数为1,则LDPC码的校验元部分η的计算公式为:
η=L×(P×μ)
得到的非正则LDPC码的校验元部分η的行数为1864,列数为1。
最后,生成编码后的非正则LDPC码:
将输入的信息元部分μ和由上面计算得到的校验元部分η按下式组合:
就得到了输出的非正则LDPC码字c,c的行数为3728,列数为1。
按照上述步骤,就可以构造出非正则低密度奇偶校验码(3728,1864)。
从图1可以看到,码字(3728,1864)在误码率为10-6处的单位比特信噪比距离香农限(Shannonlimit)0.18dB仅有2.7dB;而码字(6416,3208)在误码率为10-6处的单位比特信噪比距离香农限(Shannonlimit)0.18dB仅有2.5dB。
从图2可以看到,码字(4304,3228)在误码率为10-6处的单位比特信噪比距离香农限(Shannonlimit)1.63dB仅有1.7dB。
从图3可以看到,码字(5696,5340)在误码率为10-6处的单位比特信噪比距离香农限(Shannonlimit)3.88dB仅有1.3dB。
综上所述,计算机仿真结果表明,采用本发明方法构造的非正则LDPC码在加性白高斯噪声信道中具有良好的抗干扰的能力;随着码长的增长,它们的误码率曲线逼进于香农限。
Claims (1)
1、一种非正则校验矩阵的构造方法,其特征是它包括下面的步骤:
步骤1,构造子矩阵P
首先,构造初始有限域矢量矩阵:
选取阶为N的有限域,域中元素为从1至N的正整数,我们用带箭头的数字来表示这些元素;选取该域中所有元素,从小到大排成一列,得到一个N×1的列矩阵K:
用得到的列矩阵K按照下面的公式计算得到一个N×N的初始矢量矩阵
其中,KT是K的转置;
这里,N选取大于5的奇素数,同时满足:
N=4×q+1
其中,q>1且为正整数;
再对初始矢量矩阵
中的每个元素进行模N运算,得到如下形式的N×N的初始有限域矢量矩阵
其中,mod是取模运算符;
然后,对初始有限域矢量矩阵
进行循环移位、去零阵、倒序处理、截取处理;
循环移位处理:
选取N个N×N的子矩阵,按照从1到N列排列,分别定义为第一个子矩阵、第二个子矩阵、……、第N个子矩阵,将初始有限域矢量矩阵
的第一行放到第一个子矩阵的第一行,将初始有限域矢量矩阵
的第二行放到第二个子矩阵的第一行,依次类推,将初始有限域矢量矩阵
的第N行放到第N个子矩阵的第一行;这样就构造出N个子矩阵的第一行;
对于第一个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第一个子矩阵;
对于第二个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第二个子矩阵;
依次类推,对于第N个子矩阵,将它的第一行的最后一个元素放到第二行的第一个位置,将第一行的第一个元素放到第二行的第二个位置,将第一行的第二个元素放到第二行的第三个位置,依次类推,将第一行的第N-1个元素放到第二行的第N个位置;再将它的第二行的最后一个元素放到第三行的第一个位置,将第二行的第一个元素放到第三行的第二个位置,将第二行的第二个元素放到第二行的第三个位置,依次类推,将第二行的第N-1个元素放到第二行的第N个位置;同样,将它的第N-1行的最后一个元素放到第N行的第一个位置,将第N-1行的第一个元素放到第N行的第二个位置,将第N-1行的第二个元素放到第N行的第三个位置,依次类推,将第N-1行的第N-1个元素放到第N行的第N个位置;这样就构造出了第N个子矩阵;
这样就构造出了N个N×N的循环子矩阵;
去零阵处理:
倒序处理:
对循环移位并去零阵后的有限域矢量矩阵
中的N-1个循环子矩阵每隔一个子矩阵按行进行倒序,也就是对
等下标为偶数的循环子矩阵的1至N行进行逆序排列,所述的逆序排列是指:将原来循环子矩阵中的第一行放到倒序矩阵的最后一行,将原来的循环子矩阵中的最后一行放到倒序矩阵的第一行;将循环子矩阵的第二行放到倒序矩阵的倒数第二行,将原来循环子矩阵中的倒数第二行放到倒序矩阵的第二行;依次进行,将循环子矩阵中第(N-1)/2行放到倒序矩阵的倒数第(N-1)/2行,将原来循环子矩阵中的倒数第(N-1)/2行放到倒序矩阵的第(N-1)/2行;这样就得到了倒序矩阵;
其中,
等带有adv的符号表示行倒序后的矢量矩阵;
截取处理:
下面在对循环移位、去零阵、倒序处理后的有限域矢量矩阵
进行截取处理之前,需要确定三个重要的参数:
有限域的阶N,列权值W,码率R;
其中,有限域的阶N已经确定,列权值W是指子矩阵P的每列中‘1’的个数,列权值W应选取小于N-2的正整数,列权值W的选择方法是:
如果阶N=4×q+1,则列权值W选择为4;如果阶N=8×q+1,则列权值W选择为4或8,其中,q>1且为正整数;
码率R根据用户对通信系统的要求而定,码率R的选择要求保证R/(1-R)为大于或等于1的正整数,码率R的选择值有:0.5、0.75、0.8、0.875、0.9;
构造一个行数为N×W、列数为N的矩阵,命名为矩阵一;
再构造一个行数为N×W、列数为W×R/(1-R)的矩阵,命名为矩阵二;
从矩阵一中不重复地任意取出除最后两列以外的W×R/(1-R)列,作为矩阵二的W×R/(1-R)列,在矩阵一中取出的排在前面的列在矩阵二中仍然排在前面;
二进制有限域上的稀疏矩阵就是指矩阵中的所有元素为‘0’或者‘1’,且‘1’的个数远远小于‘0’的个数;
将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{1 0…0 0}来替换,该向量的第一个元素为1,其余N-1个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{0 1…0 0}来替换,该向量的第二个元素为1,其余N-1个元素全为0;依次进行,将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{0 0…1 0}来替换,该向量的第N-1个元素为1,其余N-1个元素全为0;将循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素
用维数为N的向量{0 0…0 1}来替换,该向量的第N个元素为1,其余N-1个元素全为0;经过这些操作,原来的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
中的元素被替换成了向量,因此,新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
的元素为‘0’或者‘1’,这个新的循环移位、去零阵、倒序处理、截取后的有限域矢量矩阵
即是构造的校验矩阵H的子矩阵P;
步骤2,构造子矩阵D
构造一个行数和列数都等于N×W的方阵,令该方阵的主对角线和与主对角线相邻的下对角线上的元素全为‘1’,其余元素全为‘0’,就可以得到校验矩阵H的子矩阵D:
步骤3,构造校验矩阵H
将构造好的校验矩阵H的两个子矩阵P和D按下式组合:
H=[P D]
就可以得到校验矩阵H;
步骤4,按照以下方法构造编码后的非正则LDPC码字
首先,构造出子矩阵D的逆矩阵L:
构造一个行数和列数都等于N×W的方阵,令该方阵的对角线以下的元素全为‘1’,其余元素全为‘0’,于是得到了子矩阵D的逆矩阵L:
然后,生成非正则LDPC码的校验元部分:
输入已知的编码器的信息μ,它的元素为‘0’或者‘1’,它的行数为N×W×R/(1-R),列数为1;则LDPC码的校验元部分η的计算公式为:
η=L×(P×μ)
得到的非正则LDPC码的校验元部分η的行数为N×W,列数为1;
最后,生成编码后的非正则LDPC码:
将输入的编码器的信息μ和由上面计算得到的校验元部分η按下式组合:
就得到了输出的非正则LDPC码字c,c的行数为N×W/(1-R),列数为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100217758A CN100505555C (zh) | 2005-09-30 | 2005-09-30 | 一种无线通信系统中非正则低密度奇偶校验码的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100217758A CN100505555C (zh) | 2005-09-30 | 2005-09-30 | 一种无线通信系统中非正则低密度奇偶校验码的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1941635A true CN1941635A (zh) | 2007-04-04 |
CN100505555C CN100505555C (zh) | 2009-06-24 |
Family
ID=37959481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100217758A Expired - Fee Related CN100505555C (zh) | 2005-09-30 | 2005-09-30 | 一种无线通信系统中非正则低密度奇偶校验码的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100505555C (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100586029C (zh) * | 2008-05-23 | 2010-01-27 | 厦门大学 | 一种结构化奇偶校验码的编码方法及其编码器 |
CN102437858A (zh) * | 2011-08-31 | 2012-05-02 | 北京理工大学 | 一种卷积码编码器结构的改进方法 |
CN101699770B (zh) * | 2009-10-23 | 2013-03-06 | 山东大学 | 一种高速ldpc码编码器及其编码方法 |
CN101874352B (zh) * | 2007-11-26 | 2013-04-17 | 索尼公司 | 数据处理设备和数据处理方法以及编码设备和编码方法 |
CN101588183B (zh) * | 2009-06-26 | 2014-01-29 | 北京交通大学 | 一种ldpc码快速编码方法与系统 |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
CN108199722A (zh) * | 2018-01-10 | 2018-06-22 | 桂林电子科技大学 | 一种基于矩阵格的bibd-ldpc码构造方法 |
CN108768593A (zh) * | 2018-06-12 | 2018-11-06 | 中国地质大学(武汉) | 一种基于dmt调制的qc-ldpc码编、解码方法与系统 |
WO2018201597A1 (zh) * | 2017-05-05 | 2018-11-08 | 华为技术有限公司 | 信息处理的方法、通信装置 |
US10432219B2 (en) | 2017-05-05 | 2019-10-01 | Huawei Technologies Co., Ltd. | Apparatus and method for channel coding in communication system |
CN112000509A (zh) * | 2020-08-18 | 2020-11-27 | 中山大学 | 一种基于向量指令的纠删码编码方法、系统及装置 |
CN112910473A (zh) * | 2019-12-04 | 2021-06-04 | 中国科学院上海高等研究院 | 一种基于循环移位的块交织方法及系统 |
CN117040543A (zh) * | 2023-10-09 | 2023-11-10 | 苏州元脑智能科技有限公司 | 一种纠错编码的校验矩阵生成方法、装置和存储介质 |
-
2005
- 2005-09-30 CN CNB2005100217758A patent/CN100505555C/zh not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101874352B (zh) * | 2007-11-26 | 2013-04-17 | 索尼公司 | 数据处理设备和数据处理方法以及编码设备和编码方法 |
CN100586029C (zh) * | 2008-05-23 | 2010-01-27 | 厦门大学 | 一种结构化奇偶校验码的编码方法及其编码器 |
CN101588183B (zh) * | 2009-06-26 | 2014-01-29 | 北京交通大学 | 一种ldpc码快速编码方法与系统 |
CN101699770B (zh) * | 2009-10-23 | 2013-03-06 | 山东大学 | 一种高速ldpc码编码器及其编码方法 |
CN102437858A (zh) * | 2011-08-31 | 2012-05-02 | 北京理工大学 | 一种卷积码编码器结构的改进方法 |
US10924134B2 (en) | 2017-05-05 | 2021-02-16 | Huawei Technologies Co., Ltd. | Apparatus and method for channel coding in communication system |
US11777521B2 (en) | 2017-05-05 | 2023-10-03 | Huawei Technologies Co., Ltd. | Apparatus and method for channel coding in communication system |
US11374591B2 (en) | 2017-05-05 | 2022-06-28 | Huawei Technologies Co., Ltd. | Apparatus and method for channel coding in communication system |
WO2018201597A1 (zh) * | 2017-05-05 | 2018-11-08 | 华为技术有限公司 | 信息处理的方法、通信装置 |
US10432219B2 (en) | 2017-05-05 | 2019-10-01 | Huawei Technologies Co., Ltd. | Apparatus and method for channel coding in communication system |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
CN108199722B (zh) * | 2018-01-10 | 2021-07-20 | 桂林电子科技大学 | 一种基于矩阵格的bibd-ldpc码构造方法 |
CN108199722A (zh) * | 2018-01-10 | 2018-06-22 | 桂林电子科技大学 | 一种基于矩阵格的bibd-ldpc码构造方法 |
CN108768593B (zh) * | 2018-06-12 | 2020-07-07 | 中国地质大学(武汉) | 一种基于dmt调制的qc-ldpc码编、解码方法与系统 |
CN108768593A (zh) * | 2018-06-12 | 2018-11-06 | 中国地质大学(武汉) | 一种基于dmt调制的qc-ldpc码编、解码方法与系统 |
CN112910473A (zh) * | 2019-12-04 | 2021-06-04 | 中国科学院上海高等研究院 | 一种基于循环移位的块交织方法及系统 |
CN112910473B (zh) * | 2019-12-04 | 2024-01-26 | 中国科学院上海高等研究院 | 一种基于循环移位的块交织方法及系统 |
CN112000509A (zh) * | 2020-08-18 | 2020-11-27 | 中山大学 | 一种基于向量指令的纠删码编码方法、系统及装置 |
CN117040543A (zh) * | 2023-10-09 | 2023-11-10 | 苏州元脑智能科技有限公司 | 一种纠错编码的校验矩阵生成方法、装置和存储介质 |
CN117040543B (zh) * | 2023-10-09 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种纠错编码的校验矩阵生成方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100505555C (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1941635A (zh) | 一种非正则低密度奇偶校验码的构造方法 | |
CN1697359A (zh) | 用于发送和接收数据的系统、装置和方法 | |
CN1836394A (zh) | 在移动通信系统中编码/解码块低密度奇偶校验码的装置和方法 | |
CN1558556A (zh) | 非规则低密度奇偶校验码的系统码设计方法及其通信系统 | |
CN1830149A (zh) | 用于对低密度奇偶校验码编码的方法 | |
CN1171391C (zh) | 交错方法、交错装置、涡轮编码方法以及涡轮编码装置 | |
CN1256812C (zh) | 透平编码器和信道编码方法 | |
CN1245310A (zh) | 错误校正编码设备 | |
CN1838542A (zh) | 解码设备和方法以及程序 | |
CN1993892A (zh) | 用于编码和解码块低密度奇偶校验码的装置和方法 | |
CN1286276C (zh) | 随机存取多向cdma2000 turbo编码交织器 | |
CN1993917A (zh) | 编码/译码具有可变块长度的块低密奇偶校验码的装置和方法 | |
CN1252962C (zh) | 用于数据通信系统的速率匹配设备和方法 | |
CN1701515A (zh) | 解码方法、解码装置和程序 | |
CN1310458C (zh) | 对存在码间干扰并在多路发送和接收中进行按位交织编码的数字数据流进行编码/解码的方法及相应系统 | |
CN1701516A (zh) | 校验矩阵生成方法和校验矩阵生成装置 | |
CN1960188A (zh) | 构造低密度奇偶校验码的方法、译码方法及其传输系统 | |
CN1947368A (zh) | 对具有可变块长度的块低密度奇偶校验码编码/解码的设备和方法 | |
CN101080874A (zh) | 纠错编码装置以及在其中使用的纠错编码方法 | |
CN1608347A (zh) | 低密度奇偶校验码用检查矩阵生成方法 | |
CN1494770A (zh) | 适于turbo解码器的交错器 | |
CN1547806A (zh) | 使用结构化奇偶校验矩阵的低密度奇偶校验码的编码 | |
CN1185796C (zh) | 改进的非规则低密度奇偶校验码纠错译码方法 | |
CN1639985A (zh) | Ldpc码用检查矩阵生成方法及检查矩阵生成装置 | |
CN1666420A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 Termination date: 20091030 |