CN111262593A - 用于低密度奇偶校验(ldpc)码偏移优化的装置和方法 - Google Patents

用于低密度奇偶校验(ldpc)码偏移优化的装置和方法 Download PDF

Info

Publication number
CN111262593A
CN111262593A CN201911211640.6A CN201911211640A CN111262593A CN 111262593 A CN111262593 A CN 111262593A CN 201911211640 A CN201911211640 A CN 201911211640A CN 111262593 A CN111262593 A CN 111262593A
Authority
CN
China
Prior art keywords
output
input
decoded
offset value
cyclic redundancy
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
CN201911211640.6A
Other languages
English (en)
Other versions
CN111262593B (zh
Inventor
A.A.阿波塔布尔
宋基逢
裵正铉
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN111262593A publication Critical patent/CN111262593A/zh
Application granted granted Critical
Publication of CN111262593B publication Critical patent/CN111262593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1154Low-density parity-check convolutional codes [LDPC-CC]
    • 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
    • H03M13/112Soft-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 with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
    • 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
    • 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/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices

Landscapes

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

Abstract

提供了装置和方法。该装置包括解码器和偏移值更新器,该解码器包括第一输入、第二输入、第三输入、第四输入和输出,其中该第一输入被配置为接收传输块,该输出被配置为提供解码码字,该偏移值更新器包括连接到解码器的输出的输入、连接到解码器第三输入并被配置为提供更新的偏移值的第一输出、以及连接到解码器第四输入并被配置为提供要解码的下一码字的索引的第二输出。

Description

用于低密度奇偶校验(LDPC)码偏移优化的装置和方法
本申请要求在美国专利商标局于2018年12月3日提交的美国临时专利申请序列号62/774,605号和于2019年2月6日提交的美国非临时专利申请序列号16/269,190的优先权,其全部内容通过引用结合于此。
技术领域
本公开总体上涉及无线通信系统,更具体地,涉及用于低密度奇偶校验(low-density parity-check,LDPC)码的偏移优化的装置和方法。
背景技术
LDPC码已经被采用作为第三代合作伙伴计划(3rd generation partnershipproject,3GPP)新无线电(new radio,NR)标准的共享信道的信道编码方案。虽然LDPC码的和积解码实现了非常好的解码性能,但是和积解码伴随着很大的计算复杂度。最小和(min-sum)解码用低复杂度操作代替了在和积解码中使用的复杂操作,代价是性能损失。LDPC码的偏移最小和(Offset min-sum,OMS)解码是在最小和过程中添加附加项的方法,试图在保持最小和过程的相同复杂性的同时接近和积性能。然而,为每种情况寻找最佳偏移(例如,码参数、信道条件)可能需要尽全力。
发明内容
根据一个实施例,一种装置包括解码器和偏移值更新器,该解码器包括第一输入、第二输入、第三输入、第四输入、和输出,其中该第一输入被配置为接收传输块,该输出被配置为提供解码码字,该偏移值更新器包括连接到解码器的输出的输入、连接到解码器的第三输入并被配置为提供更新的偏移值的第一输出、以及连接到解码器的第四输入并被配置为提供要解码的下一码字的索引的第二输出。
根据一个实施例,方法包括:由第一解码器接收多个码字、偏移值和指示多个码字中的哪个将被解码的索引;由第二解码器解码由索引指示的多个码字之一;以及由偏移值更新器更新偏移值。
附图说明
结合附图,从下面的详细描述中,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:
图1是根据一个实施例的并行BP(back propagation,反向传播)解码器的网络拓扑的图示;
图2是根据一个实施例的并行BP解码器的层l中的最小和计算的图示;
图3是根据一个实施例的使用更新规则的并行BP解码器和梯度计算的图示;
图4是根据一个实施例的顺序BP消息流的图示;
图5是根据一个实施例的在线学习方法的流程图;
图6是根据一个实施例的渐进学习方法的流程图;
图7是根据一个实施例的反馈学习方法的流程图;
图8是根据一个实施例的在不同传输环境下用大搜索空间更新偏移值的方法的流程图;
图9是根据一个实施例的用于在线学习的装置;
图10是根据一个实施例的用于偏移值更新器的装置;
图11是根据一个实施例的用于偏移值更新器的装置;
图12是根据一个实施例的用于反馈学习的装置;和
图13是根据一个实施例的应用了本公开的装置和方法的网络环境中的电子设备的框图。
具体实施方式
以下,参考附图详细描述本公开的实施例。应该注意的是,相同的元件将由相同的附图标记表示,尽管它们在不同的附图中示出。在以下描述中,提供诸如详细配置和组件的具体细节仅仅是为了帮助全面理解本公开的实施例。因此,对于本领域技术人员显而易见的是,在不脱离本公开的范围的情况下,可以对本文描述的实施例进行各种改变和修改。此外,为了清楚和简明起见,省略了对众所周知的功能和结构的描述。下面描述的术语是考虑到本公开中的功能而定义的术语,并且可以根据用户、用户意图或习惯而不同。因此,术语的定义应该基于本说明书的内容来确定。
本公开可以具有各种修改和各种实施例,其中实施例将在下面参考附图详细描述。然而,应当理解,本公开不限于实施例,而是包括本公开范围内的所有修改、等同物和替代物。
尽管包括序数(诸如第一、第二等)的术语可以用于描述各种元件,结构元件不受这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,在不脱离本公开的范围的情况下,第一结构元件可以被称为第二结构元件。类似地,第二结构元件也可以被称为第一结构元件。如本文所用,术语“和/或”包括一个或多个相关项目的任何和所有组合。
本文使用的术语仅用于描述本公开的各种实施例,而不旨在限制本公开。单数形式旨在包括复数形式,除非上下文另有明确指示。在本公开中,应当理解,术语“包括”或“具有”指示特征、数字、步骤、操作、结构元件、部件或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、操作、结构元件、部件或其组合的存在或添加的可能性。
除非定义不同,否则本文使用的所有术语具有与本公开所属领域的技术人员所理解的相同的含义。诸如在常用词典中定义的术语应被解释为具有与相关领域中的上下文含义相同的含义,并且除非在本公开中明确定义,否则不应被解释为具有理想的或过分形式化的含义。
本公开涉及用于经由梯度下降过程确定最佳偏移值的装置和方法,其中梯度经由反向传播过程计算。本公开包括确定梯度计算的方法。该方法不仅为梯度计算提供了低复杂度,而且能够为不同的调度技术(诸如并行和顺序BP)进行梯度计算。此外,本公开公开了用于适应不同传输环境的方法。
此外,本公开公开了用于BP解码的偏移参数的梯度计算的方法。该方法能够计算任何调度技术下关于偏移值的解码器的误差函数的梯度。此外,本公开公开了在某些码参数和信道条件下的最佳偏移值。
此外,为了考虑传输环境具有许多可自由改变的参数的更实际的情况,本公开公开了在这种传输环境下的方法。一种方法是在线学习,其中在传输期间学习最佳偏移值。另一种方法是增加偏移值的搜索空间,以找到用于所有传输环境的最佳偏移值。
为了在特定调度方法下找到最佳偏移值,计算关于偏移的解码器的预定义误差函数的梯度,并且在减小误差函数结果的方向上改变偏移值。因此,本公开公开了计算关于偏移值的解码器的误差函数的梯度。
下面更详细地公开了使用OMS方法的并行BP的误差函数和梯度计算。此外,作为示例,公开了顺序调度下的梯度计算。然而,本公开适用于任何调度技术。
图1是根据一个实施例的并行BP解码器100的网络拓扑的图示。
参考图1,假设知道关于BP解码器100输出的正确决策,BP解码器100的输出是对数似然比(log-likelihood ratios,LLR),γi,其中附加节点基于输出LLR和正确决策来计算误差。
图1示出了包括l个输入层、L-2个隐藏层、l个输出层和1个代价函数计算层的L+1层网络。
l是层索引,其中l=1,...,L,并且其中L为整数。
集合(N,K,M)是由数量为N的可变节点101、数量为K的信息比特和数量为M的校验节点组成的集合,其中,N、K和M每个都是整数,并且其中M=N-K。
H∈ZM×N是奇偶校验矩阵,其中每当校验节点i103连接到可变节点j101时hij=1,否则为零,其中i和j每个都是整数。
Λ=[λ12,...,λN]T∈RN是可变节点101的输入LLR,其中T是整数。
Γ=[γ12...,γN]T∈RN是可变节点101的输出LLR。
C(j)是连接到可变节点j101的一组校验节点103索引,其中j=1,...,N。
V(i)是连接到校验节点i103的一组可变节点101索引,其中i=1,...,M。
Figure BDA0002298321090000041
是第l次迭代的第i个校验节点103上的偏移参数。
Figure BDA0002298321090000042
是从第i个校验节点103到第j个可变节点101的校验节点103到可变节点101(check node 103 to variable node 101,C2V)的消息。
Figure BDA0002298321090000043
是从第j个可变节点101到第i个校验节点103的可变节点101到校验节点103(variable node 101 to check node 103,V2C)的消息。
f(Γ):RN→R是代价函数105,使得J=f(Γ)。
在每次迭代中,每个校验节点103的偏移值可以不同。然而,如果偏移值在整个网络上是固定的,固定的偏移值的梯度将是从先前网络计算的各个偏移值的和。
图2是根据一个实施例的并行BP解码器的层l中的最小和计算的图示。
参考图2,示出了在层l的消息的计算,其中m201、j205和n209是可变节点,并且其中i203和k207是校验节点。
在本公开中,求得所有层(l=1,...,L)的
Figure BDA0002298321090000051
链式法则按等式(1)应用如下:
Figure BDA0002298321090000052
其中
Figure BDA0002298321090000053
并且
Figure BDA0002298321090000054
由于
Figure BDA0002298321090000055
Figure BDA0002298321090000056
的计算由等式(2)给出如下:
Figure BDA0002298321090000057
其中对于x=0,sign(x)=0。
此外,对于hij=1的所有i203,j205,
Figure BDA0002298321090000058
由等式(3)给出如下:
Figure BDA0002298321090000059
其中
Figure BDA00022983210900000510
并且最后的相等来自于以下事实:
Figure BDA00022983210900000511
因为
Figure BDA00022983210900000512
和k∈C(j)\i207的更新规则。
对于k∈C(j)207,
Figure BDA00022983210900000513
在等式(4)中计算如下:
Figure BDA00022983210900000514
其中
Figure BDA00022983210900000515
公式(5)中对k∈C(j)207和n∈V(k)\j209的
Figure BDA0002298321090000061
计算如下:
Figure BDA0002298321090000062
其中sign′(x)是sign(x)的一般导数。
等式(6)给出了sign(x)的零导数简化计算,如下所示:
Figure BDA0002298321090000063
因此,第l层(l<L)的偏移值的梯度由等式(7)给出如下:
Figure BDA0002298321090000064
其中对于x=0,sign(x)=0,并且
Figure BDA0002298321090000065
Figure BDA0002298321090000066
是可变节点索引,使得
Figure BDA0002298321090000067
Figure BDA0002298321090000068
Figure BDA0002298321090000069
的第一和第二最小值。
对于l=L的初始条件,等式(8)如下:
Figure BDA00022983210900000610
以及
Figure BDA00022983210900000611
因此,
Figure BDA00022983210900000612
的更新规则不会直接遵循l<L的情况,而是可以从对于hij=1的i203,j205的先前关系中计算,如以下等式(9)所示:
Figure BDA00022983210900000613
图3是根据一个实施例的并行BP解码器300和使用更新规则的梯度计算的图示。
参考图3,总结了BP和反向传播过程,其中j301是可变节点,并且i303是校验节点。
图4是根据一个实施例的顺序BP消息流的图示。
参考图4,梯度计算被扩展到任何调度方法,其中j401和q403是可变节点,并且其中k1 405、i407和k2 409是校验节点。调度方法主要由处理校验节点的顺序来定义。顺序调度用作示例。然而,本公开可以使用任何调度方法。以类似于并行BP调度的方式,顺序BP方法在图4中示出。
顺序调度逐个校验节点地处理校验节点。因此,在处理每个校验节点之后,在处理接下来的校验节点之前,处理后的消息被反馈给所有连接的可变节点,由带箭头的虚线所示。下面将更详细地描述顺序BP解码的图形解释。
每个顺序C2V更新可以是网络的L层中的每一层内的子层,其中L层中的每一层具有M个子层,该M个子层表示M个顺序C2V更新的L-迭代。
此外,第l层中的每个C2V消息
Figure BDA0002298321090000071
具有到相关联的传入(incoming)可变节点的虚拟反馈(由带箭头的虚线指示)。
反馈C2V用于子层内的V2C更新,只要反馈C2V满足因果约束。也就是说,如果k1<i,在
Figure BDA0002298321090000072
更新中使用
Figure BDA0002298321090000073
而不是
Figure BDA0002298321090000074
等式(10)和(11)显示了迭代l中的一般更新规则,如下所示:
Figure BDA0002298321090000075
Figure BDA0002298321090000076
与并行BP解码情况相比,
Figure BDA0002298321090000077
可以在等式(12)中修改如下:
Figure BDA0002298321090000078
反向传播过程的初始条件可能是唯一必须小心处理的初始条件,其中等式(13)和(14)如下:
Figure BDA0002298321090000079
Figure BDA0002298321090000081
等式(15)和(16)如下:
Figure BDA0002298321090000082
Figure BDA0002298321090000083
匹配BER(bit error rate,误码率)和BLER(block error rate,误块率)的误差函数描述如下。
等式(17)是交叉熵误差函数,如下所示:
Figure BDA0002298321090000084
其中,ti是可被视为真正传输比特(genuine transmitted bit)的位置处i的真实比特,
Figure BDA0002298321090000085
并且n是码字长度,其中n是整数。
等式(18)是如下的均方误差(mean square error,MSE)误差函数:
Figure BDA0002298321090000086
等式(19)是如下的p范数误差函数:
Figure BDA0002298321090000087
为了识别给定目的的合理代价函数,可以考虑具有偏移值的误码率(BER)性能和误块率(BLER)性能。对于具有基础-图形-1(base-graph-1)的新无线电LDPC(new radioLDPC,NR-LDPC)码,BLER和BER与偏移值相比,可以具有0.9176的码率和16的提升因子。在这种情况下,arg minoffset BER≠arg minoffset BLER。
为了最小化BER,交叉熵函数和MSE函数是代价函数的良好候选,而大范数代价函数诸如10范数代价函数是最小化BLER的良好候选。
偏移值在具有不同初始偏移值的并行和顺序BP下表现出收敛行为。
由于可能的码参数(诸如码率)可以带来很多可能性,所以为每个码参数和信道条件确定最佳偏移值可能成为计算负担,这需要大的查找表来存储每个传输环境的最佳偏移值。
根据一个实施例,本系统和方法提供在线学习,其中可以根据学习时的环境设置在实际传输期间学习偏移值。本公开可以提供更大的搜索空间,其中偏移值在每次迭代和每个校验节点处可以不同,并且用不同的环境设置来训练偏移值,以找到适合所有情况的偏移值。
如下参考图5所述的在线学习可用于确定传输期间的最佳偏移值。在一个实施例中,诸如码参数和信道条件的传输环境可以固定足够长的时间,以使得能够在特定情况下学习(例如,NR LDPC标准)。例如,在可能包含多达400个码块的NR中的一个传输块传输期间,可以在所有码块上固定码参数和信道条件。然而,学习也需要知道正确的码字。因此,接收器需要正确的码字来执行梯度计算。循环冗余校验(cyclic-redundancy-check,CRC)可用于确定正确的码字。经由CRC来检查解码码字的正确性。具有非常高的概率,通过CRC的码字是正确的码字,并且可以用于梯度计算。下面参考图6和图7更详细地描述包括渐进学习和反馈学习的两种在线学习方法。
图5是根据一个实施例的在线学习方法的流程图。
参考图5,在501,解码器接收传输块的码块(例如,码块或码字),设置偏移值的初始值(例如,0.5),并且在线学习方法进行到503。
在503,解码器解码码块,并且在线学习方法进行到505。
在505,偏移值更新器更新偏移值,并且在线学习方法或者进行到503,用于接收的码块的附加处理,或者终止。
图6是根据一个实施例的渐进学习方法的流程图。
参考图6,在601,解码器接收传输块的码块(例如,码块或码字),计数器中的索引i被设置为1,偏移值的初始值被设置(例如,0.5),并且渐进学习方法进行到603。
在603,解码器解码具有索引i的码块,循环冗余校验器对码块i执行CRC,并且渐进学习方法进行到605。
在605,该方法确定码块i是否通过循环冗余校验器中的CRC。如果码块i未通过循环冗余校验器中的CRC,渐进学习方法进行到607。否则,渐进学习方法进行到609。
在607,计数器递增(increment)索引i(例如,i被设置为i+1),并且渐进学习方法返回到603。
在609,该方法将码块i添加到学习批次(例如,码块i存储在存储器中),并且渐进学习方法进行到611。
在611,模函数块执行i模x,并且比较器确定i模x是否等于0,其中x是预定整数,并且其中模函数可以被称为“MOD”或百分比符号“%”。如果i模x不等于0,这表示x码块未通过CRC,则渐进学习方法进行到607。否则,渐进学习方法进行到613,这指示x个码块已经通过CRC。解码器从初始偏移值(例如,0.5)开始,然后在渐进学习方法期间,偏移值在每x个码块被正确解码之后被更新,其中更新的偏移值可以在下一x个码块被正确解码之后被更新。基于这些结果,可以确定x的最佳值。
在613,梯度计算器计算预定误差函数的梯度,基于所计算的梯度更新偏移值,清除学习批次(例如,存储在学习批次中的码块被擦除),并且渐进学习方法或者进行到607,用于接收的码块的附加处理,或者终止。
图7是根据一个实施例的反馈学习方法的流程图。
参考图7,在701,解码器接收传输块的码块(例如,码块或码字),计数器中的索引i被设置为1,偏移值的初始值被设置(例如,0.5),并且反馈学习方法进行到703。
在703,解码器解码具有索引i的码块,循环冗余校验器对码块i执行CRC,并且反馈学习方法进行到705。
在705,循环冗余校验器确定码块i是否通过CRC。如果码块i未通过循环冗余校验器中的CRC,则反馈学习方法进行到707。否则,反馈学习方法进行到709。
在707,该方法将索引i保存到列表F(例如,索引i存储在存储器中),并且反馈学习方法进行到711。
在709,该方法将码块i添加到学习批次(例如,码块i存储在存储器中),并且反馈学习方法进行到711。
在711,比较器确定i是否等于传输块中的码块的数量。如果i不等于传输块中码块的数量,则反馈学习方法进行到713。否则,反馈学习方法进行到715。
在713,计数器递增索引i(例如,i被设置为i+1),并且反馈学习方法返回到703。
在715,梯度计算器在预定误差函数上计算梯度,基于计算的梯度更新偏移值,并且反馈学习方法进行到717。
在717,解码器解码列表F中具有索引i的每个码块,并且反馈学习方法终止。
在反馈学习方法中,解码器使用初始偏移值(例如,0.5)解码传输块中的所有码块。然后,从所有正确解码的码块中学习更新的偏移值。然后,解码器使用新学习的偏移值重新尝试解码先前被解码失败的码块(即,未通过CRC的码块)。
图8是根据一个实施例的在不同传输环境下更新大搜索空间中的偏移值的方法的流程图。
参考图8,示出了可以在所有场景中使用的更新偏移值的方法。在该方法中,通过在每次迭代中在每个校验节点处允许不同的偏移值来增加偏移搜索空间。也就是说,使用偏移值的大空间和传输环境的混合(例如,不同的码率)来更新偏移值。
在801,该方法选择传输环境(例如,码率)和初始偏移值(例如,0.5),并且该方法进行到803。
在803,码生成器根据所选择的传输环境生成LDPC码,并且该方法进行到805。
在805,该方法选择信道(例如,加性白高斯噪声(additive white Gaussiannoise,AWGN)信道),并且该方法进行到807。
在807,解码器使用BP解码对LDPC码进行解码,并且该方法进行到809。
在809,该方法将反向传播应用于LDPC码,梯度计算器计算预定误差函数的梯度,并且该方法进行到811。
在811,该方法基于由梯度计算器计算的梯度更新偏移值,并且该方法进行到813。
在813,该方法确定是否满足停止准则。如果不满足停止准则,该方法返回801。否则,该方法进行到815。
在815,使用更新的偏移值,并且该方法终止。
图9是根据实施例的用于在线学习的装置900。
参考图9,装置900包括解码器901和偏移值更新器903。
解码器901包括:用于接收传输块(例如,码块或码字)的第一输入;用于接收初始偏移值(例如,0.5)的第二输入;用于接收更新的偏移值的第三输入;用于接收将由解码器901解码的所接收的传输块的下一码块的索引的第四输入;以及输出。
偏移值更新器903包括:连接到解码器901的输出的输入;连接到解码器901的第四输入的第一输出,用于为将由解码器901解码的所接收的传输块的下一码块提供索引;以及连接到解码器901的第三输入的第二输出,用于提供将由解码器901使用的更新的偏移值以解码所接收的传输块的下一码块。
图10是根据实施例的渐进学习的图9的偏移值更新器903的装置。
参考图10,偏移值更新器903包括CRC设备1003、计数器1005、存储器1007、模数设备(MOD)1009和梯度计算器1011。
CRC设备1003包括:输入,用于接收解码码字并确定解码码字是否通过或未通过循环冗余校验;第一输出,用于指示解码码字未通过循环冗余校验,以及第二输出,用于指示解码码字通过循环冗余校验。
计数器1005包括:第一输入,连接到CRC设备1003的第一输出,以指示解码码字未通过循环冗余校验并且索引应该递增以指示要解码的下一码字;第二输入,用于接收特定数量x的解码码字已经通过循环冗余校验并且索引应该递增以指示要解码的下一码字的指示;第三输入,用于接收偏移值被更新和索引应该递增以指示要解码的下一码字的指示;以及输出,用于输出指示要解码的下一码字的递增的索引。
存储器1007包括:第一输入,连接到CRC设备1003的第二输出,用于存储通过循环冗余校验的每个解码码字(例如,将通过循环冗余校验的每个解码码字添加到学习批次);第二输入,用于接收在偏移值被更新后擦除存储器的指示(例如,清除学习批次);以及输出,用于提供通过循环冗余校验的存储的解码码字(例如,提供学习批次)。
模数设备1009包括:第一输入,用于接收x,其中x是整数,x指示在偏移值被更新之前有多少解码码字必须通过循环冗余校验;第二输入,连接到CRC设备1003的第二输出;第一输出,连接到计数器1005的第二输入,用于指示x个解码码字未通过循环冗余校验;以及第二输出,用于指示x个解码码字已经通过循环冗余校验。
梯度计算器1011包括:第一输入,连接到模数设备1009的第二输出,用于接收x个解码码字已经通过循环冗余校验以及梯度计算器1011将计算解码器的误差函数的梯度并且基于计算的梯度来更新偏移值的指示;第二输入,连接到存储器1007的输出,以接收通过循环冗余校验的解码码字(例如,接收学习批次);第一输出,连接到存储器1007的第二输入,用于擦除存储器1007(例如,清除学习批次);第二输出,连接到计数器1005的第三输入,用于递增指示要解码的下一码字的索引;以及第三输出,用于输出更新的偏移值。
图11是根据实施例的用于反馈学习的图9的偏移值更新器903的装置。
参考图11,偏移值更新器903包括CRC设备1103、存储器1105、比较器1107、计数器1109和梯度计算器1111。
CRC设备1103包括:输入,用于接收解码码字并确定解码码字是否通过或未通过循环冗余校验;第一输出,用于指示解码码字未通过循环冗余校验;以及第二输出,用于指示解码码字通过循环冗余校验。
存储器1105包括:第一输入,连接到CRC设备1103的第一输出,用于存储未通过循环冗余校验的每个解码码字(例如,将未通过循环冗余校验的每个解码码字添加到失败列表或F列表);第二输入,连接到CRC设备1103的第二输出,用于存储通过循环冗余校验的每个解码码字(例如,将通过循环冗余校验的每个解码码字添加到学习批次);第三输入,用于接收更新偏移值后擦除存储器的指示(例如,清除F列表和学习批次);以及输出,以提供未通过循环冗余校验的存储的解码码字(例如,提供F列表)和通过循环冗余校验的存储的解码码字(例如,提供学习批次)。
比较器1107包括:第一输入,用于接收x,其中x是指示传输块中码字数量的整数;第二输入,连接到CRC设备1103的第一输出以指示解码码字未通过循环冗余校验;第三输入,连接到CRC设备1103的第二输出以指示解码码字已经通过循环冗余校验;第一输出,用于指示传输块中的所有码字尚未解码;以及第二输出,用于指示传输块中的所有码字都已被解码。比较器1107将未通过循环冗余校验的解码码字的数量与通过循环冗余校验的解码码字的数量相加,并将和与x进行比较,以确定传输块中的所有码字是否都已被解码。
计数器1109包括:输入,连接到比较器1107的第一输出,用于接收传输块中并非所有码字都已解码的指示;以及输出,用于输出递增的索引以指示要解码的下一码字。计数器1109递增索引以指示要解码的下一码字。
梯度计算器1111包括:第一输入,连接到比较器1107的第二输出,用于接收传输块中的所有码字都已被解码的指示;第二输入,连接到存储器1105的输出,以接收未通过循环冗余校验的解码码字(例如,接收F列表)和通过循环冗余校验的解码码字(例如,接收学习批次);第一输出,连接到存储器1105的第三输入,用于擦除存储器1105(例如,清除F列表和学习批次);以及第二输出,用于输出将用于下一传输块的更新的偏移值和将使用更新的偏移值解码的未通过循环冗余校验的解码码字(例如,F列表)。
图12是根据实施例的用于反馈学习的装置1200。
参考图12,装置1200包括第一解码器1201、偏移值更新器1203和第二解码器1205。
第一解码器1201包括:第一输入,用于接收传输块(例如,码块或码字);第二输入,用于接收初始偏移值(例如,0.5);第三输入,用于接收更新的偏移值;第四输入,用于接收将由第一解码器1201解码的所接收的传输块的下一码块的索引;以及输出。
偏移值更新器1203包括:输入,连接到第一解码器1201的输出;第一输出,连接到第一解码器1201的第四输入,用于为将由第一解码器1201解码的所接收的传输块的下一码块提供索引;以及第二输出,连接到第一解码器1201的第三输入,用于提供将由第一解码器1201使用的更新的偏移值以解码所接收的传输块的下一码块。偏移值更新器1203可以是图11的偏移值更新器903。
第二解码器1205包括:第一输入,连接到第一解码器1201的第一输入,用于接收所接收的传输块(例如,码块或码字);第二输入,连接到偏移值更新器1203的第二输出;以及输出。
为了找到适合两种不同码率的偏移值,在训练阶段,偏移值在高码率和低码率两种不同情况下被训练。
例如,一种情况可以是以2.5dB的信噪比(signal to noise ratio,SNR)从24个校验节点构造LDPC码。
例如,一种情况可以是以0.5dB的SNR从46个校验节点构造LDPC码。
下面的表1是当针对该情况专门训练偏移时以及当经由两种速率的混合来训练偏移时在指定SNR下的BLER结果的总结。
表1
Figure BDA0002298321090000151
上面的表1显示,如果偏移是针对输入的混合进行训练的,则情况2的结果几乎不变,而情况1的性能预计会有一些损失,但仍优于0.5的固定偏移值。因此,可以用混合的输入来更新偏移值,以便在不同的场景中使用。
为了在不同迭代中更新偏移值,可以使用大数量的迭代(例如,5或6次迭代)。
根据实施例,经由在LDPC码传输期间的在线学习,由BP解码器和相应的反向传播网络解码LDPC码的本系统和方法包括:接收包括LPDC码的码块;使用OMS解码和初始偏移值执行码块的BP解码;对解码的码块执行CRC;响应于解码的码块通过CRC,将码块添加到一组学习块中;以及将置信反向传播(belief backpropagation)应用于该组学习块以通过至少计算关于偏移值的解码器的误差函数的梯度来更新偏移值,在减小误差函数的误差输出的方向上更新偏移值,并清除该组学习块。
根据另一个实施例,寻找最佳偏移值用于由BP解码器和相应的反向传播网络解码LDPC码的本系统和方法包括:接收根据传输环境生成的在信道上传输的LPDC码;使用OMS解码和初始偏移值执行码块的BP解码;以及将反向传播应用于码块以通过至少计算关于偏移值的解码器的误差函数的梯度来更新偏移值,在减小误差函数的误差输出的方向上更新偏移值,对照标准评估更新的偏移值以确定更新的偏移值是否充分优化,以及响应于确定更新的偏移值充分优化,使用更新的偏移值解码之后的LPDC码。
图13是示出根据各种实施例的网络环境1400中的电子设备1301的框图。
参考图13,网络环境1400中的电子设备1301可以经由第一网络1398(例如,短程无线通信网络)与电子设备1302通信,或者经由第二网络1399(例如,远程无线通信网络)与电子设备1304或服务器1308通信。根据实施例,电子设备1301可以经由服务器1308与电子设备1304通信。根据实施例,电子设备1301可以包括处理器1320、存储器1330、输入设备1350、声音输出设备1355、显示设备1360、音频模块1370、传感器模块1376、接口1377、触觉模块1379、相机模块1380、电力管理模块1388、电池1389、通信模块1390、订户识别模块1396,或天线模块1397。在一些实施例中,电子设备1301中可以省略至少一个组件(例如,显示设备1360或相机模块1380),或者可以在电子设备1301中添加一个或多个其他组件。在一些实施例中,一些组件可以实施为单个集成电路。例如,传感器模块1376(例如指纹传感器、虹膜传感器或照度传感器)可以被实施为嵌入在显示设备1360(例如显示器)中。
处理器1320可以执行例如软件(例如程序1340)来控制与处理器1320联接的电子设备1301的至少一个其他组件(例如硬件或软件组件),并且可以执行各种数据处理或计算。根据一个实施例,作为数据处理或计算的至少一部分,处理器1320可以将从另一组件(例如,传感器模块1376或通信模块1390)接收的命令或数据加载到易失性存储器1332中,处理存储在易失性存储器1332中的命令或数据,并将结果数据存储在非易失性存储器1334中。根据实施例,处理器1320可以包括主处理器1321(例如,中央处理单元(centralprocessing unit,CPU)或应用处理器(application processor,AP))和辅助处理器1323(例如,图形处理单元(graphics processing unit,GPU)、图像信号处理器(image signalprocessor,ISP)、传感器中枢处理器或通信处理器),辅助处理器1323独立于主处理器1321或与主处理器1321结合操作。附加地或替代地,辅助处理器1323可以适于消耗比主处理器1321更少的功率,或者专用于特定的功能。辅助处理器1323可以被实施为独立于主处理器1321或者作为主处理器1321的部分。
辅助处理器1323可以在主处理器1321处于非活动(例如,睡眠)状态时代替主处理器1321或者在主处理器1321处于活动状态(例如,执行应用)时与主处理器1321一起,控制与电子设备1301的组件当中的至少一个组件(例如,显示设备1360、传感器模块1376或通信模块1390)相关的至少一些功能或状态。根据实施例,辅助处理器1323(例如,图像信号处理器或通信处理器)可以被实施为功能上与辅助处理器1323相关的另一组件(例如,相机模块1380或通信模块1390)的部分。
存储器1330可以存储由电子设备1301的至少一个组件(例如,处理器1320或传感器模块1376)使用的各种数据。各种数据可以包括例如软件(例如程序1340)和与其相关的命令的输入数据或输出数据。存储器1330可以包括易失性存储器1332或非易失性存储器1334。
程序1340可以作为软件存储在存储器1330中,并且可以包括例如操作系统(operating system,OS)1342、中间件1344或应用1346。
输入设备1350可以从电子设备1301的外部(例如,用户)接收要由电子设备1301的另一组件(例如,处理器1320)使用的命令或数据。输入设备1350可以包括例如麦克风、鼠标、键盘或数字笔(例如触控笔)。
声音输出设备1355可以向电子设备1301的外部输出声音信号。声音输出设备1355可以包括例如扬声器或接收器。扬声器可用于一般目的,诸如播放多媒体或播放唱片,而接收器可用于来电。根据实施例,接收器可以被实施为与扬声器分离或者作为扬声器的部分。
显示设备1360可以可视地向电子设备1301的外部(例如,用户)提供信息。显示设备1360可以包括例如显示器,全息设备,或投影仪以及控制显示器、全息设备和投影仪中相应的一个的控制电路。根据实施例,显示设备1360可以包括适于检测触摸的触摸电路,或者适于测量触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块1370可以将声音转换成电信号,反之亦然。根据实施例,音频模块1370可以经由输入设备1350获得声音,或者经由声音输出设备1355或直接地(例如,有线)或无线地与电子设备1301联接的外部电子设备(例如,电子设备1302)的耳机来输出声音。
传感器模块1376可以检测电子设备1301的操作状态(例如,功率或温度)或电子设备1301外部的环境状态(例如,用户的状态),然后生成对应于检测到的状态的电信号或数据值。根据实施例,传感器模块1376可以包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁传感器、加速度传感器、抓握传感器、接近传感器、颜色传感器、红外(infrared,IR)传感器、生物测定传感器、温度传感器、湿度传感器或照度传感器。
接口1377可以支持用于电子设备1301与外部电子设备(例如,电子设备1302)直接地(例如,有线)或无线地联接的一个或多个指定协议。根据实施例,接口1377可以包括例如高清晰度多媒体接口(high definition multimedia interface,HDMI)、通用串行总线(universal serial bus,USB)接口、安全数字卡(secure digital,SD)接口或音频接口。
接线端子1378可以包括连接器,电子设备1301可以经由该连接器与外部电子设备(例如,电子设备1302)物理连接。根据实施例,接线端子1378可以包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如耳机连接器)。
触觉模块1379可以将电信号转换成机械刺激(例如,振动或运动)或电刺激,用户可以经由他的触觉或动觉来识别这些刺激。根据实施例,触觉模块1379可以包括例如马达、压电元件或电刺激器。
相机模块1380可以捕捉静止图像或运动图像。根据实施例,相机模块1380可以包括一个或多个镜头、图像传感器、图像信号处理器或闪光灯。
电力管理模块1388可以管理供应给电子设备1301的电源。根据一个实施例,电力管理模块1388可以被实施为例如功率管理集成电路(power management integratedcircuit,PMIC)的至少部分。
电池1389可以向电子设备1301的至少一个组件供电。根据实施例,电池1389可以包括例如不可充电的原电池、可再次充电的蓄电池或燃料电池。
通信模块1390可以支持在电子设备1301和外部电子设备(例如,电子设备1302、电子设备1304或服务器1308)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块1390可以包括一个或多个通信处理器,其独立于处理器1320(例如,AP)操作,并且支持直接(例如,有线)通信或无线通信。根据实施例,通信模块1390可以包括无线通信模块1392(例如,蜂窝通信模块、短程无线通信模块或全球导航卫星系统(global navigation satellite system,GNSS)通信模块)或有线通信模块1394(例如,局域网(local area network,LAN)通信模块或电力线通信(power linecommunication,PLC)模块)。这些通信模块中的相应一个可以经由第一网络1398(例如,诸如BluetoothTM、无线保真(wireless-fidelity,Wi-Fi)直接或红外数据协会(InfraredData Association,IrDA)的短程通信网络)或第二网络1399(例如,诸如蜂窝网络、互联网或计算机网络(例如,LAN或广域网(wide area network,WAN))的远程通信网络)与外部电子设备通信。这些不同类型的通信模块可以实施为单个组件(例如,单个芯片),或者可以实施为彼此分离的多个组件(例如,多个芯片)。无线通信模块1392可以使用存储在订户识别模块1396中的订户信息(例如,国际移动订户身份(international mobile subscriberidentity,IMSI))来识别和认证诸如第一网络1398或第二网络1399的通信网络中的电子设备1301。
天线模块1397可以向或从电子设备1301的外部(例如,外部电子设备)发送或接收信号或功率。根据实施例,天线模块1397可以包括天线,该天线包括由形成在基板(例如,印刷电路板)中或基板上的导电材料或导电图案组成的辐射元件。根据实施例,天线模块1397可以包括多个天线。在这种情况下,例如,通信模块1390(例如,无线通信模块1392)可以从多个天线中选择适用于诸如第一网络1398或第二网络1399的通信网络中使用的通信方案的至少一个天线。信号或功率然后可以经由所选择的至少一个天线在通信模块1390和外部电子设备之间发送或接收。根据实施例,除辐射元件之外的另一组件(例如,射频集成电路(radio frequency integrated circuit,RFIC))可以另外形成为天线模块1397的部分。
至少一些上述组件可以相互联接,并且经由外围设备间通信方案(例如,总线、通用输入和输出(general purpose input and output,GPIO)、串行外围设备接口(serialperipheral interface,SPI)或移动工业处理器接口(mobile industry processorinterface,MIPI))在它们之间通信信号(例如,命令或数据)。
根据实施例,命令或数据可以经由与第二网络1399联接的服务器1308在电子设备1301和外部电子设备1304之间传输或接收。电子设备1302和1304中的每一个可以是与电子设备1301相同类型或不同类型的设备。根据实施例,要在电子设备1301处执行的所有或一些操作可以在外部电子设备1302、1304或1308中的一个或多个处执行。例如,如果电子设备1301应该自动或者响应于来自用户或另一设备的请求执行功能或服务,该电子设备1301代替或者除了执行功能或服务之外,可以请求一个或多个外部电子设备执行该功能或服务的至少部分。接收请求的一个或多个外部电子设备可以执行所请求的功能或服务的至少部分,或者与请求相关的附加功能或附加服务,并且将执行的结果传送到电子设备1301。无论是否进一步处理该结果,电子设备1301可以提供结果作为对请求的答复的至少部分。为此,例如,可以使用云计算、分布式计算或客户机-服务器计算技术。
根据各种实施例的电子设备可以是各种类型的电子设备之一。电子设备可以包括例如便携式通信设备(例如智能手机)、计算机设备、便携式多媒体设备、便携式医疗设备、相机、可穿戴设备或家用电器。根据本公开的实施例,电子设备不限于上述那些。
应当理解,本公开的各种实施例和其中使用的术语并不旨在将这里阐述的技术特征限制于特定实施例,而是包括相应的实施例的各种变化、等同物或替换。关于附图的描述,相似的附图标记可以用来指代相似或相关的元件。应当理解,对应于一个项目的名词的单数形式可以包括一个或多个事物,除非相关上下文清楚地另有指示。本文所用的这样的短语“A或B”,“A和B中的至少一个”,“A或B中的至少一个”,“A,B,或C”,“A、B和C中的至少一个”和“A、B或C中的至少一个”中的每一个可以包括在短语中相应的一个短语中一起列举的项目中的任何一个或所有可能的组合。如本文所使用的,诸如“第一”和“第二”的术语可以用于简单地将相应的组件彼此区分开来,并且不在其他方面(例如,重要性或顺序)限制组件。应当理解,如果元件(例如,第一元件)被称为“与…联接”、“联接到”、“与…连接”或“连接到”另一个元件(例如,第二元件),带有或不带有术语“可操作地”或“通信地”,这意味着该元件可以直接地(例如,有线)、无线地或经由第三元件与另一个元件耦合。
如本文所使用的,术语“模块”可以包括以硬件、软件或固件实施的单元,并且可以与其他术语互换使用,例如,“逻辑”、“逻辑块”、“部件”或“电路”。模块可以是适于执行一个或多个功能的单个整体组件,或其最小单元或部分。例如,根据实施例,模块可以以专用集成电路(application-specific integrated circuit,ASIC)的形式实施。
本文阐述的各种实施例可以实施为软件(例如,程序1340),包括存储在机器(例如,电子设备1301)可读的存储介质(例如,内部存储器1336或外部存储器1338)中的一个或多个指令。例如,机器的处理器1320(例如,电子设备1301)可以调用存储在存储介质中的一个或多个指令中的至少一个,并且在处理器的控制下使用或不使用一个或多个其他组件来执行该指令。这允许机器根据所调用的至少一个指令来操作以执行至少一个功能。一个或多个指令可以包括由编译器生成的代码或由解释器可执行的代码。机器可读存储介质可以以非暂时性存储介质的形式提供。其中,术语“非暂时性”简单地意味着存储介质是有形设备,并且不包括信号(例如电磁波),但是该术语不区分数据半永久性地存储在存储介质中的位置和数据临时存储在存储介质中的位置。
根据实施例,根据本公开各种实施例的方法可以被包括并提供在计算机程序产品中。计算机程序产品可以作为产品在卖方和买方之间交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(compact disc read only memory,CD-ROM))的形式分发,或者经由应用商店(例如,PlayStoreTM)在线分发(例如,下载或上传),或者直接在两个用户设备(例如,智能电话)之间分发。如果在线分发,计算机程序产品的至少部分可以临时生成或者至少临时存储在机器可读存储介质中,诸如制造商服务器的存储器、应用商店的服务器或者中继服务器。
根据各种实施例,上述组件的每个组件(例如,模块或程序)可以包括单个实体或多个实体。根据各种实施例,可以省略一个或多个上述组件,或者可以添加一个或多个其他组件。可选地或附加地,多个组件(例如,模块或程序)可以集成到单个组件中。在这种情况下,根据各种实施例,集成组件仍然可以以与它们在集成之前由多个组件中的相应一个执行相同或相似的方式来执行多个组件中的每一个的一个或多个功能。根据各种实施例,由模块、程序或另一组件执行的操作可以顺序地、并行地、重复地或启发式地执行,或者一个或多个操作可以以不同的顺序执行或省略,或者可以添加一个或多个其他操作。
尽管在本公开的详细描述中已经描述了本公开的某些实施例,但是在不脱离本公开的范围的情况下,可以以各种形式修改本公开。因此,本公开的范围不应仅基于所描述的实施例来确定,而是基于所附权利要求及其等同物来确定。

