信息处理的方法、通信装置与流程

文档序号:15927977发布日期:2018-11-14 01:20阅读:134来源:国知局

本发明实施例涉及通信领域,尤其涉及信息处理的方法、和通信装置。

背景技术

低密度奇偶校验(lowdensityparitycheck,ldpc)码是一类具有稀疏校验矩阵的线性分组编码,具有结构灵活,译码复杂度低的特点。由于它采用部分并行的迭代译码算法,从而比传统的turbo码具有更高的吞吐率。ldpc码可用于通信系统的纠错码,从而提高信道传输的可靠性和功率利用率。ldpc码还可以广泛应用于空间通信、光纤通信、个人通信系统、adsl和磁记录设备等。目前在第五代移动通信中已考虑采用ldpc码作为信道编码方式之一。

实际使用过程中,可以采用具有特殊结构化特征的ldpc矩阵。该具有特殊结构化特征的ldpc矩阵h可以由准循环(quasicycle,qc)结构的ldpc基矩阵扩展得到。

通常情况下,待编码的信息比特序列长度从几十到上百不等,通信系统要求的码率也灵活多变。如何支持多种长度的信息比特序列的编码,符合系统的码率要求,成为一个需要解决的问题。



技术实现要素:

本发明实施例提供了一种信息处理的方法、通信装置和系统,可以支持多种长度的信息比特序列的编码和译码,符合系统灵活的码长码率要求。

第一方面,提供了一种编码方法及编码器,所述编码器使用低密度奇偶校验ldpc矩阵对输入序列进行编码。

第二方面,提供了一种译码方法及译码器,所述译码器使用低密度奇偶校验ldpc矩阵对输入序列进行译码。

在上述第一方面或第二方面的第一种实现方式中:所述ldpc矩阵的基图表示为m行n列的矩阵,m为大于或者等于5的整数,n为大于或者等于27的整数;所述基图至少包括子矩阵a和子矩阵b,其中,所述子矩阵a为5行22列的矩阵;所述子矩阵b为5行5列的矩阵,其中,所述子矩阵b包括权重为3的列和双对角结构的子矩阵b’。

可选的,所述子矩阵a和所述子矩阵b构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余4行的权重分别满足大于或者等于17,且小于或者等于21。

例如,在所述子矩阵a和所述子矩阵b构成的矩阵中,其中1行的权重为3,其余4行的权重为19。在这种情况下,所述子矩阵a和所述子矩阵b构成的矩阵可以包括如基图30a中第0行至第4行以及第0列至第26列组成的5行矩阵块,其中行之间可以交换,列之间也能相互交换。基于上述实现方式,ldpc矩阵的基矩阵对应所述子矩阵a和子矩阵b构成的部分可以表示为如基矩阵30b-1、30b-2、30b-3、30b-4和30b-5中任一个。

在又一种可能的实现方式中,可以将基图30a中子矩阵a和子矩阵b构成的矩阵块的第3行和第0行交换,第2行和第1行交换,以及将第23列和第25列进行交换得到基图80a中的核心矩阵。

基于上述实现方式,ldpc矩阵的基矩阵对应所述子矩阵a和子矩阵b构成的部分可以表示为如基矩阵80b-1、80b-2、80b-3、80b-4、80b-5和80b-6中任一个,其中,80b-4是30b-3经过行列交换后的矩阵,80b-5是30b-4经过行列交换后的矩阵,80b-6是30b-5经过行列交换后的矩阵。

为了支持不同块长,ldpc码需要不同的扩展因子z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子z采用与之对应的基矩阵。

例如:

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-1所示;

