CN106537787A - 译码方法和译码器 - Google Patents

译码方法和译码器 Download PDF

Info

Publication number
CN106537787A
CN106537787A CN201480080748.5A CN201480080748A CN106537787A CN 106537787 A CN106537787 A CN 106537787A CN 201480080748 A CN201480080748 A CN 201480080748A CN 106537787 A CN106537787 A CN 106537787A
Authority
CN
China
Prior art keywords
decoding
code word
decoding result
goal
selling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480080748.5A
Other languages
English (en)
Other versions
CN106537787B (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 CN106537787A publication Critical patent/CN106537787A/zh
Application granted granted Critical
Publication of CN106537787B publication Critical patent/CN106537787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] 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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明实施例提供一种译码方法和译码器。包括:在对多个码字进行至少一次软判决译码后,判断软判决译码的译码结果是否满足切换为硬判决译码的切换条件,若不满足所述切换条件则在下一次译码时继续采用软判决译码,若满足所述切换条件则在下一次译码时切换为硬判决译码,并在后续的译码过程中一直使用硬判决译码直至跳出译码迭代。从而,能够在软判决译码的译码结果达到一定条件时,切换为功耗较小的硬判决译码,避免持续使用功耗较大的软判决译码,从而在能够实现在不损失译码性能的前提下降低译码器的功耗。

Description

