CN114726481B - 一种5g nr ldpc译码方法及相关装置 - Google Patents
一种5g nr ldpc译码方法及相关装置 Download PDFInfo
- Publication number
- CN114726481B CN114726481B CN202210225293.8A CN202210225293A CN114726481B CN 114726481 B CN114726481 B CN 114726481B CN 202210225293 A CN202210225293 A CN 202210225293A CN 114726481 B CN114726481 B CN 114726481B
- Authority
- CN
- China
- Prior art keywords
- matrix
- data
- row
- check
- check data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims abstract description 243
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004080 punching Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请公开了一种5G NR LDPC译码方法及相关装置,该方法包括:获取待译码数据和待译码数据的校验矩阵;基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序,其中,预设列包括不传输列和打孔列中的至少一者;按照校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,获得译码结果。本申请所提供的方法可以实现减少译码过程中的无效运算,进而实现提高译码的速率。
Description
技术领域
本申请涉及信息传输技术领域,特别是涉及一种5G NR LDPC译码方法及相关装置。
背景技术
自20世纪70年代初以来,移动无线产业开始了技术创新,革命和演化,近几十年来,移动无线技术经历了从1G到4G的技术革命和演化。然而每年使用移动宽带系统的用户仍在急剧增加,且速率需求越来越高,因此第五代移动通信技术(5G)应运而生。
5G峰值速率将达10Gbps,因此选用LDPC(低密度奇偶校验)作为信道编码方案,进而就会对译码器吞吐速率提出了较高的要求。传统方案采用分层迭代译码,通过降低迭代次数来提升吞吐率。然而5G NR为了满足码长的灵活性,设计了不传输列和打孔缩短列,而不传输列和打孔缩短列会给译码带来很多无效运算,故需要一种可以解决上述问题的技术方案。
发明内容
本申请主要解决的技术问题是提供一种5G NR LDPC译码方法及相关装置,可以实现减少译码过程中的无效运算,进而实现提高译码的速率。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种5G NR LDPC译码方法,所述方法包括:
获取待译码数据和所述待译码数据的校验矩阵;
基于所述校验矩阵的每行校验数据中关于预设列的包含情况,确定所述校验矩阵中每行校验数据的迭代顺序,其中,所述预设列包括不传输列和打孔列中的至少一者;
按照所述校验矩阵中所述每行校验数据的迭代顺序,对所述待译码数据和所述校验矩阵进行迭代译码,获得译码结果。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,所述电子设备包括处理器以及与所述处理器耦接的存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于运行所述计算机程序以执行如上任意一项所述的方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现如上所述的方法。
本申请的有益效果是:区别于现有技术的情况,本申请所提供的技术方案,通过获取待译码数据和待译码数据的校验矩阵;然后基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序,再按照校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,获得译码结果,其中,预设列包括不传输列和打孔列中的至少一者。即本申请所提供的技术方案通过基于校验矩阵的每行校验数据中关于预设列的包含情况,重新确定校验矩阵中每行校验数据的迭代顺序,并按照所确定的每行校验数据的迭代顺序对待译码数据和校验矩阵进行迭代译码,实现减少译码过程中的无效运算,进而实现提高译码的速率,起到了良好的技术效果。
附图说明
图1为本申请一种5G NR LDPC译码方法一实施例中的流程示意图;
图2为本申请一种5G NR LDPC译码方法另一实施例中的流程示意图;
图3为本申请一种5G NR LDPC译码方法又一实施例中的流程示意图;
图4为本申请一种电子设备一实施例中的结构示意图;
图5为本申请一种计算机可读存储介质一实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先需要说明的是,本申请所提供的技术方案是应用于5G的应用场景中,即是在5G通信环境下对所接收到的编码数据进行译码获得译码结果,本申请所提供的技术方案的执行主体为数据接收端的电子设备。具体地,请参见图1,图1为本申请一种5G NR LDPC译码方法一实施例中的流程示意图。在当前实施例中,本申请所提供的方法包括步骤S110至步骤S130。
S110:获取待译码数据和待译码数据的校验矩阵。
在5G的场景中,不同电子设备之间进行数据传输时,数据接收端的电子设备(也可以理解为译码端)首先获取待译码数据和待译码数据的校验矩阵,然后再基于所获取的待译码数据和待译码数据的校验矩阵进行译码计算,从而获得译码结果。
其中,待译码数据为数据发送端发送的、需要进行译码计算的数据,也可以将待译码数据理解为是数据发送端经过编码后、并发送至数据接收端的数据。待译码数据的校验矩阵是基于数据发送端的生成矩阵确定并存储于自身存储区的,数据接收端可以是预先获取校验矩阵并存储,且需要说明的是,由于同一个数据接收端可以与不同的数据发送端进行通信,故同一个数据接收端可以预先存储多个不同的校验矩阵,并且是将不同的校验矩阵与其所对应的数据发送端的信息进行映射保存,以便数据接收端在进行译码时可以根据待译码数据对应的数据发送端的信息,快速获取到待译码数据的校验矩阵。
进一步地,待译码数据可以是数据接收端的电子设备自数据发送端接收得到的,待译码数据的校验矩阵可以是根据所接收到的待译码数据在自身的存储区的至少一个校验矩阵中获取得到的。
S120:基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序。
在获取待译码数据和待译码数据的校验矩阵之后,数据接收端的电子设备进一步确定校验矩阵中每行校验数据的迭代顺序。其中,校验数据为校验矩阵中所包括的元素,每行校验数据的迭代顺序为利用行校验数据对待译码数据进行译码迭代计算的顺序。
具体地,是基于校验矩阵中每行校验数据中关于预设列的包含数量,确定校验矩阵中的每行校验数据的迭代顺序。其中,预设列包括不传输列和打孔列中的至少一者,不传输列和打孔列是5G NR(New Radio)中为了满足码长的灵活性,根据通信标准设置且不发送的、系统比特对应的校验矩阵的列。
进一步地,每行校验数据中关于预设列的包含情况是指:每行校验数据中所包括的不传输列和/或打孔列的数量。
进一步地,基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序的技术细节,还可以对应参见下图2及其所对应的各个实施例中的阐述。
S130:按照校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,获得译码结果。
在确定了校验矩阵中每行校验数据的迭代顺序之后,进一步按照所确定的校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,从而获得译码结果。
具体地,是按照校验矩阵中每行校验数据的迭代顺序,优先将迭代顺序靠前的行校验数据与待译码数据进行译码计算,然后再基于将迭代顺序靠后的行校验数据与待译码数据进行译码计算,按照所确定的行校验数据的迭代顺序依次迭代进而获得译码结果。
本申请图1所对应的实施例中,通过获取待译码数据和待译码数据的校验矩阵;然后基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序,再按照校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,获得译码结果。其中,预设列包括不传输列和打孔列中的至少一者。即本申请所提供的技术方案通过基于校验矩阵的每行校验数据中关于预设列的包含情况,重新确定校验矩阵中每行校验数据的迭代顺序,以将带来较少无效运算的行校验数据优先进行迭代译码,并按照所确定的每行校验数据的迭代顺序对待译码数据和校验矩阵进行迭代译码,实现减少译码过程中的无效运算,进而实现提高译码的速率。
请参见图2,图2为本申请一种5G NR LDPC译码方法另一实施例中的流程示意图。在当前实施例中,本申请所提供的方法包括步骤S201至步骤S204。
S201:获取待译码数据和待译码数据的校验矩阵。
在当前实施例中,步骤S201与上述步骤S110相同,具体可以参见上文对应部分的阐述。
上述步骤S120基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序,进一步包括步骤S202至步骤S203。
S202:基于校验矩阵的每行校验数据中关于预设列的包含情况,查找出校验矩阵中的目标行校验数据。
在确定校验矩阵中每行校验数据的迭代顺序时,数据接收端首先需要确定校验矩阵的每行校验数据中关于预设列的包含情况,并基于所确定的校验矩阵的每行校验数据中关于预设列的包含情况,查找出校验矩阵中的目标行校验数据。
其中,每行校验数据中关于预设列的包含情况是指每行校验数据中所包含的预设列的数量,目标行校验数据为不传输列的数量为第一数量或打孔列的数量为第二数量的行校验数据。其中,第一数量和第二数量为预先设定的经验值,且第一数量和第二数量可以根据实际的需求进行调整,在此不做唯一性限定。
进一步地,在一实施例中,第一数量和第二数量均为1。即在当前实施例中,数据接收端会基于校验矩阵的每行校验数据中关于预设列的包含情况,查找出校验矩阵中只包括1个不传输列的行校验数据,以及查找出校验矩阵中只包括1个打孔列的行校验数据,并将只包括1个不传输列的行校验数据以及只包括1个打孔列的行校验数据分别确定为目标行校验数据。需要说明的是,在当前实施例中,目标行校验数据为只包括1个不传输列或只包括1个打孔列的行校验数据,即在当前实施例中同时包括一个不传输列和一个打孔列的行校验数据不会被确定为目标行校验数据。
S203:利用校验矩阵中的目标行校验数据,确定校验矩阵中各行校验数据的迭代顺序。
在确定了目标行校验数据之后,会利用校验矩阵中的目标行校验数据,确定校验矩阵中各行校验数据的迭代顺序。具体地,可以是将目标行校验数据的迭代顺序设置在校验矩阵中其他的行校验数据之前,以便在进行迭代译码计算时,会优先将待译码数据与校验矩阵中目标行校验数据进行迭代计算,进而降低在迭代计算中的无效运算量。
进一步地,在一实施例中,当第一数量和第二数量均为1时,则上述步骤S203进一步包括:将校验矩阵中的目标行校验数据的迭代顺序置于校验矩阵中其他行校验数据之前。即在当前实施例中,会将目标行校验数据的顺序设置在其他所有的行校验数据之前,以在进行译码迭代时,优先将目标行校验数据与译码数据进行译码计算。在当前实施例中,通过将校验矩阵中的目标行校验数据的迭代顺序置于校验矩阵中其他所有行校验数据的前面,且由于目标行校验数据中所包括的不传输列或打孔列的数量仅为1,将目标行校验数据的迭代顺序置于其他所有的行校验数据之前,即设置在进行译码迭过程中优先将目标行校验数据与待译码数据进行迭代计算,由于目标行校验数据中所包括的不传输列或打孔列的数量是少于其他的行校验数据的,而包括较少的不传输列或打孔列的行校验数据相比包括较多的不传输列或打孔列的行校验数据的无效运算量要少,故当前实施例所提供的技术方案可以降低对整个待译码数据进行译码迭代过程中的无效运算量,进而提高译码计算的效率。
更进一步地,当校验矩阵中同时包括多个目标行校验数据,则会将多个目标行校验数据的迭代顺序设置在其他所有的行校验数据之前,并且,多个目标行校验数据之间的迭代顺序则可以是根据各个目标行校验数据原始的顺序确定。例如,经过步骤S202查找出校验矩阵A中有3个目标行校验数据,分别为第一行、第六行和第九行的行校验数据,则会将这3个目标行校验数据的迭代顺序设置在校验矩阵中的其他所有的行校验数据之前,并且可以直接按照第一行、第六行和第九行相互之间的原始顺序确定多个目标行校验数据相互之间的迭代先后顺序,即将第一行的迭代顺序确定为第一;将第六行的迭代顺序确定为第二、第九行的迭代顺序确定为第三。在当前实施例中,当出现多个目标行校验数据时,通过设置多个目标行校验数据之间的迭代顺序则可以是根据各个目标行校验数据原始的顺序确定,较好地缩短确定各个行校验数据的迭代顺序的时间,从而提高译码迭代的效率。
可以理解的是,在其他实施例中,多个目标行校验数据之间的迭代顺序的确定规则也可以设置为:将只包括一个不传输列的目标行校验数据的迭代顺序设置在只包括一个打孔列的目标行校验数据之前。在另一实施例中,也可以将多个目标行校验数据之间的迭代顺序的确定规则设置为:当校验矩阵中包括多个目标行校验数据时,将只包括一个打孔列的目标行校验数据的迭代顺序,设置于只包括一个不传输列的目标行校验数据之前。
进一步地,按照各个行校验数据中关于预设列的包含情况,目标行校验数据可以包括第一目标类行校验数据和第二目标类行校验数据。其中,第一目标类行校验数据为不传输列的数量为第一数量的行校验数据,第二目标类行校验数据为打孔列的数量为第二数量的行校验数据。
则上述步骤将校验矩阵中的目标类行校验数据的迭代顺序置于校验矩阵中其他行校验数据之前,本申请所提供的方法进一步还包括:将校验矩阵中的第一目标类行校验数据和第二目标类行校验数据的迭代顺序均置于校验矩阵中其他行校验数据之前,并将第一目标类行校验数据的迭代顺序置于第二目标类行校验数据之前。
可以理解的是,在其他实施例中,在上述步骤将校验矩阵中的目标类行校验数据的迭代顺序置于校验矩阵中其他行校验数据之前,本申请所提供的方法进一步还包括:将校验矩阵中的第一目标类行校验数据和第二目标类行校验数据的迭代顺序均置于校验矩阵中其他行校验数据之前,并将第二目标类行校验数据的迭代顺序置于第一目标类行校验数据之前。
更进一步地,如若校验矩阵中包括多个第一目标类行校验数据时,则关于多个第一目标类行校验数据之间迭代顺序,可以是基于多个第一目标类行校验数据在校验矩阵中原始的顺序进行确定。同理,在另一实施例中,如若校验矩阵中包括多个第二目标类行校验数据时,则关于多个第二目标类行校验数据之间迭代顺序,可以是基于多个第二目标类行校验数据在校验矩阵中原始的顺序进行确定。
S204:按照校验矩阵中每行校验数据的迭代顺序,对待译码数据和校验矩阵进行迭代译码,获得译码结果。
步骤S204与上文所述的步骤S130相同,具体可以参见上文对应部分的阐述。
请参见图3,图3为本申请一种5G NR LDPC译码方法又一实施例中的流程示意图。在当前实施例中,上述步骤S130中对待译码数据和校验矩阵进行迭代译码,获得译码结果,进一步包括步骤S301至步骤S304。
S301:基于待译码数据和校验矩阵中的行校验数据,获得第一消息矩阵和第二消息矩阵。
在基于校验矩阵的每行校验数据中关于预设列的包含情况,确定校验矩阵中每行校验数据的迭代顺序之后,进一步基于待译码数据和校验矩阵中所包括的行校验数据,获得第一消息矩阵和第二消息矩阵。
具体地,是将待译码数据作为输入,按照校验矩阵中各个行校验数据的迭代顺序,依次将待译码数据和各个行校验数据进行迭代计算,进而计算获得第一消息矩阵和第二消息矩阵。其中,可以将第一消息矩阵理解为是V2C,即是变量节点到校验节点的消息值,将第二消息矩阵理解为是C2V,即是校验节点到变量节点的消息值。
其中,在本申请所提供的技术方案中,还会通过压缩中间结果C2V的存储实现降低资源消耗。具体地,由于C2V本质上只有两个值,即最小值和次小值,故可以设置C2V中仅存储符号位、次小值位置和最小值绝对值,利用次小值绝对值来压缩C2V的存储,实现降低资源消耗。
进一步地,需要说明是,在确定校验矩阵中每行校验数据的迭代顺序之后,依次按照每行校验数据的迭代顺序对待译码数据进行译码迭代计算时,在将迭代顺序在最前面的行校验数据与待译码数据进行迭代计算,会获取初始第一消息矩阵和初始第二消息矩阵进行计算,从而获得当前轮次的第一消息矩阵和第二消息矩阵。而如若在执行过步骤S303后得到后验概率矩阵不符合输出条件,则会再次基于校验矩阵和待译码数据进行新一轮次的译码迭代时,则会将上一轮译码迭代过程中所得的第一消息矩阵和第二消息矩阵作为当前轮次的初始的第一消息矩阵和初始的第二消息矩阵参与迭代计算。
S302:基于第一消息矩阵和第二消息矩阵,获得后验概率矩阵。
在计算获得第一消息矩阵和第二消息矩阵之后,进一步基于第一消息矩阵和第二消息矩阵计算获得后验概率矩阵。其中,关于如何基于第一消息矩阵和第二消息矩阵计算获得后验概率矩阵的过程,不是本方案的重点,在此不做过多阐述,具体过程可以参见现有已知的技术。
S303:基于第二消息矩阵或当前迭代次数,判断后验概率矩阵是否符合输出条件。
在获得后验概率矩阵之后,进一步基于第二消息矩阵或当前迭代次数,进一步判断当前所得的后验概率矩阵是否符合输出条件。其中,输出条件是根据实际的需求预先设置的。如在当前实施例中,可以根据实际的需求,将后验概率矩阵的输出条件设置为:第二消息矩阵的符号位与上一轮次迭代计算中所得的第二消息矩阵相同。在另一实施例中,还可以根据实际的需求,将后验概率矩阵的输出条件设置为:当前的迭代次数大于或等于最大迭代次数。
进一步地,在一实施例中,步骤S303中的基于第二消息矩阵,判断后验概率矩阵是否符合输出条件,进一步包括:判断当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位是否相同;若是,则判断后验概率矩阵符合输出条件。具体地,是通过在获得第二消息矩阵之后,查验当前轮次迭代计算中所得的第二消息矩阵和前一轮次迭代计算中所得的第二消息矩阵的符号位,然后将两轮次中所得的第二消息矩阵的符号位进行比较,用以判断这两轮次中所得的第二消息矩阵的符号位是否相同,若判断得到两轮次译码迭代(仅仅用于指的是当前轮次译码迭代和上一轮次译码迭代)中所得的第二消息矩阵的符号位相同,则判定得到当前轮次所得的后验概率矩阵符合输出条件。
进一步地,在另一实施例中,步骤S303中的基于当前迭代次数,判断后验概率矩阵是否符合输出条件,进一步包括:判断当前迭代次数是否大于最大迭代次数;若是,则判断后验概率矩阵符合输出条件。在当前实施例中,会预先设置最大迭代次数,用以结合迭代次数判断是否需要停止译码迭代并将后验概率矩阵的符号位输出作为译码结果。其中,最大迭代次数可以根据经验值设置,在此不做唯一性限定。故在当前实施例中,会在进行译码迭代时统计译码迭代的次数,当增加一次译码迭代则会在译码迭代次数上加一,并进一步判断当前译码迭代次数是否大于或等于最大迭代次数。若判断得到当前迭代次数大于或等于最大迭代次数,则判定得到后验概率矩阵符合输出条件;反之,若判断得到当前迭代次数小于最大迭代次数,则判定得到当前后验概率矩阵不符合输出条件。
进一步地,在又一实施例中,设置后验概率矩阵的输出条件为:判断当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位相同,或当前迭代次数大于或等于最大迭代次数。即只要满足上述两个条件中的任意一个,即判断得到当前的后验概率矩阵是符合输出条件的,然后执行步骤S304。如,如若判断得到当前的迭代次数大于或等于最大迭代次数,但是当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位是不相同的,依然判断得到当前的后验概率矩阵符合输出条件,此时会执行下述步骤S304。同理,如若判断得到当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位是相同的,但是当前的迭代次数小于最大迭代次数,仍然判断得到当前的后验概率矩阵符合输出条件,此时会执行下述步骤S304。而如若判断得到判断当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位相同,并且当前迭代次数大于或等于最大迭代次数,则判断得到当前的后验概率矩阵符合输出条件,此时会执行下述步骤S304。
进一步地,在区别于图3的其他实施例中,在步骤S303之前还包括:判断当前迭代次数是否小于或等于最小迭代次数;若是,则查看当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位。即在当前实施例中,在基于第一消息矩阵和第二消息矩阵,获得后验概率矩阵之后,还会进一步判断得到当前迭代次数是否小于或等于最小迭代次数,如若判断得到当前迭代次数小于或等于最小迭代次数,则会获取并查看当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位,以便后续可以根据两次的第二消息矩阵的符号位判断后验概率矩阵是否符合输出条件。反之,如若判断得到当前迭代次数大于最小迭代次数,则可以不查看当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位。
可以理解的是,在其他实施例中,在在基于第一消息矩阵和第二消息矩阵,获得后验概率矩阵之后,也可以是直接执行上述步骤S303,即直接基于第二消息矩阵或当前迭代次数,判断后验概率矩阵是否符合输出条件。并在是基于第二消息矩阵判断后验概率矩阵是否符合输出条件时,再去查看当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位。而如若是基于当前迭代次数判断后验概率矩阵是否符合输出条件,无需去查看当前轮次的译码迭代所得的第二消息矩阵和上一轮次的译码迭代中所得的第二消息矩阵的符号位。
S304:若是,则将后验概率矩阵的符号位输出为译码结果。
若经过判断得到当前的后验概率矩阵符合输出条件,则会将后验概率矩阵的符号位输出为译码结果。
进一步地,若经过步骤S303判断得到后验概率矩阵不符合输出条件,本申请所提供的方法还包括:重新执行基于待译码数据和校验矩阵中的行校验数据,获得第一消息矩阵和第二消息矩阵的步骤,以进行新一轮次的译码迭代。
本申请所提供的技术方案,通过计算不传输列和打孔列的位置,将校验矩阵中的第一目标类行校验数据和第二目标类行校验数据的迭代顺序,置于校验矩阵中其他行校验数据之前,实现降低了5GNR中所设计的不传输列和打孔列(一些实施例中也可以成为是打孔缩短列)给译码迭代带来的无效计算的量,可以降低无效迭代从而提升译码性能。
具体地,在当前实施例中,本申请所提供的技术方案通过设置一个最小迭代次数,当迭代次数达到最小迭代次数后,比较前一次C2V结果的符号位和当前轮次迭代中新更新的C2V结果有无符号翻转,即判断在两次迭代过程中,C2V的符号位是否存在翻转(即判断在两次迭代过程中,C2V的符号位是否相同),若连续两次迭代中所有C2V结果均无符号翻转,即前一次迭代的C2V的结果和当前次C2V的结果的符号位是相同的,两组数据的符号位是一致,可认为后验概率矩阵收敛已收敛,可以停止迭代,然后将后验概率矩阵的符号位输出为译码结果。相比于现有的分层迭代译码结构,仅增加了译码迭代之前对行校验数据的迭代顺序的重排序的过程,无明显的资源增加和时间消耗增加,可以换来0.1-0.2db的译码性能提升。另外,还通过设置基于迭代次数的停止迭代条件因为直接存储的便是符号位,可以直接拿来比较,仅需很少的资源消耗便可提前停止迭代,实现降低了迭代过程的功耗。
请同时参见图1至图3,在一实施例中,本申请所提供的5G NR LDPC译码方法的流程可以如下:获取待译码数据和待译码数据的校验矩阵,计算译码参数获取校验矩阵的行数和列数,并计算不传输列和打孔列的位置,并依据不传输列的位置和打孔列的位置确定每行校验数据所包括的不传输列和打孔列的数量,从校验矩阵中搜索只包括1个不传输列或打孔列的目标行校验数据,并将这些目标行校验数据的迭代顺序置于校验矩阵中的其他行校验数据之前。例如,将{1,2,3,4,5,6,7}重排序为{7,4,2,1,3,5,6}(其中,每个数字代表一个行校验数据的编号,如数字1是用于代指第1行校验数据,数字2、3、4、5、6和7是用于分别代指第2、3、4、5、6和7行校验数据)。在进行译码迭代时会按照重新确定的迭代顺序进行计算更新。
另外,还会恢复打孔和缩短比特,即在打孔列和不传输列的位置填0,在缩短比特位置填最大值,以分别获得第一消息矩阵和第二消息矩阵。在一些实施例中是先求取第一消息矩阵,然后基于第一消息矩阵求得第二消息矩阵,即是先求V2C,并基于V2C更新C2V”。
在另一实施例中,是按照下述公式进行初始化,并确定最大迭代次数Imax和最小迭代次数Imin,是通过仿真确定最大迭代次数Imax和最小迭代次数Imin。其中,公式为:
L(rmn)(0,0)=0。
其中,L(Pn)是表示变量节点接收到的初始信道似然值,L(Qn)是表示变量节点更新后的后验概率信息,L(qnm)是表示变量节点更新后发送给校验节点的消息,cn是用于表示发送端编码后的码字序列,yn是接收端接收到的码字序列,L(rmn)是表示校验节点更新后发送给变量节点的消息。
本方案是一种有效的5G NR LDPC译码方法,可广泛应用于无线通信信道编解码方案中,相比较于传统分层最小和译码算法,本方案实现在无明显的资源增加和时间消耗增加的前提下,可以换来0.1-0.2db的译码性能提升;另外,通过新加入的最大迭代次数判断是否符合输出的条件因为直接存储的便是符号位,可以直接拿来比较,仅需很少的资源消耗便可提前停止迭代以降低功耗,削减硬件成本,提升产品性能。
请参见图4,图4为本申请一种电子设备一实施例中的结构示意图。在当前实施例中,本申请所提供的电子设备400包括处理器401以及与处理器401耦接的存储器402。电子设备400可以执行图1至图3及其对应的任意一个实施例中的方法。
其中,存储器402包括本地储存(图未示),且用于存储有计算机程序,计算机程序被执行时可以实现图1至图3及其所对应的任意一个实施例中的方法。
处理器401与存储器402耦接,处理器401用于运行计算机程序,以执行如上图1至图3及其对应的任意一个实施例中的方法。进一步地,在一些实施例中,电子设备可包括移动终端、车载终端、摄像头、电脑终端、计算机、具备计算存储能力的图像采集设备、服务器等中的任意一种,也可以包括其他任何具有计算处理功能的设备。
参见图5,图5为本申请一种计算机可读存储介质一实施例结构示意图。该计算机可读存储介质500存储有能够被处理器运行的计算机程序501,该计算机程序501用于实现如上图1至图3及其对应的任意一个实施例中所描述的方法。具体地,上述计算机可读存储介质500可以是存储器、个人计算机、服务器、网络设备,或者U盘等其中的一种,具体在此不做任何限定。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种5G NR LDPC译码方法,其特征在于,所述方法包括:
获取待译码数据和所述待译码数据的校验矩阵;
基于所述校验矩阵的每行校验数据中关于预设列的包含数量,查找出所述校验矩阵中的目标行校验数据,其中,所述预设列包括不传输列和打孔列中的至少一者,所述目标行校验数据为所述不传输列的数量为第一数量或所述打孔列的数量为第二数量的所述行校验数据;
将所述校验矩阵中的所述目标行校验数据的迭代顺序置于所述校验矩阵中其他行校验数据之前;
按照所述校验矩阵中所述每行校验数据的迭代顺序,对所述待译码数据和所述校验矩阵进行迭代译码,获得译码结果。
2.根据权利要求1所述的方法,其特征在于,所述第一数量和第二数量均为1。
3.根据权利要求2所述的方法,其特征在于,所述目标行校验数据包括第一目标类行校验数据和第二目标类行校验数据,所述第一目标类行校验数据为不传输列的数量为第一数量的所述行校验数据,所述第二目标类行校验数据为打孔列的数量为第二数量的所述行校验数据;
所述将所述校验矩阵中的所述目标类行校验数据的迭代顺序置于所述校验矩阵中其他行校验数据之前,进一步包括:
将所述校验矩阵中的所述第一目标类行校验数据和第二目标类行校验数据的迭代顺序均置于所述校验矩阵中其他行校验数据之前,并将所述第一目标类行校验数据的迭代顺序置于所述第二目标类行校验数据之前。
4.根据权利要求1所述的方法,其特征在于,所述对所述待译码数据和所述校验矩阵进行迭代译码,获得译码结果,进一步包括:
基于所述待译码数据和所述校验矩阵中的行校验数据,获得第一消息矩阵和第二消息矩阵;
基于所述第一消息矩阵和所述第二消息矩阵,获得后验概率矩阵;
基于所述第二消息矩阵或当前迭代次数,判断所述后验概率矩阵是否符合输出条件;
若是,则将所述后验概率矩阵的符号位输出为所述译码结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第二消息矩阵或当前迭代次数,判断所述后验概率矩阵是否符合输出条件之前,还包括:
判断当前迭代次数是否小于或等于最小迭代次数;
若是,则查看当前轮次的译码迭代所得的所述第二消息矩阵和上一轮次的译码迭代中所得的所述第二消息矩阵的符号位。
6.根据权利要求5所述的方法,其特征在于,基于所述第二消息矩阵,判断所述后验概率矩阵是否符合输出条件的步骤,进一步包括:
判断当前轮次的译码迭代所得的所述第二消息矩阵和上一轮次的译码迭代中所得的所述第二消息矩阵的符号位是否相同;
若是,则判断所述后验概率矩阵符合输出条件。
7.根据权利要求4所述的方法,其特征在于,基于所述当前迭代次数,判断所述后验概率矩阵是否符合输出条件的步骤,进一步包括:
判断所述当前迭代次数是否大于最大迭代次数;
若是,则判断所述后验概率矩阵符合输出条件。
8.根据权利要求6或7所述的方法,其特征在于,若所述后验概率矩阵不符合所述输出条件,则重新执行所述基于所述待译码数据和所述校验矩阵中的行校验数据,获得第一消息矩阵和第二消息矩阵的步骤。
9.一种电子设备,其特征在于,所述电子设备包括处理器以及与所述处理器耦接的存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于运行所述计算机程序以执行权利要求1至8任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225293.8A CN114726481B (zh) | 2022-03-09 | 2022-03-09 | 一种5g nr ldpc译码方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225293.8A CN114726481B (zh) | 2022-03-09 | 2022-03-09 | 一种5g nr ldpc译码方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726481A CN114726481A (zh) | 2022-07-08 |
CN114726481B true CN114726481B (zh) | 2023-12-22 |
Family
ID=82237058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210225293.8A Active CN114726481B (zh) | 2022-03-09 | 2022-03-09 | 一种5g nr ldpc译码方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726481B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731161A (zh) * | 2014-01-09 | 2014-04-16 | 北京航空航天大学 | 一种用于ldpc码的交叠译码方法 |
WO2018107798A1 (zh) * | 2016-12-16 | 2018-06-21 | 普天信息技术有限公司 | 高码率数据发送方法和装置 |
CN108270510A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 基于ldpc码的通信方法和通信设备 |
CN108566211A (zh) * | 2018-03-27 | 2018-09-21 | 西安电子科技大学 | 基于H矩阵层处理顺序动态变化的layered LDPC译码方法 |
CN109155635A (zh) * | 2016-06-14 | 2019-01-04 | 华为技术有限公司 | 一种信号传输的方法、发射端及接收端 |
CN109309502A (zh) * | 2018-08-03 | 2019-02-05 | 西安电子科技大学 | 5g nr标准的分层ldpc基矩阵处理译码方法 |
CN111384970A (zh) * | 2018-12-29 | 2020-07-07 | 电信科学技术研究院有限公司 | 一种译码方法、装置及通信设备 |
CN112332856A (zh) * | 2020-10-22 | 2021-02-05 | 中国科学院计算技术研究所 | 一种准循环ldpc码的层译码方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100594818B1 (ko) * | 2004-04-13 | 2006-07-03 | 한국전자통신연구원 | 순차적 복호를 이용한 저밀도 패리티 검사 부호의 복호장치 및 그 방법 |
KR101917829B1 (ko) * | 2017-11-30 | 2018-11-12 | 고려대학교 산학협력단 | Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치 |
KR20210115961A (ko) * | 2020-03-17 | 2021-09-27 | 에스케이하이닉스 주식회사 | Ldpc 디코더 및 그것의 동작 방법 |
-
2022
- 2022-03-09 CN CN202210225293.8A patent/CN114726481B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731161A (zh) * | 2014-01-09 | 2014-04-16 | 北京航空航天大学 | 一种用于ldpc码的交叠译码方法 |
CN109155635A (zh) * | 2016-06-14 | 2019-01-04 | 华为技术有限公司 | 一种信号传输的方法、发射端及接收端 |
WO2018107798A1 (zh) * | 2016-12-16 | 2018-06-21 | 普天信息技术有限公司 | 高码率数据发送方法和装置 |
CN108270510A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 基于ldpc码的通信方法和通信设备 |
CN108566211A (zh) * | 2018-03-27 | 2018-09-21 | 西安电子科技大学 | 基于H矩阵层处理顺序动态变化的layered LDPC译码方法 |
CN109309502A (zh) * | 2018-08-03 | 2019-02-05 | 西安电子科技大学 | 5g nr标准的分层ldpc基矩阵处理译码方法 |
CN111384970A (zh) * | 2018-12-29 | 2020-07-07 | 电信科学技术研究院有限公司 | 一种译码方法、装置及通信设备 |
CN112332856A (zh) * | 2020-10-22 | 2021-02-05 | 中国科学院计算技术研究所 | 一种准循环ldpc码的层译码方法及装置 |
Non-Patent Citations (4)
Title |
---|
AccelerComm Ltd.R1-1608584 "Complementary turbo and LDPC codes for NR, motivated by a survey of over 100 ASICs".3GPP tsg_ran\WG1_RL1.2016,(TSGR1_86b),全文. * |
Layered LDPC decoding for turbo-differential decoding in presence of cycle slips in optical communications;Christian Cabirol;《2016 18th International Conference on Transparent Optical Networks (ICTON)》;全文 * |
一种基于矩阵分裂的QC-LDPC码Log-BP译码方法;赵岭;张晓林;;航空学报(01);全文 * |
低复杂度校验节点调度的LDPC串行译码算法;朱庆;吴乐南;;信号处理(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114726481A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101330132B1 (ko) | 랩터 코드의 디코딩 | |
US11728829B2 (en) | Error detection in communication systems using polar coded data transmission | |
US10484009B2 (en) | Decoding method and decoder for low-density parity-check code | |
CN108282259B (zh) | 一种编码方法及装置 | |
CN110690941B (zh) | Polar码的速率匹配方法及装置 | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
CN106452455A (zh) | 基于OpenCL 移动设备QC‑LDPC 的动态译码方法 | |
US20210021844A1 (en) | Alteration of successive cancellation order in decoding of polar codes | |
RU2369008C2 (ru) | Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока | |
CN108809518A (zh) | 用于降低错误性能的级联Spinal码构建方法 | |
US11483011B2 (en) | Decoding method, decoding device, and decoder | |
CN111030708A (zh) | 极化码的迭代可调软串行抵消列表译码方法和装置 | |
CN114726481B (zh) | 一种5g nr ldpc译码方法及相关装置 | |
CN112511172B (zh) | 一种译码方法、装置、设备及存储介质 | |
CN107615666A (zh) | Ldpc截短码的译码方法和译码设备 | |
CN107733439B (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
WO2020088256A1 (zh) | 译码方法及装置 | |
CN102801432A (zh) | 一种多进制ldpc的串行fht-bp译码方法及装置 | |
EP3422620A1 (en) | Polar code sequence construction method and device | |
CN112104379B (zh) | 一种基于关键集的极化码置信度传播动态翻转译码方法 | |
CN109802690B (zh) | 译码方法、装置和计算机可读存储介质 | |
TWI783727B (zh) | 使用極化碼之通訊系統及其解碼方法 | |
CN101807928B (zh) | 记录控制器及奇偶校验码译码器 | |
CN114362764B (zh) | Urllc场景下信道编码校验矩阵的构建方法及装置 | |
CN118740169A (zh) | 低密度奇偶校验码ldpc解码方法及装置 |
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 |