通信方法和装置与流程

文档序号:16976946发布日期:2019-02-26 19:06阅读:135来源:国知局
通信方法和装置与流程
本申请实施例涉及通信领域,尤其涉及通信方法和装置。
背景技术
:低密度奇偶校验(lowdensityparitycheck,ldpc)码是一类具有稀疏校验矩阵的线性分组编码,具有结构灵活,译码复杂度低的特点。由于它采用部分并行的迭代译码算法,从而比传统的turbo码具有更高的吞吐率。ldpc码可用于通信系统的纠错码,从而提高信道传输的可靠性和功率利用率。ldpc码还可以广泛应用于空间通信、光纤通信、个人通信系统、adsl和磁记录设备等。目前在第五代移动通信中已考虑采用ldpc码作为信道编码方式之一。实际使用过程中,可以采用具有特殊结构化特征的ldpc矩阵。该具有特殊结构化特征的ldpc矩阵h可以由准循环(quasicycle,qc)结构的ldpc基矩阵扩展得到。qc-ldpc适合并行度高的硬件,提供的吞吐率更高。可以通过对ldpc矩阵进行设计使之应用于信道编码。qc-ldpc适合并行度高的硬件,提供的吞吐率更高。可以通过对ldpc矩阵进行设计使之应用于信道编码。技术实现要素:本申请实施例提供了一种通信方法和装置,可以合理选择编码矩阵类型以用于编码。第一方面,提供一种通信方法,包括:至少根据第一序列的长度确定编码矩阵类型,基于所述编码矩阵类型对应的编码矩阵对第一序列进行编码,进一步的,当第一序列的长度小于或者等于第一阈值时,可以根据mcs索引确定编码矩阵类型。其中,该第一序列是由第二序列经过码块分割后得到的,该第二序列的长度与所述mcs索引相关。上述方法,通过输入编码器的序列的长度和mcs索引确定编码矩阵类型,合理选择编码矩阵类型,可在保证系统正常工作的前提下,降低译码时延,提高译码性能。一种可能的设计中,当第一序列的长度小于或者等于第一阈值时,利用mcs索引与编码矩阵类型的对应关系,确定与所述mcs索引对应的编码矩阵类型。该方案中,将编码矩阵类型和mcs索引绑定,可以增加系统的鲁棒性。进一步的,基于以上方式,为了更加灵活的实现编码矩阵类型的配置,对于全部或者部分mcs索引可以按照nprb的粒度配置编码矩阵类型。比如,mcs索引对应m个nprb,m为正整数,根据nprb和mcs索引确定所述编码矩阵类型。一种可能的方式中,可以是针对全部的mcs索引,每种mcs索引下,数值小于或等于第二阈值的nprb对应第二编码矩阵类型,另一种可能的方式中,可以是针对部分mcs索引,比如可以将m个码率中至少两个码率之间的差值大于第三阈值的mcs索引按照nprb的粒度配置编码矩阵类型,具体可以是数值小于或等于第二阈值的nprb对应第二编码矩阵类型。另一种可能的设计中,利用mcs索引与码率的对应关系,确定与mcs索引对应的码率;根据码率与码率阈值确定所述编码矩阵类型。其中,码率和码率阈值可以为浮点数或者分数。当码率为分数时,在mcs索引与码率的对应关系中记录与码率对应的分子值。又一种可能的设计中,可以利用mcs索引与码率索引的对应关系,确定与mcs索引对应的码率索引;根据码率索引查找与码率索引对应的码率;根据码率与码率阈值确定编码矩阵类型。以上根据码率与码率阈值确定编码矩阵类型可以是:将码率与码率阈值进行比较确定编码矩阵类型,比如当所述码率大于该码率阈值时,确定得到第一编码矩阵类型;或者,当所述码率小于或者等于所述码率阈值时,确定得到第二编码矩阵类型。通过上述方式,也可以避免每次确定编码矩阵类型时计算码率,而是间接的将mcs索引与编码矩阵类型绑定,可以增加系统的鲁棒性。上述方法中,第一编码矩阵类型对应的编码矩阵的尺寸大于第二编码矩阵类型对应的编码矩阵的尺寸。上述方法中所提到的各个对应关系,可以以表格的形式保存。上述方法中,通过查表方式,根据mcs索引确定所述编码矩阵类型。上述方法中的编码矩阵类型包括基图。第二方面,还提供一种通信方法,该方法适用于译码过程,译码过程与第一方面所述的通信方法相对应,采用与第一方面中的通信方法相同的方式确定编码矩阵类型,进一步确定编码矩阵。第三方面,提供一种通信装置可以包含用于执行上述第一方面或者第二方面的通信方法设计中相对应的模块。所述模块可以是软件和/或是硬件。在一个可能的设计中,第三方面提供的通信装置,包括处理器和收发组件,该处理器和收发组件可用于实现上述编码或者译码方法中各部分的功能。在该设计中,如果该通信装置是终端、基站或者其他网络设备,其收发组件可以是收发机,如果该通信装置是基带芯片或基带单板,其收发组件可以是基带芯片或基带单板的输入/输出电路,用于实现输入/输出信号的接收/发送。所述通信装置可选的还可以包括存储器,用于存储数据和/或指令。上述通信装置可以是芯片,终端或者基站。第四方面,本申请实施例提供了一种通信系统,该系统包括上述第三方面所述的通信装置。再一方面,本申请实施例提供了一种计算机存储介质,其上存储有程序,当其运行时,使得计算机执行上述方面所述的方法。本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。附图说明图1为一ldpc码的基图示意图;图2为本申请一实施例提供的通信方法示意图;图3为一ldpc码的基图的结构示意图;图4为本申请一实施例提供的通信装置结构示意图;图5为本申请另一实施例提供的通信装置结构示意图;图6为本申请一实施例提供的通信系统示意图。具体实施方式为便于理解下面对本申请中涉及到的一些名词做些说明。本申请中,名词“网络”和“系统”经常交替使用,“装置”和“设备”也经常交替使用,但本领域的技术人员可以理解其含义。“通信装置”可以是芯片(如基带芯片,或者数据信号处理芯片,或者通用芯片等等),终端,基站,或者其他网络设备。终端是一种具有通信功能的设备,可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本申请中简称为终端。基站(basestation,bs),也可称为基站设备,是一种部署在无线接入网用以提供无线通信功能的设备。在不同的无线接入系统中基站的叫法可能有所不同,例如在而在通用移动通讯系统(universalmobiletelecommunicationssystem,umts)网络中基站称为节点b(nodeb),而在lte网络中的基站称为演进的节点b(evolvednodeb,enb或者enodeb),在新空口(newradio,nr)网络中的基站称为收发点(transmissionreceptionpoint,trp)或者下一代节点b(generationnodeb,gnb),或者其他各种演进网络中的基站也可能采用其他叫法。本申请并不限于此。以下对本申请中的一些术语或者概念做出说明。序列是一种由比特“0”和/或“1”组成的比特串。序列的长度是指序列包括的比特的数目。例如:序列00包括2个比特,其长度为2;序列111包括3个比特,其长度为3;序列“0100”包括4个比特,其长度为4。传输块(transportblocb,tb)以及码块(codeblocb,cb)都可以视为一种序列。码块是通过对传输块或者经过处理的传输块分割后得到的,是编码的对象。因此,本申请中,码块长度指的是该码块所包括的比特的数目,码块长度也可以称为码块大小(codeblocksize,cbs);传输块长度指的是该传输块所包括的比特的数目,传输块长度也可以称为传输块大小(transportblocksize,tbs)。可以理解,随着技术的发展,传输块或者码块可能有不同的术语名称。本申请实施例中,经过处理的传输块也可以理解为传输块,该处理可以是在初始的传输块基础上添加校验比特,例如添加循环冗余校验(cyclicredundancycheck,crc)比特,本申请实施例对此不做限定。本申请实施例中,所提到的码率是指对待编码的序列采用的编码码率。ldpc码通常可以用奇偶校验矩阵(paritycheckmatrice)(有时也称为基矩阵)来表示。ldpc码的奇偶校验矩阵可以通过协议约定、预配置、或预存储。ldpc码的奇偶校验矩阵也可以通过基图(basegraph,简称为bg)和偏移(shift)值vi,j表示。所述基图(basegraph,简称为bg)和偏移(shift)值vi,j可以通过协议约定、预配置、或预存储。在一种实现方式中,所述奇偶校验矩阵以及基图均可以用m行n列的矩阵形式表示,其中m,n为正整数。所述奇偶校验矩的尺寸以及基图的尺寸可以通过矩阵的行数和列数来表示,也可以通过所包含的矩阵元素的个数来表示。奇偶校验矩阵的尺寸可以与基图的尺寸相对应。所述尺寸相对应,可以理解为,奇偶校验矩阵的行数和列数与基图的行数和列数分别相同,也可以理解为,奇偶校验矩阵的行数和列数,分别与基图的行数/列数存在对应关系。基图通常可以包括m*n个矩阵元素(entry),矩阵元素的值为0或1,其中值为0的元素,也可以表示为null,有时候也称之为零元素,表示该元素可以被z*z的全零矩阵(zeromatrix)替换,值为1的元素,有时候也称之为非零元素,所述非零元素可以被偏移值vi,j替换,其中i为行索引(行号),j为列索引(列号)。基图可用于指示偏移值的位置,基图中的非零元素与偏移值对应。如图1中10a所示为一个5行27列的基图的例子,也就是说m=5,n=27。在本文中,基图和基矩阵的行索引(行号)和列索引(列号)均是从0开始编号的,可以理解的是,行号和列号也可以从1开始编号或者其他值开始编号,只要能索引到相应的行和列即可。根据系统需求不同,需求的bg尺寸大小可以不同。可以基于bg尺寸大小,对bg进行分类。例如,可以通过协议规定、预定义、预配置、或预存储bg的类型,每种类型bg的尺寸不同(也就是矩阵的行数和/或列数不同)。例如可以规定包含两种类型的bg,分别为bg1和bg2,也可以规定两种以上类型的bg,如bg1,bg2,bg3…。本申请对bg类型的个数并不进行限定。在一种实现方式中,对于bg1,其对应的奇偶校验矩阵hbg1的尺寸为46行68列,行索引为i=0,1,2,...,45,列索引为j=0,1,2,...,67;对于bg2,其对应的奇偶校验矩阵hbg2的尺寸为为42行52列,行索引为i=0,1,2,...,41,列索引为j=0,1,2,...,51。表1给出了分别对应于bg1和bg2的hbg的非零元素的位置分布的一种可能的形式。表1:bg1和bg2的hbg可以理解的是,由上可以看出,一种基图可以被看作是一类编码矩阵,那么可以将基图理解为是编码矩阵类型的一种表现方式。当然,编码矩阵类型也可以包括奇偶校验矩阵的类型。需要说明的是,本申请实施例中,一种编码矩阵类型代表了一种编码矩阵的结构,此处所述的编码矩阵的结构包括编码矩阵的尺寸、编码矩阵中的零元素和/或非零元素的在编码矩阵中位置分布。每种编码矩阵类型可以对应至少一种编码矩阵,每种编码矩阵类型对应的至少一种编码矩阵的结构是相同的,只是非零元素的具体取值不完全同(即部分相同或均不相同),比如bg1可以对应8种编码矩阵。当然,除了尺寸以及编码矩阵中的零元素和/或非零元素的在编码矩阵中位置分布,不同编码矩阵类型之间还可能存在其他差异,本申请实施例对此不做限定。本申请实施例中,可以包括至少两种编码矩阵类型,下面以两种编码矩阵类型:第一编码矩阵类型和第二编码矩阵类型举例说明。本申请实施例中,第一编码矩阵类型对应的编码矩阵的尺寸大于第二编码矩阵类型对应的编码矩阵的尺寸。由于编码矩阵尺寸的不同,其设计支持的编码块长和编码码率的范围不同。相应的,bg1可以对应第一编码矩阵类型,bg2可以对应第二编码矩阵类型。以第一编码矩阵类型为bg1举例,其支持的编码码率最小为1/3,最高至少可达到0.89,支持的块长最小可到40bit,支持的最小块长至少可为512bit,支持的最大块长为8448bit;以第二编码矩阵类型为bg2为例,其支持的编码码率最小为1/5,最高至少可达0.67,支持的块长最小可到40bit,最大可到2560bit,可扩展支持到3840bit。由于编码矩阵尺寸的不同,采用相同的硬件架构实现时,其译码时延可吞吐率不同,这主要由矩阵的列数和行数的差值kb决定。对于bg1,kb=68-46=22;对于bg2,kb=52-42=10。通常情况,在码长和码率相同的前提下,kb值越小,矩阵的译码时延越低,吞吐率越高。一种合理的编码矩阵类型选择思路为,当码长和码率相同且两种编码矩阵类型均支持时,优先选择kb值较小的矩阵(例如第二编码矩阵类型)。为了提供一种合理的确定编码矩阵类型的方案,图2所示,本申请实施例提供了一种通信方法,该通信方法通过通信装置实现,当为上行传输时,该通信装置可以是终端或者可用于终端的芯片,当为下行传输时,该通信装置可以是基站或者可用于基站的芯片。该通信方法可以包括:s201,基于第一序列的长度确定编码矩阵类型。此处,该第一序列可以理解为是输入编码器的待编码的序列,可以表示为c0,c1,c2,c3,...,ck-1。例如,该第一序列可以是经过将传输块进行码块分割后的码块,该输入序列的长度也是码块大小(cbs)。此处,也可以将传输块称为第二序列。需要说明的是,此处所描述的码块分割,是指输入为待处理的传输块,输出为待编码的序列的处理过程,该待编码的序列可以称为码块。也就是说码块分割可以理解为从传输块到码块的处理过程。可以理解的是,根据系统的实际需求,码块分割可能有不同的方式,例如可以是:根据传输块大小是否大于分割阈值,决定将传输块分割成一个或多个码块。可以理解的,即使是传输块大小小于分割阈值,将传输块保留为一个码块,这也可以视为经历了码块分割操作。可以理解的是,传输块在分割前可以经过处理也可以不经过处理,其中,传输块在分割前的处理可以是在初始的传输块基础上添加校验比特,例如添加crc比特;此外,分割得到的码块在输入编码器之前,可以是经过一定的处理,也可以不经过处理,对码块的处理例如可以是添加校验比特,例如添加crc,或者,对码块的处理还可以包括添加填充比特,本申请实施例对此不做限定。如果码块是经过添加校验比特处理的,此时第一序列的长度可以是添加了校验比特之后的码块长度,也可以是指添加校验比特之前的码块长度,本申请实施例对此不做限定。在一种实现方式中,上述分割阈值的大小可以为预设的固定值,也可以直接或者间接地根据调制编码方式(modulationandcodingscheme,mcs)索引确定分割阈值。其中,直接地根据mcs索引确定分割阈值可以是:根据mcs索引与分割阈值的对应关系,查找与mcs索引对应的分割阈值;间接地根据mcs索引确定分割阈值可以是:根据mcs索引得到对应的码率后,根据码率来确定分割阈值,本申请实施例对确定分割阈值的方式以及分割阈值的取值不做限定。可以理解,所述mcs索引可以是mcs索引值,也可以是mcs索引区间。当第一序列的长度大于第一阈值时,可以将编码矩阵类型确定为第一编码矩阵类型。当第一序列的长度小于或者等于第一阈值时,可以根据mcs索引确定编码矩阵类型。也就是说,在根据mcs索引确定编码矩阵类型时,第一序列的长度小于或者等于第一阈值。在一种实现方式中,可以建立mcs索引与编码矩阵类型之间的对应关系。基于mcs索引以及所述对应关系确定编码矩阵的类型。例如,可以通过协议约定、预配置,预存储或者信令等方式建立mcs索引与编码矩阵类型的对应关系。mcs索引与编码矩阵类型之间可以是直接的对应关系,也可以是间接的对应关系。例如,存储mcs索引与编码矩阵类型的对应关系列表,通过查表的方式确定对应的编码矩阵类型。上述方式确定的编码矩阵类型可以称为第一序列的编码矩阵类型。可以理解的是,上述第一阈值为预设的数值,例如可以是2560或者3840,本申请实施例对此不做限定。可以理解的是,对于不同的第一序列长度的定义方式,第一阈值可能会有不同的设置,例如如果第一序列的长度不包括校验比特的码块的长度,第一阈值会考虑到扣除校验比特的序列长度,例如可以是3816,3824,2536,2544等,或者,如果第一序列的长度是不包括校验比特的码块长度的,第一阈值的取值也可以没有考虑到扣除校验比特的序列长度而设置,可以对第一序列的长度或者第一阈值进行处理后再进行比较,例如将第一序列的长度加上第二预设值之后与第一阈值进行比较,或者是将第一序列的长度与第一阈值减去第二预设值之后的数值进行比较。可选的,网络设备(如基站等)可以根据终端反馈的信道质量指示(channelqualityindicator,cqi)(例如,在调度过程中,终端反馈cqi)确定mcs索引。网络设备可以基于确定的mcs索引得到传输块大小,即第二序列的长度。一种可能的实现方式中,可以根据mcs索引得到对应的tbs索引,从而结合tbs索引以及nprb可以得到传输块的大小,其中nprb表示一个混合自动重传请求(hybridautomaticrepeatrequest,harq)进程或者一次传输进程中分配的资源块(resourceblock,rb)的个数。其中,当nprb表示一次传输进程中分配的资源块数目时,此处的资源块数目既可以是实际分配的资源块的个数,也可以是一个归一化的资源块个数。例如,新无线(newradio,nr)可以支持一个资源块中可以包含72,108或者144个资源单元(resourceelement,re),定义资源块数目nre,定义归一化的rbsize为nnormalized=144。在一种情况下,假如系统采用一个资源块包含144个re的配置,某进程一共包括nre=288个re,则该进程包括的归一化的资源块数目nprb=nre/nnormalized=2,正好就是实际分配的资源块的个数;在另一种情况中,假如系统采用一个资源块包括72个re的配置,某进程一共包括nre=288个re,则该进程包括的归一化的资源块数目nprb=nre/nnormalized=2,但是此时该进程实际包括288/72=4个资源块,这里计算得到的nprb=2是按照nnormalized等于144归一化后计算得到的资源块个数。由上可知,tbs是和mcs索引相关的,然而本申请实施例对于如何根据mcs索引确定得到tbs不做限定。例如,表2给出了一种mcs索引(imcs)、tbs索引(itbs)以及调制方式(qm)的对应关系举例,表3给出了一种tbs索引(itbs)与nprb的对应关系举例。基于表2和表3便可以得到传输块大小。可以理解的是,也基于表2或表3做些变形,或者以其他不同于表2或者表3的形式或者内容来表示相应的对应关系,获得传输块的大小。本申请实施例对此不做限定。例如,表2中的调制方式一列是可选的。表2表3另一种可能的实现方式中,可以建立mcs索引与码率的对应关系,基于所述mcs索引与码率的对应关系,确定出码率,进而根据码率和nprb确定tbs。例如可以通过协议约定、预配置、预存储或者信令指示等方式建立mcs索引与码率的对应关系。mcs索引也可以称为mcs等级。网络设备(如基站等)可以将确定的mcs索引发送给终端,从而终端可以利用接收到的mcs索引确定编码矩阵类型。s202,基于所述编码矩阵类型对应的编码矩阵对第一序列进行编码。当编码矩阵类型确定后,可以基于与该确定的编码矩阵类型对应的编码矩阵对第一序列进行编码。可选的,可以根据扩展因子的值确定编码矩阵,而扩展因子的值可以由码块分割后得到的码块长度确定。采用相同硬件架构支持相同码长和码率的码字时,采用不同编码矩阵类型的译码时延不同,译码性能也存在一些差异,此外,不同编码矩阵类型支持的编码块长和码率不同,即使是都支持的码率和块长,其译码时延和性能也不同,本申请实施例提供的上述通信方法,通过输入编码器的序列的长度和mcs索引确定编码矩阵类型,合理选择编码矩阵类型,可在保证系统正常工作的前提下,降低译码时延,提高译码性能。可选的,当第一序列的长度小于或者等于第一阈值时,可以通过以下方式之一根据mcs索引确定编码矩阵类型:方式(1):利用mcs索引与编码矩阵类型的对应关系,确定与所述mcs索引对应的编码矩阵类型。可选的,可以在通信装置的存储器中保存mcs索引与编码矩阵类型的对应关系,其中,每种编码矩阵类型用不同的数值表示。mcs索引与编码矩阵类型的对应关系例如可以如表4所示,其中,表4中的数值“2”对应的编码矩阵类型可以称为第二编码矩阵类型,数值“1”对应的编码矩阵类型可以称为第一编码矩阵类型。可以理解的是,可以以其他不同于表4的形式或者内容来表示mcs索引与编码矩阵类型的对应关系,本申请实施例对此不做限定。此外,表4中的调制方式和tbs索引列是可选的。可以理解的是,本申请实施例所述的mcs索引与编码矩阵类型的对应关系,可以是mcs索引数值与编码矩阵类型的对应关系,也可以是mcs索引区间与编码矩阵类型的对应关系,本申请实施例对此不做限定。表4可以理解的是,可以将如表4的mcs索引与编码矩阵类型的对应关系完整信息均保存在存储器中,而为了进一步节约内存占用的话,可以只保存部分信息,例如只表3中保存数值“1”对应的编码矩阵类型所涉及的mcs索引等其他信息,而其他未保存的mcs索引对应的编码矩阵类型为第二编码矩阵类型。可选的,如表4的对应关系也可以简化为如表5的形式,其他未在表5中列出的mcs索引对应的编码矩阵类型“2”。表5本申请实施例对对应关系的存储方式或者表达形式不做限定。可选的,上述对应关系可以是根据mcs索引与编码矩阵类型的对应关系可以是在考虑到各个mcs索引的对应的码率推算得到的。例如,如果mcs索引对应的所有tbs的编码后码率均小于码率阈值,则该mcs索引可以对应第二编码矩阵类型,例如bg2;如果对于某一mcs索引,其对应的所有tbs的编码后码率均大于码率阈值,则该mcs索引对应第一编码矩阵类型,例如bg1;如果对于某一mcs索引,其对应的tbs的编码后码率一部分大于码率阈值,一部分小于码率阈值,或者其对应的编码后码率的均值只是略大于码率阈值,则该mcs索引对应的编码矩阵类型根据实际情况,可能设置为第一编码矩阵类型,也可能设置为第二编码矩阵类型,本申请实施例不做限定。码率和很多参数相关,包括系统分配的rb个数,每个rb内承载信息符号的个数,调制阶数等,当系统配置不同或者计算精度不同时,计算得到的码率可能不同,如果采用每次选择编码矩阵类型前计算码率并和码率阈值比较的方法,不仅计算过程繁琐,还可能由于发送端和接收端理解不一致,精度不同的原因,降低系统的鲁棒性。而本申请实施例中,将编码矩阵类型和mcs索引绑定,可以增加系统的鲁棒性。因为可以通过控制信令,令发送端和接收端的mcs索引对齐。同时,每个mcs索引下的预计编码码率都十分接近,可通过预先配置,确定对应mcs索引下的编码矩阵类型。上述的码率阈值可以是预定义的数值,例如为2/3,可选的,实际计算时,可在该预定义的数值上留一定的余量,比如将2/3抬升为0.7。进一步的,一个mcs索引可以对应m个nprb,而为了更加灵活的实现编码矩阵类型的配置,对于全部或者部分mcs索引可以按照nprb的粒度配置编码矩阵类型。那么可以根据nprb和mcs索引确定所述编码矩阵类型。其中,m为正整数。一种可能的方式中,可以是针对全部的mcs索引,每种mcs索引下,数值小于或等于第二阈值的nprb对应第二编码矩阵类型,例如bg2,数值大于第二阈值的nprb对应第一编码矩阵类型,例如bg1。另一种可能的方式中,可以是针对部分mcs索引,比如可以将m个码率中至少两个码率之间的差值大于第三阈值的mcs索引按照nprb的粒度配置编码矩阵类型,具体可以是数值小于或等于第二阈值的nprb对应第二编码矩阵类型,例如bg2,数值大于第二阈值的nprb对应第一编码矩阵类型,例如bg1。以mcs索引为26为例,一种可能的按照nprb的粒度配置编码矩阵类型的形式可以如表6所示:表6方式(2):利用mcs索引与码率的对应关系,确定与所述mcs索引对应的码率;根据所述码率与码率阈值确定所述编码矩阵类型,此处,码率阈值可以是预定义的数值,例如为2/3。可选的,可以在通信装置的存储器中保存mcs索引与码率的对应关系,mcs索引与码率的对应关系例如可以如表7所示。可以理解的是,可以以其他不同于表7的形式或者内容来表示mcs索引与码率的对应关系,本申请实施例对此不做限定。此外,表7中的调制方式和tbs索引列是可选的。可以理解的是,本申请实施例所述的mcs索引与码率的对应关系,可以是mcs索引数值与码率的对应关系,也可以是mcs索引区间与码率的对应关系,本申请实施例对此不做限定。表7表7中,一个rj表示一种码率,通常情况下,码率为一个浮点数,可以定义相应的精度,比如定义精度为小数点后4位四舍五入。或者,码率也可以定义成一个分数,例如,定义分母为2t,在mcs索引与码率的对应关系中记录与码率对应的分子值rj,rj<2t,通过这种方式也就限定了该用分数定义的码率在硬件实现过程中的最大位宽为t。在根据mcs索引确定码率后,将码率与码率阈值进行比较确定编码矩阵类型,比如当所述码率大于该码率阈值时,确定得到第一编码矩阵类型;或者,当所述码率小于或者等于所述码率阈值时,确定得到第二编码矩阵类型。其中,可以理解的是,对应于不同的码率的表示形式,码率阈值可以采用相应的表示形式,例如,当码率为浮点数时,码率阈值也采用浮点数表示。当码率为分数时,码率阈值也可以采用相同位宽的分数表示,这样可以只用将码率的分子值与码率阈值的分子值比较。或者,如果码率阈值采用和码率不同的表示形式时,可以将码率阈值或者码率进行换算后再比较。通过上述方式,也可以避免每次确定编码矩阵类型时计算码率,而是间接的将mcs索引与编码矩阵类型绑定,可以增加系统的鲁棒性,因为可以通过控制信令,令发送端和接收端的mcs索引对齐。方式(3):利用mcs索引与码率索引的对应关系,确定与mcs索引对应的码率索引;根据码率索引查找与码率索引对应的码率;根据码率与码率阈值确定编码矩阵类型。可选的,可以在通信装置的存储器中保存mcs索引与码率索引的对应关系,mcs索引与码率索引的对应关系例如可以如表8所示。可以理解的是,可以以其他不同于表8的形式或者内容来表示mcs索引与码率索引的对应关系,本申请实施例对此不做限定。此外,表8中的调制方式和tbs索引列是可选的。可以理解的是,本申请实施例所述的mcs索引与码率索引的对应关系,可以是mcs索引数值与码率索引的对应关系,也可以是mcs索引区间与码率索引的对应关系,本申请实施例对此不做限定。表8进一步的,可以通过码率索引进一步查找对应的码率,进一步根据查找到的码率与码率阈值确定编码矩阵类型:将码率与码率阈值进行比较确定编码矩阵类型,比如当所述码率大于该码率阈值时,确定得到第一编码矩阵类型;或者,当所述码率小于或者等于所述码率阈值时,确定得到第二编码矩阵类型。此处,关于码率以及码率阈值的表示形式可以参考方式(2)中的相关描述,此处不再赘述。可以理解的是,上述方式(1)-(3)中,所涉及的对应关系可以通过表格的形式表示,也可以通过数组或者其他形式,本申请实施例对此不做限定。此外,上述实施例中,是以第一编码矩阵类型和第二编码矩阵类型进行举例说明,可以有更多种编码矩阵类型,本申请实施例对此不做限定。当有更多编码矩阵类型的情况下,可以有多于一个的码率阈值,从而可以实现更多编码矩阵类型的选择。本申请上述实施例中涉及的保存,可以是指的保存在一个或者多个存储器中。所述一个或者多个存储器,可以是单独的设置,也可以是集成在编码器或者译码器,处理器、芯片、通信装置、或者终端。所述一个或者多个存储器,也可以是一部分单独设置,一部分集成在译码器、处理器、芯片、通信装置、或者终端中,存储器的类型可以是任意形式的存储介质,本申请实施例并不对此限定。进一步的,本申请实施例中,可以基于编码矩阵可以采用多种编码方式,下面进行说明。在一种实现方式中,可以将编码矩阵看作通过对基图扩展获得包含偏移值(shiftvalue)的校验矩阵。无线通信系统中采用的ldpc码,假设其基图的矩阵大小为m*n,可以包括5个子矩阵a、b、c、d和e,其中,矩阵的权重是由非零元素的个数决定的,行的权重(行重)是指一行中包括的非零元素的个数,列的权重(列重)是指一列中包括的非零元素的个数。如图3中300所示,其中:子矩阵a为ma行na列的矩阵,其大小可以为ma*na,其中每列对应ldpc码中的z个系统比特,系统比特有时候也称为信息比特。子矩阵b为为ma行ma列的方阵,其大小可以为ma*ma,每列对应于ldpc码中的z个校验比特。子矩阵b包括双对角结构的子矩阵b括和一列权重为3的矩阵列(简称为3列重列),其中列重为3的矩阵列可以位于子矩阵b矩之前,如图3中30a所示;子矩阵b还可以包括一列或多列列重为1的矩阵列(简称为单列重列),例如,一种可能的实现方式如图3中30b或30c所示。通常基于子矩阵a和b生成的矩阵为核心矩阵,可以用来支持高码率的编码。子矩阵c为全零矩阵,其大小为ma×md。子矩阵e为单位矩阵,其大小为md×md。子矩阵d大小为md×(na+ma),通常可用来生成低码率的校验位。可以理解的是,上述从数学定义的角度对基图进行表述,由于c为全零矩阵,e为单位矩阵,在一种可能的实现方式中,也可以由子矩阵a和b构成的矩阵,或者子矩阵a、b和d构成的矩阵来简化地表示编码或译码的矩阵的基图。由于子矩阵c和e的结构相对确定,子矩阵a、b和d两部分的结构是ldpc码的编译码性能的影响因素之一。采用raptor-like结构的ldpc矩阵进行编码时,一种可能的实现方式为,可以先对子矩阵a和b部分的矩阵,也就是核心矩阵进行编码,得到子矩阵b对应的校验比特,再对整个矩阵进行编码,得到子矩阵e部分对应的校验比特。由于子矩阵b可以包括双对角结构的子矩阵b以和一单列重列,在编码中可以先获得双对角结构对应的校验比特,再获得单列重列对应的校验比特。在另一种实现方式中,可以通过以下方式给确定的编码矩阵对待编码的序列进行编码。待编码的输入序列c(第一序列)表示为c0,c1,c2,c3,...,ck-1,输入序列经过编码器编码后得到的输出序列d,表示为d0,d1,d2,...,dn-1,k,n为大于0的整数,k,n可以是扩展因子zc的整数倍。例如对于bg1,n=66zc,k=22zc,对于bg2,n=50zc,k=10zc编码过程可以如下:(1)基于扩展因子zc与奇偶校验矩阵的索引的对应关系,获得基矩阵索引ils,而根据输入序列的长度k可以确定扩展因子zc;例如,所述扩展因子zc与奇偶校验矩阵的索引的对应关系可以表示为:setindex(ils)setofliftingsizes1{2,4,8,16,32,64,128,256}2{3,6,12,24,48,96,192,384}3{5,10,20,40,80,160,320}4{7,14,28,56,112,224}5{9,18,36,72,144,288}6{11,22,44,88,176,352}7{13,26,52,104,208}8{15,30,60,120,240}(2)给编码后的比特序列d中的前k-2zc个比特赋值。这里,需要跳过待编码比特段前2zc个填充比特,而且需要考虑待编码的比特段中可能会包含填充比特。一种实现方式中,可采用如下方式进行赋值:fork=2zctok-1ifck≠<null>elseck=0;endifendfor其中,k为索引值,且k为整数,<null>表示填充比特,其取值可以为0,或者是其他预定的值。可选的,填充比特可以不被发送。(3)生成n+2zc-k个校验比特使得校验比特满足以下公式:其中c=[c0,c1,c2,...,ck-1]t;0表示列向量,其中所有元素的值都为0.h表示奇偶校验矩阵(编码矩阵),所述奇偶校验矩阵的可以通过协议规定,预先配置,或者预存储。通过所述基矩阵的索引可获得所述h。奇偶校验矩阵的存储方式可以有多种,比如可以存储矩阵,也可以是存储矩阵相关的参数,例如存储偏移值,本申请实施例对此不做限定。(4)fork=kton+2zc-1endfor在又一种实现方式中,通信装置可以不保存奇偶校验矩阵,而保存可能需要的生成矩阵进行编码。假设待编码比特段为c=c0,c1,c2,c3,...,ck-1,编码后比特段为d=d0,d1,d2,...,dn-1,则生成矩阵g满足:d=c·g生成矩阵可以由校验矩阵h变换得到,对于校验矩阵h,通过行列变换,可将其右侧变为对角阵形式,表示为:h=[pi](2)则,其对应生成矩阵g满足:g=[ipt](3)其中校验矩阵h可以是上述实施例中所述的任一校验矩阵或者基矩阵,或ldpc矩阵。编码时,可利用存储的生成矩阵g,由待编码比特段为c=c0,c1,c2,c3,...,ck-1直接计算编码后比特段d=d0,d1,d2,...,dn-1。在又一种实现方式中,编码时,对于奇偶校验矩阵双对角部分,可以采用上述任一方式进行编码,也可以采用存储一个多行叠加矩阵的的方法进行编码。在又一种实现方式中,可以对每一个扩展因子zc,根据pi,j=mod(vi,j,zc)计算出其对应的偏移值矩阵,然后将每个扩展因子对应的矩阵均存储下来用于编译码。下表以bg2为例,示例了一种可能的vi,j取值:下表以bg1为例,示例了一种可能的vi,j取值:可选的,本申请实施例还提供了一种通信方法,该方法中,根据mcs索引确定出码率,根据码率与第一码率阈值和/或第二码率阈值的关系确定第一序列的编码矩阵类型,基于所述编码矩阵类型对应的编码矩阵对第一序列进行编码。其中,根据mcs索引确定码率可以参见上述实施例中所描述的方式(2)和(3),关于第一序列的描述也可以参见前述实施例,此处不再赘述。而根据码率与第一码率阈值和/或第二码率阈值的关系确定第一序列的方式可以包括以下至少一种:a:在码率大于第一码率阈值时,可以确定第一序列的编码矩阵类型为第一编码矩阵类型。b:在码率小于第二码率阈值时,可以确定第一序列的编码矩阵类型为第二编码矩阵类型,需要说明的是,对于码率小于第二编码阈值的情况,由于第二编码矩阵支持的最大编码块长小于或者等于第一阈值,在获得第一序列时,可以通过一定的操作使得第一序列的长度小于或者等于第一阈值,该操作通常可以在码块分割操作中进行。c:对于码率小于第一码率阈值且大于第二码率阈值的情况,如果第一序列的长度大于第一阈值,可以确定第一序列的编码矩阵类型为第一编码矩阵类型,如果第一序列的长度小于或者等于第一阈值,可以确定第一序列的编码矩阵类型为第二编码矩阵类型。需要说明的是,对于码率等于第二码率阈值的情况,也可以通过方式b或者c确定编码矩阵类型,对于码率等于第一码率阈值的情况,也可以通过方式c确定编码矩阵类型,本申请实施例对此不做限定。可以理解的是,上述方式a-c中,同样是根据mcs索引确定出了第一序列的编码矩阵类型,其中,综上来看,在第一序列的长度小于或者等于第一阈值时,对于码率小于第一码率阈值的情况,均将第一序列的编码矩阵类型确定为第二编码矩阵类型。其中,本申请实施例对第一码率阈值和第二码率阈值的取值不做限定,例如第一码率阈值可以为2/3,第二码率阈值可以为1/4。可选地,对于上述各个实施例中,所例举的根据mcs索引确定码率的方式,可以理解为是根据mcs索引查询得到的码率,然而,如果系统中存在有限缓存的场景,则最终的码率可能高于根据mcs索引查询得到的码率。那么对于系统中存在有限缓存的场景,本申请实施例一种可能的方式中,根据mcs索引确定码率可以包括:根据mcs索引查询得到第一码率,将第一码率和实际发送可支持的最低编码码率中的较大值最终确定为根据mcs索引确定的码率,可以简称为最终的码率,该最终的码率也就是最终实际对第一序列编码的码率。例如,根据mcs索引查询得到的码率为1/3,而由于系统存在有限缓存导致实际发送可支持的最低编码码率为1/2,则将1/2确定为最终的码率。进一步的,可以参照前述实施例的方式,利用该最终的码率来确定编码矩阵类型。一种可能的设计中,上述各个实施例中,根据码率确定第一序列的编码矩阵类型也可以是根据码率与码率集合确定编码矩阵类型,其中该码率集合与编码矩阵类型存在直接或间接的对应关系,该码率集合可以是预定义的,也可以是系统配置的。上述码率集合中包括一个或多个码率。例如,假设有两个码率集合,第一码率集合是(1/3,1/2)第二码率集合是(1/4,1/5),第一码率集合对应第一编码矩阵类型,第二码率集合对应第二编码矩阵类型,当确定出的码率1/4,1/4对应的是第二码率集合,那么可以确定码率1/4的编码矩阵类型是第二编码矩阵类型。可选地,在通信系统中,可采用上述方法编码后得到ldpc码。获得ldpc码后,通信装置,还可以进行以下一个或多个操作:对ldpc码进行速率匹配;根据交织方案对速率匹配后的ldpc码进行交织;根据调制方案对交织后的ldpc码进行调制得到比特序列x;发送比特序列x。译码是编码的逆过程,译码过程使用的基矩阵与编码过程使用的的基矩阵具有相同的特征。ldpc码的编码过程可以参考前述实现方式描述,此处不再赘述。在一种实现方式中,在译码之前,通信装置还可以进行以下一个或多个操作:接收包含基于ldpc编码的信号,对信号进行解调,解交织以及解速率匹配得到ldpc码的软值序列,对ldpc码的软值序列进行译码。需要说明的是,上述过程示例性的说明了在发送侧的实现的编码方案,对应的,在接收侧会采用相应的方法进行译码,例如可以采用与发送侧相同的方法来确定编码矩阵类型,进一步确定编码矩阵,从而完成译码。上述的译码可以通过一个通信装置实现,在接收侧实施。相应于图2的给出的通信方法,本申请实施例还提供了相应的通信装置,所述通信装置包括用于执行图2中每个部分相应的模块。所述模块可以是软件,也可以是硬件,或者是软件和硬件结合。如图4所示,本申请一实施例提供了一种通信装置400,可以包括:确定模块401,用于至少根据第一序列的长度确定编码矩阵类型,进一步的,当第一序列的长度大于第一阈值时,可以将编码矩阵类型确定为第一编码矩阵类型,当第一序列的长度小于或者等于第一阈值时,可以根据mcs索引确定编码矩阵类型。或者说确定模块401根据mcs索引确定码率,进一步根据码率以及第一序列的长度确定编码矩阵类型。编码模块402,用于基于与确定模块401确定的编码矩阵类型对应的编码矩阵对所述第一序列进行编码。需要说明的是,图4所示的通信装置中的各个模块的相应处理过程和实现方式可以参考方法实施例中的相应描述,此处不再赘述。在一种可能的设计中,如图4中的一个或者多个模块可能由一个或者多个处理器来实现,或者一个或者多个处理器和存储器来实现。图5还提供了一种通信装置500,所述通信装置500可以包括一个或多个处理器501。所述一个或多个处理器可以实现图2所示的方法以及上述其他各个实施例所述的方法。所述处理器501可以是通用处理器或者专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置(如,基站、终端、或芯片等)进行控制,执行软件程序,处理软件程序的数据。所述通信装置可以包括收发模块,用以实现信号的输入(接收)和输出(发送)。例如,通信装置可以为芯片,所述收发单元可以是芯片的输入和/或输出电路,或者通信接口。所述芯片可以用于终端或基站或其他网络设备。又如,通信装置可以为终端或基站或其他网络设备,所述收发单元可以为收发器,射频芯片等。在一种可能的设计中,所述通信装置500包括一个或多个所述处理器501,所述一个或多个处理器501可实现上述编码的功能,例如通信装置可以是编码器。在另一种可能的设计中,处理器501除了实现编码功能,还可以实现其他功能。处理器501可以用于实现前述实施例中的确定模块401和编码模块402的相应功能。在一种可能的设计中,通信装置500包括用于基于待编码的序列的长度确定编码矩阵类型的部件(means),以及基于所述编码矩阵类型对应的编码矩阵对待编码的序列进行编码的部件(means)。可以通过一个或者处理器来实现这些功能,具体可以参照上述方法实施例部分的描述。在一种可能的设计中,通信装置500可以包括用于根据mcs索引确定码率的部件,用于根据码率以及第一序列的长度确定编码矩阵类型的部件,以及用于基于所述编码矩阵类型对应的编码矩阵对待编码的第一序列进行编码的部件。例如,可以通过一个或者处理器来实现这些功能,具体可以参照上述方法实施例部分的描述。在又一种可能的设计中,通信装置500也可以包括电路,所述电路可以实现前述方法实施例中的功能。例如,通信装置500包括用于基于待编码的序列的长度确定编码矩阵类型的电路,以及用于基于所述编码矩阵类型对应的编码矩阵对待编码的序列进行编码的电路。或者,通信装置500可以包括用于根据mcs索引确定码率的电路,用于根据码率以及第一序列的长度确定编码矩阵类型的电路,以及用于基于所述编码矩阵类型对应的编码矩阵对待编码的第一序列进行编码的电路。可选的,在一种设计中,处理器501可以包括指令503(有时也可以称为代码或程序),所述指令可以在所述处理器上被运行,使得所述通信装置500执行上述实施例中描述的方法。可选的,在一种设计中,所述通信装置500中可以包括一个或多个存储器502,其上存有指令504,所述指令可在所述处理器上被运行,使得所述通信装置500执行上述方法实施例中描述的方法。例如,所述存储器可以保存必要的指令或数据。例如,可以存储上述方法实施例中提及的各种参数,以及对应关系。可选的,所述存储器中还可以存储有数据。可选的处理器中也可以存储指令和/或数据。所述处理器和存储器可以单独设置,也可以集成在一起。可选的,上述实施例中所述的“保存”,“存储”,或“预存储”可以是保存存储器502中,也可以是保存在其他的外设的存储器或者存储设备中。可选的,所述通信装置500还可以包括收发器505以及天线506。所述处理器501可以称为处理单元,对通信装置进行控制。所述收发器505可以称为收发单元、收发机、收发电路、或者收发器等,用于通过天线506实现通信装置的收发功能。其中,对于通信装置为终端而言,收发器505可以用于从基站处接收mcs索引。可选的,所述通信装置500还可以包括用于产生传输块crc的器件、用于码块分割和crc校验的器件、用于交织的交织器、用于速率匹配的器件、或者用于调制处理的调制器等。可以通过一个或多个处理器501实现这些器件的功能。可选的,所述通信装置500还可以包括,用于解调操作的解调器、用于解交织的解交织器、用于解速率匹配的器件、或者用于码块级联和crc校验的器件等等。可以通过一个或多个处理器501实现这些器件的功能。在又一种可能的设计中,本申请实施例还提供一种通信装置,该通信装置可以包括电路,所述电路可以实现前述实施例中的确定模块401和编码模块402的相应功能。图6给出了一种通信系统600的示意图,通信系统600中包括通信设备60和通信设备61,其中,信息数据在通信设备60和通信设备61之间接收和发送。通信设备60和61可以是所述通信装装置500或400,或者通信设备备60和61分别包括通信装置500或者400,对信息数据进行接收和/或发送。在一个例子中,通信设备60可以为终端,相应的通信设备61可以为基站;在另一个例子中,通信设备60为基站,相应的通信设备61可以为终端。本领域技术人员还可以了解到本申请实施例列出的各种说明性逻辑块(illustrativelogicalblock)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。本申请所描述的技术可通过各种方式来实现。例如,这些技术可以用硬件、软件或者硬件结合的方式来实现。对于硬件实现,用于在通信装置(例如,基站,终端、网络实体、或芯片)处执行这些技术的处理单元,可以实现在一个或多个通用处理器、数字信号处理器(dsp)、数字信号处理器件(dspd)、专用集成电路(asic)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合中。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的指令、或者这两者的结合。存储器可以是ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介。例如,存储器可以与处理器连接,以使得处理器可以从存储器中读取信息,并可以向存储器存写信息。可选地,存储器还可以集成到处理器中。处理器和存储器可以设置于asic中,asic可以设置于终端中。可选地,处理器和存储器也可以设置于终端中的不同的部件中。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。上面的组合也应当包括在计算机可读介质的保护范围之内。本说明书中各个实施例之间相同或相似的部分可以互相参考。以上所述的本申请实施方式并不构成对本申请保护范围的限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1