CN116192156A - 解码设备、解码方法和电子设备 - Google Patents

解码设备、解码方法和电子设备 Download PDF

Info

Publication number
CN116192156A
CN116192156A CN202211491111.8A CN202211491111A CN116192156A CN 116192156 A CN116192156 A CN 116192156A CN 202211491111 A CN202211491111 A CN 202211491111A CN 116192156 A CN116192156 A CN 116192156A
Authority
CN
China
Prior art keywords
variable
row
parity check
values
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211491111.8A
Other languages
English (en)
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.)
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
Priority claimed from KR1020220059104A external-priority patent/KR20230078478A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116192156A publication Critical patent/CN116192156A/zh
Pending legal-status Critical Current

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
    • 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/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • 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
    • 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/1122Soft-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 storing only the first and second minimum values per check node
    • 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

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)
  • Detection And Correction Of Errors (AREA)

Abstract

提供了解码设备、解码方法和电子设备,其中,所述解码设备包括:存储器,被配置为:存储调度表,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的每个行中的多个列的期望处理顺序;以及处理电路系统,被配置为:基于调度表对LDPC码进行解码,解码的步骤包括:在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前,对包括在奇偶校验矩阵的第二调度行中的至少一列执行处理。

Description

解码设备、解码方法和电子设备
本申请基于并要求于2021年11月26日在韩国知识产权局提交的第10-2021-0166195号韩国专利申请和于2022年5月13日在韩国知识产权局提交的第10-2022-0059104号韩国专利申请的优先权的权益,所述韩国专利申请的每个的公开通过引用全部包含于此。
技术领域
发明构思的各种示例实施例涉及解码设备,更具体地,涉及用于基于调度表对低密度奇偶校验(LDPC)码进行解码的设备、包括该设备的系统和/或操作该设备的方法。
背景技术
当在通信系统中的发送器与接收器之间发送和接收数据时,由于通信信道中的噪声,错误可能发生。如上所述,可通过使用纠错码执行编码和解码来纠正由通信信道引起的错误。作为一种类型的纠错码的LDPC码随着码的长度增加而与其他纠错码相比具有优异的纠错性能,因此,与第5代(5G)通信系统一起使用。
在这种情况下,由于在5G通信系统中使用的电子设备的性能的提高,因此,使用LDPC码进行编码的数据的接收量已经增加。如上所述,因为电子设备接收更多的数据,所以电子设备对LDPC码的解码也需要被更快地处理。因此,期望和/或需要开发更快地处理LDPC码的解码的方法。
发明内容
发明构思的各种示例实施例提供了一种能够以较高速度对低密度奇偶校验(LDPC)码进行解码的解码设备。
根据发明构思的至少一个示例实施例的一方面,提供了一种用于对低密度奇偶校验(LDPC)码进行解码的解码设备,所述解码设备包括:存储器,被配置为:存储调度表,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的行中的每个行中的多个列的期望处理顺序;以及处理电路系统,被配置为:基于调度表对LDPC码进行解码,解码的步骤包括:在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前,对包括在奇偶校验矩阵的第二调度行中的至少一个列执行处理。
根据发明构思的至少一个示例实施例的另一方面,提供了一种对低密度奇偶校验(LDPC)码进行解码的解码方法,所述解码方法包括:接收LDPC码,以及基于调度表对LDPC码进行解码,调度表指示包括奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的所述多个行中的每个行中的多个列的处理顺序,对LDPC码的进行解码的步骤包括:在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前,对包括在奇偶校验矩阵的第二调度行中的列执行处理。
根据发明构思的至少一个示例实施例的另一方面,提供了一种电子设备,所述电子设备包括:接收器,被配置为接收低密度奇偶校验(LDPC)码;存储器,被配置为:存储调度表,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的行中的每个行中的多个列的期望处理顺序;以及处理电路系统,被配置为:基于调度表对LDPC码进行解码,解码的步骤包括:独立地对不与奇偶校验矩阵的打孔区域或对角矩阵区域对应的变量节点执行变量节点处理,以及对与奇偶校验矩阵的打孔区域或对角矩阵区对应的变量节点执行变量节点处理。
附图说明
根据以下结合附图的具体实施方式,将更清楚地理解发明构思的各种示例实施例,在附图中:
图1是示出根据至少一个示例实施例的通信系统的框图;
图2是示出根据一些示例实施例的低密度奇偶校验(LDPC)码的奇偶校验矩阵和与奇偶校验矩阵对应的泰纳图(Tanner graph)的示例的示图;
图3是示出根据至少一个示例实施例的解码设备的示图;
图4是示出根据至少一个示例实施例的处理电路的详细结构的示图;
图5是示出根据至少一个示例实施例的处理电路的详细结构的示图;
图6是示出根据至少一个示例实施例的处理电路的详细结构的示图;
图7是示出根据至少一个示例实施例的由解码设备执行的校验节点处理操作的流程图;
图8是示出根据至少一个示例实施例的由解码设备执行的变量节点处理操作的流程图;
图9是示出根据一些示例实施例的在第5代(5G)通信系统中使用的奇偶校验矩阵的示例的示图;
图10是用于描述根据一些示例实施例的图9的奇偶校验矩阵的结构的示图;
图11A和图11B是示出根据比较示例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图;
图12A至图12D是示出根据比较示例的由解码设备使用的调度表的示例的示图;
图13A和图13B是示出根据至少一个示例实施例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图;
图14A至图14D是示出根据至少一个示例实施例的由解码设备使用的调度表的示例的示图;
图15A至图15C是示出根据至少一个示例实施例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图;以及
图16A至图16F是示出根据至少一个示例实施例的由解码设备使用的调度表的示例的示图。
具体实施方式
在下文中,将参照附图详细描述各种示例实施例。
图1是示出根据至少一个示例实施例的通信系统的框图。
参照图1,根据至少一个示例实施例的通信系统1可包括第一电子设备10和第二电子设备20,但是示例实施例不限于此,并且例如,通信系统1可包括更多数量的电子设备和/或其他装置。第一电子设备10和第二电子设备20可以是经由包括在通信系统1中的至少一个无线信道彼此通信的设备,但是不限于此,并且例如可使用至少一个有线信道和/或无线和有线信道的组合等进行通信。例如,第一电子设备10和/或第二电子设备20的每个可以是基于蜂窝的通信系统(诸如,第5代(5G)系统、4G系统、WiFi系统、蓝牙系统等)中的基站和/或终端,但是示例实施例不限于此。
第一电子设备10可包括编码设备100和/或发送设备200等,但是不限于此,并且例如可包括更多或更少数量的组成元件。
编码设备100可通过使用例如低密度奇偶校验(LDPC)码对将被发送给第二电子设备20的数据进行编码来生成至少一个码字,但是不限于此。在这种情况下,编码设备100可通过使用奇偶校验矩阵来执行编码。例如,假设奇偶校验矩阵是H,并且由编码设备100生成的码字是x,则奇偶校验矩阵和码字可满足Hx=0的关系。
发送设备200可通过对码字进行调制等来生成至少一个发送信号Tx。另外,发送设备200可将发送信号Tx发送给第二电子设备20。
第二电子设备20可包括解码设备300和/或接收设备400等,但是不限于此,并且例如可包括更多或更少数量的组成元件。
接收设备400可从第一电子设备10等接收发送信号Tx,但是不限于此。另外,接收设备400可通过对发送信号Tx进行调制来生成LDPC码。
解码设备300可通过使用LDPC码执行解码来生成、解码和/或重构等由第一电子设备10发送的数据,但是示例实施例不限于此。例如,解码设备300可通过使用与由编码设备100使用的奇偶校验矩阵相同的奇偶校验矩阵等来执行解码。
根据一些示例实施例,解码设备300可通过使用将奇偶校验矩阵解码为多个层并且顺序地对每个层进行解码的分层调度方法来对LDPC码进行解码,但是不限于此。在这种情况下,奇偶校验矩阵的一个行可被称为层。
如下面参照图11A和图11B所述,在对包括在首先将被处理的奇偶校验矩阵的行中的特定列的变量节点处理完成之后,当对包括在接下来将被处理的奇偶校验矩阵的行中的特定列执行校验节点处理时,停顿可发生。
根据至少一个示例实施例,解码设备300可通过在处理包括在奇偶校验矩阵的第一行中的所有列被完成之前对包括在奇偶校验矩阵的第二行中的列执行处理,来对LDPC码进行解码。也就是说,解码设备300可在对一个层的处理被完成之前对另一个层执行处理。如上所述,根据至少一个示例实施例的解码设备300可减少在解码处理期间可发生的停顿(和/或降低发生停顿的概率),因此,LDPC码可被更快地解码。
下面更详细地描述根据发明构思的至少一个示例实施例的解码设备300的详细结构和操作。
图2是示出根据至少一个示例实施例的LDPC码的奇偶校验矩阵和与奇偶校验矩阵对应的泰纳图(Tanner graph)的示例的示图。
参照图2,图2示出具有尺寸2×3的奇偶校验矩阵H,并且与奇偶校验矩阵对应的泰纳图在图的左侧。
可通过在与奇偶校验矩阵H对应的泰纳图上交换消息的处理来对LDPC码进行解码。奇偶校验矩阵H的每个元素可指示泰纳图上的校验节点与变量节点之间的连接。在这种情况下,奇偶校验矩阵H的每个行可与泰纳图的校验节点对应,并且奇偶校验矩阵H的每个列可与泰纳图的变量节点对应等。
例如,奇偶校验矩阵H的第一行和第一列中的元素可指示是否在泰纳图的第一校验节点C1与第一变量节点V1之间交换消息。在这种情况下,在奇偶校验矩阵H中,具有值1的元素可指示在校验节点与变量节点之间交换消息,并且具有值0的元素可指示在校验节点与变量节点之间不交换消息。
在图2的右侧,可确认奇偶校验矩阵H',在奇偶校验矩阵H'中,左侧的奇偶校验矩阵H的每个元素被扩展到Z×Z的尺寸(例如,Z=4等)。在这种情况下,扩展的奇偶校验矩阵H'可用在通信系统(诸如,Wi-Fi、WiMax和/或5G系统等)中使用的准循环(QC)-LDPC码中,但是示例实施例不限于此。
扩展的奇偶校验矩阵H'的每个元素可以由具有尺寸Z×Z的小正方形子矩阵表示,并且每个子矩阵可以是例如其中Z×Z单位矩阵被循环移位的循环置换矩阵,但是不限于此。例如,在扩展的奇偶校验矩阵H'中,具有值0的元素可指示Z×Z单位矩阵。另外,在扩展的奇偶校验矩阵H'中,具有值3的元素可指示通过将Z×Z单位矩阵向右循环移位三次而生成的循环置换矩阵。此外,在扩展的奇偶校验矩阵H'中,具有值-1的元素可指示Z×Z零矩阵。
在下文中,为了便于描述和简洁,主要描述与图2的左侧所示的奇偶校验矩阵H具有相同形状的奇偶校验矩阵,并且假设隐式地执行图2的右侧的扩展的奇偶校验矩阵H'期望和/或所需的计算,但是示例实施例不限于此。
图3是示出根据至少一个示例实施例的解码设备的示图。
参照图3,根据至少一个示例实施例的解码设备300可包括存储器310和/或处理电路320(例如,处理电路系统、至少一个处理器等),但是示例实施例不限于此,并且例如,解码设备300可包括更多或更少数量的组成元件。
存储器310可存储调度表311等,但是不限于此。调度表311可以是指示包括在奇偶校验矩阵中的行和/或包括在奇偶校验矩阵的每个行中的列等的处理顺序的表。调度表311可由处理电路320等引用。
处理顺序可包括行处理顺序、列校验节点处理顺序和/或列变量节点处理顺序等。
行处理顺序可指示对奇偶校验矩阵的每个行的处理被执行和/或完成的顺序。可考虑和/或基于分配给包括在奇偶校验矩阵中的每个行的权重来配置行处理顺序。在这种情况下,权重可与包括在奇偶校验矩阵的行中包括的列之中的期望和/或需要校验节点处理和/或变量节点处理的列的数量成比例,但是示例实施例不限于此。例如,权重可指示包括在奇偶校验矩阵的每个行中的元素之中的具有值1的元素的数量等。
根据至少一个示例实施例的行处理顺序可被配置,使得具有相对高的权重的行(相对于矩阵的其他行,例如,矩阵的具有最高权重的行的一半等)和具有相对低的权重的行(相对于矩阵的其他行,例如,矩阵的具有最低权重的行的一半等)被交替地处理,但是不限于此。可参照下面将描述的图13和图15来确认其中行处理顺序基于权重被配置的至少一个示例实施例。
列校验节点处理顺序可指示处理包括在奇偶校验矩阵的一个行中的列的校验节点的顺序。另外,列变量节点处理顺序可指示处理包括在奇偶校验矩阵的至少一个行中的列的变量节点的顺序。
列校验节点处理顺序和列变量节点处理顺序可被配置,使得在对包括在奇偶校验矩阵的根据行处理顺序将被首先处理的第一行中的特定和/或期望列的变量节点处理的完成之后,对包括在奇偶校验矩阵的根据行处理顺序将在第一行之后(例如,第二等)被处理的第二行中的特定和/或期望列执行校验节点处理。例如,列校验节点处理顺序和列变量节点处理顺序可被配置,使得在对包括在奇偶校验矩阵的第一行中的第五列的变量节点处理被完成之后,对包括在第二行中的第五列执行校验节点处理等。
处理电路320可基于调度表311对LDPC码进行解码。处理电路320可通过执行包括多个校验节点处理操作的校验节点处理和/或包括多个变量节点处理操作的变量节点处理等来对LDPC码进行解码。在这种情况下,处理电路320可基于存储在存储器310中的调度表311来执行校验节点处理和变量节点处理,但是不限于此。处理电路320可被实现为硬件或硬件和软件的组合等。根据一些示例实施例,处理电路320可被实现为处理电路系统,该处理电路系统可包括:包括逻辑电路的硬件;硬件/软件组合(诸如,执行软件和/或固件的处理器);或它们的组合。例如,处理电路系统更具体地可包括但不限于中央处理器(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等,但是不限于此。此外,根据一些示例实施例,处理电路系统还可包括存储器(诸如,存储器310和/或后验概率值存储器323、校验变量存储器324和/或变量校验存储器327等)。
将参照图4至图6更详细地描述处理电路320的一些示例实施例,并且将参照图7和图8更详细地描述多个校验节点处理操作和多个变量节点处理操作的一些示例实施例。
图4是示出根据至少一个示例实施例的处理电路的详细结构的示图。
参照图4,根据至少一个示例实施例的处理电路320可包括校验节点处理调度器321、变量节点处理调度器322、后验概率值存储器323、校验变量存储器324、外部值(extrinsic value)计算器325、最小值计算器326、变量校验存储器327、更新计算器328和/或后验概率值计算器329等,但是不限于此,并且例如可包括更多或更少数量的组成元件。此外,根据至少一个示例实施例的处理电路320还可包括移位器330等。
校验节点处理调度器321可基于处理顺序(例如,期望的处理顺序)来控制多个校验节点处理操作被顺序地执行。校验节点处理调度器321可读取存储在存储器310中的调度表311,并且基于调度表311来控制由处理电路320的其他组件执行和/或由处理电路320执行的校验节点处理操作。
变量节点处理调度器322可基于处理顺序来控制多个变量节点处理操作被顺序地执行。变量节点处理调度器322可读取存储在存储器310中的调度表311,并且基于调度表311来控制由处理电路320的其他组件执行和/或由处理电路320执行的变量节点处理操作。
后验概率值存储器323可存储分别与多个变量节点对应的多个后验概率值。
后验概率值存储器323可存储例如由接收设备400等生成的LDPC码的对数似然比(LLR)值作为初始后验概率值,但是不限于此。在这种情况下,当通过经由使用LDPC码的LLR值重复执行校验节点处理和/或变量节点处理而获得的后验概率值满足期望和/或预设条件时,处理电路320可确定解码成功。后验概率值存储器323可存储在校验节点处理和/或变量节点处理期间改变的后验概率值。在这种情况下,第j变量节点的后验概率值可表示为Γj(其中,j是大于或等于0的整数)。
校验变量存储器324可存储从多个校验节点发送给多个变量节点的多个校验变量值。在这种情况下,从第i校验节点发送给第j变量节点的校验变量值可表示为αij(其中,i是大于或等于0的整数)。
为了减少存储器容量需求和/或所使用的存储器的量,当奇偶校验矩阵的元素为非零时,校验变量存储器324可存储校验变量值。也就是说,当校验节点未连接到变量节点时,校验变量存储器324可不存储对应的校验变量值。
根据另一示例实施例,为了减少存储器容量需求和/或所使用的存储器的量,代替存储校验变量值αij,校验变量存储器324可存储校验变量值αij的符号、作为从同一校验节点发送的校验变量值(具有相同的i值的αij)之中的最小值的第一最小值(例如,第一期望值)、作为从同一校验节点发送的校验变量值(具有相同的i值的αij)之中的第二最小值(例如,第二期望值)、以及第一最小值的列索引j,但是示例实施例不限于此。在这种情况下,校验变量存储器324的输出可通过例如将由更新计算器328执行的操作被发送给外部值计算器325,但是示例实施例不限于此。
外部值计算器325可通过从多个后验概率值减去多个校验变量值来计算多个外部值,或者换句话说,外部值计算器325可基于多个校验变量值和多个后验概率值等来计算多个外部值。
外部值计算器325可从后验概率值存储器323读取后验概率值。此外,外部值计算器325可从校验变量存储器324读取校验变量值。另外,外部值计算器325可通过从后验概率值减去校验变量值来计算外部值,或者换句话说,外部值计算器325可基于校验变量值和后验概率值等来计算外部值。
根据至少一个示例实施例,外部值计算器325可从后验概率值存储器323读取第j变量节点的后验概率值Γj,从校验变量存储器324读取从第i校验节点发送给第j变量节点的校验变量值αij,和/或通过从后验概率值Γj减去校验变量值αij来计算与第i校验节点和第j变量节点对应的外部值Qij等,或者换句话说,外部值计算器325可基于校验变量值αij和后验概率值Γj来计算与第i校验节点和第j变量节点对应的外部值Qij。也就是说,外部值可通过下面的等式1来计算。
[等式1]
Qij=Γjij
最小值计算器326可从外部值计算器325接收计算结果。另外,最小值计算器326可计算和/或确定多个外部值之中的第一最小值和/或第二最小值。例如,最小值计算器326可通过确定多个外部值之中的最小值来确定第一最小值(例如,第一期望值),并且最小值计算器326可通过确定多个外部值之中的第二最小值来确定第二最小值(例如,第二期望值)等,但是示例实施例不限于此,并且例如,最小值计算器326可确定单个最小值或者三个或更多个最小值等。
最小值计算器326可针对奇偶校验矩阵的每个行计算第一最小值和/或第二最小值,但是不限于此。也就是说,最小值计算器326可计算连接到同一校验节点的变量节点的多个外部值之中的第一最小值和第二最小值等。
最小值计算器326可包括多个缓冲器。在这种情况下,多个缓冲器中的每个可存储针对奇偶校验矩阵的每个行计算的第一最小值和第二最小值,但是示例实施例不限于此。根据至少一个示例实施例,解码设备300可通过在对包括在奇偶校验矩阵的第一行中的所有列的处理已经被完成之前对包括在奇偶校验矩阵的第二行中的列执行处理来对LDPC码进行解码,或者换句话说,解码设备300可同时和/或并行地处理奇偶校验矩阵的两个行或更多个行中的列等。在这种情况下,最小值计算器326可在对包括在第一期望行中的列的处理被执行时处理包括在第二期望行中的列,但是不限于此,并且例如,多于两个行可被同时处理和/或并行处理。另外,最小值计算器326可将针对奇偶校验矩阵的第一行计算的第一最小值和第二最小值临时存储在多个缓冲器中的第一缓冲器中,并且可将针对奇偶校验矩阵的第二行计算的第一最小值和第二最小值存储在多个缓冲器中的第二缓冲器中等。如上所述,因为最小值计算器326包括多个缓冲器,所以解码设备300可通过在对包括在奇偶校验矩阵的第一行中的所有列的处理已经被完成之前对包括在奇偶校验矩阵的第二行中的列执行处理来对LDPC码进行解码。
由最小值计算器326计算的第一最小值和第二最小值可表示为下面的等式2和等式3。
[等式2]
M1i=minj∈V(i)|Qij|
[等式3]
M2i=2nd minj∈V(i)|Qij|
另外,具有由最小值计算器326计算的第一最小值的变量节点的索引可表示为下面的等式4。
[等式4]
M1index=arg minj∈V(i)|Qij|
根据至少一个示例实施例,最小值计算器326可通过应用偏移最小和(OMS)方法来计算第一最小值和第二最小值,但是示例实施例不限于此。在这种情况下,当ε被应用为偏移值时,最小值计算器326可通过使用下面的等式5来计算第一最小值,并且通过使用下面的等式6来计算第二最小值。
[等式5]
Figure BDA0003963306410000101
[等式6]
M2i=max(2ndminj∈V(i)|Qij|-ε,0)
根据另一示例实施例,最小值计算器326可通过应用缩放最小和(SMS)方法来计算第一最小值和第二最小值,但是示例实施例不限于此。在这种情况下,当s用作缩放值时,最小值计算器326可通过使用下面的等式7来计算第一最小值,并且通过使用下面的等式8来计算第二最小值。
[等式7]
M1i=s×minj∈V(i)|Qij|
[等式8]
M2i=s×2nd minj∈V(i)|Qij|
根据另一示例实施例,最小值计算器326可通过应用OMS方法和SMS方法两者来计算第一最小值和第二最小值,但是示例实施例不限于此。在这种情况下,当ε被应用为偏移值并且s被应用为缩放值时,最小值计算器326可通过使用下面的等式9来计算第一最小值,并且通过使用下面的等式10来计算第二最小值。
[等式9]
Figure BDA0003963306410000111
[等式10]
M2i=max(s×2ndminj∈V(i)|Qij|-ε,0)
变量校验存储器327可存储多个外部值。变量校验存储器327可接收并存储由外部值计算器325计算的多个外部值。
更新计算器328可从最小值计算器326接收第一最小值和/或第二最小值(例如,多个最小值)等。更新计算器328可基于第一最小值和第二最小值重新计算多个校验变量值(例如,基于多个最小值重新计算多个校验变量值)等。在这种情况下,可使用下面的等式11至等式14重新计算校验变量值。
[等式11]
α′ij=δij×minj′∈V(i)\j|Qij′|
[等式12]
Figure BDA0003963306410000112
[等式13]
λi=∏j′∈V(i)sign(Qij′)
[等式14]
Figure BDA0003963306410000113
另外,由更新计算器328重新计算的多个校验变量值可被更新并存储在校验变量存储器324中。
后验概率值计算器329可通过对多个外部值和多个重新计算的校验变量值进行求和来重新计算多个后验概率值,或者换句话说,后验概率值计算器329可基于多个外部值和多个重新计算的校验变量值来重新计算多个后验概率值,但是示例实施例不限于此。
后验概率值计算器329可从变量校验存储器327读取外部值。此外,后验概率值计算器329可从更新计算器328读取重新计算的校验变量值。另外,后验概率值计算器329可通过对外部值和重新计算的校验变量值进行求和来重新计算后验概率值,或者换句话说,后验概率值计算器329可基于外部值和重新计算的校验变量值来重新计算后验概率值等。
根据至少一个示例实施例,后验概率值计算器329可从变量校验存储器327读取与第i校验节点和第j变量节点对应的外部值Qij,从更新计算器328读取与第i校验节点和第j变量节点对应的校验变量值α′ij,并且通过对外部值Qij和重新计算的校验变量值α′ij进行求和来重新计算第j变量节点的后验概率值Γj′。换句话说,后验概率值计算器329可基于外部值Qij和重新计算的校验变量值α′ij重新计算第j变量节点的后验概率值Γj′。也就是说,重新计算的后验概率值Γj′可如下面的等式15中。
[等式15]
Γj′=Qij+α′ij
另外,由后验概率值计算器329重新计算的多个后验概率值可被更新并存储在后验概率值存储器323中。
移位器330可对存储在后验概率值存储器323中的后验概率值进行移位,并且将后验概率值输出到外部值计算器325。移位器330是对LDPC码的逐块解码所期望和/或需要的组件,并且当不期望和/或不需要逐块解码等时,移位器330可被省略。
图5是示出根据至少一个示例实施例的处理电路的详细结构的示图。
参照图5,可确认处理电路320的至少一个示例实施例。在这种情况下,与图4不同,尽管图5中未示出校验节点处理调度器321和变量节点处理调度器322,但是图5的至少一个示例实施例也可包括校验节点处理调度器321和/或变量节点处理调度器322等。因为图5的处理电路320的结构和操作类似于图4中所示的结构和操作,所以下面将主要描述不同之处。
后验概率值存储器可包括第一后验概率值存储器323_1和/或第二后验概率值存储器323_2,但是示例实施例不限于此,并且后验概率值存储器可具有更多或更少数量的子存储器和/或子存储器区域等。第一后验概率值存储器323_1可存储分别与不对应于奇偶校验矩阵的打孔(puncturing)区域和/或对角矩阵区域的变量节点对应的多个第一后验概率值,但是不限于此。另外,第二后验概率值存储器323_2可存储分别与对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的多个第二后验概率值,但是不限于此。奇偶校验矩阵的打孔区域表示奇偶校验矩阵的与已经从奇偶校验矩阵移除的条目(例如,奇偶校验位)对应和/或包括已经从奇偶校验矩阵移除的条目(例如,奇偶校验位)的一个或多个列。奇偶校验矩阵的对角矩阵区域与其中对角线外的条目全为零的矩阵的对角区域对应。下面参照图9给出打孔区域和对角矩阵区域的详细说明。
在存储在第二后验概率值存储器323_2中的多个第二后验概率值之中,与对角矩阵区域对应的多个第二后验概率值可被存储在同一存储空间中。这是因为与对角矩阵区域对应的多个第二后验概率值不改变外部值,并且仅需要在硬判决(hard-decide)和输出之前维持后验概率值等。
第二后验概率值存储器323_2可包括至少一个触发器等,但是不限于此。因为与奇偶校验矩阵的打孔区域对应的变量节点的数量是素数,并且分别与对应于对角矩阵区域的变量节点对应的多个第二后验概率值可被共享和存储,所以第二后验概率值存储器323_2可存储少量的值。因此,第二后验概率值存储器323_2通过触发器存储多个第二后验概率值,使得在读取和/或写入第二后验概率值时发生的延迟可被显著减少。
在这种情况下,存储在第一后验概率值存储器323_1中的第一后验概率值和存储在第二后验概率值存储器323_2中的第二后验概率值中的仅一个可通过第一复用器(MUX)332输出到移位器330,但是示例实施例不限于此。第一MUX 332可基于从校验节点处理调度器321接收的信号(例如,控制信号等)输出第一后验概率值和第二后验概率值中的一个。基于调度表,校验节点处理调度器321可响应于期望和/或需要与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的校验节点处理和/或变量节点处理而输出第二后验概率值,并且可响应于期望和/或需要不与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的校验节点处理和/或变量节点处理而输出第一后验概率值。
更新计算器可包括例如第一更新计算器328_1和第二更新计算器328_2等,但是不限于此,并且例如可包括更多或更少数量的更新计算器等。第一更新计算器328_1可重新计算分别与多个第一后验概率值对应的多个第一校验变量值。另外,第二更新计算器328_2可重新计算分别与多个第二后验概率值对应的多个第二校验变量值。
校验变量存储器可包括例如第一校验变量存储器324_1和第二校验变量存储器324_2,但是不限于此,并且例如可包括更多或更少数量的校验变量存储器等。第一校验变量存储器324_1可存储多个第一校验变量值。第二校验变量存储器324_2可存储多个第二校验变量值。
在这种情况下,存储在第一校验变量存储器324_1中的第一校验变量值和存储在第二校验变量存储器324_2中的第二校验变量值中的仅一个可通过第二MUX 333输出到外部值计算器325,但是示例实施例不限于此。第二MUX 333可基于从校验节点处理调度器321接收的信号来输出第一校验变量值和第二校验变量值中的一个。基于调度表,当期望和/或需要与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的校验节点处理和/或变量节点处理时,校验节点处理调度器321可输出第二校验变量值,并且当期望和/或需要不与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的校验节点处理和/或变量节点处理时,校验节点处理调度器321可输出第一校验变量值。
变量校验存储器可包括第一变量校验存储器327_1和第二变量校验存储器327_2,但是不限于此,并且例如可包括更多或更少数量的变量校验存储器等。第一变量校验存储器327_1可存储基于多个第一后验概率值计算的多个第一外部值等。另外,第二变量校验存储器327_2可存储基于多个第二后验概率值计算的多个第二外部值等。
在这种情况下,在由外部值计算器325计算的多个外部值之中,第一外部值可通过解复用器DEMUX 334被发送给第一变量校验存储器327_1,并且第二外部值可通过DEMUX334被发送给第二变量校验存储器327_2等。DEMUX 334可基于从校验节点处理调度器321接收的信号(例如,控制信号等)将第一外部值或第二外部值发送给第一变量校验存储器327_1和/或第二变量校验存储器327_2。基于调度表,当与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的第二外部值被计算出时,校验节点处理调度器321可将第二外部值发送给第二变量校验存储器327_1,并且当不与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的第一外部值被计算出时,校验节点处理调度器321可将第一外部值发送给第一变量校验存储器327_1。
后验概率值计算器可包括例如第一后验概率值计算器329_1和第二后验概率值计算器329_2,但是不限于此,并且例如可包括更多或更少数量的后验概率值计算器等。第二后验概率值计算器329_2可通过对多个第二外部值和多个第二校验变量值进行求和来重新计算多个第二后验概率值等。
处理电路320还可包括对角矩阵存储器331。对角矩阵存储器331可存储与奇偶校验矩阵的对角矩阵区域对应的多个初始后验概率值。奇偶校验矩阵的对角矩阵区域与其中对角线外的条目全为零的矩阵的对角区域对应。由于奇偶校验矩阵的特性,与对角矩阵区域对应的变量节点连接到一个校验节点。因此,与对应于奇偶校验矩阵的对角矩阵区域的变量节点对应的外部值具有与初始后验概率值相同的值。因此,通过将对角矩阵存储器331直接连接到最小值计算器326,对角矩阵存储器331存储与奇偶校验矩阵的对角矩阵区域对应的多个初始后验概率值,并且与对角矩阵对应的变量节点处理操作的一部分可被省略。
如上所述,根据至少一个示例实施例的处理电路320可通过第一后验概率值存储器323_1、第一校验变量存储器324_1、第一变量校验存储器327_1、第一更新计算器328_1和/或第一后验概率值计算器329_1对不与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的变量节点执行变量节点处理等。并且可通过第二后验概率值存储器323_2、第二校验变量存储器324_2、第二变量校验存储器327_2、第二更新计算器328_2和/或第二后验概率值计算器329_2对与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的变量节点执行变量节点处理等。另外,可通过对角矩阵存储器331将初始后验概率值直接发送给最小值计算器326。如上所述,通过经由单独的存储器和计算器并且使用对角矩阵存储器331执行与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的变量节点处理,对整个LDPC码进行解码所需的时间可被减少。
图6是示出根据至少一个示例实施例的处理电路的详细结构的示图。
参照图6,可确认处理电路320的至少一个示例实施例。在这种情况下,与图4不同,尽管图6中未示出校验节点处理调度器321和变量节点处理调度器322,但是图6的至少一个示例实施例也可包括校验节点处理调度器321和/或变量节点处理调度器322,但是不限于此。因为图6的处理电路320的结构和操作类似于图4中所示的结构和操作,所以主要描述不同之处。
与图5的处理电路320不同,图6的处理电路320可包括一个变量校验存储器327,并且变量校验存储器327可存储基于多个第一后验概率值计算的多个第一外部值。另外,由外部值计算器325计算的多个第二外部值可被发送给第二后验概率值存储器323_2。因此,第二后验概率值存储器323_2也可用作存储多个第二外部值的存储器的原因在于:如上所述,第二后验概率值存储器323_2被实现为触发器,并且因此可独立地和/或同时地从与变量节点对应的每个存储空间进行读取和写入,并且触发器与其他存储器装置相比具有较小的时间延迟。
由第二后验概率值存储器323_2接收的多个第二外部值可被输入到第二后验概率值计算器329_2,并且可用于计算第二后验概率值。也就是说,第二后验概率值计算器329_2可通过对多个初始后验概率值和多个第二校验变量值进行求和来重新计算多个第二后验概率值,或者换句话说,第二后验概率值计算器329_2可基于多个初始后验概率值和多个第二校验变量值来重新计算多个第二后验概率值等。在这种情况下,可使用重新计算的第二后验概率值来更新与存储在第二后验概率值存储器323_2中的重新计算的第二后验概率值对应的外部值。
图7是示出根据至少一个示例实施例的由解码设备执行的校验节点处理操作的流程图。
参照图7,首先,在操作S710中,处理电路可从后验概率值存储器读取后验概率值。从后验概率值存储器读取的后验概率值可被输入到移位器,但是示例实施例不限于此。
在操作S720中,处理电路可从校验变量存储器读取校验变量值。从校验变量存储器读取的校验变量值可被输入到外部值计算器。此外,在操作S720中,后验概率值可被移位并输入到外部值计算器,但是示例实施例不限于此。
在操作S730中,处理电路可基于校验变量值和后验概率值来计算外部值等。例如,处理电路可通过使用外部值计算器从后验概率值减去校验变量值来计算外部值等。
在操作S740中,处理电路可计算和/或确定连接到同一校验节点的变量节点的多个外部值之中的多个最小值(例如,第一最小值和第二最小值等)。另外,在操作S730中计算的外部值可在操作S740中被存储在变量校验存储器中。
在操作S750中,处理电路可基于确定的多个最小值(例如,第一最小值和第二最小值等)来重新计算校验变量值。
如上所述的操作S710至S750可通过校验节点处理调度器被控制为由处理电路的其他组件处理,但是示例实施例不限于此。在这种情况下,校验节点处理调度器可使操作S710至S750中的每个由处理电路的其他组件使用流水线方式处理,但是不限于此。另外,操作S710至S750中的每个可在一个时钟周期中被处理,但是不限于此。
图8是示出根据至少一个示例实施例的由解码设备执行的变量节点处理操作的流程图。
参照图8,首先,在操作S810中,处理电路可从变量校验存储器读取外部值。从变量校验存储器读取的外部值可被输入到后验概率值计算器,但是不限于此。
在操作S820中,处理电路可读取外部值和由更新计算器重新计算的校验变量值。重新计算的校验变量值可被输入到后验概率值计算器。此外,在操作S820中,后验概率值计算器可基于输入的外部值和重新计算的校验变量值(例如,通过对输入的外部值和重新计算的校验变量值进行求和)来重新计算后验概率值。
在操作S830中,处理电路可在后验概率值存储器中更新并存储重新计算的后验概率值,但是示例实施例不限于此。
根据一些示例实施例,处理电路的组件可由变量节点处理调度器控制为执行操作S810至S830,但是示例实施例不限于此。在这种情况下,变量节点处理调度器可使操作S810至S830中的每个由处理电路的其他组件以流水线方式处理,但是示例实施例不限于此。另外,操作S810至S830中的每个可在一个时钟周期中被处理,但是不限于此。
图9是示出根据一些示例实施例的在5G通信系统中使用的奇偶校验矩阵的示例的示图。
参照图9,可确认可在5G通信系统中使用的奇偶校验矩阵的示例。在这种情况下,奇偶校验矩阵可包括总共46个行和68个列,但是示例实施例不限于此。在这种情况下,六十八(68)个列可包括从左边开始的二十二(22)个信息列91、四(4)个核心奇偶校验列92和四十二(42)个扩展奇偶校验列93。另外,四十六(46)个行可包括从顶部开始的四(4)个核心校验行94和四十二(42)个扩展校验行95。奇偶校验矩阵可被划分为如图10中所示的多个区域,但是不限于此。
图10是用于描述根据一些示例实施例的图9的奇偶校验矩阵的结构的示图。
参照图10,奇偶校验矩阵可被划分为总共5个区域,但是示例实施例不限于此。首先,区域A可以是包括二十二(22)个信息列91和四(4)个核心校验行94的区域。另外,区域B可以是包括四(4)个核心奇偶校验列92和四(4)个核心校验行94的区域。在这种情况下,当仅使用区域A和B时,可获得最高编码率,但是示例实施例不限于此。
区域C可以是包括四十二(42)个扩展奇偶校验列93和四(4)个核心校验行94的区域。区域C可以是其中所有元素都是0的零矩阵,但是示例实施例不限于此。
区域D可以是包括二十二(22)个信息列91、四(4)个核心奇偶校验列92和四十二(42)个扩展校验行95的区域。另外,区域E可以是包括四十二(42)个扩展奇偶校验列93和四十二(42)个扩展校验行95的区域。面积E可以是42×42单位矩阵,但是不限于此。在这种情况下,当仅使用区域D和E时,可获得低编码率。
就这方面而言,区域A和D的两个左列可以是打孔区域,但是示例实施例不限于此。也就是说,区域A和D的两个左列可以是对应于和/或包括在使用LDPC码进行编码的码字中被打孔并被发送的位(例如,被移除的奇偶校验位)的列。换句话说,可通过移除与奇偶校验矩阵的打孔区域A和/或D对应的奇偶校验位和/或包括在奇偶校验矩阵的打孔区域A和/或D中的奇偶校验位来对原始码字进行“打孔”,以进一步增加码字的编码率等。
在图11A至图16F中,可确认用于基于如图9中所示的奇偶校验矩阵而编码的LDPC码的解码设备的处理顺序和指示处理顺序的调度表的一些示例实施例。在以下描述中,奇偶校验矩阵的行可以由行索引0至45按从顶行开始的顺序表示,并且奇偶校验矩阵的列可由列索引0至67按从最左列开始的顺序表示,然而,示例实施例不限于此,并且奇偶校验矩阵中可存在更多或更少数量的行和/或列。
图11A和11B是示出根据至少一个比较示例实施例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图。
参照图11A,可确认根据比较示例的由解码设备对具有例如22/28的编码率的LDPC码进行解码的校验节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,校验节点处理操作的行处理顺序被描述为表的最左列中的行索引。在图11A的比较示例实施例中,行处理顺序可以是作为行索引的0、1、2、3、4和5。
另外,在行索引的右侧示出与每个行索引对应的列的列校验节点处理顺序。在图11A的至少一个示例实施例中,包括在具有行索引0的行中的列的列校验节点处理顺序可以是作为列索引的2、5、6、9、10、……,并且包括在具有行索引4的行中的列的列校验节点处理顺序可以是作为列索引的26、0和1等。
参照图11B,可确认根据比较示例的由解码设备对具有例如22/28的编码率的LDPC码进行解码的变量节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,变量节点处理操作的行处理顺序被描述为表的最左列中的行索引。在图11B的比较示例实施例中,行处理顺序可以是作为行索引的0、1、2、3、4和5,并且这可与图11A中所示的校验节点处理操作的行处理顺序相同。
另外,在行索引的右侧示出与每个行索引对应的列的列变量节点处理顺序。在图11B的比较示例实施例中,包括在具有行索引0的行中的列的列变量节点处理顺序可以是作为列索引的0、2、3、5、9、……,并且包括在具有行索引4的行中的列的列变量节点处理顺序可以是作为列索引的0、1和26。在这种情况下,如图11A和11B中所示,相同行索引的列校验节点处理顺序和列变量节点处理顺序可彼此不同,但是示例实施例不限于此。
图12A至12D是示出根据至少一个比较示例实施例的由解码设备使用的调度表的示例的示图。
参照图12A至图12D,可确认根据如图11A和图11B中所示的处理顺序而生成的调度表,但是示例实施例不限于此。
调度表中的顶行指示时钟(CLK)序列号,但是示例实施例不限于此。另外,在最左列中,示出校验节点处理操作和变量节点处理操作的编号。在这种情况下,操作R1至R5可分别与作为图7中所示的校验节点处理操作的操作S710至S750对应,并且操作W1至W3可分别与作为图8中所示的变量节点处理操作的操作S810至S830对应,然而,示例实施例不限于此。
在这种情况下,在校验节点处理操作之中被调度为首先执行的操作R1可在第一时钟周期期间开始,并且可根据和/或基于图11A的处理顺序来执行,但是不限于此。另外,在校验节点处理操作之中被调度为第二个执行的操作R2可在第二时钟周期期间开始,并且操作R3至R5等也可以以流水线方式顺序地开始,但是示例实施例不限于此。
此外,在变量节点处理操作之中被调度为首先执行的操作W1可在其中针对变量节点处理被调度为执行和/或完成的行索引的操作R5被执行的时钟周期期间开始。例如,针对具有行索引0的行的操作W1可在其中针对具有行索引0的行的操作R5被最后执行的第二十三时钟周期期间开始。换句话说,针对行0的变量节点处理操作W1在针对行0的校验节点处理被完成的同一时钟周期期间开始。
以上述方式,在图12A和图12B中,可完成针对具有例如0至2(例如,0、1、2等)的行索引的行的校验节点处理操作,并且可完成针对具有例如0和1的列索引的列的变量节点处理操作等。另外,参照图12C,可确认在针对具有行索引3的行的校验节点处理被完成之后,在对具有行索引4的行执行校验节点处理操作时,停顿发生在操作的中间。在图12C的至少一个示例实施例中,在操作R1的情况下,可确认在第七十八时钟周期至第八十二时钟周期等中发生停顿。另外,在操作R2的情况下,可确认在第七十九时钟周期至第八十三时钟周期中发生停顿。此外,由于流水线方法的特性,即使在操作R3、R4和R5中,也可确认与先前的处理操作相比,具有相同长度的停顿随着一个时钟周期延迟而传播。
因为在对包括在奇偶校验矩阵的根据行处理顺序将被首先处理的第一行中的特定列的变量节点处理被完成之后,可对包括在奇偶校验矩阵的根据行处理顺序将在第一行之后被处理的第二行中的特定列执行校验节点处理,所以这样的停顿可已经发生。在图12C的至少一个示例实施例中,这是因为,在针对需要首先被执行处理的具有行索引3的行中的具有列索引0的列的所有变量节点处理操作被完成之后,针对需要在具有行索引3的行之后被执行处理的具有行索引4的行中的具有列索引0的列的校验节点处理操作可开始。因此,可在第八十三时钟周期期间执行针对具有行索引4的行中的具有列索引0的列的操作R1,第八十三时钟周期在针对具有行索引3的行中的具有列索引0的列的操作W3被执行的第八十二时钟周期之后。
类似地,在图12C和图12D中,可确认当对具有行索引5的行执行校验节点处理操作和变量节点处理操作时,停顿发生。
如上所述,在根据比较示例的解码设备中,可确认在校验节点处理操作和变量节点处理操作的中间发生停顿,并且因此,对LDPC码的解码被延迟。
图13A和图13B是示出根据至少一个示例实施例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图。
参照图13A,可确认根据至少一个示例实施例的由解码设备对具有例如22/28的编码率的LDPC码进行解码的校验节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,校验节点处理操作的行处理顺序被描述为表的最左列中的行索引。在图13A的至少一个示例实施例中,行处理顺序可以是作为行索引的4、1、5、0、2和3,但是示例实施例不限于此。
如上所述,根据至少一个示例实施例的行处理顺序可被配置,使得具有相对高权重的行和具有相对低权重的行被交替处理(例如,首先处理第一高权重行,第二处理第一低权重行,第三处理第二高权重行,第四处理第二低权重行等)。在图13A的至少一个示例实施例中,在对具有相对低的权重3和行索引4的行执行校验节点处理操作之后,可对具有相对高的权重19和行索引1的行执行校验节点处理操作等。另外,在对具有行索引1的行执行校验节点处理操作之后,可对具有相对低的权重8和行索引5的行执行校验节点处理操作等。
另外,在行索引的右侧描述与每个行索引对应的列的列校验节点处理顺序。在图13A的至少一个示例实施例中,包括在具有行索引4的行中的列的列校验节点处理顺序可以是作为列索引的26、0和1,并且包括在具有行索引1的行中的列的列校验节点处理顺序可以是作为列索引的23、2、5、9、15、……,但是示例实施例不限于此。
参照图13B,可确认根据至少一个示例实施例的由解码设备对具有例如22/28的编码率的LDPC码进行解码的变量节点处理操作的处理顺序。在这种情况下,变量节点处理操作的行处理顺序被示出为表的最左列中的行索引。在图13B的至少一个示例实施例中,行处理顺序可以是作为行索引的4、1、5、0、2和3,并且这可与图13A中所示的校验节点处理操作的行处理顺序相同,但是示例实施例不限于此。
另外,在行索引的右侧示出与每个行索引对应的列的列变量节点处理顺序。在图13B的至少一个示例实施例中,包括在具有行索引4的行中的列的列校验节点处理顺序可以是作为列索引的0、1和26,并且包括在具有行索引1的行中的列的列校验节点处理顺序可以是作为列索引的0、3、12、16、21……,但是示例实施例不限于此。在这种情况下,如图13A和13B中所示,相同行索引的列校验节点处理顺序和列变量节点处理顺序可彼此不同,但是不限于此。
图14A至图14D是示出根据至少一个示例实施例的由解码设备使用的调度表的示例的示图。
参照图14A至图14D,可确认根据和/或基于如图13A和图13B中所示的处理顺序生成的调度表,但是不限于此。在这种情况下,在图14A至图14D的调度表中,类似于图12A至图12D的调度表,校验节点处理操作和变量节点处理操作可以以流水线方式顺序地开始,但是示例实施例不限于此。
然而,在图14A中,尽管针对具有行索引4的行(按行处理顺序被首先定位和/或调度的行)的校验节点处理操作晚于针对具有行索引1的行(按行处理顺序被稍后定位和/或调度的行)的校验节点处理操作开始,但是针对具有行索引4的行的校验节点处理操作可在针对包括在具有行索引1的行中的所有列的校验节点处理操作已经被完成之前开始,并且因此,针对具有行索引4的行的校验节点处理操作可被较早地完成。
如上所述,根据至少一个示例实施例,解码设备可通过在对包括在奇偶校验矩阵的第一行中的所有列的处理被完成之前对包括在奇偶校验矩阵的第二行中的列执行处理来对LDPC码进行解码。因此,与图12C中所示的比较示例实施例不同,在对具有行索引4的行执行校验节点处理操作时可发生的停顿可被减少、避免和/或防止。
此外,在图14A和图14B中,针对具有行索引5的行(按行处理顺序被较早地定位和/或调度的行)的校验节点处理操作可晚于针对具有行索引0的行(按行处理顺序被较晚地定位和/或调度的行)的校验节点处理操作开始,但是示例实施例不限于此。另外,针对具有行索引5的行的校验节点处理操作可在针对包括在具有行索引0的行中的所有列的校验节点处理操作已经被完成之前开始,并且针对具有行索引5的行的校验节点处理操作可被较早地完成,但是示例实施例不限于此。
类似地,即使在其中所示针对具有行索引1、4、0和5的行的重复处理的图14C和图14D中,也可确认处理被配置为在对包括在奇偶校验矩阵的第一行中所有列的处理被完成之前,对包括在奇偶校验矩阵的第二行中的列执行。
在这种情况下,当将根据图11A至图12D的比较示例的解码设备与根据图13A至图14D的至少一个示例实施例的解码设备进行比较时,可确认根据比较示例的解码设备需要总共103个时钟来完成一次校验节点处理操作,而根据至少一个示例实施例的解码设备需要总共87个时钟来完成一次校验节点处理操作。
如上所述,根据至少一个示例实施例,解码设备可通过使用图13A至图14D中所示的处理顺序以及指示处理顺序的调度表消除可能在解码的中间发生的停顿,来以较高的速度和/或在减少的时间量内对LDPC码进行解码。
图15A至图15C是示出根据至少一个示例实施例的由解码设备执行校验节点处理和变量节点处理的顺序的示例的示图。
参照图15A,可确认根据至少一个示例实施例的由解码设备对具有例如22/36的编码率的LDPC码进行解码的校验节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,校验节点处理操作的行处理顺序被描述为表的最左列中的行索引。在图15A的至少一个示例实施例中,行处理顺序可以是作为行索引的4、1、5、0、6、3……,但是不限于此。
如上所述,根据至少一个示例实施例的行处理顺序可被配置,使得具有相对高的权重的行和具有相对低的权重的行被交替地处理。在图15A的至少一个示例实施例中,在对具有相对低的权重3和行索引4的行执行校验节点处理操作之后,可对具有相对高的权重19和行索引1的行执行校验节点处理操作等,但是示例实施例不限于此。另外,在对具有行索引1的行执行校验节点处理操作之后,可对具有相对低的权重8和行索引5的行执行校验节点处理操作等。
另外,在行索引的右侧描述与每个行索引对应的列的列校验节点处理顺序。在图15A的至少一个示例实施例中,包括在具有行索引4的行中的列的列校验节点处理顺序可以是作为列索引的26、1和0,并且包括在具有行索引1的行中的列的列校验节点处理顺序可以是作为列索引的2、4、5、8、9、……,但是示例实施例不限于此。
参照图15B,可确认根据至少一个示例实施例的由解码设备对具有例如22/36的编码率的LDPC码进行解码的变量节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,图15B示出分别与不对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的列的列变量节点处理顺序。
在这种情况下,变量节点处理操作的行处理顺序被描述为表的最左列中的行索引。在图15B的至少一个示例实施例中,行处理顺序可以是作为行索引的4、1、5、0、6、3……,并且这可与图15A中所示的校验节点处理操作的行处理顺序相同。
另外,在行索引的右侧描述与每个行索引对应的列的列变量节点处理顺序。在图15B的至少一个示例实施例中,因为包括在具有行索引4的行中的所有列与奇偶校验矩阵的打孔区域或对角矩阵区域对应,所以列变量节点处理顺序可不被描述。另外,包括在具有行索引1的行中的列的列变量节点处理顺序可以是作为列索引的3、12、16、21、22……。
参照图15C,可确认根据至少一个示例实施例的由解码设备对具有例如22/36的编码率的LDPC码进行解码的变量节点处理操作的处理顺序,但是示例实施例不限于此,并且例如,LDPC码的不同编码率可被使用。在这种情况下,图15C示出分别与对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的列的列变量节点处理顺序。
在这种情况下,变量节点处理操作的行处理顺序被示出为表的最左列中的行索引。在图15C的至少一个示例实施例中,行处理顺序可以是作为行索引的4、1、5、0、6、3……,并且这可与图15A和图15B中所示的校验节点处理操作的行处理顺序相同,但是示例实施例不限于此。
另外,在行索引的右侧示出与每个行索引对应的列的列变量节点处理顺序。在图15C的至少一个示例实施例中,包括在具有行索引4的行中的列的列校验节点处理顺序可以是作为列索引的0、1和26,但是不限于此。另外,包括在具有行索引1的行中的列的列校验节点处理顺序可以是作为列索引的0,但是不限于此。
图16A至图16F是示出根据至少一个示例实施例的由解码设备使用的调度表的示例的示图。
参照图16A至图16F,可确认根据和/或基于如图15A至图15C中所示的处理顺序生成的调度表,但是示例实施例不限于此。
在调度表的最左列中,示出校验节点处理操作和变量节点处理操作的编号和/或与校验节点处理操作和变量节点处理操作对应的编号。在变量节点处理操作的情况下,针对不对应于打孔区域和/或对角矩阵区域的列的变量节点处理操作由VNP0表示,并且针对对应于打孔区域和/或对角矩阵区域的列的变量节点处理操作由VNP1表示。在这种情况下,在图16A至图16F的调度表中,类似于图14A至图14D的调度表,校验节点处理操作和变量节点处理操作可以以流水线方式顺序地开始。
在图16A至图16F的一些示例实施例中,针对与打孔区域和/或对角矩阵区域对应的列的变量节点处理操作的操作W3可被省略。这是因为与操作W3对应的操作S830是将后验概率值存储在后验概率值存储器中的操作,并且存储与打孔区域和/或对角矩阵区域对应的第二后验概率值的第二后验概率值存储器通过触发器实现,这使得能够在不使用时钟(例如,时钟信号,并且因此不必在发生在期望的时钟周期期间)的情况下实现处理。
此外,在图16A至图16F的至少一个示例实施例中,针对如图15A中的阴影所指示的与对角矩阵区域对应的列的操作R1可被省略。就这方面而言,因为与操作R1对应的操作S710是从后验概率值存储器读取后验概率值的操作,并且与对角矩阵区域对应的初始后验概率值存储在对角矩阵存储器中,所以操作R1可被省略。
另外,根据图16A至图16F的一些示例实施例,类似于图14A的一些示例实施例,在图16A中,尽管针对具有行索引4的行(按行处理顺序被首先定位和/或调度的行)的校验节点处理操作晚于针对具有行索引1的行(按行处理顺序被稍后定位和/或调度的行)的校验节点处理操作和/或在针对具有行索引1的行(按行处理顺序被稍后定位和/或调度的行)的校验节点处理操作之后开始。针对具有行索引4的行的校验节点处理操作可在针对包括在具有行索引1的行中的所有列的校验节点处理操作已经被完成之前开始,并且针对具有行索引4的行的校验节点处理操作被可较早地完成。
在图14A中,针对具有行索引4的行的操作W1从具有列索引0的列开始,并且在第十二时钟周期中被执行。该时间点可以是与针对具有行索引4的行中的具有列索引1的列的操作R5的执行时间相同的时间点。然而,在图16A中,针对具有行索引4的行的操作W1可在第十时钟周期中被执行,第十时钟周期比其中针对具有行索引4的行的操作R5结束的第十一时钟周期早的一个时钟周期。如上所述,当最后执行操作R1的列索引和首先执行操作W1的列索引对于具有相同行索引的行是相同的时,操作R5和W1可被调度为重叠两个时钟周期。这是因为在操作W2中使用的最小值是在不包括计算的列索引值的情况下计算的,因此,不包括列索引值的计算的最小值可被使用。
如上所述,根据至少一个示例实施例,解码设备可通过在对包括在奇偶校验矩阵的第一行中的所有列的处理被完成之前对包括在奇偶校验矩阵的第二行中的列执行处理,来对LDPC码进行解码。因此,与图12C中所示的比较实施例不同,在对具有行索引4的行执行校验节点处理操作时可能发生的停顿可被减少和/或防止。
此外,在图16A和图16B中,针对具有行索引5的行(按行处理顺序被较早地定位和/或调度的行)的校验节点处理操作可晚于针对具有行索引0的行(按行处理顺序被较晚地定位(和/或调度))的校验节点处理操作和/或在针对具有行索引0的行(按行处理顺序被较晚地定位(和/或调度))的校验节点处理操作之后开始。另外,针对具有行索引5的行的校验节点处理操作可在针对包括在具有行索引0的行中的所有列的校验节点处理操作已经被完成之前开始,并且因此,针对具有行索引5的行的校验节点处理操作可被较早地完成。
此外,在图16B和图16C中,针对具有行索引6的行(按行处理顺序被较早地定位和/或调度的行)的校验节点处理操作可晚于针对具有行索引3的行(按行处理顺序被较晚地定位和/或调度的行)的校验节点处理操作开始。另外,针对具有行索引6的行的校验节点处理操作可在针对包括在具有行索引3的行中的所有列的校验节点处理操作已经被完成之前开始,并且用针对具有行索引6的行的校验节点处理操作可被较早地完成。
此外,在图16C和图16D中,针对具有行索引7的行(按行处理顺序被较早地定位和/或调度的行)的校验节点处理操作可晚于针对具有行索引2的行(按行处理顺序被较晚地定位和/或调度的行)的校验节点处理操作开始。另外,针对具有行索引7的行的校验节点处理操作可在针对包括在具有行索引2的行中的所有列的校验节点处理操作已经完成之前开始,并且针对具有行索引7的行的校验节点处理操作可被较早地完成。
类似地,即使在其中示出对具有行索引1、4、0和5的行的重复处理的图16F中,也可确认处理被配置为在对包括在奇偶校验矩阵的第一行中的所有列的处理已经被完成之前对包括在奇偶校验矩阵的第二行中的列执行。
如上所述,根据至少一个示例实施例,解码设备可通过使用图15A至图16F中所示的处理顺序和指示处理顺序的调度表移除和/或减少可能在解码期间和/或在解码的中间发生的停顿,来以较高的速度对LDPC码进行解码。此外,根据至少一个示例实施例,解码设备可经由通过对与打孔区域和/或对角矩阵区域对应的变量节点和不与打孔区域和/或对角矩阵区域对应的变量节点分别执行处理减少时钟周期的不必要使用,来以较高的速度对LDPC码进行解码。
虽然在此已经具体示出和描述了发明构思的各种示例实施例,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可对示例实施例进行形式和细节上的各种改变。

Claims (20)

1.一种用于对低密度奇偶校验码进行解码的解码设备,所述解码设备包括:
存储器,被配置为:存储调度表,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的所述多个行中的每个行中的多个列的期望处理顺序;以及
处理电路系统,被配置为:基于调度表对低密度奇偶校验码进行解码,解码的步骤包括:在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前,对包括在奇偶校验矩阵的第二调度行中的至少一列执行处理。
2.根据权利要求1所述的解码设备,其中,期望处理顺序包括:
行处理顺序,指示对奇偶校验矩阵的所述多个行中的每个行的处理将被执行的顺序;
列校验节点处理顺序,指示对包括在奇偶校验矩阵的每个行中的所述多个列执行校验节点处理的顺序;以及
列变量节点处理顺序,指示对包括在奇偶校验矩阵的至少一个行中的所述多个列执行变量节点处理的顺序。
3.根据权利要求2所述的解码设备,其中
行处理顺序基于与包括在奇偶校验矩阵中的所述多个行中的每个行相关联的权重;并且
与所述多个行中的每个行相关联的权重与包括在相应行中的所述多个列之中的执行校验节点处理和变量节点处理的列的数量成比例。
4.根据权利要求2所述的解码设备,其中,处理电路系统还被配置为:
在对包括在奇偶校验矩阵的第三调度行中的期望列的变量节点处理已经被完成之后,对包括在奇偶校验矩阵的第四调度行中的期望列执行校验节点处理。
5.根据权利要求1所述的解码设备,其中,处理电路系统被配置为:通过执行校验节点处理和变量节点处理来对低密度奇偶校验码进行解码,校验节点处理包括多个校验节点处理操作,并且变量节点处理包括多个变量节点处理操作。
6.根据权利要求5所述的解码设备,其中,处理电路系统还被配置为:
基于期望处理顺序来控制所述多个校验节点处理操作被顺序地执行;并且
基于期望处理顺序来控制所述多个变量节点处理操作被顺序地执行。
7.根据权利要求1所述的解码设备,其中,处理电路系统还被配置为:
将分别与多个变量节点对应的多个后验概率值存储在存储器中;
存储分别从多个校验节点发送给所述多个变量节点的多个校验变量值;
基于所述多个校验变量值和所述多个后验概率值来计算多个外部值;
从所述多个外部值计算第一最小值和第二最小值;
将所述多个外部值存储在存储器中;
基于第一最小值和第二最小值来重新计算所述多个校验变量值;并且
基于所述多个外部值和重新计算的所述多个校验变量值来重新计算所述多个后验概率值。
8.根据权利要求7所述的解码设备,其中,处理电路系统还被配置为:
将分别与不对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的多个第一后验概率值存储在存储器中;并且
将分别与对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的多个第二后验概率值存储在存储器中。
9.根据权利要求8所述的解码设备,其中,处理电路系统还被配置为:
重新计算分别与所述多个第一后验概率值对应的多个第一校验变量值;
重新计算分别与所述多个第二后验概率值对应的多个第二校验变量值;
将重新计算的所述多个第一校验变量值存储在存储器中;并且
将重新计算的所述多个第二校验变量值存储在存储器中。
10.根据权利要求9所述的解码设备,其中,处理电路系统还被配置为:将与奇偶校验矩阵的对角矩阵区域对应的多个初始后验概率值存储在存储器中。
11.根据权利要求10所述的解码设备,其中,处理电路系统还被配置为:
基于所述多个外部值和所述多个第一校验变量值来重新计算所述多个第一后验概率值;并且
基于所述多个初始后验概率值和所述多个第二校验变量值来重新计算所述多个第二后验概率值。
12.根据权利要求9所述的解码设备,其中,处理电路系统还被配置为:
将基于所述多个第一后验概率值计算的多个第一外部值存储在存储器中;
将基于所述多个第二后验概率值计算的多个第二外部值存储在存储器中;
基于所述多个第一外部值和所述多个第一校验变量值来重新计算所述多个第一后验概率值;并且
基于所述多个第二外部值和所述多个第二校验变量值来重新计算所述多个第二后验概率值。
13.根据权利要求7所述的解码设备,其中,处理电路系统还被配置为:
计算奇偶校验矩阵的所述多个行中的每个行的第一最小值和第二最小值;并且
将针对奇偶校验矩阵的所述多个行中的每个行计算的第一最小值和第二最小值存储在存储器中。
14.一种对低密度奇偶校验码进行解码的解码方法,所述解码方法包括:
接收低密度奇偶校验码;以及
基于调度表对低密度奇偶校验码进行解码,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵中的所述多个行中的每个行中的多个列的处理顺序,
对低密度奇偶校验码进行解码的步骤包括:在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前,对包括在奇偶校验矩阵的第二调度行中的列执行处理。
15.根据权利要求14所述的解码方法,其中,对低密度奇偶校验码进行解码的步骤还包括:
处理校验节点,处理校验节点的步骤包括:
从存储器读取后验概率值;
从存储器读取校验变量值;
基于校验变量值和后验概率值来计算多个外部值;
计算所述多个外部值之中的第一最小值和第二最小值;以及
基于第一最小值和第二最小值来重新计算校验变量值。
16.根据权利要求15所述的解码方法,其中,对低密度奇偶校验码进行解码的步骤还包括:处理变量节点,处理变量节点的步骤包括:
从存储器读取所述多个外部值;
基于所述多个外部值和重新计算的校验变量值来重新计算后验概率值;以及
将重新计算的后验概率值存储在存储器中。
17.根据权利要求16所述的解码方法,其中,基于调度表顺序地执行处理校验节点的步骤和处理变量节点的步骤。
18.一种电子设备,包括:
接收器,被配置为:接收低密度奇偶校验码;
存储器,被配置为:存储调度表,调度表指示包括在奇偶校验矩阵中的多个行和包括在奇偶校验矩阵的所述多个行中的每个行中的多个列的期望处理顺序;以及
处理电路系统,被配置为:基于调度表对低密度奇偶校验码进行解码,解码的步骤包括:独立地对不与奇偶校验矩阵的打孔区域和/或对角矩阵区域对应的变量节点执行变量节点处理,以及对与奇偶校验矩阵的打孔区域和/或对角矩阵区对应的变量节点执行变量节点处理。
19.根据权利要求18所述的电子设备,其中,处理电路系统还被配置为:
存储分别与不对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的多个第一后验概率值;
存储分别与对应于奇偶校验矩阵的打孔区域和/或对角矩阵区域的变量节点对应的多个第二后验概率值;
存储分别从多个校验节点发送给多个变量节点的多个校验变量值;
基于所述多个校验变量值和多个后验概率值来计算多个外部值;
从所述多个外部值计算第一最小值和第二最小值;
存储所述多个外部值;
基于第一最小值和第二最小值来重新计算所述多个校验变量值;以及
基于所述多个外部值和所述多个重新计算的校验变量值来重新计算所述多个后验概率值。
20.根据权利要求18所述的电子设备,其中,处理电路系统还被配置为:通过在对包括在奇偶校验矩阵的第一调度行中的所有列的处理已经被完成之前对包括在奇偶校验矩阵的第二调度行中的列执行处理,来对低密度奇偶校验码进行解码。
CN202211491111.8A 2021-11-26 2022-11-25 解码设备、解码方法和电子设备 Pending CN116192156A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210166195 2021-11-26
KR10-2021-0166195 2021-11-26
KR10-2022-0059104 2022-05-13
KR1020220059104A KR20230078478A (ko) 2021-11-26 2022-05-13 복호화 장치, 복호화 방법 및 전자 장치

Publications (1)

Publication Number Publication Date
CN116192156A true CN116192156A (zh) 2023-05-30

Family

ID=86446949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211491111.8A Pending CN116192156A (zh) 2021-11-26 2022-11-25 解码设备、解码方法和电子设备

Country Status (2)

Country Link
US (1) US20230170921A1 (zh)
CN (1) CN116192156A (zh)

Also Published As

Publication number Publication date
US20230170921A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
US7730377B2 (en) Layered decoding of low density parity check (LDPC) codes
CN101895301B (zh) Ldpc解码方法和装置
CN101032082B (zh) 编码和解码数据的方法和设备
CN102835032B (zh) 用于循环行列式大小非整数倍的准循环ldpc编码和解码
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
US10491244B2 (en) Systems and methods for decoding error correcting codes
JP4978625B2 (ja) 誤り訂正符号化方法及び装置
CN110741557B (zh) 通过合并极化码图的级的低延迟极化编码和解码
US8443257B1 (en) Rate-scalable, multistage quasi-cyclic LDPC coding
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
CN110741558B (zh) 具有逻辑三维存储器的极化编码器、通信单元、集成电路及其方法
JP5333233B2 (ja) 復号装置、データ蓄積装置、データ通信システム、および復号方法
CN100544212C (zh) 高速的减少存储需求的低密度校验码解码器
US8327215B2 (en) Apparatus and method for encoding LDPC code using message passing algorithm
JP5488472B2 (ja) 復号装置、この復号装置を有するデータ通信装置およびデータ記憶装置
US10038456B1 (en) Decoders with look ahead logic
TW201029337A (en) Method for decoding LDPC code and the circuit thereof
CN111384970B (zh) 一种译码方法、装置及通信设备
CN116192156A (zh) 解码设备、解码方法和电子设备
KR102250284B1 (ko) 시퀀스 결정을 위한 방법 및 장치, 디바이스 및 저장 매체
CN116073839A (zh) 一种提升ldpc译码器短码译码效率的方法及装置
KR20230078478A (ko) 복호화 장치, 복호화 방법 및 전자 장치
Zolotarev et al. High throughput software multithreshold decoder on GPU
KR101073636B1 (ko) 저밀도 패리티 검사 부호를 이용한 복호화 장치
CN117081606A (zh) 一种面向qc-ldpc译码器的动态可配置译码方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication