一种极化码译码中路径分裂的硬件排序器系统及设计方法与流程

文档序号:17000197发布日期:2019-03-02 01:43阅读:158来源:国知局
一种极化码译码中路径分裂的硬件排序器系统及设计方法与流程
本发明涉及通信领域,更具体地说,涉及一种极化码译码中路径分裂的硬件排序器系统及设计方法。
背景技术
:极化码是目前唯一可理论证明在二进制离散无记忆信道下达到香农极限的一种编码方式。scl串行抵消译码是一种低复杂度的译码方法。scl串行抵消列表译码方法是sc译码方法的改进方法,能够实现更好的误码率性能。scl的译码中有l条译码路径,每条译码路径都有一个评价路径优劣的度量值。在信息比特位时,每译码一个比特,每一个译码路径都要分裂为两个,即会由l条路径扩展到2l条路径。通过排序器,在2l条路径中选择l条度量值最小的路径,并保持译码过程中始终存在l条路径。但scl译码算法每译一个比特都要进行一次排序,大量的排序操作导致译码时延和复杂度都很高。因此低时延、低复杂度的排序方法是降低极化码译码时延和复杂度的关键。针对排序器即有较高延迟的现状,目前已提出有使用简化的双调排序器和简化的奇偶排序器来对2l条路径进行排序,并输出排好顺序的l条路径。为了进一步降低排序的译码延迟,v.bioglio等人提出排序器可以只找出l条路径,其顺序可以在译码的其他过程中并行排好序。在此基础上有最优双调排序器和优化的两两排序器来对2l条路径进行排序。但是在上述的排序器中,当需要排序的路径l变大时,其译码器的延迟会显著增加。技术实现要素:本发明要解决的技术问题在于,针对现有技术的在输入路径增大时其排序时钟频率显著降低的缺陷,提供一种极化码译码中路径分裂的硬件排序器系统及设计方法,利用桶排序的时间复杂度对输入数据规模无关的特性,设计一种低时延、低复杂度的硬件排序器系统。本发明解决其技术问题所采用的技术方案是:构造一种极化码译码中路径分裂的硬件排序器系统,所述系统包括输入模块、桶排序模块、排序器网络模块和输出模块,具体为:所述输入模块用于输入待排序的2l条译码路径;所述的译码路径包括l条原始译码路径和l条分裂译码路径,其中l取值为2n,n≥1且n为整数;所述桶排序模块用于对2l条译码路径进行优劣排序;所述的桶排序模块包括有上桶排序器模块和下桶排序器模块;所述的上桶排序器模块用于对l条原始译码路径进行桶排序,所述的下桶排序器用于将对于l条分裂译码路径进行桶排序,被所述上桶排序器模块排序后的l条原始译码路径和被所述下桶排序器排序后的l条分裂译码路径组成译码路径集合;所述排序器网络模块,用于根据选择策略,在桶排序模块输出的按优劣排序的译码路径集合中,选择最优的l条路径;所述输出模块,用于输出经排序器网络模块选择后的最优的l条路径。进一步的,所述输入模块中还包括一译码模块,所述译码模块利用scl算法对信息比特进行译码,每译码一个信息比特,信息比特的初始译码路径分裂为与初始译码路径的原始译码路径的与初始译码路径不同的分裂译码路径,所述译码器对l个信息比特进行译码而生成输入到所述输入模块的2l条译码路径。进一步的,每条译码路径均包括一用于评价路径优劣特性的度量值,所述度量值越低则表示所述译码路径越优,分裂前的初始译码路径的度量值集合被定义为:m'=[m'1,m'2,...,m'l];分裂后的原始译码路径和分裂译码路径的度量值集合被定义为m=[m1,m2,...,ml,ml+1,...,m2l];其中,任一原始初始译码路径i的度量值为m'i,其分裂后的原始译码路径度量值为mi,其分裂后的分裂译码路径度量值为ml+i,其中i∈l,且mi=m'i,ml+i=m'i+|αk|,|αk|为是第k个信息比特的对数似然比的绝对值;其中k取整且0<k<n,n为包含所述l个信息比特的当前发送数据的位数,k为当前发送数据中的信息比特的位数。进一步逇,所述桶排序器模块的上桶排序器模块和下桶排序器模块对l条译码路径的优劣排序步骤为:a1、比较步骤;以译码路径度量值为基准,使用比较器对输入的l条译码路径进行两两比较,并将比较结果储存在寄存器r中;所述的比较结果中,由“0”表示当前译码路径的度量值大于对应比较的译码路径度量值,“1”表示当前译码路径的度量值小于对应比较的译码路径度量值;a2、计算步骤;基于步骤a1,将寄存器r中的比较结果进行累加计算,得到译码路径i在l条译码路径中的秩序sum值;a3、排序步骤;使用选择器,根据输入的l条路径和l个秩序sum值,以秩序sum值为基准,对输入的译码路径由优到劣进行排序。进一步的,排序器网络模块使用比较器比较原始译码路径l-i+1与分裂译码路径l+i的秩序sum值,若原始译码路径l-i+1的秩序sum值大于分裂译码路径l+i的秩序sum值,则交换两条译码路径在集合中的位置,经过l/2次比较之后,选择集合中前l条译码路径作为最优译码路径输出;其中i=1,2,....,l/2。本发明提出的一种极化码译码中路径分裂的硬件排序器设计方法,所述设计方法具体包括:s1、输入待排序的2l条译码路径;所述的译码路径包括l条原始译码路径和l条分裂译码路径,其中l取值为2n,n≥1且n为整数;s2、对2l条译码路径进行优劣排序;被排序后的l条原始译码路径和被所述下桶排序器排序后的l条分裂译码路径组成译码路径集合;s3、在输出的按优劣排序的译码路径集合中,选择最优的l条路径。进一步的,步骤s1中还包括一译码步骤s11,所述译码步骤s11利用scl算法对信息比特进行译码,每译码一个信息比特,信息比特的初始译码路径分裂为与初始译码路径的原始译码路径的与初始译码路径不同的分裂译码路径,所述译码器对l个信息比特进行译码而生成输入到所述输入模块的2l条译码路径。进一步的,每条译码路径均包括一用于评价路径优劣特性的度量值,所述度量值越低则表示所述译码路径越优,分裂前的初始译码路径的度量值集合被定义为:m'=[m'1,m'2,...,m'l];分裂后的原始译码路径和分裂译码路径的度量值集合被定义为m=[m1,m2,...,ml,ml+1,...,m2l];其中,任一原始初始译码路径i的度量值为m'i,其分裂后的原始译码路径度量值为mi,其分裂后的分裂译码路径度量值为ml+i,其中i∈l,且mi=m'i,ml+i=m'i+|αk|,|αk|为是第k个信息比特的对数似然比的绝对值;其中k取整且0<k<n,n为包含所述l个信息比特的当前发送数据的位数,k为当前发送数据中的信息比特的位数。进一步的,步骤s2中分别对l条原始译码路径和l条分裂译码路径的优劣排序步骤为:s21、比较步骤;以译码路径度量值为基准,使用比较器对输入的l条原始译码路径或l条分裂译码路径进行两两比较,并将比较结果储存在寄存器r中;所述的比较结果中,由“0”表示当前译码路径的度量值大于对应比较的译码路径度量值,“1”表示当前译码路径的度量值小于对应比较的译码路径度量值;s22、计算步骤;基于步骤s1,将寄存器r中的比较结果进行累加计算,得到原始译码路径i在l条原始译码路径中的秩序sum值或分裂译码路径i在l条分裂译码路径中的秩序sum值;s23、排序步骤;使用选择器,根据输入的l条路径和l个秩序sum值,以秩序sum值为基准,对输入的译码路径由优到劣进行排序。进一步的,步骤s3中使用比较器比较原始译码路径l-i+1与分裂译码路径l+i的秩序sum值,若原始译码路径l-i+1的秩序sum值大于分裂译码路径l+i的秩序sum值,则交换两条译码路径在集合中的位置,经过l/2次比较之后,选择集合中前l条译码路径作为最优译码路径输出;其中i=1,2,....,l/2。在本发明所述的一种极化码译码中路径分裂的硬件排序器系统中,提出一种适用于极化码译码中路径分裂的排序器设计系统,具体包括输入模块,桶排序模块,排序器网络模块和输出模块。其中将输入路径平分成两个部分,分别送入桶排序模块中,将经过桶排序模块将排好顺序的2l条路径送入排序器网络模块中,继而通过排序器网络模块选出最好的l条路径。在本发明所述的一种极化码译码中路径分裂的硬件排序器设计方法中,提出一种适用于极化码译码中路径分裂的排序器设计方法,在极化码译码过程中,利用scl算法对信息比特位进行排序,设计了最优路径选择策略有效的筛选出最优路径。实施本发明的一种极化码译码中路径分裂的硬件排序器设计方法,具有以下有益效果:1、本发明设计的排序器系统,在极化码译码过程中,对固定比特位的l条路径不需要排序,节省固定比特位的排序时间;2、本发明设计的排序器系统,只需要在信息比特位进行排序,其排序器的延迟时间与输入的路径数量基本无关,当路径数量较大时仍具有较低的译码延迟。附图说明下面将结合附图及实施例对本发明作进一步说明,附图中:图1是排序器设计系统整体架构;图2是同排序器第i个输出数据的选择器;图3是排序器网络;图4是排序器系统的设计方法流程图。具体实施方式为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。请参考图1,其为排序器设计系统整体架构,具体包括4个模块,分别为输入模块11,桶排序模块12,排序网络模块13和输出模块14,其中:所述输入模块11用于输入待排序的2l条译码路径;所述的译码路径包括l条原始译码路径和l条分裂译码路径,其中l取值为2n,n≥1且n为整数;其中,每条译码路径均包括一用于评价路径优劣特性的度量值,所述度量值越低则表示所述译码路径越优,分裂前的初始译码路径的度量值集合被定义为:m'=[m'1,m'2,...,m'l];分裂后的原始译码路径和分裂译码路径的度量值集合被定义为m=[m1,m2,...,ml,ml+1,...,m2l];其中,任一原始初始译码路径i的度量值为m'i,其分裂后的原始译码路径度量值为mi,其分裂后的分裂译码路径度量值为ml+i,其中i∈l,且mi=m'i,ml+i=m'i+|αk|,|αk|为是第k个信息比特的对数似然比的绝对值;其中k取整且0<k<n,n为包含所述l个信息比特的当前发送数据的位数,k为当前发送数据中的信息比特的位数。所述桶排序模块12用于对2l条译码路径进行优劣排序;所述的桶排序模块12包括有上桶排序器模块121和下桶排序器模块122;所述的上桶排序器模块121用于对l条原始译码路径进行桶排序,所述的下桶排序器122用于将对于l条分裂译码路径进行桶排序,被所述上桶排序器模块121排序后的l条原始译码路径和被所述下桶排序器122排序后的l条分裂译码路径组成译码路径集合;所述排序器网络模块13用于在桶排序模块12输出的按优劣排序的译码路径集合中,选择最优的l条路径;其中所述排序器网络模块使用比较器比较原始译码路径l-i+1与分裂译码路径l+i的秩序sum值,若原始译码路径l-i+1的秩序sum值大于分裂译码路径l+i的秩序sum值,则交换两条译码路径在集合中的位置,经过l/2次比较之后,选择集合中前l条译码路径作为最优译码路径输出;其中i=1,2,....,l/2。所述输出模块14用于输出经排序器网络模块选择后的最优的l条路径。还需说明的是,所述输入模块中还包括一译码模块111,所述译码模块111利用scl算法对信息比特进行译码,每译码一个信息比特,信息比特的初始译码路径分裂为与初始译码路径的原始译码路径的与初始译码路径不同的分裂译码路径,所述译码器111对l个信息比特进行译码而生成输入到所述输入模块11的2l条译码路径。请参考图4,其为排序器系统的设计方法流程图,本发明提出的一种极化码译码中路径分裂的硬件排序器设计方法,具体包括以下步骤:l1、输入待排序的2l条译码路径;所述的译码路径包括l条原始译码路径和l条分裂译码路径,其中l取值为2n,n≥1且n为整数;l2、对2l条译码路径进行优劣排序;被排序后的l条原始译码路径和被所述下桶排序器排序后的l条分裂译码路径组成译码路径集合;其中,步骤l2中分别对l条原始译码路径和l条分裂译码路径的优劣排序步骤为:l21、比较步骤;以译码路径度量值为基准,使用比较器对输入的l条原始译码路径或l条分裂译码路径进行两两比较,并将比较结果储存在寄存器r中;l22、计算步骤;基于步骤l1,将寄存器r中的比较结果进行累加计算,得到原始译码路径i在l条原始译码路径中的秩序sum值或分裂译码路径i在l条分裂译码路径中的秩序sum值;l23、排序步骤;使用选择器,根据输入的l条路径和l个秩序sum值,以秩序sum值为基准,对输入的译码路径由优到劣进行排序。l3、在输出的按优劣排序的译码路径集合中,选择最优的l条路径。此外,步骤l1中还包括一译码步骤ll11,所述译码步骤ll11利用scl算法对信息比特进行译码,每译码一个信息比特,信息比特的初始译码路径分裂为与初始译码路径的原始译码路径的与初始译码路径不同的分裂译码路径,所述译码器对l个信息比特进行译码而生成输入到所述输入模块的2l条译码路径。在本实施例中,以l=8为例,输入路径度量值集合为m=[20,23,22,12,20,5,21,1,23,23,23,20,27,8,31,1],下面具体说明排序器的具体实施过程。对于上桶排序而言,其输入的8个值为[m1,m2,m3,m4,m5,m6,m7,m8]=[20,23,22,12,20,5,21,1],对于下桶排序而言,其输入的8个值为[m9,m10,m11,m12,m13,m14,m15,m16]=[23,23,23,20,27,8,31,1]。其满足以下条件:mi≤ml+i,1≤i≤l,i∈l;对于上桶排序器,其比较阶段与计算阶段如表1所示。经过比较步骤可得原始译码路径的秩序sum集合为:[sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8]=[3,7,6,2,4,1,5,0]。在比较过程中,定义参与比较的两条译码路径,分别为mi与mj,其中i≠j;在使用硬件实现时,由于比较器输入的数据的顺序是固定的,即当第一个输入为mi、第二个输入为mj时形成的比较器与第一个输入为mj、第二个输入为mi时形成的比较器不同;为了节省比较器,将第一个输入为mi、第二个输入为mj的路径度量值的比较结果用正体表示(如表1所示),其中“0”表示大于,“1”表示小于;在下一次比较第一个输入为mj、第二个输入为mi的路径度量值时,将上述比较器得到的结果取非并用斜体表示(如表1所示),加以区分。对于上桶排序器,其在排序步骤中所用的选择器结构请参考图2,其为同排序模块中路径i使用的选择器结构图,对于l个选择器中输出中的第i个输出结果oi,其输入为l个路径度量值和l个秩序sum值,当l个秩序sum中的某一个值与i相等时,当前的秩序sum对应的路径与输出oi相连;对应的输出集合通过l个如图2所示的选择器,可以输出l个按优到劣排序的路径度量值集合为:[o1,o2,o3,o4,o5,o6,o7,o8]=[1,5,12,20,20,21,22,23]。对于下桶排序器,其比较阶段与计算阶段如表2所示。经过比较阶段可得分裂译码路径的秩序sum集合为:[sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8]=[3,4,5,2,6,1,7,0];设其输出为oi+l,经过l个选择器后,对应的译码路径输出集合为:[o9,o10,o11,o12,o13,o14,o15,o16]=[1,8,20,23,23,23,27,31];即经过上下桶排序之后,所述的桶排序模块输出的译码路径集合o为:[o1,o2,o3,o4,o5,o6,o7,o8,o9,o10,o11,o12,o13,o14,o15,o16]=[1,5,12,20,20,21,22,23,1,8,20,23,23,23,27,31];具体的,在本实施例中,在排序器网络模块中选择最优路径的过程可以参考图3,其中比较l/2个数据,即o5与o12,o6与o11,o7与o10,o8与o9之间的大小关系,如果前者大于后者则交换位置。将上桶排序器输出的前l/2个路径作为最优路径中的一部分;通过本发明设计的排序器之后,将输入的待排序的路径度量值集合[m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16]=[20,23,22,12,20,5,21,1,23,23,23,20,27,8,31,1]输出为最优的路径度量值集合:[s1,s2,s3,s4,s5,s6,s7,s8]=[1,5,12,20,20,20,20,8,1],即从输入的2l个m序列中找到了l个最小的s序列。m1(20)m2(23)m3(22)m4(12)m5(20)m6(5)m7(21)m8(1)sumim1(20)00101013m2(23)11111117m3(22)10111116m4(12)00001012m5(20)10011014m6(5)00000011m7(21)10011115m8(1)00000000表1m1(23)m2(23)m3(23)m4(20)m5(27)m6(8)m7(31)m8(1)sumim1(23)00101013m2(23)10101014m3(23)11101015m4(20)00001012m5(27)11111016m6(8)00000011m7(31)11111117m8(1)00000000表2上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1