CN105164924A - 10gbase-t系统中ldpc编码器的方法和装置 - Google Patents

10gbase-t系统中ldpc编码器的方法和装置 Download PDF

Info

Publication number
CN105164924A
CN105164924A CN201380075959.5A CN201380075959A CN105164924A CN 105164924 A CN105164924 A CN 105164924A CN 201380075959 A CN201380075959 A CN 201380075959A CN 105164924 A CN105164924 A CN 105164924A
Authority
CN
China
Prior art keywords
parity check
check bit
residue
bit
code word
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.)
Pending
Application number
CN201380075959.5A
Other languages
English (en)
Inventor
J·李
Y·薛
Y·黄
C·许
J·侯
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105164924A publication Critical patent/CN105164924A/zh
Pending legal-status Critical Current

Links

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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • 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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

公开了一种用于数据编码的方法。通信设备接收要被编码成码字(c)的一组信息位,该码字(c)包括该组信息位以及一组奇偶校验位。第一位值被指派给该组奇偶校验位中的第一奇偶校验位。剩余的奇偶校验位随后被至少部分地基于被指派给第一奇偶校验位的第一位值来进行编码。该设备可以使用该组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来对剩余的奇偶校验位进行编码。该设备也可以基于奇偶校验矩阵H的线性无关行来生成新的奇偶校验矩阵(H0),并且基于方程:H0c=0来迭代地对每个剩余的奇偶校验位进行求值。该设备可以接着确定经编码的码字c在给定了该LDPC码的前提下是否是有效码字,并且若c不是有效码字则改变该码字的一个或多个位值。

Description

