一种用于LDPC码的循环移位网络系统及循环移位方法技术方案

技术编号:27276954 阅读:35 留言:0更新日期:2021-02-06 11:43
本发明专利技术提供一种用于LDPC码的循环移位网络系统,包括:数据输入模块,用于提供384比特的输入序列;配置模块,用于根据LDPC的右移参数以及扩展因子配置右移模块和左移模块的右移值和左移值;右移模块,用于将所述输入序列的数据按照所配置的右移值进行右移,得到右移后的384比特右移结果;左移模块,用于将所述输入序列的数据按照所配置的左移值进行左移,得到左移后的384比特左移结果;合并信号计算模块,用于将所述左移模块的左移值映射为一个384比特的合并信号;数据合并模块,用于根据所述合并信号,将右移后的384比特右移结果和左移后的384比特左移结果进行合并,得到384比特循环移位结果。循环移位结果。循环移位结果。

【技术实现步骤摘要】
一种用于LDPC码的循环移位网络系统及循环移位方法


[0001]本专利技术涉及无线通信领域,具体来说涉及无线通信信道编码领域,更具体地说,涉及一种LDPC码在编码器和译码器中循环移位网络的设计,进一步来说,涉及一种用于LDPC码的循环移位网络系统及循环移位方法。

技术介绍

[0002]低密度奇偶校验码(low density parity check,LDPC),是由Robe rt Gallager在1963年提出的,是一种具有稀疏校验矩阵的分组码,其性能可以逼近Shannon极限,并且其算法复杂度相对较低,在硬件实现上也比较容易,被广泛应用在无限通信领域。目前,LDPC码已被加入到多种无线通信协议的标准中,在3GPP TS 38.212协议中规定了物理上行共享信道(Physical uplink shared channel,PUSCH)采用LDPC编码方式。
[0003]LDPC编码的过程如下:
[0004]1)输入比特序列c0,c1,c2,c3,...,c
K-1
。其中,K为编码前的位数。
[0005]2)根据计算出校验序列输出序列由输入序列c、空比特和校验序列w组成。
[0006]其中,N为编码后的数据长度;
[0007]Z
c
表示扩展因子,其值如表1所示;
[0008]H矩阵已知,其计算过程如下:
[0009]1)H矩阵有两种基矩阵Hbg1和Hbg2,基矩阵由0和1元素组成,其中Hbg1为46行68列矩阵,Hbg2为42行52列矩阵;
[0010]2)对Z
c
行Z
c
列的单位阵I循环右移P
i,j
位,得到置换矩阵I(P
i,j
),其中i表示基矩阵的行索引,j表示基矩阵的列索引,P
i,j
值可根据协议查表计算得出;
[0011]3)用置换矩阵I(P
i,j
)替换基矩阵中的1元素,用Z
c
行Z
c
列的零矩阵替换基矩阵中的0元素。
[0012]表1 Z
c
值的集合
[0013]Z
c
值的集合{2,4,8,16,32,64,128,256}{3,6,12,24,48,96,192,384}{5,10,20,40,80,160,320}{7,14,28,56,112,224}{9,18,36,72,144,288}{11,22,44,88,176,352}{13,26,52,104,208}{15,30,60,120,240}
[0014]在LDPC编码过程中需要对单位阵I循环右移P
i,j
位,其在硬件设计中,即对Z
c
比特
的输入序列进行循环右移P
i,j
位,然后再对其进行计算。由于Z
c
的值有多种,共计有51种,并且Z
c
的值从2到384,有着较大的差距,因此对序列循环移位的边界很难控制。
[0015]在LDPC译码过程中,也用到了和编码一样的循环移位网络。
[0016]目前,循环移位网络的硬件设计有很多采用Banyan网络的设计方法。如图1所示,是一个12*12的Banyan网络的示意图,其中,循环网络的大小Z
c
值为10,右移值P
i,j
为8,即左移值为2。由于置换网络的大小为12,而Z
c
的值为10,会有2个空比特,并且空比特的位置无法直接判断,因此需要两个网络进行计算,最后再将两个网络的结果通过mux二选一输出。第一个网络的移位值为左移值Z
c-P
i,j
,第二个网络的移位值为12-P
i,j
。每个网络共有3级,每级有6个路由开关,来控制数据是顺序输出或者交叉输出,并且每级路由开关的控制都与上一级有关。
[0017]Banyan网络采用2个网络的原因是,当Z
c
小于移位网络的大小时,在输出的比特序列中会有空比特,并且随着移位值的改变,空比特的位置也会发生变化,所以一个网络无法直接输出正确的结果,需要2个网络来合并选择输出,低位有效,高位为空比特的位置。
[0018]在LDPC编译码器的循环移位网络中,其最大为384bit,因此会有8级路由开关和1级mux,前7级每级都有192个2
×
2开关,第8级有128个3*3开关,最后1级mux由192个二选一单元组成。在每级开关的计算过程中,前6级涉及求余和除2的计算,第7级和第8级分别对6、3求余,最后1级将左移值映射为二选一的使能信号。在Banyan网络的硬件设计中,将网络线连接好,通过计算开关控制信号,控制数据的流向,最后2个网络合并输出,前6级的开关计算信号,与上一级有依赖关系,最后3级没有依赖关系,数据流是从第一级开始流向最后一级,共9级再进行输出。在LDPC编/译码器中Banyan网络可以实现的并行度如表2所示,Z
c
的大小灵活可配置,当Z
c
值较小时,会有很高的并行度,如表2所示,不同的并行度以及对应的不同置换网络大小与Z
c
值的关系。
[0019]表2 Banyan网络的并行度
[0020]并行度置换网络大小LDPC中Z
c
值大小12832,36464,5,632127,8,9,10,11,12162413,14,15,16,18,20,22,2484826,28,30,32,36,40,44,4849652,56,60,64,72,80,88,962192104,112,120,128,144,160,176,1921384208,224,240,256,288,320,352,384
[0021]从上述Banyan网络的循环移位网络硬件设计描述中可以发现,采用Banyan网络的循环移位结构会存在以下几个问题:
[0022]1)由于Banyan网络共有9级,并且每级的开关控制信号之间会有依赖关系,因此会有着很长的关键路径,导致循环移位网络可以支持的主频就会很低,LDPC编/译码器的主频也会很低;
[0023]2)在计算第7级和第8级的开关控制信号时,需要对左移值进行模6和模3运算,而模6和模3的计算过程又是一条很长的关键路径,导致整个网络的关键路径变长;
[0024]3)在计算每级开关的控制信号过程中会消耗较大的硬件资源。

