基于LDPC码的通信方法和通信设备与流程

文档序号:14914280发布日期:2018-07-11 00:17阅读:144来源:国知局

本申请实施例涉及通信领域,并且更具体地,涉及基于低密度奇偶校验(Low Density Parity Check,LDPC)码的通信方法和通信设备。



背景技术:

在通信过程中,由于信息序列是一种随机序列,接收端无法预知码字的取值,也无法识别其中有无错码,所以发送端需要在信息序列中增加一些差错控制码字,然后接收端根据这些差错控制码字进行判错和纠错。

发射端在信息序列中加入的差错控制码字也可称为监督码字或校验元。在信息序列中加入差错控制码字的过程可以称为信道编码。对应地,接收端可以从加入了差错控制码字的信息序列中获取加入差错控制码字前的源信息序列。

监督码字和信息序列之间有确定的关系。监督码字和信息序列之间的关系不同,形成的监督码字的类型也不同。一般情况下,可以将监督码字可分为两大类:分组码和卷积码。

其中,分组码是把信息序列以每k个码字为一组进行分组,编码器将每个码字分组按照一定的规律产生r个多余的码字,即监督码字,形成一个长为n=k+r的码字。

当分组码的信息序列与监督码字之间的关系为线性关系时,或者说可以用线性方程组联系时,这种分组码就称为线性分组码。

LDPC码是一种能够使得接收端的译码复杂度较低、结构灵活的线性分组码。

发送端在生成LDPC码,以及接收端对LDPC码进行译码时,需要使用相同的LDPC校验矩阵。LDPC校验矩阵通常可以用LDPC基矩阵来简化表示,因此,可以说发送端根据LDPC基矩阵生成LDPC码字序列,接收端根据相同的LDPC基矩阵对LDPC码字序列进行译码。

在通信过程中,发送端根据LDPC基矩阵对信息序列进行信道编码,得到LDPC码字序列。接收端获取到该LDPC码字序列经过信道传输所得的对应的LDPC码字序列,可以使用消息传递算法,如分层最小和(Mini Sum,MS)算法,根据LDPC基矩阵对接该对应的LDPC码字序列进行信道译码,以得到LDPC码字序列中包含的信息序列。

目前,在接收端,使用LDPC基矩阵对信息序列进行编码之后,在发送编码得到的LDPC码字序列(或称为LDPC码字)时,为了提高LDPC码字的性能,通常会对LDPC码字进行打孔操作,即不发送编码得到的LDPC码字中的部分比特位。这些没有被发送的比特位即称为LDPC码字中被打孔的比特位。例如,发送端可以不发送LDPC码字中的前两列对应的比特位,也即是说,LDPC码字中的前两列被打孔。

接收端在传统译码的过程中,针对打孔后LDPC码字,根据LDPC基矩阵,使用消息传递算法,依次逐层将这些被打孔的比特位的信息恢复,最后得到完整的信息序列。

发送端使用传统的编码方法得到的LDPC码字序列,会使得接收端对打孔后LDPC码字进行译码的速度较慢。



技术实现要素:

本申请实施例提供的基于LDPC码的通信方法和通信设备,可以提高译码速率,进而提高通信效率。

第一方面,本申请实施例提供了一种基于LDPC的通信方法,包括:获取待发送信息序列;使用第一LDPC基矩阵,对所述待发送信息序列进行信道编码,得到第一LDPC码字序列,其中,所述第一LDPC基矩阵包括打孔指示列,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素;发送第二LDPC码字序列,所述第二LDPC码字序列包括所述第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字。

本申请实施例的通信方法中,由于信道编码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以使得作为接收端的通信设备可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

在一种可能的实现方式中,所述第一LDPC基矩阵中的零阶恢复行位于所述低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例的通信方法中,进行信道编码所使用第一LDPC基矩阵中,零阶恢复行位于低阶恢复行和高阶恢复行之前,使得接收端使用该第一LDPC基矩阵进行译码时,可以减少迭代次数,提高迭代效率,最终提高通信效率。

在一种可能的实现方式中,所述通信方法还包括:将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例的通信方法中,通信设备可以对已配置好的第二LDPC基矩阵进行调整,得到第一LDPC基矩阵。这样可以在保证第二LDPC基矩阵的性能的前提下,提高接收端的译码速度。

在一种可能的实现方式中,所述通信方法还包括:对所述第二LDPC码字序列进行数字调制,得到调制LDPC码字序列;其中,所述发送所述第二LDPC码字序列,包括:发送所述调制LDPC码字序列。