10GBASE-T系统中LDPC编码器的方法和装置
技术领域
本申请实施例一般涉及数据通信中的检错,并尤其涉及基于低密度奇偶校验(LDPC)编码的检错和/或纠错。
相关技术背景
许多通信系统使用纠错码。具体而言,纠错码可通过在数据流中引入冗余度来补偿这些系统中固有的信息传递不可靠性。低密度奇偶校验(LDPC)码是一种特定类型的纠错码,其使用迭代编码系统。LDPC码可由二部图(常常称为“Tanner图”)来表示,其中一组变量节点对应于码字的信息位,并且一组校验节点表示定义该码的奇偶校验约束。变量节点和校验节点在该图中若被边连接,则它们被认为是“邻居”。当且仅当对于每个校验节点,与所有相邻变量节点相关联的位的模2总和为0(即,它们包括偶数个1)时,与变量节点序列具有一对一关联的位序列才是有效码字。
例如,图1A示出表示示例性LDPC码的二部图100。二部图100包括连接至4个校验节点120(由正方形表示)的一组5个变量节点100(由圆形表示)。图100中的边将变量节点110连接至校验节点120。图1B示出二部图100的矩阵表示150。矩阵表示150包括奇偶校验矩阵H和码字向量x,其中x1-x5表示码字x的位。更具体地,当且仅当Hx=0时,码字向量x才表示有效码字。
所接收到的LDPC码字可被解码以产生原始码字的经重构版本。在不存在差错的情况下或者在可纠正差错的情形中,解码可被用来恢复已被编码的原始数据单元。例如,LDPC解码器可通过以下操作来工作:沿着各边在二部图100内交换消息,以及通过基于传入消息在各节点处执行计算来更新这些消息。图100中的每个变量节点110可初始地被提供以“软位”(例如,表示码字的收到位),其指示如由从通信信道所作的观察所确定的相关联位的值的估计。LDPC解码器可以通过基于对应的LDPC码的奇偶校验约束来迭代地从存储器读取软位及将软位迭代地写回存储器来更新软位。
用于解码LDPC码字的奇偶校验矩阵H是“稀疏”的(即,矩阵H包含的1显著少于0)。例如,IEEE802.3an以太网标准所采用的LDPC码为行权重为32且列权重为6的384x2048矩阵。换句话说,H的每一行有32个1,并且H的每一列由6个1。H的稀疏性使得能对所接收到的码字进行高效解码。相反,一般用于对LDPC码字进行编码的生成矩阵(G)并不是稀疏的(例如,GHT=0)。由此,由于此类高编码复杂度,实现生成矩阵G的LDPC编码器常常是十分复杂和/或低效的。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题内容的关键特征或必要特征,亦非旨在限定要求保护的主题内容的范围。
所公开的操作的设备和方法可协助对要被传送到另一设备的数据进行编码。对于一些实施例,该设备可包括用以存储要被编码成码字(c)的一组信息的存储器元件,其中该码字包括该组信息位和一组奇偶校验位;以及一个或多个处理器,用以(i)将第一位值指派给该组奇偶校验位中的第一奇偶校验位,以及(ii)至少部分地基于指派给第一奇偶校验位的第一位值来编码该组奇偶校验位中的剩余奇偶校验位。该一个或多个处理器可以使用该组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来对剩余的奇偶校验位进行编码。该一个或多个处理器也可以确定经编码的码字在给定了该LDPC码的前提下是否是有效码字,并且若其不是有效码字则改变该码字的一个或多个位值。
对于一些实施例,可以基于奇偶校验矩阵H的线性无关行来生成新的奇偶校验矩阵(H0)。每个剩余的奇偶校验位可以接着基于方程:H0c=0来被迭代地求值。具体地,剩余的奇偶校验位可以通过迭代地解一个或多个向量方程来被求值。
对于一些实施例,若该码字不是有效码字,则第一奇偶校验位可以被指派第二位值。该一个或多个处理器可以接着确定剩余的奇偶校验位中的哪些(若有)受到第一奇偶校验位的影响,并且改变这些受影响的奇偶校验位的位值。例如,该一个或多个处理器可以在查找表中查找受影响的奇偶校验位。
使用奇偶校验矩阵H(例如,而非生成矩阵G)来编码LDPC码字会由于H的稀疏性而实质性地降低编码操作的复杂度。此外,假定第一奇偶校验位的位值以及基于该假定迭代地对剩余的奇偶校验位进行求值使得LDPC编码操作能以实质上线性的方式被快速执行。此外,因为仅有有限数目的剩余奇偶校验位可能受到第一奇偶校验位的值的不正确假定的影响,所以基于不正确的假定所生成的码字可以后续用单步被纠正(例如,通过改变受影响的奇偶校验位的位值)。
附图简述
本发明各实施例是作为示例来解说的,且不旨在受附图中各图的限定,其中:
图1A-1B示出了示例性LDPC码的图和矩阵表示;
图2示出根据一些实施例的通信系统;
图3是描绘根据一些实施例的数据编码操作的解说性流程图;
图4是根据一些实施例的LDPC处理设备的框图;
图5是描绘根据一些实施例的对码字的奇偶校验位进行求值的方法的解说性流程图;
图6是描绘根据一些实施例的另一数据编码操作的解说性流程图;以及
图7是根据一些实施例的编码器的框图。
详细描述
在以下描述中,阐述了众多具体细节(诸如具体组件、电路、和过程的示例),以提供对本公开的透彻理解。如本文所使用的,术语“耦合”意指直接连接到、或通过一个或多个居间组件或电路来连接。而且,在以下描述中并且出于解释目的,阐述了具体的命名以提供对本公开各实施例的透彻理解。然而,对于本领域技术人员将明显的是,可以不需要这些具体细节就能实践本发明各实施例。在其他实例中,以框图形式示出公知的电路和设备以避免混淆本公开。本文所描述的各种总线上所提供的任何信号可以与其他信号进行时间复用并且在一条或多条共用总线上提供。另外,各电路元件或软件块之间的互连可被示为总线或单信号线。每条总线可替换地是单信号线,而每条单信号线可替换地是总线,并且单线或总线可表示用于各组件之间的通信的大量物理或逻辑机制中的任一个或多个。本发明各实施例不应被解释为限于本文描述的具体示例,而是在其范围内包括由所附权利要求所限定的所有实施例。
图2示出根据一些实施例的通信系统200。发射机210将信号发射到信道220上,并且接收机230从信道220接收该信号。发射机210和接收机230可以是例如计算机、交换机、路由器、集线器、网关、和/或类似设备。对于一些实施例,通信系统是基于IEEE802.3an以太网标准的10GBASE-T以太网系统(例如,信道220是有线链路),虽然其他的有线通信标准也可以被系统200所采用。在其他实施例中,信道220可以是无线的。
通信系统200中的各个组件的瑕疵可能成为信号损伤的源,并由此导致信号降级。例如,信道220中的瑕疵可能引入信道畸变,其可包括线性畸变、多径效应、和/或加性高斯白噪声(AWGN)。为了对抗潜在的信号降级,发射机210和接收机230可分别包括LDPC编码器和解码器。特别地,发射机210可对传出数据执行LDPC编码以产生能由接收机230后续解码(例如,通过LDPC解码操作)以恢复原始数据的码字。对于一些实施例,发射机210可基于与发射机210和接收机230双方所使用的LDPC码相关联的奇偶校验矩阵(H)来生成码字。进一步,对于一些实施例,发射机210可以通过为第一奇偶校验位假定初始位值并且基于该第一奇偶校验位的初始位值迭代地对剩余的奇偶校验位进行求值来为该码字生成一组奇偶校验位。
图3是描绘根据一些实施例的数据编码操作300的解说性流程图。例如,参照图2,发射机210首先接收要被编码和传送的一组信息位(310)。对于一些实施例,这些信息位可以基于发射机210和接收机230之间共享的LDPC码来被编码成LDPC码字(c)。每个码字c可包括原始信息位(cs)以及可被用来对原始信息位cs执行奇偶校验和/或恢复原始信息位cs的一组奇偶校验位(cp)。对于一些实施例,LDPC码可对应于基于802.3an以太网标准(例如,10GBASE-T)的(2048,1723)常规LDPC码。特别地,在802.3an以太网标准下,1723个信息位与325个奇偶校验位被组合以形成2048位码字。
发射机210接着将初始位值(b0)指派给码字c的第一奇偶校验位(cp[0])(320)。如将会在以下更为详细地描述的,初始位值b0是第一奇偶校验位cp[0]的真实位值的“假定”。由此,对于一些实施例,初始位值b0可以是若该假定在后续被确定为不正确则可被改变或被纠正的任意性值(例如,0或者1)。应当注意,在本申请实施例中,仅为了简化起见,假定是针对“第一”奇偶校验位(即,cp[0])来做出的。对于其他实施例,初始位值b0可以为任何奇偶校验位cp[0]-cp[n]来假定。
最终,发射机210至少部分地基于被指派给第一奇偶校验位cp[0]的初始位值b0来编码剩余的奇偶校验位(cp[1]-cp[n])。对于一些实施例,剩余的奇偶校验位cp[1]-cp[n]可以基于奇偶校验矩阵H(例如通过求解:Hc=0(mod2))来被求值。进一步,对于一些实施例,发射机210可以例如通过确定最终的码字c对于给定的LDPC码而言是否是有效码字来验证奇偶校验位cp[0]-cp[n]是否被正确地编码了。若码字c并不代表有效的LDPC码字,那么发射机210可以基于初始位值b0来“翻转”或改变第一奇偶校验位cp[0]和未被正确地编码的任何剩余的奇偶校验位cp[1]-cp[n]的位值。
图4是根据一些实施例的LDPC处理设备400的框图。LDPC处理设备400包括编码器410、解码器420和收发机430,收发机430经由通信信道(例如,图2的信道220)传送和/或接收经LDPC编码的码字。对于一些实施例,通信信道可以对应于10GPBASE-T以太网信道(虽然可以使用其他通信介质)。对于一些实施例,LDPC码可以是基于802.3an以太网标准(例如,10GBASE-T)的常规(2048,1723)LDPC码。相应地,每个LDPC码字的长度可以是2048位,其包括1723个信息位和325个奇偶校验位。
编码器410包括存储器412、LDPC编码器414和码字验证和纠正(CVC)处理器416。特别地,存储器412可以存储要由LDPC编码器414编码的信息位。LDPC编码器414通过基于LDPC码生成要被传送给另一设备的码字来处理存储在存储器412中的信息位。对于一些实施例,LDPC编码器414可以基于与LDPC码相关联的奇偶校验矩阵H,例如通过为第一奇偶校验位cp[0]假定初始位值b0以及基于方程:Hc=0来对剩余的奇偶校验位cp[1]-cp[n]进行求值来生成码字c。CVC处理器416确定由LDPC编码器414生成的码字c是否代表给定该LDPC码前提下的有效码字。对于一些实施例,CVC处理器416可以通过验证Hc=0来确定码字c的有效性。若c不是有效码字,则CVC处理器416可以通过翻转第一奇偶校验位cp[0]以及受第一奇偶校验位cp[0]的位值影响的任何剩余奇偶校验位cp[1]-cp[n]的位值。
解码器420包括存储器422和LDPC解码器424。存储器422可以存储经由收发机430接收到的要被LDPC解码器424解码的码字。LDPC解码器424通过基于LDPC码执行奇偶校验操作来处理存储在存储器422中的码字(注意,LDPC解码器424可使用与被LDPC编码器414用来生成码字c的奇偶校验矩阵H相同的奇偶校验矩阵H来执行奇偶校验操作)。更具体地,LDCP解码器424可以验证接收到的码字中的位的有效性和/或尝试通过奇偶校验操作来纠正可能接收出错了的任何位。例如,每个奇偶校验操作可涉及从存储器422读取对应软位值,将该软位值与关联于特定校验节点(例如,奇偶校验约束)的其他软位值进行组合,并将由此校验节点操作结果得到的位值写回存储器422。对于一些实施例,LDPC解码器424可包括多个处理元件来并行执行奇偶校验操作。若LDPC解码器424不能够纠正接收到的码字中的一个或多个位差错(由此,结果导致解码出错),那么解码器424可以产生解码出错消息。
通过使用奇偶校验矩阵H而非生成矩阵G,编码器410可以通过用相对低的复杂度(例如,由于H的稀疏性)执行编码操作来生成LDPC码字。此外,假定第一奇偶校验位cp[0]的位值以及基于该假定来迭代地对剩余的奇偶校验位cp[1]-cp[n]进行求值使得编码器410能够以快速且实质上线性的方式来生成码字。
图5是描绘根据一些实施例的对码字的奇偶校验位进行求值的方法500的解说性流程图。从奇偶校验矩阵H的线性无关行来构建新奇偶校验矩阵H0(510)。例如,802.3an以太网标准LDPC码的奇偶校验矩阵H是具有秩325的384x2048矩阵。由此,在H的384行中,只有325行是线性无关的(即,不能被表达为其他行的线性组合)。具体地,该325个线性无关行是:
0,5,6,7,9,12,18,26,28,33,35,37,39,42,44,49,55,68,76,78,92,93,95,97,99,103,104,108,110,112,115,127,129,140,143,145,155,157,158,160,175,176,177,184,187,191,197,198,200,210,214,215,217,218,220,223,224,227,236,238,246,248,257,268,270,272,276,281,284,287,288,292,293,294,305,315,319,324,325,329,339,344,347,360,380,382,13,14,17,23,24,30,41,45,50,56,57,61,70,75,82,100,111,113,114,121,126,128,130,131,138,144,147,148,149,152,153,179,181,182,189,192,194,196,199,204,211,219,231,234,237,240,242,245,247,251,252,253,262,264,267,285,286,291,297,298,303,304,309,327,346,365,20,25,34,46,74,139,161,166,188,195,201,202,216,235,239,261,269,275,300,320,323,330,335,342,343,349,352,375,377,381,43,84,96,137,141,249,299,311,383,38,164,302,348,208,301,73,83,162,359,90,254,280,378,58,150,183,186,250,21,27,54,171,206,209,307,338,3,94,173,212,221,241,271,278,367,11,133,136,258,283,296,328,337,358,373,15,31,106,125,225,232,310,314,322,336,376,60,81,117,119,124,169,178,255,65,326,340,341,379,118,259,159,123,295,29,122,40,331,64,174,1,256,289,362,51,86,101,142,228,230,266,2,72,120,135,163,317,321,345,354,355,59,62,66,67,69,80,134,180,279,306,351,353,32,36,77,79,89,91,116,185,213,8,71,88,98,109,167,205,226,105,107,371
用于802.3an以太网标准LDPC码的结果所得的新奇偶校验矩阵H0是包括原始奇偶校验矩阵H的325个独立行(以上列出)的325x2048矩阵。
该新奇偶校验矩阵H0接着被进一步细分成两个子矩阵Hs和Hp(520)。具体地,NxM奇偶校验矩阵H0可以被表达为:
H0=[HsHp]
其中Hs是NxK子矩阵(K对应于每个码字中的信息位的数目),而Hp是Nx(M-K)子矩阵(M-K对应于每个码字中的奇偶校验位的数目)。如以上所讨论的,802.3an以太网标准指定了包括1723个信息位(即,K=1723)和325个奇偶校验位的2048位LDPC码字。由此,325x2048奇偶校验矩阵H0可以被表达为325x1723子矩阵Hs和325x325子矩阵Hp的形式。
码字c(表达为1xM向量)被进一步细分成组成向量cs和cp(530)。更具体地,M位码字c可以被表达为:
c=[cscp]
其中cs代表要被编码的K个信息位,而cp代表M-K个奇偶校验位。例如,针对802.3an以太网标准,2048位码字c可以被表达为1723个信息位cs和325个奇偶校验位cp的形式。
最后,奇偶校验位cp可以通过求解以下向量方程来求值:Hscs=Hpcp(540)。例如,如以上所描述的,奇偶校验矩阵H被定义为使得对于任何有效码字c,有Hc=0。因为H0包含H的无关行,所以对于任何有效码字c,得出H0c=0。用Hs和Hp代换H0并且用cs和cp代换c,产生了以下方程:
H0c=[HsHp][cscp]=Hpcp+Hscs=0
在二进制字段编码中,以上方程可以被重写为:
Hpcp=Hscs=s
其中s代表通过将奇偶校验子矩阵Hs与信息位cs相乘所获得的解向量。更具体地,因为信息位cs是已知的(即,其为要被编码的真实数据位)且子矩阵Hs的元素也是已知的(即,其对应于奇偶校验矩阵H的元素),Hscs的积可以用解向量s表示。由此,奇偶校验位cp可以通过以下向量方程来被确定:
Hpcp=s
应当注意,cp可包括相当数量的未知位值(例如,在802.3an以太网标准下,每个码字有325个奇偶校验位)。由此,通过蛮力来求解以上方程可以涉及高程度的编码复杂度。然而,通过首先对奇偶校验位中的一个位假定位值,剩余的奇偶校验位就能用实质上线性的方式来被快速确定。
通过使用奇偶校验矩阵H而非生成矩阵G来编码LDPC码字,方法500可以由于H的稀疏性而实质性地降低编码操作的复杂度。该方法500进一步通过将新的奇偶校验矩阵H0用于进行编码来降低编码复杂度,该新的奇偶校验矩阵H0仅包含原始奇偶校验矩阵H的线性无关行。
图6是根据一些实施例的描绘另一数据编码操作600的解说性流程图。如以上所描述的,本申请实施例可以基于奇偶校验矩阵H(或H0)并且通过为至少一个校验位cp假定初始位值来生成LDPC码字c。同样参见图4,在操作600中,LDPC处理设备400首先接收要被编码的一组信息位cs(610)。例如,信息位cs可以接收自LDPC处理设备400同样驻留在其上的通信设备的中央处理单元(CPU)。
LDPC处理设备400通过为要被编码的每组信息位cs确定一组奇偶校验位cp来生成LDPC码字c(例如,其中c=[cscp])。如以上参考图5所描述的,奇偶校验位cp可以基于方程:Hpcp=Hscs=s来求值。对于一些实施例而言,LDPC码字c由LDPC处理设备400的编码器410生成。
LDPC编码器414将码字c的第一奇偶校验位cp[0]设置成零(620)。如以上所讨论的,指派给第一奇偶校验位cp[0]的零位值是对于真实位值的假定。例如,该假定可以允许用实质上线性的方式来对剩余的奇偶校验位cp[1]-cp[n]进行求值,并且具有相对低的编码复杂度。
LDPC编码器414接着基于第一奇偶校验位cp[0]来迭代地对剩余的奇偶校验位cp[1]-cp[n]进行求值。在一些实施例中,对于每次迭代,已知奇偶校验位值可以被代入到涉及至多一个未知奇偶校验位的一个或多个向量方程(例如,从H0c=0所结果得到)中。例如,在第一次迭代期间,在涉及至多一个附加未知奇偶校验位(例如,cp[1])的任何向量方程中,第一奇偶校验位cp[0]可以用其假定值(例如,cp[0]=0)来代换。作为特定向量方程中仅有的未知奇偶校验位,cp[1]的值可以很容易地被确定。在下一次迭代中,这两个已知奇偶校验位cp[0]和cp[1]可以被代入涉及至多一个附加未知奇偶校验位(例如,cp[2])的一个或多个其他向量方程中。这一过程可以被重复,直到所有剩余的奇偶校验位(例如cp[3]-cp[n])被求值。
在所有奇偶校验位cp[0]-cp[n]已经被指派了位值之后,CVC处理器416校验码字c的有效性(640)。例如,有效码字c应当满足方程:Hc=0和/或H0c=0。若向量乘法产生为0,那么c是有效码字,若向量乘法产生1,那么c不是有效码字。应当注意,CVC处理器416不需要对Hc(或H0c)的每一行积进行求值来确定c是否为有效码字。对于一些实施例,CVC处理器416可简单地通过将码字c乘以奇偶校验矩阵H0中的已知只要该码字c无效就会产生1的一行来验证码字c的有效性。例如,在802.3an以太网标准之下,CVC处理器416能够通过将码字c乘以奇偶校验矩阵H0的最后一行(例如,矩阵H0的行325,其对应于802.3an标准LDPC码的矩阵H的行371)来验证以此方式生成的码字的有效性。
若CVC处理器416确定c是有效码字(640),则其通过将码字c作为最终“经编码”的码字输出来继续进行(670)。例如,码字c可以被转发到收发机430,其可以接着将码字c传送到网络中的另一设备。然而,若CVC处理器416确定c不是有效码字(640),则这是因为第一奇偶校验位cp[0]的假定是不正确的(例如,cp[0]≠0)。
由此,若c不是有效码字(640),那么CVC处理器416可以将第一奇偶校验位cp[0]设置为一(650)。之前提到cp[0]一开始被假定为0(620),并且剩余的奇偶校验位cp[1]-cp[n]是基于该假定来被求值的。若关于第一奇偶校验位cp[0]的假定是不正确的,那么作为结果,取决于该不正确的假定的任何剩余的奇偶校验位也将会具有错误的位值。因此,CVC处理器416可以翻转任何此类可能受到了指派给第一奇偶校验位cp[0]的初始位值影响的剩余奇偶校验位cp[1]-cp[n]的位值。对于一些实施例,LDPC编码器414可以基于指派给第一奇偶校验位cp[0]的新位值来对其他奇偶校验位cp[1]-cp[n]进行重新求值。
注意,并不是所有的剩余奇偶校验位cp[1]-cp[n]可能受指派给cp[0]的位值所影响的。换句话说,一些奇偶校验位可以被求值为相同的位值而不管cp[0]=0还是1。进一步,受影响的奇偶校验位仅取决于奇偶校验矩阵H0(或H),并且可以因此在编码之前被确定。由此,对于一些实施例,在改变第一奇偶校验位cp[0]的位值(650)之后,CVC处理器416可以简单地将剩余奇偶校验位cp[1]-cp[n]之中的任何受影响的奇偶校验位的位值翻转(660)。
例如,参考802.3an标准LDPC码,正好有55个奇偶校验位cp取决于(或受其影响)第一奇偶校验位cp[0]的位值。这55个奇偶校验位是:
97,106,181,188,197,198,201,204,207,215,225,228,229,231,232,235,237,240,243,246,247,249,253,258,260,262,267,268,269,274,276,279,280,281,284,289,293,295,296,301,303,304,306,307,309,310,311,312,313,314,316,318,319,320,322
在以上的示例中,若c不是有效码字(例如,在cp[0]=0的假定之下),则CVC处理器416可设置cp[0]=1(650),并且将以上所列的剩余55个奇偶校验位的位值翻转(例如,通过将0改成1,以及反之)(660)。
在第一奇偶校验位cp[0]和剩余奇偶校验位cp[1]-cp[n]之中的任何受影响的奇偶校验位已经被翻转(650-660)之后,结果所得的码字c将是有效码字。由此,CVC处理器416可以输出该“经纠正”的码字c作为最终的经编码码字(670)。
假定第一奇偶校验位cp[0]的位值并且基于该假定迭代地对剩余的奇偶校验位cp[1]-cp[n]进行求值使得数据编码操作600以快速和实质上线性的方式被执行。因为仅有固定的一组奇偶校验位受第一奇偶校验位cp[0]的位值所影响,并且因为受影响的奇偶校验位可以是预定的,所以基于不正确的假定(例如,cp[0]≠0)生成的码字c可以用单步来被纠正(例如,通过翻转受影响的奇偶校验位)。
图7是根据一些实施例的编码器700的框图。编码器700包括编码器接口710、处理器720和存储器730。编码器接口710可被用来向和/或从编码器700传达数据。例如,编码器接口710可以(例如,从CPU)接收要被编码成一个或多个码字的信息位。编码器接口710还可以输出由编码器700生成的码字(例如,去往收发机)。
存储器730可包括可被用作本地高速缓存来存储接收到的信息位的信息位数据库731,以及可以被用以存储标识一个或多个受影响的奇偶校验位的信息的位纠正查找表732。如以上所描述的,受影响的奇偶校验位与可能受到第一奇偶校验位(例如,cp[0])的位值影响的码字c的一个或多个奇偶校验位cp对应。
此外,存储器730还可包括非瞬态计算机可读存储介质(例如,一个或多个非易失性存储器元件,诸如EPROM、EEPROM、闪存存储器、硬盘驱动器、等等),其可存储以下软件模块中的一个或多个:
·迭代编码模块733,其使用与LDPC码相关联的奇偶校验矩阵H,通过向每个码字的第一奇偶校验位指派初始位值来生成LDPC码字;
·码字(CW)验证模块734,其用以验证由迭代编码模块733生成的每个码字是否代表对于给定LDPC码而言有效的码字;以及
·CW纠正模块735,其用以翻转(即,改变)被确定为无效的码字的一个或多个奇偶校验位。
每个软件模块可以包括指令,这些指令在由处理器720执行时可以使编码器700执行相应的功能。由此,存储器730的非瞬态计算机可读存储介质可包括用于执行针对图5–6描述的操作的全部或一部分的指令。
处理器720(其耦合在编码器接口710与存储器730之间)可以是能够执行存储在解码器700中(例如,存储器730内)的一个或多个软件程序的指令的脚本的任何合适的处理器。例如,处理器720能够执行迭代编码模块733,CW验证模块734、和/或CW纠正模块735。
迭代编码模块733可以由处理器720执行以通过生成LDPC码字c来处理存储在信息位数据库731中的信息位。例如,如由处理器720执行的迭代编码模块733可以基于要被编码的信息位cs和与LDPC码相关联的奇偶校验矩阵H来确定码字c的一组奇偶校验位cp。对于一些实施例,处理器720可以通过为码字c的第一奇偶校验位cp[0]假定初始位值b0并且基于方程Hpcp=Hscs来迭代地对剩余的奇偶校验位cp[1]-cp[n]进行求值来生成码字c(如以上参考图5-6所描述的)。
CW验证模块734可以由处理器720执行以确定迭代编码模块733所生成的码字c是否代表对于给定LDPC码而言有效的码字。例如,如由处理器720执行的CW验证模块734可以通过验证Hc=0来确定码字c的有效性。对于一些实施例,正在执行CW验证模块734的处理器720可以通过将码字c乘以奇偶校验矩阵H中的、已知只要码字c无效就会产生1的单行来验证码字c的有效性(例如,如以上参考图5所描述的)。若c是有效码字,则处理器720可以将码字c转发到编码器接口710,例如,待被输出到收发机。然而,若c不是有效码字,则处理器720可以替换地执行CW纠正模块735。
如由处理器720执行的CW纠正模块735可以纠正或修改被CW验证模块734确定为无效的码字c。例如,正在执行CW纠正模块735的处理器720可以翻转受到为第一奇偶校验位cp[0]假定的初始位值所影响的一个或多个奇偶校验位cp[1]-cp[n]的位值。对于一些实施例,处理器720可以通过翻转第一奇偶校验位cp[0]的值并且后续对剩余的奇偶校验位cp[1]-cp[n]进行重新求值来纠正码字c。对于其他实施例,处理器720可以通过在位纠正查找表732中查找受影响的奇偶校验位、并且仅将受到影响的奇偶校验位(例如,包括第一奇偶校验位cp[0]和受到第一奇偶校验位cp[0]影响的任何其他奇偶校验位cp[1]-cp[n])的位值翻转来纠正码字c。
在说明书前述篇幅中,本发明各实施例已参照其具体示例性实施例进行了描述。然而将明显的是,可对其作出各种修改和改变而不会脱离如所附权利要求中所阐述的本公开更宽泛的范围。相应地,本说明书和附图应被认为是解说性而非限定性的。例如,在图3、5和6的流程图中描绘的方法步骤可以按其他合适的次序执行,多个步骤可以合并成单个步骤,和/或一些步骤可以被省略。
权利要求书(按照条约第19条的修改)
1.一种数据编码的方法,包括:
接收要被编码成码字(c)的一组信息位,其中所述码字(c)包括所述一组信息位以及一组奇偶校验位;
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位,其中编码所述剩余奇偶校验位包括:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字,则改变所述码字的一个或多个位值。
2.如权利要求1所述的方法,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
3.如权利要求2所述的方法,其特征在于,进一步包括:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
4.如权利要求3所述的方法,其特征在于,编码所述剩余奇偶校验位包括:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
5.如权利要求4所述的方法,其特征在于,迭代地对每个所述剩余奇偶校验位进行求值包括:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
6.如权利要求1所述的方法,其特征在于,改变所述码字的所述一个或多个位值包括:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
7.如权利要求6所述的方法,其特征在于,改变所述剩余奇偶校验位的所述一个或多个位值包括:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
8.如权利要求7所述的方法,其特征在于,进一步包括:
使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵,其中标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位包括至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位。
9.如权利要求8所述的方法,其特征在于,标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位包括:
在查找表中查找所述一个或多个剩余奇偶校验位。
10.一种包含程序指令的计算机可读存储介质,所述程序指令在由通信设备内提供的处理器执行时使所述设备:
接收要被编码成码字(c)的一组信息位,其中所述码字包括所述一组信息位以及一组奇偶校验位;
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位,其中执行所述程序指令以编码所述剩余奇偶校验位使得所述设备:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字则改变所述码字的一个或多个位值。
11.如权利要求10所述的计算机可读存储介质,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
12.如权利要求11所述的计算机可读存储介质,其特征在于,进一步包括程序指令,其使得所述设备:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
13.如权利要求12所述的计算机可读存储介质,其特征在于,执行所述程序指令以编码所述剩余奇偶校验位使得所述设备:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
14.如权利要求13所述的计算机可读存储介质,其特征在于,执行所述程序指令以迭代地对每个所述剩余奇偶校验位进行求值使得所述设备:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
15.如权利要求10所述的计算机可读存储介质,其特征在于,执行所述程序指令以改变所述码字的所述一个或多个位值使得所述设备:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
16.如权利要求15所述的计算机可读存储介质,其特征在于,执行所述程序指令以改变所述剩余奇偶校验位的所述一个或多个位值使得所述设备:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
17.如权利要求16所述的计算机可读存储介质,其特征在于,进一步包括程序指令,其使得所述设备:
使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵,其中用以标识所述一个或多个剩余校验位的所述程序指令包括用于至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位的指令。
18.如权利要求17所述的计算机可读存储介质,其特征在于,执行所述程序指令以标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位使得所述设备:
在查找表中查找所述一个或多个剩余奇偶校验位。
19.一种通信设备,包括:
存储器元件,用以存储要被编码成码字(c)的一组信息位,其中所述码字包括所述一组信息位以及一组奇偶校验位;以及
一个或多个处理器,用以:
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位,其中所述一个或多个处理器通过以下操作来编码所述剩余奇偶校验位:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字,则改变所述码字的一个或多个位值。
20.如权利要求19所述的设备,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
21.如权利要求20所述的设备,其特征在于,所述一个或多个处理器进一步用于:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
22.如权利要求21所述的设备,其特征在于,所述一个或多个处理器通过以下操作来编码所述剩余奇偶校验位:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
23.如权利要求22所述的设备,其特征在于,所述一个或多个处理器通过以下操作来迭代地对每个所述剩余奇偶校验位进行求值:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
24.如权利要求19所述的设备,其特征在于,所述一个或多个处理器通过以下操作来改变所述码字的所述一个或多个位值:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
25.如权利要求24所述的设备,其特征在于,所述一个或多个处理器通过以下操作来改变所述剩余奇偶校验位的所述一个或多个位值:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
26.如权利要求25所述的设备,其特征在于,所述一个或多个处理器进一步用于:
使用与所给定的LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵;以及
通过至少部分地基于所述第一奇偶校验矩阵标识所述一个或多个剩余奇偶校验位来标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位。
27.如权利要求26所述的设备,其特征在于,所述一个或多个处理器通过以下操作来标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位:
在查找表中查找所述一个或多个剩余奇偶校验位。
28.如权利要求19所述的设备,其特征在于,所述设备是10GBASE-T以太网系统的一部分。
29.一种通信设备,包括:
用于接收要被编码成码字(c)中的一组信息位的装置,其中所述码字包括所述一组信息位以及一组奇偶校验位;
用于将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位的装置;以及
用于至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位的装置,其中所述用于编码所述剩余奇偶校验位的装置被用以:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字则改变所述码字的一个或多个位值。
30.如权利要求29所述的设备,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
31.如权利要求30所述的设备,其特征在于,进一步包括:
用于使用所述奇偶校验矩阵H的线性无关行来生成新的奇偶校验矩阵(H0)的装置。
32.如权利要求31所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被用以:
使用方程H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
33.如权利要求32所述的设备,其特征在于,所述用于迭代地对每个所述剩余奇偶校验位进行求值的装置被用以:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
34.如权利要求29所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被进一步用以:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位置;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
35.如权利要求34所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被进一步用以:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
36.如权利要求35所述的设备,其特征在于,进一步包括:
用于使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵的装置,其中所述用于标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位的装置包括用于至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位的装置。
37.如权利要求29所述的设备,其特征在于,所述设备是10GBASE-T以太网系统的一部分。

