基于LDPC码的突发信道的译码方法、设备和存储介质与流程

文档序号:16935384发布日期:2019-02-22 20:39阅读:376来源:国知局
基于LDPC码的突发信道的译码方法、设备和存储介质与流程

本发明涉及通信领域,更为具体而言,涉及一种基于ldpc码的突发信道的译码方法、设备和存储介质。



背景技术:

当信道发生特殊情况(例如突发脉冲)时,误码率的性能会明显降低,这个弊端在使用物理层网络编码时会尤为凸显出来。无线通信系统的可靠性会被突发脉冲严重影响。在实际通信中,突发脉冲可能会发生在传输过程中的任何位置,而且擦除错误的位置和长度都是随机的。

低密度奇偶校验码(lowdensityparitycheckcode,ldpc)码是一种时下研究热度很高的线性差错控制编码。ldpc码型自身结构的特点使它的误码性能相比turbo码更加逼近于香农限,而且相对于turbo码,ldpc编译码的复杂度更低、纠错能力比较强。

目前,对突发信道中的ldpc码的相关研究较少。



技术实现要素:

本发明提出了一种基于ldpc码的突发信道的译码方法,与现有的译码算法相比,减低了译码算法的复杂度,降低了译码占用的软硬件资源。

第一方面,本发明实施方式提供一种一种基于ldpc码的突发信道的译码方法,所述方法包括:接收变量节点,将所有变量节点赋值为0、1或擦除信号e,所有校验节点仍赋值为0;在所接收的变量节点中,确定赋值不是擦除信号的第一变量节点,将所述第一变量节点的信息模二加到与该第一变量节点相连的所有校验节点上,并从预定二部图上擦除所述第一变量节点和所述第一变量节点所连接的边;在剩余的二部图中确定剩余度为1的第一校验节点,将与查找到的第一校验节点相连的变量节点值等于所述第一校验节点的值,以便恢复出来一个被删除的变量节点。

在本发明的一些实施例中,所述方法还包括:在剩余的二部图中确定剩余度为1的第二校验节点,将与查找到的第二校验节点相连的变量节点值等于所述第二校验节点的值,直到恢复出所有的变量节点。

在本发明的一些实施例中,所述方法还包括:在剩余的二部图中确定剩余度为1的第二校验节点,将与查找到的第二校验节点相连的变量节点值等于所述第二校验节点的值,直到剩余二部图的校验节点度均不为1。

在本发明的一些实施例中,所述低密度奇偶校验ldpc码的奇偶校验矩阵是采用分层构造方法。

在本发明的一些实施例中,所述分层构造方法包括:如果部分变量节点的度为n,那么校验节点分为n层,其中,n为正整数;将所有度为n的变量节点视作一个集合,该集合中的每个变量节点的第i条边都分配至第i层的校验节点,其中,i的取值为1到n;在每次分配边后,进行一次四环检验,若存在四环,在当层中重新随机分配该边,直至四环校验结果显示不存在四环;度为n的变量节点的边在第i层校验节点全部分配完成后,继续进行i+1层的校验节点边分配,直至所有边分配完毕;度数大于n的变量节点分配规则与度数n的变量节点规则相同,持续进行直至所有变量节点边分配完毕。

在本发明的一些实施例中,所述每个变量节点的第i条边都分配至第i层的校验节点包括:随机且均匀地分配每层的校验节点中的边数,让当层中校验节点包含度为n的变量节点边数差小于1并且每一层中的校验节点数量都小于分配到当层中的边的数量。

在本发明的一些实施例中,所述突发信道采用二进制相移键控bpsk调制。

在本发明的一些实施例中,所述方法还包括:在中继节点处,先进行软解码,再进行物理层网络编码pnc映射。

第二方面,本发明实施方式提供一种计算机设备,包括存储器和处理器,其中,存储器,存储有计算机指令;处理器,配置为运行所述计算机指令以使所述计算机设备执行第一方面所述的方法。

第三方面,本发明实施方式提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被存储器执行时实现第一方面所述的方法。

附图说明

图1示出了根据本发明实施方式的物理层网络编码的中继系统结构示意图。

图2示出了根据本发明实施方式的奇偶校验矩阵的tanner示意图。

图3示出了根据本发明实施方式的突发脉冲的awgn信道pnc传输系统模型。