技术实现思路

[0025]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种新的一种关键路径短、硬件资源消耗少且可灵活配置Z
c
大小并具有一定并行度的循环移位网络及循环移位方法。
[0026]根据本专利技术的第一方面,提供一种用于LDPC码的循环移位网络系统,包括:数据输入模块,用于提供384比特的输入序列;配置模块,用于根据LDPC的右移本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于LDPC码的循环移位网络系统,其特征在于,包括:数据输入模块,用于提供384比特的输入序列;配置模块,用于根据LDPC的右移参数以及扩展因子配置右移模块和左移模块的右移值和左移值;右移模块,用于将所述输入序列的数据按照所配置的右移值进行右移,得到右移后的384比特右移结果;左移模块,用于将所述输入序列的数据按照所配置的左移值进行左移,得到左移后的384比特左移结果;合并信号计算模块,用于将所述左移模块的左移值映射为一个384比特的合并信号;数据合并模块,用于根据所述合并信号,将右移后的384比特右移结果和左移后的384比特左移结果进行合并,得到384比特循环移位结果。2.根据权利要求1所述的一种用于LDPC码的循环移位网络系统,其特征在于,所述系统还包括:数据输出模块,用于将384比特循环移位结果输出。3.根据权利要求1所述的一种用于LDPC码的循环移位网络系统,其特征在于,所述数据输入模块将输入序列从低位到高位等间隔分割为8个48比特的数据。4.根据权利要求3所述的一种用于LDPC码的循环移位网络系统,其特征在于,所述右移模块包括8个从低位到高位级联的右移子模块,每个右移子模块被配置有一个独立的9比特右移值,按照输入序列从低位到高位的级联顺序,每个右移子模块用于对一个48比特的数据进行右移操作得到一个右移后的48比特数据,所有右移后的48比特数据按照输入序列的从低位到高位的顺序组成384比特右移结果;所述每个右移子模块被配置为按照如下方式对48比特数据进行9级迭代右移:从9比特右移值的低位往高位开始进行迭代右移,每一次右移在上一次右移的基础上进行右移;其中,在右移值为1的比特位,将上一次的右移结果往右移该比特位二进制位权值所限定的位数;在右移值为0的比特位,保持上一次的右移结果不变。5.根据权利要求4所述的一种用于LDPC码的循环移位网络系统,其特征在于,所述8个从低位到高位级联的右移子模块的每一级迭代右移同时进行;其中,高位的右移子模块对应的48比特数据右移后移出的低位比特数据进入级联的下一个低位右移子模块对应的48比特数据对应比特位数的高位,最高位的右移子模块对应的48比特数据按照其移出的比特位数从最高位开始补0。6.根据权利要求5所述的一种用于LDPC码的循环移位网络系统,其特征在于,所述左移模块包括8个从低位到高位级联的左移子模块,每个左移子模块被配置有一个独立的9比特左移值,按照输入序列从低位到高位的级联顺序,每个左移子模块用于对一个48比特的数据进行左移操作得到一个左移后的48比特数据,所有左移后的48比特数据按照输入序列的从低位到高位的顺序组成384比特左移结果;且所述每个左移子模块被配置为按照如下方式对48比特数据进行9级迭代左移:从9比特左移值的低位往高位开始进行迭代左移,每一次左移在上一次左移的基础上进行左移;
其中,在左移值为1的比特位,将上一次的左移结果往左移动该比特位二进制位权值所限定的位数;在左移值为0的比特位,保持上一次的左移结果不变。7.根据权利6所述的一...

【专利技术属性】
技术研发人员:张丽雅赵旭莹张达石晶林
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1