译码方法和译码器 技术领域
本发明实施例涉及通信领域, 尤其涉及一种译码方法和译码器。 背景技术
在高速光传输系统中, 需要前向纠错(Forward error correction, FEC) 技术来提升系统的传输系能, 以支撑更远的传输距离。 所谓 FEC, 指的是 在发射端对所要传输的数据按照一定的规则进行编码, 引入一定的冗余 (即开销) ; 在接收端根据相应的编码规则进行译码, 从而纠正传输过程 中由噪声或信道损伤引入的数据传输错误。 FEC按译码方式可分为硬判决 FEC和软判决 FEC两种。
其中, 硬判决 FEC是指输入 FEC译码器的每比特数据只有 0、 1两种 取值, 该输入数据称为硬信息, 译码器在译码过程中也只计算和更新硬信 息, 最终输出的是硬信息。 软判决 FEC是指输入 FEC译码器的每比特数 据均用浮点数值或量化为多种取值的定点数值表示, 该数值的符号表示该 比特的 0、 1取值, 绝对值大小表示该取值的可信程度, 该输入数据称为 软信息, 译码器在译码过程中计算和更新的是也是软信息, 最终输出的是 硬信息。
硬判决 FEC的实现复杂度低,所需功耗低,但是对于传输系统的性能 提升不如软判决 FEC大,软判决 FEC对传输系统的性能提升高于硬判决, 但是实现复杂度高, 功耗高。 因此, 需要根据应用场景的不同来选择不同 译码方式, 因此, 在当前的 FEC芯片设计中, 希望能够在同一 FEC芯片 中能够支持多种应用场景下的译码, 同时还要满足系统的功耗、 延时等需 求。
因此, 在一种现有的译码器中, 包括硬判决模块和软判决模块, 在译 码开始时, 硬判决模块先启动, 对输入数据进行硬判决译码, 并在每一次 硬判决之后对硬判决译码结果进行检测, 当硬判决译码结果中的错误 (称 为残留误码) 满足一定条件后, 启动软判决模块, 进行软判决译码。 上述 现有技术中, 当硬判决译码不能正确译码时, 才切换为软判决译码, 而硬 判决译码失败的数据需要由软判决译码重新译码, 为了避免出现这个问 题, 在另一种现有技术中, 直接采用软判决译码, 在译码结果满足一定条 件时跳出译码, 然而一般在跳出译码前的若干次软判决译码中, 残留误码 已经很少, 使用软判决译码会造成译码器的大部分性能处于浪费状态, 会 消耗大量不必要的功耗。 发明内容
本发明实施例提供一种译码方法和译码器, 能够在不损失译码性能的 前提下降低译码器的功耗。
第一方面,本发明实施例提供一种译码方法,所述方法包括以下歩骤:
(a) 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软 判决译码后执行歩骤 (b);
(b) 判断歩骤 (a)的译码结果是否满足切换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满足所述切换条件则返回歩骤 (a);
(c) 对歩骤 a)的译码结果进行硬判决译码直至跳出译码迭代。
结合第一方面, 在第一种可能的实现方式中, 所述判断歩骤 (a)的译码 结果是否满足切换为硬判决译码的切换条件, 包括:
判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件;
或者, 根据所述译码准确的码字数目获取译码准确率; 所述译码准确 率为在一次软判决译码中译码准确的码字数与译码总码字数的之比;
判断所述译码准确率是否小于预设目标准确率;
若所述译码准确率小于所述预设目标准确率, 则确定不满足所述切换 条件;
若所述译码准确率大于或者等于所述预设目标准确率, 则确定满足所 述切换条件。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述预设目标数目和所述预设目标准确率是根据硬判决译码的纠错能 力预先设置的;
其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
结合第一方面的第一种可能的实现方式, 在第三种可能的实现方式 中, 歩骤 (a)的译码结果包括所述多个码字中每个码字的第一译码结果, 歩 骤 a)的译码结果中译码准确的码字数目的获取方法包括:
对所述多个码字进行硬判决译码得到所述多个码字中每个码字的第 二译码结果;
依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
或者,
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。
结合第一方面至第一方面的第三种可能的实现方式的任意一种, 在第 四种可能的实现方式中, 所述歩骤 (c)包括:
(d) 对歩骤 (a)的译码结果进行硬判决译码;
(e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
(f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
第二方面, 提供一种译码器, 所述译码器包括:
软判决译码单元,用于执行歩骤 (a 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软判决译码后执行歩骤 (b);
切换控制单元,用于执行歩骤 (b):判断歩骤 (a)的译码结果是否满足切 换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满 足所述切换条件则返回歩骤 (a);
硬判决译码单元, 用于执行歩骤 (c 对歩骤 (a)的译码结果进行硬判决 译码直至跳出译码迭代。
结合第二方面, 在第一种可能的实现方式中, 所述切换控制单元具体 用于:
判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件;
或者, 根据所述译码准确的码字数目获取译码准确率; 所述译码准确 率为在一次软判决译码中译码准确的码字数与译码总码字数的之比;
判断所述译码准确率是否小于预设目标准确率;
若所述译码准确率小于所述预设目标准确率, 则确定不满足所述切换 条件;
若所述译码准确率大于或者等于所述预设目标准确率, 则确定满足所 述切换条件。
结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述预设目标数目和所述预设目标准确率是根据硬判决译码的纠错能 力预先设置的;
其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
结合第二方面的第一种可能的实现方式, 在第三种可能的实现方式 中, 歩骤 (a)的译码结果包括所述多个码字中每个码字的第一译码结果, 所 述硬判决译码单元还用于对所述多个码字进行硬判决译码得到所述多个 码字中每个码字的第二译码结果;
所述切换控制单元还具体用于:
依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
或者,
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。
结合第二方面至第二方面的第三种可能的实现方式的任意一种, 在第 四种可能的实现方式中, 所述硬判决译码单元还用于:
(d) 对歩骤 (a)的译码结果进行硬判决译码;
(e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
(f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
第三方面, 提供一种译码器, 所述译码器包括: 处理器、 存储器、 输 入 /输出接口; 所述处理器、 所述存储器、 所述输入 /输出接口通过总线电 性连接; 所述输入 /输出接口用于与其他设备交互; 所述存储器用于存储计 算机程序; 当所述计算机程序被所述处理器运行时, 所述处理器执行以下 歩骤:
(a) 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软 判决译码后执行歩骤 (b);
(b) 判断歩骤 (a)的译码结果是否满足切换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满足所述切换条件则返回歩骤 (a);
(c) 对歩骤 (a)的译码结果进行硬判决译码直至跳出译码迭代。
结合第三方面, 在第一种可能的实现方式中, 所述处理器执行所述计 算机程序具体用于:
判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件;
或者, 根据所述译码准确的码字数目获取译码准确率; 所述译码准确 率为在一次软判决译码中译码准确的码字数与译码总码字数的之比; 判断所述译码准确率是否小于预设目标准确率;
若所述译码准确率小于所述预设目标准确率, 则确定不满足所述切换 条件;
若所述译码准确率大于或者等于所述预设目标准确率, 则确定满足所 述切换条件。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式 中,
所述预设目标数目和所述预设目标准确率是根据硬判决译码的纠错 能力预先设置的;
其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
结合第三方面的第一种可能的实现方式, 在第三种可能的实现方式 中, 歩骤 (a)的译码结果包括所述多个码字中每个码字的第一译码结果, 所 述处理器执行所述计算机程序具体用于:
对所述多个码字进行硬判决译码得到所述多个码字中每个码字的第 二译码结果; 依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
或者,
若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。
结合第三方面至第三方面的第一种可能的实现方式中的任意一种, 在 第四种可能的实现方式中, 所述处理器执行所述计算机程序具体用于: (d) 对歩骤 (a)的译码结果进行硬判决译码;
(e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
(f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
本发明实施例提供一种译码方法和译码器, 在对多个码字进行至少一 次软判决译码后, 判断软判决译码的译码结果是否满足切换为硬判决译码 的切换条件, 若不满足所述切换条件则在下一次译码时继续采用软判决译 码, 若满足所述切换条件则在下一次译码时切换为硬判决译码, 并在后续 的译码过程中一直使用硬判决译码直至跳出译码迭代。 从而, 能够在软判 决译码的译码结果达到一定条件时, 切换为功耗较小的硬判决译码, 避免 持续使用功耗较大的软判决译码, 从而在能够实现在不损失译码性能的前 提下降低译码器的功耗。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在 不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例提供的译码方法的流程示意图;
图 2为本发明实施例提供的译码方法的另一流程示意图;
图 3为本发明实施例提供的编码方案的示意图;
图 4为本发明实施例提供的获取基本序列的方法示意图;
图 5为本发明实施例提供的获取测试序列的方法示意图;
图 6为本发明实施例提供的译码方案的示意图;
图 7为本发明实施例提供的译码器的结构示意图;
图 8为本发明实施例提供的译码器的另一结构示意图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例提供的译码方法, 如图 1所示, 该方法包括:
5101、 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次 软判决译码后执行歩骤 S102。
5102、 判断歩骤 S101的译码结果是否满足切换为硬判决译码的切换 条件, 若满足切换条件则执行歩骤 S103 , 若不满足切换条件则返回歩骤
SlOl o
5103、 对歩骤 S101的译码结果进行硬判决译码直至跳出译码迭代。 其中, 需要说明的是, 一般情况下, N可以取 1, 即可以理解为在每 一次软判决译码之后, 就进行一次是否切换为硬判决译码的判断; 当不满 足切换条件时不进行切换, 在下一次软判决译码时依然使用软判决译码对 多个码字进行译码, 当 N=l时, 一般情况下, 下一次软判决译码和上一次 软判决译码的码字是不同的, 但是下一次软判决译码和上一次软判决译码 的码字数量是相同的; 当满足切换条件时切换为硬判决译码,对歩骤 S101 的译码结果进行硬判决译码, 可以理解为当一次软判决译码的译码结果满 足切换条件时, 在下一次译码时就采用硬判决译码, 该下一次译码的多个 码字中的一般包括上一次软判决译码结果中的全部或部分码字, 其中, 具 体是包括上一次软判决译码结果中的全部还是部分码字要视数据所采用 的编码方式而定。
本发明实施例提供一种译码方法, 在对多个码字进行至少一次软判决 译码后, 判断软判决译码的译码结果是否满足切换为硬判决译码的切换条 件, 若不满足切换条件则在下一次译码时继续采用软判决译码, 若满足切 换条件则在下一次译码时切换为硬判决译码, 并在后续的译码过程中一直 使用硬判决译码直至跳出译码迭代。 从而, 能够在软判决译码的译码结果 达到一定条件时, 切换为功耗较小的硬判决译码, 避免持续使用功耗较大 的软判决译码, 从而在能够实现在不损失译码性能的前提下降低译码器的 功耗。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术 方案, 下面通过具体的实施例, 对本发明的实施例提供的译码方法进行详 细说明, 另外为了方便说明, 在本实施例中使 N=l, 即在每一次软判决译 码之后都要进行是否切换为硬判决译码的判断, 示例性的, 本实施例中待 译码的码字可以采用 staircase (阶梯) TPC ( Turbo Product Code, Turbo 乘积码) 编码方案, 如图 2所示, 该方法包括以下歩骤:
在第 N次译码中 (第 N次译码可以是软判决译码过程中的任意一次 软判决译码) 软判决译码的具体过程可以包括:
S201、 获取待译码的多个码字的软信息。 该多个码字的软信息包括每 个码字的软信息。
具体的, 待译码的码字采用上述 staircase TPC编码方案可以如图 3所 示, 采用该编码方案的每个比特被横向 BCH ( Bose ay-Chaudhuri
Hocquenghem ) 1和纵向 BCH2两个 BCH子码编码保护, 故可以称为软判 决 BCH算法。 示例性的, 这里横向 BCH1和纵向 BCH2两个子码均采用 BCH ( 512,491 )纠三个错的码字(BCH1和 BCH2也可以采用不同的 BCH 码字实现) 。 编码以一帧数据 (256*256比特) 为单位, 相邻两帧数据用 相同种类的 BCH码字编码。如图 3所示,第 0帧和第 1帧即采用横向 BCH1 ( 512, 491 )码字编码, 编码后从横向看即为 256个 512比特长度的 BCH 码字。 然后第 1帧接着和第 2帧用纵向的 BCH2 ( 512,491 ) 码字编码 (这 里 BCH1和 2使用相同的 BCH编码方案, 也可以使用不同的) , 编码后 从纵向看也是 256个 512比特长度的 BCH码字。
其中, 每个码字的软信息, 是指该每个码字的每个比特位取值的软信 息, 包括取值和取值的置信度, 其数学表示为每个比特等于 1的后验概率 与其等于 0的后验概率的比值的对数。 其取值为正数表示该比特更可能等 于 1, 取值为负数表示该比特更可能等于 0, 而其绝对值大小则可以表示 相应取值的可信程度, 绝对值越大该取值越可靠。
示例性的, 码字中某一比特位的软信息可以通过以下算法获取:
APPl = LLR + Ex_ inof^ * a ( 1 ) 其中, PP/表示第 1次译码迭代中,上述某一比特的软信息, H KLog
Likelihood Ratio, 对数似然比) 表示信道输入的初始置信度, Ex」nfol-l 为第 /-7次次迭代译码输出的外信息(/ N, 1为正整数) , 《为权重系数, α随迭代过程慢慢增大。 根据上述算发可知, 在第 1次译码中, 获取信道输入的每个码字中的 每个比特位的 LLR信息作为软信息; 在第 2次译码及后续软判决译码歩 骤中, 根据信道输入的每个码字中的每个比特位的 LLR信息, 以及该比 特位对应的外信息 EXJnfo获取该比特位的软信息。
S202、 根据每个码字中的每个比特位的软信息, 为每个码字生成至少 一个测试序列。
上述软判决 BCH算法的核心思想是通过有限量的测试错误图样来尝 试估计并纠正码字错误, 因此测试序列的生成是其中的关键歩骤, 测试序 列的数量也对算法性能有很大的影响。 根据上文所述, 某一比特位的软信 息的绝对值可以表示该比特为取值的可靠程度, 绝对值越小说明该比特位 的取值越不可靠, 其为错误比特的概率也就越大。 因此, 对于一个码字, 首先选取该码字上软信息的绝对值最小的 P个比特位, 认为该码字的错误 最有可能出现在该 P个位置 (P为大于零的整数, P的取值可以根据需要 设置, 此处不做限定) 。 而后, 根据这 P个位置构造 2P个测试序列 (Test Sequence, TS ) 。 具体的构造方法, 例如:
选出每个码字的 P个比特位后, 将每个码字的 P个比特位依次遍历 0 和 1取值, 并将该码字中除了 P个比特位之外的比特位取 0, 得到 2P个基 本序歹 lj ( Basic Sequence, BS ) 。
示例性的, 假设 P=2, 并假设这 2个位置为码字的第 3位和第 7位, 则分别使上述第 3位和第 7位依次取值 1和 0,得到 22=4个 BS( BS1~BS4 ), 如图 4所示。
在得到 BS后, 获取对每个码字的软信息进行硬判决译码得到的每个 码字的第二译码结果, 记为 DQ, 将每个码字的 DQ与该码字的 2P个 BS获 取该码字的 2P个 TS。 具体的, 可以将每个码字的 DQ与该码字的 2P个基 本序列做模二加法, 得到 2P个 TS。 示例性的, 利用图 4所示的 4个 BS ( BS1-BS4 ) 构造 TS , 得到的 TS ( TS1-TS4 ) 可以如图 5所示。
S203、根据为每个码字生成的所有测试序列对每个码字进行软判决译 码, 得到每个码字的至少一个硬输出结果。
进行软判决译码后得到 K个输出码字, 即 K个硬输出结果, K 2P, 这是因为有些 TS可能超出译码能力从而不能正常译码。
S204、 从每个码字的所有硬输出结果中选取最优硬输出结果, 作为该 码字的第一译码结果。
示例性的,从某译码字软判决译码后的 K个硬输出结果中选取最优硬 输出结果, 可以通过:
首先, 获取该码字 κ个硬输出结果与该码字软信息之间欧氏距离, 这 可以根据该码字每个硬输出结果的每个比特位的取值, 以及该码字的每个 比特位的软信息, 利用欧氏距离公式获取, 比如: 需要注意的是, 在计算欧式距离时, 需要将硬输出结果中的比特取值 从 (1 ,0 ) 相应转化为 (1, -1 ) 从而与软信息的取值范围相对应。
根据上述算法, 根据 κ个硬输出结果就可得到 K个欧氏距离, 而后 选取最小的欧氏距离对应的硬输出结果为最优硬输出结果, 作为第一译码 结果。
S205、 根据每个码字中的每个比特位的软信息、 第一译码结果、 次优 硬输出结果获取该码字中的每个比特位的外信息。
由于所用 FEC采用卷积编码 +窗口译码的方式来提升性能, 因此在完 成当次软判决译码之后, 还需要计算出本次译码获得的每个比特的外信息 Exjnfo并传递给下一次的软判决译码来生成下一次的软判决译码的软信 息, 从而实现置信度在译码过程中的有效传递。
示例性的, 可以根据 :
其中, 表示一个码字第 比特位的外信息, 表示软判决译码的输 入软信息, D为该码字的第一译码结果 (即上述的最优硬输出结果) , C 为次优硬输出结果(该码字的所有硬输出结果中除了最优硬输出结果外最 优的硬输出结果, 也可以称为竞争码字) , 而 为 D中的第 比特位的取 值 (1/-1 ) 。 由于 P的取值有限, 所以有可能在 K个输出结果中中找不到 满足上述要求的 C, 这时, 该比特位的外信息可以采用下面的近似算法获 取:
w = d} ( 4 ) 其中, 为权重系数, 随着译码流程取值慢慢增加, 其具体取值可通 过仿真优化得到。
由此可见, 每一次软判决译码的译码结果通过外信息影响下一次软判 决译码, 所以上述每一软判决译码也可以称为一次译码迭代。
5206、 判断是否达到最大译码次数。 若达到最大译码次数, 则执行 S211 ; 否则, 执行 S207。
5207、 根据译码结果获取关于软判决译码的动态控制信息, 判断动态 控制信息是否满足切换条件。若满足切换条件则在第 N+1次译码中, 执行 S208 ; 若不满足则在第 N+l次译码中, 重复执行 S201~S207。 具体的, 上述动态控制信息可以为第 N次译码中, 译码准确的码字数 目, 或者译码准确率。 其中, 译码准确率是指在一次软判决译码中译码准 确的码字数与译码总码字数的之比。
首先, 若选取译码准确的码字数目判断是否满足切换为硬判决译码, 则可以包括:
判断歩骤 S204中获取的译码结果中译码准确的码字数目是否达到预 设目标数目, 若达到预设目标数目, 则为满足切换条件, 若未达到预设目 标数目, 则为不满足切换条件。
其中, 预设目标数目是根据硬判决译码能够纠正的错误码字数来设置 的, 通常预设目标数目 =一次软判决译码中总码字数-硬判决译码能够纠正 的错误码字数, 比如硬判决译码能够纠正的错误码字数为 3, 由于本实施 例中一次软判决译码的码字数为 256, 故预设目标数目可以设置为 253, 当然也可以设置为 254~256。 另外, 上述硬判决译码能够纠正的错误码字 数通常是由译码器中的译码内核的性能决定的。
而判断译码结果中的一个码字是否译码准确, 可以通过以下方式: 将 S204中获取的每个码字的译码结果作为该码字的第一译码结果, 并对 S201中的多个码字进行硬判决译码得到的该多个码字中每个码字的 第二译码结果;
而后, 依次将每个码字的第一译码结果和第二译码结果进行比较, 若 该码字的第一译码结果与第二译码结果相同, 则确定该码字的译码准确, 而后进行统计就能够得到译码准确的码字数目。
其中, 确定一个码字的第一译码结果和第二译码结果是否相同, 可以 通过以下方式:
将码字的第一译码结果中的每个比特位的取值与第二译码结果中的 每个对应比特位进行一一对比, 若该码字的第一译码结果中的每个比特位 的取值与第二译码结果中的每个对应比特位的取值完全相同, 则确定第一 译码结果与第二译码结果相同; 或者, 若该码字的第一译码结果中的每个 比特位的取值与第二译码结果中的每个对应比特位中取值不同的比特位 的个数小于或等于预设个数, 确定第一译码结果与第二译码结果相同。 为了方便理解, 示例性的, 本实施例中, 一个码字为 512比特, 其软 判决译码后的第一译码结果和硬判决译码后的第二译码结果也都为 512比 特,将该码字的第一译码结果的第 1比特与第二译码结果的第 1比特比较, 第一译码结果的第 2比特与第二译码结果的第 2比特比较, 以此类推, 若 第一译码结果与第二译码结果的 512个比特相同, 就可以确定第一译码结 果与第二译码结果相同。 当然, 对于有些业务可能允许出现个别差错, 因 此可以设置一个预设个数, 比如 510个, 作为门限值, 第一译码结果与第 二译码结果的 512个比特中相同的比特只要不低于 510个, 就可以确定第 一译码结果与第二译码结果相同。
其次, 若选取译码准确率判断是否满足切换为硬判决译码, 则可以包 括:
根据译码准确的码字数目获取译码准确率;
判断译码准确率是否小于预设目标准确率;
若译码准确率小于预设目标准确率, 则确定不满足切换条件; 若译码准确率大于或者等于预设目标准确率, 则确定满足切换条件。 其中, 预设目标准确率=预设目标数目除以一次软判决译码中总码字 数所得的商。 其中, 该预设目标数目的获取方法与前述方法相同, 不再赘 述。
示例性的, 依然假设硬判决译码能够纠正的错误码字数为 3, 则可以 得出预设目标准确率 =253/256 98.883%。
S208、 对 S204的译码结果进行硬判决译码。
其中, 需要说明的是, 对 S204的译码结果进行硬判决译码, 应该理 解为对 S204软判决译码结果中的全部或部分码字进行硬判决译码, 其中, 具体是包括该译码结果中的全部还是部分码字要视数据所采用的编码方 式而定。 比如, 在本实施例中, 由于采用了如图 3所示的 staircase TPC编 码方案, 故对应的在解码时的流程可以如图 6所示, 第 1次译码时, 是对 第 n帧和第 n-1帧 (每帧数据为 256*256比特) 数据组成的 256个码字进 行横向的译码, 第 1次译码完成后第 n帧和第 n-1帧的 256个码字上的每 个比特的数值被更新, 而后对第 n-1帧和第 n-2帧进行纵向的译码, 其中 可以看出在第 1次译码完成后第 n-1帧更新后的每个比特的数值作为第 2 次译码的一部分输入码字, 即第 2次译码是对第 1次译码的部分译码结果 进行译码。 上述的译码方式仅仅为示例, 包括但不限于此。
S209、 判断是否达到最大译码次数。 若达到最大译码次数, 则执行 S21 1 ; 否则, 执行 S210。
S210、 根据译码结果获取关于硬判决译码的动态控制信息, 判断动态 控制信息是否满足跳出条件。若满足切换条件则执行 S21 1 ; 若不满足则在 第 N+2次译码中, 重复执行 S208~S210。
其中, 关于硬判决译码的动态控制信息可以为 S208的译码结果中的 准确译码的码字数目, 该准确译码的码字数目通常是从译码器的译码内核 获取的, 比如在一次硬判决译码中, 根据译码内核对这次译码的报错数获 取准确译码的码字数目。
而判断是否满足跳出条件, 则可以判断准确译码的码字数目是否等于
S204的译码结果的码字总数, 也就是判断硬判决译码是否未出错。 例如, S204的译码结果为 256个码字, 报错为 0, 则确认 256个码字全部译码正 确, 可以跳出。
S21 1、 跳出译码迭代, 输出译码结果。
本发明实施例提供一种译码方法, 在对多个码字进行至少一次软判决译 码后, 判断软判决译码的译码结果是否满足切换为硬判决译码的切换条件, 若不满足切换条件则在下一次译码时继续采用软判决译码, 若满足切换条件 则在下一次译码时切换为硬判决译码, 并在后续的译码过程中一直使用硬判 决译码直至跳出译码迭代。 从而, 能够在软判决译码的译码结果达到一定条 件时, 切换为功耗较小的硬判决译码, 避免持续使用功耗较大的软判决译码, 从而在能够实现在不损失译码性能的前提下降低译码器的功耗。
本发明实施例提供一种译码器 1, 如图 7所示, 译码器 1包括: 软判决译码单元 1 1, 用于执行歩骤 (a 对多个码字进行 N次软判决 译码, N大于或等于 1, 完成 N次软判决译码后执行歩骤 (b:)。
切换控制单元 12, 用于执行歩骤 (b) : 判断歩骤 (a)的译码结果是否满 足切换为硬判决译码的切换条件, 若满足切换条件则执行歩骤 (c), 若不满 足切换条件则返回歩骤 (a:)。
硬判决译码单元 13, 用于执行歩骤 (c 对歩骤 (a)的译码结果进行硬 判决译码直至跳出译码迭代。
可选的, 切换控制单元 12可以具体用于:
判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足切换条件, 若未达到预设目标数目, 则为不满足切换条件;
或者, 根据译码准确的码字数目获取译码准确率; 译码准确率为在一 次软判决译码中译码准确的码字数与译码总码字数的之比;
判断译码准确率是否小于预设目标准确率;
若译码准确率小于预设目标准确率, 则确定不满足切换条件; 若译码准确率大于或者等于预设目标准确率, 则确定满足切换条件。 可选的, 预设目标数目和预设目标准确率是根据硬判决译码的纠错能 力预先设置的;
其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
可选的, 歩骤 a)的译码结果包括多个码字中每个码字的第一译码结 果, 硬判决译码单元 13还可以用于对多个码字进行硬判决译码得到多个 码字中每个码字的第二译码结果;
切换控制单元 12还可以具体用于:
依次将多个码字中每个码字的第一译码结果和第二译码结果进行比 较, 若该码字的第一译码结果与第二译码结果相同, 则确定该码字的译码 准确, 得到译码准确的码字数目;
其中, 判断第一译码结果与第二译码结果是否相同的方法包括: 若该码字的第一译码结果中的每个比特位的取值与第二译码结果中 的每个对应比特位的取值完全相同, 则确定第一译码结果与第二译码结果 相同;
或者,
若该码字的第一译码结果中的每个比特位的取值与第二译码结果中 的每个对应比特位中取值不同的比特位的个数小于或等于预设个数, 确定 第一译码结果与第二译码结果相同。
可选的, 硬判决译码单元 13还可以用于:
(d) 对歩骤 (a)的译码结果进行硬判决译码;
(e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
(f)判断准确译码的码字数目是否等于歩骤 (d)的译码结果的码字总数,若 准确译码的码字数目等于码字总数, 则确定满足跳出条件, 跳出译码迭代; 若准确译码的码字数目小于码字总数, 则确定不满足跳出条件, 则对歩骤 (d) 的译码结果进行硬判决译码, 并再次执行歩骤 (e)和 (f)。
本发明实施例提供一种译码器, 在对多个码字进行至少一次软判决译码 后, 判断软判决译码的译码结果是否满足切换为硬判决译码的切换条件, 若 不满足切换条件则在下一次译码时继续采用软判决译码, 若满足切换条件则 在下一次译码时切换为硬判决译码, 并在后续的译码过程中一直使用硬判决 译码直至跳出译码迭代。 从而, 能够在软判决译码的译码结果达到一定条件 时, 切换为功耗较小的硬判决译码, 避免持续使用功耗较大的软判决译码, 从而在能够实现在不损失译码性能的前提下降低译码器的功耗。
上述装置实施例用于实现上述各方法实施例, 本实施例中各个单元的具 体工作流程和工作原理参见上述各方法实施例中的描述, 在此不再赘述。
本发明实施例提供一种译码器 2, 如图 8所示, 译码器 1包括: 处理器 21、 存储器 22、 输入 /输出接口 23 ; 处理器 21、 存储器 22、 输入 /输出接口 23通过总线 24 电性连接; 输入 /输出接口 23用于与其他设备交互; 存储器 22用于存储计算机程序 221 ; 处理器 21用于执行计算机程序用于 221 :
(a) 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软 判决译码后执行歩骤 (b);
(b) 判断歩骤 (a)的译码结果是否满足切换为硬判决译码的切换条件, 若满足切换条件则执行歩骤 (C) , 若不满足切换条件则返回歩骤 (a);
(c) 对歩骤 a)的译码结果进行硬判决译码直至跳出译码迭代。
可选的, 处理器 21执行计算机程序 221可以具体用于:
判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足切换条件, 若未达到预设目标数目, 则为不满足切换条件; 或者, 根据译码准确的码字数目获取译码准确率; 译码准确率为在一 次软判决译码中译码准确的码字数与译码总码字数的之比;
判断译码准确率是否小于预设目标准确率;
若译码准确率小于预设目标准确率, 则确定不满足切换条件; 若译码准确率大于或者等于预设目标准确率, 则确定满足切换条件。 可选的,
预设目标数目和预设目标准确率是根据硬判决译码的纠错能力预先 设置的;
其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
可选的, 歩骤 a)的译码结果包括多个码字中每个码字的第一译码结 果, 处理器 21执行计算机程序 221可以具体用于:
对多个码字进行硬判决译码得到多个码字中每个码字的第二译码结 果;
依次将多个码字中每个码字的第一译码结果和第二译码结果进行比 较, 若该码字的第一译码结果与第二译码结果相同, 则确定该码字的译码 准确, 得到译码准确的码字数目;
其中, 判断第一译码结果与第二译码结果是否相同的方法包括: 若该码字的第一译码结果中的每个比特位的取值与第二译码结果中 的每个对应比特位的取值完全相同, 则确定第一译码结果与第二译码结果 相同;
或者,
若该码字的第一译码结果中的每个比特位的取值与第二译码结果中 的每个对应比特位中取值不同的比特位的个数小于或等于预设个数, 确定 第一译码结果与第二译码结果相同。
可选的, 处理器 21执行计算机程序 221可以具体用于:
(d) 对歩骤 (a)的译码结果进行硬判决译码;
(e) 获取歩骤 (d)的译码结果中的准确译码的码字数目; (f)判断准确译码的码字数目是否等于歩骤 (d)的译码结果的码字总数,若 准确译码的码字数目等于码字总数, 则确定满足跳出条件, 跳出译码迭代; 若准确译码的码字数目小于码字总数, 则确定不满足跳出条件, 则对歩骤 (d) 的译码结果进行硬判决译码, 并再次执行歩骤 (e)和 (f)。
本发明实施例提供一种译码器, 在对多个码字进行至少一次软判决译码 后, 判断软判决译码的译码结果是否满足切换为硬判决译码的切换条件, 若 不满足切换条件则在下一次译码时继续采用软判决译码, 若满足切换条件则 在下一次译码时切换为硬判决译码, 并在后续的译码过程中一直使用硬判决 译码直至跳出译码迭代。 从而, 能够在软判决译码的译码结果达到一定条件 时, 切换为功耗较小的硬判决译码, 避免持续使用功耗较大的软判决译码, 从而在能够实现在不损失译码性能的前提下降低译码器的功耗。
上述装置实施例用于实现上述各方法实施例, 本实施例中各个单元的具 体工作流程和工作原理参见上述各方法实施例中的描述, 在此不再赘述。
在本发明所提供的几个实施例中, 应该理解到, 所揭露的装置和方法, 可以通过其它的方式实现。例如, 以上所描述的装置实施例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外 的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统, 或 一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或 直接耦合或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信连 接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地 方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的 部分或者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元 中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在 一个单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用硬 件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元, 可以存储在一个计算 机可读取存储介质中。 上述软件功能单元存储在一个存储介质中, 包括若 干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网络 设备等) 或处理器 (processor) 执行本发明各个实施例所述方法的部分歩 骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器 (Read-Only Memory, ROM) 、 随机存取存储器 ( Random Access Memory, RAM) 、 磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到, 为描述的方便和简洁, 仅以上述 各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而将上述功 能分配由不同的功能模块完成, 即将装置的内部结构划分成不同的功能模 块, 以完成以上描述的全部或者部分功能。 上述描述的装置的具体工作过 程, 可以参考前述方法实施例中的对应过程, 在此不再赘述。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

  1. 权 利 要 求 书
    1、 一种译码方法, 其特征在于, 所述方法包括以下歩骤:
    (a) 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软 判决译码后执行歩骤 (b);
    (b) 判断歩骤 (a)的译码结果是否满足切换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满足所述切换条件则返回歩骤 (a);
    (c) 对歩骤 a)的译码结果进行硬判决译码直至跳出译码迭代。
  2. 2、 根据权利要求 1所述的方法, 其特征在于, 所述判断歩骤 (a)的译 码结果是否满足切换为硬判决译码的切换条件, 包括:
    判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件; 或者,
    根据所述译码准确的码字数目获取译码准确率; 所述译码准确率为在 —次软判决译码中译码准确的码字数与译码总码字数的之比; 判断所述译 码准确率是否小于预设目标准确率; 若所述译码准确率小于所述预设目标 准确率, 则确定不满足所述切换条件; 若所述译码准确率大于或者等于所 述预设目标准确率, 则确定满足所述切换条件。
  3. 3、 根据权利要求 2所述的方法, 其特征在于, 所述预设目标数目和 / 或所述预设目标准确率是根据硬判决译码的纠错能力预先设置的;
    其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
    所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
  4. 4、 根据权利要求 2所述的方法, 其特征在于, 歩骤 (a)的译码结果包 括所述多个码字中每个码字的第一译码结果,歩骤 (a)的译码结果中译码准 确的码字数目的获取方法包括:
    对所述多个码字进行硬判决译码得到所述多个码字中每个码字的第 二译码结果;
    依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
    其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
    或者,
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。
  5. 5、 根据权利要求 1-4任一所述的方法, 其特征在于, 歩骤 (c)包括:
    (d) 对歩骤 (a)的译码结果进行硬判决译码;
    (e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
    (f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
  6. 6、 一种译码器, 其特征在于, 所述译码器包括:
    软判决译码单元,用于执行歩骤 (a 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软判决译码后执行歩骤 (b);
    切换控制单元,用于执行歩骤 (b):判断歩骤 (a)的译码结果是否满足切 换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满 足所述切换条件则返回歩骤 (a);
    硬判决译码单元, 用于执行歩骤 (c 对歩骤 (a)的译码结果进行硬判决 译码直至跳出译码迭代。
  7. 7、 根据权利要求 6所述的译码器, 其特征在于, 所述切换控制单元 具体用于:
    判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件; 或者,
    根据所述译码准确的码字数目获取译码准确率; 所述译码准确率为在 一次软判决译码中译码准确的码字数与译码总码字数的之比; 判断所述译 码准确率是否小于预设目标准确率; 若所述译码准确率小于所述预设目标 准确率, 则确定不满足所述切换条件; 若所述译码准确率大于或者等于所 述预设目标准确率, 则确定满足所述切换条件。
  8. 8、 根据权利要求 7所述的译码器, 其特征在于, 所述预设目标数目 和 /或所述预设目标准确率是根据硬判决译码的纠错能力预先设置的; 其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
    所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
  9. 9、 根据权利要求 7所述的译码器, 其特征在于, 歩骤 (a)的译码结果 包括所述多个码字中每个码字的第一译码结果, 所述硬判决译码单元还用 于对所述多个码字进行硬判决译码得到所述多个码字中每个码字的第二 译码结果;
    所述切换控制单元还具体用于:
    依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
    其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
    或者,
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。 10、 根据权利要求 6-9任一所述的译码器, 其特征在于, 所述硬判决 译码单元还用于:
    (d) 对歩骤 (a)的译码结果进行硬判决译码;
    (e) 获取歩骤 (d)的译码结果中的准确译码的码字数目;
    (f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
  10. 11、 一种译码器, 其特征在于, 所述译码器包括: 处理器、 存储器、 输入 /输出接口; 所述处理器、 所述存储器、 所述输入 /输出接口通过总线 电性连接; 所述输入 /输出接口用于与其他设备交互; 所述存储器用于存储 计算机程序; 当所述计算机程序被所述处理器运行时, 所述处理器执行以 下歩骤:
    (a) 对多个码字进行 N次软判决译码, N大于或等于 1, 完成 N次软 判决译码后执行歩骤 (b);
    (b) 判断歩骤 (a)的译码结果是否满足切换为硬判决译码的切换条件, 若满足所述切换条件则执行歩骤 (c), 若不满足所述切换条件则返回歩骤 (a);
    (c) 对歩骤 (a)的译码结果进行硬判决译码直至跳出译码迭代。
  11. 12、 根据权利要求 11所述的译码器, 其特征在于, 所述处理器执行 所述计算机程序具体用于:
    判断歩骤 (a)的译码结果中译码准确的码字数目是否达到预设目标数 目, 若达到预设目标数目, 则为满足所述切换条件, 若未达到预设目标数 目, 则为不满足所述切换条件;
    或者, 根据所述译码准确的码字数目获取译码准确率; 所述译码准确 率为在一次软判决译码中译码准确的码字数与译码总码字数的之比;
    判断所述译码准确率是否小于预设目标准确率;
    若所述译码准确率小于所述预设目标准确率, 则确定不满足所述切换 条件; 若所述译码准确率大于或者等于所述预设目标准确率, 则确定满足所 述切换条件。
  12. 13、 根据权利要求 12所述的译码器, 其特征在于,
    所述预设目标数目和所述预设目标准确率是根据硬判决译码的纠错 能力预先设置的;
    其中, 所述预设目标数目等于一次软判决译码中总码字数减去硬判决 译码能够纠正的错误码字数所得的差;
    所述预设目标准确率等于所述预设目标数目除以一次软判决译码中 总码字数所得的商。
  13. 14、 根据权利要求 12所述的译码器, 其特征在于, 歩骤 (a)的译码结 果包括所述多个码字中每个码字的第一译码结果, 所述处理器执行所述计 算机程序具体用于:
    对所述多个码字进行硬判决译码得到所述多个码字中每个码字的第 二译码结果;
    依次将所述多个码字中每个码字的所述第一译码结果和所述第二译 码结果进行比较, 若该码字的所述第一译码结果与所述第二译码结果相 同, 则确定该码字的译码准确, 得到所述译码准确的码字数目;
    其中, 判断所述第一译码结果与所述第二译码结果是否相同的方法包 括:
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位的取值完全相同, 则确定所述第一译码结果与 所述第二译码结果相同;
    或者,
    若该码字的所述第一译码结果中的每个比特位的取值与所述第二译 码结果中的每个对应比特位中取值不同的比特位的个数小于或等于预设 个数, 确定所述第一译码结果与所述第二译码结果相同。
  14. 15、 根据权利要求 11-14所述的译码器, 其特征在于, 所述处理器执 行所述计算机程序具体用于:
    (d) 对歩骤 (a)的译码结果进行硬判决译码;
    (e) 获取歩骤 (d)的译码结果中的准确译码的码字数目; (f) 判断所述准确译码的码字数目是否等于歩骤 (d)的译码结果的码字 总数, 若所述准确译码的码字数目等于所述码字总数, 则确定满足跳出条 件, 跳出译码迭代; 若所述准确译码的码字数目小于所述码字总数, 则确 定不满足跳出条件, 则对歩骤 (d)的译码结果进行硬判决译码, 并再次执行 歩骤 (e)和 (f)。
CN201480080748.5A 2014-07-31 2014-07-31 译码方法和译码器 Active CN106537787B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/083434 WO2016015288A1 (zh) 2014-07-31 2014-07-31 译码方法和译码器

Publications (2)

Publication Number Publication Date
CN106537787A true CN106537787A (zh) 2017-03-22
CN106537787B CN106537787B (zh) 2019-10-22

Family

ID=55216644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480080748.5A Active CN106537787B (zh) 2014-07-31 2014-07-31 译码方法和译码器

Country Status (3)

Country Link
EP (1) EP3171520A4 (zh)
CN (1) CN106537787B (zh)
WO (1) WO2016015288A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787641A (zh) * 2017-11-15 2019-05-21 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
CN111277355A (zh) * 2018-12-04 2020-06-12 深圳市中兴微电子技术有限公司 一种tpc译码中纠死锁的方法及装置
CN111416628A (zh) * 2020-04-09 2020-07-14 重庆邮电大学 基于随机表征的bch软判决信道码译码装置
CN113014267A (zh) * 2019-12-18 2021-06-22 华为技术有限公司 译码方法、设备、可读存储介质、芯片及计算机程序产品
CN113131947A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 译码方法、译码器和译码装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020874A1 (en) * 2004-07-26 2006-01-26 Desai Vipul A Decoder performance for block product codes
US20060045214A1 (en) * 2004-08-31 2006-03-02 Sanyo Electric Co., Ltd Receiving method and apparatus for variable rate
CN1918808A (zh) * 2004-09-02 2007-02-21 松下电器产业株式会社 发射方法、接收方法、发射设备、接收设备和收发设备
CN101087180A (zh) * 2006-06-08 2007-12-12 华为技术有限公司 无线信道的译码方法、装置及其应用
US20090158127A1 (en) * 2007-12-18 2009-06-18 Toshiyuki Miyauchi Decoding apparatus and decoding method
US20090327832A1 (en) * 2008-06-30 2009-12-31 Fujitsu Limited Decoder and recording/reproducing device
US20120266051A1 (en) * 2011-04-13 2012-10-18 Cortina Systems, Inc. Staircase forward error correction coding
CN103503319A (zh) * 2013-04-03 2014-01-08 华为技术有限公司 一种译码方法、译码装置和通信系统
CN104081358A (zh) * 2011-11-18 2014-10-01 桑迪士克企业知识产权有限责任公司 用于解码具有多个奇偶校验段的码字的系统、方法和设备
CN105099609A (zh) * 2014-05-15 2015-11-25 华为技术有限公司 软判决译码的方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020874A1 (en) * 2004-07-26 2006-01-26 Desai Vipul A Decoder performance for block product codes
US20060045214A1 (en) * 2004-08-31 2006-03-02 Sanyo Electric Co., Ltd Receiving method and apparatus for variable rate
CN1918808A (zh) * 2004-09-02 2007-02-21 松下电器产业株式会社 发射方法、接收方法、发射设备、接收设备和收发设备
CN101087180A (zh) * 2006-06-08 2007-12-12 华为技术有限公司 无线信道的译码方法、装置及其应用
US20090158127A1 (en) * 2007-12-18 2009-06-18 Toshiyuki Miyauchi Decoding apparatus and decoding method
US20090327832A1 (en) * 2008-06-30 2009-12-31 Fujitsu Limited Decoder and recording/reproducing device
US20120266051A1 (en) * 2011-04-13 2012-10-18 Cortina Systems, Inc. Staircase forward error correction coding
CN104081358A (zh) * 2011-11-18 2014-10-01 桑迪士克企业知识产权有限责任公司 用于解码具有多个奇偶校验段的码字的系统、方法和设备
CN103503319A (zh) * 2013-04-03 2014-01-08 华为技术有限公司 一种译码方法、译码装置和通信系统
CN105099609A (zh) * 2014-05-15 2015-11-25 华为技术有限公司 软判决译码的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A.AL-DWEIK 等: "A Hybrid Decoder for Block Turbo Codes", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 *
LEI M. ZHANG 等: "Staircase Codes With 6% to 33% Overhead", 《JOURNAL OF LIGHTWAVE TECHNOLOGY》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787641A (zh) * 2017-11-15 2019-05-21 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
CN109787641B (zh) * 2017-11-15 2024-02-06 中兴通讯股份有限公司 staircase码的解码方法、装置及存储介质
CN111277355A (zh) * 2018-12-04 2020-06-12 深圳市中兴微电子技术有限公司 一种tpc译码中纠死锁的方法及装置
CN111277355B (zh) * 2018-12-04 2022-08-12 深圳市中兴微电子技术有限公司 一种tpc译码中纠死锁的方法及装置
CN113014267A (zh) * 2019-12-18 2021-06-22 华为技术有限公司 译码方法、设备、可读存储介质、芯片及计算机程序产品
WO2021120729A1 (zh) * 2019-12-18 2021-06-24 华为技术有限公司 译码方法、设备、可读存储介质、芯片及计算机程序产品
CN113014267B (zh) * 2019-12-18 2024-04-23 华为技术有限公司 译码方法、设备、可读存储介质、芯片及计算机程序产品
CN113131947A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 译码方法、译码器和译码装置
US11750219B2 (en) 2019-12-30 2023-09-05 Huawei Technologies Co., Ltd. Decoding method, decoder, and decoding apparatus
CN113131947B (zh) * 2019-12-30 2023-11-10 华为技术有限公司 译码方法、译码器和译码装置
CN111416628A (zh) * 2020-04-09 2020-07-14 重庆邮电大学 基于随机表征的bch软判决信道码译码装置
CN111416628B (zh) * 2020-04-09 2023-05-12 重庆邮电大学 基于随机表征的bch软判决信道码译码装置

Also Published As

Publication number Publication date
EP3171520A1 (en) 2017-05-24
EP3171520A4 (en) 2017-08-02
CN106537787B (zh) 2019-10-22
WO2016015288A1 (zh) 2016-02-04

Similar Documents

Publication Publication Date Title
CN107846261B (zh) 用于并行连续取消解码和连续取消列表解码的设备和方法
CN111628785B (zh) 使用硬选取硬译码模式下的译码器产生软信息的方法
Doan et al. Neural belief propagation decoding of CRC-polar concatenated codes
US8250437B2 (en) Memory system and control method for the same
US8996972B1 (en) Low-density parity-check decoder
US8448050B2 (en) Memory system and control method for the same
CN102624403A (zh) 用于对级联纠错码的有效解码的方法和系统
KR20100081551A (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
CN106537787A (zh) 译码方法和译码器
CN1783729A (zh) 用联合节点处理来解码低密度奇偶校验码的方法和设备
WO2008075004A1 (en) Decoding of serial concatenated codes using erasure patterns
CN111858142A (zh) 一种数据处理方法、装置及电子设备和存储介质
CN109361403A (zh) Ldpc译码方法、ldpc译码器及其存储设备
CN110661535B (zh) 一种提高Turbo译码性能的方法、装置及计算机设备
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
US20140173373A1 (en) Decoding method for low density parity check and electronic device using the same
US20140013190A1 (en) Iterative Decoding Device and Related Decoding Method
KR101154923B1 (ko) 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 비씨에이치 디코딩 방법
RU2811072C1 (ru) Способ декодирования, декодер и устройство декодирования
KR102607761B1 (ko) 극 부호를 이용하는 복호화를 위한 복호 위치 제어 정보 생성 방법 및 장치
CN113098532B (zh) 低时延低复杂度的极化码译码方法和系统
WO2021120729A1 (zh) 译码方法、设备、可读存储介质、芯片及计算机程序产品
CN117176185B (zh) 一种基于极化码的数据编解码方法、装置和存储介质
US20230412197A1 (en) Acceleration of s-polar ecc throughput by scheduler
CN110661534A (zh) 一种提高Turbo译码性能的方法、装置及计算机设备

Legal Events

Date Code Title Description
C06 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