CN112152636B - 译码方法及装置、设备、存储介质 - Google Patents
译码方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN112152636B CN112152636B CN202010936368.4A CN202010936368A CN112152636B CN 112152636 B CN112152636 B CN 112152636B CN 202010936368 A CN202010936368 A CN 202010936368A CN 112152636 B CN112152636 B CN 112152636B
- Authority
- CN
- China
- Prior art keywords
- code block
- iteration
- iteration number
- determining
- decoding
- 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 93
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 11
- 238000013468 resource allocation Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 4
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005562 fading Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000169170 Boreogadus saida Species 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- 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
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请实施例公开了译码方法及装置、设备、存储介质,所述方法包括:确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
Description
技术领域
本申请实施例涉及通信技术,涉及但不限于译码方法及装置、设备、存储介质。
背景技术
由于噪声、干扰、信道衰落等因素的影响,数据在无线信道上的传输往往是不可靠的。信道编解码为数据接收提供了错误检测和纠正的能力。然而,在实际应用中,如果预先分配给当前码字的处理时间有限或者信道条件较差,就会出现大量码块甚至所有码块均译码失败的现象,从而导致发送端对整个码字进行重传的现象。
发明内容
有鉴于此,本申请实施例提供的译码方法及装置、设备、存储介质,能够提高码字的部分码块的译码成功率,从而减少码块重传,改善通信性能。本申请实施例提供的译码方法及装置、设备、存储介质是这样实现的:
本申请实施例提供的译码方法,包括:确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
本申请实施例提供的译码装置,包括:确定模块,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;确定模块,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;译码模块,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
本申请实施例提供的译码设备,包括:处理器,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;所述处理器,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;译码器,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
本申请实施例提供的译码设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例任一所述的译码方法。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例任一所述的译码方法。
在本申请实施例中,在对当前码块进行迭代译码之前,接收端至少根据码字当前的剩余迭代次数预算,为当前码块分配最大迭代次数;这样,能够动态且非均匀地实现在码块间的资源分配,在有限的译码资源(即预先为码字设置的固定迭代次数)条件下,使得分配给某些码块的最大迭代次数增大,从而提高这些码块的译码成功率,进而减少这些码块的重传次数,改善通信性能,并节约存储资源。
附图说明
图1为常用的无线通信的基本流程示意图;
图2为本申请实施例可能适用的一种网络架构示意图;
图3为本申请实施例译码方法的实现流程示意图;
图4为本申请实施例提供的另一译码方法的实现流程示意图;
图5为本申请实施例提供的又一译码方法的实现流程示意图;
图6为混合式自动重传请求(Hybrid Automatic Repeat reQuest,HARQ)机制的工作原理示意图;
图7A为从循环缓存(circular buffer)中读出码字时的起始位置;
图7B为HARQ传输的数据示意图;
图8为终端基带芯片中数据信道译码器的主要组成模块示意图;
图9为本申请实施例提供的再一译码方法的实现流程示意图;
图10为资源平均分配模式下的译码和数据存储结果示意图;
图11为资源集中模式下的译码和数据存储结果示意图;
图12为本申请实施例译码装置的结构示意图;
图13为本申请实施例提供的译码设备的结构示意图;
图14本申请实施例译码设备的另一种结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的技术方案可以应用第四代移动通信系统(the 4th generationmobile communication system,4G)、第五代移动通信技术(5th-Generation wirelesscommunication technology,5G)新空口(New Radio,NR)系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:窄带物联网(Narrow Band-Internet of Things,NB-IoT)系统、全球移动通讯系统(Global System of Mobilecommunication,GSM)、增强型数据速率GSM演进(Enhanced Data rate for GSM Evolution,EDGE)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、码分多址2000(Code DivisionMultiple Access,CDMA2000)系统、时分同步码分多址(Time Division-SynchronizationCode Division Multiple Access,TD-SCDMA)系统、通用分组无线业务(General PacketRadio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)或通用移动通信系统(Universal Mobile Telecommunication System,UMTS)等。
图1为常用的无线通信的基本流程示意图,如图1所示,在发送端,信源依次经过信源编码、信道编码和数字调制后发出。在接收端,依次经过数字解调、信道译码和信源解码输出信宿。信道编码可以采用极化码(Polar)、低密度奇偶校验码(Low-Density Parity-Check,LDPC)。而在信道译码的时候,可以采用迭代译码算法对码字中的码块进行译码;其中,迭代译码算法例如可以是基于消息传递(message passing)的置信传播(BeliefPropagation,BP)译码算法等。
图2示出了本申请实施例可能适用的一种网络架构。如图2所示,本实施例提供的网络架构包括:网络设备201和终端202。本申请实施例所涉及到的终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户终端设备(terminal device)或移动台(MobileStation,MS)等等。本申请实施例所涉及到的网络设备是一种部署在无线接入网中用以为终端提供无线通信功能的设备。在本申请实施例中,该网络设备例如可以为图2所示的基站,该基站可以包括各种形式的宏基站、微基站、中继站或接入点等等。
本申请实施例提供的译码方法,可以应用在网络设备与终端之间的信息交互过程中的译码侧,即接收端既可以是终端也可以是网络设备。可选的,该方法也可以应用在终端之间的信息交互过程中的接收端,对此本申请实施例不做限制。
图3为本申请实施例提供的译码方法的实现流程示意图,如图3所示,该方法可以包括以下步骤301至步骤303:
步骤301,接收端确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值。
可以理解地,为了保证通信系统的正常运行,防止数据堆积或丢失,接收端译码器的处理速度不得低于某个由空口数据率、场景和其它模块处理速度等因素共同决定的最小值。因此,通信系统除了对每个码块的最大迭代次数有所限制,同时也对每个码字的总迭代次数有所限制。在实现时,接收端可以预先为码字分配固定迭代次数,以此来保证下行数据信道的译码结果能够及时反馈。
在对码字中的码块进行译码时,虽然对其分配了最大迭代次数,但是在实际迭代译码过程中,经历的迭代次数可能是小于该最大迭代次数的,即码块的实际迭代次数可能小于最大迭代次数。这里,对于码字中当前已完成译码的每一码块实际经历的迭代次数总和,即为码字的当前实际迭代总次数。
步骤302,接收端至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数。
当前码块的最大迭代次数至少是根据码字当前的剩余迭代次数预算而确定的。可见,接收端对每一码块的最大迭代次数均是实时动态地进行分配的。在实现时,电子设备可以根据如下实施例的步骤404实现该步骤302。
步骤303,接收端根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
在本申请实施例中,在对当前码块进行迭代译码之前,接收端至少根据码字当前的剩余迭代次数预算,为当前码块分配最大迭代次数;这样,能够动态且非均匀地实现在码块间的资源分配,在有限的译码资源(即预先为码字设置的固定迭代次数)条件下,使得分配给某些码块的最大迭代次数增大,从而提高这些码块的译码成功率,进而减少这些码块的重传次数,改善通信性能,并节约存储资源。
本申请实施例再提供一种译码方法,图4为本申请实施例提供的另一译码方法的实现流程示意图,如图4所示,该方法可以包括以下步骤401至步骤407:
步骤401,接收端确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;
步骤402,接收端确定所述剩余迭代次数预算是否大于特定下限值;如果是,执行步骤403;否则,执行步骤406。
特定下限值,一般是指分配给码块的最大迭代次数的下限值。即,码块的最大迭代次数不能低于该下限值,否则,即使信道条件非常好,接收端基于该下限值,对码块进行译码时,也会译码失败。
因此,在本申请实施例中,如果剩余迭代次数预算小于或等于该特定下限值,则执行步骤406,终止对码字中待译码的每一码块进行迭代译码;如此,可以减少不必要的译码过程,从而节约接收端的译码功耗,缩短通信时延。
步骤403,接收端根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数。
在实现时,接收端可以将剩余迭代次数预算与待译码的码块数的比值,确定为平均剩余迭代次数。在一些实施例中,若该比值不是整数,可以将该比值向上取整,从而得到平均剩余迭代次数。
步骤404,接收端根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数,然后,进入步骤405。
可以理解地,至少根据平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;如此,能够动态且非均匀地进行译码资源的分配,从而利于提高部分码块的译码成功率,改善通信性能。
在一些实施例中,在所述当前码块之前还未出现译码失败的情况下,根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;在所述当前码块之前已出现译码失败的情况下,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
可以理解地,在当前码块之前还未出现译码失败,说明当前码块及其之前的码块经历的信道环境较好,信噪比较高。因此,可以根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数(例如通过执行如下实施例的步骤504和步骤505实现),从而使得接收端能够尽可能公平地尝试对这些码块进行译码。
而在当前码块之前已经出现译码失败的情况,说明首次译码失败的码块及其之后的码块经历的信道环境可能都比较差,信噪比较低。因此,可以根据当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;也就是说,当前码块的最大迭代次数与前一码块的实际迭代次数有关,这样,利于提高当前码块的译码成功率。
步骤405,接收端根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码;
步骤406,接收端终止对所述码字中待译码的每一码块进行所述迭代译码;然后进入步骤407;
步骤407,接收端通知发送端对所述码字中待译码的每一码块进行重传。
当剩余迭代次数预算小于特定下限值时,接收端可以结束译码,将还未译码的码块直接存储,并向发送端反馈否定确认消息(Negative Acknowledgement,NACK),以使发送端重新将这些码块发送给接收端;这样,接收端对新获得的码块进行译码之前,可以先将该码块与存储的对应码块进行软合并,然后对软合并后的码块进行译码。可以理解地,软合并能够增加有效接收信噪比,故而可以提高译码成功的概率,改善系统性能。
本申请实施例再提供一种译码方法,图5为本申请实施例提供的又一译码方法的实现流程示意图,如图5所示,该方法可以包括以下步骤501至步骤509:
步骤501,接收端确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;
步骤502,接收端确定所述剩余迭代次数预算与所述码字中待译码的码块数的比值;
步骤503,接收端将所述比值向上取整,得到所述平均剩余迭代次数。
可以理解地,将比值向上取整,得到平均剩余迭代次数;如此,在将该平均剩余迭代次数分配给当前码块作为其最大迭代次数,在一定程度上也是能够增加码块的译码成功率的。
步骤504,接收端在所述当前码块之前还未出现译码失败的情况下,将所述平均剩余迭代次数与特定下限值中的较大者,确定为第一中间值;
步骤505,接收端将所述第一中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数,然后,进入步骤509。
可以理解地,接收端执行步骤504和步骤505,而不是直接将平均剩余迭代次数分配作为当前码块的最大迭代次数,其目的是为了确保实际分配给当前码块的最大迭代次数在特定下限值与特定上限值之间。这样,一方面,控制最大迭代次数不超过特定上限值,如此在信道条件较差的场景下,能够减少不必要的迭代过程,从而节约译码功耗和译码时延,进而缩短通信时延;另一方面,控制最大迭代次数不低于特定下限值,如此在信道条件较好的场景下,能够提高译码成功率,从而节约存储资源和降低码块重传概率,进而改善通信性能。
步骤506,接收端在所述当前码块之前已出现译码失败的情况下,将所述前一码块的实际迭代次数的倍与所述平均剩余迭代次数中的较大者,确定为第二中间值;其中,为大于1的常数。
可以理解地,在一定程度上,倍的前一码块的实际迭代次数,代表了接收端对当前码块所需最大迭代次数的估计。如果译码失败,在没有使用提前终止迭代的算法机制的前提下,当前码块的实际迭代次数等于预设的最大迭代次数。这意味着,后续码块的最大迭代次数将会是一个递增的序列,直到其取值超过特定上限值。可见,译码资源进一步向这部分码块集中了,使它们的最大迭代次数增大,这样就会有更大机会成功解出这部分码块。即使最终未能解出整个码字,也可以减少码块的传输和保存,并省去重传到来时再次译码的必要。
尤其是,当最大迭代次数较小时,接收端的纠错性能随着最大迭代次数的增加会有较大提升。这意味着,如果留给码字的处理时间有限或者信道条件较差,也就是预留给码字的固定迭代次数相对较小时,将其平均分配给全部码块可能对译码不利。在最坏情况下,接收端对所有码块都进行了译码,但由于每一码块的迭代次数太少,CRC校验全部失败,每一码块均未被成功译码。而如果将有限的译码资源(即预留给码字的固定迭代次数)集中到其中一部分码块,使它们的最大迭代次数增大,则有更大机会成功译出这部分码块。
步骤507,接收端将所述第二中间值与特定下限值中的较大者,确定为第三中间值;
步骤508,接收端将所述第三中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数,然后,进入步骤509。
可以理解地,与步骤504和步骤505的目的类似,这里的步骤507和步骤508的目的也是为了控制实际分配给当前码块的最大迭代次数在特定上限值与特定下限值之间。
步骤509,接收端根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
由于噪声、干扰、信道衰落等因素的影响,数据(包括码块)在无线信道上的传输往往是不可靠的。信道编解码为数据接收提供了错误检测和纠正(error detection andcorrection)的能力。在此基础上,通过建立接收端到发送端之间的反馈机制,发送端可以获知接收端是否正确接收了此前发送的数据包(包括码块)。如果反馈是否定的,发送端可以选择重新发送该数据包。一方面,由于信道衰落在时间上存在随机性,多次发送可以提高系统的多样性(diversity),从而提高数据被正确接收的概率;另一方面,当接收端译码失败时,与其直接丢弃接收到的数据,不如将它们保存起来用于与后续到达的重传数据进行软合并(soft combining),从而提高译码时的有效信噪比。这种基于反馈和重传的机制被称为HARQ,它可以大大提高无线通信的可靠性。通过限制最大重传次数,该方法可以在错误控制和吞吐率之间实现很好的平衡。
图6为这种重传机制的工作原理示意图。如图6所示,通信系统中共有N个HARQ进程在参与数据传输。第一个进程的数据包发送完毕后,发送端继续第二个、第三个等进程的数据传输。与此同时,接收端接收第一个进程的数据包,对其进行解调、译码等处理,并判断译码后的数据是否正确。然后,接收端将在适当的时刻将处理结果以特定形式反馈给发送端,由后者进行必要的后续处理;其中,特定形式,例如为确认消息(Acknowledgement,ACK)或NACK。多个HARQ进程的使用保证了数据传输和处理的连续性,从而保证了系统的吞吐率。在LTE系统和NR系统中,数据信道的传输都带有HARQ机制,例如物理下行数据信道(PhysicalDownlink Shared Channel,PDSCH)。其中,LTE的重传单位是一个码字(Code word,CW),NR的重传单位可以是一个码字或一个码块组(Code Block Group,CBG)。
混合式自动重传请求中的“混合”(hybrid)指的是信道编码与自动重传请求(Automatic Repeat reQuest,ARQ)的结合。在LTE和NR中,这里的信道编码包括用于错误检测的循环冗余校验码(Cyclic Redundancy Check,CRC),和用于错误纠正的Turbo码(例如LTE中)或LDPC码(例如NR中)。初次传输的码字通常包含全部信息比特和少量校验比特,重传码字则包含了更多的校验比特。协议规定了一个名为冗余版本(Redundancy Version,RV)的参数,其不同取值(0,1,2,3)决定了码字在从循环缓存(circular buffer)中读出时的起始位置。例如图7A所示,读出时的起始位置可能是RV0、RV1、RV2或RV3。如图7B所示,重传既可能包括尚未传输的比特,也可能与已经传输的比特部分发生重叠。接收端在进行软比特合并时,需对已有信息和新传信息进行对齐和补零,然后将两者相加。软合并既能增加有效接收信噪比,又降低了实际码率,故而提高了译码成功的概率,改善了系统性能。
对终端基带芯片来讲,为了实现HARQ机制带来的性能增益,需要增加一块相当大的存储空间用于保存译码失败时的软比特。LTE协议中给出了支持不同能力等级的用户装置(User Equipment,UE)需要保存的最大软比特数量。对较高的能力等级,这一数值达到了几个兆字节的数量级。而NR在高吞吐率场景下的数据量远超LTE,其要求的HARQ存储也将更大;其中,高吞吐率场景,例如为增强无线宽带(Enhanced Mobile Broadband,eMBB)。此外,HARQ数据的读写、在芯片内部的传输、软合并和再译码等等,都需要占据硬件资源并增加功率消耗。也就是说,针对HARQ机制的终端译码器设计,与系统的性能和成本都有紧密关系。
在本申请中,提供一种在译码失败的情况下重新分配计算资源的方法,如上述实施例的步骤506至步骤508,该方法能够在不影响系统吞吐率的前提下,大大减少与HARQ相关的数据搬移和处理,从而能够降低基带芯片的功率消耗。
终端基带芯片中数据信道译码器的主要组成模块,如图8所示,包括解扰、解速率匹配单元801、软合并单元802、码块缓存器803、信道译码器804、CRC校验单元805、HARQ存储器807和HARQ管理器和接口单元808。译码器的输入是解调器输出的软比特信息,即信道后验概率的对数似然比,经过解扰、解速率匹配单元801后的软比特将作为软合并单元802的其中一个输入。如果当前传输是一次初始传输,或当前传输是一次重传但HARQ存储器807中并没有此前保存下来的软比特信息,则软合并单元802的另一输入为零;否则,系统从HARQ存储器807中读取相应的软比特作为软合并单元802的另一个输入。合并的结果被存放在一个能容纳若干个码块的缓存器803中,以待信道译码器804读取。
译码成功与否可通过循环冗余校验码(Cyclic Redundancy Check,CRC)单元805进行判定。如果对当前码字的译码成功,则将译码后的硬比特发送给高层,并准备在上行信道中反馈一个ACK;如果译码失败,且当前传输次数未达到预设的最大值,则将信道译码前的软比特信息通过外部存储器806存入HARQ存储器807中,并通过上行信道反馈NACK。在多模基带芯片中,HARQ存储器通常为LTE/NR所共用。同时,由于多载波、多HARQ进程的存在,系统需要一个管理器808对HARQ存储器的空间进行分配和管理。
如前文所述,数据信道译码器要处理的软比特数量巨大,对HARQ存储器807的容量提出了很高要求。基于此,为减小芯片面积,降低成本,在架构设计上通常会使用一块外部(片下)存储器806作为HARQ存储器。这种做法的好处是容量需求很容易得到满足,缺点是数据的双向传输将占用大量总线带宽,增加了系统的功率消耗,同时也增加了译码器的处理时延。
为了保证通信系统的正常运行,防止数据堆积或丢失,译码器的处理速度不得低于某个由空口数据率、场景、其它模块处理速度等因素共同决定的最小值。根据下行数据信道和上行控制信道之间在时序上的距离,3GPP协议对下行数据信道的最大处理时间作出了规定。在此基础上,结合译码器之前的功能模块,如信道估计、解调器等消耗的处理时间,系统可以计算出留给译码器的最大处理时间。
在设计阶段,可以根据这一处理时间的期望值确定硬件的处理能力,如每个时钟周期内至少完成多少个软比特的处理;在运行阶段,可以将最大处理时间的实际值转化为Turbo或LDPC译码器的最大迭代次数。也就是说,系统除了对每个码块的最大迭代次数有所限制,同时也对每个传输块的总迭代次数有所限制,以此来保证下行数据信道的译码结果能够及时反馈。在最坏的情况下,译码器也可以跳过一些码块,即不对它们做译码处理,直接将软比特写入HARQ存储器,并向基站发送NACK。
相关的数据信道译码器通常采用固定的迭代次数上限。译码成功与否的判断依据是CRC校验是否通过。如果在某次迭代后CRC校验成功,则译码算法立即结束。如果迭代次数达到上限值而CRC校验仍然没有通过,则译码宣告失败。令为每个码块的最大迭代次数,为每个码字的最大迭代次数,即预先为码字分配的固定迭代次数,则:
(1)对于给定码字,的取值不应超过一个正整数常量/>即特定上限值,以保证向译码器输入软比特的缓存(即图8中码块缓存器803)不会发生拥塞或溢出的情况。对LDPC译码器来说,每次迭代需要的时钟周期数与码率有关,因此在确定/>时需考虑到具体码率。
(2)由整个码字的实际最大处理时间决定。同样地,计算/>时需考虑具体码率。
(3)设当前码字包含C个码块。如果是C的整数倍,则/>否则,/>从上式可知,系统给每个码块预设的最大迭代次数是基本相同的,也就是说,它对所有码块是“公平”的。在信道条件良好的情况下,译码器收敛迅速,系统预设的最大迭代次数限制可能不会生效。此时,使用上述处理方式可以有效地完成译码。
但是,当较小时,译码器的纠错性能随着/>的增加会有较大提升。这意味着,如果留给当前码字的处理时间有限或者信道条件较差,也就是/>相对较小时,将其平均分配给全部码块可能对译码不利。在最坏情况下,译码器对所有码块都进行了译码,但迭代次数太少,CRC校验全部失败,则译码器需要把整个码字的软比特都送到HARQ存储器保存起来。如果将资源集中到其中一部分码块,使它们的/>增大,则有更大机会成功解出这部分码块。即使最终未能解出整个码字,也可以减少软比特的传输和保存,并省去了重传到来时再次译码的必要。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例中,译码资源(体现为)在码块间的分配是动态且非平均的。为保证分配的有效性,增加常数参数/>作为码块最大迭代次数的下限值,即特定下限值,并通过函数/>把实际分配的最大迭代次数控制在/>与/>之间。令/>表示当前码字的剩余迭代次数预算,其初始值为/>在对码块0进行译码时,使用/>配置译码器的最大迭代次数。译码结束后,根据实际迭代次数ICB(0)对/>进行更新,即:/>如果译码成功,则对码块1设置/>然后根据ICB(1)更新/>对码块2,3,...,(C-1)重复这一过程直至结束或译码失败。
当对某一个码块译码失败后,译码器的“资源集中”模式被激活。这意味着,对后续的码块,译码器的目标不再是公平地尝试对它们进行译码,而是尽可能多地译出其中一部分码块。假设码块i是码字中首个译码失败的码块,0≤i<C-1。对码块j=i+1,i+2,...,C-1,可以按照如下公式(1)所示的方式计算并设置其最大迭代次数
式中,是一个预设的常数,/>注意每次译码后需更新即/>若/>则译码结束。在这种模式下,码块的最大迭代次数与前一码块的实际迭代次数有关:系统选取平均剩余迭代次数和/>倍的前一码块实际迭代次数中的较大者,对其使用F函数以保证取值有效,然后将结果作为当前码块的最大迭代次数。
可以理解地,在一定程度上,代表了系统对码块j所需最大迭代次数的估计。如果译码失败,在没有使用提前终止迭代的算法机制的前提下,译码器的实际迭代次数等于预设的最大迭代次数。这意味着,/> 将会是一个递增的序列直到其取值超过/>也就是说计算资源进一步向这部分码块集中了。
图9展示了本申请实施例上述方法的主要工作流程,其中虚线方框标识的、负责译码资源分配和迭代控制的模块在实际系统中可由软件实现。
需要说明的是,在技术方案的设计和描述中,假设译码器不能预知来自同一码字的不同码块的软比特质量的高低,因而认为它们在统计上是相同的。基于此,译码资源的分配是按照码块的顺序进行的。
在数据信道的译码中,一个码字通常包含多个码块。当且仅当全部码块译码成功、TB CRC校验通过时,译码得到的硬比特才会被送往高层做后续处理。在此之前,译码失败的码块会以软比特形式存放在HARQ存储器中。以一个包含10个码块的码字的译码过程为例,如图10所示,展示了在资源平均分配模式下的译码结果和数据存储情况,如图11所示,展示了在资源集中模式下的译码结果和数据存储情况。通过图10与图11对比结果,定性说明了本申请实施例可能产生的有益效果。
如前文介绍,译码器的相关设计方案对译码资源的分配是静态和平均的。这种方式可能造成图10中示意的“爆发式”译码过程,如图10所示,在初传和第一次重传中,只有极少几个码块被正确解出,其余码块的软比特信息都被保存下来。在第二次重传到来时,由于码率的降低和有效信噪比的提高,译码门限进一步降低,译码器得以解出全部剩余码块。
本申请实施例提出当某个码块译码失败时,译码器对后续码块采取资源集中的策略,即通过动态调整Turbo/LDPC译码器的最大迭代次数,将译码资源集中分配给部分码块以求增加译码成功的机会。如图11所示,这种方式带来的更为“平稳”的译码过程:在初传、第一次重传、第二次重传后各有若干码块被译出,这使得数据的搬移量大大减少,在HARQ存储器中占据的空间也同时减少。因此,在本申请实施例中,在降低芯片功耗,限制HARQ数据传输对总线带宽的影响,提高HARQ存储器的利用效率等方面都能产生增益效果。
通过数值仿真验证了在相同信噪比下,本申请实施例的技术方案相比相关方案能够对更多码块成功译码,并且在译码资源非常有限的条件下,能够小幅度提高系统吞吐率。考虑NR PDSCH上传输的一个包含80000信息比特的传输块,它共有10个码块,初传时的码率为2/3。在加性白噪声(Additive White Gaussian Noise,AWGN)信道和正交相移键控(Quadrature Phase Shift Keying,QPSK)调制方式下,对该传输块的接收和译码(LDPC译码器采用自纠正最小和(Self-corrected min-sum algorithm,SCMS)算法)进行了2000次模拟,得到的模拟结果表明,对不同富裕程度的译码资源(或200),本申请实施例的技术方案都能在很大的信噪比范围内改善译码结果,同一信噪比下,本申请实施例的技术方案能够成功译码更多码块数,从而节省搬移和保存软比特需要的功率。
由于资源集中模式在首次出现译码失败后才会被激活,因此理论上它不会对系统吞吐率有任何负面影响。当较小时,随着传输次数的增加,本申请实施例的技术方案对译码资源利用更加合理的优势逐渐累积,使得系统吞吐率也有了小幅提升。
本申请中,探讨了LTE/NR数据信道译码过程中译码资源分配以及译码器迭代控制的优化问题,其主要创新点包括:
I、将系统对译码器的延时需求转化为对整个码字的总迭代次数的限制,并将这种限制视为可最大化利用的译码资源,从节省实现HARQ机制所需的数据搬移和存储角度出发,考虑译码资源在码块间的分配;
II、利用译码性能能够随着最大迭代次数的增加而提高的特性,提出了一种动态、集中式的译码资源分配方案。在译码失败时该方案被激活,它通过把剩余迭代次数预算集中分配给一部分码块,以增加它们被正确译码的概率;
在本申请实施例中,动态调整码块最大迭代次数的方式与前一码块的实际迭代次数有关,并由一个可配的参数进行控制,具有很好的灵活性。另外,本方案对其它系统参数(如信噪比的估计值)没有必然依赖关系,因而实现简单,适用范围广泛。
在一些实施例中,译码资源分配与译码迭代提前终止(early termination)机制可以结合:
在译码器的实际运行中,可以通过多种不同标准衡量算法的收敛性,提前判定算法无法收敛从而结束译码,是一种常见的降低译码器时延和功耗的方法。这种方法可以与本申请中提出的译码资源分配优化结合使用。例如,当系统进入资源集中模式后,除了增加码块的最大迭代次数,也可以通过放松算法收敛的评判标准来改变译码资源的分配。
在一些实施例中,该方法还可以在其它无线通讯系统中的应用:除LTE/NR外,其它无线通讯系统和协议也可能从本方案中获益。当对某个信道的译码可以分解为对多个子数据集(如码块)的译码,且数据传输带有ARQ/HARQ机制时,本申请实施例提供的译码方法依然适用。
基于前述的实施例,本申请实施例提供一种译码装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过接收端中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图12为本申请实施例译码装置的结构示意图,如图12所示,所述装置120包括确定模块121和译码模块122,其中:
确定模块121,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;
确定模块121,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
译码模块122,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
在一些实施例中,确定模块121,用于:根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数;根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
在一些实施例中,确定模块121,用于:在所述当前码块之前还未出现译码失败的情况下,根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;在所述当前码块之前已出现译码失败的情况下,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
在一些实施例中,确定模块121,用于:将所述平均剩余迭代次数与特定下限值中的较大者,确定为第一中间值;将所述第一中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
在一些实施例中,确定模块121,用于:将所述前一码块的实际迭代次数的倍与所述平均剩余迭代次数中的较大者,确定为第二中间值;其中,为大于1的常数;将所述第二中间值与特定下限值中的较大者,确定为第三中间值;将所述第三中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
在一些实施例中,确定模块121,还用于:确定所述剩余迭代次数预算是否大于特定下限值;如果所述剩余迭代次数预算大于所述特定下限值,至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
在一些实施例中,所述装置120还包括终止模块和通知模块,所述终止模块,用于如果所述剩余迭代次数预算小于或等于所述特定下限值,终止对所述码字中待译码的每一码块进行所述迭代译码;所述通知模块,用于通知发送端对所述码字中待译码的每一码块进行重传。
在一些实施例中,确定模块121,用于:确定所述剩余迭代次数预算与所述码字中待译码的码块数的比值;将所述比值向上取整,得到所述平均剩余迭代次数。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图12所示的译码装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。例如,该译码装置为一译码设备,图13为本申请实施例提供的译码设备的结构示意图,如图13所示,译码设备130可以包括:处理器131和译码器132;其中,
处理器131,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;
处理器131,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
译码器132,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
在一些实施例中,处理器131,用于:根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数;根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
在一些实施例中,处理器131,用于:在所述当前码块之前还未出现译码失败的情况下,根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;在所述当前码块之前已出现译码失败的情况下,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
在一些实施例中,处理器131,用于:将所述平均剩余迭代次数与特定下限值中的较大者,确定为第一中间值;将所述第一中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
在一些实施例中,处理器131,用于:将所述前一码块的实际迭代次数的倍与所述平均剩余迭代次数中的较大者,确定为第二中间值;其中,为大于1的常数;将所述第二中间值与特定下限值中的较大者,确定为第三中间值;将所述第三中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
在一些实施例中,处理器131,还用于:确定所述剩余迭代次数预算是否大于特定下限值;如果所述剩余迭代次数预算大于所述特定下限值,至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
在一些实施例中,处理器131,用于如果所述剩余迭代次数预算小于或等于所述特定下限值,终止对所述码字中待译码的每一码块进行所述迭代译码,通知发送端对所述码字中待译码的每一码块进行重传。
在一些实施例中,处理器131,用于:确定所述剩余迭代次数预算与所述码字中待译码的码块数的比值;将所述比值向上取整,得到所述平均剩余迭代次数。
当上述实施例提供的译码方法中的部分或全部通过软件来实现时,如图14所示,译码设备140包括:存储器141,用于存储程序;处理器142,用于执行存储器141存储的程序,当程序被执行时,使得译码设备140可以实现上述实施例提供的译码方法。
译码设备130和译码设备140在具体实现时可以是芯片或者集成电路。上述存储器141可以是物理上独立的单元,也可以与处理器142集成在一起。
当上述实施例提供的译码方法中的部分或全部通过软件实现时,译码设备140也可以只包括处理器142。用于存储程序的存储器141位于译码设备140之外,处理器142通过电路/电线与存储器141连接,用于读取并执行存储器141中存储的程序。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的译码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得接收设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的译码方法中的步骤。
本申请实施例提供的任一种译码设备还可以是一种芯片。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的译码方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、芯片和终端设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得接收设备(执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种译码方法,其特征在于,所述方法包括:
确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;其中,所述预先为所述码字分配的固定迭代次数大于或等于为所述码字中的每一码块预设的最大迭代次数的总和;
至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码;
其中,所述至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数,包括:
根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数;
根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数,包括:
在所述当前码块之前还未出现译码失败的情况下,根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;
在所述当前码块之前已出现译码失败的情况下,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数,包括:
将所述平均剩余迭代次数与特定下限值中的较大者,确定为第一中间值;
将所述第一中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
4.根据权利要求2所述的方法,其特征在于,所述根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数,包括:
将所述前一码块的实际迭代次数的倍与所述平均剩余迭代次数中的较大者,确定为第二中间值;其中,/>为大于1的常数;
将所述第二中间值与特定下限值中的较大者,确定为第三中间值;
将所述第三中间值与特定上限值中的较小者,确定为所述当前码块的最大迭代次数。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
确定所述剩余迭代次数预算是否大于特定下限值;
如果所述剩余迭代次数预算大于所述特定下限值,执行所述至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;
如果所述剩余迭代次数预算小于或等于所述特定下限值,终止对所述码字中待译码的每一码块进行所述迭代译码,通知发送端对所述码字中待译码的每一码块进行重传。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数,包括:
确定所述剩余迭代次数预算与所述码字中待译码的码块数的比值;
将所述比值向上取整,得到所述平均剩余迭代次数。
7.一种译码装置,其特征在于,包括:
确定模块,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;其中,所述预先为所述码字分配的固定迭代次数大于或等于为所述码字中的每一码块预设的最大迭代次数的总和;
确定模块,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;其中,所述至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数,包括:根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数;根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;
译码模块,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
8.一种译码设备,其特征在于,所述译码设备包括:
处理器,用于确定码字的剩余迭代次数预算,所述剩余迭代次数预算是指预先为所述码字分配的固定迭代次数与所述码字的当前实际迭代总次数的差值;其中,所述预先为所述码字分配的固定迭代次数大于或等于为所述码字中的每一码块预设的最大迭代次数的总和;
所述处理器,还用于至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数;其中,所述至少根据所述剩余迭代次数预算,确定待分配给当前码块的最大迭代次数,包括:根据所述剩余迭代次数预算和所述码字中待译码的码块数,确定平均剩余迭代次数;根据所述平均剩余迭代次数,或者,根据所述当前码块的前一码块的实际迭代次数和所述平均剩余迭代次数,确定待分配给当前码块的最大迭代次数;
译码器,用于根据所述当前码块的最大迭代次数,对所述当前码块进行迭代译码。
9.一种译码设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936368.4A CN112152636B (zh) | 2020-09-08 | 2020-09-08 | 译码方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936368.4A CN112152636B (zh) | 2020-09-08 | 2020-09-08 | 译码方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152636A CN112152636A (zh) | 2020-12-29 |
CN112152636B true CN112152636B (zh) | 2023-09-29 |
Family
ID=73889824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010936368.4A Active CN112152636B (zh) | 2020-09-08 | 2020-09-08 | 译码方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112152636B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411167B (zh) * | 2021-06-28 | 2022-07-19 | 展讯通信(上海)有限公司 | 译码方法及装置、可读存储介质、终端 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106380A (zh) * | 2006-07-13 | 2008-01-16 | 华为技术有限公司 | 一种ldpc码的迭代译码方法及装置 |
CN101442316A (zh) * | 2007-11-21 | 2009-05-27 | 中国科学院微电子研究所 | 动态调整最大迭代次数的奇偶校验码迭代译码方法 |
CN101465654A (zh) * | 2009-01-06 | 2009-06-24 | 中山大学 | 基于校验和错误模式的ldpc码的译码停止判决方法 |
CN102130747A (zh) * | 2011-04-29 | 2011-07-20 | 东南大学 | 一种长期演进系统的拓扑码传输块译码迭代的动态分配方法 |
CN102594368A (zh) * | 2012-02-29 | 2012-07-18 | 西安空间无线电技术研究所 | 一种最大迭代次数可变的ldpc译码方法和译码器 |
CN102832954A (zh) * | 2012-09-17 | 2012-12-19 | 华中科技大学 | 一种基于软信息平均最小值的Turbo码译码迭代停止方法 |
CN103780335A (zh) * | 2012-10-25 | 2014-05-07 | 华为技术有限公司 | 迭代译码的方法和装置 |
CN104009763A (zh) * | 2014-06-18 | 2014-08-27 | 电子科技大学 | 一种低复杂度ldpc码加权比特翻转译码算法提前停止方法 |
CN111355494A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 一种校验码的处理方法、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171367B2 (en) * | 2005-06-27 | 2012-05-01 | Thomson Licensing | Stopping criteria in iterative decoders |
US10419024B2 (en) * | 2017-05-26 | 2019-09-17 | SK Hynix Inc. | Early termination of low-density parity-check (LDPC) decoding |
-
2020
- 2020-09-08 CN CN202010936368.4A patent/CN112152636B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106380A (zh) * | 2006-07-13 | 2008-01-16 | 华为技术有限公司 | 一种ldpc码的迭代译码方法及装置 |
CN101442316A (zh) * | 2007-11-21 | 2009-05-27 | 中国科学院微电子研究所 | 动态调整最大迭代次数的奇偶校验码迭代译码方法 |
CN101465654A (zh) * | 2009-01-06 | 2009-06-24 | 中山大学 | 基于校验和错误模式的ldpc码的译码停止判决方法 |
CN102130747A (zh) * | 2011-04-29 | 2011-07-20 | 东南大学 | 一种长期演进系统的拓扑码传输块译码迭代的动态分配方法 |
CN102594368A (zh) * | 2012-02-29 | 2012-07-18 | 西安空间无线电技术研究所 | 一种最大迭代次数可变的ldpc译码方法和译码器 |
CN102832954A (zh) * | 2012-09-17 | 2012-12-19 | 华中科技大学 | 一种基于软信息平均最小值的Turbo码译码迭代停止方法 |
CN103780335A (zh) * | 2012-10-25 | 2014-05-07 | 华为技术有限公司 | 迭代译码的方法和装置 |
CN104009763A (zh) * | 2014-06-18 | 2014-08-27 | 电子科技大学 | 一种低复杂度ldpc码加权比特翻转译码算法提前停止方法 |
CN111355494A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 一种校验码的处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112152636A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9912504B2 (en) | System and method for multiple carrier transmission | |
US8595605B2 (en) | Systems and methods for memory management | |
US8787384B2 (en) | Pre-emptive acknowledgement for data transmission in a communication system | |
US8634763B2 (en) | Cooperative communications techniques | |
CN106899390B (zh) | 基于harq传输的方法、装置及系统 | |
RU2530319C2 (ru) | Способ и система увеличения пропускной способности протокола гибридного автоматического запроса на повторную предачу данных (harq) | |
US20160173237A1 (en) | Method for a first network node for transmitting or retransmitting data to a second network node and first network node thereof and method for a second network node for receiving data transmitted or retransmitted from a first network node and second network node thereof | |
EP2066063A1 (en) | Method and system for data transmission in a data network | |
JP2005027306A (ja) | 無線パケット・データ・システムでスケジューラ性能を改善する方法および装置 | |
US20110154145A1 (en) | Adaptive h-arq using outage capacity optimization | |
KR20190001128A (ko) | 효율적인 harq 운영을 위한 방법 및 장치 | |
WO2012173142A1 (ja) | 受信装置、周波数割当方法、制御プログラムおよび集積回路 | |
JP2020529179A (ja) | 方法及び装置 | |
US20160191198A1 (en) | System and method to increase link adaptation performance with multi-level feedback | |
US9847853B1 (en) | Method and apparatus for reduced HARQ buffer storage | |
JP7560446B2 (ja) | 端末、基地局、受信方法及び送信方法 | |
JPWO2010029764A1 (ja) | 無線通信装置及び誤り検出結果フィードバック方法 | |
CN103414543A (zh) | 一种调整harq缓存量的方法及终端 | |
CN110419183A (zh) | 使用ndi来部分清除软缓冲区 | |
CN112152636B (zh) | 译码方法及装置、设备、存储介质 | |
CN108076519A (zh) | 一种被用于低延迟的ue、基站中的方法和设备 | |
CN115347992A (zh) | 通信方法及装置 | |
CN113169824B (zh) | 一种数据译码方法及相关设备 | |
CN107733573A (zh) | 数据处理方法、装置及节点 | |
WO2018191863A1 (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 |