Claims (41)

1.一种数据编码的方法,包括:
接收要被编码成码字(c)的一组信息位,其中所述码字(c)包括所述一组信息位以及一组奇偶校验位;
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位。
2.如权利要求1所述的方法,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
3.如权利要求2所述的方法,其特征在于,进一步包括:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
4.如权利要求3所述的方法,其特征在于,编码所述剩余奇偶校验位包括:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
5.如权利要求4所述的方法,其特征在于,迭代地对每个所述剩余奇偶校验位进行求值包括:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
6.如权利要求1所述的方法,其特征在于,编码所述剩余奇偶校验位包括:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字,则改变所述码字的一个或多个位值。
7.如权利要求6所述的方法,其特征在于,改变所述码字的所述一个或多个位值包括:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
8.如权利要求7所述的方法,其特征在于,改变所述剩余奇偶校验位的所述一个或多个位值包括:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
9.如权利要求8所述的方法,其特征在于,进一步包括:
使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵,其中标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位包括至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位。
10.如权利要求9所述的方法,其特征在于,标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位包括:
在查找表中查找所述一个或多个剩余奇偶校验位。
11.一种包含程序指令的计算机可读存储介质,所述程序指令在由通信设备内提供的处理器执行时使所述设备:
接收要被编码成码字(c)的一组信息位,其中所述码字包括所述一组信息位以及一组奇偶校验位;
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位。
12.如权利要求11所述的计算机可读存储介质,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
13.如权利要求12所述的计算机可读存储介质,其特征在于,进一步包括程序指令,其使得所述设备:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
14.如权利要求13所述的计算机可读存储介质,其特征在于,执行所述程序指令以编码所述剩余奇偶校验位使得所述设备:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
15.如权利要求14所述的计算机可读存储介质,其特征在于,执行所述程序指令以迭代地对每个所述剩余奇偶校验位进行求值使得所述设备:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
16.如权利要求11所述的计算机可读存储介质,其特征在于,执行所述程序指令以编码所述剩余奇偶校验位使得所述设备:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字则改变所述码字的一个或多个位值。
17.如权利要求16所述的计算机可读存储介质,其特征在于,执行所述程序指令以改变所述码字的所述一个或多个位值使得所述设备:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
18.如权利要求17所述的计算机可读存储介质,其特征在于,执行所述程序指令以改变所述剩余奇偶校验位的所述一个或多个位值使得所述设备:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
19.如权利要求18所述的计算机可读存储介质,其特征在于,进一步包括程序指令,其使得所述设备:
使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵,其中用以标识所述一个或多个剩余校验位的所述程序指令包括用于至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位的指令。
20.如权利要求19所述的计算机可读存储介质,其特征在于,执行所述程序指令以标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位使得所述设备:
在查找表中查找所述一个或多个剩余奇偶校验位。
21.一种通信设备,包括:
存储器元件,用以存储要被编码成码字(c)的一组信息位,其中所述码字包括所述一组信息位以及一组奇偶校验位;以及
一个或多个处理器,用以:
将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位;以及
至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位。
22.如权利要求21所述的设备,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
23.如权利要求22所述的设备,其特征在于,所述一个或多个处理器进一步用于:
使用所述奇偶校验矩阵的线性无关行来生成新的奇偶校验矩阵(H0)。
24.如权利要求23所述的设备,其特征在于,所述一个或多个处理器通过以下操作来编码所述剩余奇偶校验位:
使用方程:H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
25.如权利要求24所述的设备,其特征在于,所述一个或多个处理器通过以下操作来迭代地对每个所述剩余奇偶校验位进行求值:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
26.如权利要求21所述的设备,其特征在于,所述一个或多个处理器通过以下操作来编码所述剩余奇偶校验位:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字则改变所述码字的一个或多个位值。
27.如权利要求26所述的设备,其特征在于,所述一个或多个处理器通过以下操作来改变所述码字的所述一个或多个位值:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位值;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
28.如权利要求27所述的设备,其特征在于,所述一个或多个处理器通过以下操作来改变所述剩余奇偶校验位的所述一个或多个位值:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
29.如权利要求28所述的设备,其特征在于,所述一个或多个处理器进一步用于:
使用与所给定的LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵;以及
通过至少部分地基于所述第一奇偶校验矩阵标识所述一个或多个剩余奇偶校验位来标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位。
30.如权利要求29所述的设备,其特征在于,所述一个或多个处理器通过以下操作来标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位:
在查找表中查找所述一个或多个剩余奇偶校验位。
31.如权利要求21所述的设备,其特征在于,所述设备是10GBASE-T以太网系统的一部分。
32.一种通信设备,包括:
用于接收要被编码成码字(c)中的一组信息位的装置,其中所述码字包括所述一组信息位以及一组奇偶校验位;
用于将第一位值指派给所述一组奇偶校验位中的第一奇偶校验位的装置;以及
用于至少部分地基于指派给所述第一奇偶校验位的所述第一位值来编码所述一组奇偶校验位中的剩余奇偶校验位的装置。
33.如权利要求32所述的设备,其特征在于,所述剩余奇偶校验位是使用所述一组信息位和用于低密度奇偶校验(LDPC)码的奇偶校验矩阵(H)来编码的。
34.如权利要求33所述的设备,其特征在于,进一步包括:
用于使用所述奇偶校验矩阵H的线性无关行来生成新的奇偶校验矩阵(H0)的装置。
35.如权利要求34所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被用以:
使用方程H0c=0来迭代地对每个所述剩余奇偶校验位进行求值。
36.如权利要求35所述的设备,其特征在于,所述用于迭代地对每个所述剩余奇偶校验位进行求值的装置被用以:
对于每次迭代,求解包括至多一个未知奇偶校验位的一个或多个向量方程。
37.如权利要求32所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被用以:
确定所述码字对于给定LDPC码而言是否为有效码字;以及
若所述码字不是有效码字则改变所述码字的一个或多个位值。
38.如权利要求37所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被进一步用以:
向所述第一奇偶校验位指派第二位值,其中所述第二位值不同于所述第一位置;以及
至少部分地基于所述第二位值来改变所述剩余奇偶校验位的一个或多个位值。
39.如权利要求38所述的设备,其特征在于,所述用于编码所述剩余奇偶校验位的装置被进一步用以:
标识受到所述第一奇偶校验位影响的一个或多个剩余奇偶校验位;以及
改变受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位中的每一位的相应位值。
40.如权利要求39所述的设备,其特征在于,进一步包括:
用于使用与所述给定LDPC码相关联的第二奇偶校验矩阵的线性无关行来生成第一奇偶校验矩阵的装置,其中所述用于标识受到所述第一奇偶校验位影响的所述一个或多个剩余奇偶校验位的装置包括用于至少部分地基于所述第一奇偶校验矩阵来标识所述一个或多个剩余奇偶校验位的装置。
41.如权利要求32所述的设备,其特征在于,所述设备是10GBASE-T以太网系统的一部分。
CN201380075959.5A 2013-04-25 2013-04-25 10gbase-t系统中ldpc编码器的方法和装置 Pending CN105164924A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/074713 WO2014172874A1 (en) 2013-04-25 2013-04-25 Method and apparatus of ldpc encoder in 10gbase-t system