第二方面,本申请实施例提供了一种基于LDPC码的通信方法,包括:接收第二LDPC码字序列;使用第一LDPC基矩阵,对所述第二LDPC码字序列进行信道译码,得到目标序列;其中,所述第一LDPC基矩阵包括打孔指示列,所述第二LDPC码字序列包括第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字,所述第一LDPC码字序列经所述第一LDPC基矩阵信道译码后得到的码字序列与所述目标序列相同,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素。

本申请实施例的通信方法中,由于信道译码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

在一种可能的实现方式中,所述第一LDPC基矩阵中的零阶恢复行位于所述低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例的通信方法中,第一LDPC基矩阵中,零阶恢复行位于低阶恢复行和高阶恢复行之前,可以减少迭代次数,提高迭代效率,最终提高通信效率。

在一种可能的实现方式中,所述通信方法还包括:将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例的通信方法中,通信设备可以对已配置好的第二LDPC基矩阵进行调整,得到第一LDPC基矩阵。这样可以在保证第二LDPC基矩阵的性能的前提下,提高译码装置的译码速度。

在一种可能的实现方式中,所述通信方法还包括:对所述第二LDPC码字序列进行数字解调,得到所述第二LDCP码字序列的对数似然比LLR;其中,使用第一LDPC基矩阵,对所述第二LDPC码字序列进行信道译码,包括:使用所述第一LDPC基矩阵,根据所述第二LDPC码字序列的LLR,进行信道译码。

在一种可能的实现方式中,所述使用第一LDPC基矩阵,对所述第二LDPC码字序列进行信道译码,包括:使用第一LDPC基矩阵和消息传递算法,对所述第二LDPC码字序列进行信道译码,

第三方面,本申请实施例提供了一种通信设备,所述通信设备包括用于执行第一方面或第一方面中任意一种可能的实现方式中的通信方法的模块。

第四方面,本申请实施例提供了一种通信设备,所述通信设备包括用于执行第二方面或第二方面中任意一种可能的实现方式中的通信方法的模块。

第五方面,本申请实施例提供了一种通信设备,包括收发器、处理器和存储器,所述存储器用于存储代码,所述处理器用于执行所述存储器中的代码,所述收发器用于与其他设备通信。当所述代码被执行时,所述处理器和所述收发器实现第一方面或第一方面中任意一种可能的实现方式中的通信方法。

第六方面,本申请实施例提供了一种通信设备,包括收发器、处理器和存储器,所述存储器用于存储代码,所述处理器用于执行所述存储器中的代码,所述收发器用于与其他设备通信。当所述代码被执行时,所述处理器和所述收发器实现第二方面或第二方面中任意一种可能的实现方式中的通信方法。

第七方面,本申请实施例提供了一种计算机可读介质,所述计算机可读介质存储用于通信设备执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的通信方法的指令。

第八方面,本申请实施例提供了一种计算机可读介质,所述计算机可读介质存储用于通信设备执行的程序代码,所述程序代码包括用于执行第二方面中或第二方面中任意一种可能的实现方式中的通信方法的指令。

附图说明

图1是本申请实施例的通信系统的示意性架构图。

图2是本申请一个实施例的通信方法的示意性流程图。

图3是本申请实施例的LDPC校验矩阵的示意图。

图4是本申请实施例的LDPC校验矩阵对应的图模型示意图。

图5是本申请实施例的QC-LDPC校验矩阵的示意图。

图6是本申请实施例的循环右移矩阵的示意图。

图7是本申请实施例的QC-LDPC基矩阵的示意图。

图8是本申请实施例的LDPC基矩阵的示意图。

图9是本申请实施例的双对角线结构的LDPC基矩阵的示意图。

图10是本申请实施例的通信方法的示意性流程图。

图11是本申请实施例的通信设备的示意性结构图。

图12是本申请实施例的通信设备的示意性结构图。

图13是本申请实施例的通信设备的示意性结构图。

图14是本申请实施例的通信设备的示意性结构图。

具体实施方式

为了便于理解,先从整体上描述能够应用本申请实施例的通信方法和通信设备的通信系统的示例架构图。应理解,本申请实施例并不限于图1所示的系统架构中。此外,图1中的装置可以是硬件,也可以是从功能上划分的软件或者以上二者的结合。

如图1所示,通信系统可以包括两个通信设备,分别为第一通信设备110和第二通信设备120。

其中,第一通信设备110和第二通信设备120可以是基站、也可以是用户设备(User Equipment,UE)或其他通信设备,本申请实施例对此并不限定。

应理解,本申请实施例对基站的具体类型不作限定。采用不同无线接入技术的系统中,具备基站功能的设备的名称可能会有所不同。为方便描述,本申请所有实施例中,上述为终端提供无线通信功能的装置统称为基站,例如未来网络中的基站设备、小基站设备(Pico)等。在某些应用场景中,基站也可以称为无线接入网。