Claims (20)

1.一种偏移优化装置,包括:
解码器,包括第一输入、第二输入、第三输入、第四输入和输出,其中,所述第一输入被配置为接收传输块,所述输出被配置为提供解码码字,以及
偏移值更新器,包括连接到所述解码器的输出的输入、连接到所述解码器的第三输入并被配置为提供更新的偏移值的第二输出、以及连接到所述解码器的第四输入并被配置为提供要解码的下一码字的索引的第一输出。
2.根据权利要求1所述的装置,其中所述偏移值更新器包括:
循环冗余校验器CRC,包括连接到所述解码器的输出的输入、被配置为指示解码码字未通过循环冗余校验的第一输出、以及被配置为指示解码码字通过循环冗余校验的第二输出;
计数器,包括第一输入、第二输入和输出,其中,所述第一输入连接到所述CRC的第一输出,所述输出被配置为提供要解码的下一码字的索引;
存储器,包括第一输入、第二输入和输出,其中,所述第一输入连接到所述CRC的第二输出,所述输出被配置为提供通过循环冗余校验的解码码字;
模数设备,包括用于接收整数x的第一输入、连接到所述CRC的第二输出的第二输入、被配置为指示少于x个的解码码字已经通过循环冗余校验的第一输出、以及被配置为指示x个解码码字已经通过循环冗余校验的第二输出;和
梯度计算器,包括连接到所述模数设备的第二输出的第一输入、连接到所述存储器的输出的第二输入、连接到所述存储器的第二输入并被配置为擦除所述存储器的第一输出、以及连接到所述解码器的第三输入并被配置为基于所述解码器的误差函数提供所述更新的偏移值的第二输出。
3.根据权利要求1所述的装置,其中所述解码器的第二输入被配置为接收初始偏移值,并且所述初始偏移值是0.5,并且要解码的下一码字的索引最初被设置为1。
4.根据权利要求2所述的装置,其中所述误差函数是交叉熵误差函数。
5.根据权利要求2所述的装置,其中所述误差函数是均方误差函数。
6.根据权利要求2所述的装置,其中所述误差函数是p范数误差函数。
7.根据权利要求1所述的装置,其中所述偏移值更新器包括:
循环冗余校验器CRC,包括连接到所述解码器的输出的输入、被配置为指示解码码字未通过循环冗余校验的第一输出、以及被配置为指示解码码字通过循环冗余校验的第二输出;
存储器,包括第一输入、第二输入、第三输入、以及输出,其中,所述第一输入连接到所述CRC的第一输出,所述第二输入连接到所述CRC的第二输出,所述输出被配置为提供未通过和通过循环冗余校验的解码码字;
比较器,包括用于接收整数x的第一输入、连接到所述CRC的第一输出的第二输入、连接到所述CRC的第二输出的第三输入、被配置为指示少于x个的码字被解码的第一输出、以及被配置为指示x个解码码字被解码的第二输出;
计数器,包括连接到所述比较器的第一输出的输入以及被配置为提供要解码的下一码字的索引的输出;和
梯度计算器,包括连接到所述比较器的第二输出的第一输入、连接到所述存储器的输出的第二输入、连接到所述存储器的第三输入并被配置为擦除所述存储器的第一输出、以及连接到所述解码器的第三输入并被配置为提供基于所述解码器的误差函数的所述更新的偏移值和未通过循环冗余校验的解码码字的第二输出。
8.根据权利要求7所述的装置,还包括第二解码器,所述第二解码器包括连接到所述解码器的第一输入的第一输入、连接到所述梯度计算器的第二输出并被配置为接收所述更新的偏移值和所述未通过循环冗余校验的解码码字的第二输入、以及被配置为使用所述更新的偏移值重新解码所述未通过循环冗余校验的解码码字的输出。
9.根据权利要求7所述的装置,其中所述误差函数是交叉熵误差函数。
10.根据权利要求7所述的装置,其中所述误差函数是均方误差函数。
11.根据权利要求7所述的装置,其中所述误差函数是p范数误差函数。
12.一种偏移优化方法,包括:
由第一解码器接收多个码字、偏移值和指示所述多个码字中的哪个将被解码的索引;
由第二解码器解码由所述索引指示的所述多个码字之一;以及
由偏移值更新器更新所述偏移值。
13.根据权利要求12所述的方法,其中更新所述偏移值包括:
由循环冗余校验器CRC指示是否所述多个码字中的解码的一个未通过或通过循环冗余校验;
当所述多个码字中解码的一个未通过循环冗余校验时,或者当通过循环冗余校验的解码码字的数量小于x时,由计数器递增所述索引,其中x是整数;
由存储器存储通过循环冗余校验的解码码字;
由模数设备指示x个解码码字通过循环冗余校验;和
由梯度计算器基于所述第二解码器的误差函数提供更新的偏移值,并擦除所述存储器。
14.根据权利要求12所述的方法,其中初始偏移值为0.5,并且所述索引最初被设置为1。
15.根据权利要求13所述的方法,其中所述误差函数是交叉熵误差函数。
16.根据权利要求13所述的方法,其中所述误差函数是均方误差函数。
17.根据权利要求13所述的方法,其中所述误差函数是p范数误差函数。
18.根据权利要求12所述的方法,其中更新所述偏移值包括:
由循环冗余校验器CRC指示是否所述多个码字中解码的一个未通过或通过循环冗余校验;
由存储器存储未通过和通过循环冗余校验的解码码字;
由比较器指示是否解码少于x个的码字或解码x个码字;
由计数器将所述索引递增到要解码的所述多个码字中的下一个码字;以及
由梯度计算器提供基于所述第二解码器的误差函数的更新的偏移值和未通过循环冗余校验的解码码字,并擦除所述存储器。
19.根据权利要求18所述的方法,进一步包括:
由第三解码器接收所述更新的偏移值和所述未通过循环冗余校验的解码码字;以及
由所述第三解码器使用所述更新的偏移值重新解码所述未通过循环冗余校验的解码码字。
20.根据权利要求18所述的方法,其中所述误差函数是交叉熵误差函数、均方误差函数和p范数误差函数之一。
CN201911211640.6A 2018-12-03 2019-12-02 用于低密度奇偶校验(ldpc)码偏移优化的装置和方法 Active CN111262593B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862774605P 2018-12-03 2018-12-03
US62/774,605 2018-12-03
US16/269,190 2019-02-06
US16/269,190 US10727868B2 (en) 2018-12-03 2019-02-06 Apparatus and method for offset optimization for low-density parity-check (LDPC) code