图4示出了根据本发明实施方式的突发脉冲的三种情况。

图5示出了根据本发明实施方式的基于ldpc码的突发信道的译码方法的流程示意图。

图6示出了根据本发明实施方式的pnc的通信系统框图。

图7示出了不同ldpc码构造方法的译码仿真图。

图8示出了根据本发明实施方式的一种突发信道的误码率仿真图。

图9示出了根据本发明实施方式的另一种突发信道的误码率仿真图。

图10示出了根据本发明实施方式的又一种突发信道的误码率仿真图。

图11示出了根据本发明实施方式的计算机设备的结构示意图。

具体实施方式

以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。

接下来,对本文中用到的术语进行简要的说明,需要指出的是,本领域技术人员应当理解,这些说明并不意图用于限定本发明的范围。

pnc(physical-layernetworkcoding,物理层网络编码),在采用如附图1所示的物理层网络编码的中继系统中,中继节点r可以同时完成接收信源节点a和b发来的信息,而不会把它们当做干扰处理。在第1个时隙,信源节点a和b同时向中继节点r发送信息s1和s3,中继节点r把接收到的信息进行叠加得到(s1+s3)并在第2个时隙把叠加后的信息同时转发给a,b。节点a和b可以从收到的叠加信号中映射到相应的调制符号s2,并根据它本身的信号来获得对方节点发送来的信号。

ldpc(lowdensityparitycheck,低密度奇偶校验),既可以用矩阵的方式表示,又可用二分图的形式表示。二分图,又可以称为二部图,在本文中两种描述方式交互使用。以二元的ldpc码为例,假设h是一个m×n且稀疏(非零元在h中1的个数所占比重小于0.01)的校验矩阵,则对应零空间产生一个码长为n的ldpc码(记作c)。也就是说,通过一个校验矩阵h将信息序列映射形成了码字序列c,且所有的码字序列c都构成了h的零空间,也就是η·ct=0。因此,校验矩阵h的结构特性会直接影响到生成的ldpc码字。稀疏的m×n的矩阵h具有下述的结构特性:

(1)h矩阵的行重为ρ,即每行的非零元素"1"的数量。

(2)h矩阵的列重为γ,即每列的非零元素"1"的数量。

(3)任意两行(或两列)之间位置相同的非零元素"1"的数量不大于1,也称没有四环。

(4)码长n以及矩阵的行数m相比较,行重ρ和列重γ显得很小,也就是说矩阵中非零元素很少,这也就是h矩阵是稀疏矩阵具有稀疏的特性。

如果校验矩阵h好拥有恒定不变的行重ρ和列重γ,那么由此矩阵所构造成的ldpc码,通常被称之为规则ldpc码,记作(γ,ρ,n)ldpc码。反之如果校验矩阵h的行重和列重并不固定时,这样的ldpc码通常称为非规则ldpc码。本文所讨论的和所后面提及的ldpc码均为规则ldpc码。

能够直观认识ldpc码的工作原理的最佳工具是tanner图。每个校验矩阵h都有一个对应的tanner图。下面举例说明tanner图的构造原理,公式1为一(2,3,6)ldpc码的h矩阵:

h矩阵种的每一行都对应的是一个奇偶校验,把第m行中每个“1”所处的第n列归纳成一个组合为

nm={n:hmn=1}(公式2)

比如,n1={1,2,4},n2={2,3,5},第n行的奇偶校验可以表述成为:

其中的cn是第m行中的元素。

根据以上的h矩阵,其对应的tanner图可表示为附图2所示。

在实际通信中,突发脉冲可能会发生在传输过程中的任何位置,而且擦除错误的位置和长度都是随机的。如附图3所示,擦除错误可能发生在第一和(或)第二时隙中。对于第一个时隙,s1和s3的擦除错误是相互独立的。如果s1和s3的擦除错误处于相同位置,那么调制信号s2的擦除错误也将处于相同的位置。如果s1和s3的擦除错误位于不同的位置,那么s2的擦除误差是s1和s3的和。在第二个时隙中,擦除符号的出现有两种情况。一种是擦除符号出现在节点n2的擦除位置,因此没有额外的擦除错误。另一种情况是新的擦除符号与原来的擦除符号不同,这导致增加了额外的擦除错误.