UE可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网(Core Network)进行通信。UE可称为接入终端、终端设备、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。UE可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及未来新无线(new ratio,NR)网络中的终端设备等。

第一通信设备110可以与第二通信设备120通信。具体而言,第一通信设备110可以向第二通信设备120发送信号,或者说发送信息。此时,第一通信设备110可以称为发送端,第二通信设备120可以称为接收端。

图1所示的通信系统还可以包括信道130。此时,第一通信设备110发送的信号经由信道120传输到第二通信设备120。信道130可以包括传输信号的物理媒介。

可选地,第一通信设备110发送的信号,除了经由信道130,还可以通过其他通信设备发送到第二通信设备120。

下面详细介绍本申请实施例的第一通信设备与第二通信设备通信时,分别由第一通信设备和第二通信设备执行的通信方法。

图2是本申请实施例的由第一通信设备执行的通信方法的示例性流程图。应理解,图2示出了该通信方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图2中的各个操作的变形。

S210,获取待发送信息序列。

也就是说,若第一通信设备需要与第二通信设备通信,即第一通信设备需要向第二通信设备发送信号,则第一通信设备需要先获取需要向第二通信设备发送的信号对应的待发送信息序列。

可选地,第一通信设备获取待发送信息序列,具体可以指:第一通信设备对待发送信源符号进行信源编码,生成待发送信息序列。

信源编码是一种以提高通信有效性为目的而对信源符号进行的变换,或者说为了减少码元字数目或降低码字速率而进行的信源符号变换。

信源编码的作用之一是设法减少信源符号的码字数目和降低码字速率,即通常所说的数据压缩;作用之二是将信源的模拟信号转化成数字信号,以实现模拟信号的数字化传输。总的来说,信源编码的目标就是减少信源符号的冗余,更加有效、经济地传输信源符号。

本申请实施例中的信源编码方式可以参考现代通信中常见的信源编码方式,如Huffman编码、算术编码、L-Z编码等编码方式。

可选地,第一通信设备获取待发送信息序列,还可以指第一通信设备从其他通信设备接收待发送信息序列。

由于第一通信设备与第二通信设备的通信存在干扰和衰落,信号在传输过程中将会出现差错,因此对第一通信设备中的待发送信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。对将要在信道中传送的数字信号进行的纠、检错编码也称为信道编码。

信道编码之所以能够检出和校正接收比特流中的差错,是因为加入一些冗余比特,把几个比特上携带的信息扩散到更多的比特上。

也就是说,本申请实施例中,第一通信设备获取待发送信息序列后,需要对待发送信息序列进行信道编码。

目前,一种常见的信道编码是基于LDPC码的信道编码。LDPC码是由Robert G.Gallager博士于1963年提出的一类具有稀疏校验矩阵的线性分组码,不仅有逼近香农(Shannon)限的良好性能,而且译码复杂度较低,结构灵活。LDPC码是近年信道编码领域的研究热点,目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。

LDPC码是一种线性分组码,其校验矩阵具有稀疏特性,校验矩阵中元素1占的比重极小,所以又称为低密度奇偶校验码。对一个信息比特为k,码长为n的LDPC码,其校验矩阵H的维度为(n-k)×n,对应的码字c可以由校验矩阵H定义为:

c={c|HcT=0,c∈{0,1}n} (1)

校验矩阵H中,每一行对应LDPC码的一个校验方程,n-k个校验方程对应LDPC码的n-k个校验节点;每一列对应LDPC码的一个码字,n个码字对应LDPC码的n个变量节点。矩阵H中的非零元素hij表示第i个校验节点和第j个变量节点相连。校验矩阵中每一行非零元素的个数为校验节点的度,每一列非零元素的个数为变量节点的度,若所有校验节点的度都相等,所有变量节点的度也相等,该矩阵对应的LDPC码为规则码,否则为非规则码。一个码长为10,码率为1/2的规则LDPC码校验矩阵H的示意图如图3所示。

LDPC码还可以用图模型来进行表示,常用的图模型有Tanner图、因子图和树图等,其中Tanner图描述较为简洁直观。图3所示的校验矩阵H对应的Tanner图如图4所示。图4中的实线与矩阵描述中度的定义相对应,节点的度可以定义为与节点相连的边的个数。

准循环的低密度奇偶校验(Quasi Cycle-Low Density Parity Check,QC-LDPC)码是一类校验矩阵具有准循环特性的LDPC码。可以根据准循环结构对校验矩阵进行简化表示。对一个(n,k)的QC-LDPC码,其校验位个数为m=n-k,校验矩阵H可以如图5所示。