Publications (2)

Publication Number Publication Date
CN111262593A true CN111262593A (zh) 2020-06-09
CN111262593B CN111262593B (zh) 2024-08-09

Family

ID=70850622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911211640.6A Active CN111262593B (zh) 2018-12-03 2019-12-02 用于低密度奇偶校验(ldpc)码偏移优化的装置和方法

Country Status (4)

Country Link
US (2) US10727868B2 (zh)
KR (1) KR20200067704A (zh)
CN (1) CN111262593B (zh)
TW (1) TWI826600B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804029A (zh) * 2020-12-30 2021-05-14 西南交通大学 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3989502B1 (en) * 2019-07-26 2023-12-27 Mitsubishi Electric Corporation Subchannel encoding device, subchannel decoding device, subchannel encoding method, subchannel decoding method, and subchannel multiplexing optical communication system
US11956224B2 (en) 2020-06-11 2024-04-09 Bank Of America Corporation Using machine-learning models to authenticate users and protect enterprise-managed information and resources
CN113098531B (zh) * 2021-04-19 2022-04-29 中南林业科技大学 一种基于最小和译码框架的动态偏移补偿方法
EP4329202A4 (en) 2021-05-25 2024-10-16 Samsung Electronics Co Ltd SELF-CORRECTING MIN-SUM DECODER BASED ON NEURAL NETWORK AND ELECTRONIC DEVICE COMPRISING SAME

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243984A (zh) * 2013-06-19 2014-12-24 晨星半导体股份有限公司 应用于数字音视频编解码技术标准系统的解码方法及解码装置
CN104471938A (zh) * 2012-06-11 2015-03-25 三星电子株式会社 根据彩色分量共享sao参数的对视频进行编码的方法和设备
CN106537832A (zh) * 2014-07-22 2017-03-22 高通股份有限公司 用于错误校正数据的偏移选择

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095783B1 (en) * 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7174561B2 (en) * 2001-04-13 2007-02-06 Emc Corporation MPEG dual-channel decoder data and control protocols for real-time video streaming
KR20090064268A (ko) 2007-12-15 2009-06-18 한국전자통신연구원 가변 보정값을 이용한 복호화 장치 및 그 방법
TWI469533B (zh) * 2008-11-07 2015-01-11 Realtek Semiconductor Corp 同位檢查碼解碼器及接收系統
US8319672B2 (en) * 2010-04-09 2012-11-27 Korea Electronics Technology Institute Decoding device for context-based adaptive binary arithmetic coding (CABAC) technique
US8676570B2 (en) * 2010-04-26 2014-03-18 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to perform audio watermark decoding
US8433975B2 (en) * 2010-08-13 2013-04-30 Nxp B.V. Bitwise reliability indicators from survivor bits in Viterbi decoders
CN103222276B (zh) * 2010-09-20 2017-04-19 数码士有限公司 将在http流式传输中发生表达切换时实现的处理方法
US8543882B2 (en) * 2010-10-15 2013-09-24 Tyco Electronics Subsea Communications Llc Joint carrier phase estimation and forward error correction
EP2678944B1 (en) * 2011-02-25 2019-11-06 BlackBerry Limited Methods and devices for data compression using offset-based adaptive reconstruction levels
US8656245B2 (en) * 2011-04-13 2014-02-18 California Institute Of Technology Method of error floor mitigation in low-density parity-check codes
US8918704B2 (en) * 2012-03-15 2014-12-23 David Declercq Decoding method and apparatus for non-binary, low-density, parity check codes
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
EP2892157A1 (en) 2014-01-02 2015-07-08 Alcatel Lucent Offset Min-Sum decoding of LDPC codes
CN111242300A (zh) 2014-02-10 2020-06-05 三菱电机株式会社 使用分层型神经网络的判别装置
US9774854B2 (en) * 2014-02-27 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors
GB2533639B (en) * 2014-12-24 2017-11-22 Imagination Tech Ltd Low density parity check decoder
TWI592937B (zh) * 2016-07-05 2017-07-21 大心電子(英屬維京群島)股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10491243B2 (en) * 2017-05-26 2019-11-26 SK Hynix Inc. Deep learning for low-density parity-check (LDPC) decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104471938A (zh) * 2012-06-11 2015-03-25 三星电子株式会社 根据彩色分量共享sao参数的对视频进行编码的方法和设备
CN104243984A (zh) * 2013-06-19 2014-12-24 晨星半导体股份有限公司 应用于数字音视频编解码技术标准系统的解码方法及解码装置
CN106537832A (zh) * 2014-07-22 2017-03-22 高通股份有限公司 用于错误校正数据的偏移选择

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804029A (zh) * 2020-12-30 2021-05-14 西南交通大学 基于ldpc码的bats码的传输方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
US11290127B2 (en) 2022-03-29
KR20200067704A (ko) 2020-06-12
US10727868B2 (en) 2020-07-28
US20200177204A1 (en) 2020-06-04
TWI826600B (zh) 2023-12-21
US20200295782A1 (en) 2020-09-17
CN111262593B (zh) 2024-08-09
TW202025642A (zh) 2020-07-01

