CN112039533B - 数据处理方法、装置、译码器、设备及计算机存储介质 - Google Patents
数据处理方法、装置、译码器、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112039533B CN112039533B CN202010777258.8A CN202010777258A CN112039533B CN 112039533 B CN112039533 B CN 112039533B CN 202010777258 A CN202010777258 A CN 202010777258A CN 112039533 B CN112039533 B CN 112039533B
- Authority
- CN
- China
- Prior art keywords
- message
- time
- calculated
- node
- determining
- 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
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000004590 computer program Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 109
- 230000008569 process Effects 0.000 claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 description 50
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 7
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000012804 iterative process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000135164 Timea Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012360 testing method Methods 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/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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请公开了一种数据处理方法,其中,该方法包括:基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息。本申请还公开了一种数据处理装置、译码器、设备、计算机存储介质、芯片及计算机程序产品。
Description
技术领域
本申请实施例涉及但不限于编译码技术,尤其涉及一种数据处理方法、装置、译码器、设备及计算机存储介质。
背景技术
低密度奇偶校验码(Low-Density Parity-Check Codes,LDPC)因其良好的性能和成熟的相关技术被广泛应用于无线通信系统中。在LDPC的译码过程中,如何对数据进行处理,以提高译码性能,是本领域一直研究的问题。
发明内容
本申请实施例提供一种数据处理方法、装置、译码器、设备及计算机存储介质。
第一方面,提供一种数据处理方法,包括:
基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;
在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;
基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息。
第二方面,提供一种数据处理装置,包括:
第一确定单元,用于基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;
第二确定单元,用于在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;
所述第二确定单元,还用于基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息。
第三方面,提供一种译码器,包括:存储器和处理器,
所述存储器存储有可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现上述方法中的步骤。
第四方面,提供一种数据处理设备,包括:上述的译码器。
第五方面,提供一种计算机存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述方法中的步骤。
第六方面,提供一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述方法中的步骤。
第七方面,提供一种计算机程序产品,所述计算机程序产品包括计算机存储介质,所述计算机存储介质存储计算机程序代码,所述计算机程序代码包括能够由至少一个处理器执行的指令,当所述指令由所述至少一个处理器执行时实现上述的方法中的步骤。
在本申请实施例中,通过增加本次计算的第一消息与特定范围的比较,使得译码器增加了确定本次计算的第一消息是否为有效消息的判断途径,从而判断的本次第一消息是否为本次有效的第一消息的结果的准确性较高,进而提高了译码性能。
附图说明
图1a为本申请实施例提供的一种校验矩阵H的示意图;
图1b为本申请实施例提供的一种与校验矩阵H对应的Tanner图;
图2为本申请实施例提供的一种基于置信传播的分层LDPC译码流程的示意图;
图3为本申请实施例提供的一种数据处理方法的流程示意图;
图4为本申请实施例提供的另一种数据处理方法的流程示意图;
图5为本申请实施例提供的又一种数据处理方法的流程示意图;
图6为本申请实施例提供的一种译码方法的实现架构示意图;
图7为本申请实施例提供的一种数据处理装置的组成结构示意图;
图8为本申请实施例提供的一种译码器的硬件实体示意图;
图9为本申请实施例提供的一种数据处理设备的硬件实体示意图;
图10是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
需要说明的是:在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
低密度奇偶校验码因其良好的性能和成熟的相关技术被广泛应用于无线通信系统中,如无线保真(WIreless Fidelity,WIFI),全球微波接入互操作性(WorldInteroperability for Microwave Access,WiMAX),5G新空口(New Radio,NR)等通信协议都采用了LDPC作为信道编码方案。在5G NR背景下,不同通信场景的应用需求对LDPC译码器的性能提出了更为全面的要求。例如,在支持高数据率和高覆盖率的增强移动宽带(Enhanced Mobile Broadband,eMBB)场景中,LDPC译码器应具备高吞吐率和良好的纠错性能;在要求高可靠性和超低时延的超高可靠与低时延通信(Ultra-reliable and LowLatency Communications,URLLC)场景下,LDPC译码器应具备收敛快、错误平层低的特性。与此同时,LDPC译码器的复杂度还受限于硬件面积和功耗等因素。现有的译码算法不能很好地兼顾这些需求和限制,故此在本方案中提出了一种基于自纠错最小和算法的改进算法,在提升纠错性能的同时提高了算法的平均收敛速度,并且易于实现,对硬件复杂度的影响很小。
本申请实施例提供的数据处理方法可以应用于数据处理设备,数据处理设备可以包括接收机,接收机可以包括解调器和译码器,接收机的解调器可以对接收到信号进行解调处理,得到输出序列,然后译码器对输出序列进行译码。在一种实施方式中,输出序列可以是本申请实施例中的软比特信息。
本申请实施例中的接收机可以包括终端、网络设备或核心网设备等任一具有数据接收功能的设备。
终端可以是指接入终端设备、用户单元、用户站、移动站、移动台、远方站、远程终端设备、移动设备、用户终端设备(User Equipment,UE)、无线通信设备、用户代理或用户装置。或者,终端可以是服务器、手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、智能音箱、导航装置、显示设备、智能手环等可穿戴设备、虚拟现实(VirtualReality,VR)设备、增强现实(Augmented Reality,AR)设备、计步器、数字TV或台式计算机等。
网络设备可以是与终端进行无线通信的网络侧设备,例如,无线保真(Wireless-Fidelity,Wi-Fi)的接入点、演进基站、下一代通信的基站,如5G的gNB或小站、微站或传输接收点(transmission reception point,TRP),还可以是中继站、接入点、车载设备或可穿戴设备等。
核心网设备可以是接入及移动性管理功能(Access and Mobility ManagementFunction,AMF)设备、会话管理功能(Session Management Function,SMF)或用户面功能(User Plane Function,UPF)等等。
图1a为本申请实施例提供的一种校验矩阵H的示意图,图1b为本申请实施例提供的一种与校验矩阵H对应的Tanner图。
Tanner图是一种双向图,它可以用节点和边的集合来描述。对于一个M×N的校验矩阵H来说,其Tanner图G可以表示为G={(V,E)},其中V是节点的集合。E是节点之间所有相连边的集合,Tanner图中同类节点之间没有边相连,所有的边都是某一变量节点和某一校验节点相连接形成的。如果校验矩阵中的第m行第n列元素为1,则Tanner图中就会有一条边将第m个校验节点和第n个变量节点连接起来。在Tanner图中由一系列边构成的封闭路径称为一个循环(cycle),构成该循环的边的个数称为环长,其中最短的环长称为Tanner图G的围长(girth)。
在本申请实施例中,将LDPC的变量节点记为n∈{1,2,N},校验节点记为m∈{1,2,...M},定义该编码的校验矩阵记为H∈{0,1}M×N。从变量节点n到校验节点m的消息记为αm,n,从校验节点m到变量节点n的消息记为βm,n。译码器从解调器接收软比特信息,将变量节点n接收到的软比特记为ln,它代表该节点处的信道后验信息。为了计算方便和提高数据处理的精度,αm,n,βm,n,和ln都以对数似然比的形式存在,即它们在系统允许的数值范围内可正可负可零。在算法初始化阶段,对n=1,2,...N,令αm,n=ln,其中m代表所有与n相邻的校验节点,即所有满足H(m,n)=1的m值。其中,ln还可以表示为变量节点n的初始信道信息。
如图1a和图1b所示,A1,A2,A3,A4,A5,A6可以为与校验矩阵H对应的校验节点,X1,X2,X3,X4,X5,X6,X7,X8,X9可以为与校验矩阵H对应的变量节点,其中,变量节点X1到校验节点A1的消息记为α1,1,变量节点X2到校验节点A5的消息记为α5,2,校验节点A1到变量节点X4的消息记为β1,4,校验节点A4至变量节点X5的消息记为β4,5,此处只是列举了若干个变量节点到校验节点的消息,和若干个校验节点到变量节点的消息,应理解,任一个校验节点到任一个变量节点之间的连线,都可以对应一个变量节点至一个校验节点的消息,和一个校验节点到一个变量节点之间的消息。
图2为本申请实施例提供的一种基于置信传播的分层LDPC译码流程的示意图,如图2所示,译码流程可以分为以下几个步骤:
S201、初始化。
在初始化过程中,译码器可以接收后验概率(A posteriori probability,APP)软信息(soft information),后验概率软信息可以是本申请实施例中的软比特信息,译码器可以将软比特信息作为第0次变量节点n到校验节点m的消息,或者,译码器可以根据软比特信息,确定第0次变量节点n到校验节点m的消息,第0次变量节点n到校验节点m的消息可以理解为初始信道信息。
S203、迭代过程。
在迭代过程中,译码器可以首先对每个校验节点(Check Node,CN)n进行校验节点处理(CN processing),对校验节点进行处理可以是对校验节点进行迭代,对校验节点进行迭代可以是获取迭代的校验节点m到变量节点n的消息,然后根据校验节点的迭代结果对每个变量节点(Variable Node,VN)m进行变量节点处理(VN processing),对变量节点进行处理可以是对变量节点进行迭代,对变量节点进行迭代可以是获取迭代的变量节点n到校验节点m的消息,然后可以根据变量节点的更新结果对校验节点的进行更新,校验节点的更新结果再对变量节点进行更新,如此,校验节点和变量节点可以不断地进行更新,以达到终止条件。
S205、根据迭代结果判断是否满足终止条件。
在每次对校验节点或者变量节点进行更新后,译码器可以利用每次更新后的变量节点后、每次更新后的校验节点进行终止条件的判断,如果基于每次更新后的变量节点后、每次更新后的校验节点确定满足终止条件,则译码流程结束,从最后一次(lastiteration)迭代的变量节点、校验节点中确定硬判决(hard decision)结果。如果每次更新后的变量节点后、每次更新后的校验节点不满足终止条件,则流程进入至S203,进行下次的迭代,直到迭代次数达到预先设定的最大值。
在置信传播算法的一次迭代中,变量节点通过消息将其状态以外信息的形式传递给相邻的校验节点,每个校验节点处理所有与之相邻的变量节点的消息,再将结果以外信息的形式反馈给变量节点,然后变量节点进行状态更新。算法重复这一过程直至终止条件得到满足;如果所有校验等式成立或循环冗余校验码检验成功,则译码成功;否则,如果迭代次数达到了预先设定的最大值,译码失败。
此处介绍几种相关技术中LDPC译码算法的迭代过程。
第一种,和积(sum-product)算法。
和积算法对来自变量节点的消息进行在数学意义上准确的处理。在校验节点侧的处理方式为公式(3):
其中,βm,n (i)是第i次或本次传输的校验节点m到变量节点n的消息,αm,n' (i-1)为第i-1次或上次迭代的变量节点n'到校验节点m的消息。i为大于或等于1的整数。本次传输的校验节点m到变量节点n的消息,在其它实施例中可以称为本次迭代的校验节点m到变量节点n的消息。
在确定第1次迭代的校验节点到变量节点的消息时,需要确定第0次迭代的变量节点到校验节点的消息,译码器可以根据软比特信息,确定第0次变量节点n传递给校验节点m的消息,从而得到第1次迭代的校验节点到变量节点的消息。
通过公式(3)可以得到第i次迭代的第一个校验节点到与其连接的变量节点的消息,第二个校验节点到与其连接的变量节点的消息,直到得到第M个校验节点到与其连接的变量节点的消息。M为校验节点的总个数。
在变量节点侧的处理方式为公式(4):
其中,αm,n (i)为第i次或本次传输的变量节点n到校验节点m的消息,ln为第0次变量节点n传递给校验节点m的消息,βm',n (i)为第i次迭代的校验节点m'到变量节点n的消息。本次传输的变量节点n到校验节点m的消息,在其它实施例中可以称为本次迭代的变量节点n到校验节点m的消息。
在本申请实施例中,传输的校验节点m到变量节点n的消息或者传输的变量节点n到校验节点m的消息,用于译码器进行迭代计算。
通过公式(4)可以得到第i次迭代的第一个变量节点到与其连接的校验节点的消息,第二个变量节点到与其连接的校验节点的消息,直到得到第N个变量节点到与其连接的校验节点的消息。
接着可以计算变量节点的状态sn,sn也可以称为后验概率。通过公式(5)计算sn:
其中,sn (i)为第i次或本次传输的变量节点的状态,ln为第0次变量节点n传递给校验节点m的消息,βm,n (i)是第i次或本次传输的校验节点m到变量节点n的消息。
然后,译码器可以基于第i次或本次传输的变量节点的状态进行判决,可以采用公式(6)进行判决:
其中,为第i次或本次迭代对应的判决后的估计序列,sn (i)为第i次或本次的变量节点的状态。
将判决后得到的估计序列与校验矩阵HT相乘,即/>如果/>则表示估计序列满足校验关系,迭代过程终止,估计序列/>成为了最终的译码输出,否则继续迭代,直到达到最大迭代次数imax。
第二种,最小和(min-sum algorithm,MSA)算法。
最小和算法对和积算法进行了简化,去掉了其中非线性的部分。
最小和算法与和积算法的区别在于校验节点侧的处理方式不同,最小和算法校验节点侧的处理方式为公式(7):
其中,βm,n (i)是第i次或本次传输的校验节点m到变量节点n的消息,αm,n' (i-1)为第i-1次或上次迭代的变量节点n'到校验节点m的消息。
译码器可以直接将软比特信息,确定为第0次变量节点n传递给校验节点m的消息,从而可以得到第1次迭代的校验节点m到变量节点n的消息。
图3为本申请实施例提供的一种数据处理方法的流程示意图,如图3所示,该方法可以应用于译码器,该方法包括以下步骤:
S301、译码器基于获得的软比特信息,确定本次计算的第一消息;第一消息为变量节点到校验节点的消息。
软比特信息可以用yn表示,其中yn可以是y1,y2,直到yN,N可以为变量节点的数量。
本申请实施例中的变量节点到校验节点的消息可以是变量节点n到校验节点m的消息,其中n可以属于1至N中的任一个,m可以属于1至M中的任一个,n和m的取值可以对应校验节点和变量节点之间有连线的取值。本次计算的第一消息可以用或/>表示。
本次计算的第一消息可以采用相关技术中的/>确定。本次可以理解为第i次,例如,第一次,第二次,第三次等。
在第一次计算时,译码器可以先确定第0次变量节点n传递给校验节点m的消息αm,n。在一种实施方式中,可以将软比特信息直接赋值给第0次αm,n,即第0次αm,n=yn,即第0次αm,1=y1,αm,2=y2,直到αm,N=yN。在另一种实施方式中,可以通过软比特信息计算第第0次αm,n,例如第0次αm,n=2yn/σ2,即第0次αm,1=2y1/σ2,αm,2=2y2/σ2,直到αm,N=2yN/σ2。其中,σ为方差,σ可以根据信道环境确定。
在译码器确定到第0次αm,n之后,可以确定第1次校验节点m到变量节点n的消息βm,n,从而通过循环迭代的过程,得到第1次sn和βm,n,第2次sn和βm,n,第3次第sn和βm,n等等,从而可以得到第1次第2次/>第3次/>等等。本次计算的第一消息/>可以是第1次第2次/>第3次/>等等。
S303、译码器在本次计算的第一消息属于特定范围的情况下,确定本次计算的第一消息为本次有效的第一消息。
特定范围可以是预先设置的一个范围。在本申请实施例中,本次计算的第一消息属于特定范围,可以包括:本次计算的第一消息的绝对值大于特定阈值,特定阈值可以为αTH,特定阈值可以大于或等于0。在其它实施例中,本次计算的第一消息属于特定范围,可以包括:本次计算的第一消息大于第一阈值,或者,本次计算的第一消息小于第二阈值,第一阈值可以大于第二阈值。例如,第一阈值为正值,第二阈值为负值,第一阈值与第二阈值的绝对值不同。
特定阈值αTH的取值可以根据实际情况进行确定,例如,特定阈值αTH的取值可以在0.5~2之间,例如,特定阈值αTH可以为0.5、1或者2等等。
在第i次计算的属于特定范围的情况下,可以将第i次/>作为第i次传输的αm,n,例如,可以将第1次计算的/>作为第1次传输的αm,n,将第2次计算的/>作为第2次传输的αm,n,将第3次计算的/>作为第3次传输的αm,n等等,直到满足终止条件或者迭代次数到达设定的最大迭代次数。
在一种实施方式中,可以将第1次计算的第一消息直接作为第1次有效的第一消息αm,n (1),无需对第1次计算的第一消息进行有效性的判断,判断例如是是否属于特定范围的判断或者下述的符号类别的判断。
S305、译码器基于本次有效的第一消息,确定下次的第二消息;第二消息为校验节点到变量节点的消息。
校验节点到变量节点的消息,可以与校验节点m到变量节点n的消息作相同的理解。译码器可以基于下次的第二消息,得到估计序列,在估计序列满足校验条件时,确定该估计序列为译码结果。
译码器可以将本次有效的第一消息,作为传输的第一消息,从而进一步可以根据有效的第一消息,确定下次的第二消息。
在实际应用中,译码器可以基于获得的软比特信息,确定本次计算的第一消息的集合,译码器可以确定本次计算的第一消息的集合中属于特定范围的第一消息,为本次有效的第一消息的集合。
在一些实施例中,译码器可以直接确定本次计算的第一消息的集合中属于特定范围之外的第一消息,为本次无效的第一消息的集合。在另一些实施例中,译码器可以继续采用其它方式,从本次计算的第一消息的集合中,确定除本次有效的第一消息的集合的消息为有效或者无效。在某一个第一消息无效时,可以将该第一消息的值赋予0,并将0作为传输的第一消息,从而进一步可以根据传输的第一消息,确定下次的第二消息。
译码器可以基于本次计算的第一消息的集合,确定下次的第二消息的集合,然后基于下次的第二消息的集合得到估计序列。其中,第一消息的集合包括有效的第一消息和无效的第一消息。
基于本次传输的第一消息αm,n,确定并输出译码结果可以与相关技术中的基于αm,n,确定并输出译码结果的方式相同或不同。
在本申请实施例中,通过增加本次计算的第一消息与特定范围的比较,使得译码器增加了确定本次计算的第一消息是否为有效消息的判断途径,从而判断的本次第一消息是否为本次有效的第一消息的结果的准确性较高,进而提高了译码性能。
另外,通过测试发现,通过本申请实施例提供的数据处理方式输出译码结果时,确定的特定范围可以适应较大的信噪比变化、码率变化、迭代次数变化中的至少一者,而不产生明显的性能下降,从而在信噪比变化、码率变化、迭代次数变化中的至少一者发生变化时,依旧能够具有良好的译码性能。
在本申请实施例中,译码器还可以执行以下步骤:确定本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别;在第一符号类别和第二符号类别相同的情况下,确定本次计算的第一消息为本次有效的第一消息。
在一些实施例中,第一符号类别可以为正号、负号或零;第二符号类别可以为正号、负号或零。在另一些实施例中,第一符号类别可以是正号或负号;第二符号类别可以为正号或负号。
在本申请实施例中,译码器还可以执行以下步骤:在上次传输的第一消息为无效的第一消息的情况下,确定本次计算的第一消息为本次有效的第一消息。上次传输的第一消息为无效的第一消息的一种实现方式可以包括:上次传输的第一消息的第二符号类别为0。
在本申请实施例中,在本次计算的第一消息属于特定范围之外,本次计算的第一消息的第一符号类别,与上次传输的第一消息的第二符号类别不同,且上次传输的第一消息为有效的第一消息的情况下,确定本次计算的第一消息为本次无效的第一消息。
在本申请实施例中,可以基于以下公式(1)确定本次计算的第一消息为有效的第一消息或无效的第一消息:
其中,αm,n (i)为本次或第i次传输的变量节点n到校验节点m的消息;为本次或第i次计算的变量节点n到校验节点m的消息;αm,n (i-1)为上次或第i-1次迭代的变量节点n到校验节点m的消息;/>为本次或第i次计算的变量节点n到校验节点m的消息的第一符号类别;sgn(αm,n (i-1))为上次或第i-1次迭代的变量节点n到校验节点m的消息的第二符号类别;αTH为特定阈值;
其中,i为大于或等于1的任一整数;n为大于或等于1,且小于或等于变量节点的数量的整数,m为大于或等于1,且小于或等于校验节点的数量的整数;
其中,表示本次或第i次计算的第一消息为有效的第一消息,αm,n (i)=0表示本次或第i次计算的第一消息为无效的第一消息。
如果计算的满足/>确定计算的/>有效,将计算的/>作为传输的αm,n (i);如果计算的/>不满足确定计算的/>无效,将0作为传输的αm,n (i)。
在一些实施方式中,变量节点到校验节点的消息,可以与变量节点n到校验节点m的消息作相同的理解。
以下说明本申请实施例提供的一种数据处理方法的实现方式:
图4为本申请实施例提供的另一种数据处理方法的流程示意图,如图4所示,该方法可以应用于译码器,该方法包括以下步骤:
S401、译码器基于获得的软比特信息,确定本次计算的第一消息;第一消息为变量节点到校验节点的消息。
S403、译码器在本次计算的第一消息属于特定范围的情况下,确定本次计算的第一消息为本次有效的第一消息。
S405、译码器在本次计算的第一消息属于特定范围之外的情况下,确定本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别。
在本申请实施例中,本次计算的第一消息属于特定范围之外,可以包括:本次计算的第一消息的绝对值小于或等于αTH。在其它实施例中,本次计算的第一消息属于特定范围之外,可以包括:本次计算的第一消息/>小于或等于第一阈值且大于或等于第二阈值。
在本申请实施例中,如果本次为第i次,那么上次可以为第i-1次,下次为第i+1次。
译码器可以通过sgn(·)函数来确定本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别。
S407、译码器在第一符号类别和第二符号类别相同的情况下,确定本次计算的第一消息为本次有效的第一消息。
第一符号类别和第二符号类别相同,可以包括:第一符号类别和第二符号类别均为正号、或者,第一符号类别和第二符号类别均为负号,或者,第一符号类别和第二符号类别均为0。
应注意的是,如果第一符号类别和第二符号类别均为0,那么本次计算的第一消息也为0,从而依旧将0作为本次有效的第一消息。
在一种实施方式中,译码器还可以执行以下步骤:
在第一符号类别和第二符号类别不同,且第二符号类别为零的情况下,确定本次计算的第一消息为本次有效的第一消息。
第一符号类别和第二符号类别不同,可以包括:第一符号类别为正号,第二符号类别为负号或零,或者,第一符号类别为零,第二符号类别为正号或符号,或者,第一符号类别为负号,第二符号类别为正号或零。
在一种实施方式中,译码器还可以执行以下步骤:
在第一符号类别和第二符号类别不同,且第二符号类别为正号或负号的情况下,确定本次计算的第一消息为本次无效的第一消息。在确定到该第一消息无效时,将该消息的值设为0,并采用0进行后续的迭代计算。
第二符号类别为正号或负号,可以等同于第二符号类别为非零。
S409、译码器基于本次有效的第一消息,确定下次的第二消息;第二消息为校验节点到变量节点的消息。
在申请实施例中,译码器在本次计算的第一消息属于特定范围之外的情况下,还可以根据本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别确定本次计算的第一消息是否有效,从而给出了另一种确定本次计算的第一消息是否有效的方式,从而判断的本次第一消息是否为本次有效的第一消息的结果的准确性较高,进而提高了译码性能。
在图4对应的实施例中,译码器先执行本次计算的第一消息是否属于特定范围的判断,再执行第一符号类别和第二符号类别是否相同的判断、以及执行第二符号类别是否为0的判断。然而,这三个判断的执行的先后顺序,本申请实施例可以不作限定,
例如,在其它实施例中,由于可以通过比特掩码来确定第二符号类别是否为0,译码器可以先执行第二符号类别是否为0,然后再执行本次计算的第一消息是否属于特定范围或第一符号类别和第二符号类别是否相同的判断。关于比特掩码的描述,可以参照下述实施例的说明。
例如,在一种实施方式中,译码器可以先执行第一符号和第二符号类别是否相同的判断,然后执行第二符号类别是否为0的判断,再执行本次计算的第一消息是否属于特定范围的判断。译码器可以执行以下步骤:
译码器基于获得的软比特信息,确定本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别。
在第一符号类别和第二符号类别相同的情况下,确定本次计算的第一消息为本次有效的第一消息。例如,在有效时,可以将/>的值作为下次迭代所使用的值。
在第一符号类别和第二符号类别不同,且第二符号类别为零的情况下,确定本次计算的第一消息为本次有效的第一消息。
在第一符号类别和第二符号类别不同,且第二符号类别为正号或负号的情况下,且在本次计算的第一消息属于特定范围的情况下,确定本次计算的第一消息为本次有效的第一消息。
在第一符号类别和第二符号类别不同,且第二符号类别为正号或负号的情况下,且在本次计算的第一消息属于特定范围之外的情况下,确定本次计算的第一消息为本次无效的第一消息。例如在无效时,舍弃计算的/>可以将α5,5 (i)=0作为下次迭代所使用的值。
通过上述的一种或至少两种情况,译码器可以得到全部的本次传输的第一消息,然后基于本次传输的第一消息,输出译码结果。
图5为本申请实施例提供的又一种数据处理方法的流程示意图,如图5所示,该方法可以应用于译码器,该方法包括以下步骤:
S501、译码器基于软比特信息,确定本次传输的第二消息。
在一种实施方式中,S501可以通过以下步骤A1至步骤A2的方式实现:
步骤A1、译码器基于软比特信息,确定上次传输的第一消息的第二符号类别的集合,和上次传输的第一消息的绝对值的最小值和次小值。
译码器在得到上次传输的第一消息的第二符号类别的集合、最小值和次小值时,可以将第二符号类别的集合、最小值和次小值存储到存储介质中。
步骤A2、基于缩放因子、第二符号类别的集合、最小值和次小值,确定本次传输的第二消息。
其中,可以基于以下公式(2)确定本次传输的第二消息:
其中,βm,n (i)为本次或第i次传输的校验节点m到变量节点n的消息;ν为所述缩放因子;αm,n'为第上次传输的变量节点n'到校验节点m的消息;
其中,i为大于或等于1的整数;n为大于或等于1,且小于或等于变量节点的数量的整数;m为大于或等于1,且小于或等于校验节点的数量的整数。
S503、译码器基于软比特信息和本次传输的第二消息,确定本次的变量节点的状态。
S505、译码器基于本次传输的第二消息,和本次的变量节点的状态,确定本次计算的第一消息。
S507、译码器在本次计算的第一消息属于特定范围的情况下,确定本次计算的第一消息为本次有效的第一消息。
S509、译码器基于本次有效的第一消息,确定下次的第二消息;第二消息为校验节点到变量节点的消息。
在一些实施方式中,S509中下次的第二消息可以是下次的第二消息的集合中的一个消息,第二消息的集合可以通过以下步骤B1至步骤B2的方式实现:
步骤B1、译码器确定本次计算的第一消息集合,第一消息集合包括本次有效的第一消息和本次无效的第一消息。
本次计算的第一消息为本次无效的第一消息,可以表征计算出的第一消息是没有效力的,因为传输的第一消息并不采用该计算的第一消息,而是将0作为传输的第一消息。
步骤B2、译码器基于缩放因子,和本次传输的第一消息集合,确定下次传输的第二消息的集合。
在一些实施方式中,译码器可以基于缩放因子,和本次传输的第一消息集合,确定下次传输的第二消息的集合,可以包括:确定本次传输的第一消息的第一符号类别的集合,和本次传输的第一消息的绝对值的最小值和次小值;基于缩放因子、第一符号类别的集合,最小值和次小值,确定下次传输的第二消息的集合。
本申请实施例中,缩放因子可以是自行设定的,或可以根据校验节点的度、接收信噪比等信息确定的,缩放因子可以限定在易于通过移位和加减法实现的离散数值范围内。缩放因子的分布可以为2、4、8、16或32等的数,例如,缩放因子可以是1/2,3/4,7/8,15/16,1/4或5/8等等,本申请实施例对此不作限定。
在一些实施方式中,步骤B2可以通过以下步骤B21至步骤B22的方式实现:
步骤B21、译码器确定本次传输的第一消息的第一符号类别的集合,和本次传输的第一消息的绝对值的最小值和次小值。
步骤B22、译码器基于缩放因子、第一符号类别的集合,最小值和次小值,确定下次的第二消息的集合。
在步骤B2之后,译码器还可以执行步骤B3-B5:
步骤B3、译码器基于软比特信息和下次的第二消息的集合,确定下次的变量节点的状态的集合。
步骤B4、译码器对下次的变量节点的状态的集合进行硬判决,得到估计序列。
步骤B5、译码器在估计序列与校验矩阵的转置的乘积为零的情况下,确定估计序列为译码结果,输出译码结果。
在本申请实施例中,基于缩放因子、第二符号类别的集合,以及上次传输的第一消息的绝对值的最小值和次小值,确定本次传输的第二消息,然后基于本次传输的第二消息,和本次的变量节点的状态,确定本次计算的第一消息,从而一个缩放因子可以适应较大的信噪比变化、码率变化、迭代次数变化中的至少一者,而不产生明显的性能下降,从而在信噪比变化、码率变化、迭代次数变化中的至少一者发生变化时,依旧能够具有良好的译码性能。
本申请实施例可以基于上述任一实施例的描述,进一步可以限定如何确定本次计算的第一消息为本次有效的第一消息。
在一种实施方式中,确定本次计算的第一消息为本次有效的第一消息,可以通过以下方式实现:译码器基于本次计算的第一消息对应的比特掩码中的有效比特位,对本次计算的第一消息进行处理,得到本次有效的第一消息;其中,比特掩码与校验节点对应,比特掩码的维度与校验节点相连的变量节点的数目相同。
比特掩码可以为称为位掩码(BitMask)。
在一些实施方式中,有效比特位可以表征该比特位的数值为非0,例如,该比特位的数值为1、2、-2等。与有效比特位相应的为无效比特位,无效比特位表征,该比特位的数值为0。在另一些实施方式中,有效比特为可以表征该比特位的数值为任一实数,无效比特位为空。
在本申请实施例中,有效比特位的数值为1,无效比特位的数值为0。
在一种实施方式中,采用有效比特位对本次计算的第一消息进行处理,可以是采用有效比特位对本次计算的第一消息进行与运算或者乘法运算。
译码器可以为每个校验节点维护一个比特掩码,即一个校验节点对应一个比特掩码。不同的校验节点对应的比特掩码中的比特位的数目可以相同或不同。一个校验节点对应的比特掩码中的比特位的数目,可以与该校验节点连接的变量节点的数目相同。
此处说明一种采用比特掩码确定本次传输的变量节点到校验节点的消息:如图1b所示,与校验节点A2连接的变量节点为变量节点X2、X5以及X8,如果译码器为校验节点A2维护的比特掩码为111,在译码器在确定本次计算的变量节点X2、X5或X8到校验节点A2的消息属于特定范围,或者,本次计算的变量节点X2、X5或X8到校验节点A2的消息的第一符号类别,和上次迭代的变量节点X2、X5或X8到校验节点A2的消息的第二符号类别相同,或者,上次迭代的变量节点X2、X5或X8到校验节点A2的消息的第二符号类别为零,译码器可以采用比特掩码为111,分别对确定的本次计算的变量节点X2、X5或X8到校验节点A2的消息进行处理,从而得到本次传输的变量节点X2、X5或X8到校验节点A2的消息。
在一种实施方式中,确定本次计算的第一消息为本次无效的第一消息,可以通过以下方式实现:基于本次计算的第一消息对应的比特掩码中的无效比特位,对本次计算的第一消息进行处理,得到本次无效的第一消息;其中,比特掩码与校验节点对应,比特掩码的维度与校验节点相连的变量节点的数目相同。
在一些实施中,译码器还可以执行以下步骤:基于无效比特位,确定下次计算的第一消息,为下次有效的第一消息;设置无效比特位为有效比特位。
此处说明另一种采用比特掩码确定本次传输的变量节点到校验节点的消息:如图1b所示,与校验节点A3连接的变量节点为变量节点X3、X6以及X9,如果译码器为校验节点A3维护的比特掩码为111,比特掩码中的三个1分别对应本次计算的变量节点X3、X6以及X9到校验节点A3的消息。在译码器在确定本次计算的变量节点X3和X6到检验节点A3的消息满足第一条件或第二条件或第三条件,但是变量节点X9到检验节点A3的消息不满足第一条件,且不满足第二条件,且不满足第三条件,译码器可以将比特译码器111中的最后一个1修改为0,从而得到比特掩码110,然后采用比特掩码110,,对确定的本次计算的变量节点X3、X6或X9到校验节点A3的消息进行处理,从而得到本次传输的变量节点X3、X6或X9到校验节点A3的消息。
其中,第一条件可以为本次计算的第一消息属于特定范围,第二条件可以为本次计算的第一消息的第一符号类别,和上次的第一消息的第二符号类别相同,第三条件可以为上次的第一消息的第二符号类别为零。
在译码器得到下次计算的变量节点X3、X6以及X9到校验节点A3的消息的情况下,译码器可以根据比特掩码110,确定本次传输的变量节点X9到校验节点A3的消息为0,从而直接确定下次计算的变量节点X9到校验节点A3的消息满足第三条件,从而译码器可以直接将下次计算的变量节点X9到校验节点A3的消息,作为下次迭代的变量节点X9到校验节点A3的消息,然后,译码器可以将比特掩码110中的最后一个0置1。本申请实施例并不限定将下次计算的变量节点X9到校验节点A3的消息,作为下次传输的变量节点X9到校验节点A3的消息这一步骤,与译码器可以将比特掩码110中的最后一个0置1这一步骤的先后顺序。
在本申请实施例中,提出了比特掩码的这个概念,从而通过比特掩码可以对本次计算的第一消息进行处理,得到本次传输的第一消息,不仅提供了一种根据确定本次传输的第一消息的具体方式,还使得确定本次传输的第一消息的方式简单。
本申请实施例所提供的译码算法将自纠正最小和算法与缩放补偿最小和算法结合,并在变量节点消息的重置判断中加入了一个幅值特定阈值。得到的改进算法称之为改进的自纠正最小和算法(mod-SCMS)。其具体消息计算方式可以通过以下步骤C1至步骤C5来实现:
步骤C1、初始化。
在初始化过程中,译码器接收后验概率(A posteriori probability,APP)软信息(soft information),后验概率软信息可以是软比特信息,译码器可以将软比特信息作为第0次变量节点n传递给校验节点m的消息,或者,译码器可以根据软比特信息,确定第0次变量节点n传递给校验节点m的消息,第0次变量节点n传递给校验节点m的消息可以理解为初始信道信息。
步骤C2、计算校验节点到变量节点的消息。
在其它实施例中,步骤C2也可以称为校验节点更新。
可以通过公式(2)计算校验节点m到变量节点n的消息:
步骤C3、计算变量节点的状态。
在其它实施例中,步骤C3也可以称为计算后验概率。
可以通过公式(5)计算变量节点的状态:
步骤C4、计算变量节点到校验节点的消息
在其它实施例中,步骤C4也可以称为变量节点更新。
可以通过公式(1)计算变量节点到校验节点的消息:
其中,公式(1)可以等价为公式(8):
公式(8)可以表示连续两次迭代(第i次迭代和第i-1次迭代)中,如果第i次计算的变量节点n到校验节点m的消息的符号类别,与第i-1次迭代的变量节点n到校验节点m的消息的符号类别相同,或者,第i次计算的变量节点n到校验节点m的消息的绝对值大于特定阈值αTH,将第i次计算的变量节点n到校验节点m的消息,作为第i次迭代的变量节点n到校验节点m的消息。否则,将0作为第i次迭代的变量节点n到校验节点m的的消息。
在一些实施方式中,可以通过公式(9)计算变量节点到校验节点的消息:
步骤C5、判决。
在一种实施方式中,可以通过公式(6)进行判决:
其中,公式(6)表示第i次计算的sn (i)大于或等于0时,确定第i次的为0;否则,确定第i次的/>为1。
其中,为长度为{0,1}1×N,其中N为的变量节点的节点数。
可见,mod-SCMS中校验节点的消息计算方式与NMS相似。通过数值仿真发现,mod-SCMS对缩放因子的敏感度远远低于NMS算法,即相同的缩放因子可以适应较大的信噪比范围而不产生明显的性能下降。也就是说,虽然和NMS算法一样使用了缩放因子,但mod-SCMS算法需要的参数调整仍然十分有限。
在变量节点消息的计算中,mod-SCMS算法对幅值超过一定特定阈值的消息不进行清零操作,即认为这些消息是可靠的。仿真发现,与缩放因子ν相似,特定阈值αTH的选择也是比较稳定的。对同一编码来说,在不同信噪比、码率、迭代次数下,实验发现的最优特定阈值差异很小。
从实现角度来看,改进的自纠正最小和算法与自纠正最小和算法相比,只增加了对校验节点消息的缩放操作,以及变量节点消息的幅值与给定特定阈值的比较操作。其中,缩放因子可以被限定在易于通过移位和加减法实现的离散数值范围内,因此无需增加乘法器来完成缩放操作。
变量节点消息的清零可以通过维护一个比特掩码实现。在某一个校验节点的处理中,译码器从存储中分别读取校验节点以及与之相邻的变量节点的状态,然后计算来自变量节点的消息。这组消息的正负符号决定了校验节点消息的符号,它们的绝对值互相比较的结果决定了校验节点消息的幅值。为了节省存储空间,分层译码器不存储全部的变量节点消息,而是通过存储变量节点消息的符号以及校验节点消息的幅值等等,在每次迭代时计算相应的变量节点消息。这样一来,在新的变量节点消息计算出来时,译码器同时掌握了该次迭代和上一次迭代变量节点消息的符号,也就可以据此判定消息是否“可靠”。校验节点m到变量节点n的消息幅值是|βm,n|,它可能有两个取值,min或min2。
译码器为每个校验节点维护一个比特掩码,其维度等于该校验节点的度。直观来说,可以将所有的掩码初始化为一;当变量节点消息需要清零时,对应的掩码被置为零。变量节点消息经过掩码处理后再送往比较器进行幅值大小的比较,从而确定出|αm,n'|的最小值。在下次传输变量节点消息更新时,通过消息符号是否翻转和上次迭代的掩码重新设置掩码为1。
图6为本申请实施例提供的一种译码方法的实现架构示意图。如图6所示,该译码方法的实现架构可以包括:
校验存储器601(Check-Memory,C-MEM),可以用于存储每个校验节点和每个校验节点的消息或校验节点m到变量节点n的消息。
校验节点状态(Check Node state)单元602,可以用于获取校验节点的状态,校验节点的状态可以基于迭代的变量节点n到校验节点m的消息中的最小值(min)、迭代的变量节点n到校验节点m的消息中的次小值(min2)、最小值索引(minIdx)、变量节点n到校验节点m的符号(V2C-sgn)、以及所有的变量节点n到校验节点m的符号的乘积(sgnAll)中的至少一个确定。
计算变量节点到校验节点的消息(calc V2C-msg)单元603,可以用于计算变量节点n到校验节点m的消息,得到计算的变量节点n到校验节点m的消息,计算方法通过sn (i)-βm,n (i)确定。
计算掩码(calc mask)单元604,可以用于维护比特掩码,并根据计算的变量节点到校验节点的消息是否满足上述的第一条件或第二条件或第三条件,确定比特掩码中每个比特位的值为0或为1,并在第i次某一个的比特位设为0时,第i+1次将该比特位设为1。在第1次迭代时,可以所有的与校验节点对应的比特掩码中比特位都置1。
应用掩码(apply mask)单元605,可以用于采用计算掩码单元维护的比特掩码,对计算的变量节点n到校验节点m的消息进行处理,从而得到迭代的变量节点n到校验节点m的消息。
寻找最小值和确定校验节点到变量节点的消息(search min&scale C2V-msg)单元606,可以用于获取迭代的变量节点n到校验节点m的消息的绝对值中的最小值,并可以确定校验节点m到变量节点n的消息。
更新变量节点状态(update VN state)单元607,可以用于根据确定的校验节点m到变量节点n的消息,更新变量节点状态。
循环移位(rotation&routing)单元608,可以用于进行循环移位操作。
变量存储器(Variable-Memory,V-MEM)609,可以用于存储每个变量节点和每个变量节点的消息或变量验节点n到校验节点m的消息。
代码配置(code configuration)单元610,可以用于配置译码方法的实现逻辑。
迭代控制(iteration control)单元611,可以用于控制迭代次数、设定最大迭代次数等。
硬判决(hard decision)单元612,可以用于对迭代的变量节点的状态进行硬判决。
其中,在译码器进行硬判决后,可以根据硬判决得到的比特序列确定是否进行下次的迭代。
在本申请实施例中的上述单元,可以是通过硬件实现,或者通过软件实现,或者通过软硬结合的方式实现。
本申请实施例中的改进的自纠正最小和算法在判断消息符号是否发生翻转时,需要区分上一次迭代的消息是否为零(如果为零则一定保留本次计算的消息)。这一信息无法依靠sgn(·)的取值获得,但是可以间接地通过上一次迭代的掩码取值推断出来。也就是说,如果在迭代过程中按一定规则设置并保留掩码取值,就可以确定哪些节点变量消息需要清零。
本申请实施例还可以提供一种根据本次计算的变量节点到校验节点的消息,确定本次传输的变量节点到校验节点的消息的伪代码:
在这段伪代码中,Initialization用于初始化每个校验节点(cn)的比特掩码,例如,校验节点m的取值可以为1,2,直到M,M为校验节点的个数。e为每个校验节点对应的比特掩码中的第e个比特位,e的取值可以为1,2,直到dm,dm为比特掩码中的比特位的数目。初始化的过程中,可以是将每个校验节点对应的每个比特位设为0,然后在第1次基于计算的变量节点到校验节点的消息,确定第1次迭代的变量节点到校验节点的消息之前,可以将每个比特位值1。在其它实施例中,初始话的过程,可以是将每个校验节点对应的每个比特位设为1。
在迭代过程中,对于每个校验节点m,译码器可以计算所有与校验节点m相关的变量节点消息的集合(或者说计算所有的变量节点到校验节点的消息的集合),对于校验节点的每个掩码,在译码器确定到/>满足的情况下,不会擦除/>消息,将cn[m].mask[e]设为1,否则,将擦除/>消息,将cn[m].mask[e]设为0。
其中,cn[m].mask[e]==0可以对应条件:所述本次计算的变量节点到校验节点的消息的第一符号类别,和上次迭代的变量节点到校验节点的消息的第二符号类别不同,且所述第二符号类别为零。可以对应条件:所述本次计算的变量节点到校验节点的消息的第一符号类别,和上次迭代的变量节点到校验节点的消息的第二符号类别相同。/>可以对应条件:本次计算的变量节点到校验节点的消息属于特定范围。
在本申请实施例的实现方法中,掩码的现有取值是判断变量节点消息是否清零的条件之一,即如果掩码为零,代表前次迭代中该消息被清除,则此次迭代不应发生清除。相应地,如果本次迭代计算出的消息值为零(通常出现在被打孔的变量节点处),需要强制将掩码值置为零。注意到在最小和算法中,本就需要计算变量节点消息的绝对值,因此mod-SCMS算法进行的这一判断只涉及到一次比较操作的增加。
实验表明,mod-SCMS算法的纠错性能相比采用同样缩放因子的NMS算法以及SCMS算法有了明显的提升。mod-SCMS算法还可以对收敛速度进行改善,其所需的平均迭代次数较SCMS算法少,在中低信噪比区域也明显少于NMS算法。
在较高码率的情形下,mod-SCMS算法在误码率和平均迭代次数两项指标中的性能都优于其它简化算法。
本申请实施例提供了LDPC译码算法的优化问题,提出了一种对自纠正最小和算法的改进算法:
在SCMS算法的基础上引入了作用于校验节点消息的缩放因子,这一做法改善了译码算法在瀑布区域的纠错性能。数值仿真结果表明,与NMS算法不同,改进算法中的缩放因子对信噪比条件不敏感,即针对某一信噪比优化的缩放因子可以适用于较大的信噪比范围;
在判断变量节点消息是否可靠时,引入了特定阈值参数:只有当前后两次迭代中消息的正负符号发生变化,且当前消息的绝对值小于给定特定阈值时,译码器才会将该消息判定为不可靠,并对其进行清零操作。这一做法改善了译码算法的收敛速度,降低了译码器的延迟;
提出了使用比特掩码实现对不可靠的变量节点消息的清零操作。该方法用最少的内存增加量解决了对前次迭代中消息是否为零的判断问题,同时保留了本次迭代中原始的变量节点消息,使之仍然可用于后续的变量节点状态的更新。这一方法既可用于SCMS算法,也可用于mod-SCMS算法。
置信传播是一种在图形模型上根据观察到的节点对未知节点进行推断的算法。它广泛应用于人工智能、信息论、计算物理学等领域。本方案对编译码领域使用的置信传播算法的改进可能亦会对其它领域的置信传播算法的分析和改进有所启示。
基于前述的实施例,本申请实施例提供一种数据处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过终端设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图7为本申请实施例提供的一种数据处理装置的组成结构示意图,如图7所示,数据处理装置700可以包括:
第一确定单元701,用于基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;
第二确定单元702,用于在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;
第二确定单元702,还用于基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息。
在一些实施例中,第二确定单元702,还用于确定所述本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别;在所述第一符号类别和所述第二符号类别相同的情况下,确定所述本次计算的第一消息为所述本次有效的第一消息。
在一些实施例中,第二确定单元702,还用于在上次传输的第一消息为无效的第一消息的情况下,确定所述本次计算的第一消息为所述本次有效的第一消息
在一些实施例中,第二确定单元702,还用于在所述本次计算的第一消息属于所述特定范围之外,所述本次计算的第一消息的第一符号类别,与上次传输的第一消息的第二符号类别不同,且所述上传传输的第一消息为有效的第一消息的情况下,确定所述本次计算的第一消息为本次无效的第一消息。
在一些实施例中,第二确定单元702,还用于基于以下公式(1)确定所述本次计算的第一消息为有效的第一消息或无效的第一消息:
其中,αm,n (i)为本次或第i次传输的变量节点n到校验节点m的消息;为本次或第i次计算的变量节点n到校验节点m的消息;αm,n (i-1)为上次或第i-1次迭代的变量节点n到校验节点m的消息;/>为本次或第i次计算的变量节点n到校验节点m的消息的第一符号类别;sgn(αm,n (i-1))为上次或第i-1次迭代的变量节点n到校验节点m的消息的第二符号类别;αTH为特定阈值;
其中,i为大于或等于1的任一整数;n为大于或等于1,且小于或等于变量节点的数量的整数,m为大于或等于1,且小于或等于校验节点的数量的整数;
其中,表示本次或第i次计算的第一消息为有效的第一消息,αm,n (i)=0表示本次或第i次计算的第一消息为无效的第一消息。
在一些实施例中,第一确定单元701,还用于基于所述软比特信息,确定本次传输的第二消息;基于所述软比特信息和所述本次传输的第二消息,确定本次的变量节点的状态;基于所述本次传输的第二消息,和所述本次的变量节点的状态,确定所述本次计算的第一消息。
在一些实施例中,第一确定单元701,还用于基于所述软比特信息,确定上次传输的第一消息的第二符号类别的集合,和上次传输的第一消息的绝对值的最小值和次小值;基于缩放因子、所述第二符号类别的集合、所述最小值和所述次小值,确定所述本次传输的第二消息。
在一些实施例中,第一确定单元701,还用于基于以下公式(2)确定所述本次传输的第二消息:
其中,βm,n (i)为本次或第i次传输的校验节点m到变量节点n的消息;ν为所述缩放因子;αm,n'为第上次传输的变量节点n'到校验节点m的消息;
其中,i为大于或等于1的整数;n为大于或等于1,且小于或等于变量节点的数量的整数;m为大于或等于1,且小于或等于校验节点的数量的整数。
在一些实施例中,第二确定单元702,还用于基于所述本次计算的第一消息对应的比特掩码中的有效比特位,对所述本次计算的第一消息进行处理,得到所述本次有效的第一消息;其中,所述比特掩码与所述校验节点对应,所述比特掩码的维度与所述校验节点相连的变量节点的数目相同。
在一些实施例中,第二确定单元702,还用于基于所述本次计算的第一消息对应的比特掩码中的无效比特位,对所述本次计算的第一消息进行处理,得到所述本次无效的第一消息;其中,所述比特掩码与所述校验节点对应,所述比特掩码的维度与所述校验节点相连的变量节点的数目相同。
在一些实施例中,第二确定单元702,还用于基于所述无效比特位,确定下次计算的第一消息,为下次有效的第一消息;设置所述无效比特位为有效比特位。
在一些实施例中,数据处理装置700还可以包括:译码单元703,用于确定本次传输的第一消息集合,所述本次传输的第一消息集合包括所述本次有效的第一消息和所述本次无效的第一消息;基于缩放因子,和所述本次传输的第一消息集合,确定下次传输的第二消息的集合;基于所述软比特信息和所述下次传输的第二消息的集合,确定下次的变量节点的状态的集合;对所述下次的变量节点的状态的集合进行硬判决,得到估计序列;在所述估计序列与校验矩阵的转置的乘积为零的情况下,确定所述估计序列为译码结果,输出所述译码结果。
在一些实施例中,所述本次计算的第一消息属于特定范围,包括:所述本次计算的第一消息的绝对值大于特定阈值;或者,所述本次计算的第一消息大于第一阈值;或者,所述本次计算的第一消息小于第二阈值。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台译码器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质可以包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,图8为本申请实施例提供的一种译码器的硬件实体示意图,如图8所示,该译码器800的硬件实体包括:处理器801和存储器802,其中,存储器802存储有可在处理器801上运行的计算机程序,处理器801执行程序时实现上述任一实施例的方法中的步骤。
在本申请实施例中,译码器包括LDPC译码器或极化码译码器。
其中,存储器802存储有可在处理器上运行的计算机程序,存储器802配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及译码器800或数据处理设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
处理器801执行程序时实现上述任一项的校验方法的步骤。处理器801通常控制译码器800或数据处理设备的总体操作。
需要说明的是,图9为本申请实施例提供的一种数据处理设备的硬件实体示意图,如图9所示,该数据处理设备900包括上述的译码器800;其中,译码器800中包括处理器801和存储器802。译码器800可以设置在数据处理设备900的基带芯片中。
本申请实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述任一方法中的步骤。
图10是本申请实施例提供的一种芯片的结构示意图。图10所示的芯片1000包括处理器1001,处理器1001可以从存储器中调用并运行计算机程序,以实现本申请实施例中译码器或数据处理设备执行的方法的步骤。
在一些实施中,如图10所示,芯片1000还可以包括存储器1002。其中,处理器1001可以从存储器1002中调用并运行计算机程序,以实现本申请实施例中译码器或数据处理设备执行的方法的步骤。
其中,存储器1002可以是独立于处理器1001的一个单独的器件,也可以集成在处理器1001中。
在一些实施中,该芯片1000还可以包括输入接口1003。其中,处理器1001可以控制该输入接口1003与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
在一些实施中,该芯片1000还可以包括输出接口1004。其中,处理器1001可以控制该输出接口1004与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
在一些实施中,该芯片1000可应用于本申请实施例中的数据处理设备,并且该芯片1000可以实现本申请实施例的各个方法中由译码器或数据处理设备实现的相应流程,为了简洁,在此不再赘述。芯片1000可以是数据处理设备中的基带芯片。
应理解,本申请实施例提到的芯片1000还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机存储介质,计算机存储介质存储计算机程序代码,计算机程序代码包括能够由至少一个处理器执行的指令,当指令由至少一个处理器执行时实现上述方法中译码器或数据处理设备执行的方法的步骤。
在一些实施中,该计算机程序产品可应用于本申请实施例中的译码器或数据处理设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由译码器或数据处理设备实现的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
这里需要指出的是:以上校验装置、译码器、数据处理设备、计算机存储介质、芯片和计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
还需要注意的是,本申请实施例虽然并未详细说明译码器在执行伪代码时的执行过程,但是本领域技术人员通过上述的伪代码,是能够知道伪代码的逻辑以及伪代码的功能,并且能够通过上述的伪代码实现相关的技术方案。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本申请实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本申请实施例”或“前述实施例”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在未做特殊说明的情况下,译码器或数据处理设备执行本申请实施例中的任一步骤,可以是译码器或数据处理设备的处理器执行该步骤。除非特殊说明,本申请实施例并不限定译码器或数据处理设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本申请实施例中的任一步骤是译码器或数据处理设备可以独立执行的,即译码器或数据处理设备执行上述实施例中的任一步骤时,可以不依赖于其它步骤的执行。
应当理解的是,本申请中所涉及数学公式的限定表达,只是为了方便对本申请的相关内容作出相关说明,并不会对本申请权利要求中的保护范围作出限定。例如αm,n (i)可以在其它实施例中表达成α(i) m,n。因此,在实施过程中,只要采用本方案所涉及到的逻辑,无论数学公式的限定表达如何用其它方式代替,都应该在落入本申请的保护范围之内。
另外,对于本申请实施例中,未限定具体数量的字母或字符,其所表征的数量/个数,可以基于实际情况和/或上下文所确定,以及,未限定个数的字母或字符所代表的数量/个数可以包括在整数的范围内。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种数据处理方法,其特征在于,包括:
基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;
在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;
基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息;
所述确定所述本次计算的第一消息为本次有效的第一消息,包括:
基于所述本次计算的第一消息对应的比特掩码中的有效比特位,对所述本次计算的第一消息进行处理,得到所述本次有效的第一消息;
其中,所述比特掩码与所述校验节点对应,所述比特掩码的维度与所述校验节点相连的变量节点的数目相同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述本次计算的第一消息的第一符号类别,和上次传输的第一消息的第二符号类别;
在所述第一符号类别和所述第二符号类别相同的情况下,确定所述本次计算的第一消息为所述本次有效的第一消息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在上次传输的第一消息为无效的第一消息的情况下,确定所述本次计算的第一消息为所述本次有效的第一消息。
4.根据权利要求1至3任一项所述的方法,其特征在于,
在所述本次计算的第一消息属于所述特定范围之外,所述本次计算的第一消息的第一符号类别,与上次传输的第一消息的第二符号类别不同,且上传传输的第一消息为有效的第一消息的情况下,确定所述本次计算的第一消息为本次无效的第一消息。
5.根据权利要求4所述的方法,其特征在于,基于以下公式(1)确定所述本次计算的第一消息为有效的第一消息或无效的第一消息:
其中,αm,n (i)为本次或第i次传输的变量节点n到校验节点m的消息;为本次或第i次计算的变量节点n到校验节点m的消息;αm,n (i-1)为上次或第i-1次迭代的变量节点n到校验节点m的消息;/>为本次或第i次计算的变量节点n到校验节点m的消息的第一符号类别;sgn(αm,n (i-1))为上次或第i-1次迭代的变量节点n到校验节点m的消息的第二符号类别;αTH为特定阈值;
其中,i为大于或等于1的任一整数;n为大于或等于1,且小于或等于变量节点的数量的整数,m为大于或等于1,且小于或等于校验节点的数量的整数;
其中,表示本次或第i次计算的第一消息为有效的第一消息,αm,n (i)=0表示本次或第i次计算的第一消息为无效的第一消息。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述基于获得的软比特信息,确定本次计算的第一消息,包括:
基于所述软比特信息,确定本次传输的第二消息;
基于所述软比特信息和所述本次传输的第二消息,确定本次的变量节点的状态;
基于所述本次传输的第二消息,和所述本次的变量节点的状态,确定所述本次计算的第一消息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述软比特信息,确定本次传输的第二消息,包括:
基于所述软比特信息,确定上次传输的第一消息的第二符号类别的集合,和上次传输的第一消息的绝对值的最小值和次小值;
基于缩放因子、所述第二符号类别的集合、所述最小值和所述次小值,确定所述本次传输的第二消息。
8.根据权利要求7所述的方法,其特征在于,基于以下公式(2)确定所述本次传输的第二消息:
其中,βm,n (i)为本次或第i次传输的校验节点m到变量节点n的消息;v为所述缩放因子;αm,n'为第上次传输的变量节点n'到校验节点m的消息;
其中,i为大于或等于1的整数;n为大于或等于1,且小于或等于变量节点的数量的整数;m为大于或等于1,且小于或等于校验节点的数量的整数。
9.根据权利要求4所述的方法,其特征在于,所述确定所述本次计算的第一消息为本次无效的第一消息,包括:
基于所述本次计算的第一消息对应的比特掩码中的无效比特位,对所述本次计算的第一消息进行处理,得到所述本次无效的第一消息;
其中,所述比特掩码与所述校验节点对应,所述比特掩码的维度与所述校验节点相连的变量节点的数目相同。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
基于所述无效比特位,确定下次计算的第一消息,为下次有效的第一消息;
设置所述无效比特位为有效比特位。
11.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定本次传输的第一消息集合,所述本次传输的第一消息集合包括所述本次有效的第一消息和所述本次无效的第一消息;
基于缩放因子,和所述本次传输的第一消息集合,确定下次传输的第二消息的集合;
基于所述软比特信息和所述下次传输的第二消息的集合,确定下次的变量节点的状态的集合;
对所述下次的变量节点的状态的集合进行硬判决,得到估计序列;
在所述估计序列与校验矩阵的转置的乘积为零的情况下,确定所述估计序列为译码结果,输出所述译码结果。
12.根据权利要求1至3任一项所述的方法,其特征在于,所述本次计算的第一消息属于特定范围,包括:
所述本次计算的第一消息的绝对值大于特定阈值;或者,
所述本次计算的第一消息大于第一阈值;或者,
所述本次计算的第一消息小于第二阈值。
13.一种数据处理装置,其特征在于,包括:
第一确定单元,用于基于获得的软比特信息,确定本次计算的第一消息;所述第一消息为变量节点到校验节点的消息;
第二确定单元,用于在所述本次计算的第一消息属于特定范围的情况下,确定所述本次计算的第一消息为本次有效的第一消息;
所述第二确定单元,还用于基于所述本次有效的第一消息,确定下次的第二消息;所述第二消息为校验节点到变量节点的消息;
所述第二确定单元,还用于基于所述本次计算的第一消息对应的比特掩码中的有效比特位,对所述本次计算的第一消息进行处理,得到所述本次有效的第一消息;其中,所述比特掩码与所述校验节点对应,所述比特掩码的维度与所述校验节点相连的变量节点的数目相同。
14.一种译码器,其特征在于,包括:存储器和处理器,
所述存储器存储有可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现权利要求1至12任一项所述方法中的步骤。
15.一种数据处理设备,其特征在于,包括:权利要求14所述的译码器。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至12中任一项所述方法中的步骤。
17.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1至12任一项所述方法中的步骤。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机存储介质,所述计算机存储介质存储计算机程序代码,所述计算机程序代码包括能够由至少一个处理器执行的指令,当所述指令由所述至少一个处理器执行时实现权利要求1至12任一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010777258.8A CN112039533B (zh) | 2020-08-05 | 2020-08-05 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010777258.8A CN112039533B (zh) | 2020-08-05 | 2020-08-05 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039533A CN112039533A (zh) | 2020-12-04 |
CN112039533B true CN112039533B (zh) | 2023-10-10 |
Family
ID=73582175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010777258.8A Active CN112039533B (zh) | 2020-08-05 | 2020-08-05 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039533B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN108494412A (zh) * | 2018-04-17 | 2018-09-04 | 国家新闻出版广电总局广播科学研究院 | 一种基于参数估计的多因子修正ldpc码译码方法及装置 |
WO2020077596A1 (zh) * | 2018-10-18 | 2020-04-23 | 华为技术有限公司 | Ldpc码的译码方法和装置 |
CN111130563A (zh) * | 2018-10-30 | 2020-05-08 | 华为技术有限公司 | 处理信息的方法和装置 |
-
2020
- 2020-08-05 CN CN202010777258.8A patent/CN112039533B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN108494412A (zh) * | 2018-04-17 | 2018-09-04 | 国家新闻出版广电总局广播科学研究院 | 一种基于参数估计的多因子修正ldpc码译码方法及装置 |
WO2020077596A1 (zh) * | 2018-10-18 | 2020-04-23 | 华为技术有限公司 | Ldpc码的译码方法和装置 |
CN111130563A (zh) * | 2018-10-30 | 2020-05-08 | 华为技术有限公司 | 处理信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112039533A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4062435B2 (ja) | 誤り訂正符号復号装置 | |
KR101718543B1 (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
CN106301388B (zh) | 多进制ldpc码译码方法 | |
US20200044668A1 (en) | Method for ldpc decoding, ldpc decoder and storage device | |
WO2020077596A1 (zh) | Ldpc码的译码方法和装置 | |
EP3364578B1 (en) | Parallel decoding for qc-ldpc codes | |
CN110784232A (zh) | 一种空间耦合ldpc码滑窗译码方法 | |
CN108270510B (zh) | 基于ldpc码的通信方法和通信设备 | |
CN106856406B (zh) | 一种译码方法中校验节点的更新方法及译码器 | |
CN111669187A (zh) | 译码方法及装置、设备、存储介质 | |
CN111130563B (zh) | 处理信息的方法和装置 | |
CN106998240A (zh) | 一种译码方法及译码器 | |
CN112039533B (zh) | 数据处理方法、装置、译码器、设备及计算机存储介质 | |
WO2020224386A1 (zh) | 一种数据译码的方法以及装置 | |
WO2017045142A1 (zh) | Ldpc截短码的译码方法和译码设备 | |
CN108234066B (zh) | 基于ldpc的通信方法和通信设备 | |
WO2020042089A1 (zh) | Scl并行译码方法、装置及设备 | |
CN112260697B (zh) | 译码方法、装置及设备 | |
CN114362763A (zh) | 联合译码方法及装置、存储介质及电子设备 | |
CN109921877B (zh) | 一种awgn信道下基于cuda架构的ldpc码并行译码方法 | |
US10903855B2 (en) | Convolutional LDPC decoding method and apparatus, decoder, and system | |
TWI657669B (zh) | 低密度奇偶檢查碼解碼器及其解碼方法 | |
WO2020052754A1 (en) | Simplified check node processing for ldpc decoding | |
GB2487232A (en) | Bit Flipping in LDPC/Turbo Decoding | |
WO2019200971A1 (zh) | 一种极化Polar码的译码方法及通信设备 |
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 |