图5中,n=nb×z,m=mb×z,z≥1,Pi,j代表一个z×z的循环移位矩阵或者z×z的全零矩阵,它可以由对应的循环移位系数pi,j来简化表示。这里的循环移位矩阵定义为一个单位阵的循环右移矩阵,移位因子由第一个元素右移的位数决定,取值范围为pi,j∈[-1,z-1],其中pi,j=-1表示全零矩阵,pi,j=0表示单位阵,1≤pi,j≤z-1表示单位阵中每个元素1循环右移pi,j位得到的矩阵。以z=4为例,对应的循环右移矩阵如图6所示。

由此可知,可以将校验矩阵H简化表示为一个mb×nb维的基矩阵Hb,H中的每个z×z循环移位阵简化为基矩阵Hb中的一个非负整数,H中的每个z×z的全零矩阵简化为基矩阵Hb中的一个-1,或者其他符号。通常可以基矩阵中表示非零的循环移位阵的元素称为目标元素,即目标元素扩扩展后得到的矩阵为非零矩阵。相对应地,可以将基矩阵中扩展后会得到全零矩阵的元素称为非目标元素。

本申请实施例的一个示例性QC-LDPC基矩阵如图7所示。其中nb=24,mb=12,目标元素为非负元素,非目标元素为-1。

通常来说,基于LDPC码的编码就是根据信息序列s=[s0,s1,…,sk-1]和校验矩阵H计算出对应的校验序列p=[p0,p1,…,pm-1]的过程。由于校验矩阵H也可以简化表示为基矩阵Hb,因此,基于LDPC码的编码也可以是指根据信息序列s和基矩阵Hb计算出对应的校验序列的过程。

也就是说,第一通信设备获取待发送信息序列后,可以对该待发送信息序列进行基于LDPC码的信道编码,且对该待发送信息序列进行基于LDPC码的信道编码的具体实施方法中可以包括S220,即使用第一LDPC基矩阵对待发送信息序列进行信道编码,得到第一LDPC码字序列(即校验序列)。

其中,该第一LDPC基矩阵可以包括打孔指示列和恢复行。恢复行可以包括低阶恢复行和高阶恢复行。低阶恢复行和高阶恢复行中包括打孔目标元素。低阶恢复行位于高阶恢复行之前,低阶恢复行中的打孔目标元素的数量小于高阶恢复行中的打孔目标元素的数量,打孔目标元素为位于打孔指示列的目标元素,目标元素为扩展后得到非零矩阵的元素,

根据该第一LDPC基矩阵进行信道编码得到第一LDPC码字序列后,第一LDPC码字序列中部分码字将会记为被打孔码字。第一LDPC基矩阵中与第一LDPC码字序列中的被打孔码字对应的列记为打孔指示列。

换句话说,第一LDPC基矩阵可以包括m个打孔指示列和k种恢复行,k种恢复行中的第i种恢复行中有且仅有i个目标元素位于m个打孔指示列,k种恢复行中的第j种恢复行位于第j+1种恢复行之前,m为正整数,k为小于或等于m的正整数,i为小于或等于k的正整数,j为小于k的正整数,目标元素为扩展得到非零矩阵的矩阵。

如果矩阵中第j种恢复行存在多行,对这些行的先后顺序不设限定。

由于基矩阵扩展后,对应全零矩阵的元素有时也用-1表示,因此目标元素有时也可以称之为非负元素。

本申请实施例的第一LDPC基矩阵的一个示例如图8所示。其中,目标元素为非负元素。

图8所示的第一LDPC基矩阵中有3个打孔指示列,且有三种恢复行。其中,第一种恢复行包括第一行,即第一行中只有一个非负元素位于打孔指示列中;第二种恢复行包括第二行,即第二行中有两个非负元素位于打孔指示列;第三种恢复行包括第三行至第六行,均有三个非负元素位于打孔指示列。

由图8可知,第一种恢复行位于第二种恢复行之前,第二种恢复行位于第三种恢复行之前。

为了实现线性复杂度编码,本申请实施例中采用的LDPC基矩阵可以具有特殊结构,如双对角线结构或下三角结构。

下面以基于对角线结构和下三角结构的LDPC基矩阵的编码为例,详细介绍本申请实施例根据第一LDPC基矩阵进行信道编码的具体实施方式。

双对角线结构的LDPC基矩阵Hb可以分为两个部分其中Hb1对应系统位,Hb2对应校验位,k=z×kb。Hb2又可以分为两部分Hb2=[H′b2H″b2],其中H′b2大小为mb×1,有3个元素的值不等于-1,分别位于第0行,第mb-1行和第x行(1≤x≤mb-2),第一行和第mb-1行元素的值均等于a(1≤a≤z-1),第x行的元素等于0;H″b2为双对角线结构,其中当i=j和i=j+1时第i行,第j列为0,其余位置均为-1。Hb2具体可以如图9表示。