Publications (1)

Publication Number Publication Date
CN105164924A true CN105164924A (zh) 2015-12-16

Family

ID=51791003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075959.5A Pending CN105164924A (zh) 2013-04-25 2013-04-25 10gbase-t系统中ldpc编码器的方法和装置

Country Status (6)

Country Link
US (1) US20160049962A1 (zh)
EP (1) EP2989720A4 (zh)
JP (1) JP2016521064A (zh)
KR (1) KR20160002946A (zh)
CN (1) CN105164924A (zh)
WO (1) WO2014172874A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110622425A (zh) * 2017-05-12 2019-12-27 高通股份有限公司 构造具有用于速率兼容的qc-ldpc编码的行正交性的奇偶校验矩阵

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10548158B2 (en) * 2016-03-10 2020-01-28 Huawei Technologies Co., Ltd. Message passing algorithm decoder and methods
CN108111251B (zh) * 2016-11-24 2020-11-06 上海交通大学 应用于广播通信系统的信令码编码方法及对应的译码方法
WO2019033422A1 (en) * 2017-08-18 2019-02-21 Nokia Solutions And Networks Oy USE OF BASIC GRAPHICS LDPC FOR NR
US10797727B1 (en) * 2018-09-21 2020-10-06 Xilinx, Inc. Low-density parity-check (LDPC) encode using an LDPC decoder

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114835A (zh) * 2006-07-26 2008-01-30 美国博通公司 用于编码和解码的装置及方法
US20090158113A1 (en) * 2007-12-13 2009-06-18 Electronics And Telecommunications Research Institute Apparatus and method for encoding ldpc code using message passing algorithm

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271850B2 (en) * 2005-12-29 2012-09-18 Intel Corporation Fast low-density parity-check code encoder
CN101005333B (zh) * 2006-01-17 2010-05-12 华为技术有限公司 低密度奇偶校验码编码方法
KR100949519B1 (ko) * 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114835A (zh) * 2006-07-26 2008-01-30 美国博通公司 用于编码和解码的装置及方法
US20090158113A1 (en) * 2007-12-13 2009-06-18 Electronics And Telecommunications Research Institute Apparatus and method for encoding ldpc code using message passing algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIN LU 等: "Linear Time Encoding of LDPC Codes", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110622425A (zh) * 2017-05-12 2019-12-27 高通股份有限公司 构造具有用于速率兼容的qc-ldpc编码的行正交性的奇偶校验矩阵
CN110622425B (zh) * 2017-05-12 2024-02-20 高通股份有限公司 用于执行低密度奇偶校验(ldpc)解码的方法和装置