突发脉冲特征分析

信源信息通常以帧的形式传输。假设帧长度等于n个符号。一般来说,突发脉冲的数学模型可以分为三种不同的情况,如附图4所示。在情况一中,在一个帧中有多个脉冲串脉冲,每个脉冲串持续一个符号时间。在情况二中,在一个持续n个符号时间的帧中只有一个脉冲串脉冲,该脉冲串持续了l个符号时间。在情况三中,在一帧中出现多个脉冲串脉冲,并且脉冲长度是随机分布的。

情况一简称为单符号多脉冲。这种情况下一段码中有几个突发脉冲发生,每个脉冲只持续一个符号时间。突发脉冲的概率密度函数遵循遍历分布。为了后面数学上的分析便利,突发脉冲的发生概率由ppulse表示。

情况二简称为多符号单脉冲。在这种情况下,每一个帧中只有一个脉冲串,它存在l个符号,其中l由可变长度突发调度(vlbs)算法确定。此外要说明的是,突发脉冲发生的起始位置是随机的。

情况三则简称为多符号多脉冲。在这种情况下,一帧中存在多个脉冲,每个脉冲持续l个符号,l在[lmin,lmax]服从均匀分布,其中lmin和lmax分别为最小和最大脉冲长度,通常可以根据通道条件来估算。在本文中,为了简化模型,将每帧中的脉冲数设置为λ,λ在[λmin,λmax]的范围内服从均匀分布,其中λmin和λmax是由信道条件决定的最小和最大脉冲数。并且本文中假设,在这种多符号多脉冲情况下,在每次突发脉冲都持续l次。

由上述可知,情况一和情况二是情况三的特例。然而,在实际的通信系统中,突发脉冲的发生情况表现为情况一和二更常见。

置信度传播(beliefpropagation,简称bp),可用于基于ldpc码的译码,下面描述该译码算法在对数域的llrbp算法步骤。假定信号经过信道传输和输入信号经过bpsk调制信号的过程中,每个码字c=(c1,c2,…,cn)都映射成为序列x=(x1,x2,…,xn),输入序列x经过信道传输,所接收到的序列为y=(y1,y2,…,yn),再根据接收得到的序列y进行译码,最终可以得到译码序列为

为了便于描述,定义以下符号:经过加性高斯白噪声(additivewhitegaussiannoise,简称awgn)信道后,y={y1,y2,…,yn}是接收到的信息,rji(b)=(b=0,1)表示校验节点j传给变量节点i的外部概率信息。qij(b)表示变量节点i传给检验节点j的外部概率信息,c(i)表示与变量节点相连的检验节点的集合,r(j)表示与检验节点相连的变量节点的集合。

初始化。设定最大迭代次数为imax,信道传递给变量节点的初始概率似然比消息定义为:

迭代处理。

(1)校验节点消息处理。计算变量节点传向校验节点的消息

(2)变量节点的消息处理。计算变量节点传向校验节点的消息

(3)译码判决。对所有变量节点计算判决消息

如果否则

(4)停止

当hct=0时或者迭代次数已经达到设定的最大迭代次数时,结束运算,否则继续返回进行迭代。bp译码算法能有效地提高译码速度,降低译码延时。因为其迭代过程是并行实现的,然而该算法引入了tanh函数,而tanh函数计算较为复杂,并且要占用很多硬件资源,所以译码实现复杂度也相对较大。

突发信道下,接收端接收到的信号存在擦除信号e,该信号无法通过通用的bp译码算法进行译码,所以突发信道下的bp译码算法与通常情况下的译码算法不同,本发明提供了一种突发信道下的bp译码算法。

参见图5,图5示出了根据本发明实施方式的基于ldpc码的突发信道的译码方法的流程示意图,具体而言,可包括:步骤s501、步骤s502和步骤s503,接下来对上述步骤进行具体的说明。

步骤s501,初始化:接收变量节点,将所有变量节点赋值为0、1或擦除信号e,所有校验节点仍赋值为0。

在一些实施例中,针对突发信道的bp译码算法,译码的初始化公式为:

其中,y为接收码字,j为第j个码字,f为变量节点j的后验概率。

对于ldpc码而言,在信源节点a和b处使用ldpc码编码后经过二进制相移键控(binaryphaseshiftkeying,简称bpsk)调制。在中继节点r处,系统先进行软解码,再进行pnc映射后再次通过ldpc编码和bpsk发送给信源节点a和b。