根据扩展因子z,将信息序列s分成kb组,每组z比特,分组后得到的向量记做u=[u(0),u(1),…,u(kb-1)],其中每个元素均为一个列向量u(i)=[siz,siz+1,…,s(i+1)z-1]T

同样,校验向量p分成mb组,每组z比特,可以得到向量v=[v(0),v(1),…,v(mb-1)],每个元素对应的列向量为v(i)=[piz,piz+1,…,p(i+1)z-1]T

根据上述分组,编码过程可以分为如下两步。

1.初始化,通过将Hb·[u v]T=0中的所有行相加,消去重复项得到v(0),计算公式如公式(2)。

其中,x为H′b2中间目标元素的位置且1≤x≤mb-2,Pi,j表示基矩阵Hb第i行第j行的循环移位系数pi,j对应的循环移位矩阵,对公式(2)左右两边同时乘以便可得到v(0)。由于是单位阵的循环移位矩阵,其逆矩阵为循环系数对应的循环移位矩阵。

2.根据H″b2的双对角线结构,递归的计算出v(1)到v(mb-1),计算公式如公式(3)和公式(4)。

根据上述公式即可计算出v(0)到v(mb-1),完成编码过程。

下三角结构的LDPC基矩阵Hb同样可以分为两个部分其中Hb1对应系统位,Hb2对应校验位,k=z×kb。其中Hb2为下三角矩阵,对角线的右上方元素均为-1。

根据扩展因子z,将信息序列s分成kb组,每组z比特,分组后得到的向量记做u=[u(0),u(1),…,u(kb-1)],其中每个元素均为一个列向量u(i)=[siz,siz+1,…,s(i+1)z-1]T

同样,校验向量p分成mb组,每组z比特,可以得到向量v=[v(0),v(1),…,v(mb-1)],每个元素对应的列向量为v(i)=[piz,piz+1,…,p(i+1)z-1]T

编码时,根据Hb·[u v]T=0以及下三角结构,校验向量可以通过公式(5)至公式(7)递归计算得到。

其中,Pi,j表示基矩阵Hb第i行第j行的循环移位系数pi,j对应的循环移位矩阵,其逆矩阵为循环系数z-pi,j对应的循环移位矩阵。

由公式(5)至公式(7)可以得到:

本申请实施例的第一LDPC中,没有打孔目标元素的行可以称为零阶恢复行。可选地,第一LDPC基矩阵中,零阶恢复行可以位于恢复行(包括低阶恢复行和高阶恢复行)之前。

本申请实施例的通信方法中,可选地,可以将第一通信设备中已配置的第二LDCP基矩阵中的低阶恢复行调整到高阶恢复行之前,得到第一LDPC基矩阵,然后再根据第一LDPC基矩阵对待发送信息序列进行信道编码。其中,低阶恢复行中位于第二LDCP基矩阵的打孔指示列的目标元素的数量小于高阶恢复行中位于第二LDCP基矩阵的打孔指示列的目标元素的数量。

本申请实施例的通信方法中,对待发送信息序列进行信道编码,得到第一LDPC码字序列后,可以执行S230:发送第二LDPC码字序列。

其中,发送的第二LDPC码字序列包括信道编码所得的第一LDPC码字序列中除打孔指示列对应的码字之外的码字。

换句话说,发送的第二LDPC码字序列包括将第一LDPC码字序列中与打孔指示列对应的列打孔后,第一LDPC码字序列中剩余的码字序列。

该第二LDPC码字序列通过信道的传输后,可以到达第二通信设备。下面介绍第二LDPC码字序列到达第二通信设备后,本申请实施例中由第二通信设备执行的通信方法。

本申请实施例中由第二通信设备执行的通信方法的示意性流程图如图10所示。应理解,图10示出了该通信方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图10中的各个操作的变形。

首先,如S1010所示,接收第二LDPC码字序列。

应注意,第二通信设备接收到的第二LDPC码字序列可能不是第一通信设备发送的原第二LDPC码字序列,因为第一通信设备发送的第二LDPC码字序列在信道中传输时,可能会受到干扰,即第二通信设备接收的第二LDPC码字序列与第一通信设备发送的第二LDPC码字序列相比,可能是存在错误的。

为了检查和纠正第二通信设备接收到的第二LDPC码字序列,第二通信设备接下来需要执行S1020,即使用第一LDPC基矩阵,对第二通信设备接收的第二LDPC码字序列进行信道译码,得到目标序列。

第二通信设备进行信道译码所使用的第一LDPC基矩阵可以与第一通信设备进行信道编码时所使用的LDPC基矩阵相同。

简而言之,第一LDPC基矩阵包括打孔指示列。所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,目标元素为扩展后得到非零矩阵的元素。

