CN101604977A - 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 - Google Patents

利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 Download PDF

Info

Publication number
CN101604977A
CN101604977A CNA2009101407315A CN200910140731A CN101604977A CN 101604977 A CN101604977 A CN 101604977A CN A2009101407315 A CNA2009101407315 A CN A2009101407315A CN 200910140731 A CN200910140731 A CN 200910140731A CN 101604977 A CN101604977 A CN 101604977A
Authority
CN
China
Prior art keywords
matrix
ldpc
parity check
density parity
low
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
CNA2009101407315A
Other languages
English (en)
Other versions
CN101604977B (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN101604977A publication Critical patent/CN101604977A/zh
Application granted granted Critical
Publication of CN101604977B publication Critical patent/CN101604977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及一种利用低密度奇偶校验(low-density parity check,以下简称LDPC)矩阵进行数字数据编码的方法及编码器,其中方法包含间接储存LDPC矩阵的非常规部分,包含储存对应于非常规部分的多个非零子矩阵的多个索引;以及储存多个距离/位置参数,分别对应于非常规部分的相邻非零子矩阵之间的零子矩阵的数目,或储存多个距离/位置参数,分别对应于非常规部分的相邻非零子矩阵之间的距离;根据多个距离/位置参数的至少一个产生至少一地址;存取对应于地址的多个信息位;以及根据至少之一索引及信息位恢复LDPC矩阵的至少一元素,以编码数字数据。通过间接储存LDPC矩阵的非常规部分,可降低储存LDPC矩阵的要求,可将储存需求最小化,且不需引入更高复杂度及妨碍LDPC矩阵编码能效。

Description

利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器
技术领域
本发明有关于低密度奇偶校验(low-density parity check,以下简称LDPC)码,特别有关于利用LDPC矩阵进行数字数据(digital data)编码的方法以及编码器,上述编码器以及方法可以适用于WiMAX、802.11n以及其它通信系统。
背景技术
LDPC码已成为当今编码理论中最热门的一种。LDPC码首次出现于20世纪中期,由于已具备非常快速的编码及解码算法,LDPC码在近几年经历了另人惊讶的发展。在面对大量噪声的情况下,恢复初始码字(codeword)曾为最紧迫的课题,然而新的分析以及组合工具使得可以解决相关设计问题。所以,LDPC码不仅在理论方面非常吸引人,而且也适用于实际应用。
根据现有技术,关于使用一生成矩阵(generator matrix)来编码LDPC码的实施,需要储存一非常大的矩阵,其中LDPC码通常要求矩阵中的大的区块为有效并可以被使用,以达到较好的能效。因此,即使LDPC码的奇偶校验矩阵在某些情况下比较稀疏,在不影响能效的前提下,将这些奇偶校验矩阵以有成本效益的方式储存,仍然是开发者及研究人员所要解决的问题。
请参考图1,图1为根据现有技术的LDPC码的奇偶校验矩阵H。其中奇偶校验矩阵H的元素下标ai,j代表移位数f(为本领域技术人员所熟知,f通常为非负整数),所以元素可以表示为Pf。通常奇偶校验矩阵H的每多个元素被定义为大小为L×L的循环置换矩阵(cyclic permutation matrix),L代表子区块的大小,子区块为奇偶校验矩阵H的子矩阵。如图2、图3、图4所示,为了更好的理解,根据现有技术给出了L=8的循环置换矩阵的实例。通常来讲,循环置换矩阵Pf通过将单位矩阵(identity matrix)向右移位f列而产生。其中当移位数f为0时,循环置换矩阵Pf实质上为单位矩阵。
关于子矩阵大小L为较大数时,例如L=81,如果奇偶校验矩阵H的高度以及宽度分别为12以及24(即M=12,C=24),对应码字区块长度n可以达到1944位(即243字节),且总的储存容量要求奇偶校验矩阵H达到2916字节。需要注意的是,不同的奇偶校验矩阵的储存对应于不同的条件(例如不同的码率或是传输参数)。因此,这些奇偶校验矩阵的储存要求也变成了一个重要的课题。
除此之外,根据现有技术的奇偶生成器,如图5所示(图5由2006年8月发表于IEEE JSSC,pp.1686~1691的标题为“An 860-Mb/s(8158,7136)Low-DensityParity-Check Encoder”的论文揭示),乘数累加器(multiplier accumulator)的大小直接与每次处理的位数相关。所以,根据现有技术整个硬件结构巨大且成本很高。
发明内容
为了解决降低奇偶校验矩阵的储存要求的技术问题,本发明提供一种利用低密度奇偶校验矩阵进行编码数字数据的方法以及编码器。
本发明实施例提供一种利用低密度奇偶校验矩阵进行编码数字数据的方法,包含间接储存低密度奇偶校验矩阵的非常规部分,其中更包含储存对应于非常规部分的多个非零子矩阵的多个索引;以及储存多个距离/位置参数,分别对应于非常规部分的相邻非零子矩阵之间的零子矩阵的数目,或储存多个距离/位置参数,分别对应于该非常规部分的相邻非零子矩阵之间的距离;根据距离/位置参数的至少一个产生至少一地址;存取对应于地址的信息位;以及根据至少一索引以及信息位恢复低密度奇偶校验矩阵的至少一元素,以根据低密度奇偶校验矩阵编码数字数据。
本发明实施例还提供一种利用低密度奇偶校验矩阵进行编码数字数据的编码器,该编码器包含查找表,用以间接储存低密度奇偶校验矩阵的非常规部分,其中,查找表储存对应于低密度奇偶校验矩阵的非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,对应于低密度奇偶校验矩阵的非常规部分中相邻非零子矩阵之间的零子矩阵数量,或储存多个距离/位置参数,对应于低密度奇偶校验矩阵的非常规部分相邻非零子矩阵之间距离;地址产生器,耦接至查找表,用以根据至少一距离/位置参数产生至少一地址;码存储器,耦接至地址产生器,用以储存码数据,码数据中对应于地址的多个信息位可以根据地址自码存储器被存取;映射单元,耦接至查找表,用以将至少一索引映射为生成向量;循环移位寄存器,耦接至映射单元或码存储器,用以对生成向量或信息位执行循环移位操作;以及乘数累加器,耦接至循环移位寄存器,用以根据循环移位操作的结果恢复低密度奇偶校验矩阵的至少一元素,以根据低密度奇偶校验矩阵编码数字数据。
本发明实施例还提供一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,编码器包含查找表,用以间接储存低密度奇偶校验矩阵的非常规部分,其中,查找表储存对应于低密度奇偶校验矩阵的非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,对应于低密度奇偶校验矩阵的非常规部分中相邻非零子矩阵之间的零子矩阵数目,或分别对应于低密度奇偶校验矩阵的非常规部分相邻非零子矩阵之间的距离;地址产生器,耦接至查找表,用以根据至少一距离/位置参数产生至少一地址;码存储器,耦接至地址产生器,用以储存码数据,码数据中对应于地址的多个信息位可以根据地址自码存储器被存取;加法器,耦接至查找表,用以对至少一索引执行加法操作;映射单元,耦接至加法器,用以将加法操作的结果映射为对应行值;以及乘数累加器,耦接至映射单元以及码存储器,用以根据行值以及多个信息位恢复低密度奇偶校验矩阵的至少一元素,以根据低密度奇偶校验矩阵编码数字数据。
本发明实施例还提供一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,编码器包含查找表,用以间接储存低密度奇偶校验矩阵的非常规部分,其中,查找表储存对应于低密度奇偶校验矩阵的非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,对应于低密度奇偶校验矩阵的非常规部分中相邻非零子矩阵之间的零子矩阵数目,或分别对应于低密度奇偶校验矩阵的非常规部分相邻非零子矩阵之间的距离;地址产生器,耦接至查找表,用以根据至少一距离/位置参数产生至少一地址;码存储器,耦接至地址产生器,用以储存码数据,码数据中对应于地址的多个信息位可以根据地址自码存储器被存取;至少一循环移位寄存器,耦接至查找表以及码存储器,用以根据至少一索引对信息位执行至少一循环移位操作;以及一组异或单元,耦接至循环移位寄存器,用以根据循环移位操作的结果恢复低密度奇偶校验矩阵的至少一元素,以根据低密度奇偶校验矩阵编码数字数据。
本发明实施例还一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,编码器包含查找表,用以间接储存低密度奇偶校验矩阵的非常规部分,其中,查找表储存对应于低密度奇偶校验矩阵的非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,对应于低密度奇偶校验矩阵的非常规部分中相邻非零子矩阵之间的零子矩阵数目,或分别对应于低密度奇偶校验矩阵的非常规部分相邻非零子矩阵之间的距离;地址产生器,耦接至查找表,用以根据至少一距离/位置参数产生至少一地址;码存储器,耦接至地址产生器,用以储存码数据,码数据中的信息位对应于地址,信息位可以根据地址自码存储器被存取;模加法器,耦接至查找表,用以对至少一索引执行一模运算;至少一多任务器,耦接至模加法器以及码存储器,用以根据模运算的结果对该信息位的一部分执行多任务操作;以及一组异或单元,耦接至多任务器,用以根据信息位的多任务后的部分恢复低密度奇偶校验矩阵的至少一元素,以根据低密度奇偶校验矩阵编码数字数据。
本发明通过间接储存低密度奇偶校验矩阵的非常规部分,来降低储存低密度奇偶校验矩阵的要求,可以将储存需求最小化,且不需引入更高的复杂度以及妨碍低密度奇偶校验矩阵编码能效。
附图说明
图1为根据现有技术的LDPC码的奇偶校验矩阵H示意图。
图2为根据现有技术的一子区块大小的循环置换矩阵示意图。
图3为根据现有技术的一子区块大小的循环置换矩阵示意图。
图4为根据现有技术的一子区块大小的循环置换矩阵示意图。
图5为根据现有技术的奇偶生成器示意图。
图6为根据本发明第一实施例的利用LDPC矩阵用以编码数字数据的编码器的方块图。
图7为图6中的编码器的进一步的实施细节示意图。
图8为图6中的实施例利用的准循环LDPC矩阵的下标矩阵示意图。
图9为根据本发明图6中所示的实施例的利用LDPC矩阵进行数字数据编码的编码器的变化例的方块图。
图10为根据本发明第二实施例的利用LDPC矩阵进行数字数据编码的编码器的方块图。
图11为根据图10中所示的实施例的变化实施例的利用LDPC矩阵进行数字数据编码的编码器的方块图。
图12为根据本发明第三实施例的利用LDPC矩阵进行数字数据编码的编码器的方块图。
图13为根据本发明第四实施例的利用LDPC矩阵进行数字数据编码的编码器的方块图。
具体实施方式
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下:
以上提到的一些符号例如H、Pf、ai,j、m、c、L用于下文以更好的理解以及简化说明。请参考图6,图6为根据本发明第一实施例的利用LDPC矩阵(例如奇偶校验矩阵H)以编码数字数据的编码器100-1的方块图。在此实施例中,编码器100-1包含查找表112、地址产生器114、码存储器116、映射单元122、循环移位寄存器(circular shift register)132、乘数累加器142以及另一循环移位寄存器152(在此实施例中被标注为“di的循环移位寄存器”)。
图7为图6中的编码器100-1的进一步的实施细节示意图。在本实施例中的编码器100-1更包含存储器154(标注为“di存储器”用以储存“di”)、多任务器156、多个异或单元158(标注为“XORs”,在此实施例中异或单元为异或门)、另一存储器160(图中标注为“Vi存储器”用以储存“Vi”)、移位器162(标注为“0/1移位器”)以及控制单元164。
在此实施例中的查找表112用以间接储存LDPC矩阵中的非常规部分。具体而言,查找表112储存对应于LDPC矩阵非常规部分的多个非零子矩阵的多个索引,并进一步储存分别对应于LDPC矩阵非常规部分中相邻非零子矩阵之间零子矩阵数目的多个距离/位置参数,或储存分别对应于LDPC矩阵非常规部分相邻非零子矩阵之间距离的多个距离/位置参数。在此实施例中,上述多个索引代表多个移位数量,例如前面所述的移位数f。在此实施例中具体而言,上述多个索引实质上分别为多个移位数。
根据第一实施例,LDPC矩阵,如图1中的奇偶校验矩阵H,包含一组元素,其中LDPC矩阵中的至少一个元素代表循环置换矩阵,循环置换矩阵通过将单位矩阵根据移位数向右循环移位多列而得到。具体而言,循环置换矩阵如图2、图3以及图4中L=8的情况,通过将单位矩阵向右循环移位多列,以移位多个位置后而产生,其中多个位置的数目为上述移位数之一。请注意,根据本实施例中的数学定义,如果移位数为0,对应的循环置换矩阵通过将单位矩阵循环向右移位0列而产生,对应的循环置换矩阵实质上为单位矩阵。
接下来,图6以及图7中所提供的编码方法首先作为揭露利用LDPC矩阵进行数字数据编码的方法的一方面的示例。根据本发明第一实施例,奇偶校验矩阵H为准循环LDPC矩阵(quasi-cyclic LDPC matrix),如对应于图8中的下标矩阵A=[ai,j](i=1,2,...,m;j=1,2,...,c),其中m=12以及c=24,图8中下标矩阵A标注“-”的元素代表零子矩阵。在此,奇偶校验矩阵H可以分成两部分,即[HI|HP],HP符合某些规则,可被看作常规部分,以及HI(信息部分)可以被看作为上述的非常规部分。由于上述规则或与规则对应的参数可以储存于查找表112中,编码器100-1可以利用上述规则或与规则对应的参数以恢复HP部分。因此,对应于HP部分的储存要求可以降低。
除此之外,下标矩阵A可以被对应分成两部分[AI|Ap],如图8中所示。查找表112储存下标矩阵A中多个元素ai,j(如57,50,11等)作为多个索引,而不是如现有技术那样储存奇偶校验矩阵H的任意子矩阵Pi(如P57,P50,P11),也就是说在本实施例中,查找表112储存上述移位数作为索引。这样一来,由于编码器100-1获取至少一索引,并根据索引来恢复LDPC矩阵至少一元素(如准LDPC矩阵的子矩阵P57,P50,P11),在不引入更高的复杂度以及不妨碍LDPC矩阵能效的情况下,降低储存要求的目标则可以实现。关于子矩阵大小L=81的储存要求可以大大降低。
根据本实施例,如果距离/位置参数对应于列方向,则表示按照列方向量测距离或是距离/位置参数,多个距离/位置参数实质上为多个距离参数(如0,4,2等),分别对应于游程值(run-value)形式的距离,例如(0,57)、(4,50)、(2,11)等。此处,(0,57)中的“0”代表准LDPC矩阵的第一行的第一子矩阵P57(或下标矩阵A的第一行的第一个值57)位于初始位置(即本实施例中的左上角),其中(4,50)中的“4”代表准LDPC矩阵第一行的子矩阵P57与P50之间的距离(即下标矩阵A的第一列的值57与50之间的距离)等于4。相似的,(2,11)中的“2”代表准LDPC矩阵第一行的子矩阵P50与P11之间的距离(即下标矩阵A的第一行的值50与11之间的距离)等于2。
图6中的一些符号定义如下。gi,j代表生成向量,为将[1,0,...,0]向右循环移位ai,j位。这样一来,gi,j实质上是Pf的第一列,其中f=ai,j。除此之外,标号u以及v分别代表码C中的信息向量以及奇偶向量,即C=[u|v],其中H*CT=0=[HI|HP]*[u|v]T。在此,向量u以及向量v可以进一步写成:
u=[u1|u2|...|uc-m];以及
v=[v1|v2|...|vm];
其中,ui以及vi为L-位向量。除此之外,标号ui[0:L-1]用以代表向量ui的位0至位(L-1),标号u(q)用以代表将向量u向右循环移位q位。
根据本发明第一实施例的编码程序方法可以描述如下:
步骤911:di T=∑j=1 to(c-m)Pf*uj T,其中f=ai,j且i自1变化至m。
步骤912:v1=∑i=1 to mdi.
步骤913:通过利用不同vi之间的关系获得v2,v3,...,vm
具体来说,在步骤913中,v2,v3,...,vm可以利用先前获得的di以及vi而获得。例如,根据802.11n/D104,Z=81以及R=1/2的规格书,步骤913可以写成:
v2=d1+v1 (1)
vt=dt-1+vt-1,其中t自3变化至12不包含8;以及
v8=d7+v7+v1.
接下来,采用802.11n规格书的伪码作为例子来解释图6以及图7的硬件结构的实施。其中,vi与di同时被计算。
v1=0;
for(i=1;i<=m;i++)
{
di T=∑j=1 to(c-m)Pf*uj T;(where f=ai,j)
v1=v1+di
}
v2=d1+v1 (1)
for(t=3;i<=7;t++)
vt=dt-1+vt-1
v8=d7+v7+v1
for(t=9;i<=12;t++)
vt=dt-1+vt-1
在编码器100-1中,计算di的部分在图6中显示。地址产生器114对应于游程形式中的游程部分(即距离参数),用以根据查找表112的至少一距离/位置参数产生至少一地址。根据本实施例,b位在计算操作中立刻被计算。除此之外,码存储器116用以储存码数据,码数据中的信息位对应于地址,可以根据地址自码存储器116存取信息位。如图6所示,码存储器116输出uj至乘数累加器142。
请注意,步骤911可以写成:
di[k]=∑j=1 to(c-m)(gi,j (k)*uj);
其中,k自nb变化至((n+1)*b-1)。关于图6左边的路径,映射单元122用以将至少一索引ai,j映射至至少生成向量gi,j,循环移位寄存器132用以对生成向量gi,j执行循环移位操作,以产生Pf的第nb行值,其中f=ai,j。除此之外,本实施例中的乘数累加器142包含至少(L*b)个与门与(L*b)个异或门,其中乘数累加器142以及对应组件例如循环移位寄存器152以及图7中所示组件,可以用以恢复LDPC矩阵的至少一元素以根据LCPC矩阵进行编码。循环移位寄存器152输入来自乘数累加器142的di,且进一步将di向左移b位后输出至乘数累加器142,以更新di
如图7所示,存储器154耦接至循环移位寄存器152,以当di被计算出来时保存di。多任务器156的左输入以及右输入分别对应于v1的计算以及其它vi的计算,其中控制单元164控制根据i控制多任务器156的输入选择。异或单元158、存储器160以及移位器162共同操作以计算上述伪码,其中移位器162用以当需要时对vi进行移位。
根据本实施例的变化,距离参数对应于列方向,也就是说,距离或是距离参数是按照列方向进行量测的。
根据本实施例的变化例,多个距离/位置参数实质上是多个距离参数(例如4,2,2等),分别对应于游程形式的距离如(57,4)、(50,2)、(11,2)等。如前所述,(57,4)中的“4”代表准LDPC矩阵的第一行的第一子矩阵P57与P50之间的距离(即下标矩阵A的第一行的值57与50之间的距离)等于4,其中(50,2)中的“2”代表准LDPC矩阵第一行的子矩阵P50与P11之间的距离(即下标矩阵A的第一行的值50与11之间的距离)等于2,以此类推。
根据本实施例的另一变化例,多个距离/位置参数实质上为分别对应于HI的相邻非零子矩阵之间的零子矩阵数目的多个距离参数。如果距离参数对应于行方向,查找表112可以储存距离参数(如3,1,1等),分别对应于游程形式的距离如(57,3)、(50,1)、(11,1)等。在此变化例中,(57,3)中的“3”代表相邻非零子矩阵P57与P50之间的零矩阵的个数为3,其中(50,1)中的“1”代表相邻非零子矩阵P50与P11之间的零矩阵的个数为1,以此类推。
根据本发明另一实施例,多个索引分别对应于上述非零子矩阵HI。然而,多个距离/位置参数可以实质上为对应于HI的非零子矩阵的多个位置的多个位置参数。如果位置参数对应于HI的非零子矩阵的列位置以及行位置,查找表112储存位置参数(如(1,1)、(1,5)、(1,7)等),分别对应于HI的非零子矩阵P57,P50,P11等的游程形式如(57,1,1)、(50,1,5)、(11,1,7)等。例如,(57,1,1)中的(1,1)代表准LDPC矩阵的第一行的第一子矩阵P57的位置(或下标矩阵A的第一行的第一个值57)位于(1,1)(即本实施例左上角),且(50,1,5)中的(1,5)代表准LDPC矩阵的第一行的第一子矩阵P50的位置(或下标矩阵A的第一行的第一个值50)位于(1,5)等。
根据本实施例的变化,查找表112可以储存位置参数(如(1,1)、(1,5)、(1,7)等),分别对应于HI的非零子矩阵P57,P50,P11等的游程形式如(57,1,1)、(50,1,5)、(11,1,7)等。其中的意义可以根据说明书的详细描述得知,故不赘述。
图9为根据本发明图6中所示的实施例的变化例,利用LDPC矩阵进行数字数据编码的编码器100-2的方块图。根据此变化的实施例,上述的循环移位寄存器132被另一循环移位寄存器134所代替,其中变化后的耦接关系在图9中显示。由于步骤911可以写成di T[k]=∑j=1 to(c-m)(gi,j*uj (-k)),借此可推导出变化后的耦接关系,其中k自nb变化至((n+1)*b-1)。关于此变化在此不再重新叙述。
图10为根据本发明第二实施例的利用LDPC矩阵进行数字数据编码的编码器200-1的方块图。本实施例为第一实施例的变化实施例。上述的映射单元122以及循环移位寄存器132由另一模块220-1代替,模块220-1包含模加法器(modulo adder)222-1(图中用“%L加法器”表示)以及映射单元224-1,以达到比第一实施例更小的芯片面积。模加法器222-1用以根据来自查找表112以及其它输入nb的索引ai,j执行模运算。本实施例的相同描述在此不重复描述。
图11为根据图10中所示实施例的变化实施例的利用LDPC矩阵进行数字数据编码的编码器200-2的方块图。在此变化中,模块220-1由另一模块220-2所代替,模块220-2包含普通加法器222-2以及映射单元224-2,其中加法器222-2用以根据另一输入nb对来自查找表112的索引ai,j执行累加操作,且映射单元224-2可以覆盖一较宽的范围,从0至(2L-b-1)。本实施例的相同描述在此不重复描述。
图12为根据本发明第三实施例的利用LDPC矩阵进行数字数据编码的编码器300的方块图。本实施例也是第一实施例的变化例。如图12所示,至少一循环移位寄存器用以根据来自查找表112的至少一索引ai,j,对来自码存储器116的信息位执行至少一次循环移位操作。在此实施例中,循环移位寄存器332将uj向左循环移位ai,j后输出至循环移位寄存器334,且循环移位寄存器334在计算操作中移位b位。相应的,一组异或单元342(图中显示为“XORs”)代替上述乘数累加器142。可推导出变化后的耦接关系,因为步骤911可以写成di[k]=∑j=1 to(c-m)uj[(ai,j+k)%L],其中k自nb变化至((n+1)*b-1)。本实施例的相同描述在此不重复描述。
图13为根据本发明第四实施例的利用LDPC矩阵进行数字数据编码的编码器400的方块图。本实施例不仅是第一实施例的变化例,也是第三实施例的变化例。上述模加法器222-1现在用以控制多个多任务器434的输入选择,所以多个多任务器434根据模加法器222-1执行的模运算结果,对来自码存储器116的信息位的一部分实施多任务操作。如图13所示,多个多任务器434输出uj -(nb +f)[0:b-1]至上述组异或单元342,其中f=ai,j。本实施例的相同描述在此不重复描述。
与现有技术相比,本发明的编码器以及方法可以将储存需求最小化,且不用引入更高的复杂度以及妨碍LDPC编码能效。
根据本发明所揭露的计算xL/b+(m-1),利用本发明的编码器以及方法可以减少频率数目,其中x代表LDPC矩阵中的非常规部分的非零子矩阵的数目。

Claims (24)

1.一种利用低密度奇偶校验矩阵进行数字数据编码的方法,包含:
间接储存该低密度奇偶校验矩阵的非常规部分,其中更包含:
储存对应于该非常规部分的多个非零子矩阵的多个索引;以及
储存多个距离/位置参数,该多个距离/位置参数分别对应于该非常规部分的相邻非零子矩阵之间的零子矩阵的数目或分别对应于该非常规部分的相邻非零子矩阵之间的距离;
根据该多个距离/位置参数的至少一个产生至少一地址;
存取对应于该地址的多个信息位;以及
根据至少一索引以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码数字数据。
2.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,该多个索引代表多个移位数,该低密度奇偶校验矩阵包含一组元素,该低密度奇偶校验矩阵的至少一元素代表循环置换矩阵,该循环置换矩阵通过根据该多个移位数其中之一将单位矩阵向右循环移位多列而产生。
3.根据权利要求2所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,该多个索引为该多个移位数。
4.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,更包含:
提供查找表,用以储存该多个索引及/或该多个距离/位置参数。
5.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,该低密度奇偶校验矩阵为准循环低密度奇偶校验矩阵。
6.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,根据该至少一索引以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素的步骤更包含:
将该至少一索引映射至生成向量;
对该生成向量或该多个信息位执行循环移位操作;以及
提供乘数累加器,用以根据该循环移位操作的结果恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码该数字数据。
7.根据权利要求6所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,当对该生成向量执行该循环移位操作时,该乘数累加器根据该多个信息位以及该循环移位操作的该结果进行操作;当对该数据位执行该循环移位操作时,该乘数累加器根据该生成向量以及该循环移位操作的该结果进行操作。
8.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,根据该至少一索引以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素的步骤更包含:
对该至少一索引执行加法操作;
将该加法操作的结果映射至对应的行值;以及
提供乘数累加器用以根据该行值以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码该数字数据。
9.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,根据该至少一索引以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素的步骤更包含:
根据该至少一索引对该多个信息位执行至少一循环移位操作;以及
提供一组异或单元,用以根据该循环移位操作的结果恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码该数字数据。
10.根据权利要求1所述的利用低密度奇偶校验矩阵进行编码数字数据的方法,其特征在于,根据该至少一索引以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素的步骤更包含:
对该至少一索引执行模运算;
根据该模运算的结果对该多个信息位的一部分执行多任务操作,以产生该多个信息位的多任务后的部分;以及
提供一组异或单元,用以根据该多任务后的部分恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码该数字数据。
11.一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,该编码器包含:
查找表,用以间接储存该低密度奇偶校验矩阵的非常规部分,其中,该查找表储存对应于该低密度奇偶校验矩阵的该非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,该多个距离/位置参数分别对应于该低密度奇偶校验矩阵的该非常规部分中相邻非零子矩阵之间的零子矩阵数或分别对应于该低密度奇偶校验矩阵的该非常规部分相邻非零子矩阵之间的距离;
地址产生器,耦接至该查找表,用以根据至少一距离/位置参数产生至少一地址;
码存储器,耦接至该地址产生器,用以储存码数据,该码数据中对应于该地址的多个信息位可以根据该地址自该码存储器被存取;
映射单元,耦接至该查找表,用以将至少一索引映射为生成向量;
循环移位寄存器,耦接至该映射单元或该码存储器,用以对该生成向量或该多个信息位执行循环移位操作;以及
乘数累加器,耦接至该循环移位寄存器,用以根据该循环移位操作的结果恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码数字数据。
12.根据权利要求11所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引代表多个移位数,该低密度奇偶校验矩阵包含一组元素,且该低密度奇偶校验矩阵的至少一元素代表循环置换矩阵,该循环置换矩阵通过根据该多个移位数其中之一将单位矩阵向右移位多列而产生。
13.根据权利要求11所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引为该多个移位数。
14.根据权利要求11所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,当对该生成向量执行该循环移位操作时,该循环移位寄存器耦接至该映射单元,且该乘数累加器根据该多个信息位以及该循环移位操作的该结果进行操作;且当对该多个信息位执行该循环移位操作时,该循环移位寄存器耦接至该码存储器,以及该乘数累加器根据该生成向量以及该循环移位操作的该结果进行操作。
15.一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,该编码器包含:
查找表,用以间接储存该低密度奇偶校验矩阵的非常规部分,其中,该查找表储存对应于该低密度奇偶校验矩阵的该非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,该多个距离/位置参数分别对应于该低密度奇偶校验矩阵的该非常规部分中相邻非零子矩阵之间的零子矩阵数或分别对应于该低密度奇偶校验矩阵的该非常规部分相邻非零子矩阵之间的距离;
地址产生器,耦接至该查找表,用以根据至少一距离/位置参数产生至少一地址;
码存储器,耦接至该地址产生器,用以储存码数据,该码数据中对应于该地址的多个信息位可以根据该地址自该码存储器被存取;
加法器,耦接至该查找表,用以对至少一索引执行加法操作;
映射单元,耦接至该加法器,用以将该加法操作的结果映射为对应行值;以及
乘数累加器,耦接至该映射单元以及该码存储器,用以根据该行值以及该多个信息位恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码数字数据。
16.根据权利要求15所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引代表多个移位数,该低密度奇偶校验矩阵包含一组元素,且该低密度奇偶校验矩阵的至少一元素代表循环置换矩阵,该循环置换矩阵通过根据该多个移位数之一将单位矩阵向右移位多列而产生。
17.根据权利要求15所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引为该多个移位数。
18.根据权利要求15所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该加法器为模加法器。
19.一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,该编码器包含:
查找表,用以间接储存该低密度奇偶校验矩阵的非常规部分,其中,该查找表储存对应于该低密度奇偶校验矩阵的该非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,该多个距离/位置参数分别对应于该低密度奇偶校验矩阵的该非常规部分中相邻非零子矩阵之间的零子矩阵数或分别对应于该低密度奇偶校验矩阵的该非常规部分相邻非零子矩阵之间的距离;
地址产生器,耦接至该查找表,用以根据至少一距离/位置参数产生至少一地址;
码存储器,耦接至该地址产生器,用以储存码数据,该码数据中对应于该地址的多个该信息位可以根据该地址自该码存储器被存取;
至少一循环移位寄存器,耦接至该查找表以及该码存储器,用以根据至少一索引对该多个信息位执行至少一循环移位操作;以及
一组异或单元,耦接至该循环移位寄存器,用以根据该循环移位操作的结果恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码数字数据。
20.根据权利要求19所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引代表多个移位数,该低密度奇偶校验矩阵包含一组元素,且该低密度奇偶校验矩阵的至少一元素代表一循环置换矩阵,该循环置换矩阵通过根据该多个移位数之一将一单位矩阵向右移位多列而产生。
21.根据权利要求19所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引为该多个移位数。
22.一种利用低密度奇偶校验矩阵进行数字数据编码的编码器,该编码器包含:
查找表,用以间接储存该低密度奇偶校验矩阵的非常规部分,其中,该查找表储存对应于该低密度奇偶校验矩阵的该非常规部分的多个非零子矩阵的多个索引,并进一步储存多个距离/位置参数,该多个距离/位置参数分别对应于该低密度奇偶校验矩阵的该非常规部分中相邻非零子矩阵之间的零子矩阵数或分别对应于该低密度奇偶校验矩阵的该非常规部分相邻非零子矩阵之间的距离;
地址产生器,耦接至该查找表,用以根据至少一距离/位置参数产生至少一地址;
码存储器,耦接至该地址产生器,用以储存码数据,该码数据中的信息位对应于该地址,该信息位可以根据该地址自该码存储器被存取;
模加法器,耦接至该查找表,用以对至少一索引执行一模运算;
至少一多任务器,耦接至该模加法器以及该码存储器,用以根据该模运算的结果对该多个信息位的一部分执行多任务操作;以及
一组异或单元,耦接至该多任务器,用以根据该多个信息位的该多任务后的部分恢复该低密度奇偶校验矩阵的至少一元素,以根据该低密度奇偶校验矩阵编码一数字数据。
23.根据权利要求22所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引代表多个移位数,该低密度奇偶校验矩阵包含一组元素,且该低密度奇偶校验矩阵的至少一元素代表循环置换矩阵,该循环置换矩阵通过根据该多个移位数之一将单位矩阵向右移位多列而产生。
24.根据权利要求22所述的利用低密度奇偶校验矩阵进行编码数字数据的编码器,其特征在于,该多个索引为该多个移位数。
CN200910140731.5A 2008-06-13 2009-05-13 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 Active CN101604977B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/138,452 US8099644B2 (en) 2008-06-13 2008-06-13 Encoders and methods for encoding digital data with low-density parity check matrix
US12/138,452 2008-06-13

Publications (2)

Publication Number Publication Date
CN101604977A true CN101604977A (zh) 2009-12-16
CN101604977B CN101604977B (zh) 2015-07-01

Family

ID=41415873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910140731.5A Active CN101604977B (zh) 2008-06-13 2009-05-13 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器

Country Status (3)

Country Link
US (1) US8099644B2 (zh)
CN (1) CN101604977B (zh)
TW (1) TWI387213B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065007A (zh) * 2010-11-29 2011-05-18 中国计量学院 可配置数据重组网络单元
CN102857237A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 一种低延时的近地通信中ldpc并行编码器和编码方法
CN102857324A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 基于查找表的深空通信中ldpc串行编码器和编码方法
CN102868412A (zh) * 2012-09-27 2013-01-09 苏州威士达信息科技有限公司 基于并行滤波的深空通信中ldpc编码器和编码方法
CN105356968A (zh) * 2015-06-24 2016-02-24 深圳大学 基于循环置换矩阵的网络编码的方法及系统
CN106209115A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种数据处理方法及电子设备
CN110291721A (zh) * 2017-06-27 2019-09-27 联发科技股份有限公司 在移动通信中用于小码块尺寸的qc-ldpc码的移位系数表设计
CN111384972A (zh) * 2018-12-29 2020-07-07 泰斗微电子科技有限公司 多进制ldpc解码算法的优化方法、装置及解码器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US8607129B2 (en) * 2011-07-01 2013-12-10 Intel Corporation Efficient and scalable cyclic redundancy check circuit using Galois-field arithmetic
CN103067025B (zh) * 2013-01-01 2017-03-01 中国传媒大学 基于块行循环的cmmb中ldpc编码器和编码方法
KR102374114B1 (ko) * 2015-06-30 2022-03-14 삼성전자주식회사 집적 회로 및 집적 회로를 포함하는 전자 장치
US9838033B1 (en) * 2016-12-30 2017-12-05 Western Digital Technologies, Inc. Encoder supporting multiple code rates and code lengths
US11640255B2 (en) * 2020-11-19 2023-05-02 Macronix International Co., Ltd. Memory device and operation method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192835A (zh) * 2006-11-29 2008-06-04 联发科技股份有限公司 低密度同位检查矩阵处理数字数据的数据处理系统与方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178080B2 (en) * 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
JP2004088449A (ja) * 2002-08-27 2004-03-18 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
WO2006039801A1 (en) * 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR20060135451A (ko) * 2005-06-25 2006-12-29 삼성전자주식회사 저밀도 패리티 검사 행렬 부호화 방법 및 장치
US7530002B2 (en) * 2006-01-03 2009-05-05 Broadcom Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192835A (zh) * 2006-11-29 2008-06-04 联发科技股份有限公司 低密度同位检查矩阵处理数字数据的数据处理系统与方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065007A (zh) * 2010-11-29 2011-05-18 中国计量学院 可配置数据重组网络单元
CN102065007B (zh) * 2010-11-29 2012-09-05 中国计量学院 可配置数据重组网络单元
CN102857237B (zh) * 2012-09-27 2015-05-20 苏州威士达信息科技有限公司 一种低延时的近地通信中ldpc并行编码器和编码方法
CN102857324A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 基于查找表的深空通信中ldpc串行编码器和编码方法
CN102868412A (zh) * 2012-09-27 2013-01-09 苏州威士达信息科技有限公司 基于并行滤波的深空通信中ldpc编码器和编码方法
CN102857324B (zh) * 2012-09-27 2014-12-10 苏州威士达信息科技有限公司 基于查找表的深空通信中ldpc串行编码器和编码方法
CN102857237A (zh) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 一种低延时的近地通信中ldpc并行编码器和编码方法
CN102868412B (zh) * 2012-09-27 2015-05-20 苏州威士达信息科技有限公司 基于并行滤波的深空通信中ldpc编码器和编码方法
CN105356968A (zh) * 2015-06-24 2016-02-24 深圳大学 基于循环置换矩阵的网络编码的方法及系统
CN105356968B (zh) * 2015-06-24 2018-11-16 深圳大学 基于循环置换矩阵的网络编码的方法及系统
CN106209115A (zh) * 2016-06-29 2016-12-07 联想(北京)有限公司 一种数据处理方法及电子设备
CN110291721A (zh) * 2017-06-27 2019-09-27 联发科技股份有限公司 在移动通信中用于小码块尺寸的qc-ldpc码的移位系数表设计
CN110291721B (zh) * 2017-06-27 2023-09-26 联发科技股份有限公司 在移动通信中用于小码块尺寸的qc-ldpc码的移位系数表设计方法
CN111384972A (zh) * 2018-12-29 2020-07-07 泰斗微电子科技有限公司 多进制ldpc解码算法的优化方法、装置及解码器
CN111384972B (zh) * 2018-12-29 2023-05-26 泰斗微电子科技有限公司 多进制ldpc解码算法的优化方法、装置及解码器

Also Published As

Publication number Publication date
US8099644B2 (en) 2012-01-17
TW200952350A (en) 2009-12-16
US20090313523A1 (en) 2009-12-17
TWI387213B (zh) 2013-02-21
CN101604977B (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN101604977B (zh) 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器
Hou et al. BASIC codes: Low-complexity regenerating codes for distributed storage systems
Justesen et al. A course in error-correcting codes
CN101632230B (zh) 低密度奇偶校验(ldpc)码的编码和解码
CN101032082B (zh) 编码和解码数据的方法和设备
CN101106381B (zh) 分层的低密度校验码译码器及译码处理方法
CN101162907B (zh) 一种利用低密度奇偶校验码实现编码的方法及装置
CN102823141B (zh) 用于固态存储器件的两级bch码
Kamath et al. Explicit MBR all-symbol locality codes
CN105656604A (zh) 一种比特交织极化编码调制方法及装置
Gad et al. Repair-optimal MDS array codes over GF (2)
WO2010073922A1 (ja) 誤り訂正符号化装置、復号装置、符号化方法、復号方法、及びそのプログラム
KR20080040669A (ko) 다양한 클래스의 코드들을 인코딩 및 디코딩하는 애플리케이션을 갖는 인-플레이스 변환
CN103152056A (zh) 一种基于原模图的准循环ldpc码构造方法及装置
Kayser et al. Multiple-write WOM-codes
Tan et al. Optimal cyclic locally repairable codes via cyclotomic polynomials
CN104981979A (zh) 纠错码的检查矩阵的数据结构、纠错码的编码率变更装置以及变更方法
Hou et al. A new design of binary MDS array codes with asymptotically weak-optimal repair
CN101902228A (zh) 快速循环冗余校验编码方法及装置
KR100669152B1 (ko) 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN102088294A (zh) 一种qc-ldpc编码器及编码方法
WO2006087792A1 (ja) 符号化装置及び符号化方法
CN102739259A (zh) 一种用于cmmb激励器中的基于fpga的ldpc编码方法
CN108429553B (zh) 极化码的编码方法、编码装置及设备
CN102684707B (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