本发明实施例的通信系统的传输可以包括两个阶段:多址接入阶段(multipleaccessstage,mac)和广播阶段(broadcaststage,bc)。在多址接入阶段源节点a和b同时向中继节点r发送经编码调制后的信号,而中继节点r收到的是信源节点a和b发送的信号及与噪声的混合信号。在广播阶段中继节点r同时向节点a和b发送经网络编码后的信息,而节点a和b收到的信号则为中继信号分别与噪声的叠加信号。整个系统的关键在于中继节点r需要在多址接入阶段解调解码映射后得到两路信号网络编码结果,然后在广播阶段将编码的结果重新编码调制后发送给节点a和b,从而使节点a和b能够分别解码得到所需要完成交换的信息。中继节点r的目的是从接收到的叠加信号中解码得到网络编码的结果,而不是分别单独解调出节点a和b的信息,这个解码过程为物理层网络编码pnc与ldpc码联合设计,如附图6所示。在附图6中,a…和b分别代表两个需要完成信息交换的源节点,r代表中继节点。a和b分别将源信息经过相同的码率为0.5的ldpc码进行编码,再经过bpsk调制后得到调制信息xa和xb,在完成调制后,节点a和b将信息分别通过多天线发送出去,经过多址接入信道后,中继节点r收到的信息为y。通过软解码得到信息,经过表1所示的映射后可得到原始两路信号的异或信息。再通过多天线发送出去,接收端即可对接收到的信号进行处理,得到需要获取的消息。其中,软解码可以采用本领域技术人员已知的软解码算法。

表1中继映射方案

步骤s502,直接恢复:在所接收的变量节点中,如果所述变量节点中的第一变量节点的赋值不为擦除信号e,所述第一变量节点的信息模二加到与该第一变量节点相连的所有校验节点上,并从预定二部图上擦除所述第一变量节点和所述第一变量节点所连接的边。

在本发明的实施例中,步骤s502中的第一变量节点可以是指变量节点中的任意一个变量节点,在上述步骤s501中,所有变量节点已经赋值为0,1或者擦除信号。在步骤s502中,在所接收的变量节点中判断信息是否被删除,具体而言,是通过判断变量节点的赋值确定该变量节点的信息是否被删除,如果赋值为擦除信号,则说明该变量节点的信息被删除,如果赋值为0或1,则说明该变量节点的信息未被删除。对于不为擦除信号的第一变量节点,也就是说,信息未被删除的变量节点,将第一变量节点的信息模二加到与该第一变量节点相连的所有校验节点上,并从预定二部图上擦除所述第一变量节点和所述第一变量节点所连接的边。

步骤s503,迭代恢复:在剩余的二部图中确定剩余度为1的第一校验节点,将与查找到的第一校验节点相连的变量节点值等于所述第一校验节点的值,以便恢复出来一个被删除的变量节点。

在本发明的实施例中,在步骤s502剩余的二部图中确定存在剩余度为1的第一校验节点,那么与该第一校验节点相连的变量节点值即等于该校验节点的值,这样就恢复出来一个被删除的变量节点。

在本发明的一些实施例中,本发明的方法还可包括:在剩余的二部图中确定剩余度为1的第二校验节点,将与查找到的第二校验节点相连的变量节点值等于所述第二校验节点的值,直到恢复出所有的变量节点。也就是说,重复执行步骤s503的迭代恢复,直到恢复出所有的被删除的变量节点。

在本发明的另外一些实施例中,本发明的方法还包括:在剩余的二部图中确定剩余度为1的第二校验节点,将与查找到的第二校验节点相连的变量节点值等于所述第二校验节点的值,直到剩余二部图的校验节点度均不为1。也就是说,重复执行步骤s503中的迭代恢复,直到剩余二部图中所有的校验节点的度均不为1。

本发明实施例提供的基于ldpc码的译码算法,与传统的bp译码算法相比,在误码率基本没有下降的情况下,能够降低算法的复杂度,减少对译码资源的占用。