其中,第二LDPC码字序列包括第一LDPC码字序列中除打孔指示列对应的码字之外的码字。第一LDPC码字序列经第一LDPC基矩阵信道译码后得到的码字序列与目标序列相同。

第二通信设备进行信道译码时,可以使用消息传递算法(Message Passing Algorithms,MPA)。消息传递算法是一种迭代算法,具体迭代方法是,在使用校验矩阵进行译码时,每一次迭代过程中,消息都是从校验矩阵对应的Tanner图中的变量节点传到校验节点,然后再从校验节点传到变量节点。从变量节点到校验节点的消息是基于变量节点上观察到的信息以及从邻近的校验校验节点返回的变量节点的信息得到的。

需要注意的是,从某个变量节点传给某个校验节点的消息不包括上一次迭代过程中有该校验节点传给该变量节点的消息,从校验节点传给变量节点亦是如此。

消息传递算法通常包括置信传播(Belief Propagation,BP)算法、最小和(Min-Sum,MS)算法、归一化MS算法等。在这些消息传递算法,传递的消息的形式可以是对数似然比(Log Likelihood Ratios,LLR)信息。

下面以分层的MS算法为例,详细介绍使用LDPC基矩阵进行译码的详细过程。

MS算法中设计的一些符号的定义如下:

it表示当前迭代次数,it=1,2,…,Max_Iter,Max_Iter表示LDPC基矩阵中的层数;

l表示当前更新层数,l=0,1,…,L-1;

i表示LDPC基矩阵对应的校验矩阵的第i行,i=0,1,…,M-1;

j表示LDPC基矩阵对应的校验矩阵的第j列,j=0,1,…,N-1;

λj表示LDPC码字序列第j个元素的LLR信息;

Rij[it]表示第it次迭代时,从LDPC基矩阵对应的校验矩阵中的第i个校验节点传给第j个变量节点的信息;

Qji[it]表示第it次迭代时,从LDPC基矩阵对应的校验矩阵中的第j个变量节点传给第i个校验节点的信息;

Qj[it]表示第it次迭代时,用于硬判决的第j个变量节点后验概率信息;

C(j)表示与第j个变量节点相连的校验节点的集合;

V(i)表示与第i个校验节点相连的变量节点的集合。

分层MS译码的过程是行列交替进行的,其具体包括如下步骤。

第一步:初始化

输入LDPC码字序列的信道LLR定义为j=0,1,…,N-1,N为LDPC码字序列的长度。LLR为负逻辑映射(0→+1,1→-1)。

对i=0,1,…,M-1,第i个校验节点传给第j个变量节点的信息Rij[0]初始化为0,其中j∈V(i)。

对j=0,1,…,N-1,第j个变量节点的后验概率信息Qj[0]初始化为λj。

迭代次数it=1,更新层数l=0。

第二步:迭代运算

在译码过程中,校验节点(行)和变量节点(列)之间交替运算更新,直到译码成功或达到最大迭代次数。对于分层MS算法,同一层内的所有校验节点(行)会并行运算,更新完层内所有行后,再更新该行中所有非0元素所在的列(注:展开矩阵后的非0元素和基矩阵中的目标元素是等价的,后文将不再区分这两点)。

每次迭代中,第二通信设备要完成矩阵中所有层的校验节点(行)及与其相连的变量节点(列)的更新。

具体的,假设当前迭代次数为it(1≤it≤Max_Iter),第l(0≤l≤L-1)层的更新过程如下:

1.校验节点输入信息计算

为了更新第l层校验节点,需要先根据公式(8)计算与该层校验节点CN相连的第j个变量节点VN传给第i个校验节点CN的信息

Qji[it]=Qj[it]-Rij[it-1],lz≤i≤(l+1)z-1,j∈V(i) (8)

由于Qj[it]在一次迭代中会被更新多次,为了便于表示,这里令Qj[it]始终为当前更新的最新结果,当l=0时,Qj[it]=Qj[it-1]。

2.校验节点更新

对第i个校验节点,首先根据公式计算与其相连的变量节点信息绝对值|Qji[it]|的最小值mini[it]和最小值对应的序号min_indexi[it]。

然后对除去最小值以外的其余值求min,得到次小值submini[it],计算方法如公式(10)所示。

接着根据公式(11)计算出与第i个校验节点相连的所有变量节点符号的乘积。

最后根据上述信息和公式(12)即可完成校验节点的更新。

式(12)中,α为归一化修正因子,由系统预设。

3.变量节点更新

在计算变量节点信息时,假设此时校验节点完成了第it(1≤it≤Max_Iter)次迭代第l层的更新,那么仅需要更新与第l层校验节点i相连的变量节点j,这里lz≤i≤(l+1)z-1,j∈V(i)。第j个变量节点的后验概率信息可以由公式(13)计算得到。