Also Published As

Publication number Publication date
KR20160002946A (ko) 2016-01-08
WO2014172874A1 (en) 2014-10-30
JP2016521064A (ja) 2016-07-14
EP2989720A1 (en) 2016-03-02
US20160049962A1 (en) 2016-02-18
EP2989720A4 (en) 2016-12-07

Similar Documents

Publication Publication Date Title
CN111628785B (zh) 使用硬选取硬译码模式下的译码器产生软信息的方法
KR102142142B1 (ko) 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계
EP1985022B1 (en) Decoding of raptor codes
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
US20070162821A1 (en) Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus
CN105164924A (zh) 10gbase-t系统中ldpc编码器的方法和装置
JP5374156B2 (ja) データを復号化及び符号化するための装置及び方法
KR100975695B1 (ko) 통신 시스템에서 신호 수신 장치 및 방법
CN1756090B (zh) 信道编码装置和方法
KR20160100665A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20160100667A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 1024-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US20150372695A1 (en) Method and apparatus of ldpc decoder with lower error floor
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
KR20160100669A (ko) 길이가 64800이며, 부호율이 2/15인 ldpc 부호어 및 4096-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
JP6567238B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
WO2019013663A1 (en) GENERAL LOW DENSITY PARITY CHECK CODES (GLDPC)
JP5523064B2 (ja) 復号装置及び方法
KR20110114204A (ko) 저밀도 패리티 체크 부호화 방법 및 이를 이용하는 저밀도 패리티 체크 인코더
CN105556852A (zh) 用于共享公共硬件资源的不同的低密度奇偶校验(ldpc)码的低密度奇偶校验编码
US8977924B2 (en) Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
CN113556136B (zh) 一种gn陪集码译码方法及装置
RU2575399C1 (ru) Способ декодирования ldpc-кодов и устройство его реализующее
TWI517595B (zh) 用於資料傳輸過程中動態解碼之具有ecc資訊的資料結構及用於形成該資料結構的方法
KR101221062B1 (ko) 가변 usc 부호를 이용한 부호화 및 복호화 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151216