若扩展因子z为{32,36,40,44,48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-2所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-3所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-4所示;

若扩展因子z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-5所示。

在又一种可能的实现方式中,

若扩展因子z为{24,26,28,30}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-1所示;

若扩展因子z为{32,36,40,44}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-2所示;

若扩展因子z为{48,52,56,60}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-3所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-4所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-5所示;

若扩展因子z为{256,288,320,352,384}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图中基矩阵80b-6所示。

在又一种可能的实现方式中,子矩阵a还可以包括2列内置打孔比特列。

进一步,为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵c、子矩阵d和子矩阵e,来获得不同的码率。

其中,

所述子矩阵c为5行md列的全零矩阵;

所述子矩阵d为md行27列的矩阵;

所述子矩阵e为md行md列的单位矩阵;

md为整数且0≤md≤41。

其中,子矩阵d包括矩阵f中的md行,所述矩阵f为41行27列,所述矩阵f的各行的行重分别为7,7,9,8,7,7,8,6,6,5,6,5,5,6,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4,3,3,4,4,3,3,3,4。

在一种可能的实现方式中,矩阵f为基图30a中第5行至第45行以及第0列至第26列构成的矩阵。

在一种可能的实现方式中,矩阵f的偏移矩阵可以表示为如基矩阵30c-1、30c-2、30c-3、30c-4和30c-5中任一个。

在又一种可能的实现方式中,,可将基图30a的第17行和第19行进行交换,并且将第39列和第41列进行交换得到如图8a所示的基图矩阵80a。又例如,子矩阵d包括矩阵f中md行,这md行可以不进行行交换,也可以将其中一行或多行之间进行行交换,子矩阵e仍为对角结构,例如,子矩阵d包括矩阵f中md行,其中,矩阵f的第12行和第14行进行行交换,子矩阵e仍为对角结构,从而得到基图80a。

为了支持不同块长,ldpc码需要不同的扩展因子z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子z采用与之对应的基矩阵。例如:

在一种可能的实现方式中,

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,基矩阵中子矩阵d可以包括如30c-1所示的偏移矩阵的md行;

若扩展因子z为{32,36,40,44,48,52,56,60}中的一个,基矩阵中子矩阵d可以包括如30c-2所示的偏移矩阵的md行;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,基矩阵中子矩阵d可以包括如30c-3所示的偏移矩阵的md行;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,基矩阵中子矩阵d可以包括如30c-4所示的偏移矩阵的md行;

若扩展因子z为{256,288,320,352,384}中的一个,基矩阵中子矩阵d可以包括如30c-5所示的偏移矩阵的md行。

又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:

若扩展因子z为{24,26,28,30}中的一个,则矩阵f的偏移矩阵可以如80c-1所示;

若扩展因子z为{32,36,40,44}中的一个,则矩阵f的偏移矩阵可以如80c-2所示;

若扩展因子z为{48,52,56,60}中的一个,则矩阵f的偏移矩阵可以如80c--3所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵f的偏移矩阵可以如80c-4所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则矩阵f的偏移矩阵可以如80c-5所示;

若扩展因子z为{256,288,320,352,384}中的一个,则矩阵f的偏移矩阵可以如80c-6所示。

在上述第一方面或第二方面的第二种实现方式中,

所述ldpc矩阵的基图表示为m行n列的矩阵,m为大于或者等于7的整数,n为大于或者等于17的整数;

所述基图至少包括子矩阵a和子矩阵b,其中,

所述子矩阵a为7行10列的矩阵;

所述子矩阵b为7行7列的矩阵,所述子矩阵b包括一权重为3的列和双对角结构的子矩阵b’。

其中,

所述子矩阵a和所述子矩阵b构成的矩阵中,其中1行的权重满足大于或者等于1,且小于或者等于5,其余6行的权重分别满足大于或者等于6,且小于或者等于10。

在一种实现方式中,所述子矩阵a和所述子矩阵b构成的矩阵中,其中1行的权重为3,3行的权重为8,其余3行的权重为7。

在这种实现方式中,所述子矩阵a和所述子矩阵b构成的矩阵可以包括如基图40a中第0行至第6行以及第0列至第16列组成的7行,其中行之间可以交换,列之间也能相互交换。

基于上述实现方式,ldpc矩阵的基矩阵对应所述子矩阵a和子矩阵b构成的部分可以表示为如基矩阵4b-1、4b-2、4b-3、4b-4、4b-5和4b-6中任一个。

为了支持不同块长,ldpc码需要不同的扩展因子z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子z采用与之对应的基矩阵。

例如:

若扩展因子z为{8,9,10,11,12,13,14,15}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-1所示;

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-2所示;

若扩展因子z为{32,36,40,44}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-3所示;

若扩展因子z为{48,52,56,60}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-4所示;

若扩展因子z为{64,72,80,88,96,104,112,120}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b-5所示。

若扩展因子z为{128,144,160,176,192,208,224,240,256}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b-6所示。

其中,子矩阵a还可以包括2列内置打孔比特列。

进一步,为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵c、子矩阵d和子矩阵e,来获得不同的码率。

其中,

所述子矩阵c为7行md列的全零矩阵;

所述子矩阵d为md行17列的矩阵;

所述子矩阵e为md行md列的单位矩阵;

md为整数且0≤md≤35。

其中,子矩阵d包括矩阵f中的md行,所述矩阵f为35行17列,所述矩阵f的各行的行重分别为5,4,4,4,4,4,4,3,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2。

在一种可能的实现方式中,矩阵f为基图40a中第7行至第41行以及第0列至第16列构成的矩阵。

在一种可能的实现方式中,矩阵f的偏移矩阵可以表示为如基矩阵4c-1、4c-2、4c-3、4c-4和4c-5中任一个。

为了支持不同块长,ldpc码需要不同的扩展因子z,基于前述实现方式,在一种可能的实现方式中,基于不同的扩展因子z采用与之对应的基矩阵。例如:

其中,

若扩展因子z为{8,9,10,11,12,13,14,15}中的一个,基矩阵中子矩阵d可以包括如4c-1所示的偏移矩阵的md行;

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,基矩阵中子矩阵d可以包括如4c-2所示的偏移矩阵的md行;

若扩展因子z为{32,36,40,44}中的一个,基矩阵中子矩阵d可以包括如4c-3所示的偏移矩阵的md行;

若扩展因子z为{48,52,56,60}中的一个,基矩阵中子矩阵d可以包括如4c-4所示的偏移矩阵的md行;

若扩展因子z为{64,72,80,88,96,104,112,120}中的一个,基矩阵中子矩阵d可以包括如4c-5所示的偏移矩阵的md行;

若扩展因子z为{128,144,160,176,192,208,224,240,256}中的一个,基矩阵中子矩阵d可以包括如4c-6所示的偏移矩阵的md行。

第一种实现方式中的ldpc矩阵的基图和基矩阵可以满足块长为352至8448比特的码块的性能需求,第二种实现方式中的ldpc矩阵的基图和基矩阵可以满足块长为40至2560比特的码块的性能需求。

基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,还包括:确定扩展因子z。例如,根据输入序列的长度k来确定扩展因子z的取值,如:若输入序列长度为k,可以在多个系统定义的扩展因子中确定满足22*z≥k的最小值。

对于发送端的通信设备,使用ldpc矩阵对所述输入序列进行编码包括:

使用扩展因子z对应的ldpc矩阵对所述输入序列进行编码。

对于接收端的通信设备,使用ldpc矩阵对输入序列进行译码包括:

使用扩展因子z对应的ldpc矩阵对输入序列进行译码。

基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,ldpc矩阵的基矩阵保存在存储器中。

基于上述各方面,或者各方面任一种可能的实现方式,在又一种可能的实现方式中,ldpc矩阵的基图保存在存储器中,ldpc矩阵的基矩阵中非零元素的偏移值保存在存储器中。

第三方面,提供一种通信装置可以包含用于执行上述方法设计中第一方面任一种可能的实现方式相对应的模块。所述模块可以是软件和/或是硬件。

在一个可能的设计中,第三方面提供的通信装置,包括如上述第一方面所述的编码器、确定单元以及处理单元。所述确定单元用于确定对输入序列编码所需的扩展因子z。所述处理单元,用于使用所述扩展因子z对应的ldpc矩阵对所述输入序列进行编码。

可选地,所述通信装置还包括收发器,所述收发器用于发送对应于所编码后的信息数据的信号。

第四方面,提供一种通信装置可以包含用于执行上述方法设计中第二方面任一种可能的实现方式相对应的模块。所述模块可以是软件和/或是硬件。

在一种可能的设计中,第四方面提供的通信装置,包括如上述第二方面所述的译码器,获取单元以及处理单元。所述获取单元用于获取ldpc码的软值和扩展因子z。所述处理单元,用于基于扩展因子z对应的基矩阵hb对ldpc码的软值译码得到信息比特序列。

所述通信装置还包括收发器,所述收发器用于接收包含基于ldpc编码的信号。

第五方面,提供了一种通信装置,包括一个或多个处理器。

在一种可能的设计中,一个或多个所述处理器可实现第一方面所述编码器的功能,在另一种可能的设计中,第一方面所述编码器可以是所述处理器的一部分,处理器除了实现第一方面所述编码器的功能,还可以实现其他功能。

在一种可能的设计中,一个或多个所述处理器可实现第二方面所述译码器的功能,在另一种可能的设计中,第二方面所述译码器可以是所述处理器的一部分。

可选地,所述通信装置还可以包括收发器以及天线。

可选的,所述通信装置还可以包括用于产生传输块crc的器件、用于码块分割和crc校验的器件、用于交织的交织器、或者用于调制处理的调制器等。

可选的,所述通信装置还可以包括,用于解调操作的解调器、用于解交织的解交织器、或者用于解速率匹配的器件等等。可以通过一个或多个处理器实现这些器件的功能。

在一种可能的设计中,可以通过一个或多个处理器实现这些器件的功能。

第六方面,本发明实施例提供了一种通信系统,该系统包括上述第三方面所述的通信装置和上述第四方面所述的通信装置。

第七方面,本发明实施例提供了一种通信系统,该系统包括一个或多个第五方面所述的通信装置。

再一方面,本发明实施例提供了一种计算机存储介质,其上存储有程序,当其运行时,使得计算机执行上述方面所述的方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明实施例的信息处理的方法、装置、通信设备和通信系统,在编码性能和错误平层上能够适应系统灵活多变的码长码率需要。

附图说明

图1为一ldpc码的基图、基矩阵及其循环置换矩阵的示意图;

图2为一ldpc码的基图的结构示意图;

图3a为本发明一实施例提供的ldpc码基图的示意图;

图3b为本发明另一实施例提供的ldpc码的基矩阵的示意图;

图3c为本发明另一实施例提供的ldpc码的基矩阵的示意图;

图4a为本发明另一实施例提供的ldpc码基图的示意图;

图4b为本发明另一实施例提供的ldpc码的基矩阵的示意图;

图4c为本发明另一实施例提供的ldpc码的基矩阵的示意图;

图5a为本发明另一实施例提供的性能示意图;

图5b为本发明另一实施例提供的性能示意图;

图5c为本发明另一实施例提供的性能示意图;

图6为本发明另一实施例提供的信息处理装置的结构示意图;

图7为本发明另一实施例提供的通信系统的示意图;

图8a为本发明另一实施例提供的ldpc码基图的示意图;

图8b为本发明另一实施例提供的ldpc码的基矩阵的示意图;

图8c为本发明另一实施例提供的ldpc码的基矩阵的示意图。

具体实施方式

为便于理解下面对本申请中涉及到的一些名词做些说明。

本申请中,名词“网络”和“系统”经常交替使用,但本领域的技术人员可以理解其含义。“通信装置”可以是芯片(如基带芯片,或者数据信号处理芯片,或者通用芯片等等),终端,基站,或者其他网络设备。终端是一种具有通信功能的设备,可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本申请中简称为终端。基站(basestation,bs),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的设备。在不同的无线接入系统中基站的叫法可能有所不同,例如在而在通用移动通讯系统(universalmobiletelecommunicationssystem,umts)网络中基站称为节点b(nodeb),而在lte网络中的基站称为演进的节点b(evolvednodeb,enb或者enodeb),在新空口(newradio,nr)网络中的基站称为收发点(transmissionreceptionpoint,trp)或者下一代节点b(generationnodeb,gnb),或者其他各种演进网络中的基站也可能采用其他叫法。本发明并不限于此。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

ldpc码通常可以用奇偶校验矩阵h来表示。ldpc码的奇偶校验矩阵h可以通过基图(basegraph)和偏移(shift)值得到。基图通常可以包括m*n个矩阵元素(entry),可以用m行n列的矩阵形式表示,矩阵元素的值为0或1,其中值为0的元素,有时候也称之为零元素,表示该元素可以被z*z的全零矩阵(zeromatrix)替换,值为1的元素,有时候也称之为非零元素,表示该元素可以被z*z的循环置换矩阵(circulantpermutationmatrix)替换。也就是说,每个矩阵元素代表的是一个全零矩阵或者一个循环置换矩阵。如图1中10a所示为一个示例性的m=4,n=20具有qc结构的ldpc码的基图中的各元素。

若基图中第i行第j列的元素值为1,其偏移值为pi,j,pi,j为大于或者等于0的整数,则表示第i行第j列的值为1的元素可以被pi,j对应的z*z的循环置换矩阵替换,该循环置换矩阵可通过将z*z的单位矩阵进行pi,j次向右循环移位得到。可见,将基图中每个值为0的元素用z*z的全零矩阵替换,每个值为1的元素采用其偏移值对应的z*z的循环置换矩阵进行替换,则可以得到ldpc码的奇偶校验矩阵。z为正整数,也可以称之为扩展(lifting)因子,可以根据系统支持的码块大小和信息数据的大小确定的。可见奇偶校验矩阵h的大小为(m*z)*(n*z)。例如,扩展因子z=4,则每个零元素被一个4*4大小的全0矩阵11a替换,若p2,3=2,则第2行第3列的非0元素被4*4的循环置换矩阵11d替换,该矩阵是由4*4的单位矩阵11b经过2次向右循环移位得到的,若p2,4=0,则第2行第3列的非0元素被单位矩阵11b替换。需要说明的是,此处仅仅只是举例说明,并不以此为限制。

由于pi,j可以是基于扩展因子z得到的,对于同一个位置上值为1的元素,采用不同的扩展因子z可能存在不同的pi,j。为了简化实现,通常系统也会定义一个m*n的基矩阵(basematrix),在基矩阵中每个元素和基图中每个元素的位置一一对应,基图中的零元素在基矩阵中位置不变,采用-1表示,基图中第i行第j列值为1的非零元素在基矩阵中位置不变,可表示为pi,j,pi,j为大于或者等于0的正整数。在本申请实施例中,有时也将基矩阵称为基图矩阵的偏移矩阵。

如图1中10b所示为基图10a对应的一个基矩阵。

通常ldpc码的基图或基矩阵中还可以包括p列内置打孔(built-inpuncture)比特列,p可以为0~2的整数,这些列参与编码,但是其编码对应的系统比特不被发送,则ldpc码基矩阵的码率满足r=(n-m)/(n-p)。对于一个4行20列(4*20)的基矩阵来讲,如果有2列内置打孔比特列,则码率为(20-4)/(20-2)=8/9。

无线通信系统中采用的ldpc码,其基图的矩阵大小为m*n,可以包括5个子矩阵a、b、c、d和e,其中,矩阵的权重是由非零元素的个数决定的,行的权重(行重)是指一行中包括的非零元素的个数,列的权重(列重)是指一列中包括的非零元素的个数。如图2中200所示,其中:

子矩阵a为ma行na列的矩阵,其大小可以为ma*na,其中每列对应ldpc码中的z个系统比特,系统比特有时候也称为信息比特。

子矩阵b为为ma行ma列的方阵,其大小可以为ma*ma,每列对应于ldpc码中的z个校验比特。子矩阵b包括双对角结构的子矩阵b’和一列权重为3的矩阵列(简称为3列重列),其中列重为3的矩阵列位于子矩阵b’之前,如图2中20a所示;子矩阵b还可以包括一列重为1的矩阵列(简称为单列重列),单列重列可以位于子矩阵b的首列或者最后一列,并且其中的非零元素在子矩阵b的最后一行,使得子矩阵b的最后一行的行重为1,如图2中20b或20c所示。

通常基于子矩阵a和b生成的矩阵为核心矩阵,可以用来支持高码率的编码。

子矩阵c为全零矩阵,其大小为ma×(n-(ma+na))。

子矩阵e为单位矩阵,其大小为(m-ma)×(m-ma)。

子矩阵d大小为(m-ma)×(na+ma),通常可用来生成低码率的校验位。

由于子矩阵b、c和e的结构相对确定,子矩阵a和d两部分的结构是ldpc码的编译码性能的影响因素之一。

通常ldpc码可基于基图和基矩阵获得,对基图或者基矩阵采用密度进化的方法可以确定出ldpc码的性能上限,并且根据基矩阵中的偏移值确定出ldpc码的错误平层。改善编译码性能和降低错误平层是确定基图和基矩阵的目标之一。无线通信系统中码长灵活多变,既可以是如40比特,1280比特这样的小块长码块,也可以是如5000比特8448比特这样的大块长码块。图3a、3b以及3c分别是根据密度进化方法获得的一个ldpc码的基图和基矩阵示例,可满足块长为352至8448比特的码块的性能需求,图4a、4b以及4c分别是根据密度进化方法获得的另一个ldpc码及其核心矩阵的基图和基矩阵示例,可满足块长为40至2560比特的码块的性能需求。为方便说明及理解,附图中3a、3b、3c、4a、4b以及4c中在最上侧以及最左侧,分别示出了列号和行号图5a和图5b分别给出了图3a~3c所示的ldpc码在两种不同码率时的性能示意图,图5c给出了图4a~4c所示的ldpc码的性能示意图。

图3a所示为一个ldpc码的基图30a示例,其中,图中最上面一行0~67表示列编号,最左面一列0~45表示行编号,也就是基图的矩阵大小为46行68列。

子矩阵a对应系统比特,大小为5行22列,在基图30a中由第0行至第4行以及第0列至第21列的元素构成;

子矩阵b对应校验比特,大小为5行5列,在基图30a中由第0行至第4行以及第22列至第26列的元素构成;

子矩阵a和子矩阵b构成了ldpc码基图的核心矩阵部分,也即构成了一个5行27列的矩阵,可用于高码率编码。

其中,子矩阵a中可以包括2列内置打孔比特列,则打孔后,核心矩阵可以支持的码率为22/(27-2)=0.88。

其中,子矩阵b中最后1行(第4行)的行重和最后一列(子矩阵b的第4列,核心矩阵的第26列)的列重均为1,矩阵b包括1列3列重列,即子矩阵b的第0列(核心矩阵的第22列)列重为3,子矩阵b的第1至3列(核心矩阵的第23至25列),第0至3行为双对角结构。

基图30a的核心矩阵中,包括了4行权重为19的行,和1行权重为3的行。也就是,子矩阵a和子矩阵b构成的核心矩阵中各行的权值分别为19,19,19,19和3。需要说明的是,核心矩阵中各行的顺序是可以交换的,例如第0行和第2行交换,第1行和第3行交换等等。权重为3的行可以如基图30a的核心矩阵中第4行,第0至第26列所示;权重为19的行可以分别为基图30a的核心矩阵中第0至第3行,第0至第26列所示的各行之一。这些行顺序可以交换,各列的顺序也可以交换。例如,可以将核心矩阵的第3行和第0行交换,第2行和第1行交换,为了保持子矩阵b中的双对角结构,还可以在此基础上将第23列和第25列进行交换得到如图8a所示的基图80a的核心矩阵部分,也即80a中第0行至第5行,第0列至第26列构成的矩阵部分。由于子矩阵c是全零矩阵,经过行交换和列交换后的基图80a的各行的权重没有改变。

通常对于一个ldpc码给定的基图或者基矩阵而言,对矩阵元素的少量修改对性能影响是可接受的。例如,在一种实现方式中,可以基于基图30a的核心矩阵,进行少量修改,例如,其中1行的权重满足大于或者等于1,且小于或者等于5,其余4行的权重分别满足大于或者等于17,且小于或者等于21。例如,1行的权重为2,其余4行的权重为18,或者1行的权重为4,其余4行的权重分别为17,18,19,19等等。可以理解,也可以参照本申请提供的方案,使其中某些行的权重增加或减少1~2,本申请并不对此进行限定。

为了支持不同块长,ldpc码需要不同的扩展因子z,例如,扩展因子z可以包括以下设计中的一个或多个:16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384。为了保证不同块长下的ldpc码性能,可以分别基于不同的扩展因子z采用与之对应的基矩阵。如图3b所示为基图30a中核心矩阵的多个基矩阵示例。各基矩阵是基于基图30a的核心矩阵和扩展因子z得到的,其中,基图30a中第i行第j列的非零元素在基矩阵第i行第j列为偏移值pi,j,基图30a中零元素在偏移矩阵中以-1或者null表示。

其中,在一种可能的实现方式中:

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-1所示;

若扩展因子z为{32,36,40,44,48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-2所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-3所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-4所示;

若扩展因子z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图中基矩阵30b-5所示。

在又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:

若扩展因子z为{24,26,28,30}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-6所示;

若扩展因子z为{32,36,40,44}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-7所示;

若扩展因子z为{48,52,56,60}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-8所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-3所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图3b中基矩阵30b-4所示;

若扩展因子z为{256,288,320,352,384}中的一个,则基图30a的基矩阵对应子矩阵a和子矩阵b的部分可以如图中基矩阵30b-5所示。

在又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:

若扩展因子z为{24,26,28,30}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-1所示;

若扩展因子z为{32,36,40,44}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-2所示;

若扩展因子z为{48,52,56,60}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-3所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-4所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图8b中基矩阵80b-5所示;

若扩展因子z为{256,288,320,352,384}中的一个,则基图80a的基矩阵对应子矩阵a和子矩阵b的部分可以如图中基矩阵80b-6所示。

同样的,基矩阵中各行也是可以交换的,各列也可以交换。若基图经过行交换或列交换中至少一种交换,则相应部分的基矩阵也进行同样的交换。

可以看到,在上述实现方式中,80b-1是相应于30b-6的行列交换后的矩阵,80b-2是相应于30b-7的行列交换后的矩阵,80b-3是相应于30b-8的行列交换后的矩阵,80b-4是相应于30b-3的行列交换后的矩阵,80b-5是相应于30b-4的行列交换后的矩阵,80b-6是相应于30b-5的行列交换后的矩阵。

为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵c、子矩阵d和子矩阵e,来获得不同的码率。由于子矩阵c为全零矩阵,子矩阵为单位矩阵,其大小主要是根据码率来确定,结构相对固定。影响到编译码性能的主要在于核心矩阵和子矩阵d部分。在核心矩阵的基础上添加行列,形成相应的c、d和e部分可以得到不同码率。

子矩阵d的列数为子矩阵a和b的列数之和,其行数主要与码率相关。以基图30a为例,则相应的子矩阵d的列数md为(na+ma)=27列,若ldpc码支持的码率为rm,则其基图或者基矩阵的大小为m*n,其中,n=na/rm+p,m=n-na=na/rm+p-na。若最低码率rm=1/3,内置打孔列数p=2,以基图30a为例,则n=68,m=46,子矩阵d的行数md最大可以为m-ma=46-5=41,也就是0≤md≤41。

为了方便描述,可以定义一个大小为41行27列的矩阵f,则子矩阵d可以包括其中的md行,和子矩阵a、b以及相应大小的子矩阵c和e一起构成码率为22/(25+md)的ldpc码的基图。基图30a中,md=41,相应地子矩阵d大小为41行27列,也就是子矩阵d即矩阵f,对应ldpc码支持的码率为22/66=1/3。可见,基图30a中第5行至第45行以及第0列至第26列构成的矩阵即为矩阵f。

在基图30a所示例的矩阵f中,其行重依次为7,7,9,8,7,7,8,6,6,5,6,5,5,6,5,5,5,5,4,4,4,5,4,5,4,4,4,4,3,4,4,4,4,3,3,4,4,3,3,3,4。

由于子矩阵e为单位矩阵,因此基图30a中每一行的权重为8,8,10,9,8,8,9,7,7,6,7,6,6,7,6,6,6,6,5,5,5,6,5,6,5,5,5,5,4,5,5,5,5,4,4,5,5,4,4,4,5。

若md=15,ldpc码基图中子矩阵d大小为15行27列,可以是由基图30a中矩阵f的第0-14行,也就是基图30a的第5行至第19行,第0列至第26列的矩阵构成,对应ldpc码支持的码率为22/40=0.55,也就是在该码率下,ldpc码的基图对应于基图30a的第0行至第19行,第0列至第41列构成的矩阵部分,其中子矩阵e为15行15列的单位矩阵,子矩阵c为5行15列的全0矩阵;

若md=19,ldpc码基图中子矩阵d大小为19行27列,可以是由基图30a中矩阵f的第0-18行,也就是基图30a的第5行至第23行,第0列至第26列的矩阵构成构成,对应ldpc码支持的码率为22/44=1/2,也就是在该码率下,ldpc码的基图对应于基图30a的第0行至第23行,第0列至第41列构成的矩阵部分,其中子矩阵e为19行19列的单位矩阵,子矩阵c为5行19列的全0矩阵。

以此类推,不一一阐述。

需要说明的是,ldpc码的基图和基矩阵中各行是可以相互交换的,各列也是可以相互交换的。例如,可将基图30a的第17行和第19行进行交换,并且将第39列和第41列进行交换得到如图8a所示的基图矩阵80a。又例如,子矩阵d包括矩阵f中md行,这md行可以不进行行交换,也可以将其中一行或多行之间进行行交换,子矩阵e仍为对角结构,不做行、列交换,例如,将矩阵f的第12行和第14行进行行交换,子矩阵d包括矩阵f中md行,子矩阵e仍为对角结构,从而得到基图80a。

对每一码率中的子矩阵d,每一行可以进行1~2个非零元素或者1~2个零元素的修改,而不影响其性能。

如图3c所示基矩阵30c为基图30a的基矩阵示例,其中,基图30a中第i行第j列的非零元素在基矩阵30c中位置不变,值为偏移值pi,j。其中,子矩阵d的部分包括矩阵f的偏移矩阵的md行,对于图3c中所示的基矩阵30c,md=41,可以根据码率的不同选择md值。子矩阵d对应的偏移矩阵为矩阵f的偏移矩阵。这里矩阵f的偏移矩阵也就是将矩阵f中第i行第j列的非零元素替换为偏移值pi,j,零元素在偏移矩阵中以-1或者null表示。

其中,一种可能的实现方式中,

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则矩阵f的偏移矩阵可以如30c-1所示;

若扩展因子z为{32,36,40,44,48,52,56,60}中的一个,则矩阵f的偏移矩阵可以如30c-2所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵f的偏移矩阵可以如30c-3所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则矩阵f的偏移矩阵可以如30c-4所示;

若扩展因子z为{256,288,320,352,384}中的一个,则则矩阵f的偏移矩阵可以如30c-5所示。

将基矩阵30c中子矩阵d替换为上述各矩阵f的偏移矩阵中的md行,可以得到与基图30a对应的不同码率的各个基矩阵。若md=41,将基矩阵30c中第5行至第45行,第0列至第26列构成的矩阵部分替换为各矩阵f的偏移矩阵,可以得到与大小为46行68列的基图30a对应的各个基矩阵,此时码率为1/3。

又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:

若扩展因子z为{24,26,28,30}中的一个,则矩阵f的偏移矩阵可以如30c-6所示;

若扩展因子z为{32,36,40,44}中的一个,则矩阵f的偏移矩阵可以如30c-7所示;

若扩展因子z为{48,52,56,60}中的一个,则矩阵f的偏移矩阵可以如30c-8所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵f的偏移矩阵可以如30c-3所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则矩阵f的偏移矩阵可以如30c-4所示;

若扩展因子z为{256,288,320,352,384}中的一个,则矩阵f的偏移矩阵可以如30c-5所示。

又一种可能的实现方式中,扩展因子集合可以为{24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384}:

若扩展因子z为{24,26,28,30}中的一个,则矩阵f的偏移矩阵可以如80c-1所示;

若扩展因子z为{32,36,40,44}中的一个,则矩阵f的偏移矩阵可以如80c-2所示;

若扩展因子z为{48,52,56,60}中的一个,则矩阵f的偏移矩阵可以如80c-3所示;

若扩展因子z为{60,64,72,80,88,96,104,112,120}中的一个,则矩阵f的偏移矩阵可以如80c-4所示;

若扩展因子z为{128,144,160,176,192,208,224,240}中的一个,则矩阵f的偏移矩阵可以如80c-5所示;

若扩展因子z为{256,288,320,352,384}中的一个,则矩阵f的偏移矩阵可以如80c-6所示。

同样的,基矩阵中各行也是可以交换的,各列也可以交换。若基图经过了行交换或列交换中至少一种,则相应部分的基矩阵也进行同样的交换。

可以看到,在上述实现方式中,80c-1是相应于30c-6的行列交换后的矩阵,80c-2是相应于30c-7的行列交换后的矩阵,80c-3是相应于30c-8的行列交换后的矩阵,80c-4是相应于30c-3的行列交换后的矩阵,80c-5是相应于30c-4的行列交换后的矩阵,80c-6是相应于30c-5的行列交换后的矩阵。

将基矩阵80c中子矩阵d替换为上述各矩阵f的偏移矩阵中的md行,可以得到与基图80a对应的不同码率的各个基矩阵。若md=41,将基矩阵80c中第5行至第45行,第0列至第26列构成的矩阵部分替换为各矩阵f的偏移矩阵,可以得到与大小为46行68列的基图80a对应的各个基矩阵,此时码率为1/3。

需要说明的是,由于基图和基矩阵中各行、各列都可以交换,一种可能的实现方式中,基图的核心矩阵,也就是子矩阵a和b构成的部分可以采用基图30a中的核心矩阵部分,基图的子矩阵d可以包括基图30a中第5行到第45行,第0列到第26列构成的矩阵部分中的md行。相应地,基矩阵中核心矩阵部分可以为30b-3,30b-4,30b-5,30b-6,30b-7和30b-8中的一个,子矩阵d对应的部分可以包括以下任一矩阵的md行:30c-3,30c-4,30c-5,30c-6,30c-7和30c-8。可以根据扩展因子选择核心矩阵和子矩阵d对应的部分。

又一种可能的实现方式中,基图的核心矩阵,也就是子矩阵a和b构成的部分可以采用基图80a中的核心矩阵部分,基图的子矩阵d可以包括基图80a中第5行到第45行,第0列到第26列构成的矩阵部分中的md行。相应地,基矩阵中核心矩阵部分可以为80b-1,80b-2,80b-3,80b-4,80b-5和80b-6中的一个,子矩阵d对应的部分可以包括以下任一矩阵的md行:80c-1,80c-2,80c-3,80c-4,80c-5和80c-6。可以根据扩展因子选择核心矩阵和子矩阵d对应的部分。

又一种可能的实现方式中,基图的核心矩阵,也就是子矩阵a和b构成的部分可以采用基图30a中的核心矩阵部分,基图的子矩阵d可以包括基图80a中第5行到第45行,第0列到第26列构成的矩阵部分中的md行。相应地,基矩阵中核心矩阵部分可以为30b-3,30b-4,30b-5,30b-6,30b-7和30b-8中的一个,子矩阵d对应的部分可以包括以下任一矩阵的md行:80c-1,80c-2,80c-3,80c-4,80c-5和80c-6。可以根据扩展因子选择核心矩阵和子矩阵d对应的部分。

又一种可能的实现方式中,基图的核心矩阵,可以采用基图80a中的核心矩阵部分,基图的子矩阵d可以包括基图30a中第5行到第45行,第0列到第26列构成的矩阵部分中的md行。相应地,基矩阵中核心矩阵部分可以为80b-1,80b-2,80b-3,80b-4,80b-5和80b-6中的一个,子矩阵d对应的部分可以包括以下任一矩阵的md行:30c-6,30c-7,30c-8,30c-3,30c-4和30c-5。可以根据扩展因子选择核心矩阵和子矩阵d对应的部分。

图5a和图5b所示的性能曲线图中,ldpc1表示该ldpc码是基于基图30a对应的各个基矩阵编码得到的,ldpc2表示作为对比的一种常用的ldpc码,其中横坐标表示信息比特序列的长度,单位为比特,纵坐标为符号信噪比(es/n0),性能曲线为bler分别为0.01和0.0001时,ldpc1和ldpc2在不同信息比特序列长度下符号信噪比的性能。其中,图5a中码率r=8/9,图5b中码率r=1/3。可以看出在同样的bler下,ldpc1在不同信息比特序列长度下的符号信噪比低于ldpc2,也就是性能优于ldpc2。

图4a所示为一个ldpc码的基图40a示例,其中,图中最上面一行0~51表示列编号,最左面一列0~41表示行编号。

子矩阵a对应系统比特,大小为7行10列,在基图40a中由第0行至第6行以及第0列至第9列的元素构成;

子矩阵b对应校验比特,大小为7行7列,在基图40a中由第0行至第6行以及第10列至第16列的元素构成;

子矩阵a和子矩阵b构成了ldpc码基图40a的核心矩阵部分,也即构成了一个7行17列的矩阵,可用于高码率编码。

其中,子矩阵a中可以包括2列内置打孔比特列,则打孔后,核心矩阵可以支持的码率为10/(17-2)=2/3。

其中,子矩阵b中最后1行(第6行)的行重和最后一列(子矩阵b的第6列,核心矩阵的第16列)的列重均为1,矩阵b包括1列3列重列,即子矩阵b的第0列(核心矩阵的第10列)列重为3,子矩阵b的第1至5列(核心矩阵的第11至15列),第0至6行为双对角结构。

基图40a的核心矩阵中,包括了1行权重为3的行,3行权重为8的行,其余3行权重为7的行。也就是,子矩阵a和子矩阵b构成的核心矩阵中各行的权值分别为8,7,7,7,8,8和3。需要说明的是,核心矩阵中各行的顺序是可以交换的,例如第0行和第2行交换,第1行和第3行交换等等。权重为3的行可以如基图40a的核心矩阵中第6行,第0至第16列所示;权重为8的行可以分别为基图40a的核心矩阵中第0行,第4行以及第5行,第0至第26列所示的各行之一。权重为7的行可以分别为基图40a的核心矩阵中第1行,第2行以及第3行,第0至第26列所示的各行之一。这些行顺序可以交换,各列的顺序也可以交换,并不影响编译码性能。

例如,可以将核心矩阵的第5行和第0行交换,第4行和第1行交换,第3行和第2行交换,为了保持子矩阵b中的双对角结构,还可以在此基础上将第15列和第11列交换,第12列和第14列进行交换得到又一核心矩阵部分。由于子矩阵c是全零矩阵,经过行交换和列交换后的基图80a的各行的权重没有改变。

通常对于一个ldpc码给定的基图或者基矩阵而言,对矩阵元素的少量修改对性能影响是可接受的。对于基图40a的核心矩阵而言,进行少量修改,例如,使得其中1行的权重满足大于或者等于1,且小于或者等于5,其余6行的权重分别满足大于或者等于6,且小于或者等于10,对性能影响较小。

为了支持不同块长,ldpc码需要不同的扩展因子z,例如,扩展因子z可以包括中的一个或多个:8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256。为了保证不同块长下的ldpc码性能,可以分别基于不同的扩展因子z采用与之对应的基矩阵。如图4b所示为基图40a中核心矩阵的多个基矩阵示例。各基矩阵是基于基图40a的核心矩阵和扩展因子z得到的,其中,基图40a中第i行第j列的非零元素在基矩阵第i行第j列为偏移值pi,j,基图40a中零元素在偏移矩阵中以-1或者null表示。同样的,基矩阵中各行也是可以交换的,各列也可以交换。

其中,

若扩展因子z为{8,9,10,11,12,13,14,15}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-1所示;

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-2所示;

若扩展因子z为{32,36,40,44}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-3所示;

若扩展因子z为{48,52,56,60}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b中基矩阵4b-4所示;

若扩展因子z为{64,72,80,88,96,104,112,120}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b-5所示。

若扩展因子z为{128,144,160,176,192,208,224,240,256}中的一个,则基图40a的基矩阵对应子矩阵a和子矩阵b的部分可以如图4b-6所示。

为了获得灵活的码率,可以基于核心矩阵添加相应大小的子矩阵c、子矩阵d和子矩阵e,来获得不同的码率。由于子矩阵c为全零矩阵,子矩阵为单位矩阵,其大小主要是根据码率来确定,结构相对固定。影响到编译码性能的主要在于核心矩阵和子矩阵d部分。在核心矩阵的基础上添加行列,形成相应的c、d和e部分可以得到不同码率。

子矩阵d的列数为子矩阵a和b的列数之和,其行数主要与码率相关。以基图40a为例,则相应的子矩阵d的列数md为(na+ma)=17列,若ldpc码支持的码率为rm,则其基图或者基矩阵的大小为m*n,其中,n=na/rm+p,m=n-na=na/rm+p-na。若最低码率rm=1/5,内置打孔列数p=2,以基图40a为例,则n=52,m=42,子矩阵d的行数md最大可以为m-ma=42-7=35,也就是0≤md≤35。

为了方便描述,可以定义一个大小为35行17列的矩阵f,则子矩阵d可以包括其中的md行,和子矩阵a、b以及相应大小的子矩阵c和e一起构成码率为10/(15+md)的ldpc码的基图。基图40a中,md=35,相应地子矩阵d大小为35行17列,也就是子矩阵d即矩阵f,对应ldpc码支持的码率为10/50=1/5。可见,基图40a中第7行至第41行以及第0列至第16列构成的矩阵即为矩阵f。

在基图40a所示例的矩阵f中,其行重依次为5,4,4,4,4,4,4,3,3,3,4,2,3,3,4,4,2,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2。

由于子矩阵e为单位矩阵,因此基图40a中每一行的权重为6,5,5,5,5,5,5,4,4,4,5,3,4,4,5,5,3,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,3。

若md=10,ldpc码基图中子矩阵d大小为10行17列,可以是由基图40a中矩阵f的第0-9行,也就是基图40a的第7行至第16行,第0列至第16列的矩阵构成,对应ldpc码支持的码率为10/25=0.4,也就是在该码率下,ldpc码的基图对应于基图40a的第0行至第16行,第0列至第26列构成的矩阵部分,其中子矩阵e为10行10列的单位矩阵,子矩阵c为7行10列的全0矩阵;

若md=15,ldpc码基图中子矩阵d大小为15行17列,可以是由基图40a中矩阵f的第0-14行,也就是基图40a的第7行至第21行,第0列至第16列的矩阵构成构成,对应ldpc码支持的码率为10/30=1/3,也就是在该码率下,ldpc码的基图对应于基图40a的第0行至第21行,第0列至第31列构成的矩阵部分,其中子矩阵e为15行15列的单位矩阵,子矩阵c为7行15列的全0矩阵。

以此类推,不一一阐述。

需要说明的是,ldpc码的基图和基矩阵中各行是可以相互交换的,各列也是可以相互交换的。

对每一码率中的子矩阵d,每一行可以进行1~2个非零元素或者1~2个零元素的修改,而不影响其性能。

如图4c所示基矩阵40c为基图40a的基矩阵示例,其中,基图40a中第i行第j列的非零元素在基矩阵30c中位置不变,值为偏移值pi,j。其中,子矩阵d的部分包括矩阵f的偏移矩阵的md行,对于图4c中所示的基矩阵40c,md=41,可以根据码率的不同选择md值。子矩阵d对应的偏移矩阵为矩阵f的偏移矩阵。这里矩阵f的偏移矩阵也就是将矩阵f中第i行第j列的非零元素替换为偏移值pi,j,零元素在偏移矩阵中以-1或者null表示。

其中,

若扩展因子z为{8,9,10,11,12,13,14,15}中的一个,则矩阵f的偏移矩阵可以如4c-1所示;

若扩展因子z为{16,18,20,22,24,26,28,30}中的一个,则矩阵f的偏移矩阵可以如4c-2所示;

若扩展因子z为{32,36,40,44}中的一个,则矩阵f的偏移矩阵可以如4c-3所示;

若扩展因子z为{48,52,56,60}中的一个,则矩阵f的偏移矩阵可以如4c-4所示;

若扩展因子z为{64,72,80,88,96,104,112,120}中的一个,则矩阵f的偏移矩阵可以如4c-5所示;

若扩展因子z为{128,144,160,176,192,208,224,240,256}中的一个,则则矩阵f的偏移矩阵可以如4c-6所示。

将基矩阵40c中子矩阵d替换为上述各矩阵f的偏移矩阵中的md行,可以得到与基图40a对应的不同码率的各个基矩阵。若md=35,将基矩阵40c中第7行至第41行,第0列至第16列构成的矩阵部分替换为各矩阵f的偏移矩阵,可以得到与大小为42行52列的基图40a对应的各个基矩阵,此时码率为1/5。

图5c所示为基于基图40a对应的各个基矩阵编码得到的ldpc码,其中横坐标表示信息比特序列的长度,单位为比特,纵坐标为符号信噪比(es/n0),bler分别为0.01和0.0001时的符号信噪比。

在本发明一实施例提供的编码方法中,编码器使用ldpc矩阵对输入序列进行编码;该ldpc矩阵的基图可以为前述示例中的任一基图,该ldpc矩阵的基矩阵hb可以为前述示例中的任一基矩阵。其中,编码器的输入序列可以是信息比特序列。

进一步地,还包括:确定扩展因子z;可以根据输入序列的长度k来确定扩展因子z的取值。信息比特序列有时也称为码块(codeblock),可以通过对传输块进行码块划分得到。若信息比特序列长度为k,可以在多个系统定义的扩展因子中确定满足22*z≥k的最小值,例如,k=3800,系统定义的扩展因子包括16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384,则可以确定z为176。需要说明的是,此处只是举例,并不以此为限制。

编码器使用ldpc矩阵对输入序列进行编码可以是使用扩展因子z对应的ldpc矩阵对输入序列进行编码。

其中ldpc矩阵基矩阵hb可以是前述各实施例中例举的任一基矩阵,其基图至少包括子矩阵a和子矩阵b,还可以包括子矩阵c、子矩阵d和子矩阵e,各部分可以参考前述各实施例中的描述,此处不再赘述。

在一种可能的实现方式中,ldpc码的基矩阵hb可以是保存在存储器中,编码器获取扩展因子z对应的ldpc矩阵,从而对输入序列进行编码。在又一种可能的实现方式中,由于ldpc码的基矩阵hb有多个,按照矩阵结构保存会占用较大的存储空间,也可以将ldpc码的基图保存在存储器中,分别逐行或者逐列保存各基矩阵中非零元素的偏移值,然后根据基图和扩展因子z对应的基矩阵的偏移值得到ldpc矩阵。

需要说明的是,此处均只是举例,并不以此为限制。

对信息比特序列进行编码时,可以根据z对基矩阵hb进行扩展得到编码的ldpc矩阵h。对基矩阵hb中每一非零元素pi,j,确定z*z大小的循环置换矩阵hi,j,其中hi,j为单位矩阵经过pi,j次循环移位得到的循环置换矩阵,将hi,j替换非零元素pi,j,将z*z大小的全零矩阵替换基矩阵hb中的零元素,从而得到奇偶校验矩阵h;

在通信系统中,可采用上述方法编码后得到ldpc码。获得ldpc码后,通信装置,还可以进行以下一个或多个操作:对ldpc码进行速率匹配;根据交织方案对速率匹配后的ldpc码进行交织;根据调制方案对交织后的ldpc码进行调制得到比特序列b;发送比特序列b。

在本发明另一实施例提供的译码方法中,译码器使用ldpc矩阵对输入序列进行译码;该ldpc矩阵的基图可以为前述示例中的任一基图,该ldpc矩阵的基矩阵hb可以为前述示例中的任一基矩阵。其中,译码器的输入序列可以是ldpc码的软值序列。

进一步地,还包括:确定扩展因子z。接收端的通信设备可以接收包含基于ldpc编码的信号,获取其中ldpc码的软值序列,并确定出相应的扩展因子z。

译码器使用ldpc矩阵对输入序列进行译码可以是使用扩展因子z对应的ldpc矩阵对ldpc码的软值序列进行译码。

其中ldpc矩阵基矩阵hb可以是前述各实施例中例举的任一基矩阵,其基图至少包括子矩阵a和子矩阵b,还可以包括子矩阵c、子矩阵d和子矩阵e,各部分可以参考前述各实施例中的描述,此处不再赘述。

在一种可能的设计中,,ldpc码的基矩阵hb可以是保存在存储器中,获取到扩展因子z对应的ldpc矩阵可以对ldpc码的软值进行译码;

在又一种可能的实现方式中,由于ldpc码的基矩阵有多个,按照矩阵结构保存会占用较大的存储空间,也可以将ldpc码的基图保存在存储器中,分别逐行或者逐列保存各基矩阵中非零元素的偏移值,然后根据基图和扩展因子z对应的基矩阵的偏移值得到ldpc矩阵。

需要说明的是,此处均只是举例,并不以此为限制。

译码是编码的逆过程,其使用的基矩阵hb具有与编码方法实施例中的基矩阵相同的特征。对基矩阵hb扩展得到ldpc矩阵h也可以参考编码方法实施例。

在通信系统中,所述译码方法之前,通信装置还可以进行以下一个或多个操作:接收包含基于ldpc编码的信号,对信号进行解调,解交织以及解速率匹配得到ldpc码的软值。

图6给出了一种通信装置600的结构示意图,装置600可用于实现上述方法实施例中描述的方法,可以参见上述方法实施例中的说明。所述通信装置600可以是芯片,基站,终端或者其他网络设备。

所述通信装置600包括一个或多个处理器601。所述处理器601可以是通用处理器或者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置(如,基站、终端、或芯片等)进行控制,执行软件程序,处理软件程序的数据。

在一种可能的设计中,一个或多个所述处理器601可实现上述编码器的功能,在另一种可能的设计中,上述编码器可以是所述处理器601的一部分,处理器601除了实现编码器的功能,还可以实现其他功能。

所述通信装置600使用ldpc矩阵对输入序列进行编码;该ldpc矩阵的基图可以为前述示例中的任一基图,该ldpc矩阵的基矩阵hb可以为前述实施例中的任一基矩阵。其中,编码器的输入序列可以是信息比特序列。

在一种可能的设计中,一个或多个所述处理器601可实现上述译码器的功能,在另一种可能的设计中,上述译码器可以是所述处理器601的一部分。

所述装置600可用于使用ldpc矩阵对输入序列进行译码;该ldpc矩阵的基图可以为前述示例中的任一基图,该ldpc矩阵的基矩阵hb可以为前述示例中的任一基矩阵。其中,译码器的输入序列可以是软值序列。

可选的一种设计中,处理器601也可以包括指令603,所述指令可以在所述处理器上被运行,使得所述通信装置600执行上述方法实施例中描述的方法。

在又一种可能的设计中,通信装置600也可以包括电路,所述电路可以实现前述方法实施例中编码器、或者译码器、或者编码器和译码器的功能。

可选的,所述通信装置600中可以包括一个或多个存储器602,其上存有指令604,所述指令可在所述处理器上被运行,使得所述通信装置600执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。

可选的,所述通信装置600还可以包括收发器605以及天线606。所述处理器601可以称为处理单元,对通信装置(终端或者基站)进行控制。所述收发器605可以称为收发单元、收发机、收发电路、或者收发器等,用于通过天线606实现通信装置的收发功能.

可选的,所述装置600还可以包括用于产生传输块crc的器件、用于码块分割和crc校验的器件、用于交织的交织器、或者用于调制处理的调制器等。可以通过一个或多个处理器601实现这些器件的功能。

可选的,所述装置600还可以包括,用于解调操作的解调器、用于解交织的解交织器、或者用于解速率匹配的器件等等。可以通过一个或多个处理器601实现这些器件的功能。

图7给出了一种通信系统700的示意图,通信系统700中包括通信设备70和通信设备71,其中,信息数据在通信设备70和通信设备71之间接收和发送。通信设备70和71可以分别包括通信装置600,对信息数据进行接收和发送。

本领域技术任何还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogicalblock)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的指令、或者这两者的结合。存储器可以是ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介。示例性地,存储器可以与处理器连接,以使得处理器可以从存储器中读取信息,并可以向存储器存写信息。可选地,存储器还可以集成到处理器中。处理器和存储器可以设置于asic中,asic可以设置于ue中。可选地,处理器和存储器也可以设置于ue中的不同的部件中。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。当使用软件程序实现时,也可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定义中。如本发明所使用的,盘(disk)和碟(disc)包括压缩光碟(cd)、激光碟、光碟、数字通用光碟(dvd)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1