Qj[it]=Qj[it]+(Rij[it]-Rij[it-1]) (13)

由于每层中只会有一个校验节点与第j个变量节点相连,因此对每个固定的j,有且仅有一个i值与其对应。

本申请实施例中,在迭代过程中,计算LDPC基矩阵中的某一行对应的校验节点传给对应的变量节点的信息时,LDPC码字序列中被打孔码字对应的变量节点的LLR会被置为0,所以该校验节点无法向变量节点传递信息。

虽然该行对应的校验节点传递给所有非打孔指示列对应的变量节点的信息均为0,但是,该校验节点传递给被打孔码字对应的变量节点的信息为非零,因此由于该行中只有一个目标元素位于被打孔码字(即第一种恢复行),所以经过一次迭代,该被打孔码字对应的变量节点的LLR可被恢复出来,即该被打孔码字对应的变量节点能够被正确译码。

由于位于第一种恢复行之后的行为第二种恢复行,且第一种恢复行中打孔指示列对应的变量节点已被恢复,则接下来根据第二种恢复行进行迭代时,可以认为第二种恢复行中仅有一个目标元素位于打孔指示列。然后可以将该打孔指示列对应的变量节点的LLR恢复出来。依次类推,可以将LDPC码字序列中的被打孔码字对应的变量节点,也就是第一LDPC基矩阵中的打孔指示列对应的变量节点的LLR计算出来,最终可以得到信道译码后的目标序列。

每次迭代完成时,需要计算变量节点的后验概率信息,以进行硬判决检测。后验概率信息的计算如公式所示,根据后验概率,可以完成硬判决译码,判断规则如式(14)所示。

得到长度为N的硬判序列HDD=(HDD0,HDD1,…,HDDK-1,…,HDDN-1)后,对序列进行矩阵校验。

若H·HDDT=0,则译码结果符合所有校验方程,则矩阵校验成功

若H·HDDT≠0,则矩阵校验失败,返回继续迭代知道正确译码或达到最大迭代次数。

本申请的实施例中,可选地,第一通信设备发送第二LDPC码字序列之前,可以先对该第二LDPC码字序列进行数字调制,得到该第二LDPC码字序列对应的数字调制序列,然后再发送该数字调制LDPC序列。

对应地,第二通信设备接收到数字调制LDPC序列后,可以先对该数字解调序列进行数字解调,得到数字调制LDPC序列对应的LLR后,再根据第一LDPC基矩阵、消息传递方法和该数字调制LDPC序列对应的LLR进行信道译码,得到目标序列。

本申请实施例中可以执行图2所示的通信方法的通信设备的示例性结构如图11所示。应理解,图11示出的通信设备仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图11中的各个模块的功能相似的模块。

获取模块1110,用于获取待发送信息序列。

处理模块1120,用于使用第一LDPC基矩阵,对所述待发送信息序列进行信道编码,得到第一LDPC码字序列。其中,所述第一LDPC基矩阵包括包括打孔指示列,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素。

发送模块1130,用于发送所述第二LDPC码字序列,所述第二LDPC码字序列包括所述第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字。

本申请实施例中,由于信道编码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以使得接收端的通信设备可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

本申请实施例中,可选地,所述第一LDPC基矩阵中的零阶恢复行可以位于所述低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例中,可选地,所述通信设备还可以包括调整模块;所述调整模块用于将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例中,可选地,所述通信设备还可以包括数字调制模块,用于对所述第二LDPC码字序列进行数字调制,得到调制LDPC码字序列;其中,所述发送模块具体用于发送所述调制LDPC码字序列。

应理解,图11所示本申请实施例的通信设备中的各个单元的上述和其它操作和/或功能分别为了实现图2中的通信方法的相应流程,为了简洁,在此不再赘述。

本申请实施例中可以执行图10所示的通信方法的通信设备的示例性结构如图12所示。应理解,图12示出的通信设备仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图12中的各个模块的功能相似的模块。

接收模块1210,用于接收第二LDPC码字序列。

处理模块1220,用于使用第一LDPC基矩阵,对所述第二LDPC码字序列进行信道译码,得到目标序列。

其中,所述第一LDPC基矩阵包括打孔指示列,所述第二LDPC码字序列包括第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字,所述第一LDPC码字序列经所述第一LDPC基矩阵信道译码后得到的码字序列与所述目标序列相同,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素。

本申请实施例中,由于信道译码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

本申请实施例中,可选地,所述第一LDPC基矩阵中的零阶恢复行可以位于低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例中,可选地,所述通信设备还可以包括调整模块。所述调整模块用于将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例中,可选地,所述通信设备还可以包括数字解调模块,用于对所述第二LDPC码字序列进行数字解调,得到所述第二LDCP码字序列的对数似然比LLR。其中,所述处理模块具体用于使用所述第一LDPC基矩阵,根据所述第二LDPC码字序列的LLR,进行信道译码。