本发明的实施例中,ldpc码的奇偶校验矩阵h可以采用多种方式构造。在一些实施例中,ldpc码的奇偶校验矩阵是采用分层构造方法。具体而言,分层构造方法可包括:如果部分变量节点的度为n,那么校验节点分为n层,其中,n为正整数;将所有度为n的变量节点视作一个集合,该集合中的每个变量节点的第i条边都分配至第i层的校验节点,其中,i的取值为1到n;在每次分配边后,进行一次四环检验,若存在四环,在当层中重新随机分配该边,直至四环校验结果显示不存在四环;度为n的变量节点的边在第i层校验节点全部分配完成后,继续进行i+1层的校验节点边分配,直至所有边分配完毕;度数大于n的变量节点分配规则与度数n的变量节点规则相同,持续进行直至所有变量节点边分配完毕。

在一些实施例中,每个变量节点的第i条边都分配至第i层的校验节点可包括:随机且均匀地分配每层的校验节点中的边数,让当层中校验节点包含度为n的变量节点边数差小于1并且每一层中的校验节点数量都小于分配到当层中的边的数量。

在一种实施例中,ldpc码的奇偶校验矩阵h可通过下述方法形成:如果有部分变量节点的度为n,那么校验节点分为n层。将所有度为n的变量节点视作一个集合,该集合中的每个变量节点的第i条边都分配至第i层的校验节点,其中i的取值为1到n,n为正整数。通常情况下,每一层中的校验节点数量都小于分配到当层中的边的数量,所以需要随机且均匀地分配每层中的边数,让当层中校验节点包含度为n的变量节点边数差小于1。在每次分配边后,进行一次四环检验,四环存在的情况下,在当层中重新随机分配该边,直至四环校验结果显示不存在四环。变量节点(度为n)的边在第i层校验节点全部分配完成后,继续进行i+1层的校验节点边分配,直至所有边分配完毕。度数大于n的变量节点分配规则与度数n的变量节点规则相同,持续进行直至所有变量节点边分配完毕。

在awgn信道下,采用传统的bp译码算法,调制方式选择bpsk,分别采用上述的分层构造算法和传统的mackay构造法进行仿真,码长设置为256,码率为0.5.得到仿真结果如图7所示。从图7中可以看出,分层随机构造法相对传统mackay构造法在误码率为10-2~10-4上约有0.1~0.3db不等的增益,性能相对有一定提升。

对上面描述的三种不同的突发脉冲情况进行仿真。图8、图9和图10绘制了三种情况下的模拟误码率,以揭示突发脉冲对误码率性能的影响。

对于情况1,擦除概率是ppluse=10-3,每次擦除一个符号。对于第二种情况,在每一帧中擦除连续的10个符号。对于情况三,擦除长度l满足1≤l≤10,擦除次数λ在1到5之间。具体的仿真参数如表2所示。在本文中,分别采用(255,223)rs码和码长为256、码率为0.5的ldpc码来克服突发脉冲的不利影响。

表2信道参数

如图8所示,当信噪比较大时,误码率大约在10-3左右。在图8中,使用rs码在信噪比(signalnoiseratio,简称snr)为7db时可以使误码率达到10-4左右,使用ldpc码可以在snr为5db时使误码率达到10-4

如图9所示,误码率在高信噪比时接近10-2。在图9中,使用rs码在snr为8db左右可以使误码率达到10-5,使用ldpc码可以在snr为6db左右可以使误码率达到10-5

如图10所示,高信噪比时误码率接近10-2。在图10中,使用使用rs码在snr为7db左右可以使误码率达到10-4,使用ldpc码可以在snr为5db左右可以使误码率达到10-4

通过上述仿真结果可以看出,在awgn信道下,图8到图10的结果表明突发脉冲对物理层网络编码的误码率性能具有显着的不利影响。关于rs码和ldpc码之间的性能差,主要是由ldpc码和rs码之间的校验位差和译码算法的不同导致。ldpc所使用的译码算法为本文改进的bp迭代译码算法,再加上ldpc码自身的优点,使得ldpc码相较于rs更适合在突发脉冲信道上传输。

本发明实施方式还提供一种计算机设备。如图11所示,计算机设备1100可包括存储器1101和处理器1102,其中,存储器1101存储有计算机指令,处理器1102配置为执行所述计算机指令以使计算机设备1100实现上面所述的方法。

本发明实施方式还提供计算机可读的存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现上面所述的方法。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。

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