Similar Documents

Publication Publication Date Title
CN111262593B (zh) 用于低密度奇偶校验(ldpc)码偏移优化的装置和方法
TWI785122B (zh) 在極化連續消除列表解碼中用於組成碼處理的裝置及方法
US10534665B2 (en) Decoding method, memory storage device and memory control circuit unit
US10944428B2 (en) Device, system and method for determining bit reliability information
CN111726121B (zh) 错误校正解码器和具有该错误校正解码器的存储器系统
US20170134049A1 (en) Decoding method, memory storage device and memory control circuit unit
US20230198672A1 (en) Autoencoders with list decoding for reliable data transmission over noisy channels and methods thereof
US20230115877A1 (en) Systems for estimating bit error rate (ber) of encoded data using neural networks
CN112448750A (zh) 用于为角度域稀疏信道提供信道恢复的系统和方法
US11271596B2 (en) System and method for identifying and decoding Reed-Muller codes in polar codes
CN111525931B (zh) Ldpc译码器、ldpc译码方法、存储介质和电子设备
CN112951313B (zh) 用于纠错的存储控制器、包括其的存储设备及其操作方法
CN111917419B (zh) 一种数据译码的方法以及装置
KR20210038317A (ko) 폴라 코드에서 리드 뮬러 코드를 식별 및 디코딩하는 시스템 및 방법
US11955987B2 (en) Neural self-corrected min-sum decoder and an electronic device comprising the decoder
CN115276900B (zh) 分布式信源的信源信道联合极化的信息传输方法和系统
US20190165811A1 (en) Low density parity check code decoder and decoding method thereof
CN111835461B (zh) 提供多输入多输出检测器选择的系统和方法
US20220245423A1 (en) Electronic device, user terminal, and method for running scalable deep learning network
KR20230131052A (ko) 무선 통신 시스템에서 복호 장치 및 방법
CN111435838B (zh) 译码方法、装置及设备
KR20220159071A (ko) 신경망 자기 정정 최소합 복호기 및 이를 포함하는 전자 장치
CN117917858A (zh) 用于提前终止迭代检测和解码的方法和系统
KR20240056415A (ko) 반복적 감지 및 디코딩의 조기 종료를 위한 방법 및 시스템
CN110601791A (zh) 通信系统的低密度奇偶检查码的解码方法及应用其的通信装置

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