CN112653475B - Scl译码方法、装置及设备 - Google Patents
Scl译码方法、装置及设备 Download PDFInfo
- Publication number
- CN112653475B CN112653475B CN201910968325.1A CN201910968325A CN112653475B CN 112653475 B CN112653475 B CN 112653475B CN 201910968325 A CN201910968325 A CN 201910968325A CN 112653475 B CN112653475 B CN 112653475B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- storage space
- decoding
- llrs
- 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 82
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 27
- 230000006854 communication Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 241000169170 Boreogadus saida Species 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001505100 Succisa pratensis Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition 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/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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种SCL译码方法、装置及设备,应用于蝶型译码网络,蝶型译码网络包括n+1层节点,蝶型译码网络的第n‑1层节点包括用于执行第一运算的N/2个第一节点,任意一个第一节点执行第一运算,包括:获取第一节点对应的L个部分和,L为SCL译码的路径保留数,L为大于2的整数,N为输入译码器的LLR的个数,N=2n;在第一存储空间中获取第一节点对应的两个运算结果,第一存储空间的大小的N*Qα比特,第一存储空间用于存储每个第一节点对应的两个运算结果:在部分和为1时执行第一运算的运算结果、以及在部分和为0时执行第一运算的运算结果,Qα为一个对数似然比LLR的位宽;根据L个部分和、以及两个运算结果,执行第一运算。降低了SCL译码的空间复杂度。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种SCL译码方法、装置及设备。
背景技术
在通信技术领域,通信设备(例如终端设备、基站等)可以通过极化码(Polar码)的方式进行信道编码和译码。
在相关技术中,在通过极化码进行译码时,可以采用串行抵消列表(SuccessiveCancellation List,SCL)算法进行译码。在进行译码过程中,蝶型译码网络中的每层节点,通常需要 比特的存储空间用来存储节点运算所需的对数似然比(likelihood rate,LLR),其中,N为码长,L为SCL译码算法对应的路径保留数,Qα为一个LLR的位宽。
然而,上述方法,译码所需的存储空间较多,导致译码的空间复杂度高。
发明内容
本申请提供一种SCL译码方法、装置及设备,降低了SCL译码的空间复杂度。
第一方面,本申请实施例提供一种SCL译码方法,应用于蝶型译码网络,蝶型译码网络包括n+1层节点,蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点,针对N/2个第一节点中的任意一个第一节点,第一节点可以通过如下方式执行第一运算:获取第一节点对应的L个部分和,在第一存储空间中获取第一节点对应的两个运算结果,根据L个部分和、以及两个运算结果,执行第一运算。其中,L为SCL译码的路径保留数,L为大于2的整数,N为输入译码器的LLR的个数,N=2n,n为大于或等于1的整数;第一存储空间的大小的N*Qα比特,第一存储空间用于存储每个第一节点对应的两个运算结果,第一节点对应的两个运算结果包括:在部分和为1时执行第一运算的运算结果、以及在部分和为0时执行第一运算的运算结果,Qα为一个对数似然比LLR的位宽。
在上述过程中,对于第n-1层中的每个第一节点,在进行第一运算时,先预先计算得到第一节点对应的两个运算结果,并在第一存储空间中存储第一节点对应的两个运算结果。这样,在第一节点进行第一运算时,根据第一节点对应的部分和在该两个运算结果中选择对应的运算结果即可,即,对于每个第一节点,在进行第一运算时,只需2*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。而在相关技术中,对于第n-1层中的每个第一节点,在进行第一运算时,分别根据第一节点对应的每个部分和序进行一次第一运算,第一节点对应L个部分和,因此,相关技术中,对于每个第一节点,在进行第一运算时,需要L*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。由于L大于2,因此,本申请中第n-1层第一节点在进行第一运算时,所需的存储空间较少,降低了译码的空间复杂度。
在一种可能的实施方式中,在第一存储空间中获取第一节点对应的两个运算结果之前,还可以计算每个第一节点对应的两个运算结果,得到N个运算结果,并将N个运算结果存储至第一存储空间。
在上述过程中,预先计算并存储每个第一节点对应的两个运算结果,每个节点对应的两个运算结果所需的存储空间为2*Qα比特,这样,在第一节点执行第一运算时,根据第一节点对应的部分和在该两个运算结果中选择对应的运算结果即可,使得第一节点执行第一运算时所需的存储空间较少。
在一种可能的实施方式中,针对N/2个第一节点中的任意一个第一节点;计算第一节点对应的两个运算结果的过程可以为:在N个LLR中确定第一节点对应的LLR,N个LLR为根据接收到的数据确定得到的;根据第一节点对应的LLR和第一部分和执行第一运算,得到第一运算结果,第一部分和的值为1;根据第一节点对应的LLR和第二部分和执行第一运算,得到第二运算结果,第二部分和的值为0,第一节点对应的两个运算结果包括第一运算结果和第二运算结果。
在上述过程中,第一节点对应的部分和为0或1,因此,根据上述方法计算得到的第一节点对应的两个运算结果包括了:根据第一节点对应的部分和计算得到的、所有可能的运算结果。
在一种可能的实施方式中,可以通过如下方式获取第一节点对应的L个部分和:获取N/2个第一节点对应的L个部分和序列,根据第一节点在N/2个第一节点中的序号,在L个部分和序列中确定L个部分和。其中,每个部分和序列中包括N/2个部分和,L个部分和序列包括第n-1层节点中的N/2个第二节点的硬判值,N/2个第二节点为第n-1层节点中除N/2个第一节点之外的节点。
在上述过程中,根据上述方法可以准确的在L个部分和序列中确定得到第一节点对应的L个部分和。
在一种可能的实施方式中,根据L个部分和、以及两个运算结果,执行第一运算的过程可以包括:针对L个部分和中的任意一个第三部分和,在两个运算结果中选择第三部分和对应的第三运算结果,计算第三运算结果所使用的部分和的值与第三部分和的值相同。
在上述过程中,因为第一节点对应的两个运算结果中包括了:根据第一节点对应的部分和计算得到的、所有可能的运算结果,因此,针对第一节点对应的L个部分和中的任意一个第三部分和,可以在第一节点对应的两个运算结果中选择得到第三部分和对应的第三运算结果。其中,第三运算结果与根据第三部分和执行第一运算得到的运算结果相同。
在一种可能的实施方式中,获取第一节点对应的L个部分和之前,还可以为SCL译码分配第二存储空间;其中,第一存储空间为第二存储空间的一部分,第二存储空间中用于存储蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:
其中,N为输入译码器的LLR的个数,L为SCL译码算法对应的路径保留数,Qα为一个LLR的位宽,QPM为路径度量值的位宽。
在一种可能的实施方式中,第二存储空间的大小为:
其中,N为输入译码器的LLR的个数,L为SCL译码算法对应的路径保留数,Qα为一个LLR的位宽,QPM为路径度量值的位宽。
在上述过程中,由于第二存储空间中用于存储蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:而相关技术中,用于存储蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:由于L大于2,因此,在本申请中,减少了SCL译码所需的存储空间,降低了SCL译码的空间复杂度。
在一种可能的实施方式中,第一运算为g运算。
第二方面,本申请实施例提供一种SCL译码装置,应用于蝶型译码网络,所述蝶型译码网络包括n+1层节点,所述蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点;所述装置包括第一获取模块、第二获取模块和运算模块,其中,
所述第一获取模块用于,获取所述第一节点对应的L个部分和,所述L为所述SCL译码的路径保留数,所述L为大于2的整数,所述N为输入译码器的LLR的个数,N=2n,所述n为大于或等于1的整数;
所述第二获取模块用于,在第一存储空间中获取所述第一节点对应的两个运算结果,所述第一存储空间的大小的N*Qα比特,所述第一存储空间用于存储每个第一节点对应的两个运算结果,所述第一节点对应的两个运算结果包括:在部分和为1时执行所述第一运算的运算结果、以及在部分和为0时执行所述第一运算的运算结果,所述Qα为一个对数似然比LLR的位宽;
所述运算模块用于,根据所述L个部分和、以及所述两个运算结果,执行所述第一运算。
在一种可能的实施方式中,所述装置还包括存储模块,其中,
所述运算模块还用于,在所述第二获取模块在第一存储空间中获取所述第一节点对应的两个运算结果之前,计算每个第一节点对应的两个运算结果,得到N个运算结果;
所述存储模块用于,将所述N个运算结果存储至所述第一存储空间。
在一种可能的实施方式中,所述运算模块具体用于:
针对所述N/2个第一节点中的任意一个第一节点,在N个LLR中确定所述第一节点对应的LLR,所述N个LLR为根据接收到的数据确定得到的;
根据所述第一节点对应的LLRR和第一部分和执行所述第一运算,得到第一运算结果,所述第一部分和的值为1;
根据所述第一节点对应的LLR和第二部分和执行所述第一运算,得到第二运算结果,所述第二部分和的值为0,所述第一节点对应的两个运算结果包括所述第一运算结果和所述第二运算结果。
在一种可能的实施方式中,所述第一获取模块具体用于:
获取所述N/2个第一节点对应的L个部分和序列,每个部分和序列中包括N/2个部分和,所述L个部分和序列包括所述第n-1层节点中的N/2个第二节点的硬判值,所述N/2个第二节点为所述第n-1层节点中除所述N/2个第一节点之外的节点;
根据所述第一节点在所述N/2个第一节点中的序号,在所述L个部分和序列中确定所述L个部分和。
在一种可能的实施方式中,所述运算模块具体用于:
针对所述L个部分和中的任意一个第三部分和,在所述两个运算结果中选择所述第三部分和对应的第三运算结果,计算所述第三运算结果所使用的部分和的值与所述第三部分和的值相同。
在一种可能的实施方式中,所述装置还包括分配模块,其中,
所述分配模块用于,在所述第一获取模块获取所述第一节点对应的L个部分和之前,为所述SCL译码分配第二存储空间;其中,所述第一存储空间为所述第二存储空间的一部分,所述第二存储空间中用于存储所述蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
在一种可能的实施方式中,所述第二存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
在一种可能的实施方式中,所述第一运算为g运算。
第三方面,本申请实施例提供一种SCL译码装置,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现第一方面任一项所述的SCL译码方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现第一方面任一项所述的SCL译码方法。
本申请实施例提供的SCL译码方法、装置及设备,可以通过蝶型译码网络进行SCL译码,蝶型译码网络包括n+1层节点,蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点,对于第n-1层中的每个第一节点,在进行第一运算时,先预先计算得到第一节点对应的两个运算结果,并在第一存储空间中存储第一节点对应的两个运算结果。这样,在第一节点进行第一运算时,根据第一节点对应的部分和在该两个运算结果中选择对应的运算结果即可,即,对于每个第一节点,在进行第一运算时,只需2*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。而在相关技术中,对于第n-1层中的每个第一节点,在进行第一运算时,分别根据第一节点对应的每个部分和序进行一次第一运算,第一节点对应L个部分和,因此,相关技术中,对于每个第一节点,在进行第一运算时,需要L*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。由于L大于2,因此,本申请中第n-1层第一节点在进行第一运算时,所需的存储空间较少,降低了译码的空间复杂度。
附图说明
图1为本申请提供的通信系统的架构图;
图2为本申请提供的一种SCL译码方法的流程示意图;
图3为本申请实施例提供的译码路径示意图;
图4A为本申请提供的SCL译码的第一步译码示意图;
图4B为本申请提供的SCL译码的第二步译码示意图;
图4C为本申请提供的SCL译码的第三步译码示意图;
图4D为本申请提供的SCL译码的第四步译码示意图;
图5为本申请实施例提供的蝶型译码网络的结构示意图;
图6为本申请实施例提供的译码结构示意图;
图7为本申请实施例提供的SCL译码方法的流程示意图;
图8为本申请实施例提供的一种SCL译码装置的结构示意图;
图9为本申请实施例提供的另一种SCL译码装置的结构示意图;
图10为本申请提供的SCL译码装置的硬件结构示意图。
具体实施方式
本申请实施例可以应用于各种采用Polar编码的领域,例如:数据存储领域、光网络通信领域,无线通信领域等等。其中,本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(narrow band-internet of things,NB-IoT)、Wimax、长期演进系统(longterm evolution,LTE)以及下一代5G移动通信系统新空口(new radio,NR)的三大应用场景增强型移动宽带(enhanced mobile broad band,eMBB)、超高可靠与低延迟的通信(ultrareliable low latency communication,URLLC)以及大规模机器通信(massive machine-type communications,mMTC)。当然,采用Polar编码的领域还可以为其它,本申请对此不作具体限定。
本申请涉及的通信装置主要包括网络设备或者终端设备。本申请中的发送设备可以为网络设备,则接收设备为终端设备。本申请中的发送设备为终端设备,则接收设备为网络设备。
在本申请实施例中,终端设备(terminal device)包括但不限于移动台(mobilestation,MS)、移动终端(mobile terminal,MT)、移动电话(mobile telephone,MT)、手机(handset)及便携设备(portable equipment)等,该终端设备可以经无线接入网(radioaccess network,RAN)与一个或多个核心网进行通信。例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。
本申请结合网络设备描述了各个实施例。网络设备可以是LTE系统中的演进型基站(evolutional node B,eNB或eNodeB),或者,网络设备可以是5G通信系统中的gNB或者传输和接收点(transmission reception point,TRP)、微基站等,或者网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来演进的公共陆地移动网络(public landmobile network,PLMN)中的网络设备,或者在其他多种技术融合的网络中,或者在其他各种演进网络中的基站等。
图1为本申请提供的通信系统的架构图。请参见图1,包括发送设备101和接收设备102。
可选的,当发送设备101为终端设备时,则接收设备102为网络设备。当发送设备101为网络设备时,则接收设备为终端设备。
请参见图1,发送设备101包括编码器,从而发送设备101可以进行polar编码并输出编码后序列。编码后序列经过速率匹配、交织以及调制后在信道上传输至接收设备102。接收设备102包括译码器,接收设备102可以接收发送设备101发送的信号,对接收到的信号进行译码。
需要说明的是,图1只是以示例的形式示意一种通信系统的架构图,并非对通信系统的架构图的限定。
在通信过程中,发送端对信息比特和冻结比特进行编码,得到待发送比特序列,并发送待发送比特序列,可选的,冻结比特为填充比特,冻结比特通常可以为0。待发送比特序列经过速率匹配、交织以及调制后经过信道传输至接收端。接收端对接收到的信号进行解调等处理,得到一组LLR,该组LLR中包括的LLR的个数与待发送比特序列中包括的比特个数相同。接收端根据接收到的一组LLR进行Polar码译码。其中,不管发送端发比特1还是比特0,接收端都可能误判。对于信号r,在接收端正确判为0的概率p(r|b=0)与正确判为1的概率p(r|b=1)]的比值就是似然比。为了方便计算处理,对似然比取自然对数,则可以得到对数似然比,也即LLR=ln[p(r|b=0)/p(r|b=1)]。LLR可以是浮点数。
本申请应用于SCL译码,为了便于理解,下面,结合图2对SCL译码的过程进行说明。
图2为本申请提供的一种SCL译码方法的流程示意图。请参见图2,该方法可以包括:
S201、获取到N个LLR。
其中,N=2n,n为大于或等于1的正整数。
可选的,在接收设备接收到信息之后,对信息进行解调得到N个LLR。
可选的,接收设备获取到的LLR的个数,与发送设备发送的比特的个数相同。
例如,假设发送设备发送的待发送比特序列中包括N个比特,则接收设备获取到N个LLR。
可选的,接收设备获取到的LLR的个数,与接收设备待译码比特的个数相同。
例如,假设接收设备获取到N个LLR,则接收设备需要译码的比特个数为N个。
在接收设备中,译码器将N个LLR作为输入进行译码。
S202、将N个待译码比特分为P组待译码比特。
其中,每组待译码比特包括m个比特,N=P×m,P为大于1的正整数,m为大于或等于1的正整数。
可选的,每组待译码比特中包括待译码信息比特和/或待译码冻结比特,每组待译码比特中包括的待译码信息比特的个数可以相同,也可以不同。
可选的,还可以将每组待译码比特中包括的比特个数m称为SCL译码的并行度。
例如,假设待译码比特的个数为16(即24)个,则可以将待译码比特分为P=4组,每组待译码比特中包括4个待译码比特。
S203、根据N个LLR,以P组待译码比特为译码对象进行P步译码,直至获取得到译码结果。
在SCL译码过程中,每一步译码均保留至少两条译码路径,下面,结合图3,以N=4,路径保留数L=2为例,对CA-SCL译码的路径搜索过程进行说明。
图3为本申请实施例提供的译码路径示意图。请参见图3,在译码过程中,每一步译码均保留两条译码路径。从根节点到任何一个节点所形成的路径,均对应一个路径度量值。每次进行路径扩展时,选择当前层中路径度量值最大的L=2条路径。到达叶节点后,按路径度量值从小到大的顺序输出L=2条路径对应的译码序列,构成候选译码序列集合。对候选译码序列进行CRC校验,选出能通过CRC校验的路径度量值最大的路径作为最后的译码结果。
CA-SCL译码中,路径度量值为该路径所对应的译码序列的概率,可以为:
若ui为信息比特或正确的固定比特,且则路径度量值可以为:
若ui为信息比特或正确的固定比特,且则路径度量值可以为:
若ui为固定比特,且取值错误,则路径度量值可以为:
其中,N为输入译码器的LLR的个数,为第i个信息比特,为从信道接收的符号序列(还可以称为信道接收值)。可以为 是序号为i的极化子信道的转移概率函数,表示发送信号ui通过信道得到输出和的概率,ui为0或1。
在实际应用过程中,可以通过蝶型译码网络进行SCL译码。蝶型译码网络中通常包括n+1层节点,按照从左到右的顺序,可以分别记为第0层节点、第1层节点、……、第n层节点。当然,按照从左到右的顺序,还可以分别记为第1层节点、第2层节点、……、第n+1层节点,在本申请实施例中,以从低0层节点至第n层节点为例进行说明。
下面,结合图4A-图4D,以N=16、m=4、路径保留数L=4为例,对通过蝶型译码网络进行SCL译码的过程进行说明。图4A为本申请提供的SCL译码的第一步译码示意图。图4B为本申请提供的SCL译码的第二步译码示意图。图4C为本申请提供的SCL译码的第三步译码示意图。图4D为本申请提供的SCL译码的第四步译码示意图。
请参见图4A-图4D,蝶型译码网络中包括5层节点,从左到右分别记为第0层节点、第1层节点、第2层节点、第3层节点和第4层节点。接收端接收到16个LLR,分别记为LLR0、LLR1、……、LLR15,相应的待译码比特的个数为16个,分别记为u0、u1、……、u15。将16个待译码比特分为4组,每组待译码比特包括4个待译码比特,该4组待译码比特中包括的待译码比特如表1所示:
表1
第一组待译码比特 | u0、u1、u2、u3 |
第二组待译码比特 | U4、u5、u6、u7 |
第三组待译码比特 | U8、u9、u10、u11 |
第四组待译码比特 | U12、u13、u14、u15 |
请参见图4A-图4D,在蝶型译码网络中包括5列LLR(或5级LLR),从左向右第一列LLR为第一级LLR,第二列LLR为第二级LLR,以此类推,第五列LLR为第五级LLR。
在第一步译码中,请参见图4A,先根据LLR0、LLR1、……、LLR15,计算出第一组待译码比特(u0-u3)对应的第2层节点的LLR。再采用ML算法或简化SC算法等,并行计算u0-u3的LLR,并根据u0-u3的LLR并行计算第一组待译码比特的每条可能译码路径的路径度量值。假设第一组待译码比特中包括4个信息比特,则第一组待译码比特的所有可能译码路径数为24条,分别为:0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110和1111。假设路径保留数为4,则根据该16条译码路径的路径度量值,在该16条路径中选择4条译码路径,例如,假设选择的译码路径为0011、0100、1001、1010。
在第二步译码中,请参见图4B,先根据LLR0、LLR1、……、LLR15,计算出第二组待译码比特(u4-u7)对应的第2层节点的LLR。假设第二组待译码比特中包括4个信息比特,则针对第一步译码中选择的4条译码路径中的每一条译码路径,均可以扩展得到16条译码路径,一共可以得到4*16=64条译码路径,例如,对于第一步译码中选择的译码路径0011,可以扩展得到的16条译码路径包括:00110000、00110001、00110010、00110011、00110100、00110101、00110110、00110111、00111000、00111001、00111010、00111011、00111100、00111101、00111110和00111111。根据64条译码路径的路径度量值在该64条译码路径中选择4条保留译码路径。
与第二步译码类似,执行第三步译码和第四步译码。在第四步译码之后可以得到4条保留译码路径,并在该4条译码路径中选择一条译码路径作为译码结果。
假设输入译码器的LLR的个数为N(N=2n)个时,则蝶型译码网络中包括n+1层节点,每层节点中包括N个节点。在第0层至第n-1层节点中,每层节点中均存在N/2个节点用于执行f运算,以确定各自节点的LLR,每层节点中存在N/2个节点用于执行g运算,以确定各自节点的LLR。第n层节点的LLR通常分别为接收到的数据对应的N个LLR。
下面,结合图5,对蝶型译码网络中用于执行f运算的节点、以及用于执行g运算的节点进行说明。
图5为本申请实施例提供的蝶型译码网络的结构示意图。请参见图5,假设N=8,则蝶型译码网络中包括4层节点,每层节点中包括8个节点。对于第0层节点,第0、2、4、6个节点用于执行f运算,第1、3、5、7个节点用于执行g运算。对于第1层节点,第0、1、4、5个节点用于执行f运算,第2、3、6、7个节点用于执行g运算。对于第2层节点,第0、1、2、3个节点用于执行f运算,第4、5、6、7个节点用于执行g运算。对于第3层节点,该8个节点的LLR分别为输入译码器的LLR。
上述SCL译码过程通常包括f运算和g运算,下面,以路径保留数N=16、L=4结合图6,对SCL译码过程中的f运算和g运算进行说明。
图6为本申请实施例提供的译码结构示意图。请参见图6、以及图4A-图4D,图6中的第1行中的16个节点a0~a15对应图4A-图4D中的第5层中的16个节点,图6中的第2行中的16个节点a0~a15对应图4A-图4D中的第4层中的16个节点,图6中的第3行中的16个节点a0~a15(未示出)对应图4A-图4D中的第3层中的16个节点。
请参见图6、以及图4A-图4D,在译码过程中,将获取得到的16个LLR分别作为第1行中的16个节点的LLR,根据第1行16个节点的LLR进行f运算,得到第2行中节点a0~a7的LLR,根据第2行中节点a0~a7的LLR进行f运算,得到第3行中节点a0~a3的LLR,根据第3行中节点a0~a3的LLR计算得到第一组待译码比特(u0-u3)对应的16条译码路径,假设路径保留数为4,则在该16条译码路径中选择4条译码路径,该4条译码路径还可以称为4个部分和序列,每个部分和序列中包括4个硬判值(0或1),每一个硬判值还可以称为一个部分和。将选择的4条译码路径(4个部分和序列β1)返回至第2行中的节点a0~a7,每个部分和序列β1中均包括4个硬判值。
根据第2行中的节点a0~a7的LLR和4个部分和序列β1进行g运算,得到第二组待译码比特(u4-u7)对应的16条译码路径,并在该16条译码路径中选择4条译码路径,该4条译码路径称为4个部分和序列β2,每个部分和序列β2中均包括4个硬判值。将该4个部分和序列β2返回至第2行中的节点a0~a7。第2行中的节点a0~a7根据4个部分和序列β1和4个部分和序列β2,确定4个部分和序列β3,并向第1行中的节点a0~a15返回4个部分和序列β3,每个部分和序列β3中包括8个硬判值。
第1行中的节点a0~a15根据第1行中节点a0~a15的LLR和4个部分和序列β3执行g运算,得到第2行节点a8~a15的LLR,依次类推,第2行中的节点a8~a15向第1行中的节点a0~a15返回4个部分和序列β6,每个部分和序列β6中包括8个硬判值,第1行中的节点a0~a15根据4个部分和序列β3和4个部分和序列β6确定译码结果。
在上述过程中,f运算可以通过如下公式实现:
g运算可以通过如下公式实现:
在上述f运算和g运算中,L1和L2分别为:
可以为: 是序号为i的极化子信道的转移概率函数,表示发送信号ui通过信道得到输出和的概率,ui为0或1。
在上述公式中,N为输入译码器的LLR的个数,i为信息比特的序号,为从信道接收的符号序列(还可以称为信道接收值),为译码器对从信道接收到的信息进行估计得到的估计值,sign()为符号函数,min()为取最小值函数,o是奇数编号(odd编号),e是偶数编号(even编号)。
需要说明的是,上述图4A-图4D所示的译码过程、以及图6所示的译码过程是从不同的角度对SCL译码过程进行描述,其实际所指的译码过程相同。
在上述SCL译码过程中,需要存储的数据包括:节点的LLR、部分和、以及路径度量值。其中,在相关技术中,假设LLR的位宽为Qα,则SCL译码过程中用于存储LLR的存储空间的大小通常为:假设路径度量值的位宽为QPM,则SCL译码过程中用于存储路径度量值的存储空间的大小通常为L*QPM。SCL译码过程中用于存储部分和的存储空间的大小通常为(2N-1)*L。
在本申请中,为了降低SCL译码过程中用于存储LLR的存储空间的大小,对蝶形译码网络中的第n-1层中的N/2个节点执行g运算的运算过程进行改进,下面,结合图6,对第n-1层中的N/2个节点执行g运算的运算过程进行说明。
图7为本申请实施例提供的SCL译码方法的流程示意图。请参见图7,该方法可以包括:
S701、获取N个LLR。
其中,该N个LLR可以为输入译码器的N个LLR,即,该N个LLR为接收端根据接收到的数据确定得到的LLR。
S702、根据N个LLR,计算第n-1层中每个第一节点对应的两个运算结果,得到N个运算结果。
其中,第一节点为第n-1层中用于执行g运算的节点。
第n-1层中包括N/2个第一节点,根据N个LLR可以计算得到每个第一节点对应的两个运算结果,则对于该N/2个第一节点,一共可以得到N个运算结果。
针对N/2个第一节点中的任意一个第一节点,可以通过如下方式计算第一节点对应的两个运算结果:在N各LLR中获取第一节点对应的LLR,该N个LLR为根据接收到的数据确定得到的,该N个LLR还可以称为第n层节点的LLR;根据第一节点对应的LLR和第一部分和(第一部分和的值为1)执行第一运算,得到第一运算结果;根据第一节点对应的LLR和第二部分和(第二部分和的值为0)执行第一运算,得到第二运算结果,第一节点对应的两个运算结果包括第一运算结果和第二运算结果。
例如,请参见图4C,当第一节点为第3层(第4列)节点中的第9个节点时,则该第一节点对应的LLR为LLR0和LLR8。当第一节点为第3层(第4列)节点中的第10个节点时,则该第一节点对应的LLR为LLR1和LLR9,依次类推。
S703、将N个运算结果存储至第一存储空间。
可选的,第一存储空间可以为在SCL译码之前预先分配的。
例如,在SCL译码之前,可以预先分配第二存储空间,第二存储空间的大小可以为:
其中,N为输入译码器的LLR的个数,L为SCL译码算法对应的路径保留数,Qα为一个LLR的位宽,QPM为路径度量值的位宽。
在上述第二存储空间中,用于存储蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:其中,N*Q为第n层节点在执行译码运算时所需的LLR所占的存储空间的大小,为第n-1层节点在执行译码运算时所需的LLR所占的存储空间的大小,为第n-2层节点在执行译码运算时所需的LLR所占的存储空间的大小,为第n-3层节点在执行译码运算时所需的LLR所占的存储空间的大小,依次类推,1*L*Qα为第0层节点在执行译码运算时所需的LLR所占的存储空间的大小。
在上述第二存储空间中,L*QPM为用于存储路径度量值的存储空间的大小,(2*N-1)*L为用于存储部分和的存储空间的大小。
第二存储空间中包括第一存储空间,例如,第一存储空间可以为第二存储空间中预设位置上的存储空间。第一存储空间为蝶形译码网络中的第n-1层节点在执行译码运算时所需的LLR所占的存储空间的大小。
需要说明的是,S701-S703所示的过程,可以在SCL译码初始时执行,也可以在SCL译码过程中执行。即,S701-S703所示的过程在S704之前执行即可。
针对第n-1层中的任意一个第一节点,均执行S704-S706。
S704、获取第一节点对应的L个部分和。
其中,L为SCL译码的路径保留数,L为大于2的整数,N为输入译码器的LLR的个数,N=2n,n为大于或等于1的整数。
第一节点为蝶形译码网络中第n-1层中用于执行g运算的任意一个节点。例如,请参见图6,第一节点可以为第2行中节点a8~a15中的任意一个节点。
可选的,可以通过如下可行的实现方式获取第一节点对应的L个部分和:获取N/2个第一节点对应的L个部分和序列,根据第一节点在N/2个第一节点中的序号,在L个部分和序列中确定L个部分和。
每个部分和序列中包括N/2个部分和,L个部分和序列包括第n-1层节点中的N/2个第二节点的硬判值,N/2个第二节点为第n-1层节点中除N/2个第一节点之外的节点。例如,请参见图6,n-1层中的N/2个第一节点为图6中的第2行中的节点a8~a15,n-1层中的N/2个第二节点为图6中的第2行中的节点a0~a7,相应的,第二节点a0~a7返回的部分和序列为L个β3。
例如,假设N=16,L=4,则n-1层中的第二节点a0~a7返回4个部分和序列,假设该4个部分和序列分别为:01100110、11010101、01110010、01001101,则第一节点a8~a15对应的部分和序列分别如表2所示:
表2
第一节点 | 对应的4个部分和 | 备注 |
a8 | 0、1、0、0 | 4个部分和序列中的第一位 |
a9 | 1、1、1、1 | 4个部分和序列中的第二位 |
a10 | 1、0、1、0 | 4个部分和序列中的第三位 |
a11 | 0、1、1、0 | 4个部分和序列中的第四位 |
a12 | 0、0、0、1 | 4个部分和序列中的第五位 |
a13 | 1、1、0、1 | 4个部分和序列中的第六位 |
a14 | 1、0、1、0 | 4个部分和序列中的第七位 |
a15 | 0、1、0、1 | 4个部分和序列中的第八位 |
S705、在第一存储空间中获取第一节点对应的两个运算结果。
其中,第一存储空间的大小的N*Qα比特,第一存储空间用于存储每个第一节点对应的两个运算结果,第一节点对应的两个运算结果包括:在部分和为1时执行第一运算的运算结果、以及在部分和为0时执行第一运算的运算结果,Qα为一个LLR的位宽。第一运算可以为g运算。
可选的,第一存储空间中的、第一节点对应的两个运算结果可以为预先计算得到的。例如,可以在SCL译码开始时,计算第一节点对应的两个运算结果并存储至第一存储空间,也可以在第一节点执行第一运算时,计算第一节点对应的两个运算结果并存储至第一存储空间。
在实际应用过程中,第一节点对应的两个运算结果存储在第一存储空间中的预设位置,相应的,在第一存储空间中的预设位置获取第一节点对应的运算结果。或者,可以根据第一节点在N/2个第一节点中的序号,确定第一节点对应的两个运算结果在第一存储空间中的位置,并根据该位置在第一存储空间中获取第一节点对应的两个运算结果。例如,假设N/2个第一节点对应的运算结果在第一存储空间中依次存储,则第一存储空间中的第一个运算结果和第二个运算结果为第一个第一节点(序号为1)对应的两个运算结果,第一存储空间中的第三个运算结果和第四个运算结果为第二个第一节点(序号为2)对应的两个运算结果,依次类推,可以在第一存储空间中确定得到每个第一节点对应的两个运算结果。
S706、根据L个部分和、以及两个运算结果,执行第一运算。
针对L个部分和中的任意一个第三部分和,在两个运算结果中选择第三部分和对应的第三运算结果,将该第三运算结果确定为该第三部分和对应的执行第一运算的运算结果。针对L个部分和中的每个部分和,均执行上述过程,得到L个部分和中每个部分和对应的执行第一运算的运算结果。
例如,假设第一节点对应的两个运算结果为:部分和0对应的运算结果S0、以及部分和1对应的运算结果S1,假设L个部分和分别为:0、1、1、0,则对于第一个部分和(0),则第一个部分和(0)对应的第三运算结果为S0,对于第二个部分和(1),第二个部分和(1)对应的第三运算结果为S1,对于第三个部分和(1),第三个部分和(1)对应的第三运算结果为S1,对于第四个部分和(0),第四个部分和(0)对应的第三运算结果为S0,即,根据该4个部分和(0、1、1、0)、以及两个运算结果(S0和S1)执行第一运算,得到的运算结果分别为:S0、S1、S1、S0。
在上述过程中,对于第n-1层中的每个第一节点,在进行第一运算时,先预先计算得到第一节点对应的两个运算结果,并在第一存储空间中存储第一节点对应的两个运算结果。这样,在第一节点进行第一运算时,根据第一节点对应的部分和在该两个运算结果中选择对应的运算结果即可,即,对于每个第一节点,在进行第一运算时,只需2*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。
而在相关技术中,对于第n-1层中的每个第一节点,在进行第一运算时,分别根据第一节点对应的每个部分和序进行一次第一运算,第一节点对应L个部分和,因此,相关技术中,对于每个第一节点,在进行第一运算时,需要L*Qα比特的存储空间。对于第n-1层的N/2个第一节点,需要比特的存储空间。
在本申请中,由于L大于2,因此,本申请中第n-1层第一节点在进行第一运算时,所需的存储空间较少。
例如,假设N=16,L=32,则在本申请所示的SCL译码过程中,用于存储所需的LLR的存储空间的大小约为107KB。而在相关技术中,在SCL译码过程中,用于存储所需的LLR的存储空间的大小约为198KB。本申请相较于相关技术,SCL译码过程中用于存储所需的LLR的存储空间的大小降低了46%。
下面,通过具体示例,对图7实施例所示的SCL译码方法进行说明。
示例性的,请参见图6,假设N=16,L=4,假设在SCL译码开始后,计算第2行节点a8~a15中每个节点对应的两个运算结果,并将每个节点对应的运算结果存储至第一存储空间,假设第2行节点a8~a15中每个节点对应的两个运算结果如表3所示:
表3
在SCL译码过程中,假设第2行中的节点a0~a7返回的4个部分和序列分别为:01100110、11010101、01110010、01001101。
可以分别在上述4个部分和序列中确定第2行中的节点a8~a15中每个节点对应的4个部分和,并根据每个节点对应的部分和,在表3所示的各自对应的两个运算结果中选择每个部分和对应的运算结果,并将选择的运算结果确定为各自节点的LLR。相应的,第2行中的节点a8~a15中每个节点对应的部分和、以及根据部分和选择的运算结果可以如表4所示:
表4
由上可知,当第2行中的节点a0~a7返回的部分和序列不同时,确定得到的第2行中的节点a8~a15的LLR不同,具体的,每个部分和序列对应的第2行中的节点a8~a15的LLR可以如表5所示:
表5
在上述SCL译码过程中,第2行中的节点a8~a15在执行g运算的过程中所需的LLR所占的存储空间为16*Qα,而在相关技术中,第2行中的节点a8~a15在执行g运算的过程中所需的LLR所占的存储空间为32*Qα,即,本申请所示的SCL译码过程所需的存储空间相较于相关技术有所降低。
图8为本申请实施例提供的一种SCL译码装置的结构示意图。SCL译码装置10可以通过蝶型译码网络进行SCL译码,所述蝶型译码网络包括n+1层节点,所述蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点;请参见图8,SCL译码装置10包括第一获取模块11、第二获取模块12和运算模块13,其中,
所述第一获取模块11用于,获取所述第一节点对应的L个部分和,所述L为所述SCL译码的路径保留数,所述L为大于2的整数,所述N为输入译码器的LLR的个数,N=2n,所述n为大于或等于1的整数;
所述第二获取模块12用于,在第一存储空间中获取所述第一节点对应的两个运算结果,所述第一存储空间的大小的N*Qα比特,所述第一存储空间用于存储每个第一节点对应的两个运算结果,所述第一节点对应的两个运算结果包括:在部分和为1时执行所述第一运算的运算结果、以及在部分和为0时执行所述第一运算的运算结果,所述Qα为一个LLR的位宽;
所述运算模块13用于,根据所述L个部分和、以及所述两个运算结果,执行所述第一运算。
需要说明的是,在SCL译码的过程中,任意一个第一节点均执行第一运算(还可以理解为,SCL译码装置通过第一节点执行第一运算,或者,SCL译码装置控制第一节点执行第一运算)。上述第一获取模块11、第二获取模块12和运算模块13执行的过程为,任意一个所述第一节点执行第一运算的过程。
可选的,第一获取模块11可以执行图7实施例中的S704。第二获取模块可以执行图7实施例中的S705。运算模块13可以执行图7实施例中的S706。
需要说明的是,本申请实施例所示的SCL译码装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图9为本申请实施例提供的另一种SCL译码装置的结构示意图。在图8所示实施例的基础上,请参见图9,SCL译码装置10还包括存储模块14,其中,
所述运算模块13还用于,在所述第二获取模块12在第一存储空间中获取所述第一节点对应的两个运算结果之前,计算每个第一节点对应的两个运算结果,得到N个运算结果;
所述存储模块14用于,将所述N个运算结果存储至所述第一存储空间。
在一种可能的实施方式中,所述运算模块13具体用于:
针对所述N/2个第一节点中的任意一个第一节点,在N个LLR中确定所述第一节点对应的LLR,所述N个LLR为根据接收到的数据确定得到的;
根据所述第一节点对应的LLRR和第一部分和执行所述第一运算,得到第一运算结果,所述第一部分和的值为1;
根据所述第一节点对应的LLR和第二部分和执行所述第一运算,得到第二运算结果,所述第二部分和的值为0,所述第一节点对应的两个运算结果包括所述第一运算结果和所述第二运算结果。
在一种可能的实施方式中,所述第一获取模块11具体用于:
获取所述N/2个第一节点对应的L个部分和序列,每个部分和序列中包括N/2个部分和,所述L个部分和序列包括所述第n-1层节点中的N/2个第二节点的硬判值,所述N/2个第二节点为所述第n-1层节点中除所述N/2个第一节点之外的节点;
根据所述第一节点在所述N/2个第一节点中的序号,在所述L个部分和序列中确定所述L个部分和。
在一种可能的实施方式中,所述运算模块13具体用于:
针对所述L个部分和中的任意一个第三部分和,在所述两个运算结果中选择所述第三部分和对应的第三运算结果,计算所述第三运算结果所使用的部分和的值与所述第三部分和的值相同。
在一种可能的实施方式中,SCL译码装置10还包括分配模块15,其中,
所述分配模块15用于,在所述第一获取模块11获取所述第一节点对应的L个部分和之前,为所述SCL译码分配第二存储空间;其中,所述第一存储空间为所述第二存储空间的一部分,所述第二存储空间中用于存储所述蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
在一种可能的实施方式中,所述第二存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
在一种可能的实施方式中,所述第一运算为g运算。
需要说明的是,本申请实施例所示的SCL译码装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图10为本申请提供的SCL译码装置的硬件结构示意图。请参见图10,该SCL译码装置20包括:存储器21和处理器22,其中,存储器21和处理器22通信;示例性的,存储器21和处理器22通过通信总线23通信,所述存储器21用于存储计算机程序,所述处理器22执行所述计算机程序实现上述实施例所示的方法。
可选的,SCL译码装置20还可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤(图7实施例中的S701-S706)可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种计算机可读存储介质,包括指令,当指令在计算机上运行时使得所述计算机执行上述任意方法实施例提供的SCL译码方法。
本申请提供一种芯片,该芯片用于支持接收设备(例如终端设备、网络设备等)实现本申请实施例所示的功能(例如,获取第一节点对应的L个部分和、在第一存储空间中获取所述第一节点对应的两个运算结果、根据所述L个部分和以及所述两个运算结果执行所述第一运算等),该芯片具体用于芯片系统,该芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。当实现上述方法的为接收设备内的芯片时,芯片包括处理单元,进一步的,芯片还可以包括通信单元,所述处理单元例如可以是处理器,当芯片包括通信单元时,所述通信单元例如可以是输入/输出接口、管脚或电路等。处理单元执行本申请实施例中各个处理模块(例如图8-图9中的第一获取模块11、第二获取模块12、运算模块13、存储模块14和分配模块15)所执行的全部或部分动作,通信单元可执行相应的接收或发送动作,例如,在第一获取模块获取第一节点对应的L个部分和之前,接收待译码信息等。在另一具体的实施例中,本申请中的接收设备的处理模块可以是芯片的处理单元,控制设备的接收模块或发送模块是芯片的通信单元。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
Claims (16)
1.一种连续抵消列表SCL译码方法,其特征在于,应用于蝶型译码网络,所述蝶型译码网络包括n+1层节点,所述蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点,任意一个所述第一节点执行第一运算,包括:
获取所述第一节点对应的L个部分和,所述L为所述SCL译码的路径保留数,所述L为大于2的整数,所述N为输入译码器的LLR的个数,N=2n,所述n为大于或等于1的整数;
在第一存储空间中获取所述第一节点对应的两个运算结果,所述第一存储空间的大小的N*Qα比特,所述第一存储空间用于存储每个第一节点对应的两个运算结果,所述第一节点对应的两个运算结果包括:在部分和为1时执行所述第一运算的运算结果、以及在部分和为0时执行所述第一运算的运算结果,所述Qα为一个对数似然比LLR的位宽;
根据所述L个部分和、以及所述两个运算结果,执行所述第一运算;
获取所述第一节点对应的L个部分和,包括:
获取所述N/2个第一节点对应的L个部分和序列,每个部分和序列中包括N/2个部分和,所述L个部分和序列包括所述第n-1层节点中的N/2个第二节点的硬判值,所述N/2个第二节点为所述第n-1层节点中除所述N/2个第一节点之外的节点;
根据所述第一节点在所述N/2个第一节点中的序号,在所述L个部分和序列中确定所述L个部分和。
2.根据权利要求1所述的方法,其特征在于,在第一存储空间中获取所述第一节点对应的两个运算结果之前,还包括:
计算每个第一节点对应的两个运算结果,得到N个运算结果;
将所述N个运算结果存储至所述第一存储空间。
3.根据权利要求2所述的方法,其特征在于,针对所述N/2个第一节点中的任意一个第一节点;计算所述第一节点对应的两个运算结果,包括:
在N个LLR中确定所述第一节点对应的LLR,所述N个LLR为根据接收到的数据确定得到的;
根据所述第一节点对应的LLR和第一部分和执行所述第一运算,得到第一运算结果,所述第一部分和的值为1;
根据所述第一节点对应的LLR和第二部分和执行所述第一运算,得到第二运算结果,所述第二部分和的值为0,所述第一节点对应的两个运算结果包括所述第一运算结果和所述第二运算结果。
4.根据权利要求1-3任一项所述的方法,其特征在于,根据所述L个部分和、以及所述两个运算结果,执行所述第一运算,包括:
针对所述L个部分和中的任意一个第三部分和,在所述两个运算结果中选择所述第三部分和对应的第三运算结果,计算所述第三运算结果所使用的部分和的值与所述第三部分和的值相同。
5.根据权利要求1-3任一项所述的方法,其特征在于,获取所述第一节点对应的L个部分和之前,还包括:
为所述SCL译码分配第二存储空间;其中,所述第一存储空间为所述第二存储空间的一部分,所述第二存储空间中用于存储所述蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
6.根据权利要求5所述的方法,其特征在于,所述第二存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
7.根据权利要求1-3、6任一项所述的方法,其特征在于,所述第一运算为g运算。
8.一种SCL译码装置,其特征在于,应用于蝶型译码网络,所述蝶型译码网络包括n+1层节点,所述蝶型译码网络的第n-1层节点包括用于执行第一运算的N/2个第一节点;所述装置包括第一获取模块、第二获取模块和运算模块,其中,
所述第一获取模块用于,获取所述第一节点对应的L个部分和,所述L为所述SCL译码的路径保留数,所述L为大于2的整数,所述N为输入译码器的LLR的个数,N=2n,所述n为大于或等于1的整数;
所述第二获取模块用于,在第一存储空间中获取所述第一节点对应的两个运算结果,所述第一存储空间的大小的N*Qα比特,所述第一存储空间用于存储每个第一节点对应的两个运算结果,所述第一节点对应的两个运算结果包括:在部分和为1时执行所述第一运算的运算结果、以及在部分和为0时执行所述第一运算的运算结果,所述Qα为一个对数似然比LLR的位宽;
所述运算模块用于,根据所述L个部分和、以及所述两个运算结果,执行所述第一运算;
所述第一获取模块具体用于:
获取所述N/2个第一节点对应的L个部分和序列,每个部分和序列中包括N/2个部分和,所述L个部分和序列包括所述第n-1层节点中的N/2个第二节点的硬判值,所述N/2个第二节点为所述第n-1层节点中除所述N/2个第一节点之外的节点;
根据所述第一节点在所述N/2个第一节点中的序号,在所述L个部分和序列中确定所述L个部分和。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括存储模块,其中,
所述运算模块还用于,在所述第二获取模块在第一存储空间中获取所述第一节点对应的两个运算结果之前,计算每个第一节点对应的两个运算结果,得到N个运算结果;
所述存储模块用于,将所述N个运算结果存储至所述第一存储空间。
10.根据权利要求9所述的装置,其特征在于,所述运算模块具体用于:
针对所述N/2个第一节点中的任意一个第一节点,在N个LLR中确定所述第一节点对应的LLR,所述N个LLR为根据接收到的数据确定得到的;
根据所述第一节点对应的LLRR和第一部分和执行所述第一运算,得到第一运算结果,所述第一部分和的值为1;
根据所述第一节点对应的LLR和第二部分和执行所述第一运算,得到第二运算结果,所述第二部分和的值为0,所述第一节点对应的两个运算结果包括所述第一运算结果和所述第二运算结果。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述运算模块具体用于:
针对所述L个部分和中的任意一个第三部分和,在所述两个运算结果中选择所述第三部分和对应的第三运算结果,计算所述第三运算结果所使用的部分和的值与所述第三部分和的值相同。
12.根据权利要求8-10任一项所述的装置,其特征在于,所述装置还包括分配模块,其中,
所述分配模块用于,在所述第一获取模块获取所述第一节点对应的L个部分和之前,为所述SCL译码分配第二存储空间;其中,所述第一存储空间为所述第二存储空间的一部分,所述第二存储空间中用于存储所述蝶型译码网络中各节点在执行译码运算时所需的LLR所占的存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
13.根据权利要求12所述的装置,其特征在于,所述第二存储空间的大小为:
其中,所述N为输入译码器的LLR的个数,所述L为所述SCL译码算法对应的路径保留数,所述Qα为一个LLR的位宽,所述QPM为路径度量值的位宽。
14.根据权利要求8-10、13任一项所述的装置,其特征在于,所述第一运算为g运算。
15.一种SCL译码装置,其特征在于,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现权利要求1-7任一项所述的SCL译码方法。
16.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序用于实现权利要求1-7任一项所述的SCL译码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968325.1A CN112653475B (zh) | 2019-10-12 | 2019-10-12 | Scl译码方法、装置及设备 |
PCT/CN2020/118354 WO2021068782A1 (zh) | 2019-10-12 | 2020-09-28 | Scl译码方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910968325.1A CN112653475B (zh) | 2019-10-12 | 2019-10-12 | Scl译码方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112653475A CN112653475A (zh) | 2021-04-13 |
CN112653475B true CN112653475B (zh) | 2024-04-09 |
Family
ID=75343737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910968325.1A Active CN112653475B (zh) | 2019-10-12 | 2019-10-12 | Scl译码方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112653475B (zh) |
WO (1) | WO2021068782A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018064924A1 (zh) * | 2016-10-08 | 2018-04-12 | 电信科学技术研究院 | 基于软输出维特比译码算法sova的译码方法和装置 |
CN108599776A (zh) * | 2018-04-08 | 2018-09-28 | 中山大学 | 一种改进的列表串行抵消极化码译码方法 |
WO2019056941A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 译码方法及设备、译码器 |
CN110324111A (zh) * | 2018-03-31 | 2019-10-11 | 华为技术有限公司 | 一种译码方法及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2957085B1 (en) * | 2013-02-15 | 2020-09-16 | Convida Wireless, LLC | Service layer resource propagation across domains |
RU2715523C1 (ru) * | 2016-04-29 | 2020-02-28 | Хуавей Текнолоджиз Ко., Лтд. | Устройство и способ полярного кодирования и декодирования полярного кода |
CN108631792B (zh) * | 2017-03-24 | 2021-04-06 | 电信科学技术研究院 | 一种极化码编译码方法及装置 |
CN109951190B (zh) * | 2019-03-15 | 2020-10-13 | 北京科技大学 | 一种自适应Polar码SCL译码方法及译码装置 |
-
2019
- 2019-10-12 CN CN201910968325.1A patent/CN112653475B/zh active Active
-
2020
- 2020-09-28 WO PCT/CN2020/118354 patent/WO2021068782A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018064924A1 (zh) * | 2016-10-08 | 2018-04-12 | 电信科学技术研究院 | 基于软输出维特比译码算法sova的译码方法和装置 |
WO2019056941A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 译码方法及设备、译码器 |
CN109547034A (zh) * | 2017-09-22 | 2019-03-29 | 华为技术有限公司 | 译码方法及设备、译码器 |
CN110324111A (zh) * | 2018-03-31 | 2019-10-11 | 华为技术有限公司 | 一种译码方法及设备 |
CN108599776A (zh) * | 2018-04-08 | 2018-09-28 | 中山大学 | 一种改进的列表串行抵消极化码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021068782A1 (zh) | 2021-04-15 |
CN112653475A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108347302B (zh) | 一种编译码方法和终端 | |
EP3245745B1 (en) | System and method for a message passing algorithm | |
CN110048726B (zh) | 编码方法、译码方法、装置和设备 | |
CN108365848B (zh) | 一种极性码的译码方法和装置 | |
CN107342845B (zh) | 一种速率匹配的方法和装置 | |
CN109327226B (zh) | 极化码的编译码方法、装置及设备 | |
CN108809500B (zh) | 编码方法、装置和设备 | |
CN108574494B (zh) | 编译码方法及装置 | |
WO2010085322A2 (en) | Log-likelihood ratio algorithm for use in reducing co-channel interference in wireless communication systems | |
CN111082812A (zh) | 使用路径度量解码输入数据的设备及使用其的解码方法 | |
CN110690941A (zh) | Polar码的速率匹配方法及装置 | |
CN114448571B (zh) | 窄带物理广播信道的盲检测方法、装置、设备及介质 | |
CN113612583B (zh) | 支持sidelink通信盲检测的FPGA实现方法及系统 | |
CN112202530B (zh) | 信道盲检测方法和装置以及通信装置和存储介质 | |
CN109004939A (zh) | 极化码译码装置和方法 | |
WO2020042089A1 (zh) | Scl并行译码方法、装置及设备 | |
CN112653475B (zh) | Scl译码方法、装置及设备 | |
CN108631924B (zh) | 一种资源映射方法及其装置 | |
CN115242354A (zh) | 一种译码方法、芯片、电子设备及存储介质 | |
CN112217609B (zh) | 通信译码方法、设备、装置及存储介质 | |
CN112260697B (zh) | 译码方法、装置及设备 | |
CN111200439B (zh) | 译码方法、装置及设备 | |
EP3734873A1 (en) | Channel encoding method and encoding device | |
CN111756384B (zh) | 译码方法、装置及设备 | |
US20200186297A1 (en) | Electronic transceiver device, method and computer program for decoding control information |
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 |