CN111669187A - 译码方法及装置、设备、存储介质 - Google Patents
译码方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN111669187A CN111669187A CN202010519599.5A CN202010519599A CN111669187A CN 111669187 A CN111669187 A CN 111669187A CN 202010519599 A CN202010519599 A CN 202010519599A CN 111669187 A CN111669187 A CN 111669187A
- Authority
- CN
- China
- Prior art keywords
- decoding
- check
- decoding result
- variable node
- state information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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/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
-
- 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/27—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 using interleaving techniques
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例公开了译码方法及装置、设备、存储介质,其中,所述方法包括:响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而再次进行判决译码,得到第二译码结果;比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
Description
技术领域
本申请实施例涉及通信技术,涉及但不限于译码方法及装置、设备、存储介质。
背景技术
低密度奇偶校验码(Low Density Parity Check,LDPC)因其良好的性能和成熟的相关技术,已成为多个通信协议中采用的信道编码方案。第三代合作伙伴计划(3rdGeneration Partnership Project,3GPP)标准选用准循环低密度奇偶校验码(Quasi-Cyclic LDPC,QC-LDPC)作为第五代(the Fifth Generation,5G)移动通信系统中增强无线宽带(Enhanced Mobile Broadband,eMBB)、超高可靠与低时延通信(Ultra-Reliable Low-Latency Communication,URLLC)等场景下数据信道的编码方案,并配有两种基图(basegraph)和数十种扩展因子(lift size)以满足不同服务对码率、码字长度等的不同需求。LDPC译码器的设计对基带芯片的通信性能有着重要的影响。
在接收端,数据信道译码器以码块为单位进行LDPC译码。基于消息传递(MessagePassing,MP)的置信传播(Belief Propagation,BP)算法是一种LDPC译码算法,其通过校验节点(check node)和变量节点(variable node)之间的消息传递,对信息比特和校验比特的后验信息进行迭代更新,直到算法收敛或达到预设的最大迭代次数。在该算法中,通过循环冗余校验码(Cyclic Redundancy Check Code,CRC)判定译码成功与否是一种简单而有效的方法。对于附加了CRC的信息比特序列,接收端可以根据已知的校验码生成多项式,判断译码后的信息比特的正确性。
通过CRC校验判定译码成功与否,可能会产生以下结果:CRC校验通过(即判定译码成功了),但是译码得到的信息比特序列与发送端真实发送的信息比特序列不同。通常将这类无法被检测的错误称为未检出的差错(Undetected Error,UE),其发生的概率称为未检出差错的概率(Undetected Error Probability,UEP)。
然而,在新空口(New Radio,NR)系统的物理下行链路共享信道(PhysicalDownlink Shared Channel,PDSCH)中,LDPC译码的UEP不能达到可以忽略不计的量级。而UEP对通信系统的伤害较大,因为一旦发生未检出的差错,就会导致物理层将错误的译码结果上报给上层应用,这样可能引起更多的资源浪费和更长的通信时延,从而对NR系统的实际性能产生负面影响。
发明内容
本申请实施例提供的译码方法及装置、设备、存储介质是这样实现的:
本申请实施例提供的译码方法,包括:响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而再次进行判决译码,得到第二译码结果;比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
本申请实施例提供的译码装置,包括:确定模块,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;判决模块,用于对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;更新模块,用于在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而再次进行判决译码,得到第二译码结果;比较模块,用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
本申请实施例提供的硬件加速器,包括:变量节点处理器,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;判决电路,用于对所述变量节点处理器确定的每一所述变量节点的状态信息进行判决译码,得到第一译码结果;所述变量节点处理器,还用于在校验电路输出所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而触发所述判决电路再次进行判决译码,得到第二译码结果;所述变量节点处理器,还用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
本申请实施例提供的译码设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例任一所述的方法。
本申请实施例提供的另一译码设备,包括:输入接口电路,用于获取待译码信息;逻辑电路,用于基于获取的待译码信息执行本申请实施例任一所述的方法,得到译码结果;输出接口电路,用于输出译码结果。
本申请实施例提供的芯片,包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行本申请实施例任一所述的方法。
本申请实施例提供的芯片,包括:输入接口电路,用于获取待译码信息;逻辑电路,用于基于获取的待译码信息执行本申请实施例任一所述的方法,得到译码结果;输出接口电路,用于输出译码结果。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现本申请实施例任一项所述的方法。
在本申请实施例中,在当次迭代译码过程中,对每一变量节点的当前状态信息进行判决译码,得到第一译码结果;然后,对第一译码结果进行校验;此时,即使校验通过,也不宣告译码成功,而是再次对第一译码结果进行判定,即对变量节点的更新状态信息进行判决译码,得到第二译码结果;通过比较第一译码结果与第二译码结果,从而确定是否宣告译码成功;如此,可以提高译码可靠性,降低未检出的差错发生的概率,即降低UEP,进而改善通信性能。
附图说明
图1为常用的无线通信的基本流程示意图;
图2为本申请实施例可能适用的一种网络架构示意图;
图3为校验矩阵H对应的Tanner图;
图4为本申请实施例译码方法的实现流程示意图;
图5A为本申请实施例另一译码方法的实现流程示意图;
图5B为LDPC的码结构示意图;
图6为本申请实施例译码方法的实现流程示意图;
图7为基于置信传播的分层LDPC译码算法的实现流程示意图;
图8为一种可用于QC-LDPC译码的译码器架构实现示意图;
图9为本申请实施例再一译码方法的实现流程示意图;
图10A为本申请实施例译码装置的结构示意图;
图10B为本申请实施例另一译码装置的结构示意图;
图11为本申请实施例硬件加速器的结构示意图;
图12本申请实施例译码设备的一种硬件实体示意图;
图13本申请实施例译码设备的另一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例的技术方案可以应用第四代移动通信系统(the 4th generationmobile communication system,4G)、5G NR系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:窄带物联网(Narrow Band-Internet of Things,NB-IoT)系统、全球移动通讯系统(Global System of Mobilecommunication,GSM)、增强型数据速率GSM演进(Enhanced Data rate for GSM Evolution,EDGE)系统、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)系统、码分多址2000(Code Division MultipleAccess,CDMA2000)系统、时分同步码分多址(Time Division-Synchronization CodeDivision Multiple Access,TD-SCDMA)系统、通用分组无线业务(General Packet RadioService,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(FrequencyDivision Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)或通用移动通信系统(Universal Mobile Telecommunication System,UMTS)等。
图1为常用的无线通信的基本流程示意图,如图1所示,在发送端,信源依次经过信源编码、信道编码和数字调制后发出。在接收端,依次经过数字解调、信道译码和信源解码输出信宿。信道编码可以采用极化码(Polar)、低密度奇偶校验码(Low-Density Parity-Check,LDPC)。而在信道译码的时候,可以采用基于消息传递(message passing)的置信传播(Belief Propagation)译码算法、串行抵消译码(Successive Cancellationdecoding,SC)算法、串行抵消列表译码(Successive Cancellation decoding,SCL)算法等。
图2示出了本申请实施例可能适用的一种网络架构。如图2所示,本实施例提供的网络架构包括:网络设备201和终端202。本申请实施例所涉及到的终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户终端设备(terminal device)或移动台(MobileStation,MS)等等。本申请实施例所涉及到的网络设备是一种部署在无线接入网中用以为终端提供无线通信功能的设备。在本申请实施例中,该网络设备例如可以为图2所示的基站,该基站可以包括各种形式的宏基站、微基站、中继站或接入点等等。
本申请实施例提供的译码方法,可以应用在网络设备与终端之间的信息交互过程中,编码侧,即发送端既可以是网络设备也可以是终端;与之相应的,译码侧,即接收端既可以是终端也可以是网络设备。可选的,该方法也可以应用在终端之间的信息交互过程中,即发送端和接收端为两个不同的终端,对此本申请实施例不做限制。
首先,对涉及的LDPC码的变量节点和校验节点做一简单的介绍。LDPC码是一种分组码,但是LDPC码与其他线性分组码不同的是,LDCP码是由校验矩阵来表征的。LDPC码的校验矩阵是一种稀疏矩阵,码长为n,信息序列长度为k。LDPC码可以由其校验矩阵H确定,也可以由校验矩阵H对应的Tanner图定义。如下式(1)所示,为一LDPC码的校验矩阵H的示例:
相应地,图3为该矩阵H对应的Tanner图。如图3所示,每个圆形节点为变量节点,代表该矩阵H中的一列。每个方形节点为校验节点,代表该矩阵H中的一行。每条连接校验节点和变量节点的边代表这两个节点所对应的行与列交汇的位置存在一个非零元素。
本申请实施例提供一种译码方法,图4为本申请实施例译码方法的实现流程示意图,如图4所示,所述方法可以包括以下步骤401至步骤404:
步骤401,响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数。
对于变量节点的状态信息可以是多种多样的,所述状态信息为后验概率或对数似然比等。在一些实施例中,接收端可以将解调器输出的软比特的后验信息和校验比特的后验信息,作为变量节点的初始状态信息。在进行迭代译码时,接收端可以通过校验节点与变量节点之间的双向消息传递,实现变量节点的状态更新。例如,接收端可以通过如下实施例的步骤501和步骤502实现上述步骤401。
步骤402,对每一所述变量节点的状态信息进行判决译码,得到第一译码结果。
接收端可以对每一变量节点的后验信息进行硬判决,从而得到第一译码结果。当然,接收端还可以通过其他判决方式实现判决译码。
步骤403,在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而再次进行判决译码,得到第二译码结果。
在一些实施例中,接收端可以对第一译码结果进行CRC校验,校验成功,则认为校验通过,此时更新变量节点的状态信息;然后,对每一变量节点的更新后的状态信息进行判决译码。对于校验失败,即校验未通过、且i小于终止迭代次数的情况,接收端在更新变量节点的状态信息之后,返回进行下一次迭代译码;除此之外,在校验失败时,也即校验未通过时,接收端还可以采用如下实施例的步骤609至步骤612。在一些实施例中,校验未通过、且i等于终止迭代次数,则终止迭代,宣告译码失败。终止迭代次数可以是预设的最大迭代次数。
步骤404,比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
在一些实施例中,第一译码结果与第二译码结果相同,则确定译码成功,此时终止迭代,输出译码结果;若两个译码结果不同,且i小于终止迭代次数,则接收端可以返回进行下一次迭代译码,也可以通过如下实施例步骤511至步骤513,确定是否提前终止迭代。所谓终止迭代次数,可以是预设的最大迭代次数。若两个译码结果不同,且i等于终止迭代次数,则终止迭代,宣告译码失败。
在本申请实施例中,在当次迭代译码过程中,对每一变量节点的当前状态信息进行判决译码,得到第一译码结果;然后,对第一译码结果进行校验;此时,即使校验通过,也不宣告译码成功,而是再次对第一译码结果进行判定,即对变量节点的更新状态信息进行判决译码,得到第二译码结果;通过比较第一译码结果与第二译码结果,从而是否宣告译码成功;如此,可以提高译码可靠性,降低未检出的差错发生的概率,即降低UEP,进而改善通信性能。
本申请实施例再提供一种译码方法,图5A为本申请实施例另一译码方法的实现流程示意图,如图5A所示,所述方法可以包括以下步骤501至步骤513:
步骤501,响应于执行第i次迭代译码,确定校验矩阵对应的稀疏校验节点的起始组。
稀疏校验节点的起始组与校验码的结构有关。比如,LDPC的码结构如图5B所示,该结构的第五组奇偶校验节点即为稀疏校验节点的起始组。其中矩阵C为零矩阵,矩阵E为单位矩阵,矩阵B为双对角矩阵,矩阵D为稀疏矩阵。稀疏校验节点对应于零矩阵C和单位矩阵E。
步骤502,从所述起始组的校验节点开始进行消息传递,直至所述校验矩阵对应的最后一组稀疏校验节点,结束所述消息传递,以得到至少一个所述变量节点的状态信息。
步骤503,对每一所述变量节点的状态信息进行判决译码,得到第一译码结果。
在本申请实施例中,用于判决译码的状态信息是通过处理稀疏校验节点得到的,而不是处理校验矩阵的每一校验节点;这样,处理的校验节点少了,对于判决译码来讲,涉及奇偶校验等式也少了,相应的计算量也随之减少,从而能够缩短本次判决译码的延时,进而能够降低通信时延。
步骤504,对所述第一译码结果进行校验;如果校验通过,执行步骤506;如果校验未通过,且i小于终止迭代次数,执行步骤505。
在一些实施例中,如果校验未通过,且i等于终止迭代次数,则终止迭代,宣告译码失败。终止迭代次数可以是预设的最大迭代次数。
步骤505,更新每一所述变量节点的状态信息,i+1,返回执行步骤501,即响应于执行第i+1次迭代译码。
在一些实施例中,接收端可以对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息,从而实现步骤505中状态信息的更新。非扩展性校验比特,例如对应于图5B中的矩阵B(双对角矩阵)和矩阵D(稀疏矩阵)的一部分。
在一些实施例中,电子设备还可以在第一译码结果校验未通过、且i小于终止迭代次数时,先不返回响应于执行第i+1次迭代译码的步骤,而是对每一所述变量节点的更新后的状态信息,再次进行判决译码,得到第三译码结果;对所述第三译码结果进行校验,以确定译码是否成功。即,校验通过,则确定译码成功;否则,再返回响应于执行第i+1次迭代译码的步骤。这样,可以降低虚警率。
步骤506,对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息。
需要说明的是,在本申请实施例中,接收端可以通过步骤506实现所述更新每一所述变量节点的状态信息的步骤。
通过分析得出,校验矩阵对应的稀疏校验节点相比于非稀疏校验节点,即起始组之前的N组校验节点,在编码中的参与度更高。因此,非稀疏校验节点的正确性对于判决译码来说更为重要。基于此,在本申请实施例中,在得到第一译码结果之后,利用所述N组校验节点进行消息传递,以通过如下步骤507得到第二译码结果;根据第二译码结果来判定第一译码结果是否正确,如此获得的判定结果具有较高的可靠性,从而能够降低UEP,进而改善通信系统性能,减少接收端的计算资源浪费和缩短通信时延。
并且,更新信息比特和非扩展性校验比特对应的变量节点的状态信息,而不是更新全部信息比特和全部校验比特对应的变量节点的状态信息,这样可以减小消息传递的计算量,同时也可以减小判决译码的计算量,进而缩短译码迭代延时。
步骤507,对每一所述变量节点的更新后的状态信息进行判决译码,得到第二译码结果;
步骤508,确定所述第一译码结果与所述第二译码结果是否相同;如果相同,则执行步骤509;否则,执行步骤510;
步骤509,确定译码成功,终止迭代,输出当次迭代得到的译码结果。
在本申请实施例中,对第一译码结果进行校验;校验通过,不立即宣告译码成功,也不输出译码结果,而是通过另一种方式判定第一译码结果是否正确。当第一译码结果与第二译码结果相同时,则确定译码成功,此时再输出译码结果。如此,能够降低译码判决的UEP,进而减少因上报错误的译码结果给上层应用而导致的资源浪费和通信时延,改善通信系统的性能。
步骤510,确定所述i是否小于终止迭代次数;如果是,执行步骤511;否则,执行步骤513。
在一些实施例中,如果所述i小于终止迭代次数,接收端可以返回执行步骤501,只是此时响应的是执行第i+1次迭代译码。在另一些实施例中,如果i小于终止迭代次数,接收端也可以先不返回响应于执行第i+1次迭代译码的步骤,而是根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。例如,电子设备可以通过如下步骤511至步骤513实现,以确定是否终止迭代。
步骤511,确定所述不同比特数目相比于历次迭代确定的不同比特数目的变化情况;
步骤512,确定所述变化情况是否满足特定条件;如果是,i+1,返回步骤501,以响应于执行第i+1次迭代译码;否则,执行步骤513;
对于历次不做限定,所述历次迭代可以是第i次之前的任一次,例如第i-1次迭代或第i-2次迭代等。在一些实施例中,所述变化情况可以是:当次迭代确定的不同比特数目相比于第i-1次迭代确定的不同比特数目所减少的个数,如果该个数小于特定阈值,则确定该变化情况满足特定条件;反之,则不满足。
如此,即使i小于终止迭代次数,如果所述变化情况不满足特定条件,也可以提前终止迭代,从而减少不必要的迭代计算,节省译码时间和译码器的功率消耗。
步骤513,终止迭代,宣告译码失败。
在本申请实施例中,即使第一译码结果与第二译码结果不同,接收端此时可以不立即返回响应于执行第i+1次迭代译码的步骤,而是在i小于终止迭代次数的情况下,进一步通过上述步骤511至步骤513确定是提前终止迭代还是继续进行迭代译码;如此,能够大大减少不必要的迭代计算,从而节省译码时间和译码器的功率消耗,进而缩短通信时延,改善通信系统性能。
本申请实施例提供一种译码方法,图6为本申请实施例译码方法的实现流程示意图,如图6所示,所述方法可以包括以下步骤601至步骤612:
步骤601,响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数。
在一些实施例中,接收端可以从校验矩阵对应的稀疏校验节点的起始组开始进行消息传递,直至校验矩阵对应的最后一组的稀疏校验节点,结束所述消息传递,得到每一变量节点的状态信息。相应地,对于以下步骤604和步骤609,更新每一所述变量节点的状态信息,接收端可以对所述起始组之前的N组校验节点进行消息传递,以更新每一变量节点的状态信息。
需要说明的是,这里的变量节点可以是校验矩阵对应的全部或部分节点。是部分节点时,例如可以是信息比特和非扩展性校验比特对应的变量节点。这样,可以减小消息传递的计算量,同时还可以减小判决译码的计算量,从而能够缩短迭代译码的延时,进而缩短通信时延。
步骤602,对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
步骤603,对所述第一译码结果进行校验;如果校验通过,执行步骤604;否则,执行步骤607;
步骤604,更新每一所述变量节点的状态信息,然后执行步骤605;
步骤605,对每一所述变量节点的更新后的状态信息进行译码判决,得到第二译码结果;
步骤606,比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
在一些实施例中,如果第一译码结果与第二译码结果相同,则确定译码成功;否则,如果i小于终止迭代次数,i+1,返回步骤601,以响应于执行第i+1次迭代译码,或者,根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。例如,通过上述实施例的步骤511至步骤513确定是否终止迭代。
在另一些实施例中,如果第一译码结果与第二译码结果不同,且i等于终止迭代次数,则终止迭代,宣告译码失败。
步骤607,确定i是否小于终止迭代次数;如果是,执行步骤609;否则,执行步骤608;
步骤608,终止迭代,宣告译码失败;
步骤609,更新每一所述变量节点的状态信息;然后执行步骤610;
步骤610,对每一所述变量节点的更新后的状态信息,再次进行判决译码,得到第三译码结果;
步骤611,对所述第三译码结果进行校验;如果校验通过,执行步骤612;否则,i+1,返回执行步骤601,以响应于执行第i+1次迭代译码。
这里的校验方式可以与第一译码结果的校验方式相同,例如,通过CRC对译码结果进行校验。
步骤612,确定译码成功,输出第三译码结果。
可以理解地,对第一译码结果进行校验,这一过程可能会产生以下结果:校验未通过,但译码得到的信息比特序列与发送端真实发送的信息比特序列相同。这种情况称为虚假警报(false alarm),其发生的概率称为虚警率(False Alarm Probability,FAP)。而虚假警报会导致数据重传或者增加迭代次数,数据重传会增加通信时延和浪费信道资源;增加迭代次数,随之就会增加通信时延。显然,较高的虚警率对通信系统性能会产生负面影响。
在本申请实施例中,即使第一译码结果未通过校验,在i小于终止迭代次数的情况下,可以对每一变量节点的更新后的状态信息,再次进行判决译码,得到第三译码结果;然后,对第三译码结果进行校验,校验通过,则宣告译码成功,输出第三译码结果;如此,可以降低虚警率,从而缩短通信时延和减少信道资源的浪费,使通信系统得到改善。
在对数据信道的原始信息比特进行编码前,根据比特序列的长度,协议规定了在其末尾添加16位或24位的循环冗余校验码(Cyclic Redundancy Check Code,CRC),以便接收端检测信息比特的正确性。这一校验码被称为传输块校验码(transport block CRC)。在此基础上,如果得到的比特序列较长,它将被切分为若干个等长的码块,每个码块的末尾须再添加24位的循环冗余校验码,即码块校验码(codeblock CRC)。对于不同大小的传输块或码块,相同的循环冗余校验码提供的保护强度是不同的。一般来说,传输块或码块包含的信息序列越长,校验码的最小海明距离就越短,它对信息序列的保护也就越弱。
在接收端,数据信道译码器以码块为单位进行LDPC译码。基于消息传递(MessagePassing,MP)的置信传播(Belief Propagation,BP)算法是一种LDPC译码算法,其通过校验节点(check node)和变量节点(variable node)之间的消息传递,对信息比特和校验比特的后验信息进行迭代更新,直到算法收敛或达到预设的最大迭代次数。在该算法中,判定译码成功与否的传统标准是:对信息比特和校验比特的后验概率或对数似然比进行硬判决;然后,计算每个奇偶校验等式是否都成立;如果所有奇偶校验等式都成立,则算法判定译码成功,退出迭代;如果迭代次数达到预设的最大迭代次数后,仍有奇偶校验等式不成立,则算法判定译码失败,退出迭代。
这种方法可靠性高,但是实际步骤相对复杂,需要将全部变量节点的信息传递到校验节点才能进行计算,一定程度上增加了译码器的功耗和处理时延。当原始信息序列带有CRC时,可以直接使用CRC判定译码是否成功。这种方法无需额外的信息传递且无需处理校验比特,而且能够减少译码器的平均迭代次数,是接收端译码器实现中的常用方法。下文将详细介绍使用CRC获得判定译码结果的优缺点。
图7为基于置信传播的分层LDPC译码算法的实现流程示意图,如图7所示,包括如下步骤701至步骤703:
步骤701,将接收信息比特和校验比特的信道后验概率信息(a posteriorprobabilit,APP)作为输入,用于变量节点至校验节点的消息初始化。
在该算法中,采用在每一次迭代中依次处理每一个校验节点的静态调度方法。
步骤702,可以根据最小和(min-sum),和积(sum-product)等原则,对校验节点和变量节点进行消息更新。
在分层译码算法中,处理完每一层校验节点后都将进行变量节点的消息更新,这使得下一层校验节点能及时得到最新的变量节点状态。
步骤703,一次迭代结束后,对变量节点的状态信息进行硬判决;然后,将其应用于判定终止条件是否满足的相关计算;如果满足,则输出最后一次迭代得到的译码结果;否则,返回执行下一次迭代译码。
图8为一种可用于QC-LDPC译码的译码器架构实现示意图,如图8所示,包括:校验节点信息存储器(check node state memory,C-MEM)、校验节点处理器、组内循环移位和路由、变量节点信息存储器(variable node state memory,V-MEM)、码字配置模块、迭代控制模块和硬判决模块。
其中,变量节点的状态信息,也就是信息比特和校验比特的后验信息,被存放在V-MEM中。在处理每一层校验节点时,需从V-MEM中读出相关的若干组变量节点的状态信息,经过组内循环移位和路由传送至相应的校验节点处理器进行消息更新。
C-MEM中存放的则是用于生成校验节点至变量节点消息的信息。奇偶校验矩阵和循环移位信息由码字配置模块提供,译码过程的结束由迭代控制模块指示。如果根据奇偶校验等式是否成立判定译码成功与否,首先需要对全部信息比特和校验比特对应的变量节点进行硬判决;然后,对于每一层校验节点,找到与之相关的变量节点对应的硬比特,将这些硬比特在循环移位和路由之后进行模2加和。然而,这一过程将消耗相当多的功率,并大大增加了译码时延。
需要指出的是,尽管上述方法的可靠性很高,但是,基于奇偶校验的译码成功判定方法也并不是绝对正确的,在算法迭代过程中仍有几率产生错误但合法的码字。
通过CRC判定译码结果是一种简单而有效的方法。一方面,CRC检验是译码结束前必不可少的步骤;另一方面,CRC检验直接作用于对信息比特的硬判决结果,不需要经过比特循环移位和路由传递信息,节省了判断过程的功率和时间消耗。
对于附加了CRC的信息比特序列,接收端可以根据已知的校验码生成多项式,判断译码后的信息比特的正确性。这一过程可能产生以下三种结果:
一、CRC判定结果与真实情况相符,即译码得到的信息比特序列正确且CRC校验成功,或者,译码得到的信息比特序列有错误且CRC校验失败;
二、CRC校验成功,但译码得到的信息比特序列与真实发送的信息比特序列不同。这类无法被检测的错误称为未检出的差错(Undetected Error,UE),其发生概率称为未检出差错的概率(Undetected Error Probability,UEP);
三、CRC校验失败,但译码得到的信息比特序列是正确的。这种情况称为虚假警报,其发生的概率称为虚警率(False Alarm Probability,FAP)。
其中,UEP对通信系统的伤害较大,因为物理层将作出接收到正确数据的反馈,会导致错误的译码结果传播到上层应用,可能引起更多的资源浪费和更长的通信时延。例如,物理层将错误的译码结果上报给上层应用,上层应用对该译码结果的正确性进行校验,这样就会造成计算资源的浪费;而且,当上层应用检测到该译码结果错误时,可能会触发数据重传等,这样就引起了更长的通信时延。这是因为,本应该在物理层检测出该译码结果是错误的,从而触发数据重传,却在应用层通过复杂的运算确定该译码结果是错误的,显然,这样导致了数据重传的触发时机延迟,从而增加了通信时延。
在新空口(New Radio,NR)系统的物理下行链路共享信道(Physical DownlinkShared Channel,PDSCH)中,如果原始载荷数据的长度超过3824比特,协议规定使用一个24位的循环冗余校验码进行错误检测;否则,使用一个16位的循环冗余校验码。理论计算和系统仿真均指出,在这一数据长度范围内,16位CRC的UEP不能达到可以忽略不计的量级。在LDPC译码过程中,如果仅依靠CRC校验来决定算法是否应该终止,则有一定概率出现误判的情况,对NR系统的实际性能产生负面影响。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
根据协议的规定,NR PDSCH中使用的LDPC基图的结构如图5B所示,其中横向上的数字表示的是列数,纵向上的数字表示的是行数。将校验矩阵的前四组校验比特称为非扩展性校验比特,其余称为扩展性校验比特。扩展性校验比特对应于图5B中的矩阵C(即零矩阵)和矩阵E(即单位矩阵),也就是说它们与前四组奇偶校验等式无关,在后续奇偶校验等式中仅与其中一组相关。非扩展性校验比特对应于图5B中的矩阵B(即双对角矩阵)和矩阵D(即稀疏矩阵)的一部分。
通过分析图5B所示的这种码字结构,可以看出,相比于扩展性校验比特,非扩展性校验比特在编码中的参与度更高,其正确性对译码判决来说更为重要。基于此,本申请实施例提供如下译码判决方法。
在置信传播算法的每一次迭代中,通常的做法是,按照校验矩阵的行次序依次处理每一组奇偶校验节点。
而在本申请实施例中,如图9所示,译码方法可以包括以下步骤901至步骤907:
步骤901,从第五组奇偶校验节点开始进行消息传递,按照校验矩阵的行次序直至最后一组活跃的校验节点,结束所述消息传递,从而得到信息比特和非扩展性校验比特对应的变量节点的状态信息。
需要说明的是,所谓活跃的校验节点,是指与当前码字相关的校验节点的集合。当码率较高时,部分校验节点不会参与实际编码,称之为不活跃。而参与实际编码的校验节点称为活跃的校验节点。
步骤902,对信息比特和非扩展性校验比特对应的变量节点的状态信息进行硬判决译码,得到第一译码结果;
步骤903,对该第一译码结果进行CRC校验;如果校验失败,执行步骤904;如果校验成功,不立即退出迭代,而是执行步骤905
步骤904,处理前四组奇偶校验节点,以更新变量节点的状态信息;然后,进入下一次迭代;
步骤905,仍然处理前四组奇偶校验节点,以更新变量节点的状态信息;然后执行步骤906。
步骤906,再次对信息比特和非扩展性校验比特对应的变量节点的新状态信息进行硬判决译码,得到第二译码结果;
步骤907,记录第二译码结果相比第一译码结果是否有比特变化;如果有变化,则执行步骤908;如果没有变化,则执行步骤909;
步骤908,重置CRC校验成功的标记,以触发继续迭代;
步骤909,终止迭代,宣告译码成功。
对于上述方法,在实现时,例如以下说明性算法所示出的:
按照上述判决过程,要求在宣告译码成功之前,处理前四组校验节点不会改变信息比特和非扩展性校验比特的硬判决结果,这在一定程度上能够反映译码算法的收敛。以一个原始载荷数据长度为3200比特,码率为0.5作为一个例子,对该数据进行编码和译码,分别通过基于CRC的译码判决方法(以下称为方法1)和本申请实施例提供的改进的译码判决方法(以下称为方法2)进行仿真,其中,最大迭代次数设为20,仿真重复次数为100000。通过仿真结果发现,通过方法2获得的UEP的值为0,而在同等信噪比的前提下,方法1获得的UEP的值远远大于0。例如,在信噪比为-3dB的场景下,方法1获得的UEP值为4.5×10-4,而方法2获得的UEP值为0;再比如,在信噪比为-1dB的场景下,方法1获得的UEP值为1.3×10-4,而方法2获得的UEP值依然为0。由此可以看出,本申请实施例提供的改进的译码判决方法极大程度上解决了CRC判决可靠性不足的问题。
仍然以一个原始载荷数据长度为3200,码率为0.5作为一个例子,对该数据进行编码和译码,分别通过上述方法1和方法2进行仿真,其中,最大迭代次数设为20,仿真重复次数为100000。通过仿真结果发现,由于方法2消除了CRC误校验的情况,所以在误码率性能上相比于方法1有了提升。例如,在信噪比为-1.6dB的场景下,方法1获得的块误码率(BLockError Rate,BLER)的值在10-2至10-3范围内,而方法2获得的UEP值在在10-3至10-4范围内,可见二者获得的块误码率相差一个量集。同时在较高信噪比区域平均迭代次数增加了大约一次。因为在这一区域的译码延时普遍较短,增加一次迭代较大可能并不会影响系统的时序安排。
本申请实施例所提供的NR LDPC译码是否成功的判决方法,具有简单、有效的特点。在置信传播算法的每一次迭代中,对信息比特和非扩展性校验比特进行硬判决,然后做一次CRC校验。如果校验成功,则需增加一次硬判决操作。相比完全基于CRC校验的判决方法,这一方案在硬件上的增加仅有做二次硬判决时,需要能够对前后两次的判决结果进行比较。相比基于奇偶校验等式的判决方法,这一方案的延时和功率消耗更低;同时,在每一次迭代中,因为无需对扩展校验比特进行硬判决而无需对这些变量节点状态进行更新,进一步降低了译码器的功耗。通过这种简单、低成本的实现方案,NR LDPC译码中CRC误判的情况得到了极大的改善。
总而言之,本申请实施例所提供的NR LDPC译码算法中判定译码成功的方法具有如下几个改进点:
一、不依赖于单一的判决方法,如奇偶校验等式或循环冗余校验码,而是通过考察循环冗余校验码和硬比特变化相结合的方式,判定译码成功与否;
二、根据NR LDPC码字的结构特点,提出了将校验节点分为两部分进行处理的方式。其中一部分校验节点对应于校验矩阵中稀疏的部分,处理完成后检验CRC是否正确;另一部分校验节点仅涉及信息比特和非扩展性校验比特,与扩展性校验比特无关,在CRC校验成功后,通过处理这部分校验节点,考察硬比特是否发生变化,从而判断算法是否已经收敛。在这种方案下,排除CRC误判的延时大大少于一次迭代所需时间。
三、判定方法不涉及奇偶校验等式的计算,因此无需对扩展性校验比特对应的变量节点进行状态更新。
需要说明的是,通过考察硬比特在迭代过程中的变化情况判断译码算法是否收敛,这一方法也可用于提前判决译码失败的情况。例如,在经过若干次迭代后,在一次迭代中发生变化的硬比特数目仍然没有明显减少,则可以提前判断算法无法收敛,译码失败。这样,如果能够恰当地设置门限参数和考察硬比特变化的统计信息,这种方法可能以微小的纠错性能损失为代价,大大减少不必要的迭代计算,从而节省译码时间和译码器功率消耗。
基于前述的实施例,本申请实施例提供一种译码装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过接收设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图10A为本申请实施例译码装置的结构示意图,如图10A所示,所述装置100包括确定模块101、判决模块102、更新模块103和比较模块104,其中:
确定模块101,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;
判决模块102,用于对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
更新模块103,用于在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而触发判决模块102再次进行判决译码,得到第二译码结果;
比较模块104,用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
在一些实施例中,确定模块101,用于:确定校验矩阵对应的稀疏校验节点的起始组;从所述起始组的校验节点开始进行消息传递,直至所述校验矩阵对应的最后一组的稀疏校验节点,结束所述消息传递,以得到至少一个所述变量节点的状态信息。
在一些实施例中,更新模块103,用于:对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息。
在一些实施例中,如图10B所示,所述装置100还包括校验模块105;其中,更新模块103,还用于:在所述第一译码结果校验未通过、且所述i小于终止迭代次数的情况下,更新每一所述变量节点的状态信息;然后触发确定模块101响应于执行第i+1次迭代译码,或者,触发判决模块102对每一所述变量节点的更新后的状态信息,再次进行判决译码,得到第三译码结果;校验模块105,用于对所述第三译码结果进行校验,以确定译码是否成功。
在一些实施例中,校验模块105,用于:对所述第三译码结果进行校验;在校验通过的情况下,确定译码成功;在校验未通过的情况下,触发确定模块101响应于执行第i+1次迭代译码。
在一些实施例中,比较模块104,用于:如果所述第一译码结果与所述第二译码结果相同,确定译码成功;如果所述第一译码结果与所述第二译码结果不同、且所述i小于终止迭代次数,根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。
在一些实施例中,比较模块104,用于:确定所述不同比特数目相比于历次迭代确定的不同比特数目的变化情况;如果所述变化情况不满足特定条件,确定译码失败,从而终止迭代;如果所述变化情况满足所述特定条件,响应于执行第i+1次迭代译码。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图10A和图10B所示的译码装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。例如该译码装置为一硬件加速器,图11为本申请实施例提供的硬件加速器的结构示意图,如图11所示,硬件加速器110可以包括:变量节点处理器111、判决电路112和校验电路113;其中,
变量节点处理器111,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;
判决电路112,用于对变量节点处理器111确定的每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
变量节点处理器111,还用于在校验电路113输出所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而触发所述判决电路112再次进行判决译码,得到第二译码结果;
变量节点处理器111,还用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
在一些实施例中,变量节点处理器111可以通过执行以下步骤确定变量节点的状态信息:确定校验矩阵对应的稀疏校验节点的起始组;从所述起始组的校验节点开始进行消息传递,直至所述校验矩阵对应的最后一组稀疏校验节点,结束所述消息传递,以得到至少一个所述变量节点的状态信息。
在一些实施例中,变量节点处理器111可以通过执行以下步骤更新每一所述变量节点的状态信息:对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息。
在一些实施例中,变量节点处理器111还可以用于:在所述第一译码结果校验未通过、且所述i小于终止迭代次数的情况下,更新每一所述变量节点的状态信息;响应于执行第i+1次迭代译码,或者,对每一所述变量节点的更新后的状态信息,再次触发判决电路112进行判决译码,得到第三译码结果;判决电路112触发校验电路113对所述第三译码结果进行校验,以确定译码是否成功。
在一些实施例中,校验电路113可以通过执行以下步骤对所述第三译码结果进行校验,以确定译码是否成功,包括:对所述第三译码结果进行校验;在校验通过的情况下,输出译码成功的信号;在校验未通过的情况下,触发变量节点处理器111响应于执行第i+1次迭代译码。
在一些实施例中,变量节点处理器111可以通过执行以下步骤确定译码是否成功:
如果所述第一译码结果与所述第二译码结果相同,确定译码成功;如果所述第一译码结果与所述第二译码结果不同、且所述i小于终止迭代次数,根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。
在一些实施例中,变量节点处理器111可以通过执行以下步骤确定是否终止迭代:确定所述不同比特数目相比于历次迭代确定的不同比特数目的变化情况;如果所述变化情况不满足特定条件,确定译码失败,从而终止迭代;
如果所述变化情况满足所述特定条件,触发变量节点处理器111响应于执行第i+1次迭代译码。
基于上述实施例提供的译码方法的同一发明构思,如图12所示,本申请实施例中还提供一种译码设备1200,该译码设备1200用于执行上述实施例提供的译码方法。上述实施例提供的译码方法中的部分或全部可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,译码设备1200包括:输入接口电路1201,用于获取待译码信息;逻辑电路1202,用于执行上述实施例提供的译码方法;输出接口电路1203,用于输出译码结果。
当上述实施例提供的译码方法中的部分或全部通过软件来实现时,如图13所示,译码设备1300包括:存储器1301,用于存储程序;处理器1302,用于执行存储器1301存储的程序,当程序被执行时,使得译码设备1300可以实现上述实施例提供的译码方法。
译码设备1200或1300在具体实现时可以是芯片或者集成电路。上述存储器1301可以是物理上独立的单元,也可以与处理器1302集成在一起。
当上述实施例提供的译码方法中的部分或全部通过软件实现时,译码设备1300也可以只包括处理器1302。用于存储程序的存储器1301位于译码设备1300之外,处理器1302通过电路/电线与存储器1301连接,用于读取并执行存储器1301中存储的程序。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的译码方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得接收设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的译码方法中的步骤。
本申请实施例提供的任一种译码设备还可以是一种芯片。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的译码方法。
这里需要指出的是:以上硬件加速器、存储介质、芯片和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请硬件加速器、存储介质、芯片和终端设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得接收设备(执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.译码方法,其特征在于,所述方法包括:
响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;
对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而再次进行判决译码,得到第二译码结果;
比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
2.根据权利要求1所述的方法,其特征在于,所述确定变量节点的状态信息,包括:
确定校验矩阵对应的稀疏校验节点的起始组;
从所述起始组的校验节点开始进行消息传递,直至所述校验矩阵对应的最后一组稀疏校验节点,结束所述消息传递,以得到至少一个所述变量节点的状态信息。
3.根据权利要求2所述的方法,其特征在于,所述更新每一所述变量节点的状态信息,包括:
对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
在所述第一译码结果校验未通过、且所述i小于终止迭代次数的情况下,更新每一所述变量节点的状态信息;
响应于执行第i+1次迭代译码,或者,对每一所述变量节点的更新后的状态信息,再次进行判决译码,得到第三译码结果;
对所述第三译码结果进行校验,以确定译码是否成功。
5.根据权利要求4所述的方法,其特征在于,所述对所述第三译码结果进行校验,以确定译码是否成功,包括:
对所述第三译码结果进行校验;
在校验通过的情况下,确定译码成功;
在校验未通过的情况下,响应于执行第i+1次迭代译码。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述比较所述第一译码结果与所述第二译码结果,以确定译码是否成功,包括:
如果所述第一译码结果与所述第二译码结果相同,确定译码成功;
如果所述第一译码结果与所述第二译码结果不同、且所述i小于终止迭代次数,根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代,包括:
确定所述不同比特数目相比于历次迭代确定的不同比特数目的变化情况;
如果所述变化情况不满足特定条件,确定译码失败,从而终止迭代;
如果所述变化情况满足所述特定条件,响应于执行第i+1次迭代译码。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述变量节点对应的校验矩阵用于表征低密度奇偶校验码LDPC码。
9.译码装置,其特征在于,包括:
确定模块,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;
判决模块,用于对每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
更新模块,用于在所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而触发所述判决模块再次进行判决译码,得到第二译码结果;
比较模块,用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
10.硬件加速器,其特征在于,包括:
变量节点处理器,用于响应于执行第i次迭代译码,确定变量节点的状态信息;其中,i为大于0的整数;
判决电路,用于对所述变量节点处理器确定的每一所述变量节点的状态信息进行判决译码,得到第一译码结果;
所述变量节点处理器,还用于在校验电路输出所述第一译码结果校验通过的情况下,更新每一所述变量节点的状态信息,从而触发所述判决电路再次进行判决译码,得到第二译码结果;
所述变量节点处理器,还用于比较所述第一译码结果与所述第二译码结果,以确定译码是否成功。
11.根据权利要求10所述的硬件加速器,其特征在于,所述变量节点处理器通过执行以下步骤确定所述变量节点的状态信息:
确定校验矩阵对应的稀疏校验节点的起始组;
从所述起始组的校验节点开始进行消息传递,直至所述校验矩阵对应的最后一组稀疏校验节点,结束所述消息传递,以得到至少一个所述变量节点的状态信息。
12.根据权利要求11所述的硬件加速器,其特征在于,所述变量节点处理器通过执行以下步骤更新每一所述变量节点的状态信息:
对所述起始组之前的N组校验节点进行消息传递,以更新信息比特和非扩展性校验比特对应的变量节点的状态信息。
13.根据权利要求10至12任一项所述的硬件加速器,其特征在于,所述变量节点对应的校验矩阵用于表征低密度奇偶校验码LDPC码。
14.根据权利要求10至12任一项所述的硬件加速器,其特征在于,所述变量节点处理器通过执行以下步骤确定译码是否成功:
如果所述第一译码结果与所述第二译码结果相同,确定译码成功;
如果所述第一译码结果与所述第二译码结果不同、且所述i小于终止迭代次数,根据所述第一译码结果与所述第二译码结果的不同比特数目,确定是否终止迭代。
15.译码设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述的方法。
16.根据权利要求15所述的设备,其特征在于,所述译码设备为芯片或集成电路。
17.译码设备,其特征在于,包括:
输入接口电路,用于获取待译码信息;
逻辑电路,用于基于获取的待译码信息执行所述权利要求1至8任一项所述的方法,得到译码结果;
输出接口电路,用于输出译码结果。
18.根据权利要求17所述的设备,其特征在于,所述译码设备为芯片或集成电路。
19.计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519599.5A CN111669187B (zh) | 2020-06-09 | 2020-06-09 | 译码方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010519599.5A CN111669187B (zh) | 2020-06-09 | 2020-06-09 | 译码方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669187A true CN111669187A (zh) | 2020-09-15 |
CN111669187B CN111669187B (zh) | 2023-09-22 |
Family
ID=72386414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010519599.5A Active CN111669187B (zh) | 2020-06-09 | 2020-06-09 | 译码方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669187B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411167A (zh) * | 2021-06-28 | 2021-09-17 | 展讯通信(上海)有限公司 | 译码方法及装置、可读存储介质、终端 |
CN113727283A (zh) * | 2021-05-26 | 2021-11-30 | 中南大学 | 零时延相关信源广播通信方法 |
CN114499548A (zh) * | 2022-04-02 | 2022-05-13 | 哲库科技(北京)有限公司 | 一种译码方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140173373A1 (en) * | 2012-12-14 | 2014-06-19 | Novatek Microelectronics Corp. | Decoding method for low density parity check and electronic device using the same |
US8880973B1 (en) * | 2011-02-03 | 2014-11-04 | Marvell International Ltd. | Detector-decoder interface for GF(q) iterative decoding |
CN109361403A (zh) * | 2018-08-06 | 2019-02-19 | 建荣半导体(深圳)有限公司 | Ldpc译码方法、ldpc译码器及其存储设备 |
CN111245444A (zh) * | 2020-03-20 | 2020-06-05 | 清华大学 | 归一化最小和ldpc译码方法及译码器 |
-
2020
- 2020-06-09 CN CN202010519599.5A patent/CN111669187B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880973B1 (en) * | 2011-02-03 | 2014-11-04 | Marvell International Ltd. | Detector-decoder interface for GF(q) iterative decoding |
US20140173373A1 (en) * | 2012-12-14 | 2014-06-19 | Novatek Microelectronics Corp. | Decoding method for low density parity check and electronic device using the same |
CN109361403A (zh) * | 2018-08-06 | 2019-02-19 | 建荣半导体(深圳)有限公司 | Ldpc译码方法、ldpc译码器及其存储设备 |
CN111245444A (zh) * | 2020-03-20 | 2020-06-05 | 清华大学 | 归一化最小和ldpc译码方法及译码器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113727283A (zh) * | 2021-05-26 | 2021-11-30 | 中南大学 | 零时延相关信源广播通信方法 |
CN113727283B (zh) * | 2021-05-26 | 2022-09-23 | 中南大学 | 零时延相关信源广播通信方法 |
CN113411167A (zh) * | 2021-06-28 | 2021-09-17 | 展讯通信(上海)有限公司 | 译码方法及装置、可读存储介质、终端 |
CN113411167B (zh) * | 2021-06-28 | 2022-07-19 | 展讯通信(上海)有限公司 | 译码方法及装置、可读存储介质、终端 |
CN114499548A (zh) * | 2022-04-02 | 2022-05-13 | 哲库科技(北京)有限公司 | 一种译码方法、装置及存储介质 |
CN114499548B (zh) * | 2022-04-02 | 2022-07-05 | 哲库科技(北京)有限公司 | 一种译码方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111669187B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669187B (zh) | 译码方法及装置、设备、存储介质 | |
TWI594583B (zh) | 硬決定輸入之一般化低密度同位檢查軟解碼 | |
US7716561B2 (en) | Multi-threshold reliability decoding of low-density parity check codes | |
US8209579B2 (en) | Generalized multi-threshold decoder for low-density parity check codes | |
US20150222295A1 (en) | Encoding/decoding method, device, and system | |
US11728829B2 (en) | Error detection in communication systems using polar coded data transmission | |
RU2369008C2 (ru) | Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока | |
CN107528597B (zh) | 一种基于crc校验码的ldpc码后处理译码方法 | |
US8332717B2 (en) | Method of improving the iterative decoding of codes | |
CN108282259B (zh) | 一种编码方法及装置 | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
KR101895164B1 (ko) | 코드 디코딩 에러 정정 방법 및 장치 | |
US20100146371A1 (en) | Modified Turbo-Decoding Message-Passing Algorithm for Low-Density Parity Check Codes | |
EP4222869A1 (en) | Serial concatenated codes with outer block codes and inner polarization adjusted convolutional codes | |
US10108483B2 (en) | Computing system with error handling mechanism and method of operation thereof | |
Khan et al. | Evaluation of Channel Coding Techniques for Massive Machine-Type Communication in 5G Cellular Network | |
KR20200127783A (ko) | 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 | |
CN112953569B (zh) | 译码方法及装置、存储介质、电子设备、译码器 | |
CN112491422A (zh) | 基于高斯优化的比特翻转串行消除列表译码方法和系统 | |
CN111130564B (zh) | 译码方法及装置 | |
KR20210099388A (ko) | Ldpc 복호 방법 및 ldpc 복호 장치 | |
Alghonaim et al. | New technique for improving performance of LDPC codes in the presence of trapping sets | |
RU2337478C2 (ru) | Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения | |
KR102635444B1 (ko) | 비이진 저밀도 패리티 검사 코드 디코더, 그것의 동작방법 및 메모리 시스템 | |
US20230155606A1 (en) | Communication method and device using recurrent decoding iterations for polar codes |
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 |