本申请实施例中,可选地,所述处理模块具体用于使用第一LDPC基矩阵和消息传递算法,对所述第二LDPC码字序列进行信道译码。

应理解,图12所示本申请实施例的通信设备中的各个单元的上述和其它操作和/或功能分别为了实现图10中的通信方法的相应流程,为了简洁,在此不再赘述。

本申请实施例中可以执行图2所示的通信方法的通信设备的另一种示例性结构如图13所示。应理解,图13示出的通信设备仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图13中的各个模块的功能相似的模块。

存储器1310用于存储程序,处理器用于执行存储器1310中存储的程序,收发器1330用于与其他通信设备通信。其中,存储器1310可以集成在处理器1320中。

具体而言,存储器1310还用于存储第一LDPC基矩阵。所述第一LDPC基矩阵包括打孔指示列,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素。

处理器1320具体用于使用第一LDPC基矩阵,对所述待发送信息序列进行信道编码,得到第一LDPC码字序列。

收发器具体用于发送第二LDPC码字序列,所述第二LDPC码字序列包括所述第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字。

本申请实施例中,由于信道编码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以使得接收端的通信设备可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

本申请实施例中,可选地,所述第一LDPC基矩阵中的零阶恢复行可以位于所述低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例中,可选地,所述处理器还可以用于将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例中,可选地,所述处理器还可以用于对所述第二LDPC码字序列进行数字调制,得到调制LDPC码字序列。相应地,所述收发器具体用于发送所述调制LDPC码字序列。

应理解,图13所示本申请实施例的通信设备可对应于图11所示的通信设备,并且本申请实施例的通信设备中的各个单元的上述和其它操作和/或功能分别为了实现图2中的通信方法的相应流程,为了简洁,在此不再赘述。

本申请实施例中可以执行图10所示的通信方法的通信设备的另一种示例性结构如图14所示。应理解,图14示出的通信设备仅是示例,本申请实施例的通信设备还可包括其他模块或单元,或者包括与图14中的各个模块的功能相似的模块。

存储器1410用于存储程序,处理器用于执行存储器1410中存储的程序,收发器1430用于与其他通信设备通信。其中,存储器1410可以集成在处理器1420中。

具体而言,存储器1410还用于存储第一LDPC基矩阵。所述第一LDPC基矩阵包括打孔指示列,所述第一LDPC基矩阵中的低阶恢复行位于高阶恢复行之前,所述低阶恢复行和所述高阶恢复行中包括打孔目标元素,所述低阶恢复行中的打孔目标元素的数量小于所述高阶恢复行中的打孔目标元素的数量,所述打孔目标元素为位于所述打孔指示列的目标元素,所述目标元素为扩展后得到非零矩阵的元素。

收发器1430具体用于接收第二LDPC码字序列。

处理器1420具体用于使用第一LDPC基矩阵,对所述第二LDPC码字序列进行信道译码,得到目标序列。

其中,所述第二LDPC码字序列包括第一LDPC码字序列中除所述打孔指示列对应的码字之外的码字,所述第一LDPC码字序列与所述目标序列相同。

本申请实施例中,由于信道译码所使用的第一LDPC基矩阵中,落在打孔指示列上目标元素少的恢复行,在迭代顺序上,比落在打孔指示列上目标元素多的恢复行更靠近迭代起始行。这样,可以尽早从落在打孔指示列上目标元素少的恢复行开始进行迭代,恢复被打孔码字,从而避免无效的迭代操作,提高译码速度,进而提高译效率,最终提高通信效率。

本申请实施例中,可选地,所述第一LDPC基矩阵中的零阶恢复行位于所述低阶恢复行和所述高阶恢复行之前;其中,所述零阶恢复行中的打孔目标元素的个数为0。

本申请实施例中,可选地,所述处理器1420还用于将第二LDCP基矩阵中的低阶恢复行调整到所述第二LDCP基矩阵中的高阶恢复行之前,得到所述第一LDPC基矩阵。

本申请实施例中,可选地,所述处理器1420具体用于:使用所述第一LDPC基矩阵,根据所述第二LDPC码字序列的LLR,进行信道译码。所述处理器还用于对所述第二LDPC码字序列进行数字解调,得到所述第二LDCP码字序列的对数似然比LLR。

本申请实施例中,可选地,所述处理器1420具体用于使用第一LDPC基矩阵和消息传递算法,对所述第二LDPC码字序列进行信道译码。

应理解,图14所示本申请实施例的通信设备可对应于图12所示的通信设备,并且本申请实施例的通信设备中的各个单元的上述和其它操作和/或功能分别为了实现图10中的通信方法的相应流程,为了简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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