[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110289863B - 译码设备、方法及信号传输系统 - Google Patents

译码设备、方法及信号传输系统 Download PDF

Info

Publication number
CN110289863B
CN110289863B CN201910422614.1A CN201910422614A CN110289863B CN 110289863 B CN110289863 B CN 110289863B CN 201910422614 A CN201910422614 A CN 201910422614A CN 110289863 B CN110289863 B CN 110289863B
Authority
CN
China
Prior art keywords
codeword
update
updated
check matrix
symbol
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
Application number
CN201910422614.1A
Other languages
English (en)
Other versions
CN110289863A (zh
Inventor
曾雁星
沈建强
毛瑜锋
福索里耶·马克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110289863A publication Critical patent/CN110289863A/zh
Application granted granted Critical
Publication of CN110289863B publication Critical patent/CN110289863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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
    • 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
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • 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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/1157Low-density generator matrices [LDGM]
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6591Truncation, saturation and clamping
    • 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/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例公开了一种译码设备,该译码设备通过对LDPC码的码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,有选择的放弃了更新后码元超出码元的量化范围的情况下的更新,避免了译码设备对于超出码元的量化范围的更新后的码字的直接量化,提升了译码设备的译码过程中的纠错能力。

Description

译码设备、方法及信号传输系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种运用于LDPC码的译码设备、译码方法,以及运用了LDPC码的信号传输系统和数据存储系统。
背景技术
低密度奇偶校验(英文全称:Low Density Parity Check,英文简称:LDPC)码最早是由Gallager在1963年提出的,是一种线性分组码,由信息位和校验位组成。假设LDPC码的码长为n,信息位大小(长度)为k,则校验位大小为n-k,比值R=k/n称为码率。LDPC码编码设备根据生成矩阵(又称为G矩阵)对待传输的信号进行处理后生成一个码字,一般而言该码字的一部分码元由待传输的信号构成,也称之为信息位,一部分码元由用于校验的校验位构成。LDPC码编码设备随后将该码字通过通信通路发送至LDPC码译码设备。LDPC码译码设备接下来对该码字进行译码,也即验证该码字是否通过校验判决,而如果该码字未通过判决,说明该码字在通信通路传输过程中受到噪声的干扰出现了误差,则LDPC码译码设备需要通过校验矩阵H对其进行迭代更新,直至更新后的码字能够通过判决。
在存储控制器中通常用逻辑/芯片等实现LDPC码译码设备,因此在具体实现过程中会对译码设备内部处理的数据进行量化计算并存储,而该量化过程会导致LDPC码译码设备的纠错能力的下降。
发明内容
本申请提供了一种译码设备,该译码设备能够针对码元更新过程中超出码元的量化范围的情况进行处理,提升译码设备对LDPC码的纠错能力。
一方面,本申请的实施例提供一种译码设备,用于对LDPC码进行译码,包括:获取单元,用于获取经过LDPC码编码设备根据生成矩阵生成的第一码字,例如-9、+7、-12、+4、+7、+10、-11,该第一码字包括M个第一码元,M为正整数,前例中M为7;处理单元,用于获取校验矩阵的第n行所对应的P个第一码元,例如n取1时,校验矩阵的第1行中有3个元素为1,则P为3,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和;判决单元,用于获取该第二码字,判决该第二码字是否通过译码。译码设备在获取了待译码的第一码字后,需要对该第一码字进行校验矩阵的第n行对应的处理,处理过程中可能会对第一码字中的码元进行更新,如果更新后的码元超出了码元的量化范围,则需要放弃本次更新,本方面中即如果某一码元对应的更新超出了码元的量化范围,则放弃该码元对应的更新。
可选的,本方面中判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,也可以按照校验矩阵第n行所对应的P个第一码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,本方面中译码设备通过电路实现,译码设备包括的获取单元、处理单元和判决单元也通过电路实现。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的第n行所对应的P个第二码元,与第一码字中与校验矩阵的第n行无关的其它第一码元,生成所述第二码字。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的每一行所对应的P个第二码元,生成所述第二码字。
在一个可能的设计中,上述提到的处理单元包括存储模块;该存储模块,用于存储该P个第一码元;还用于存储该P个第二更新值;该处理单元判断该P个第二更新值中的第a个超出该码元的量化范围时,读取该存储模块存储的该第a个第一码元;该处理单元判断该P个第二更新值中的第b个不超出该码元的量化范围时,读取该存储模块存储的该第b个第二更新值来更新该第b个第一码元。如果发生前述的更新后码元超出了码元的量化范围的情况,则需要读取更新前的码元以实现放弃本次更新,因此采用了存储模块存储P个第二更新值与P个第一码元,以实现无论更新后的码元是否超出码元的量化范围,都能从存储模块中获取所需的值,保证了译码设备在译码的过程中能够灵活应对第二更新值超出或未超出码元的量化范围的情况。
另一方面,本申请的实施例提供一种译码设备,用于对LDPC码进行译码,包括:获取单元,用于获取经过LDPC码编码设备根据生成矩阵生成的第一码字,例如-9、+7、-12、+4、+7、+10、-11,该第一码字包括M个第一码元,M为正整数,前例中M为7;处理单元,用于获取校验矩阵的第n行所对应的P个第一码元,例如校验矩阵的第1行中有3个元素为1,则P为3,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和,该P个第二码元中包含该P个第一码元中的至少一个;判决单元,用于获取该第二码字,判决该第二码字是否通过译码。译码设备在获取了待译码的第一码字后,需要对该码字进行校验矩阵的第n行对应的处理,处理过程中可能会对第一码字中的码元进行更新,本方面中即如果某一码元对应的更新超出了码元的量化范围,则放弃校验矩阵本行对应的全部P个第二更新值对P个第一码元对应的更新。
可选的,本方面中判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,也可以按照校验矩阵第n行所对应的P个第一码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,本方面中译码设备通过电路实现,译码设备包括的获取单元、处理单元和判决单元也通过电路实现。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的第n行所对应的P个第二码元,与第一码字中与校验矩阵的第n行无关的其它第一码元,生成所述第二码字。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的每一行所对应的P个第二码元,生成所述第二码字。
在一个可能的设计中,上述提到的处理单元包括存储模块;该存储模块,用于存储该P个第一码元;还用于存储该P个第二更新值;该处理单元判断该P个第二更新值中的第a个超出该码元的量化范围时,读取该存储模块存储的该P个第一码元;该处理单元判断该P个第二更新值中的每个第二更新值均未超出该码元的量化范围时,读取该存储模块存储的该P个第二更新值来更新该P个第一码元。如果发生前述的更新后的码元超出了码元的量化范围的情况,则需要读取更新前的全部P个第一码元以实现放弃本次更新,因此采用了存储模块存储P个第二更新值与P个第一码元,以实现无论更新后的码元是否超出码元的量化范围,都能从存储模块中获取所需的值,保证了译码设备在译码的过程中能够灵活应对第二更新值超出或未超出码元的量化范围的情况。
另一方面,本申请实施例提供了一种译码方法,用于对LDPC码进行译码,包括:获取经过LDPC码编码设备根据生成矩阵生成的第一码字,例如-9、+7、-12、+4、+7、+10、-11,该第一码字包括M个第一码元,M为正整数,前例中M为3;获取校验矩阵的第n行所对应的P个第一码元,例如校验矩阵的第1行中有3个元素为1,则P为3,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和;判决该第二码字是否通过译码。译码过程中,在获取了待译码的第一码字后,需要对该码字进行校验矩阵的第n行对应的处理,处理过程中可能会对第一码字中的码元进行更新,如果更新后的码元超出了码元的量化范围,则需要放弃本次更新,本方面中即如果某一码元对应的更新超出了码元的量化范围,则放弃该码元对应的更新。
可选的,本方面中判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,也可以按照校验矩阵第n行所对应的P个第一码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的第n行所对应的P个第二码元,与第一码字中与校验矩阵的第n行无关的其它第一码元,生成所述第二码字。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的每一行所对应的P个第二码元,生成所述第二码字。
另一方面,本申请实施例提供了一种译码方法,用于对LDPC码进行译码,包括:获取经过LDPC码编码设备根据生成矩阵生成的第一码字,例如-9、+7、-12、+4、+7、+10、-11,该第一码字包括M个第一码元,M为正整数,前例中M为7;获取校验矩阵的第n行所对应的P个第一码元,例如校验矩阵的第1行中有3个元素为1,则P为3,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和;判决该第二码字是否通过译码。译码过程中,在获取了待译码的第一码字后,需要对该码字进行校验矩阵的第n行对应的处理,处理过程中可能会对第一码字中的码元进行更新,本方面中即如果某一码元对应的更新超出了码元的量化范围,则放弃校验矩阵本行对应的全部P个第二更新值对P个第一码元对应的更新。
可选的,本方面中判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,也可以按照校验矩阵第n行所对应的P个第一码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的第n行所对应的P个第二码元,与第一码字中与校验矩阵的第n行无关的其它第一码元,生成所述第二码字。
可选的,本方面中根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,包括:根据该校验矩阵的每一行所对应的P个第二码元,生成所述第二码字。
另一方面,本申请实施例提供了一种信号传输系统,包括LDPC码编码设备和前述任一方面中提及的译码设备;LDPC码编码设备用于根据生成矩阵生成第一码字,并将该第一码字通过通信通路传输至译码设备。信号传输系统的使用过程中,由于顾忌到待传输的信号在通信通路中传输会受到噪声的影响,因此采用了LDPC码编码设备将待传输的信号编码为LDPC码,再在译码设备一侧对LDPC码进行译码,以保证译码设备译码出来的结果中包括了原始的待传输的信号。本信号传输系统中,通过对前述任一方面中提及的译码设备的使用,提升了译码设备对LDPC码的译码的准确度,也即提升了信号传输系统传输信号的可靠性。
另一方面,本申请实施例提供了一种数据存储系统,包括LDPC码编码设备,和前述任一方面中提及的译码设备和存储介质;LDPC码编码设备用于根据生成矩阵生成第一码字,并将该第一码字存入存储介质,译码设备用于从存储介质获取所述第一码字。数据存储系统的使用过程中,由于顾忌到待存储的信号在存储介质中存储过久或受到其他因素的影响会造成信号的变化,因此采用了LDPC码编码设备将待存储的信号编码为LDPC码再存入存储介质,再在译码设备一侧读出LDPC码并对LDPC码进行译码,以保证译码设备译码出来的结果中包括了原始的待存储的信号。本数据存储系统中,通过对前述任一方面中提及的译码设备的使用,提升了译码设备对LDPC码的译码的准确度,也即提升了数据存储系统存储信号的可靠性。
相较于现有技术,本申请提供的方案在码字的更新过程中,译码设备在码元更新后的值超出码元的量化范围的情况下进行处理,避免译码设备对于超出码元的量化范围的更新后的码元的直接量化,提升了译码设备的译码过程中的纠错能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作以简单地介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所应用的LDPC码的编译码架构图;
图2为本发明实施例所应用的又一LDPC码的编译码架构图;
图3为本发明设备实施例一所应用的译码设备的组成结构示意图;
图4为本发明设备实施例二所应用的译码设备的组成结构示意图;
图5为本发明设备实施例三所应用的译码设备的组成结构示意图;
图6为本发明设备实施例三和设备实施例四所应用的译码设备应用的校验矩阵对应的Tanner图;
图7为本发明设备实施例四所应用的译码设备的组成结构示意图;
图8为本发明方法实施例一所应用的译码方法的流程示意图;
图9为本发明方法实施例二所应用的译码方法的流程示意图;
图10为本发明方法实施例三所应用的译码方法的流程示意图;
图11为本发明提供的译码设备与传统译码设备的仿真结果。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
贯穿本说明书,术语“低密度奇偶校验码”(英文全称:Low Density Parity CheckCode),指代一种线性可纠错码,常用于通信领域中在通信通路中传输信号,或用于在存储介质中存储数据。
贯穿本说明书,术语“码字”(英文全称:Code Word),指代通信通路传来的或存储设备中存储的一组码元(英文全称:Code Element)构成的信号,例如LDPC码的码字长度为7的情况下,该码字由7个码元构成。
贯穿本说明书,术语“码元的量化范围”,也可以称之为变量节点(Variable Node)的量化范围,LDPC码的译码过程中,每一个待译码的码元对应一个变量节点,而校验矩阵的每一行对应一个校验节点(Check Node),具体参考附图6中的Tanner图。码元的量化范围也即LDPC码译码设备为每个码元分配的地址空间的大小,例如每个码元分配的地址空间为6bit,则码元的量化范围为-31至+31。
本发明实施例的LDPC码的编译码架构
图1描述了本发明实施例所提供的LDPC码的编译码架构,一般一组待传输的信号(携带实际信息,又称之为信息位),首先由LDPC码的编码设备根据生成矩阵,也称之为G矩阵,将该待传输的信号生成为一个码字,LDPC码编码设备随后将该码字通过通信通路发送至LDPC码译码设备。由于码字在通信通路传输过程中一般会受到噪声的影响,码字在通信通路传输的过程中可能出现错误,LDPC码译码设备因此具有对通信通路传输而来的码字进行纠错和校验的能力。例如,一组待传输的信号为1、0、1、1,LDPC码编码设备根据该待传输的信号和生成矩阵生成的码字为1、0、1、1、0、0、1,LDPC码编码设备将该码字通过电位信号传输至LDPC码译码设备后,LDPC码译码设备接收到的电位信号为-9伏特、+7伏特、-12伏特、+4伏特、+7伏特、+10伏特、-11伏特,本发明中也将通信通路发送至LDPC码译码设备的电位信号称之为码字,其中电位为正对应0,电位为负对应1,则第四位码元1经过通信通路的传输后,变为了+4伏特对应0,也即码字中第四位码元在通信通路的传输过程中出现了错误,LDPC码译码设备需要根据LDPC码的编码设备使用的生成矩阵对应的校验矩阵纠正该误差,以获取正确的码字1、0、1、1、0、0、1。
图2描述了本发明实施例所提供的又一LDPC码的编译码架构的使用场景,承接上例,LDPC码编码设备接收到待存储的信号后1、0、1、1,根据该待存储的信号和生成矩阵生成码字1、0、1、1、0、0、1,并将该码字存入存储介质中,而LDPC码译码设备访问存储介质中时存储介质常通过电位信号记录数据,例如LDPC码译码设备从存储介质获取的电位信号为-9伏特、+7伏特、-12伏特、+4伏特、+7伏特、+10伏特、-11伏特,由于存储介质的老化或其他因素,第四位码元在存存储过程中发生了错误,LDPC码译码设备需要根据LDPC码的编码设备使用的生成矩阵对应的校验矩阵纠正该误差,以获取正确的码字1、0、1、1、0、0、1。
实际中,LDPC码编码设备和LDPC码译码设备一般通过专有的硬件设备执行,例如专用集成电路(英文全称:Application Specific Integrated Circuit,英文简称:ASIC)、现场可编程门阵列(英文全称:Field Programmable Gate Array,英文简称:FPGA)等。通信通路传输至LDPC码译码设备的电位信号往往是浮点数,并且由于噪声的存在,该电位信号的取值范围无法确定,而LDPC码译码设备在设计时,一般会对其获取到的,或者在纠错过程中使用到的码字的电位数值进行量化,例如用6比特进行量化,则取值范围为-31到+31,大于+31的数值取为+31,小于-31的数值取为-31,实际中量化方法有多种,量化的结果不一定是整数,也可能包括整数部分和小数部分,但根据设计时分配的量化数值的比特数,量化的结果有确定的取值范围,也称之为量化范围,一般而言变量节点和校验节点均有各自的量化范围,本申请文件中的码元的量化范围也即变量节点的量化范围。
设备实施例一
本设备实施例一提供一种译码设备200,该译码设备200用于对LDPC码进行译码,其组成结构示意图如图3所示,包括:
获取单元202,用于获取经过LDPC码编码设备根据生成矩阵生成的第一码字,第一码字包括M个第一码元,M为正整数。具体参考前文中的LDPC码的编译码架构,获取单元202获取到的码字可以为通信通路传来的,还可以是从存储介质中读出的,此处的第一码元即第一码字中的任一码元。
处理单元204,用于获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,依次判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。
判决单元206,用于获取判决处理单元204生成的第二码字,并判决该第二码字是否通过译码。
Figure BDA0002066488810000071
本实施例以译码设备使用的校验矩阵如上,即N等于3,获取单元202获取到第一码字为-9、+7、-12、+4、+7、+10、-11为例,即M等于7。处理单元204根据第一码字中与校验矩阵第1行相关的码元生成该码字中与校验矩阵第1行相关的码元对应的更新值,即n等于1。需要说明的是,处理单元204实际在工作中,可以按照校验矩阵第1行、第2行、第3行的顺序处理,也可以按照其他顺序处理,此处的n的取值可以为小于或等于校验矩阵的行数的任一正整数。处理单元204获取校验矩阵第1行相关的码元即第1个码元-9,第2个码元+7,第4个码元+4后,第一码元包括-9、+7、+4,生成第一码字中第1个码元对应的更新值+4,第2个码元对应的更新值-4,第4个码元对应的更新值-7,即P等于3,第一更新值包括+4、-4、-7。该P个第一码元中每个第一码元对应的第一更新值的符号即除该第一码元之外的其他第一码元的符号之积,该P个第一码元中每个第一码元对应的第一更新值的绝对值即绝对值最小的第一码元的绝对值(如该第一码元本身就为绝对值最小的第一码元,则该第一码元对应的第一更新值的绝对值取为绝对值第二小的第一码元的绝对值),例如如果第一码元包括码元A,码元B和码元C,则码元A对应的更新值的符号位码元B和码元C的符号之积,码元A对应的更新值的绝对值即码元B和码元C中绝对值较小者的绝对值。
处理单元204获得了第一码字中与校验矩阵第1行相关的码元对应的更新值后,将各个第一更新值与其对应的第一码元求和,获得第二更新值,也即第二更新值包括-5(+4与-9求和),+3(+7与-4求和),-3(+4与-7求和)。
处理单元204获取第二更新值后,依次判断每个第二更新值是否超出码元的量化范围,若判断第a个第二更新值超出了码元的量化范围,则不采用第a个第二更新值更新第a个第一码元,也即保持第a个第一码元不被更新,若判断第b个第二更新值不超出码元的量化范围时,采用第b个第二更新值来更新第b个第一码元。
承接上例,由于本例中P等于3,a的取值可以为1,2或3,分别对应第二更新值-5,+3,-3。以a取1为例,处理单元204判断第二更新值-5是否超出码元的量化范围,如果超出码元的量化范围,则不用-5更新-9,即码元-9的保持不变;如果不超出码元的量化范围,则用-5更新-9,即码元-9更新为-5。处理单元204按此方法依次处理第一码元-9,+7,+4。以本实施例中的码元的量化范围为-15至+15为例,则全部第二更新值均未超出码元的量化范围。处理单元204完成校验矩阵第1行对应的处理后生成第二码元,第二码元包括-5、+3、-3,第二码元中的每一个码元的生成,即维持对应的第一码元(如果对应的第二更新值超出码元的量化范围),或用对应的第二更新值更新对应的第一码元(如果对应的第二更新值未超出码元的量化范围)。
处理单元204根据第二码元,生成第二码字,第二码字的生成方法主要包括以下两种:
方法一,将第一码字-9、+7、-12、+4、+7、+10、-11中与校验矩阵的第n(本例中n等于1)行相关的码元(即第一码元)更新为第二码元,生成第二码字,第一码字中与校验矩阵的第n行无关的第一码元保留,即第二码字为-5、+3、-12、-3、+7、+10、-11。
方法二,将第一码字中与校验矩阵的第n(本例中n等于1)行相关的第一码元更新为第二码元,生成第一临时码字,第一码字中与校验矩阵的第1行无关的第一码元保留,即第一临时码字为-5、+3、-12、-3、+7、+10、-11。
将第一临时码字中与校验矩阵的第2行相关的码元更新,生成第二临时码字。首先,获取第一码字中与校验矩阵的第2行相关的码元,即-12、+4、+7,生成第一码字中与校验矩阵的第2行相关的码元对应的第三更新值,包括+4、-7、-4,将+4、-7、-4与第一临时码字中与校验矩阵的第2行相关的码元-12、-3、+7求和,生成第四更新值,第四更新值包括-8、-10、+3,判断-8、-10、+3中是否有超出码元的量化范围的,如果其中之任一超出了码元的量化范围,则不采用该第四更新值更新第一临时码字中对应的码元,如果其中无一超出码元的量化范围,则采用第四更新值-8、-10、+3更新第一临时码字-5、+3、-12、-3、+7、+10、-11,获得第二临时码字-5、+3、-8、-10、+3、+10、-11。
将第二临时码字中与校验矩阵的第3行相关的码元更新,生成第二码字。首先,获取第一码字中与校验矩阵的第3行相关的码元,即+4、+10、-11,生成第一码字中与校验矩阵的第3行相关的码元对应的第五更新值,包括-10、-4、+4,将-10、-4、+4与第二临时码字中与校验矩阵的第3行相关的码元-10、+10、-11求和,生成第六更新值,包括-20、+6、-7,判断-20、+6、-7中是否有超出码元的量化范围的,如果其中之任一超出了码元的量化范围,则不采用该第六更新值更新第二临时码字中对应的码元,如果其中无一超出码元的量化范围,则采用第六更新值-20、+6、-7更新第二临时码字-5、+3、-8、-10、+3、+10、-11,本例中,由于-20超出了码元的量化范围,因此获得第二码字-5、+3、-8、-10、+3、+6、-7。
需要说明的是,本方法二中按照校验矩阵的第1、第2、第3行的顺序对第一码字进行处理获得第二码字,实际中方法二的使用过程中,可以以按照校验矩阵的其他顺序对第一码字进行处理,例如可以首先对第1行处理过的第一临时码字后,再对第3行进行处理获得第二临时码字,再对第2行进行处理获得第二码字。处理的顺序可以有多种,仅需要保证通过第一码字生成第二码字的过程中,经过了校验矩阵每一行对应的处理,并且校验矩阵的每一行对应的处理均只执行一次。
可选的,处理单元204包括存储模块,用于存储该P个第一码元;还用于存储P个第二更新值。处理单元204判断P个第二更新值中的第a个超出码元的量化范围时,读取存储模块存储的第a个第一码元;即如果某一第二更新值超出了码元的量化范围,则处理单元204不用该第二更新值更新对应的第一码元,因此从存储模块中读取该第二更新值对应的第一码元以获取第二码元。处理单元204判断P个第二更新值中的第b个不超出码元的量化范围时,读取存储模块存储的第b个第二更新值来更新所述第b个第一码元;即如果某一第二更新值未超出码元的量化范围,则处理单元204用该第二更新值更新对应的第一码元,因此从存储模块中读取该第二更新值并替换掉对应的第一码元以获取第二码元。
承接上例,存储模块存储第一码元-9,+7,+4,存储模块还存储第二更新值-5、+3、-3。如果处理单元204判断某一第二更新值超出码元的量化范围,则读取对应的第一码元,如果处理单元204判断某一第二更新值未超出码元的量化范围,则读取对应的第二更新值,以处理单元204生成第二码字采用方法一为例,处理单元204判断第二更新值-5、+3、-3均未超出码元的量化范围,因此读取第二更新值更新第一码字,生成第二码字-5、+3、-12、-3、+7、+10、-11。
处理单元204将第二码字发送至判决单元206,判决单元206用于判决第二码字是否通过译码。
处理单元204生成第二码字如果采用前述方法一的情况下,如果判决单元206判决该第二码字-5、+3、-12、-3、+7、+10、-11通过译码;译码设备200继续执行校验矩阵另一行对应的更新,并生成校验矩阵该行对应的第二码字,此处以第2行为例,校验矩阵第2行对应的更新完成后,获得的第二码字为-5、+3、-8、-10、+3、+10、-11,如果判决单元206判决该第二码字-5、+3、-8、-10、+3、+10、-11通过译码;译码设备200继续执行校验矩阵另一行对应的更新,并生成校验矩阵该行对应的第二码字,此处以第3行为例,校验矩阵第3行对应的更新完成后,获得的第二码字为-5、+3、-8、-10、+3、+6、-7,如果判决单元206判决该第二码字-5、+3、-8、-10、+3、+6、-7通过译码;则译码设备200将-5、+3、-8、-10、+3、+6、-7映射后的结果1、0、1、1、0、0、1作为译码结果。一般而言,处理单元204生成第二码字如果采用前述方法一的情况下,译码设备200需要确定第二码字能够通过连续一定数量的校验矩阵的行对应的判决,则最后一行校验矩阵对应的第二码字映射后的结果为译码结果。以译码设备200按照校验矩阵第1、第2、第3行的顺序进行处理且需要连续通过三行校验矩阵的判决为例,如果校验矩阵第2行输出的第二码字判决失败,第3行输出的第二码字通过译码,下一轮更新中第1行和第2行输出的第二码字均通过译码,则下一轮更新中校验矩阵第2行对应的第二码字映射后的结果为译码结果。每一轮更新中包括校验矩阵的每一行对应的处理,且进行一轮更新中的校验矩阵的某行对应的处理之前,需要将上一轮更新中校验矩阵的该行处理过程中对该行对应的码元的激励去除。
处理单元204生成第二码字如果采用前述方法二的情况下,如果判决单元206判决该第二码字-5、+3、-8、-10、+3、+6、-7通过译码,则将该第二码字映射后的结果1、0、1、1、0、0、1为译码结果,如果该第二码字未通过译码,则再次执行下一轮更新。
本实施例提供了一种译码设备,通过对译码设备对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码设备对于超出量化范围的更新后的码字的直接量化,提升了译码设备对LDPC码的译码过程中的纠错能力。
设备实施例二
本设备实施例二提供一种译码设备400,该译码设备400用于对LDPC码进行译码,其组成结构示意图如图4所示,包括:
获取单元402,用于获取经过LDPC码编码设备根据生成矩阵生成的第一码字,第一码字包括M个第一码元,M为正整数。具体参考前文中的LDPC码的编译码架构,获取单元402获取到的码字可以为通信通路传来的,还可以是从存储介质中读出的,此处的第一码元即第一码字中的任一码元。
处理单元404,用于获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,依次判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。
判决单元406,用于获取判决处理单元404生成的第二码字,并判决该第二码字是否通过译码。
Figure BDA0002066488810000101
本实施例以译码设备使用的校验矩阵如上,即N等于3,获取单元402获取到第一码字为-9、+7、-12、+4、+7、+10、-11为例,即M等于7。处理单元404根据第一码字中与校验矩阵第1行相关的码元生成该码字中与校验矩阵第1行相关的码元对应的更新值,即n等于1。需要说明的是,处理单元404实际在工作中,可以按照校验矩阵第1行、第2行、第3行的顺序处理,也可以按照其他顺序处理,此处的n的取值,可以为小于或等于校验矩阵的行数的任一正整数。处理单元404获取校验矩阵第1行相关的码元即第1个码元-9,第2个码元+7,第4个码元+4后,第一码元包括-9、+7、+4,生成第一码字中第1个码元对应的更新值+4,第2个码元对应的更新值-4,第4个码元对应的更新值-7,即P等于3,第一更新值包括+4、-4、-7。该P个第一码元中每个第一码元对应的第一更新值的符号即除该第一码元之外的其他第一码元的符号之积,该P个第一码元中每个第一码元对应的第一更新值的绝对值即绝对值最小的第一码元的绝对值(如该第一码元本身就为绝对值最小的第一码元,则该第一码元对应的第一更新值的绝对值取为绝对值第二小的第一码元的绝对值),例如如果第一码元包括码元A,码元B和码元C,则码元A对应的更新值的符号位码元B和码元C的符号之积,码元A对应的更新值的绝对值即码元B和码元C中绝对值较小者的绝对值。
处理单元404获得了第一码字中与校验矩阵第1行相关的码元对应的更新值后,将各个第一更新值与其对应的第一码元求和,获得第二更新值,也即第二更新值包括-5(+4与-9求和),+3(+7与-4求和),-3(+4与-7求和)。
处理单元404获取第二更新值后,依次判断每个第二更新值是否超出码元的量化范围,若判断第a个第二更新值超出了码元的量化范围,则不采用该P个第二更新值更新该P个第一码元,即保持该P个第一码元不被更新,若判断该P个第二更新值中的每个第二更新值均未超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元。
承接上例,由于本例中P等于3,a的取值可以为1,2或3,分别对应第二更新值-5,+3,-3。以a取1为例,处理单元404判断第二更新值-5是否超出码元的量化范围,如果超出码元的量化范围,则不用-5更新-9,且不用+3更新-4,且不用-3更新-7,同理,如果其他第二更新值超出了码元的量化范围,则放弃采用任一第二更新值更新第一码元;如果第二更新值-5,+3,-3均未超出码元的量化范围,则用-5更新-9,+3更新-4,-3更新-7。以本实施例中的码元的量化范围为-15至+15为例,则全部第二更新值均未超出码元的量化范围。处理单元404完成校验矩阵第1行对应的处理后生成第二码元,第二码元包括-5、+3、-3,第二码元中的每一个码元的生成,即维持对应的第一码元(如果任一第二更新值超出码元的量化范围),或用对应的第二更新值更新对应的第一码元(如果无一第二更新值超出码元的量化范围)。
处理单元404根据第二码元,生成第二码字,第二码字的生成方法主要包括以下两种:
方法一,将第一码字-9、+7、-12、+4、+7、+10、-11中与校验矩阵的第n(本例中n等于1)行相关的码元(即第一码元)更新为第二码元,生成第二码字,第一码字中与校验矩阵的第n行无关的第一码元保留,即第二码字为-5、+3、-12、-3、+7、+10、-11。
方法二,将第一码字中与校验矩阵的第n(本例中n等于1)行相关的第一码元更新为第二码元,生成第一临时码字,第一码字中与校验矩阵的第1行无关的第一码元保留,即第一临时码字为-5、+3、-12、-3、+7、+10、-11。
将第一临时码字中与校验矩阵的第2行相关的码元更新,生成第二临时码字。首先,获取第一码字中与校验矩阵的第2行相关的码元,即-12、+4、+7,生成第一码字中与校验矩阵的第2行相关的码元对应的第三更新值,包括+4、-7、-4,将+4、-7、-4与第一临时码字中与校验矩阵的第2行相关的码元-12、-3、+7求和,生成第四更新值,第四更新值包括-8、-10、+3,判断-8、-10、+3中是否有超出码元的量化范围的,如果其中之任一超出了码元的量化范围,则不采用第四更新值更新第一临时码字,如果其中无一超出码元的量化范围,则采用第四更新值-8、-10、+3更新第一临时码字-5、+3、-12、-3、+7、+10、-11,获得第二临时码字-5、+3、-8、-10、+3、+10、-11。
将第二临时码字中与校验矩阵的第3行相关的码元更新,生成第二码字。首先,获取第一码字中与校验矩阵的第3行相关的码元,即+4、+10、-11,生成第一码字中与校验矩阵的第3行相关的码元对应的第五更新值,包括-10、-4、+4,将-10、-4、+4与第二临时码字中与校验矩阵的第3行相关的码元-10、+10、-11求和,生成第六更新值,包括-20、+6、-7,判断-20、+6、-7中是否有超出码元的量化范围的,如果其中之任一超出了码元的量化范围,则不采用第六更新值更新第二临时码字,如果其中无一超出码元的量化范围,则采用第六更新值-20、+6、-7更新第二临时码字-5、+3、-8、-10、+3、+10、-11,本例中,由于第六更新值-20超出了码元的量化范围,因此获得第二码字-5、+3、-8、-10、+3、+10、-11。
需要说明的是,本方法二中按照校验矩阵的第1、第2、第3行的顺序对第一码字进行处理获得第二码字,实际中方法二的使用过程中,可以以按照校验矩阵的其他顺序对第一码字进行处理,例如可以首先对第1行处理过的第一临时码字后,再对第3行进行处理获得第二临时码字,再对第2行进行处理获得第二码字。处理的顺序可以有多种,仅需要保证通过第一码字生成第二码字的过程中,经过了校验矩阵每一行对应的处理,并且校验矩阵的每一行对应的处理均只执行一次。
可选的,处理单元404包括存储模块,用于存储P个第一码元;还用于存储P个第二更新值。处理单元404判断P个第二更新值中的第a个超出码元的量化范围时,读取存储模块存储的P个第一码元;即如果某一第二更新值超出了码元的量化范围,则处理单元404不用第二更新值更新第一码元,因此从存储模块中读取该P个第一码元以获取第二码元。处理单元404判断P个第二更新值中的每个第二更新值均未超出码元的量化范围时,读取存储模块存储的P个第二更新值来更新第一码元;即如果无一第二更新值超出了码元的量化范围,则处理单元404用P个第二更新值更新对应的P个第一码元,因此从存储模块中读取P个第二更新值并替换掉P个第一码元以获取第二码元。
承接上例,存储模块存储第一码元-9,+7,+4,存储模块还存储第二更新值-5、+3、-3。如果处理单元404判断某一第二更新值超出码元的量化范围,则读取第一码元-9,+7,+4,放弃用任一第二更新值更新第一码元,如果处理单元404判断无一第二更新值超出码元的量化范围,则读取P个第二更新值,以处理单元404生成第二码字采用方法一为例,处理单元404判断第二更新值-5、+3、-3均未超出码元的量化范围,因此读取第二更新值-5、+3、-3更新第一码字,生成第二码字-5、+3、-12、-3、+7、+10、-11。
处理单元404将第二码字发送至判决单元406,判决单元406用于判决第二码字是否通过译码。
处理单元404生成第二码字如果采用前述方法一的情况下,如果判决单元406判决该第二码字-5、+3、-12、-3、+7、+10、-11通过译码;译码设备400继续执行校验矩阵另一行对应的更新,并生成校验矩阵该行对应的第二码字,此处以第2行为例,校验矩阵第2行对应的更新完成后,获得的第二码字为-5、+3、-8、-10、+3、+10、-11,如果判决单元406判决该第二码字-5、+3、-8、-10、+3、+10、-11通过译码;译码设备400继续执行校验矩阵另一行对应的更新,并生成校验矩阵该行对应的第二码字,此处以第3行为例,校验矩阵第3行对应的更新完成后,由于码元-10对应的更新值超出了码元的量化范围,因此校验矩阵第三行对应的更新无效,获得的第二码字为-5、+3、-8、-10、+3、+10、-11,如果判决单元406判决该第二码字-5、+3、-8、-10、+3、+10、-11通过译码;则译码设备400将-5、+3、-8、-10、+3、+10、-11映射后的结果1、0、1、1、0、0、1作为译码结果。一般而言,处理单元404生成第二码字如果采用前述方法一的情况下,译码设备400需要确定第二码字能够通过连续一定数量的校验矩阵的行对应的判决,则最后一行校验矩阵对应的第二码字映射后的结果为译码结果。以译码设备400按照校验矩阵第1、第2、第3行的顺序进行处理且需要连续通过校验矩阵3行对应的判决为例,如果校验矩阵第2行输出的第二码字判决失败,第3行输出的第二码字通过译码,下一轮更新中第1行和第2行输出的第二码字均通过译码,则下一轮更新中校验矩阵第2行对应的第二码字映射后的结果为译码结果。每一轮更新中包括校验矩阵的每一行对应的处理,且进行一轮更新中的校验矩阵的某行对应的处理之前,需要将上一轮更新中校验矩阵的该行处理过程中对该行对应的码元的激励去除。
处理单元404生成第二码字如果采用前述方法二的情况下,如果判决单元406判决该第二码字-5、+3、-8、-10、+3、+10、-11通过译码,则将该第二码字映射后的结果1、0、1、1、0、0、1为译码结果,如果该第二码字未通过译码,则再次执行下一轮更新。
本实施例提供了一种译码设备,通过对译码设备对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码设备对于超出量化范围的更新后的码字的直接量化,提升了译码设备对LDPC码的译码过程中的纠错能力。
设备实施例三
设备实施例三提供一种译码设备600,其组成结构示意图如图5所示,本实施例将设备实施例一中的处理单元204的内部组成结构细化为处理单元604,本实施例中处理单元604整体的功能与设备实施例一中的处理单元204相同。
下面以译码设备600获取到的码字为-9、-7、-12、-4、+7、+10、-11,码元的量化范围为-15至+15,译码设备600使用的校验矩阵如下为例,详细阐述设备实施例三中提出的译码设备600的工作原理。
Figure BDA0002066488810000131
获取单元602获取到码字-9、+7、-12、+4、+7、+10、-11后,首先将码字发送给判决单元606,判决单元606将其中负值映射为1,正值映射为0,得到映射后码字1、0、1、0、0、0、1,对映射后码字中的各个码元按照校验方程进行异或运算,也称之为模二和或模二加运算,根据校验矩阵第一行的运算,(1+0+0)mod(2)=1,该码字未通过译码。如果译码设备600获取到的码字在经过处理单元604处理之前就可以通过判决单元606的判决。在该码字无须进行后续处理,译码设备600直接将该码字映射后的结果作为译码结果,码字1、0、1、0、0、0、1被判决单元606判决为通过译码需要通过校验矩阵全部3行对应的校验。
变量节点处理单元6042接收码字-9、+7、-12、+4、+7、+10、-11,将-9、+7、-12、+4、+7、+10、-11存入存储模块6043中,根据校验矩阵的第1行可知,第1、第2、第4个变量节点与校验矩阵第1行相关,即-9、+7、+4这三个码元与校验矩阵的第1行相关,变量节点处理单元6042将-9、+7、+4发送至校验节点处理单元6044。实际中,可以从校验矩阵的任一行开始进行处理。需要说明的是,如果此前已经执行校验矩阵对应的某一行的更新,或校验矩阵每一行对应的更新,变量节点处理单元6042在进行下一轮处理前,还需要将上一轮更新值对码字的影响消除后,再进行本轮更新。
校验节点处理单元6044接收到-9、+7、+4后,根据校验矩阵的第1行,生成返回给第1个变量节点的更新值+4,返回给第2个变量节点的更新值-4,返回给第4个变量节点的更新值-7,并将这三个更新值发送至变量节点处理单元6042。
变量节点处理单元6042随后可以执行以下两种方案之任一:
方案一,变量节点处理单元6042接收到更新值后,将第1、第2、第4个变量节点的码元与其对应的更新值求和,则第1变量节点对应的码元更新为-5,第2变量节点对应的码元更新为+3,第4变量节点对应的码元更新为-3,并将第1、第2、第4个变量节点更新后的码元存入存储模块6043中。在更新过程中,如果有任一变量节点对应的码元更新后的值超出了码元的量化范围,即-15至+15,则放弃该变量节点对应的码元的更新,从存储模块6043中读出更新前的该码元,继续执行下一变量节点对应码元的更新,并对下一变量节点对应码元的更新重复以上判断动作,直至第1个变量节点、第2个变量节点、第4个变量节点对应的码元均处理完毕。
方案二,变量节点处理单元6042接收到更新值后,存储全部更新值,将第1、第2、第4个变量节点的码元与其对应的更新值求和,在更新过程中,如果有任一变量节点对应的码元更新后的值超出了码元的量化范围,即-15至+15,则放弃该变量节点对应的码元的更新,从存储模块6043中读出更新前的该码元,继续执行下一变量节点对应码元的更新。根据校验矩阵的第一行的更新完成后,继续根据校验矩阵的第二行进行更新,也即执行图6所示Tanner图中校验节点2对应的更新处理。图6中,变量节点1至变量节点7分别对应变量节点处理单元6042接收的7个码元,校验节点1至校验节点3分别对应校验矩阵的第一行至第三行。图6中,变量节点1至变量节点7进行的处理动作也即由图5中变量节点处理单元6042执行,校验节点1至校验节点3进行的处理动作也即由图5中校验节点处理单元6044执行。
校验节点1将更新值返回给变量节点1、变量节点2、变量节点4后,如变量节点1、变量节点2、变量节点4对应的码元更新后均未超出码元的量化范围,则变量节点3、变量节点4、变量节点5继续向校验节点2发送对应的码元,校验节点2生成对应的更新值后返回给对应的变量节点,如果仍未超出码元的量化范围,则继续执行校验节点3对应的更新。此时,由于变量节点4对应的码元参与了校验节点1对应的处理,也参与了校验节点2和校验节点3对应的处理,如图6中,如果变量节点4对应的码元+4加上校验节点1返回的更新值-7后未超出码元的量化范围,则变量节点对应的码元再次加上其他校验节点返回的更新值可能超出码元的量化范围,图6所示的范例中,校验节点1、校验节点2、校验节点3返回给变量节点4的更新值分别为-7、-7、-10,则码字+4加上这三个更新值后为-20,超出了码元的量化范围,由于全部的更新值已经被存储,因此对这三个更新值进行排序,获得对超出码元的量化范围影响最大的更新值,由于本例中的码字是超出了码元的量化范围的最小值,因此影响最大的更新值为值最小的更新值即-10,因此变量节点4放弃校验节点3返回的更新值-10,即本轮更新后,变量节点4对应的码字为+4+(-7)+(-7)等于-10。方案二即任一变量节点的码元累加多个校验节点返回的更新值超出了码元的量化范围后,对该变量节点接收的更新值进行排序,当变量节点的码元累加更新值后超出码元的量化范围的最大值时,则该变量节点首先放弃各个更新值中的最大值,当变量节点的码元累加更新值后超出码元的量化范围的最小值时,则该变量节点首先放弃各个更新值中的最小值,保证了放弃的更新值对于译码过程的影响最小。
变量节点处理单元6042每更新完校验矩阵的一行对应的码元,即处理完一校验节点发送来的更新值后,可以将该更新后的码字发送至判决单元606,判决单元606将该更新后的码字进行映射并判决该行码字是否通过判决。如前例中,校验矩阵的第一行对应的变量节点对应的码元更新完毕后,更新后的码字为-5、+3、-12、-3、+7、+10、-11,判决单元606对该更新后的码字进行判决,具体参考设备实施例一中处理单元204采用方法一生成第二码字。变量节点处理单元6042更新完校验矩阵的一行对应的码元获取更新后的码字后,还可以继续执行设备实施例一中处理单元204采用的方法二来生成第二码字,并将该第二码字发送至判决单元606。需要说明的是,判决单元606在对该码字进行映射并判决前,还可以对该码字实施偏移量最小算法处理;还可以对该码字实施归一化最小和算法处理。
本实施例提供了一种译码设备,通过对译码设备对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码设备对于超出码元的量化范围的更新后的码字的直接量化,提升了译码设备的译码过程中的纠错能力。
设备实施例四
设备实施例四提供一种译码设备800,其组成结构示意图如图7所示,本实施例将设备实施例二中的处理单元404的内部组成结构细化为处理单元804,本实施例中处理单元804整体的功能与设备实施例二中的处理单元404相同。
下面以译码设备800获取到的码字为-9、-7、-12、-4、+7、+10、-11,码元的量化范围为-15至+15,译码设备800使用的校验矩阵如下为例,详细阐述设备实施例四中提出的译码设备800的工作原理。
Figure BDA0002066488810000151
获取单元802获取到码字-9、+7、-12、+4、+7、+10、-11后,首先将码字发送给判决单元806,判决单元806将其中负值映射为1,正值映射为0,得到映射后码字1、0、1、0、0、0、1,对映射后码字中的各个码元按照校验方程进行异或运算,也称之为模二和或模二加运算,根据校验矩阵第一行的运算,(1+0+0)mod(2)=1,该码字未通过译码。如果译码设备800获取到的码字在经过处理单元804处理之前就可以通过判决单元806的判决。在该码字无须进行后续处理,译码设备800直接将该码字映射后的结果作为译码结果,码字1、0、1、0、0、0、1被判决单元806判决为通过译码需要通过校验矩阵全部三行对应的校验。
变量节点处理单元8042接收码字-9、+7、-12、+4、+7、+10、-11,将-9、+7、-12、+4、+7、+10、-11存入存储模块8043中,根据校验矩阵的第1行可知,第1、第2、第4个变量节点与校验矩阵第1行相关,即-9、+7、+4这三个码元与校验矩阵的第1行相关,变量节点处理单元8042将-9、+7、+4发送至校验节点处理单元8044。实际中,可以从校验矩阵的任一行开始进行处理。需要说明的是,如果此前已经执行校验矩阵对应的某一行的更新,或校验矩阵每一行对应的更新,变量节点处理单元8042在进行下一轮处理前,还需要将上一轮更新值对码字的影响消除后,再进行本轮更新。
校验节点处理单元8044接收到-9、+7、+4后,根据校验矩阵的第1行,生成返回给第1个变量节点的更新值+4,返回给第2个变量节点的更新值-4,返回给第4个变量节点的更新值-7,并将这三个更新值发送至变量节点处理单元8042。
变量节点处理单元8042随后执行以下方案:接收到更新值后,将第1、第2、第4个变量节点的码元与其对应的更新值求和,则第1变量节点对应的码元更新为-5,第2变量节点对应的码元更新为+3,第4变量节点对应的码元更新为-3,并将第1、第2、第4个变量节点更新后的码元存入存储模块8043中。在更新过程中,如果有任一变量节点对应的码元更新后的值超出了码元的量化范围,则放弃本轮第1、第2、第4个变量节点对应码元的更新,从存储模块8043中读出更新前的第1、第2、第4个变量节点对应的码元。
变量节点处理单元8042每更新完校验矩阵的一行对应的码元,即处理完一校验节点发送来的更新值后,可以将该更新后的码字发送至判决单元806,判决单元806将该更新后的码字进行映射并判决该行码字是否通过判决。如前例中,校验矩阵的第一行对应的变量节点对应的码元更新完毕后,更新后的码字为-5、+3、-12、-3、+7、+10、-11,判决单元806对该更新后的码字进行判决,具体参考设备实施例二中处理单元404采用方法一生成第二码字。变量节点处理单元8042更新完校验矩阵的一行对应的码元获取更新后的码字后,还可以继续执行设备实施例二中处理单元404采用的方法二来生成第二码字,并将该第二码字发送至判决单元806。需要说明的是,判决单元806在对该码字进行映射并判决前,还可以对该码字实施偏移量最小算法处理;还可以对该码字实施归一化最小和算法处理。
本实施例提供了一种译码设备,通过对译码设备对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码设备对于超出码元的量化范围的更新后的码字的直接量化,提升了译码设备的译码过程中的纠错能力。
方法实施例一
本方法实施例提供一种译码方法,该译码方法用于对LDPC码进行译码,该方法可以由设备实施例一中提供的译码设备200执行或由设备实施例三中提供的译码设备600执行,其流程示意图如图8所示,包括:
步骤1002,获取经过LDPC码编码设备根据生成矩阵生成的第一码字,该第一码字包括M个第一码元,M为正整数。步骤1002的执行细节参考设备实施例一中的获取单元202,或设备实施例三中的获取单元602。
步骤1004,获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,依次判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。步骤1004的执行细节参考设备实施例一中的处理单元204,或设备实施例三中的处理单元604及处理单元604中的各个子单元。
步骤1006,判决步骤1004生成的第二码字是否通过译码。步骤1006的执行细节参考设备实施例一中的判决单元206,或设备实施例三中的判决单元606。
本实施例提供了一种译码方法,通过对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了对LDPC码的纠错能力。
方法实施例二
本方法实施例提供一种码译码方法,该译码方法用于对LDPC码进行译码,该方法可以由设备实施例二中提供的译码设备400执行或由设备实施例四中提供的译码设备800执行,其流程示意图如图9所示,包括:
步骤1202,获取经过LDPC码编码设备根据生成矩阵生成的第一码字,该第一码字包括M个第一码元,M为正整数。步骤1202的执行细节参考设备实施例二中的获取单元402,或设备实施例四中的获取单元802。
步骤1204,获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,依次判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。步骤1204的执行细节参考设备实施例二中的处理单元404,或设备实施例四中的处理单元804及处理单元804中的各个子单元。
步骤1206,判决步骤1204生成的第二码字是否通过译码。步骤1206的执行细节参考设备实施例二中的判决单元406,或设备实施例四中的判决单元806。
本实施例提供了一种译码方法,通过对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了对LDPC码的纠错能力。
方法实施例三
本方法实施例提供一种译码方法,由于LDPC码的译码,该方法可以由设备实施例一或设备实施例二或设备实施例三或设备实施例四中提供的任一译码设备执行,本实施例主要描述处理单元204、处理单元404、处理单元604和处理单元804采用了方法一来获取第二码字并对第二码字进行判决的过程中如何获取最终的译码结果。该译码方法的流程示意图如图10所示,包括:
步骤1402,获取经过LDPC码编码设备处理过的码字。本方法实施例中以获取到的码字为-9、+7、-12、+4、+7、+10、-11,校验矩阵如下为例。实际中,如果步骤1402执行前码字已经经过一轮或多轮更新,则步骤1402中还需将上一轮更新对码字带来的影响消除,即减去上一轮更新值。
Figure BDA0002066488810000181
步骤1404,判决码字-9、+7、-12、+4、+7、+10、-11是否通过译码。将码元中的负值映射为1,正值映射为0,得到映射后码字1、0、1、0、0、0、1,对映射后码字中的各个码元按照校验方程进行异或运算,也称之为模二和或模二加运算,根据校验矩阵第K行的运算,(1+0+0)mod(2)=1,该码字未通过译码。若步骤1404中通过译码,则输出译码结果。
步骤1406,根据校验矩阵的第K行对应的码元,生成第K行对应的码元对应的更新值。即第1个码元-9、第2个码元+7、第4个码元+4,生成这三个码元对应的更新值,即第1个码元的更新值+4,第2个码元的更新值-4,第4个码元的更新值-7。此处的K可以从1开始。
步骤1406后可以执行步骤1408或步骤1410之任一。
步骤1408,根据校验矩阵的第K行对应的码元的更新值,更新校验矩阵的第K行对应的码元,如果有任一码元更新后的值超出码元的量化范围,则放弃该码元的更新。本方法实施例中设置码元的量化范围为-15至+15,则码字-9、+7、-12、+4、+7、+10、-11更新为码字-5、+3、-12、-3、+7、+10、-11。
步骤1410,根据校验矩阵的第K行对应的码元的更新值,更新校验矩阵的第K行对应的码元,如果有任一码元更新后的值超出码元的量化范围,则放弃校验矩阵的第K行对应的全部码元的更新。同上,由于无码元更新后超出码元的量化范围,码字-9、+7、-12、+4、+7、+10、-11更新为码字-5、+3、-12、-3、+7、+10、-11。
步骤1412,判断步骤1408或步骤1410更新后的码字是否通过译码。如果通过,计数器加1(译码设备每获取一个新的待译码的码字时,该计数器的初始值为0,或译码设备每次发现步骤1412中获得的码字通过不了译码,则该计数器的值归0);如果未通过译码,则将该更新后的码字再次作为步骤1402获取的码字针对校验矩阵的另一行重新执行步骤1402至步骤1412。
步骤1414,判断计数器是否达到预设的阈值,如果未达到预设的阈值,将该更新后的码字再次作为步骤1402获取的码字针对校验矩阵的另一行重新执行步骤1402至步骤1412,如果达到预设的阈值,则将最后获取的更新后的码字映射的结果作为该码字的译码结果并输出。
需要说明的是除了码字第一次更新过程,后续更新过程中无须执行步骤1404,步骤1402之后直接执行步骤1406。
本实施例提供了一种译码方法,通过对LDPC码译码过程中对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了LDPC码译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了LDPC码的纠错能力。
系统实施例一
本系统实施例提供一种信号传输系统,包括译码设备、LDPC编码设备以及通信通路,该译码设备可以为设备实施例一提供的译码设备200或设备实施例三提供的译码设备600。
LDPC码编码设备用于根据生成矩阵生成第一码字,并将第一码字通过通信通路传输至该译码设备。译码设备对该第一码字的后续处理过程参照设备实施例一提供的译码设备200的实施细节,或设备实施例三提供的译码设备600的实施细节。
本实施例提供了一种信号传输系统,其中的译码设备对LDPC码译码过程中对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了LDPC码译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了信号传输系统传输的LDPC码的纠错能力,也即提升了信号传输系统传输信号的可靠性。
系统实施例二
本系统实施例提供一种信号传输系统,包括译码设备、LDPC编码设备以及通信通路,该译码设备可以为设备实施例二提供的译码设备400或设备实施例四提供的译码设备800。
LDPC码编码设备用于根据生成矩阵生成第一码字,并将第一码字通过通信通路传输至该译码设备。译码设备对该第一码字的后续处理过程参照设备实施例二提供的译码设备400的实施细节,或设备实施例四提供的译码设备800的实施细节。
本实施例提供了一种信号传输系统,其中的译码设备对LDPC码译码过程中对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了LDPC码译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了信号传输系统传输的LDPC码的纠错能力,也即提升了信号传输系统传输信号的可靠性。
系统实施例三
本系统实施例提供一种数据存储系统,包括译码设备、LDPC编码设备以及存储介质,该译码设备可以为设备实施例一提供的译码设备200或设备实施例三提供的译码设备600。
LDPC码编码设备用于根据生成矩阵生成第一码字,并将第一码字存入存储介质,译码设备用于从存储介质获取第一码字。译码设备对该第一码字的后续处理过程参照设备实施例一提供的译码设备200的实施细节,或设备实施例三提供的译码设备600的实施细节。
本实施例提供了一种数据存储系统,其中的译码设备对LDPC码译码过程中对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了LDPC码译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了数据存储系统中的译码设备对于LDPC码的纠错能力,并且提升了数据存储系统存储的数据的可靠性。
系统实施例四
本系统实施例提供一种数据存储系统,包括译码设备、LDPC编码设备以及存储介质,该译码设备可以为设备实施例二提供的译码设备400或设备实施例四提供的译码设备800。
LDPC码编码设备用于根据生成矩阵生成第一码字,并将第一码字存入存储介质,译码设备用于从存储介质获取第一码字。译码设备对该第一码字的后续处理过程参照设备实施例二提供的译码设备400的实施细节,或设备实施例四提供的译码设备800的实施细节。
本实施例提供了一种数据存储系统,其中的译码设备对LDPC码译码过程中对码字的更新过程中出现的更新后码元的取值超出码元的量化范围的情况进行处理,避免了LDPC码译码过程中对于超出码元的量化范围的更新后的码字的直接量化,提升了数据存储系统中的译码设备对于LDPC码的纠错能力,并且提升了数据存储系统存储的数据的可靠性。
图11为采用传统译码设备,与采用本申请提出的译码设备的仿真结果的对比图。仿真是基于LDPC FPGA仿真平台,通过FPGA产生随机序列(即前文中的待传输的信号),然后进行LDPC编码、调制和加高斯随机白噪声生成码字(即前文中的第一码字),最后对该码字进行LDPC译码。FPGA仿真平台完成对RAWBER和UBER的统计。其中UBER的全称为UncorrectedBit Error Rate,即无法纠错的误比特率,RAWBER的全称为Raw Bit Error Rate,即经过编码和白噪声后生成的码字的误比特率。因此,RAWBER值越低时,理论而言由于待译码的码字本身的误比特率越低,因此UBER率理应也随之降低,通过图11可以看出,传统方案中当RAWBER低于0.0021时,UBER不再随之下降,LDPC码的纠错能力达到瓶颈,然而使用本申请提供的LDPC码译码设备,当RAWER低于0.0021时,UBER仍然保持随之降低,突破了传统的LDPC码的译码设备的性能瓶颈,有效提升了LDPC码的纠错能力。
设备实施例一中,处理单元204,用于获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。
可选的,上述判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,即处理单元204获取了该P个第二更新值中的每个第二更新值后,并行判断这P个第二更新值是否超出码元的量化范围,也可以按照校验矩阵第n行所对应的P个码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,译码设备200包括的获取单元202、处理单元204和判决单元206均通过电路实现。
处理单元204获取第二更新值后,判断每个第二更新值是否超出码元的量化范围,若判断第a个第二更新值超出了码元的量化范围,则不采用第a个第二更新值更新第a个第一码元,也即保持第a个第一码元不被更新,若判断第b个第二更新值不超出码元的量化范围时,采用第b个第二更新值来更新第b个第一码元。
承接设备实施例一中的例子,由于本例中P等于3,a的取值可以为1,2或3,分别对应第二更新值-5,+3,-3。以a取1为例,处理单元204判断第二更新值-5是否超出码元的量化范围,如果超出码元的量化范围,则不用-5更新-9,即码元-9的保持不变;如果不超出码元的量化范围,则用-5更新-9,即码元-9更新为-5。处理器204可以并行判断第二更新值-5,+3,-3是否超出码元的量化范围,也可以按照校验矩阵第1行中为1的位对应的第一码元的顺序,即先-5,再+3,再-3的顺序,判断第二更新值-5,+3,-3是否超出码元的量化范围。
设备实施例二中,处理单元404,用于获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。
可选的,上述判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,即处理单元404获取了该P个第二更新值中的每个第二更新值后,并行判断这P个第二更新值是否超出码元的量化范围,也可以按照校验矩阵第n行所对应的P个码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
可选的,译码设备400包括的获取单元402、处理单元404和判决单元406均通过电路实现。
处理单元404获取第二更新值后,判断每个第二更新值是否超出码元的量化范围,若判断第a个第二更新值超出了码元的量化范围,则不采用该P个第二更新值更新该P个第一码元,即保持该P个第一码元不被更新,若判断该P个第二更新值中的每个第二更新值均未超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元。
承接设备实施例一中的例子,由于本例中P等于3,a的取值可以为1,2或3,分别对应第二更新值-5,+3,-3。以a取1为例,处理单元404判断第二更新值-5是否超出码元的量化范围,如果超出码元的量化范围,则不用-5更新-9,且不用+3更新-4,且不用-3更新-7,同理,如果其他第二更新值超出了码元的量化范围,则放弃采用任一第二更新值更新第一码元;如果第二更新值-5,+3,-3均未超出码元的量化范围,则用-5更新-9,+3更新-4,-3更新-7。处理器404可以并行判断第二更新值-5,+3,-3是否超出码元的量化范围,也可以按照校验矩阵第1行中为1的位对应的第一码元的顺序,即先-5,再+3,再-3的顺序,判断第二更新值-5,+3,-3,如果有任一第一码元超出了码元的量化范围,则无须对剩下的第一码元进行判断。
设备实施例三中变量节点处理单元6042通过电路实现,校验节点处理单元6044通过电路实现。
设备实施例四中变量节点处理单元8042通过电路实现,校验节点处理单元8044通过电路实现。
方法实施例一中,步骤1004,获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持第a个第一码元不被更新,在判断该P个第二更新值中的第b个不超出该码元的量化范围时,采用该第b个第二更新值来更新第b个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该校验矩阵的第n行所对应的P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。步骤1004的执行细节参考设备实施例一中的处理单元204,或设备实施例三中的处理单元604及处理单元604中的各个子单元。
可选的,上述判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,即获取了该P个第二更新值中的每个第二更新值后,并行判断这P个第二更新值是否超出码元的量化范围,也可以按照校验矩阵第n行所对应的P个码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
方法实施例二中,步骤1204,获取校验矩阵的第n行所对应的P个第一码元,获取该P个第一码元对应的P个第一更新值,根据该P个第一更新值获得该P个第一码元对应的P个第二更新值,判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,在判断该P个第二更新值中的第a个超出该码元的量化范围时,保持该P个第一码元不被更新,在判断该P个第二更新值中的每个第二更新值均未超出超出该码元的量化范围时,采用该P个第二更新值来更新该P个第一码元,根据上述更新操作获得该校验矩阵的第n行所对应的P个第二码元,并根据该P个第二码元生成第二码字,该校验矩阵对应于该生成矩阵,包括N行,该1≤n≤N,该P≤M,1≤a≤P,1≤b≤P,每个第二更新值为每个第一更新值与对应的第一码元之和。步骤1204的执行细节参考设备实施例二中的处理单元404,或设备实施例四中的处理单元804及处理单元804中的各个子单元。
可选的,上述判断该P个第二更新值中的每个第二更新值是否超出码元的量化范围,可以并行对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断,即获取了该P个第二更新值中的每个第二更新值后,并行判断这P个第二更新值是否超出码元的量化范围,也可以按照校验矩阵第n行所对应的P个码元的顺序,从左至右依次对该P个第二更新值中的每个第二更新值是否超出码元的量化范围进行判断。
本申请中某个实施例中没有详述的部分,可以参见其他实施例的相关描述。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种译码设备,用于采用基于校验矩阵的迭代更新对低密度奇偶校验LDPC码的码字进行解码,其特征在于,所述码字包括M个码元且所述码字由编码设备基于生成矩阵生成,每个码元具有量化范围,所述校验矩阵与所述生成矩阵对应且所述校验矩阵包括N行和M列,N和M均为正整数,所述译码设备包括:
获取单元,用于获取所述码字;
变量节点处理单元,用于通过以下步骤处理所述码字的迭代更新的一轮:
根据所述校验矩阵的第n行从所述码字中获取P个第一码元,n为小于或等于N的正整数,P为大于或等于1的正整数;
发送所述P个第一码元至校验节点处理单元以根据所述校验矩阵的第n行生成所述P个第一码元对应的P个第一更新值;
从所述校验节点处理单元获取所述P个第一码元对应的P个第一更新值;
将所述P个第一更新值中的每个第一更新值与对应的第一码元求和以获得P个第二更新值;
确定每个第二更新值是否超过所述量化范围,如果任何一个第二更新值超过所述量化范围,则保留所述P个第一码元不更新,或者如果没有任一第二更新值超过所述量化范围,则采用所述P个第二更新值更新所述P个第一码元;
根据上述更新操作,获取所述校验矩阵的第n行对应的P个更新或不更新的码元;
根据所述校验矩阵的第n行对应的P个更新或不更新的码元生成更新的所述码字;
判决单元,用于获取更新的所述码字,判断更新的所述码字是否通过译码。
2.如权利要求1所述的译码设备,其特征在于,所述译码设备还包括存储模块;
存储单元,用于存储所述P个第一码元和所述P个第二更新值;
所述变量节点处理单元,用于确定任何一个第二更新值超过所述量化范围时,从所述存储单元读取所述P个第一码元,或者确定没有任一第二更新值超过所述量化范围时,从所述存储单元读取所述P个第二更新值。
3.一种译码方法,其特征在于,所述方法采用基于校验矩阵的迭代更新对LDPC码的码字进行解码,所述码字包括M个码元且所述码字由编码设备基于生成矩阵生成,每个码元具有量化范围,所述校验矩阵与所述生成矩阵对应且所述校验矩阵包括N行和M列,N和M均为正整数,所述方法包括:
获取所述码字;
通过以下步骤处理所述码字的迭代更新的一轮:
根据所述校验矩阵的第n行从所述码字中获取P个第一码元,n为小于或等于N的正整数,P为大于或等于1的正整数;
根据所述校验矩阵的第n行生成所述P个第一码元对应的P个第一更新值;
将所述P个第一更新值中的每个第一更新值与对应的第一码元求和以获得P个第二更新值;
确定每个第二更新值是否超过所述量化范围,如果任何一个第二更新值超过所述量化范围,则保留所述P个第一码元不更新,或者如果没有任一第二更新值超过所述量化范围,则采用所述P个第二更新值更新所述P个第一码元;
根据上述更新操作,获取所述校验矩阵的第n行对应的P个更新或不更新的码元;
根据所述校验矩阵的第n行对应的P个更新或不更新的码元生成更新的所述码字;
获取更新的所述码字,判断更新的所述码字是否通过译码。
4.一种信号传输系统,其特征在于,包括编码设备和如权利要求1或2所述的译码设备;
所述编码设备用于根据生成矩阵生成第一码字,并将所述第一码字通过通信通路传输至所述译码设备。
5.一种数据存储系统,其特征在于,包括编码设备,如权利要求1或2所述的译码设备和存储介质;
所述编码设备用于根据生成矩阵生成第一码字,并将所述第一码字存入所述存储介质,所述译码设备用于从所述存储介质获取所述第一码字。
CN201910422614.1A 2015-10-13 2015-12-14 译码设备、方法及信号传输系统 Active CN110289863B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2015/091887 2015-10-13
CN2015091887 2015-10-13
PCT/CN2015/097284 WO2017063263A1 (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统
CN201580081494.3A CN107852175B (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580081494.3A Division CN107852175B (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统

Publications (2)

Publication Number Publication Date
CN110289863A CN110289863A (zh) 2019-09-27
CN110289863B true CN110289863B (zh) 2022-04-05

Family

ID=58518218

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910422614.1A Active CN110289863B (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统
CN201580081494.3A Active CN107852175B (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580081494.3A Active CN107852175B (zh) 2015-10-13 2015-12-14 译码设备、方法及信号传输系统

Country Status (12)

Country Link
US (1) US10447300B2 (zh)
EP (1) EP3211798B1 (zh)
JP (1) JP6426272B2 (zh)
KR (2) KR102027354B1 (zh)
CN (2) CN110289863B (zh)
AU (2) AU2015400311B2 (zh)
BR (1) BR112017000548B1 (zh)
CA (1) CA2953609C (zh)
MX (1) MX358246B (zh)
RU (2) RU2639687C1 (zh)
SG (2) SG11201700048PA (zh)
WO (1) WO2017063263A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817728B (zh) * 2020-08-03 2022-03-01 华中科技大学 一种基于硬件实现ldpc编译码的仿真系统及其工作方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1802133A3 (en) * 1995-03-15 2008-11-12 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6240538B1 (en) * 1998-09-10 2001-05-29 Ericsson Inc. Method and apparatus for errors and erasures decoding
DE19907729C2 (de) * 1999-02-23 2001-02-22 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines Datenstroms aus Codeworten variabler Länge und Verfahren und Vorrichtung zum Lesen eines Datenstroms aus Codeworten variabler Länge
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
WO2003021440A1 (en) * 2001-09-01 2003-03-13 Bermai, Inc. Decoding architecture for low density parity check codes
KR100987658B1 (ko) * 2002-06-20 2010-10-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 직류 제어를 위한 안정된 디스패리티 채널코드
US7178080B2 (en) 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
JP3815557B2 (ja) 2002-08-27 2006-08-30 ソニー株式会社 符号化装置及び符号化方法、並びに復号装置及び復号方法
US7346832B2 (en) 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7127659B2 (en) 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
US7441178B2 (en) 2005-02-24 2008-10-21 Keyeye Communications Low complexity decoding of low density parity check codes
JP4595650B2 (ja) 2005-04-25 2010-12-08 ソニー株式会社 復号装置および復号方法
US7761768B2 (en) * 2005-06-24 2010-07-20 Intel Corporation Techniques for reconfigurable decoder for a wireless system
US7129862B1 (en) * 2005-07-29 2006-10-31 Texas Instruments Incorporated Decoding bit streams encoded according to variable length codes
KR20070084952A (ko) * 2006-02-22 2007-08-27 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7774689B2 (en) * 2006-03-17 2010-08-10 Industrial Technology Research Institute Encoding and decoding methods and systems
CN101064591B (zh) 2006-04-24 2010-05-12 中兴通讯股份有限公司 低密度奇偶校验码的译码方法及其校验节点更新电路
CN100499378C (zh) 2006-05-26 2009-06-10 清华大学 采用可变范围均匀量化的低密度奇偶校验码译码方法
US7613981B2 (en) * 2006-10-06 2009-11-03 Freescale Semiconductor, Inc. System and method for reducing power consumption in a low-density parity-check (LDPC) decoder
CN1996764A (zh) 2007-01-10 2007-07-11 北京航空航天大学 基于奇偶校验矩阵的ldpc码的译码方法及译码器
CN101047387B (zh) * 2007-03-23 2010-06-09 北京大学 一种多码率兼容ldpc码的构造方法及其译码器
US8291292B1 (en) * 2008-01-09 2012-10-16 Marvell International Ltd. Optimizing error floor performance of finite-precision layered decoders of low-density parity-check (LDPC) codes
JP4572937B2 (ja) 2008-01-23 2010-11-04 ソニー株式会社 復号装置および方法、プログラム、並びに記録媒体
US8313029B2 (en) * 2008-01-31 2012-11-20 Seiko Epson Corporation Apparatus and methods for decoding images
KR101398212B1 (ko) * 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
US8291283B1 (en) * 2008-06-06 2012-10-16 Marvell International Ltd. Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
JP2010009719A (ja) * 2008-06-30 2010-01-14 Fujitsu Ltd 復号器及び記録再生装置
US8442021B2 (en) * 2008-11-07 2013-05-14 Motorola Mobility Llc Radio link performance prediction in wireless communication terminal
CN101741396B (zh) * 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN101807928B (zh) * 2009-02-13 2013-06-05 瑞昱半导体股份有限公司 记录控制器及奇偶校验码译码器
KR20100110662A (ko) * 2009-04-03 2010-10-13 아주대학교산학협력단 저밀도 패러티 검사 부호의 복호 복잡도를 감소시키는 방법 및 장치
RU2011150914A (ru) * 2009-05-19 2013-06-27 Нокиа Корпорейшн Способ и устройство для кодирования с переменной длиной кодового слова
JP5445829B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
CN101854179B (zh) * 2010-05-26 2012-09-05 厦门大学 一种应用于ldpc译码的5比特量化方法
JP5556570B2 (ja) * 2010-10-13 2014-07-23 富士通株式会社 信号処理回路及び受信装置
CN102164023A (zh) 2011-03-31 2011-08-24 复旦大学 自适应动态量化ldpc码译码方法
CN102957436B (zh) * 2011-08-17 2017-11-10 北京泰美世纪科技有限公司 一种低密度奇偶校验码译码装置和译码方法
US8972817B2 (en) * 2011-08-22 2015-03-03 Telex Maglorie Ngatched Nkouatchah Two low complexity decoding algorithms for LDPC codes
US9264073B2 (en) * 2011-09-02 2016-02-16 Samsung Electronics Co., Ltd Freezing-based LDPC decoder and method
CN102545913B (zh) 2012-02-07 2015-05-27 中兴通讯股份有限公司 一种迭代译码方法及系统
US8954820B2 (en) * 2012-02-10 2015-02-10 Stec, Inc. Reduced complexity non-binary LDPC decoding algorithm
CN103873068A (zh) * 2012-12-14 2014-06-18 咏传电子科技(上海)有限公司 低密度奇偶检查的解码方法与电子装置
WO2015099331A1 (en) * 2013-12-24 2015-07-02 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
CN105049060B (zh) * 2015-08-14 2019-07-30 航天恒星科技有限公司 一种低密度奇偶码ldpc的译码方法及装置

Also Published As

Publication number Publication date
EP3211798A1 (en) 2017-08-30
EP3211798A4 (en) 2018-03-14
KR102027354B1 (ko) 2019-11-04
EP3211798B1 (en) 2019-12-04
MX2017002213A (es) 2017-09-01
RU2639687C1 (ru) 2017-12-21
US20180234113A1 (en) 2018-08-16
MX358246B (es) 2018-08-09
RU2688276C2 (ru) 2019-05-21
KR20170058912A (ko) 2017-05-29
JP6426272B2 (ja) 2018-11-21
RU2017142566A3 (zh) 2019-02-20
KR20180054518A (ko) 2018-05-24
BR112017000548B1 (pt) 2023-04-11
CA2953609A1 (en) 2017-04-13
CN107852175A (zh) 2018-03-27
JP2017534190A (ja) 2017-11-16
CN110289863A (zh) 2019-09-27
BR112017000548A2 (pt) 2017-11-14
AU2015400311B2 (en) 2017-11-02
SG10201707007QA (en) 2017-09-28
KR101813132B1 (ko) 2017-12-28
AU2017268580A1 (en) 2017-12-21
AU2015400311A1 (en) 2017-04-27
WO2017063263A1 (zh) 2017-04-20
US10447300B2 (en) 2019-10-15
RU2017142566A (ru) 2019-02-20
CA2953609C (en) 2018-01-30
AU2017268580B2 (en) 2019-06-13
CN107852175B (zh) 2019-05-28
SG11201700048PA (en) 2017-05-30

Similar Documents

Publication Publication Date Title
US8266495B2 (en) Systems and methods for performing concatenated error correction
US9047213B2 (en) Coding architecture for multi-level NAND flash memory with stuck cells
WO2020108586A1 (zh) 一种极化码译码方法及装置、多级译码器、存储介质
US20070162821A1 (en) Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus
US20170288698A1 (en) Power saving for bit flipping decoding algorithm in ldpc decoder
US9548761B2 (en) Coding and decoding of error correcting codes
CN115529046A (zh) 闪速存储系统中的对数似然比映射表
US20180302104A1 (en) Symbol-based coding for nand flash devices
US20160049962A1 (en) Method and apparatus of ldpc encoder in 10gbase-t system
CN110289863B (zh) 译码设备、方法及信号传输系统
CN113612485A (zh) 一种译码方法、译码装置、设备及存储装置
JP6567238B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
US20170161141A1 (en) Method and apparatus for correcting data in multiple ecc blocks of raid memory
JP2014078237A (ja) 縮退故障を有するメモリセルに対応するための冗長ビットの符号化および復号化
US9569302B1 (en) Decoding of turbo product codes using miscorrection detection
KR101304570B1 (ko) 패리티 체크 행렬 생성 방법, 이를 이용한 오류 정정 방법 및 장치, 오류 정정 장치용 디코더 그리고 오류 정정 장치를 포함하는 메모리 및 전자장치
US12119841B2 (en) G-LDPC decoder and G-LDPC decoding method
TWI769002B (zh) 資料儲存系統選擇解碼策略之裝置
KR20230102657A (ko) 버스트 에러 정정 코드 생성 방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램 및 장치
US8977926B2 (en) Modified targeted symbol flipping for non-binary LDPC codes
JP2021044750A (ja) メモリシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant