CN103475379B - 一种ldpc编码方法 - Google Patents
一种ldpc编码方法 Download PDFInfo
- Publication number
- CN103475379B CN103475379B CN201310409577.3A CN201310409577A CN103475379B CN 103475379 B CN103475379 B CN 103475379B CN 201310409577 A CN201310409577 A CN 201310409577A CN 103475379 B CN103475379 B CN 103475379B
- Authority
- CN
- China
- Prior art keywords
- data
- row
- matrix
- check
- address
- 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
Links
Abstract
一种LDPC编码方法,包括步骤:①、将输入信息数据列成矩阵并分组,每一行数据为一组;②、将校验区的数据也列成与输入信息数据矩阵相对应的矩阵,该矩阵的每一列作为一个矩阵单元,且每个单元初始化为“0”,建立起校验地址表;③、读取校验地址表中的第一行第一列的校验地址,求出该地址在校验区的行和列,将所在行记为m,所在列记为n;输入信息数据的第一组数据,循环左移m位,记为tmp,将tmp与校验矩阵中n列校验数据进行按位异或,并把结果存放回校验矩阵的n列中;按同样的方法依序对第一行其余列进行按位异或,同时输出信息比特数据;④、输入信息数据的第二组数据,与上面的类似操作完成校验地址表中第二行的地址运算,以此类推,直到完成所有的信息组与校验地址表中所有地址的运算。
Description
技术领域
本发明涉及一种LDPC编码方案,能够有效解决DVB-S2中具有高速传输码率要求的32APSK调制模式的效率问题,属于电子信息技术领域。
背景技术
在欧洲数字电视标准的第二代中采用LDPC码,即低密度奇偶校验码(LowDensityParityCheckCode,LDPC)。它可以在具有大噪声电平和干扰的环境中传输强稳健性的信号。LDPC码由于其校验矩阵的稀疏性而得名,正是因为这种特性,通过使用特殊构造的校验矩阵而得到的码字具有能够逼近香农极限的特性。目前,LDPC码已成为通信技术的新热点并被多个标准采用。在DVB-T2标准中LDPC编码的复杂度很高,目前被认为是DVB-T2FEC中复杂度最高的部分,因此高效的编码方案对于LDPC编码是十分必要的。特别是在DVB-S2中调制模式为32APSK时,传输的码率较高,对系统的要求非常高。
发明内容
本发明的目的,是提供一种高效的LDPC编码方法,其技术方案是:
一种LDPC编码方法,包括步骤:
①、将输入信息数据列成矩阵并分组,每一行数据为一组;
②、将校验区的数据也列成与输入信息数据矩阵相对应的矩阵,该矩阵的每一列作为一个矩阵单元,且每个单元初始化为“0”,建立起校验地址表;
③、读取校验地址表中的第一行第一列的校验地址,求出该地址在校验区的行和列,将所在行记为m,所在列记为n;输入信息数据的第一组数据,循环左移m位,记为tmp,将tmp与校验矩阵中n列校验数据进行按位异或,并把结果存放回校验矩阵的n列中;读取校验地址表中的第一行第二列的校验地址,按同样的方法进行按位异或,并把结果存放回校验矩阵的n列中,以此类推,依次完成校验地址表中第一行的地址运算,同时输出信息比特数据;
④、输入信息数据的第二组数据,与上面的类似操作完成校验地址表中第二行的地址运算,以此类推,直到完成所有的信息组与校验地址表中所有地址的运算。
所述校验数据按行输出,第一位校验数据直接输出,以后的每位校验数据都与上次输出校验数据进行异或输出,P0=P0,0;以此类推,输出所有的校验数据。
本发明的有益效果:
在实现编码的过程中,拥有这样的结构,能降低系统的工作频率,实现系统的高码率输入,不需要高的时钟频率,能实现数据的高吞吐率,也不需要太大的存储RAM。
附图说明
图1是传统的LDPC编码的结构示意图
图2是传统LDPC编码的长度示意图
图3是本发明的实施过程示意图
图4是本发明的实现流程图
具体实施方式
为了便于理解本发明,首先介绍以往的LDPC的编码方法。
图1是它的编码结构,分为信息比特数据流i0、i1、i2…im-1和校验比特数据流p0、p1、p2…pn-1两个部分,其长度分别是m和n。对应于图2,则有m=KLDPC和n=NLDPC-KLDPC。在通常的LDPC编码中,每输入1bit信息都需要与校验比特地址中(最大有13位)所有比特流进行异或运算。由于不同的编码码率需要使用不同的校验矩阵,每种模式下的校验地址不同,每输入一个信息位需要等待13个时钟周期,才能等待下一个信息位到来,实现框图如图1。
下面以码率为2/3的数据帧为例,阐述上述常规LDPC编码的基本方法和步骤:
(1)所有校验位初始化:p0=p1=p2=…=pn-1=0。经查表,与码率相关的常数q=60,因此,该帧数据的校验位编码长度为:q×360=60×360=21600。查表可知,LDPC编码的信息数据位长度是43200,所以,总的LDPC编码长度应为21600+43200=64800。见图2。
(2)编码:当输入信息位i0,从地址表查出校验地址中第一行地址:01049116043506128268065822627672401867392791057920928,用信息位i0分别与校验地址中对应的位做异或运算,并将其结果存回到原来的地址中。
输入信息位i1,校验地址则为第一行地址加P=60则编码关系如下所示:
以此类推,当输入信息位i359,则编码关系如下所示:
……
输入信息位i360,从地址表查出校验地址中第二行地址,同上面的处理一样。
(3)以此类推,得到余下的编码。
(4)校验位的输出:i=1,2,…,NLDPC-KLDPC-1。
信息位是一边编码一边输出,而校验位则是所有编码完成之后再通过与上次输出的异或输出。
上述方法的不足之处是:
在实现上面的过程中,由于输入的信息比特需要与校验地址中的不同的校验位进行异或,最少有3个最大有13个。由于存放校验地址和校验数据的存放都是每次只能进行读或写操作,每次只能进行对一个地址进行访问。大大降低了数据的吞吐率。即每输入一比特的信息数据,最坏的情况需要13个时钟周期后才可以输入下一个信息比特数据。对于高码率的DVB-S2来说,FPGA在实现过程中需要的系统时钟是无法实现的。如果采用并行运算RAM的开销也是非常的高。
本发明的LDPC编码方法,包括如下步骤:
①、将输入信息数据列成矩阵并分组,每一行数据为一组;
②、将校验区的数据也列成与输入信息数据矩阵相对应的矩阵,该矩阵的每一列作为一个矩阵单元,且每个单元初始化为“0”,建立起校验地址表;
③、读取校验地址表中的第一行第一列的校验地址,求出该地址在校验区的行和列,将所在行记为m,所在列记为n;输入信息数据的第一组数据,循环左移m位,记为tmp,将tmp与校验矩阵中n列校验数据进行按位异或,并把结果存放回校验矩阵的n列中;读取校验地址表中的第一行第二列的校验地址,按同样的方法进行按位异或,并把结果存放回校验矩阵的n列中,以此类推,依次完成校验地址表中第一行的地址运算,同时输出信息比特数据;
④、输入信息数据的第二组数据,与上面的类似操作完成校验地址表中第二行的地址运算,以此类推,直到完成所有的信息组与校验地址表中所有地址的运算。
所述校验数据按行输出,第一位校验数据直接输出,以后的每位校验数据都与上次输出校验数据进行异或输出,P0=P0,0;以此类推,输出所有的校验数据。
下面以一个码率为2/3的实例详细说明本发明,参照图3、图4:
①将输入的信息数据i0、i1、i2…im-1列成矩阵并分组,其中m=43200,每一行数据作为一组,可以分成43200÷360=120组。
②将校验区的数据也列成与输入信息数据矩阵相对应的矩阵360×q,其中码率常数q=60;该矩阵的每一列作为一个矩阵单元,且每个单元初始化为“0”。如下表所示:
③读取校验地址表中的第一行第一列的校验地址,求出该地址在校验区的行(记为m)和列(记为n)。输入信息数据的第一组数据,循环左移m位,记为tmp,将tmp与与校验矩阵中n列校验数据进行按位进行异或,并把结果存放回n列的校验矩阵中。读取校验地址表中的第一行第二列的校验地址,算出该地址在校验矩阵中的行与列,并将信息数据进行循环左移位,与校验矩阵中进行异或,结果存放回校验矩阵中。依次完成校验地址表中第一行的地址。同时输出信息比特数据。
④输入信息数据的第二组数据,与上面的类是操作完成校验表中第二列的地址进行运算。直到完成所以的信息数据组与校验地址表中所有的运算。
⑤校验矩阵中的校验数据输出:校验数据按行输出,第一位校验数据直接输出,以后的每位校验数据都与上次输出校验数据进行异或输出。P0=P0,0;以此类推输出所有的校验数据。
Claims (2)
1.一种LDPC编码方法,包括步骤:
①、将输入信息数据列成矩阵并分组,每一行数据为一组;
②、将校验区的数据也列成与输入信息数据矩阵相对应的矩阵,该矩阵的每一列作为一个矩阵单元,且每个单元初始化为“0”,建立起校验地址表;
③、读取校验地址表中的第一行第一列的校验地址,求出该地址在校验区的行和列,将所在行记为m,所在列记为n;输入信息数据的第一组数据,循环左移m位,记为tmp,将tmp与校验矩阵中n列校验数据进行按位异或,并把结果存放回校验矩阵的n列中;读取校验地址表中的第一行第二列的校验地址,按同样的方法进行按位异或,并把结果存放回校验矩阵的n列中,以此类推,依次完成校验地址表中第一行的地址运算,同时输出信息比特数据;
④、输入信息数据的第二组数据,与上面的类似操作完成校验地址表中第二行的地址运算,以此类推,直到完成所有的信息组与校验地址表中所有地址的运算。
2.如权利要求1所述的LDPC编码方法,其特征在于,所述校验数据按行输出,第一位校验数据直接输出,以后的每位校验数据都与上次输出校验数据进行异或输出,P0=P0,0;P1=P0,1⊕P0;P2=P0,2⊕P1;以此类推,输出所有的校验数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310409577.3A CN103475379B (zh) | 2013-09-10 | 2013-09-10 | 一种ldpc编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310409577.3A CN103475379B (zh) | 2013-09-10 | 2013-09-10 | 一种ldpc编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475379A CN103475379A (zh) | 2013-12-25 |
CN103475379B true CN103475379B (zh) | 2016-02-24 |
Family
ID=49800106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310409577.3A Expired - Fee Related CN103475379B (zh) | 2013-09-10 | 2013-09-10 | 一种ldpc编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475379B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018058295A1 (en) | 2016-09-27 | 2018-04-05 | Qualcomm Incorporated | Hybrid automatic repeat request for block codes |
US10379952B2 (en) * | 2017-06-16 | 2019-08-13 | Western Digital Technologies, Inc. | Data recovery and regeneration using parity code |
CN110071727B (zh) * | 2019-04-26 | 2023-05-05 | 成都海光集成电路设计有限公司 | 编码方法、译码方法、纠错方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
-
2013
- 2013-09-10 CN CN201310409577.3A patent/CN103475379B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
Also Published As
Publication number | Publication date |
---|---|
CN103475379A (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102437857B (zh) | 一种ira-ldpc码的构造方法及其编码器 | |
CN101836387B (zh) | 具有速率匹配的高计算效率的卷积编码 | |
CN101192833B (zh) | 一种低密度校验码ldpc并行编码的装置及方法 | |
CN105656604A (zh) | 一种比特交织极化编码调制方法及装置 | |
CN102629396B (zh) | 含另选人的电子选票信息加密及快速处理方法 | |
CN102377437B (zh) | 一种准循环低密度奇偶校验码编码方法和装置 | |
CN201153259Y (zh) | 并行数据循环冗余校验装置及双向数据传输系统 | |
CN101489135B (zh) | 一种方便ldpc长码在fpga实现的编码器及编码方法 | |
CN103475379B (zh) | 一种ldpc编码方法 | |
CN102142928A (zh) | 交织、解交织外码编码输出码字的方法和交织、解交织器 | |
CN103023603A (zh) | 基于ldpc校验矩阵的比特交织编码调制的实现方法 | |
CN102820892A (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
CN102355331B (zh) | 一种通用多模式译码装置 | |
CN101577556B (zh) | 一种实现矩形交织的装置 | |
CN106034007A (zh) | 信令编码调制方法和解调译码方法及装置 | |
CN102594371B (zh) | 一种Turbo编码交织处理的方法及装置 | |
CN104901772A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN103036577B (zh) | 一种低复杂度的低密度奇偶校验ldpc码编码电路结构 | |
CN101286816A (zh) | 一种应用于多媒体传感网的并行信道编码装置 | |
CN102437896A (zh) | 一种比特交织及星座映射的方法及装置 | |
CN102868412A (zh) | 基于并行滤波的深空通信中ldpc编码器和编码方法 | |
CN103873188B (zh) | 一种并行解速率匹配方法和装置 | |
CN109672524A (zh) | 基于粗粒度可重构架构的sm3算法轮迭代系统及迭代方法 | |
CN105099614A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
Sridevi et al. | Implementation of Cyclic Redundancy Check in Data Recovery |
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: 20160224 Termination date: 20170910 |
|
CF01 | Termination of patent right due to non-payment of annual fee |