CN104106230B - 一种用于数据传输的方法及装置 - Google Patents
一种用于数据传输的方法及装置 Download PDFInfo
- Publication number
- CN104106230B CN104106230B CN201280012767.5A CN201280012767A CN104106230B CN 104106230 B CN104106230 B CN 104106230B CN 201280012767 A CN201280012767 A CN 201280012767A CN 104106230 B CN104106230 B CN 104106230B
- Authority
- CN
- China
- Prior art keywords
- row
- matrix
- sub
- parity check
- submatrices
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 239000011159 matrix material Substances 0.000 claims abstract description 712
- 230000005540 biological transmission Effects 0.000 claims description 37
- 125000004122 cyclic group Chemical group 0.000 claims description 28
- 238000012300 Sequence Analysis Methods 0.000 claims description 12
- 230000008707 rearrangement Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 230000001788 irregular Effects 0.000 description 65
- 238000004422 calculation algorithm Methods 0.000 description 32
- 238000004088 simulation Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 230000009466 transformation Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 239000000654 additive Substances 0.000 description 12
- 230000000996 additive effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000010363 phase shift Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 101100356682 Caenorhabditis elegans rho-1 gene Proteins 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1177—Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6552—DVB-T2
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本发明公开了一种用于数据传输的方法,包括:根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵;利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码,得到包含奇偶校验信息的输出数据。本发明还公开了一种用于数据传输的装置。采用本发明的方法和装置,可使得存储奇偶校验矩阵所需的存储空间达到了最小化。
Description
本申请要求申请日为2011年7月6日,申请号为201110189200.2,发明名称为“一种用于数据传输的方法及装置”的在先申请的优先权,该在先申请的全部内容均已在本申请中体现。
本申请要求申请日为2011年9月5日,申请号为201110260661.4,发明名称为“一种用于数据传输的方法及装置”的在先申请的优先权,该在先申请的全部内容均已在本申请中体现。
本申请要求申请日为2012年2月14日,申请号为201210033174.9,发明名称为“一种用于数据传输的方法及装置”的在先申请的优先权,该在先申请的全部内容均已在本申请中体现。
技术领域
本发明属于通信技术,尤其涉及一种用于数据传输的方法及装置。
背景技术
由于随机噪声、无线传输中的多径衰落等因素的影响,使得通信系统中的数据传输经常发生各种差错,通常,采用信道编码的方法来确保在有噪声的通信信道中提供可靠的通信。现有实现方法中,低密度奇偶校验(LDPC)码因其优异的性能,高效的译码算法,被广泛认为是最好的纠错编码实现方法之一。
LDPC码是一种基于稀疏奇偶校验矩阵H的线性纠错码,H中的元素除了0就是1。若以N表示LDPC码的码长、K表示信息位长度、M表示校验位长度、γ表示列重、λ表示行重、R表示码率,可以将该LDPC码表示为(N,K)LDPC码。若γ与λ为常数,则该LDPC码为规则LDPC码(regular LDPC),否则,为非规则LDPC码(Irregular LDPC)。
LDPC码码字是其校验矩阵H的零空间,编码过程描述如下。首先,奇偶校验矩阵构造单元根据预先设定的LDPC编码参数,构造奇偶校验矩阵H;然后,由生成矩阵构造单元根据校验矩阵H得到生成矩阵G,这里生成矩阵G和相应的校验矩阵H是对偶矩阵;最后,编码单元用生成矩阵G对输入数据s进行编码,得到输出的LDPC码的码字c。
从实用性角度来看,制约LDPC码广泛应用的一个重要因素是:稀疏的奇偶校验矩阵和非稀疏的生成矩阵的存储量过大,导致在使用LDPC码进行编码时所需要的存储空间非常大。此外,传统的LDPC码编码复杂度过高也是制约其广泛应用的一个比较重要的因素。由于上述缺点的存在,导致LDPC码尚未被广泛地投入实际应用中。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种用于数据传输的方法,以降低存储奇偶校验矩阵所需的存储空间。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
本发明的目的在于提供一种用于数据传输的方法,包括:
根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵;
利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码,得到包含奇偶校验信息的输出数据。
本发明的目的在于还提供一种用于数据传输的装置,该装置包括:存储模块、校验矩阵生成模块和码字生成模块;
所述存储模块,用于保存行生成器对应的生成序列,并向所述校验矩阵生成模块提供所述生成序列;
所述校验矩阵生成模块,用于根据所述存储模块提供的所述生成序列,生成奇偶校验矩阵,并将所述奇偶校验矩阵发送给所述码字生成模块;
所述码字生成模块,用于接收来自于所述校验矩阵生成模块的所述奇偶校验矩阵,并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码。
由上述技术方案可见,本发明的一种用于数据传输的方法及装置采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
附图说明
图1是本发明一实施例提供的一种用于数据传输的方法的流程示意图;
图2是本发明实施例一提供的(1344,672)LDPC code性能的示意图;
图3是本发明实施例二提供的(1344,840)LDPC code性能的示意图;
图4是本发明实施例三提供的(1344,1008)LDPC code性能的示意图;
图5是本发明实施例四提供的(1344,1176)LDPC code性能的示意图;
图6是本发明实施例五提供的(2688,1344)LDPC code性能的示意图;
图7是本发明实施例六提供的(2688,1680)LDPC code性能的示意图;
图8是本发明实施例七提供的(2688,2016)LDPC code性能的示意图;
图9是本发明实施例八提供的(2688,2240)LDPC code性能的示意图;
图10是本发明实施例九提供的(5376,2688)LDPC code性能的示意图;
图11是本发明实施例十提供的(5376,3360)LDPC code性能的示意图;
图12是本发明实施例十一提供的(5376,4032)LDPC code性能的示意图;
图13是本发明实施例十二提供的(5376,4704)LDPC code性能的示意图;
图14是本发明实施例十三提供的一种用于数据传输的装置的结构示意图;
图15是本发明实施例十四提供的另一种用于数据传输的装置的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
虽然下文中描述的方法和系统的各种原理和特征可以应用于多种通信系统,但是出于例证目的,在下文将会在无线通信系统的环境中描述这些实施例。尽管如此,在用不同通信协议工作的其他通信系统的情况下,下文描述的一般原理也是适用的。当然,本发明的范围是有随附于此的权利要求书限定,并且该范围是不受下文描述的特定实施例限制的。
本发明的目的在于通过根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵;利用由奇偶校验矩阵得到的生成矩阵对输入数据进行编码,如此,只需用非常少量的存储空间存储行生成器对应的生成序列,即可解决奇偶校验矩阵存储量过大的问题。
图1为本发明提供的一种用于数据传输的方法的示例性流程图,参见图1,该方法包括以下步骤:
步骤101、根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵H。
本示例中,根据预先设定的码长、码率及子矩阵的维数,确定本示例将要构造的奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列。其中,列数为LDPC码的码长,表示为N;行数为校验位长度,表示为M,信息位的长度K=N-M。γ表示列重、λ表示行重、R表示码率、ρ表示行生成器的个数,可以将该LDPC码表示为(N,K)LDPC码,并假设所构造的本发明实施例LDPC码的奇偶校验矩阵H可以表示为如下形式:
其中Ai,j是一个行重量为0或者1的t×t矩阵,称为奇偶校验矩阵H的子矩阵,H为M×N的满秩矩阵。
矩阵H表征的码字称为(N,K)LDPC码,其中N=c×t为码长,K=(c-ρ)×t表示编码信息比特的长度,其编码码率为R=K/N。Ai=[Ai,0,Ai,1…,Ai,c-1],i=0,2,…,ρ-1的第一行称为H的第i个行生成器,则H共有ρ个行生成器。
其中,共有ρ=M/t行子矩阵,每行子矩阵中子矩阵的个数c=N/t。
奇偶验矩阵由ρ行c列子矩阵构成,每个子矩阵的维数为t×t,则奇偶验矩阵H的维数为(ρ·t)×(c·t)。其中奇偶校验矩阵列数对应LDPC码的码长,即码长N=c·t。
然后,根据各个行生成器对应的生成序列及行重确定每一行子矩阵中的第一行元素,具体为:
奇偶校验矩阵的第i行子矩阵(其中,0≤i<ρ),可由第i行子矩阵的第一行生成,故称第i行子矩阵的第一行为矩阵H的第i个行生成器,则H共有ρ个行生成器。第i,0≤i<ρ个行生成器中元素1所处的列数(范围:0~N-1)称为矩阵H的第i个生成序列,则矩阵H的ρ个行生成器对应ρ个生成序列。
对于规则LDPC码以及非规则LDPC码,若以λ表示行重、ρ表示校验矩阵中子矩阵的行数,由于该行生成序列中的每λ个数字代表一行子矩阵的第一行中元素1所处的列数,因此,该行生成序列由λ×ρ个数字组成,相对于M×N来说,所需的存储空间得以极大地减少;对于行重不相同的非规则LDPC码,虽然其行重不确定,但是,该行生成序列中所包含的数字个数最多为行重最大值与ρ之积,因此,相对于M×N来说,其所需的存储空间也将得以极大地减少。
之后,将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是t×t的矩阵,而码长为N,因此,每行子矩阵中子矩阵的个数c=N/t个;经划分之后,本实施例的奇偶校验矩阵将被划分为ρ行×(N/t)列个t×t的子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,采用循环移位的方式或直接寻址的方式得到整个子矩阵中其他行的元素,从而生成整个奇偶校验矩阵H。
循环移位的方式具体为:
子矩阵的每行皆由其上一行循环右移一位得到,其中第一行是最后一行的循环右移。针对每个子矩阵,采用将其第一行元素循环移位的方式得到该循环子矩阵中其他行元素的取值。例如,可以对第1行元素循环右移w位,得到第2行元素;对第2行元素循环右移w位,得到第3行元素,依此类推,即可得到从第2行到第t行的所有元素的取值。这里,当然也可以采取循环左移或者其他循环移位方式进行移位。
直接寻址的方式具体为:
码长为N,码率为R的生成序列,共有ρ个生成序列对应ρ行子矩阵,每行子矩阵中子矩阵的个数为N/t。则码长为N、码率为R的奇偶校验矩阵共包含个ρ*(N/t)维数为t×t的子矩阵。
首先,取第i+1个生成序列的第j个元素则可以生成第i+1行,第n+1列子矩阵Ai,n,其中i表示生成序列的标号,表示第i+1个生成序列;j表示每个生成序列中元素的序号,li表示第i个生成序列中元素的个数。子矩阵Ai,n=[al,m],0≤l<t;0≤m<t的第一行[a0,0,a0,1,…,a0,t-1]=[a0,a1,…,at-1]中只有第个位置为1,其余t-1个位置皆为0。
然后,根据第一行[a0,a1,…,at-1]可以产生整个矩阵Ai,n,计算方法如下:al,m=amod(m-l,t),0≤l<t;0≤m<t,l表示在每个子矩阵中的元素所在的行数,m表示在每个子矩阵中的元素所在的列数。生成序列中每个非零元素都对应一个非零矩阵,其余的子矩阵,都是维数为t×t的零矩阵。
上述计算方法可以理解为:根据码长、码率和行重,确认子矩阵的维数,取生成序列中的任意一个元素可以生成子矩阵,且生成的子矩阵中的第一行元素中只有一个位置为1,其余位置为0;元素为1的位置根据生成序列中的数字按照以下规律确定:数字根据整除原则,获取元素为1的位置信息,因此子矩阵第一行信息可以确定,子矩阵中除第一行之外的其他行的元素为1的位置都可以根据第一行元素直接寻址得到,即子矩阵中除第一行之外的其他行的元素为1的位置都可与第一行对应,其对应关系为:除第一行的任意行的列值减去行值后,对维数取模的结果与第一行中的列值相等。生成序列中每个非零元素都对应一个非零矩阵,其余的子矩阵,都是零矩阵。
经过上述过程,得到奇偶校验矩阵。假设所设置的用于生成奇偶校验矩阵的行生成器对应的生成序列包含y个数字,所得到的校验矩阵中包含y个含有元素1的子矩阵,由矩阵的性质可知,这些含有元素1的子矩阵是置换单位阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
步骤102、利用由奇偶校验矩阵得到的生成矩阵对所述输入数据进行编码。
由所述奇偶校验矩阵H可以按照与现有技术相同的方式得到对应的生成矩阵G,其中所述生成矩阵G和相应的奇偶校验矩阵H是对偶矩阵。
所述生成矩阵G和相应的奇偶校验矩阵H是对偶矩阵。
较佳地,可以采用如下方式得到生成矩阵G:
校验矩阵H对应的生成矩阵G可以表示为:
G=[I|P],其中I是单位阵,矩阵P可以如下表示:
其中Pi,j是一个t×t循环矩阵,该矩阵的各列皆由其前一列循环下移一位得到,其中第一列是最后一列的循环下移。Pj=[P0,j,P1,j,...Pc-ρ-1,j]T,j=0,1,…,ρ-1的第一列称为生成矩阵G的第j+1个列生成器,则G共有ρ个列生成器。
本实施例仅列举了上述一种生成矩阵G的表示方式,但本发明不限于上述表示方式,其它由H矩阵得到的G矩阵的方式及G矩阵也在本发明保护范围之内。
本步骤中,得到生成矩阵G之后,对输入数据进行编码,将输入数据变换为LDPC码字,得到包含奇偶校验信息的输出数据。
较佳地,LDPC码是线性分组码,其编码过程可以表示为:
其中,为K个编码信息比特,为长度为N的码字,v=(v0,…,vN-K-1)为N-K个校验比特,且编码码字满足校验方程H·cT=0。
较佳地,LDPC码编码过程还可以表示为:
x=u·G
其中,u=(u0,u1,…,uK-1)为K个编码信息比特,x=(u0,u1,…,uK-1,v0,v1,…,vN-K-1)为长度为N的码字,v=(v1,…,vN-K-1)为N-K个校验比特,且编码码字满足校验方程H·xT=0。
或者可以按照与现有技术相同的方式对输入数据进行编码。
至此,结束本发明一种用于数据传输的方法的示例性流程。
上述方法是针对已经选择好的LDPC码码长、码率与子矩阵的维数的情况下确定预先保存好与码长、码率和子矩阵的维数所匹配的行生成器对应的生成序列。另外,对于多码率LDPC码码长与码率的选择包括很多方法,其中一种可行的方法,可以根据上层指示传输包的长度,利用频谱效率最高的原则确定所采用何种码长,一旦码长确定,首先采用该码长下码率最高的码字,根据PER的度量准则,判断该码率是否适用,一旦传输PER高于PER门限值,则码率降为与其相邻的较低码率,直到抵达最低码率。以上只是一种选择方法的示例,本发明不限于上述选择方法,通过其他方法来实现选择LDPC码码长、码率与子矩阵的维数均在本发明所要求保护的范围之内。
在实际应用中,将经过本发明数据传输方法之后的数据进行交织、调制之后,即可向外发射。这里,调制方式可以包括:正交幅度调制(QAM)、相移键控(PSK)、幅度相移键控(APSK)、差分相移键控(DPSK)、绝对相移键控(BPSK)、差分幅度相移键控(DAPSK)和正交频分复用(OFDM)等。调制信号可以通过各种通信系统来传输,包括支持移动多媒体广播的地面链路等,例如:可以通过地面移动多媒体广播系统(T-MMB:Terrestrial MobileMultimedia Broadcasting)来传输。
LDPC码长、码率、信息比特长度、循环子矩阵的大小如表1所示。
表1
N | K | R | t |
1344 | 672 | 1/2 | 42 |
1344 | 840 | 5/8 | 42 |
1344 | 1008 | 3/4 | 42 |
1344 | 1176 | 7/8 | 42 |
2688 | 1344 | 1/2 | 112 |
2688 | 1680 | 5/8 | 112 |
2688 | 2016 | 3/4 | 112 |
2688 | 2240 | 5/6 | 112 |
5376 | 2688 | 1/2 | 112 |
5376 | 3360 | 5/8 | 112 |
5376 | 4032 | 3/4 | 112 |
5376 | 4704 | 7/8 | 112 |
本发明可以适用于规则LDPC码和非规则LDPC码,以下通过十二个实施例,对本发明技术方案进行详细说明。
【实施例一】
本实施例以(1344,672)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为1344,信息位长度K为672,行重λ=7,码率为v=1/2。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=1344-672=672。另外,本实施例中,将以42行x42列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(1344,672)LDPC码的行生成器如表2所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<16)。
表2
156 326 342 444 575 898 1005 |
55 85 167 486 617 1047 1307 |
410 821 873 927 982 1106 1191 |
10 61 139 251 468 773 915 |
52 103 324 400 612 743 792 |
26 70 145 195 502 718 1108 |
31 68 112 187 544 578 1313 |
73 110 229 307 337 681 1192 |
18 196 271 379 806 1168 1267 |
60 121 262 391 421 548 1088 |
25 163 355 433 652 712 1067 |
96 144 505 61 8 632 1172 1251 |
5 109 138 186 320 517 846 |
35 47 1 51 228 671 71 6 1 256 |
0 89 270 367 713 1032 1298 |
20 42 119 131 235 264 956 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为1344,码率为1/2的奇偶校验矩阵,共有16个行生成器,每个行生成器对应1行子矩阵,每行子矩阵中子矩阵的个数为32。则码长为1344、码率为1/2的奇偶校验矩阵共包含16×32个维数为42×42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表2,该表2中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=1344)。
由于本实施例中LDPC码的行重为7,因此,每一行子矩阵的第一行中存在7个元素1,即存在7个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而校验方程的个数为672,因此,奇偶校验矩阵中子矩阵的行数ρ=672/42=16个,所以,本实施例中的16个行生成器对应的所有生成序列共包括16行×7列=192个数字组成的序列。其中,每7个数字为一组生成序列,代表了一行子矩阵的第一行中元素1所处的列数。
表2包括多个包含行重个数字的生成序列,并以表2中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表2中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表2中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表2中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表2均匀划分为多个包含7个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表2所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表2所示,其第一行生成序列为156,326,342,444,575,898和1005,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第157列、第327列、第343列、第445列、第576列、第899列和第1006列的取值为1,第一行子矩阵的第一行中的其余列为0;
其第二行生成序列为55,85,167,486,617,1047和1307,表示奇偶校验矩阵的第二行子矩阵的第一行,即奇偶校验矩阵的第43行中的第56列、第86列、第168列、第487列、第618列、第1048列和第1308列的取值为1,第二行子矩阵的第一行中的其余列为0,对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而码长为1344,因此,每行子矩阵中子矩阵的个数c=1344/42=32个;经划分之后,本实施例的奇偶校验矩阵将被划分为16行×32列=512个42×42的子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例表1中的生成序列中存在16行×7列=112个数字。本实施例所得到的奇偶校验矩阵中将存在112个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例一中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例一中所提供的(1344,672)非规则LDPC码的性能。图2为实施例一中采用BPSK调制的(1344,672)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图2,其中,直线201表示香农限;
曲线202表示采用本发明(1344,672)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线203表示采用本发明(1344,672)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线204表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例二】
本实施例以(1344,840)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为1344,信息位长度K为672,行重λ=10,码率为v=5/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=1344-840=504。另外,本实施例中,将以42行x42列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(1344,840)LDPC码的行生成器如表3所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<12)。
表3
265 295 377 408 422 544 578 696 722 1176 |
122 201 244 279 307 337 450 464 885 1295 |
164 243 321 349 379 461 492 916 927 1015 |
120 262 363 391 421 503 548 720 765 958 |
8 185 280 304 355 576 712 762 1190 1229 |
24 50 204 278 322 447 618 804 1042 1108 |
66 283 320 364 388 439 660 899 1257 1313 |
134 289 325 406 430 531 838 1004 1137 1316 |
150 214 367 404 448 523 601 880 983 1073 |
40 90 264 409 615 643 786 862 1088 1276 |
277 306 354 415 532 607 657 685 828 1130 |
64 319 348 396 457 493 574 727 870 1172 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为1344,码率为5/8的奇偶校验矩阵,共有12个行生成器,每个行生成器对应12行子矩阵,每行子矩阵中子矩阵的个数为32。则码长为1344、码率为5/8的奇偶校验矩阵共包含12×32个维数为42×42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表3,该表3中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=1344)。
由于本实施例中LDPC码的行重为10,因此,每一行子矩阵的第一行中存在10个元素1,即存在10个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而校验方程的个数为504,因此,奇偶校验矩阵中分矩阵的个数ρ=504/42=12个,所以,本实施例中的表3为12行×10列=120个数字组成的数字组。
表3包括多个包含行重个数字的生成序列,并以表3中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表3中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表3中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表3中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表3均匀划分为多个包含10个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表3所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表3所示,其第一行生成序列为265,295,377,408,422,544,578,696,722,1176,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第266列、第296列、第378列、第409列、第423列、第545列、第579列、第697列、第723列和第1177列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而码长为1344,因此,每行子矩阵中子矩阵的个数c=1344/42=32个;经划分之后,本实施例的奇偶校验矩阵将被划分为12行×32列=384个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列中存在12行×10列=120个数字,因此,本实施例所得到的奇偶校验矩阵中将存在120个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例二中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例二中所提供的(1344,840)非规则LDPC码的性能。图3为实施例二中采用BPSK调制的(1344,840)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图3,其中,直线301表示香农限;
曲线302表示采用本发明(1344,840)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线303表示采用本发明(1344,840)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线304表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例三】
本实施例以(1344,1008)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为1344,信息位长度K为1008,行重λ=15,码率为v=3/4。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=1344-1008=336。另外,本实施例中,与实施例一相同,将以42行x42列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(1344,1008)LDPC码的行生成器如表4所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<8)。
表4
3 91 140 223 253 335 366 502 536 680 718 785 1089 1103 1253 |
34 165 237 265 295 377 408 422 544 594 899 989 1106 1295 1307 |
76 87 279 337 419 450 464 586 681 764 918 1004 1031 1066 1145 |
207 220 271 321 379 568 628 662 806 960 1053 1099 1148 1187 1302 |
238 262 313 363 391 503 534 548 720 765 822 848 953 1025 1173 |
80 236 280 304 355 405 433 463 576 590 652 890 928 1044 1232 |
36 159 171 241 278 322 346 397 447 475 505 632 754 849 1274 |
78 101 202 247 320 364 388 439 517 547 674 830 846 974 1192 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为1344,码率为3/4的奇偶校验矩阵,共有8个行生成器,每个行生成器对应8行子矩阵,每行子矩阵中子矩阵的个数为32。则码长为1344、码率为5/8的奇偶校验矩阵共包含8×32个维数为42×42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表4,该表4中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=1344)。
由于本实施例中LDPC码的行重为15,因此,每一行子矩阵的第一行中存在15个元素1,即存在15个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而校验方程的个数为336,因此,奇偶校验矩阵中子矩阵的行数ρ=336/42=8个,所以,本实施例中的表4为8行×15列=120个数字组成的序列。
表4包括多个包含行重个数字的生成序列,并以表4中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表4中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表4中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表4中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表4均匀划分为多个包含15个数字的生成序列,根据所得到的每一个生成序列中的数字,即如表4所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素:
例如,如表4所示,其第一个生成序列为3,91,140,223,253,335,366,502,536,680,718,785,1089,1103和1253,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第4列、第92列、第141列、第224列、第254列、第336列、第367列、第503列、第537列、第681列、第719列、第786列、第1090列、第1104列和第1254列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而码长为1344,因此,每行子矩阵中子矩阵的个数c=1344/42=32个;经划分之后,本实施例的奇偶校验矩阵将被划分为8行×15列=120个42×42的子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他的行元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例行生成器中存在8行×15列=120个数字,因此,本实施例所得到的奇偶校验矩阵中将存在120个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例三中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例三中所提供的(1344,1008)非规则LDPC码的性能。图4为实施例三中采用BPSK调制的(1344,1008)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图4,其中,直线401表示香农限;
曲线402表示采用本发明(1344,1008)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线403表示采用本发明(1344,1008)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线404表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例四】
本实施例以(1344,1176)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为1344,信息位长度K为1176,行重λ=28,码率为v=7/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=1344-1176=168。另外,本实施例中,与实施例一相同,将以42行x42列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(1344,1176)LDPC码的行生成器如表5所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<4)。
表5
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为1344,码率为7/8的奇偶校验矩阵,共有4个行生成器,每个行生成器对应4行子矩阵,每行子矩阵中子矩阵的个数为32。则码长为1344、码率为7/8的奇偶校验矩阵共包含4×28个维数为42×42的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表5,该表5中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=1344)。
由于本实施例中LDPC码的行重为28,因此,每一行子矩阵的第一行中存在28个元素1,即存在28个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而校验方程的个数为168,因此,奇偶校验矩阵中子矩阵的行数ρ=168/42=4个,所以,本实施例中的生成序列四为4行×28列=112个子行生成器成的序列。
表5包括多个包含行重个数字的生成序列,并以表5中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表5中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表5中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表5中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表5均匀划分为多个包含28个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表5所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表5所示,其第一行生成序列为55,85,167,198,212,274,334,368,384,429,486,512,550,617,666,689,752,779,874,885,940,973,1047,1064,1103,1149,1253和1265,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第56列、第86列、第168列、第199列、第213列、第275列、第335列、第369列、第385列、第430列、第487列、第513列、第551列、第618列、第667列、第690列、第753列、第780列、第875列、第886列、第941列、第974列、第1048列、第1065列、第1104列、第1150,1254,1266列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是42×42的矩阵,而码长为1344,因此,每行子矩阵中子矩阵的个数c=672/42=16个;经划分之后,本实施例的奇偶校验矩阵将被划分为4行×28列=112个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例行生成器中存在4行×28列=112个数字,因此,本实施例所得到的奇偶校验矩阵中将存在112个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例四中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例四中所提供的(1344,1176)非规则LDPC码的性能。图5为实施例四中采用BPSK调制的(1344,1176)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图5,其中,直线501表示香农限;
曲线502表示采用本发明(1344,1176)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线503表示采用本发明(1344,1176)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线504表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例五】
本实施例以(2688,1344)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为2688,信息位长度K为1344,行重λ=7,码率为1/2。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=2688-1344=1344。另外,本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(2688,1344)LDPC码的行生成器如表6所示,表中,其中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<12)。
表6
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为2688、码率为1/2的奇偶校验矩阵,共有12个行生成器,每个行生成器对应12行子矩阵,每行子矩阵中子矩阵的个数为24。则码长为2688、码率为1/2的奇偶校验矩阵共包含12×24个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表6,该表6中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=2688)。
由于本实施例中LDPC码的行重为7,因此,每一行子矩阵的第一行中存在7个元素1,即存在7个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为1344,因此,奇偶校验矩阵中子矩阵的行数ρ=1344/112=12个,所以,本实施例中的行生成器五为12行×7列=84个数字组成的序列。
表6包括多个包含行重个数字的生成序列,并以表6中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表6中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表6中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表6中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表6均匀划分为多个包含7个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表6所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表6所示,其第一个生成序列为417,582,1113,1518,2328,2388和2544,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第418列、第583列、第1114列、第1519列、第2329列、第2389列、第2545列的取值为1,第一行子矩阵的第一行中的其余列为0;
其第二行生成序列为112,343,529,607,844,1405和1861,表示奇偶校验矩阵的第二行子矩阵的第一行,即奇偶校验矩阵的第113行中的第113列、第344列、第530列、第608列、第845列、第1406列和第1862列的取值为1,第二行子矩阵的第一行中的其余列为0,对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为2688,因此,每行子矩阵中子矩阵的个数c=2688/112=24个;经划分之后,本实施例的奇偶校验矩阵将被划分为12行×24列=288个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素的取值。
具体实现与步骤102中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例行生成器中存在12行×7列=84个数字,因此,本实施例所得到的奇偶校验矩阵中将存在84个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例五中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例五中所提供的(2688,1344)非规则LDPC码的性能。图6为实施例五中采用BPSK调制的(2688,1344)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图6,其中,直线601表示香农限;
曲线602表示采用本发明(2688,1344)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线603表示采用本发明(2688,1344)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线604表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例六】
本实施例以(2688,1680)非规则LDPC码为例进行说明。本实施例要实现的非规则LDPC码的码长N为2688,信息位长度K为1680,行重λ=10,码率为5/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=2688-1680=1008。另外,在本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(2688,1680)LDPC码的行生成器如表7所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<9)
表7
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为2688,码率为5/8的奇偶校验矩阵,共有9个行生成器,每个行生成器对应9行子矩阵,每行子矩阵中子矩阵的个数为24。则码长为2688、码率为5/8的奇偶校验矩阵共包含9×24个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表7,该表7中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=2688)。
由于本实施例中LDPC码的行重为10,因此,每一行子矩阵的第一行中存在10个元素1,即存在10个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为1008,因此,奇偶校验矩阵中子矩阵的行数ρ=1008/112=9个,所以,本实施例中的生成序列为9行×10列=90个数字组成的序列。
表7包括多个包含行重个数字的生成序列,并以表7中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表7中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表7中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表7中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表7均匀划分为多个包含10个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表7所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表7所示,其第一行生成序列为7,193,271,358,508,941,1069,1232,1830,2544,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第8列、第194列、第272列、第359列、第509列、第942列、第1070列、第1233列、第1831列、第2545列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为2688,因此,每行子矩阵中子矩阵的个数c=2688/112=24个;经划分之后,本实施例的奇偶校验矩阵将被划分为9行×24列=216个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行元素的取值。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列存在9行×10列=90个数字,因此,本实施例所得到的奇偶校验矩阵中将存在90个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例六中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例六中所提供的(2688,1680)非规则LDPC码的性能。图7为实施例六中采用BPSK调制的(2688,1680)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图7,其中,直线701表示香农限;
曲线702表示采用本发明(2688,1680)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线703表示采用本发明(2688,1680)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线704表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例七】
本实施例以(2688,2016)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为2688,信息位长度K为2016,行重λ=15,码率为3/4。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=2688-2016=672。另外,本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(2688,2016)LDPC码的行生成器如表8所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<6)。
表8
62 293 374 514 679 865 943 1030 11 80 1257 1435 1613 1904 2203 2388 |
26 626 729 791 977 1055 1142 1292 1369 1547 1725 1853 1968 2016 2500 |
138 598 750 841 903 1089 1167 1404 1659 1785 1837 1965 2080 2310 2552 |
112 398 707 862 953 1015 1201 1279 1366 1516 1593 1897 1949 2306 2664 |
61 176 224 362 510 590 696 819 974 1065 1127 1478 1628 1705 2197 |
288 474 776 808 931 1086 1177 1239 1503 1740 1817 2121 2158 2390 2646 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为2688,码率为3/4的奇偶校验矩阵,共有6个行生成器,每个行生成器对应6行子矩阵,每行子矩阵中子矩阵的个数仍为24。则码长为2688、码率为3/4的奇偶校验矩阵共包含6×24个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表8,该表8中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=2688)。
由于本实施例中LDPC码的行重为15,因此,每一行子矩阵的第一行中存在15个元素1,即存在15个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为672,因此,奇偶校验矩阵中子矩阵的行数ρ=672/112=6个,所以,本实施例中的生成序列为6行×15列=90个数字组成的序列。
表8包括多个包含行重个数字的生成序列,并以表8中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表8中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表8中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表8中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表8均匀划分为多个包含15个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表8所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表8所示,其第一行生成序列为62,293,374,514,679,865,943,1030,1180,1257,1435,1613,1904,2203和2388,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第63列、第294列、第375列、第515列、第680列、第866列、第944列、第1031列、第1181列、第1258列、第1436列、第1614列、第1905列、第2204列、第2389列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为2688,因此,每行子矩阵中子矩阵的个数c=2688/112=24个;经划分之后,本实施例的奇偶校验矩阵将被划分为6行×24列=144个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素的取值。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列中存在6行×15列=90个数字,因此,本实施例所得到的奇偶校验矩阵中将存在90个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例八中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例七中所提供的(2688,2016)非规则LDPC码的性能。图8为实施例七中采用BPSK调制的(2688,2016)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图8,其中,直线801表示香农限;
曲线802表示采用本发明(2688,2016)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线803表示采用本发明(2688,2016)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线804表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例八】
本实施例以(2688,2240)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为2688,信息位长度K为2240,行重λ=28,码率为7/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=2688-2240=448。另外,本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(2688,2240)LDPC码的行生成器如表9所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<4)。
表9
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为2688、码率为7/8的奇偶校验矩阵,共有4个行生成器,每个行生成器对应4行子矩阵,每行子矩阵中子矩阵的个数为24。则码长为2688、码率为7/8的奇偶校验矩阵共包含4×24个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表9,该表9中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=2688)。
由于本实施例中LDPC码的行重为21,因此,每一行子矩阵的第一行中存在21个元素1,即存在21个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为448,因此,奇偶校验矩阵中子矩阵的行数ρ=448/112=4个,所以,本实施例中的生成序列为4行×21列=84个数字组成的序列。
表9包括多个包含行重个数字的生成序列,并以表9中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表9中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表9中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表9中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表9均匀划分为多个包含21个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表9所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表9所示,其第一行生成序列为7,193,271,358,508,585,763,889,941,1069,1184,1232,1370,1518,1598,1749,1830,1970,2086,2203和2544,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第8列、第194列、第272列、第359列、第509列、第586列、第764列、第890列、第942列、第1070列、第1185列、第1233列、第1371列、第1519列、第1599列、第1750列、第1831列、第1971列、第2087列、第2204列、第2545列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为2688,因此,每行子矩阵中子矩阵的个数c=2688/112=24个;经划分之后,本实施例的奇偶校验矩阵将被划分为4行×21列=84个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列中存在4行×21列=84个数字,因此,本实施例所得到的奇偶校验矩阵中将存在112个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例八中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例八中所提供的(2688,2240)非规则LDPC码的性能。图9为实施例八中采用BPSK调制的(2688,2240)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图9,其中,直线901表示香农限;
曲线902表示采用本发明(2688,2240)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线903表示采用本发明(2688,2240)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线904表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例九】
本实施例以(5376,2688)行重不相同的非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为5376,信息位长度K为2688,行重λ=7,码率为1/2。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=5376-2688=2688。另外,在本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(5376,2688)LDPC码的行生成器如表10所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<24)。
表10
147 281 1109 1381 2089 4658 5232 |
98 607 826 1108 1813 2024 4398 |
1220 1333 1605 2406 3031 4661 4998 |
248 526 1445 1906 2238 2248 4854 |
880 968 1092 1162 1557 2149 3494 |
322 718 827 992 1080 1274 4317 |
434 1316 1668 3048 3214 3305 5109 |
377 765 815 1216 2354 3417 3743 |
1163 1610 1686 1892 2005 2466 3591 |
658 1039 1166 1275 2117 2808 3967 |
1101 1151 2501 2682 2985 4079 4571 |
796 1019 1213 2341 2613 3083 3865 |
502 706 908 1325 1776 2802 4795 |
37 818 991 1020 1487 2933 5213 |
614 930 1300 1835 3682 4764 5325 |
357 558 946 1244 2394 2676 4953 |
751 886 1356 1773 1823 2059 2949 |
100 764 1468 2336 3321 4168 4537 |
213 876 975 1378 1580 2730 3433 |
688 835 988 1692 2159 2560 2772 |
783 1199 1334 2760 3750 4081 4472 |
912 1311 1504 1916 2884 3952 4193 |
699 1024 1171 1999 2196 5097 5345 |
184 771 3221 3474 3816 4315 4840 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为5376、码率为1/2的奇偶校验矩阵,共有24个行生成器,每个行生成器对应24行子矩阵,每行子矩阵中子矩阵的个数仍为48。则码长为5376、码率为1/2的奇偶校验矩阵共包含24×48个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表10,该表10中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=5376)。
由于本实施例中LDPC码的行重为7,因此,每一行子矩阵的第一行中存在7个元素1,即存在7个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为2688,因此,奇偶校验矩阵中子矩阵的行数ρ=2688/112=24个,所以,本实施例中的生成序列九为24行×48列=1152个数字组成的序列。
表10包括多个包含行重个数字的生成序列,并以表10中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表10中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表10中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表10中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表10均匀划分为多个包含7个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表10所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表10所示,其第一行生成序列为147,281,1109,1381,2089,4658,5232,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第148列、第282列、第1110列、第1382列、第2090列、第4659列和第5233列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为5376,因此,每行子矩阵中子矩阵的个数c=5376/112=48个;经划分之后,本实施例的奇偶校验矩阵将被划分为24行×48列=1152个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述的操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列存在24行×7列=168个数字,因此,本实施例所得到的奇偶校验矩阵中将存在168个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例九中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例九中所提供的(5376,2688)非规则LDPC码的性能。图10为实施例九中采用BPSK调制的(5376,2688)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图10,其中,直线1001表示香农限;
曲线1002表示采用本发明(5376,2688)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线1003表示采用本发明(5376,2688)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线1004表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例十】
本实施例以(5376,3360)行重不相同的非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为5376,信息位长度K为3360,行重λ=10,码率为5/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=5376-3360=2016。另外,在本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(5376,3360)LDPC码的行生成如表11所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<18)。
表11
60 773 981 1045 1226 1234 1576 1846 2969 4437 |
22 566 772 1093 2048 2289 3329 3984 4318 5344 |
315 408 532 678 1977 2070 2505 2792 3494 4742 |
432 520 714 790 996 1570 2936 3214 3305 3367 |
826 1221 1429 1493 1674 2024 2201 3016 4654 5222 |
382 491 744 868 938 1786 2313 4137 4189 4997 |
119 367 603 1126 1445 1470 2238 2747 3395 4301 |
479 715 968 1444 1557 1765 2350 3234 3830 4413 |
347 1080 1204 1877 1941 2130 2472 2832 4653 4816 |
459 653 703 830 939 1462 3662 3703 4585 4765 |
302 571 942 1216 1428 1918 3056 3195 3815 5040 |
431 628 877 1054 1163 1328 1686 2458 3307 5290 |
210 370 543 572 740 1039 1166 2389 2570 4973 |
153 386 655 907 1101 2682 2821 3998 4907 5085 |
498 796 1213 1263 1664 2613 3531 3625 4110 4527 |
438 879 908 1076 1864 2453 2661 3045 4222 5257 |
550 608 818 1020 1188 1243 2773 2837 3368 3526 |
8 527 662 720 834 930 1103 3130 3616 3745 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为5376、码率为5/8的奇偶校验矩阵,共有18个行生成器,每个行生成器对应24行子矩阵,每24行子矩阵中子矩阵的个数仍为48。则码长为5376、码率为5/8的奇偶校验矩阵共包含18×48个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表11,该表11中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=5376)。
由于本实施例中LDPC码的行重为10,因此,每一行子矩阵的第一行中存在10个元素1,即存在10个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为2016,因此,奇偶校验矩阵中子矩阵的行数ρ=2016/42=18个,所以,本实施例中的行生成器十为18行×10列=180个数字组成的序列。
表11包括多个包含行重个数字的生成序列,并以表11中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表11中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表11中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表11中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表11均匀划分为多个包含10个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表11所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表11所示,其第一行生成序列为60,773,981,1045,1226,1234,1576,1846,2969,4437,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第61列、第774列、第982列、第1046列、第1227列、第1235列、第1577列、第1847列、第2970列、第4438列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为5376,因此,每行子矩阵中子矩阵的个数c=5376/112=48个;经划分之后,本实施例的奇偶校验矩阵将被划分为18行×48列=846个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵。由于本实施例生成序列中存在18行×10列=180个数字,因此,本实施例所得到的奇偶校验矩阵中将存在180个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例十中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例十中所提供的(5376,3360)非规则LDPC码的性能。图11为实施例十中采用BPSK调制的(5376,3360)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图11,其中,直线1101表示香农限;
曲线1102表示采用本发明(5376,3360)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线1103表示采用本发明(5376,3360)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线1104表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例十一】
本实施例以(5376,4032)非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为5376,信息位长度K为4032,行重λ=15,码率3/4。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=5376-4032=1344。另外,在本实施例中,将以112行112列的子矩阵为最小单位为例说明LDPC码的实现过程。
本实施例方法流程图与图1所示本发明示例性方法流程图类似,参见图1,本实施例中LDPC码的实现方法包括以下步骤:
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(5376,4032)LDPC码的行生成器如表12所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<12)。
表12
0 181 342 661 686 869 933 1963 2919 3105 3183 3270 4398 4518 5076 |
64 308 378 660 773 1365 2177 2450 2568 2723 2878 3532 4144 4770 5344 |
296 490 566 772 885 1477 1678 1688 2562 2680 3721 4077 4256 4661 5240 |
320 532 602 884 997 1022 1450 1458 1589 1790 1800 3193 4011 4205 4854 |
267 432 644 714 790 1134 1317 1381 1562 1902 2089 3367 3868 4506 4966 |
379 544 632 826 902 1246 1674 1682 2014 2294 2729 2898 3016 3048 4846 |
382 491 656 744 868 1014 2126 2136 2313 2406 2496 3438 3942 4361 4730 |
60 157 317 367 494 768 856 1050 1126 1906 2608 3641 3889 4054 4990 |
235 429 479 606 715 1162 1238 1444 1557 1582 1765 3352 3507 3662 5102 |
292 347 541 827 1080 1204 1274 2742 2832 3464 3774 3927 4316 5214 5294 |
236 459 703 939 1806 2053 2234 2242 3083 3185 3576 3608 3886 4428 4697 |
319 348 516 571 765 815 1893 1918 2354 2686 2966 3297 3720 4089 4225 |
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为5376、码率为3/4的奇偶校验矩阵,共有12个行生成器,每个行生成器对应12行子矩阵,每行子矩阵中子矩阵的个数为48。则码长为5376、码率为3/4的奇偶校验矩阵共包含12×48个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表12,该表12中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=5376)。
由于本实施例中LDPC码的行重为15,因此,每一行子矩阵的第一行中存在15个元素1,即存在15个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为1344,因此,奇偶校验矩阵中子矩阵的行数ρ=1344/112=12个,所以,本实施例中的生成序列为12行×15列=180个数字组成的序列。
表12包括多个包含行重个数字的生成序列,并以表12中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表12中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表12中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表12中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表12均匀划分为多个包含15个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表12所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表12所示,其第一行生成序列为0,181,342,661,686,869,933,1963,2919,3105,3183,3270,4398,4518,5076,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第1列、第182列、第343列、第662列、第687列、第870列、第934列、第1964列、第2920列、第3106列、第3184列、第3271列、第4399列、第4519列、第5077列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为5376,因此,每行子矩阵中子矩阵的个数c=5376/112=48个;经划分之后,本实施例的奇偶校验矩阵将被划分为12行×48列=576个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列中存在12行×15列=180个数字,因此,本实施例所得到的奇偶校验矩阵中将存在180个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例十一中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例十一中所提供的(5376,4032)非规则LDPC码的性能。图12为实施例十一中采用BPSK调制的(5376,4032)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图12,其中,直线1201表示香农限;
曲线1202表示采用本发明(5376,4032)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线1203表示采用本发明(5376,4032)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线1204表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例十二】
本实施例以(5376,4704)行重不相同的非规则LDPC码为例进行说明。本实施例将要实现的非规则LDPC码的码长N为5376,信息位长度K为4704,行重λ=28,码率为7/8。由码率、码长以及校验方程个数之间的对应关系可知,本实施例校验矩阵中校验方程个数M=5376-4074=672。另外,在本实施例中,将以112行x112列的子矩阵为最小单位为例说明LDPC码的实现过程。
在步骤101中,根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵。
(5376,4704)LDPC码的行生成器如表13所示,表中第(i+1行)对应第(i+1)个行生成器的生成序列(0≤i<6),如下所示:
表13
首先,根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列;
码长为5376、码率为7/8的奇偶校验矩阵,共有6个行生成器,每个行生成器对应6行子矩阵,每行子矩阵中子矩阵的个数为48。则码长为5376、码率为7/8的奇偶校验矩阵共包含6×48个维数为112×112的子矩阵。
然后根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素。
参见表13,该表13中的每一行为一个生成器对应的生成序列,每个行生成器对应的生成序列代表一行子矩阵的第一行中元素1所处的列数(范围:0~N-1,N=5376)。
由于本实施例中LDPC码的行重为28,因此,每一行子矩阵的第一行中存在28个元素1,即存在28个取值为1的列;另外,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而校验方程的个数为672,因此,奇偶校验矩阵中子矩阵的行数ρ=672/112=6个,所以,本实施例中的生成序列为6行×28列=168个数字组成的序列。
表13包括多个包含行重个数字的生成序列,并以表13中的每一行生成序列的数字作为相应每行子矩阵的第一行中元素1所处的列数。即,以表13中的第一行生成序列中的数字作为第一行子矩阵的第一行中元素1所处的列数,以表13中的第二行生成序列中的数字作为第二行子矩阵的第一行中元素1所处的列数,依此类推,直至以表13中的最后一个行生成序列中的数字作为最后一行子矩阵的第一行中元素1所处的列数。
具体而言,将表13均匀划分为多个包含28个数字的生成序列,根据所得到的每一行生成序列中的数字,即如表13所示的每一行中的数字,得到奇偶校验矩阵的每行子矩阵的第一行元素。
例如,如表2所示,其第一行生成序列为55,85,167,198,212,274,334,368,384,429,486,512,550,617,666,689,752,779,874,885,940,973,1047,1064,1103,1149,1253和1265,表示奇偶校验矩阵中第一行子矩阵的第一行,即奇偶校验矩阵的第一行中的第56列、第86列、第168列、第199列、第213列、第275列、第335列、第369列、第385列、第430列、第487列、第513列、第551列、第618列、第667列、第690列、第753列、第780列、第875列、第886列、第941列、第974列、第1048列、第1065列、第1104列、第1150,1254,1266列的取值为1,第一行子矩阵的第一行中的其余列为0;对于其他行子矩阵的第一行的取值,可以参照举例类推得到,在此不再赘述。
将已确定第一行取值的每行子矩阵按列均匀划分为c个子矩阵;这里,由于本实施例中奇偶校验矩阵的子矩阵是112×112的矩阵,而码长为5376,因此,每行子矩阵中子矩阵的个数c=5376/112=48个;经划分之后,本实施例的奇偶校验矩阵将被划分为6行×28列=168个子矩阵,且每个子矩阵的第一行元素的取值已经确定。
最后,根据每个子矩阵的第一行元素,可以采用循环移位或直接寻址两种实现方式得到该子矩阵中其他行的元素。
具体实现与步骤101中相同,不再赘述。
经过上述操作之后,即可得到本实施例中奇偶校验矩阵H。由于本实施例生成序列中存在6行×28列=168个数字,因此,本实施例所得到的奇偶校验矩阵中将存在168个置换单位矩阵。
本步骤中,得到奇偶校验矩阵之后,可以对其进行各种角度的旋转、行置换、列置换或改变子矩阵位置的任何变换。
在步骤102中,利用由奇偶校验矩阵H得到的生成矩阵G对所述输入数据进行编码,变换为LDPC码字,得到包含奇偶校验信息的输出数据。
至此,结束本发明实施例十二中用于数据传输方法的示例性流程。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对行生成器循环移位或直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
下面通过与现有技术的仿真对比,说明本发明实施例十二中所提供的(5376,4704)非规则LDPC码的性能。图13为实施例十二中采用BPSK调制的(5376,4704)LDPC码在AWGN信道的BER/BLER性能及其与Shannon Limit、未编码BPSK的性能比较的示意图。本次仿真中,译码采用sum-product算法,最大迭代次数为50。
参见图13,其中,直线1301表示香农限;
曲线1302表示采用本发明(5376,4704)非规则LDPC码进行编码、BPSK方式进行调制、然后在加性高斯白噪声(AWGN)信道中传输、并采用和积译码算法(SPA:Sum-ProductArithmetic)进行译码的信号的误比特率(BER)曲线;
曲线1303表示采用本发明(5376,4704)非规则LDPC码进行编码、BPSK方式进行调制、然后在AWGN信道中传输、并采用SPA算法进行译码的信号的误帧率(BLER)曲线;
曲线1304表示未经编码,直接采用BPSK调制,再经AWGN信道传输的信号的BER性能曲线。
【实施例十三】
图14为本发明实施例十三中用于数据传输的装置的结构示意图。参见图14,该装置包括:存储模块1410、校验矩阵生成模块1420、码字生成模块1430,其中,校验矩阵生成模块1420中进一步包括:生成序列分析单元1421和循环移位单元1422。
图14所示装置中,
存储模块1410,用于存储生成序列,并向校验矩阵生成模块1420中的生成序列分析单元1421提供其所存储的生成序列;
校验矩阵生成模块1420中的生成序列分析单元1421,用于根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素;根据所述每个子矩阵的第一行元素,得到每个子矩阵中其他行的元素,将所得到的已确定第一行元素的每一行子矩阵发送给所述循环移位单元1422;
校验矩阵生成模块1420中的循环移位单元1422,用于根据每一个子矩阵的第一行元素、采用循环移位的方式得到每一个子矩阵,这里,每一个子矩阵即构成了本实施例中的奇偶校验矩阵,将该奇偶校验矩阵发送给码字生成模块1430;
码字生成模块1430,用于接收来自于校验矩阵生成模块1420中的循环移位单元1422的奇偶校验矩阵,并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码。
在图14所示装置中,可以进一步包括:校验矩阵变换单元,该校验矩阵变换单元,可以用于对循环移位单元1422得到的奇偶校验矩阵进行各种角度的旋转、行置换、列置换或改变子矩阵位置等各种变换,然后将经过变换所得到的奇偶校验矩阵发送给码字生成模块1430。
该校验矩阵变换单元可以单独设置于本实施例的实现装置中,也可以设置于校验矩阵生成模块1420中,或者也可以设置于其他模块之中。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对生成序列循环移位得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
【实施例十四】
图15为本发明实施例十三中用于数据传输的装置的结构示意图。参见图15,该装置包括:存储模块1510、校验矩阵生成模块1520、码字生成模块1530,其中,校验矩阵生成模块1520中进一步包括:生成序列分析单元1521和直接寻址单元1522。
图15所示装置中,存储模块1510,用于存储生成序列,并向校验矩阵生成模块1520中的生成序列分析单元1521提供其所存储的生成序列;
校验矩阵生成模块1520中的生成序列分析单元1521,用于根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素;根据所述每个子矩阵的第一行元素,得到每个子矩阵中其他行的元素,将所得到的已确定第一行元素的每一行子矩阵发送给所述直接寻址单元422;
校验矩阵生成模块1520中的直接寻址单元1522,用于根据每一个子矩阵的第一行元素、采用直接寻址的方式得到每一个子矩阵,这里,每一个子矩阵即构成了本实施例中的奇偶校验矩阵,将该奇偶校验矩阵发送给码字生成模块1530;
码字生成模块1530,用于接收来自于校验矩阵生成模块1520中的直接寻址1522的奇偶校验矩阵,并利用该奇偶校验矩阵,将输入数据变换为LDPC码字。
在图15所示装置中,可以进一步包括:校验矩阵变换单元,该校验矩阵变换单元,可以用于对直接寻址单元1522得到的奇偶校验矩阵进行各种角度的旋转、行置换、列置换或改变子矩阵位置等各种变换,然后将经过变换所得到的奇偶校验矩阵发送给码字生成模块1530。
该校验矩阵变换单元可以单独设置于本实施例的实现装置中,也可以设置于校验矩阵生成模块1520中,或者也可以设置于其他模块之中。
本发明实施例十三和十四提供的用于数据传输的装置,其工作原理及相关操作流程与前述用于实现数据传输的方法实施方案中基本相同,在此不再赘述。
由上述实施例可见,本发明采用了以行生成器对应的生成序列表示奇偶校验矩阵、并对生成序列直接寻址得到奇偶校验矩阵的方式,使得存储奇偶校验矩阵所需的存储空间达到了最小化。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (2)
1.一种用于数据传输的方法,其特征在于,包括:
根据预先保存的行生成器对应的生成序列,生成奇偶校验矩阵,具体包括:根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素;根据所述每个子矩阵的第一行元素,得到每个子矩阵中其他行的元素;
利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码,得到包含奇偶校验信息的输出数据;
根据所述每个子矩阵的第一行元素,采用直接寻址的方式得到每个子矩阵中其他行的元素,所述直接寻址方式具体为:
取第i+1个生成序列的第j个元素生成第i+1行、第n+1列子矩阵Ai,n;
其中,所述子矩阵Ai,n=[al,m],0≤l<t;0≤m<t的第一行[a0,0,a0,1,…,a0,t-1]=[a0,a1,…,at-1]中,只有第个位置为1,其余t-1个位置皆为0;
根据第一行[a0,a1,…,at-1]产生整个矩阵Ai,n,计算方法如下:al,m=amod(m-l,t),0≤l<t;0≤m<t;
所述生成序列中每个非零元素都对应一个非零矩阵,其余的子矩阵,都是维数为t×t的零矩阵;
其中,所述生成序列
ρ表示行生成器的个数;
i表示行生成序列的标号;
j表示行生成序列中元素的序号;
li表示第i个行生成序列中元素的个数;
t表示维数;
当所述码长为1344,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:156,326,342,444,575,898,1005;
第二行:55,85,167,486,617,1047,1307;
第三行:410,821,873,927,982,1106,1191;
第四行:10,61,139,251,468,773,915;
第五行:52,103,324,400,612,743,792;
第六行:26,70,145,195,502,718,1108;
第七行:31,68,112,187,544,578,1313;
第八行:73,110,229,307,337,681,1192;
第九行:18,196,271,379,806,1168,1267;
第十行:60,121,262,391,421,548,1088;
第十一行:25,163,355,433,652,712,1067;
第十二行:96,144,505,618,632,1172,1251;
第十三行:5,109,138,186,320,517,846;
第十四行:35,47,151,228,671,716,1256;
第十五行:0,89,270,367,713,1032,1298;
第十六行:20,42,119,131,235,264,956;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<16;
16行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含112个置换单位矩阵;
当所述码长为1344,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:265,295,377,408,422,544,578,696,722,1176;
第二行:122,201,244,279,307,337,450,464,885,1295;
第三行:164,243,321,349,379,461,492,916,927,1015;
第四行:120,262,363,391,421,503,548,720,765,958;
第五行:8,185,280,304,355,576,712,762,1190,1229;
第六行:24,50,204,278,322,447,618,804,1042,1108;
第七行:66,283,320,364,388,439,660,899,1257,1313;
第八行:134,289,325,406,430,531,838,1004,1137,1316;
第九行:150,214,367,404,448,523,601,880,983,1073;
第十行:40,90,264,409,615,643,786,862,1088,1276;
第十一行:277,306,354,415,532,607,657,685,828,1130;
第十二行:64,319,348,396,457,493,574,727,870,1172;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<12;
12行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含120个置换单位矩阵;
当所述码长为1344,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:3,91,140,223,253,335,366,502,536,680,718,785,1089,1103,1253;
第二行:34,165,237,265,295,377,408,422,544,594,899,989,1106,1295,1307;
第三行:76,87,279,337,419,450,464,586,681,764,918,1004,1031,1066,1145;
第四行:207,220,271,321,379,568,628,662,806,960,1053,1099,1148,1187,1302;
第五行:238,262,313,363,391,503,534,548,720,765,822,848,953,1025,1173;
第六行:80,236,280,304,355,405,433,463,576,590,652,890,928,1044,1232;
第七行:36,159,171,241,278,322,346,397,447,475,505,632,754,849,1274;
第八行:78,101,202,247,320,364,388,439,517,547,674,830,846,974,1192;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<8;
8行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含120个置换单位矩阵;
当所所述码长为1344,所述码率为7/8,所述行重为28时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:55,85,167,198,212,274,334,368,384,429,486,512,550,617,666,689,752,779,874,885,940,973,1047,1064,1103,1149,1253,1265;
第二行:20,69,97,127,209,240,254,316,376,410,426,471,528,554,592,659,708,731,794,821,873,927,982,1015,1089,1145,1191,1307;
第三行:15,61,111,139,169,251,282,296,358,418,452,468,513,570,596,634,701,750,773,836,863,915,969,1131,1148,1187,1238,1260;
第四行:11,52,103,153,181,211,293,324,338,400,460,494,510,555,612,638,676,743,792,815,905,957,1011,1066,1099,1190,1233,1302;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<4;
4行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含112个置换单位矩阵;
当码长为2688,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:417,582,1113,1518,2328,2388,2544;
第二行:112,343,529,607,844,1405,1861;
第三行:61,176,302,393,455,641,2054;
第四行:259,414,505,753,918,1706,2166;
第五行:248,371,526,943,1030,1257,1680;
第六行:91,328,483,729,1292,1792,2390;
第七行:440,595,841,1561,1613,1904,2502;
第八行:265,434,552,707,1279,1547,2302;
第九行:22,273,377,546,1127,1659,2645;
第十行:134,283,489,808,931,1949,2077;
第十一行:256,497,770,888,920,1198,1351;
第十二行:278,368,1032,1155,1401,2173,2602;
12行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含84个置换单位矩阵;
当码长为2688,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:7,193,271,358,508,941,1069,1232,1830,2544;
第二行:57,119,305,383,470,875,1482,1630,1710,1861;
第三行:78,169,231,417,582,732,987,1456,1594,2427;
第四行:35,190,281,343,529,607,1099,1405,1520,2085;
第五行:24,147,302,393,641,806,1211,1680,2197,2278;
第六行:104,136,259,414,1145,1323,1449,1744,2309,2646;
第七行:98,216,248,371,526,943,1257,1904,2190,2502;
第八行:41,210,328,360,729,1055,1142,1673,2382,2614;
第九行:49,153,322,440,595,750,841,1404,1965,2080;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<9;
9行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含90个置换单位矩阵;
当所述码长为2688,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:62,293,374,514,679,865,943,1030,1180,1257,1435,1613,1904,2203,2388;
第二行:26,626,729,791,977,1055,1142,1292,1369,1547,1725,1853,1968,2016,2500;
第三行:138,598,750,841,903,1089,1167,1404,1659,1785,1837,1965,2080,2310,2552;
第四行:112,398,707,862,953,1015,1201,1279,1366,1516,1593,1897,1949,2306,2664;
第五行:61,176,224,362,510,590,696,819,974,1065,1127,1478,1628,1705,2197;
第六行:288,474,776,808,931,1086,1177,1239,1503,1740,1817,2121,2158,2390,2646;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<6;
6行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含90个置换单位矩阵;
当所述码长为2688,所述码率为7/8,所述行重为21时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:7,193,271,358,508,585,763,889,941,1069,1184,1232,1370,1518,1598,1749,1830,1970,2086,2203,2544;
第二行:57,119,305,383,470,620,697,875,1001,1053,1181,1296,1344,1482,1630,1861,1942,2198,2315,2440,2500;
第三行:78,169,231,417,495,582,732,809,987,1113,1165,1293,1408,1456,1594,1742,1822,2054,2194,2310,2612;
第四行:35,190,281,343,529,607,694,844,921,1099,1225,1277,1405,1520,1568,1706,1934,2085,2306,2422,2664;
4行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含84个置换单位矩阵;
当所述码长为5376,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:147,281,1109,1381,2089,4658,5232;
第二行:98,607,826,1108,1813,2024,4398;
第三行:1220,1333,1605,2406,3031,4661,4998;
第四行:248,526,1445,1906,2238,2248,4854;
第五行:880,968,1092,1162,1557,2149,3494;
第六行:322,718,827,992,1080,1274,4317;
第七行:434,1316,1668,3048,3214,3305,5109;
第八行:377,765,815,1216,2354,3417,3743;
第九行:1163,1610,1686,1892,2005,2466,3591;
第十行:658,1039,1166,1275,2117,2808,3967;
第十一行:1101,1151,2501,2682,2985,4079,4571;
第十二行:796,1019,1213,2341,2613,3083,3865;
第十三行:502,706,908,1325,1776,2802,4795;
第十四行:37,818,991,1020,1487,2933,5213;
第十五行:614,930,1300,1835,3682,4764,5325;
第十六行:357,558,946,1244,2394,2676,4953;
第十七行:751,886,1356,1773,1823,2059,2949;
第十八行:100,764,1468,2336,3321,4168,4537;
第十九行:213,876,975,1378,1580,2730,3433;
第二十行:688,835,988,1692,2159,2560,2772;
第二十一行:783,1199,1334,2760,3750,4081,4472;
第二十二行:912,1311,1504,1916,2884,3952,4193;
第二十三行:699,1024,1171,1999,2196,5097,5345;
第二十四行:184,771,3221,3474,3816,4315,4840;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<24;
24行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含168个置换单位矩阵;
当所述码长为5376,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:60,773,981,1045,1226,1234,1576,1846,2969,4437;
第二行:22,566,772,1093,2048,2289,3329,3984,4318,5344;
第三行:315,408,532,678,1977,2070,2505,2792,3494,4742;
第四行:432,520,714,790,996,1570,2936,3214,3305,3367;
第五行:826,1221,1429,1493,1674,2024,2201,3016,4654,5222;
第六行:382,491,744,868,938,1786,2313,4137,4189,4997;
第七行:119,367,603,1126,1445,1470,2238,2747,3395,4301;
第八行:479,715,968,1444,1557,1765,2350,3234,3830,4413;
第九行:347,1080,1204,1877,1941,2130,2472,2832,4653,4816;
第十行:459,653,703,830,939,1462,3662,3703,4585,4765;
第十一行:302,571,942,1216,1428,1918,3056,3195,3815,5040;
第十二行:431,628,877,1054,1163,1328,1686,2458,3307,5290;
第十三行:210,370,543,572,740,1039,1166,2389,2570,4973;
第十四行:153,386,655,907,1101,2682,2821,3998,4907,5085;
第十五行:498,796,1213,1263,1664,2613,3531,3625,4110,4527;
第十六行:438,879,908,1076,1864,2453,2661,3045,4222,5257;
第十七行:550,608,818,1020,1188,1243,2773,2837,3368,3526;
第十八行:8,527,662,720,834,930,1103,3130,3616,3745;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<18;
18行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含180个置换单位矩阵;
当所述码长为5376,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:0,181,342,661,686,869,933,1963,2919,3105,3183,3270,4398,4518,5076;
第二行:64,308,378,660,773,1365,2177,2450,2568,2723,2878,3532,4144,4770,5344;
第三行:296,490,566,772,885,1477,1678,1688,2562,2680,3721,4077,4256,4661,5240;
第四行:320,532,602,884,997,1022,1450,1458,1589,1790,1800,3193,4011,4205,4854;
第五行:267,432,644,714,790,1134,1317,1381,1562,1902,2089,3367,3868,4506,4966;
第六行:379,544,632,826,902,1246,1674,1682,2014,2294,2729,2898,3016,3048,4846;
第七行:382,491,656,744,868,1014,2126,2136,2313,2406,2496,3438,3942,4361,4730;
第八行:60,157,317,367,494,768,856,1050,1126,1906,2608,3641,3889,4054,4990;
第九行:235,429,479,606,715,1162,1238,1444,1557,1582,1765,3352,3507,3662,5102;
第十行:292,347,541,827,1080,1204,1274,2742,2832,3464,3774,3927,4316,5214,5294;
第十一行:236,459,703,939,1806,2053,2234,2242,3083,3185,3576,3608,3886,4428,4697;
第十二行:319,348,516,571,765,815,1893,1918,2354,2686,2966,3297,3720,4089,4225;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<12;
12行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含180个置换单位矩阵;
当所述码长为5376,所述码率为7/8,所述行重为28时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:70,154,230,436,549,574,757,821,1002,1010,1141,1342,1352,1953,2226,2499,2745,2807,2993,3071,3308,3563,3869,4398,4549,4770,4891,5232;
第二行:196,266,342,548,661,686,869,1122,1253,1464,1824,1963,2065,2338,2456,2611,2766,2857,3105,3183,3675,3801,3981,4096,4430,4510,4661,5003;
第三行:184,308,378,454,660,773,798,981,1226,1753,1846,1936,2075,2450,2568,2878,2969,3217,3295,3382,3532,3609,3787,4093,4208,4542,4773,4882;
第四行:208,296,420,490,566,772,885,910,1093,1157,1346,1477,1678,1688,1865,2187,2680,2990,3081,3494,4077,4320,4368,4654,4734,4994,5110,5352;
第五行:30,155,320,408,532,602,678,884,1022,1269,1450,1458,1589,2160,2299,2792,3193,3255,3441,3756,3833,4011,4189,4317,4618,4885,4966,5106;
第六行:62,158,267,432,520,644,714,790,996,1109,1317,1381,1570,1701,2089,2272,2411,2513,2617,3367,3631,3868,3945,4249,4301,5078,5218,5334;
其中,第(i+1)行)对应第(i+1)个行生成器的生成序列,0≤i<6;
6行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含168个置换单位矩阵。
2.一种用于数据传输的装置,其特征在于,该装置包括:存储模块、校验矩阵生成模块和码字生成模块;
所述存储模块,用于保存行生成器对应的生成序列,并向所述校验矩阵生成模块提供所述生成序列;
所述校验矩阵生成模块,用于根据所述存储模块提供的所述生成序列,生成奇偶校验矩阵,并将所述奇偶校验矩阵发送给所述码字生成模块;
所述码字生成模块,用于接收来自于所述校验矩阵生成模块的所述奇偶校验矩阵,并利用由所述奇偶校验矩阵得到的生成矩阵对输入数据进行编码;
其中,所述校验矩阵生成模块进一步包括:生成序列分析单元和循环移位单元;
所述存储模块,进一步用于向所述生成序列分析单元提供所述生成序列;
所述生成序列分析单元,用于根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素;根据所述每个子矩阵的第一行元素,得到每个子矩阵中其他行的元素,将所得到的已确定第一行元素的每一行子矩阵发送给所述循环移位单元;
所述循环移位单元,用于根据所述每一个子矩阵的第一行元素、采用循环移位的方式得到所述每一个子矩阵,所述每一个子矩阵构成所述奇偶校验矩阵,将所述奇偶校验矩阵发送给所述码字生成模块;
所述校验矩阵生成模块进一步包括:生成序列分析单元和直接寻址单元;
所述存储模块,进一步用于向所述生成序列分析单元提供所述生成序列;
所述生成序列分析单元,用于根据预先设定的码长和码率及子矩阵的维数,确定要构造的所述奇偶校验矩阵的行数和列数,并且将所述奇偶校验矩阵划分为以子矩阵为单位的阵列:根据所述行生成器对应的生成序列以及行重确定每个子矩阵中的第一行元素;根据所述每个子矩阵的第一行元素,得到每个子矩阵中其他行的元素,将所得到的已确定第一行元素的每一行子矩阵发送给所述直接寻址单元;
所述直接寻址单元,用于根据所述每一个子矩阵的第一行元素、采用直接寻址的方式得到所述每一个子矩阵,所述每一个子矩阵构成所述奇偶校验矩阵,将所述奇偶校验矩阵发送给所述码字生成模块;
所述直接寻址单元采用的所述直接寻址方式具体为:
取第i+1个生成序列的第j个元素生成第i+1行、第n+1列子矩阵Ai,n;
其中,所述子矩阵Ai,n=[al,m],0≤l<t;0≤m<t的第一行[a0,0,a0,1,…,a0,t-1]=[a0,a1,…,at-1]中,只有第个位置为1,其余t-1个位置皆为0;
根据第一行[a0,a1,…,at-1]产生整个矩阵Ai,n,计算方法如下:al,m=amod(m-l,t),0≤l<t;0≤m<t;
生成序列中每个非零元素都对应一个非零矩阵,其余的子矩阵,都是维数为t×t的零矩阵;
其中,所述生成序列
ρ表示行生成器的个数;
i表示行生成序列的标号;
j表示行生成序列中元素的序号;
li表示第i个行生成序列中元素的个数;
t表示维数;
当所述码长为1344,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:156,326,342,444,575,898,1005;
第二行:55,85,167,486,617,1047,1307;
第三行:410,821,873,927,982,1106,1191;
第四行:10,61,139,251,468,773,915;
第五行:52,103,324,400,612,743,792;
第六行:26,70,145,195,502,718,1108;
第七行:31,68,112,187,544,578,1313;
第八行:73,110,229,307,337,681,1192;
第九行:18,196,271,379,806,1168,1267;
第十行:60,121,262,391,421,548,1088;
第十一行:25,163,355,433,652,712,1067;
第十二行:96,144,505,618,632,1172,1251;
第十三行:5,109,138,186,320,517,846;
第十四行:35,47,151,228,671,716,1256;
第十五行:0,89,270,367,713,1032,1298;
第十六行:20,42,119,131,235,264,956;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<16;
16行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含112个置换单位矩阵;
当所述码长为1344,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:265,295,377,408,422,544,578,696,722,1176;
第二行:122,201,244,279,307,337,450,464,885,1295;
第三行:164,243,321,349,379,461,492,916,927,1015;
第四行:120,262,363,391,421,503,548,720,765,958;
第五行:8,185,280,304,355,576,712,762,1190,1229;
第六行:24,50,204,278,322,447,618,804,1042,1108;
第七行:66,283,320,364,388,439,660,899,1257,1313;
第八行:134,289,325,406,430,531,838,1004,1137,1316;
第九行:150,214,367,404,448,523,601,880,983,1073;
第十行:40,90,264,409,615,643,786,862,1088,1276;
第十一行:277,306,354,415,532,607,657,685,828,1130;
第十二行:64,319,348,396,457,493,574,727,870,1172;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<12;
12行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含120个置换单位矩阵;
当所述码长为1344,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:3,91,140,223,253,335,366,502,536,680,718,785,1089,1103,1253;
第二行:34,165,237,265,295,377,408,422,544,594,899,989,1106,1295,1307;
第三行:76,87,279,337,419,450,464,586,681,764,918,1004,1031,1066,1145;
第四行:207,220,271,321,379,568,628,662,806,960,1053,1099,1148,1187,1302;
第五行:238,262,313,363,391,503,534,548,720,765,822,848,953,1025,1173;
第六行:80,236,280,304,355,405,433,463,576,590,652,890,928,1044,1232;
第七行:36,159,171,241,278,322,346,397,447,475,505,632,754,849,1274;
第八行:78,101,202,247,320,364,388,439,517,547,674,830,846,974,1192;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<8;
8行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含120个置换单位矩阵;
当所所述码长为1344,所述码率为7/8,所述行重为28时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:55,85,167,198,212,274,334,368,384,429,486,512,550,617,666,689,752,779,874,885,940,973,1047,1064,1103,1149,1253,1265;
第二行:20,69,97,127,209,240,254,316,376,410,426,471,528,554,592,659,708,731,794,821,873,927,982,1015,1089,1145,1191,1307;
第三行:15,61,111,139,169,251,282,296,358,418,452,468,513,570,596,634,701,750,773,836,863,915,969,1131,1148,1187,1238,1260;
第四行:11,52,103,153,181,211,293,324,338,400,460,494,510,555,612,638,676,743,792,815,905,957,1011,1066,1099,1190,1233,1302;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<4;
4行子矩阵,每行子矩阵中子矩阵的个数为32;
所述子矩阵为42行×42列的方阵;
所述奇偶校验矩阵中包含112个置换单位矩阵;
当所述码长为2688,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:417,582,1113,1518,2328,2388,2544;
第二行:112,343,529,607,844,1405,1861;
第三行:61,176,302,393,455,641,2054;
第四行:259,414,505,753,918,1706,2166;
第五行:248,371,526,943,1030,1257,1680;
第六行:91,328,483,729,1292,1792,2390;
第七行:440,595,841,1561,1613,1904,2502;
第八行:265,434,552,707,1279,1547,2302;
第九行:22,273,377,546,1127,1659,2645;
第十行:134,283,489,808,931,1949,2077;
第十一行:256,497,770,888,920,1198,1351;
第十二行:278,368,1032,1155,1401,2173,2602;
12行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含84个置换单位矩阵;
当所述码长为2688,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:7,193,271,358,508,941,1069,1232,1830,2544;
第二行:57,119,305,383,470,875,1482,1630,1710,1861;
第三行:78,169,231,417,582,732,987,1456,1594,2427;
第四行:35,190,281,343,529,607,1099,1405,1520,2085;
第五行:24,147,302,393,641,806,1211,1680,2197,2278;
第六行:104,136,259,414,1145,1323,1449,1744,2309,2646;
第七行:98,216,248,371,526,943,1257,1904,2190,2502;
第八行:41,210,328,360,729,1055,1142,1673,2382,2614;
第九行:49,153,322,440,595,750,841,1404,1965,2080;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<9;
9行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含90个置换单位矩阵;
当所述码长为2688,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:62,293,374,514,679,865,943,1030,1180,1257,1435,1613,1904,2203,2388;
第二行:26,626,729,791,977,1055,1142,1292,1369,1547,1725,1853,1968,2016,2500;
第三行:138,598,750,841,903,1089,1167,1404,1659,1785,1837,1965,2080,2310,2552;
第四行:112,398,707,862,953,1015,1201,1279,1366,1516,1593,1897,1949,2306,2664;
第五行:61,176,224,362,510,590,696,819,974,1065,1127,1478,1628,1705,2197;
第六行:288,474,776,808,931,1086,1177,1239,1503,1740,1817,2121,2158,2390,2646;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<6;
6行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含90个置换单位矩阵;
当所述码长为2688,所述码率为7/8,所述行重为21时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:7,193,271,358,508,585,763,889,941,1069,1184,1232,1370,1518,1598,1749,1830,1970,2086,2203,2544;
第二行:57,119,305,383,470,620,697,875,1001,1053,1181,1296,1344,1482,1630,1861,1942,2198,2315,2440,2500;
第三行:78,169,231,417,495,582,732,809,987,1113,1165,1293,1408,1456,1594,1742,1822,2054,2194,2310,2612;
第四行:35,190,281,343,529,607,694,844,921,1099,1225,1277,1405,1520,1568,1706,1934,2085,2306,2422,2664;
4行子矩阵,每行子矩阵中子矩阵的个数为24;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含84个置换单位矩阵
当所述码长为5376,所述码率为1/2,所述行重为7时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:147,281,1109,1381,2089,4658,5232;
第二行:98,607,826,1108,1813,2024,4398;
第三行:1220,1333,1605,2406,3031,4661,4998;
第四行:248,526,1445,1906,2238,2248,4854;
第五行:880,968,1092,1162,1557,2149,3494;
第六行:322,718,827,992,1080,1274,4317;
第七行:434,1316,1668,3048,3214,3305,5109;
第八行:377,765,815,1216,2354,3417,3743;
第九行:1163,1610,1686,1892,2005,2466,3591;
第十行:658,1039,1166,1275,2117,2808,3967;
第十一行:1101,1151,2501,2682,2985,4079,4571;
第十二行:796,1019,1213,2341,2613,3083,3865;
第十三行:502,706,908,1325,1776,2802,4795;
第十四行:37,818,991,1020,1487,2933,5213;
第十五行:614,930,1300,1835,3682,4764,5325;
第十六行:357,558,946,1244,2394,2676,4953;
第十七行:751,886,1356,1773,1823,2059,2949;
第十八行:100,764,1468,2336,3321,4168,4537;
第十九行:213,876,975,1378,1580,2730,3433;
第二十行:688,835,988,1692,2159,2560,2772;
第二十一行:783,1199,1334,2760,3750,4081,4472;
第二十二行:912,1311,1504,1916,2884,3952,4193;
第二十三行:699,1024,1171,1999,2196,5097,5345;
第二十四行:184,771,3221,3474,3816,4315,4840;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<24;
24行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含168个置换单位矩阵;
当所述码长为5376,所述码率为5/8,所述行重为10时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:60,773,981,1045,1226,1234,1576,1846,2969,4437;
第二行:22,566,772,1093,2048,2289,3329,3984,4318,5344;
第三行:315,408,532,678,1977,2070,2505,2792,3494,4742;
第四行:432,520,714,790,996,1570,2936,3214,3305,3367;
第五行:826,1221,1429,1493,1674,2024,2201,3016,4654,5222;
第六行:382,491,744,868,938,1786,2313,4137,4189,4997;
第七行:119,367,603,1126,1445,1470,2238,2747,3395,4301;
第八行:479,715,968,1444,1557,1765,2350,3234,3830,4413;
第九行:347,1080,1204,1877,1941,2130,2472,2832,4653,4816;
第十行:459,653,703,830,939,1462,3662,3703,4585,4765;
第十一行:302,571,942,1216,1428,1918,3056,3195,3815,5040;
第十二行:431,628,877,1054,1163,1328,1686,2458,3307,5290;
第十三行:210,370,543,572,740,1039,1166,2389,2570,4973;
第十四行:153,386,655,907,1101,2682,2821,3998,4907,5085;
第十五行:498,796,1213,1263,1664,2613,3531,3625,4110,4527;
第十六行:438,879,908,1076,1864,2453,2661,3045,4222,5257;
第十七行:550,608,818,1020,1188,1243,2773,2837,3368,3526;
第十八行:8,527,662,720,834,930,1103,3130,3616,3745;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<18;
18行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含180个置换单位矩阵;
当所述码长为5376,所述码率为3/4,所述行重为15时,所述行生成器由生成序列表示,所述生成序列如下所示:
第一行:0,181,342,661,686,869,933,1963,2919,3105,3183,3270,4398,4518,5076;
第二行:64,308,378,660,773,1365,2177,2450,2568,2723,2878,3532,4144,4770,5344;
第三行:296,490,566,772,885,1477,1678,1688,2562,2680,3721,4077,4256,4661,5240;
第四行:320,532,602,884,997,1022,1450,1458,1589,1790,1800,3193,4011,4205,4854;
第五行:267,432,644,714,790,1134,1317,1381,1562,1902,2089,3367,3868,4506,4966;
第六行:379,544,632,826,902,1246,1674,1682,2014,2294,2729,2898,3016,3048,4846;
第七行:382,491,656,744,868,1014,2126,2136,2313,2406,2496,3438,3942,4361,4730;
第八行:60,157,317,367,494,768,856,1050,1126,1906,2608,3641,3889,4054,4990;
第九行:235,429,479,606,715,1162,1238,1444,1557,1582,1765,3352,3507,3662,5102;
第十行:292,347,541,827,1080,1204,1274,2742,2832,3464,3774,3927,4316,5214,5294;
第十一行:236,459,703,939,1806,2053,2234,2242,3083,3185,3576,3608,3886,4428,4697;
第十二行:319,348,516,571,765,815,1893,1918,2354,2686,2966,3297,3720,4089,4225;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<12;
12行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含180个置换单位矩阵;
当所述码长为5376,所述码率为7/8,所述行重为28时,所述行生成器由生成序列表示,所述存储模块保存的所述生成序列如下所示:
第一行:70,154,230,436,549,574,757,821,1002,1010,1141,1342,1352,1953,2226,2499,2745,2807,2993,3071,3308,3563,3869,4398,4549,4770,4891,5232;
第二行:196,266,342,548,661,686,869,1122,1253,1464,1824,1963,2065,2338,2456,2611,2766,2857,3105,3183,3675,3801,3981,4096,4430,4510,4661,5003;
第三行:184,308,378,454,660,773,798,981,1226,1753,1846,1936,2075,2450,2568,2878,2969,3217,3295,3382,3532,3609,3787,4093,4208,4542,4773,4882;
第四行:208,296,420,490,566,772,885,910,1093,1157,1346,1477,1678,1688,1865,2187,2680,2990,3081,3494,4077,4320,4368,4654,4734,4994,5110,5352;
第五行:30,155,320,408,532,602,678,884,1022,1269,1450,1458,1589,2160,2299,2792,3193,3255,3441,3756,3833,4011,4189,4317,4618,4885,4966,5106;
第六行:62,158,267,432,520,644,714,790,996,1109,1317,1381,1570,1701,2089,2272,2411,2513,2617,3367,3631,3868,3945,4249,4301,5078,5218,5334;
其中,第(i+1)行对应第(i+1)个行生成器的生成序列,0≤i<6;
6行子矩阵,每行子矩阵中子矩阵的个数为48;
所述子矩阵为112行×112列的方阵;
所述奇偶校验矩阵中包含168个置换单位矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280012767.5A CN104106230B (zh) | 2011-07-06 | 2012-03-16 | 一种用于数据传输的方法及装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101892002 | 2011-07-06 | ||
CN201110189200 | 2011-07-06 | ||
CN201110189200.2 | 2011-07-06 | ||
CN201280012767.5A CN104106230B (zh) | 2011-07-06 | 2012-03-16 | 一种用于数据传输的方法及装置 |
PCT/CN2012/072413 WO2013004090A1 (zh) | 2011-07-06 | 2012-03-16 | 一种用于数据传输的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104106230A CN104106230A (zh) | 2014-10-15 |
CN104106230B true CN104106230B (zh) | 2017-06-16 |
Family
ID=46994209
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102606614A Pending CN102868483A (zh) | 2011-07-06 | 2011-09-05 | 一种用于数据传输的方法及装置 |
CN2012100331749A Pending CN102739350A (zh) | 2011-07-06 | 2012-02-14 | 一种用于数据传输的方法及装置 |
CN201280012767.5A Active CN104106230B (zh) | 2011-07-06 | 2012-03-16 | 一种用于数据传输的方法及装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102606614A Pending CN102868483A (zh) | 2011-07-06 | 2011-09-05 | 一种用于数据传输的方法及装置 |
CN2012100331749A Pending CN102739350A (zh) | 2011-07-06 | 2012-02-14 | 一种用于数据传输的方法及装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9411676B2 (zh) |
EP (1) | EP2755340B1 (zh) |
JP (1) | JP6089031B2 (zh) |
KR (1) | KR101862812B1 (zh) |
CN (3) | CN102868483A (zh) |
DK (1) | DK2755340T3 (zh) |
WO (1) | WO2013004078A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017078562A1 (en) * | 2015-11-02 | 2017-05-11 | Huawei Technologies Co., Ltd. | Method and device for encoding/decoding data by using m-th order gel codes |
US10374633B2 (en) * | 2016-07-08 | 2019-08-06 | Maxlinear, Inc. | Method and system for LDPC decoding |
RU2733826C1 (ru) | 2017-03-03 | 2020-10-07 | Хуавей Текнолоджиз Ко., Лтд. | Высокоскоростные длинные ldpc коды |
WO2018218466A1 (zh) | 2017-05-28 | 2018-12-06 | 华为技术有限公司 | 信息处理的方法和通信装置 |
WO2018218692A1 (zh) * | 2017-06-03 | 2018-12-06 | 华为技术有限公司 | 信息处理的方法和通信装置 |
CN113273085A (zh) * | 2019-01-14 | 2021-08-17 | 上海诺基亚贝尔股份有限公司 | 信道解码中的数据处理 |
GB201902769D0 (en) | 2019-03-01 | 2019-04-17 | Univ Court Of The Univ Of Aberdeen | Antibody molcules and uses thereof |
CN113377858A (zh) * | 2021-04-13 | 2021-09-10 | 北京思特奇信息技术股份有限公司 | 一种基于uc矩阵的过程数据分析方法、系统和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625057A (zh) * | 2003-12-04 | 2005-06-08 | 北京泰美世纪科技有限公司 | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 |
WO2006080735A1 (en) * | 2004-10-13 | 2006-08-03 | Samsung Electronics Co., Ltd. | Apparatus and method for constructing low-density parity check matrix |
CN1960188A (zh) * | 2006-04-29 | 2007-05-09 | 北京泰美世纪科技有限公司 | 构造低密度奇偶校验码的方法、译码方法及其传输系统 |
CN101047391A (zh) * | 2006-04-27 | 2007-10-03 | 华为技术有限公司 | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 |
CN101335596A (zh) * | 2006-06-14 | 2008-12-31 | 北京新岸线移动多媒体技术有限公司 | 一类低密度奇偶校验码的实现装置 |
WO2009104319A1 (ja) * | 2008-02-22 | 2009-08-27 | ソニー株式会社 | 符号化装置、及び符号化方法 |
EP2178213A1 (en) * | 2008-10-16 | 2010-04-21 | Thomson Licensing | Methods and apparatuses for error correction coding |
CN102025441A (zh) * | 2009-09-11 | 2011-04-20 | 北京泰美世纪科技有限公司 | Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895547B2 (en) * | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
KR20050044963A (ko) * | 2003-11-08 | 2005-05-16 | 삼성전자주식회사 | q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법 |
JP2010199811A (ja) * | 2009-02-24 | 2010-09-09 | Fanuc Ltd | 制御装置のメモリシステム |
-
2011
- 2011-09-05 CN CN2011102606614A patent/CN102868483A/zh active Pending
-
2012
- 2012-01-16 WO PCT/CN2012/070392 patent/WO2013004078A1/zh active Application Filing
- 2012-02-14 CN CN2012100331749A patent/CN102739350A/zh active Pending
- 2012-03-16 JP JP2014517401A patent/JP6089031B2/ja active Active
- 2012-03-16 US US14/130,965 patent/US9411676B2/en active Active
- 2012-03-16 KR KR1020147002998A patent/KR101862812B1/ko active IP Right Grant
- 2012-03-16 DK DK12808016.5T patent/DK2755340T3/da active
- 2012-03-16 EP EP12808016.5A patent/EP2755340B1/en active Active
- 2012-03-16 CN CN201280012767.5A patent/CN104106230B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625057A (zh) * | 2003-12-04 | 2005-06-08 | 北京泰美世纪科技有限公司 | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 |
WO2006080735A1 (en) * | 2004-10-13 | 2006-08-03 | Samsung Electronics Co., Ltd. | Apparatus and method for constructing low-density parity check matrix |
CN101047391A (zh) * | 2006-04-27 | 2007-10-03 | 华为技术有限公司 | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 |
CN1960188A (zh) * | 2006-04-29 | 2007-05-09 | 北京泰美世纪科技有限公司 | 构造低密度奇偶校验码的方法、译码方法及其传输系统 |
CN101335596A (zh) * | 2006-06-14 | 2008-12-31 | 北京新岸线移动多媒体技术有限公司 | 一类低密度奇偶校验码的实现装置 |
WO2009104319A1 (ja) * | 2008-02-22 | 2009-08-27 | ソニー株式会社 | 符号化装置、及び符号化方法 |
EP2178213A1 (en) * | 2008-10-16 | 2010-04-21 | Thomson Licensing | Methods and apparatuses for error correction coding |
CN102025441A (zh) * | 2009-09-11 | 2011-04-20 | 北京泰美世纪科技有限公司 | Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置 |
Also Published As
Publication number | Publication date |
---|---|
US20140258806A1 (en) | 2014-09-11 |
EP2755340B1 (en) | 2019-05-08 |
KR20140050035A (ko) | 2014-04-28 |
CN104106230A (zh) | 2014-10-15 |
JP6089031B2 (ja) | 2017-03-01 |
CN102739350A (zh) | 2012-10-17 |
CN102868483A (zh) | 2013-01-09 |
DK2755340T3 (da) | 2019-07-15 |
KR101862812B1 (ko) | 2018-05-30 |
JP2014523168A (ja) | 2014-09-08 |
EP2755340A4 (en) | 2015-05-13 |
US9411676B2 (en) | 2016-08-09 |
EP2755340A1 (en) | 2014-07-16 |
WO2013004078A1 (zh) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104106230B (zh) | 一种用于数据传输的方法及装置 | |
JP5551209B2 (ja) | 可変サイズのパケットのldpc符号化及び復号化 | |
US8782499B2 (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
JP6609684B2 (ja) | 通信方法 | |
JP2014523168A5 (zh) | ||
KR102482110B1 (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR101128804B1 (ko) | 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법 | |
KR20140145977A (ko) | 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법 | |
KR102198773B1 (ko) | 송신 장치 및 그의 펑처링 방법 | |
CN111049532B (zh) | 通信方法及通信装置 | |
KR20180071921A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
KR20070107975A (ko) | 패리티 검사 행렬을 이용한 부호화 방법 | |
WO2013004090A1 (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 | ||
GR01 | Patent grant |