支持任何码率/码长的低密度奇偶校验码编码装置和方法

文档序号:7538434阅读:345来源:国知局
专利名称:支持任何码率/码长的低密度奇偶校验码编码装置和方法
技术领域
本发明涉及一种数字通信系统中用于数据传输纠错的编码装置及方法,特别是涉及数字通信领域纠错技术中支持任何码长和任何码率的低密度奇偶校验码的编码装置和方法。
背景技术
所有的数字通信系统都需要信道编码器。信道编码器是为了抗击传输过程中各种各样的噪声和干扰,通过人为地增加冗余信息,使得系统具有自动纠正差错的能力,从而保证数字传输的可靠性。低密度奇偶校验码是一类可以用非常稀疏的奇偶校验矩阵或者二分图定义的线性分组码,最初由Gallager发现,所以称为Gallager码。经过数十年的沉寂,随着计算机硬件和相关理论的发展,MacKay和Neal重新发现了它,并证明了它具有逼近香农限的性能。最新研究表明,低密奇偶校验码码具有以下特点低译码复杂度,可线性时间编码,具有逼近香农限的性能,可并行译码,以及在长码长条件下性能优于Turbo码。
LDPC码是一种基于稀疏校验矩阵的线性分组码,正是利用它的校验矩阵的稀疏性,才能实现低复杂度的编译码,从而使得LDPC码走向实用化。前面提到的Gallager码是一种正则的LDPC码(regular ldpcc),而Luby和Mitzenmacher等人对Gallager码进行了推广,提出非正则的LDPC码(irregular ldpcc)。LDPC码具有很多译码算法,其中,信息传递算法(Message Passing algorithm)或者置信度传播算法(Belief Propagation algorithm,BP算法)是LDPC码的主流和基础算法,目前出现了很多改进的有效译码算法。
LDPC奇偶校验矩阵的图形表示形式是二分图。二分图和校验矩阵之间具有一一对应的关系,一个M*N的奇偶校验矩阵H定义了每个具有N比特的码字满足M个奇偶校验集的约束。一个二分图包括N个变量节点和M个奇偶校验节点。当第m个校验涉及到第n个比特位,即H中第m行第n列的元素Hm,n=1时,将有一根连线连接校验节点m和变量节点n。二分图中,任何同一类的节点之间都不会有连接,并且二分图中的总边数和校验矩阵中非零元素的个数相等。
一类特殊LDPC码由于具有结构化的特征,逐渐成为主流应用。设这种LDPC码的奇偶校验矩阵H为(M×z)×(N×z)矩阵,它是由M×N个分块矩阵构成,每个分块矩阵都是z×z的基本置换矩阵的不同幂次,基本置换矩阵为单位阵时,它们都是单位阵的循环移位矩阵(文中默认为右移)。具有如下的形式H=Ph00bPh01bPh02b···Ph0nbbPh10bPh11bPh12b···Ph1nbb···············Phmb0bPhmb1bPhmb2b…Phmbnbb=PHb]]>如果hijb=-1]]>,有Phijb=0.]]>如果hijb是大于或者等于0的整数,定义Phijb=(P)hijb]]>,在这里P是一个z×z的标准置换矩阵,如下所示P=010···0001···0···············000···1100···0]]>通过这样的幂次hijb就可以唯一标识每一个分块矩阵,单位矩阵的幂次可用0表示,矩阵一般用-1来表示。这样,如果将H的每个分块矩阵都用它的幂次代替,就得到一个M×N的幂次矩阵Hb。这里,定义Hb是H的基础矩阵,H称为Hb的扩展矩阵。在实际编码时,z=码长/基础矩阵的列数N,称为扩展因子。
例如,矩阵 阵Hb扩展得到
z=3和Hb=010-12121]]>因此,也可以说本发明的LDPC码的编码器是由基础矩阵Hb,扩展因子z及所选择的基本置换矩阵唯一生成的。
如果对于每个不同的扩展因子LDPC码都采用一个基础矩阵,那么,对于每个不同的码长,所述的LDPC码编译码器都需要存储一个基础矩阵,当码长很多时,就要存储很多基础矩阵,这样会出现表示和存储问题。因此,当需要实现变码长的时候,同一码率的一定范围内多种码长的低密度奇偶校验码会使用同一个形式的基础矩阵,同时在不同码长时对该基础矩阵进行修正和扩展,使得生成的编译码器可适用于码长可变的场合。
修正是利用不同码长的扩展因子对基础矩阵Hb中的非负值进行修正,修正后元素值应小于该码长下的扩展因子值,修正算法可以采用取模(mod)、取整(scale+floor)或舍入(scale+round)等,设Pi,j为基础矩阵第i行第j列的非负元素,P’i,j为修正以后的元素,有对于取模(mod)方法Pij′≡PijmodnN]]>对于取整(scale+floor)方法Pij′=[Pij×n2304]]]>对于舍入(scale+round)方法Pij′=Round(Pij×n2304)]]>其中,N为基础矩阵列数,n为要生成奇偶校验矩阵的低密度奇偶校验码的码长。mod为取模操作,[]为下取整操作,Round为四舍五入操作。
例如,对于码长1152比特低密度奇偶校验码,设其基础矩阵某个非负元素为93,则其修正结果为对于取模(mod)方法93mod115224=93mod48=45]]>
对于取整(scale+floor)方法[93×11522304]=[46.5]=46]]>对于舍入(scale+round)方法Round(93×11522304)=Round(46.5)=47]]>这种特定码率可变码长的低密度奇偶校验码由于具有同一形式的基础矩阵,所以完全可以用一个编码器/译码器。在IEEE802.16e中,LDPC码支持码率1/2、码率2/3、码率3/4、码率5/6,此时出现四个基础矩阵,用唯一的编码器/译码器来实现不同码率的编译码将变得比较困难;如果四个码率需要四个编译码器,硬件成本将成为一个应用瓶颈。

发明内容
本发明目的在于解决不同码率的LDPC码不能使用相同编译码器的问题,提供一种新设计的编译码器及方法,提高了LDPC码在码率/码长的灵活性、译码速度(吞吐量,译码延迟)、功率损耗、编译码复杂度等性能。
本发明提供了一种支持任何码率/码长的低密度奇偶校验码编码方法,用于将来自信源编码器的信号进行编码,然后输出给调制器,具体包括如下步骤A、设定一个特定码率变码长的低密度奇偶校验码母码集,用于实现(N=z×nb,K=z×kb)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶zmax};该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform,为了实现(z×nb,z×kb)编译码,用特定的修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,再根据Hbmodified和z就可以扩展得到奇偶校验矩阵;并且基础矩阵Hbuniform总有码率R0=(nb-mb)nb]]>,其中,nb是大于2的整数,mb是大于1的整数;B、当码率R低于等于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括
步骤B1、计算扩展因子 ;基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,这里,表示向下取整;步骤B2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤B3、对母码码字删除步骤B2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后重复码字中y=N-K-mb×z个比特,或者添加码字中y=N-K-mb×z个零比特到删除零比特后的码字之前或者之后,最终得到长度为N的码字;C、当码率R高于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤C1、计算扩展因子 ;基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,在这里, 表示向上取整;步骤C2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤C3、对母码码字删除步骤C2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,从上述删除零比特后码字中继续删除y=mb×z-N+K个比特,最终得到长度为N的码字。
所述的方法,所述步骤B3、步骤C3中删除比特位置是校验位部分。
本发明又提供了一种支持任何码率/码长的低密度奇偶校验码编码方法,包括如下步骤A、设定一个特定码率变码长的低密度奇偶校验码母码集,用于实现(N=z×nb,K=z×kb)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶zmax);该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform,为了实现(z×nb,z×kb)编译码,用特定的修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,再根据Hbmodified和z就可以扩展得到奇偶校验矩阵;并且基础矩阵Hbuniform总有码率R0=(nb-mb)nb]]>,其中,nb是大于2的整数,mb是大于1的整数;B、当R码率低于等于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤B1、计算扩展因子 ;基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,这里, 表示向上取整;步骤B2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤B3、对母码码字删除步骤B2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后重复码字中y=N-K-mb×z个比特,或者添加码字中y=N-K-mb×z个零比特到删除零比特后的码字之前或者之后,最终得到长度为N的码字;C、当码率R高于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤C1、计算扩展因子 基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,在这里, 表示向上取整;步骤C2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤C3、对母码码字删除步骤C2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后,继续删除码字中y=mb×z-N+K个比特,最终得到长度为N的码字。
所述的方法,其特征在于,步骤B3、步骤C3中删除比特位置是校验位部分。
本发明提供了一种支持任何码率/码长的低密度奇偶校验码编码的装置,用于信道编码,接收信源编码器的信号进行编码,然后转发给解调器,具体包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该装置用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算;然后输出z值到下面的缩短码编码装置,在这里, 表示向上取整;一个缩短码编码器,其具体包括一个(mb×z,nb×z)LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该装置用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个删除码字比特装置,用于输入缩短码码字;在保证删除码性能的条件下,选择y=mb×z-N+K个删除位置,删除这些位置上缩短码字的比特;将删除后得到的N个码字输出。
本发明还提供了一种支持任何码率/码长的低密度奇偶校验码编码的装置,包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该装置用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算z,其中,表示向下取整, 表示向上取整;一个缩短码编码器,其具体包括一个(mb×z,nb×z)LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该装置用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个码率比较器,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>R0,缩短码字将送到删除码字比特装置;一个重复码字比特装置,用于从缩短码码字中选择y=N-K-mb个比特进行重复,最终得到N个比特码字;输出这N个码字比特;一个删除码字比特装置,在保证删除码性能尽可能好的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特。
本发明还提供一种支持任何码率/码长的低密度奇偶校验码编码的装置,包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该装置用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算z,其中,表示向下取整, 表示向上取整;一个缩短码编码器1102,其具体包括一个(mb×z,nb×z)LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该装置用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个码率比较器,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>R0,缩短码字将送到删除码字比特装置;一个添加零比特装置,用于在缩短码码字之后或者之前添加y=N-K-mb个零比特,最终得到N个码字比特;输出这N个码字比特;一个删除码字比特装置,在保证删除码性能的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特,最终得到N个码字比特并输出该N个码字比特。
本发明提供的LDPC码编译码装置和方法具有如下优点不同码率不同码长的LDPC码具有统一的编译码器,不同码率不同码长的LDPC码具有一个统一的基础矩阵。相对现有的方法,显著地节省了硬件成本,极大地提高了码本身的灵活性,码的适用范围将得到了很大扩展。
本发明解决了LDPC码在变码率方面的缺陷,使得LDPC码在码率/码长的灵活性方面不输于turbo码,而在译码速度(吞吐量,译码延迟)、功率损耗、编译码复杂度方面显著优于turbo码,在性能方面和turbo码相当(短码长时候turbo码占优,长码长时候LDPC码占优,中等码长相当)。总的来说,LDPC码代替turbo码是一个必然的趋势,本发明将致力于推动这个趋势。


图1是本发明装置所在的系统示意图;图2是(nb×z,kb×z)结构化LDPC母码的码字;图3是(N,K)缩短-重复LDPC码的码字;图4是(nb×z,kb×z)结构化LDPC母码的码字;
图5是(N,K)缩短-删除LDPC码的码字;图6是(nb×z,kb×z)结构化LDPC母码的码字;图7是(N,K)删除-缩短LDPC码的码字;图8是本发明(N,K)LDPC一种编码装置;图9是本发明装置中的扩展因子z计算器;图10是本发明LDPC缩短码编码装置;图11是本发明(N,K)LDPC一种编码装置;图12是本发明(N,K)LDPC一种编码装置。
具体实施例方式
本发明的基本思路是,以特定码率可变码长的结构化LDPC码为基础,以实际编码校验位个数尽可能与结构化LDPC校验位个数相接近为设计原则,以LDPC码具有最优次数分布为条件,通过缩短或者删除或者重复或者添0实现任意码长任意码率的低密度奇偶校验码的编译码。
图1是本发明装置所在的系统示意图。本发明的编码装置,即图1中的信道编码器。信道编码器实现信道编码就是保证通信的可靠性,它将对上述的信源编码后的数据进行编码,添加冗余比特,保证到接收端,可以纠错处理,提高通信质量和可靠性。通常所说LDPC码,turbo码,卷积码,RS码,BCH码就是指纠错码,指信道编码。信源编码器实现信源编码就是保证通信的有效性,它将模拟信号(语音,图象等)转化为二进制数字信号,并进行数据压缩(语言压缩,图象压缩等)。此外,需要说明的是,编码和解码是对应的,所以采用了本发明的编码器和编码方法,其解码器和解码方法也就有相应的要求,本发明不多赘述。
首先解释母码(mother code)。
定义一个具有特定码率不同码长的LDPC码码集如下设该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform并且这个码集码率R0=(nb-mb)nb]]>。其中,nb是大于2的整数,mb是大于1整数。
设码集的可能扩展因子是以1为步长从zmin增加到zmax,记作z∈{zmin∶1∶zmax}。对于这种结构化的LDPC码,一个特定码长N对应一个特定扩展因子z,所以这个码集可能的码长是以nb为步长从zmin×nb增加到zmax×nb,记作N∈{zmin×nb∶nb∶zmax×nb}。其中,zmin和zmax是大于1的整数。
为了实现(z×nb,z×kb)低密度奇偶校验码的编译码,需要用如前所述的某个修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,根据Hbmodified和z就可以得到奇偶校验矩阵。
定义的上述码集可以实现(N=z×nb,K=z×kb)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶zmax}。由于我们设计的支持任何长度/码率的LDPC码总是基于上述码集,所以我们称上述码集为任何长度/码率的LDPC码的母码集(mother code set),则母码集的码率R0=kbnb]]>。其中,kb=nb-mb。在这里,我们推荐母码集的码率为1/2,如果基础矩阵大小是12×24,则母码是(24×z,12×z)码。
对于所述的码集,可以举一个例子,设定一个码率为1/2码长可变的低密度奇偶校验码母码集,用于实现(N=z×32,K=z×16)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶640},其中zmin是一个较小正整数,如12;该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform,例如Hbuniform=[Hbsystem|Hbparity]]]>Hbsystem=]]>
Hbparity=]]> 为了实现上述(z×nb,z×kb)编译码,用特定的修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,对于Hbuniform中的每一个非-1元素,需要修正元素取值hijb,令(hijb)modified修正矩阵Hbmodified第i和第j列的非-1元素,其中(hijb)uniform表示统一基础矩阵Hbuniform第i和第j列的非-1元素,则修正的准则如下 再根据Hbmodified和z就可以扩展得到奇偶校验矩阵;并且基础矩阵Hbuniform总有码率R0=12]]>,其中,nb=32,mb=16。
码率R低于R0的支持任何长度/码率的LDPC设计方案令编码前信息分组长度为K,编码后码字长度为N,z是结构化LDPC码的扩展因子,需要的校验位个数是M=N-K。根据编码的相关知识,缩短操作可以用来降低LDPC码的码率。此外,本文提出了以实际编码校验位个数尽可能与结构化LDPC母码编码产生的校验位个数相接近为设计原则,因为只有这样,才能很好地使用结构化的LDPC码的变码长特征。如果母码产生的校验位个数少于M,则需要给母码编码后的码字添加重复比特或者零比特,使得最终码字的长度为N。如果母码产生的校验位个数大于M,则需要给母码编码后的码字进行删除码字比特,使得最终码字的长度为N。
根据上述描述,本发明提供了三种解决方案方案1缩短-重复方法为了匹配所需要的码率和所需要的信息分组长度,需要对结构化LDPC母码编码后的码字进行缩短操作。考虑母码是一维的,高位的码字比特将被移去,一直到合适的大小。需要强调的是,基础矩阵Hbuniform的次数分布是有严格要求的,必须保证缩短码总是具有最优的次数分布。这里有三个步骤用于完成(N,K)的缩短LDPC码的编码步骤1)计算扩展因子 。基于统一的基础矩阵Hbuniform和计算得到的扩展因子z。可以得到(mb×z,nb×z)LDPC母码。
步骤2)添加x=kb×z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位。
步骤3)对母码码字删除步骤2)中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配。删除零比特后码字中y=N-K-mb×z个比特将得到重复,最终得到长度为N的码字。
码的缩短的三个处理步骤在图a)和图b)中得到描述。图a)显示了一个非缩短的(mb×z,nb×z)LDPC母码。作为比较,缩短的LDPC在图b)中得到表示。在图b)中,为了匹配所需要的分组大小N,N-K-mb×z比特得到了重复。所以,最终码字分组长度为N,编码前信息分组长度为K,编码的码率R=K/N。由于缩短操作的存在和母码码率是R,所以此处构造的LDPC码的码率总是小于R的。
方案2缩短-添零比特方法与方案1基本相同,不同之处在步骤3)中方案1的步骤3)中有“删除零比特后码字中y=N-K-mb×z个比特将得到重复,最终得到长度为N的码字”。需要修改为“y=N-K-mb×z个零比特将添加到删除零比特后码字之前或者之后,最终得到长度为N的码字”。
方案3缩短-删除比特方法为了匹配所需要的码率和所需要的信息分组长度,需要对结构化LDPC母码编码后的码字进行缩短操作。考虑母码是一维的,高位的码字比特将被移去,一直到合适的大小。需要强调的是,基础矩阵Hbuniform的次数分布是有严格要求的,必须保证缩短码总是具有最优的次数分布。这里有三个步骤用于完成(N,K)的缩短LDPC码的编码步骤1)计算扩展因子 。基于统一的基础矩阵Hbuniform和计算得到的扩展因子z。可以得到(mb×z,nb×z)LDPC母码。
步骤2)添加x=kb×z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位。
步骤3)对母码码字删除2)中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配。删除零比特后码字中y=mb×z-N+K个比特将被删除,最终得到长度为N的码字。
需要强调,删除位置的选择很重要,需要保证删除性能最优。在这里,删除比特位置只可以在校验位部分,不可以在信息位部分。通常,删除比特位置可以在码字的尾部,此时性能基本最优。
码率R高于R0的支持任何长度/码率的LDPC设计方案。
令编码前信息分组长度为K,编码后码字长度为N,z是结构化LDPC码的扩展因子,需要的校验位个数是M=N-K。根据编码的相关知识,删除操作可以用来提高LDPC码的码率。此外,本文提出了结构化LDPC母码编码产生的信息位个数大于并且尽可能接近实际编码信息位个数为设计原则,因为只有这样,才能很好地使用结构化的LDPC码的变码长特征。如果母码信息位个数大于K,则需要在信息位分组之前添加少量的零比特,使得参加母码编码的信息分组长度为kb的整数倍。进行母码编码,从母码编码后的码字中删除添加的零比特部分比特,之后还需要再次删除一定数量的码字比特,使得最终码字的长度为N。
为了匹配所需要的码率\信息分组长度,需要对结构化LDPC母码编码后的码字进行删除-缩短操作。考虑母码是一维的,特定数量的特定位置上的码字比特将被移去,一直到合适的大小。需要强调的是,基础矩阵Hbuniform的次数分布是有严格要求的,必须保证删除码总是具有最优的次数分布。这里有三个步骤用于完成(N,K)的删除LDPC码的编码步骤1)计算扩展因子 。基于统一的基础矩阵Hbuniform和计算得到的扩展因子z。可以得到(mb×z,nb×z)LDPC母码。
步骤2)添加x=kb×z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位。
步骤3)对母码码字删除2)中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配。从上述删除零比特后码字中继续删除y=mb×z-N+K个比特,最终得到长度为N的码字。
需要强调,删除位置的选择很重要,需要保证删除后码的性能最优。在这里,删除比特位置不仅可以包括校验位部分,而且可以包括信息位部分。
无论R>R0或者R≤R0,我们只考虑使用缩短和删除方法,则本发明将给出基于结构化LDPC母码的支持任意码率/码长的LDPC码编码装置A。
所述的编码装置A包括下面三个分装置,如果图8,分别是一个扩展因子z计算器801,一个LDPC缩短码编码器802和一个删除码字比特装置803。
1)扩展因子z计算器,如图9所示,该装置主要包括一个比较选择器901和两个计算器902/903,该装置的功能如下输入当前实际编码的码率R;901将其同母码的码率R0进行比较,如果R>R0,则902按照 来计算;否则903按照 ;输出z值到下面的缩短码编码装置。在这里, 表示向上取整。
2)缩短码编码器,如图10所示,该装置包括一个(mb×z,nb×z)LDPC母码编码器1001、一个添加零比特装置1002、一个去除零比特装置1003和若干缓冲存储单元,该装置的功能如下输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb×z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb×z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据。输出缩短码码字到下面的删除码字比特装置。
3)删除码字比特装置输入缩短码码字;在保证删除码性能尽可能好的条件下,选择y=mb×z-N+K个删除位置,删除这些位置上缩短码字的比特;将删除后得到的N个码字输出。
如果R>R0,考虑使用缩短和删除方法;如果R≤R0,考虑使用缩短和重复方法。本发明将给出基于结构化LDPC母码的支持任意码率/码长的LDPC码编码装置B。
所述的编码装置B包括下面五个分装置,如图11,分别包括一个扩展因子z计算器1101,一个LDPC缩短码编码器1102和一个删除码字比特装置1103,一个重复码字比特装置1104,一个删除码字比特装置1105。
1)一个扩展因子z计算器1101,同编码装置A,除了当R≤R0,编码装置A按照 计算z,而编码装置B按照 来计算z。表示向下取整, 表示向上取整。
2)一个缩短码编码器1102,同编码装置A。
3)一个码率比较器1103,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>R0,缩短码字将送到删除码字比特装置。
4)一个重复码字比特装置1104。它的功能是从缩短码码字中选择y=N-K-mb×z个比特进行重复,最终得到N个比特码字;输出这N个码字比特。
5)一个删除码字比特装置1105。它的功能是在保证删除码性能尽可能好的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特。
如果R>R0,考虑使用缩短和删除方法;如果R≤R0,考虑使用缩短和添0比特方法。本发明将给出基于结构化LDPC母码的支持任意码率/码长的LDPC码编码装置C。
所述的编码装置C包括下面5个分装置,如图121)扩展因子z计算器1201,同B。
2)缩短码编码器1202,同B。
3)一个码率比较器1203,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>R0,缩短码字将送到删除码字比特装置。
4)一个添加零比特装置1204。它的功能是在缩短码码字之后(或者之前)添加y=N-K-mb×z个零比特,最终得到N个码字比特;输出这N个码字比特。
5)一个删除码字比特装置1205。它的功能是在保证删除码性能尽可能好的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特。最终得到N个码字比特;输出这N个码字比特。
总之,本发明了使用统一的编译码器的支持任何码长/码率的LDPC码。本发明的新设计解决了LDPC码在变码长和变码率方面的致命缺点,使得LDPC码在码率/码长的灵活性方面不输于turbo码,并且保持了优异性能。
权利要求
1.一种支持任何码率/码长的低密度奇偶校验码编码方法,用于将来自信源编码器的信号进行编码,然后输出给调制器,其特征在于包括如下步骤A、设定一个特定码率变码长的低密度奇偶校验码母码集,用于实现(N=z×nb,k=z×kb)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶zmax};该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform,为了实现(z×nb,z×kb)编译码,用修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,再根据Hbmodified和z就可以扩展得到奇偶校验矩阵;并且基础矩阵Hbuniform总有码率R0=(nb-mb)nb,]]>其中,nb是大于2的整数,mb是大于1的整数;B、当码率R低于等于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤B1、计算扩展因子 基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,得到(mb×z,nb×z)LDPC母码,这里,表示向下取整;步骤B2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤B3、对母码码字删除步骤B2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后重复码字中y=N-K-mb×z个比特,或者添加码字中y=N-K-mb×z个零比特到删除零比特后的码字之前或者之后,最终得到长度为N的码字;C、当码率R高于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤C1、计算扩展因子 基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,在这里,「 表示向上取整;步骤C2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤C3、对母码码字删除步骤C2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,从上述删除零比特后码字中继续删除y=mb×z-N+K个比特,最终得到长度为N的码字。
2.根据权利要求1所述的方法,其特征在于,步骤B3、步骤C3中删除比特位置是校验位部分。
3.一种支持任何码率/码长的低密度奇偶校验码编码方法,其特征在于包括如下步骤A、设定一个特定码率变码长的低密度奇偶校验码母码集,用于实现(N=z×nb,K=z×kb)低密度奇偶校验码的编译码,其中z∈{zmin∶1∶zmax};该码集具有一个统一形式的(mb×nb)基础矩阵Hbuniform,为了实现(z×nb,z×kb)编译码,用修正运算和扩展因子z来修正统一的基础矩阵Hbuniform,得到修正后的基础矩阵Hbmodified,再根据Hbmodified和z就可以扩展得到奇偶校验矩阵;并且基础矩阵Hbuniform总有码率R0=(nb-mb)nb,]]>其中,nb是大于2的整数,mb是大于1的整数;B、当R码率低于等于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤B1、计算扩展因子 基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,得到(mb×z,nb×z)LDPC母码,这里,「 表示向上取整;步骤B2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤B3、对母码码字删除步骤B2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后重复码字中y=N-K-mb×z个比特,或者添加码字中y=N-K-mb×z个零比特到删除零比特后的码字之前或者之后,最终得到长度为N的码字;C、当码率R高于R0时,令编码前任意信息分组长度为K,编码后任意码字长度为N,z是结构化LDPC码的扩展因子,校验位个数是M=N-K;用于完成(N,K)的LDPC码的编码方法包括步骤C1、计算扩展因子 基于统一的基础矩阵Hbuniform和计算得到的扩展因子z,可以得到(mb×z,nb×z)LDPC母码,在这里,「 表示向上取整;步骤C2、添加x=kb·z-K零比特到K个信息比特之前,构成编码所需要的kb×z信息分组;然后进行(mb×z,nb×z)LDPC编码,得到mb×z个校验位;步骤C3、对母码码字删除步骤C2中添加的x个零比特,如果删除后的码字比特数目和所需要的分组大小N不匹配,删除零比特后,继续删除码字中y=mb×z-N+K个比特,最终得到长度为N的码字。
4.根据权利要求3所述的方法,其特征在于,步骤B3、步骤C3中删除比特位置是校验位部分。
5.一种支持任何码率/码长的低密度奇偶校验码编码的装置,用于信道编码,接收信源编码器的信号进行编码,然后转发给解调器,其特征在于,包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该扩展因子z计算器用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算;然后输出z值到下面的缩短码编码装置,在这里,「 表示向上取整;一个缩短码编码器,其具体包括一个(mb×z,nb×z) LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该缩短码编码器用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个删除码字比特装置,用于输入缩短码码字;在保证删除码性能的条件下,选择y=mb×z-N+K个删除位置,删除这些位置上缩短码字的比特;将删除后得到的N个码字输出。
6.一种支持任何码率/码长的低密度奇偶校验码编码的装置,其特征在于,包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该扩展因子z计算器用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算z,其中,表示向下取整,「 表示向上取整;一个缩短码编码器,其具体包括一个(mb×z,nb×z)LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该缩短码编码器用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个码率比较器,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>R0,缩短码字将送到删除码字比特装置;一个重复码字比特装置,用于从缩短码码字中选择y=N-K-mb个比特进行重复,最终得到N个比特码字;输出这N个码字比特;一个删除码字比特装置,在保证删除码性能的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特。
7.一种支持任何码率/码长的低密度奇偶校验码编码的装置,其特征在于,包括一个扩展因子z计算器,其具体包括一个比较选择器和第一计算器和第二计算器,该扩展因子z计算器用于输入当前实际编码的码率R;比较选择器完成码率R同母码的码率R0进行比较如果R>R0,则第一计算器按照 来计算;否则第二计算器按照 来计算z,其中,表示向下取整,「 表示向上取整;一个缩短码编码器,其具体包括一个(mb×z,nb×z)LDPC母码编码器、一个添加零比特装置、一个去除零比特装置和若干缓冲存储单元,该缩短码编码器用于输入k比特信息块和扩展因子z;在k比特信息分组之前添加x=kb·z-K个零比特,得到kb·z个比特的母码信息分组;将上述母码信息分组送到(mb×z,nb×z)LDPC母码编码器进行编码,得到mb·z个母码码字比特;去除母码编码前添加的x个零比特,得到缩短码编码器编码后数据;输出缩短码码字到删除码字比特装置;一个码率比较器,如果码率R≤R0,缩短码字将送到重复码字比特装置;如果码率R>Rb,缩短码字将送到删除码字比特装置;一个添加零比特装置,用于在缩短码码字之后或者之前添加y=N-K-mb个零比特,最终得到N个码字比特;输出这N个码字比特;一个删除码字比特装置,在保证删除码性能的条件下,选择y=mb×z-N+K个最佳删除位置,删除这些位置上缩短码字的比特,最终得到N个码字比特并输出该N个码字比特。
全文摘要
本发明公开了一种支持任何码率/码长的低密度奇偶校验码编码方法和装置,用与实现信道编码。该装置包括扩展因子z计算器,用于计算扩展因子,再输出z值到缩短码编码器;一个缩短码编码器,用于得到缩短码编码器编码后数据,输出缩短码码字到删除码字比特装置;一个删除码字比特装置,用于输入缩短码码字;在保证删除码性能的条件下,选择并删除一定位置上缩短码字的比特;将删除后得到的码字输出。本发明实现了不同码率不同码长的LDPC码具有统一的编译码器,不同码率不同码长的LDPC码具有一个统一的基础矩阵。相对现有的方法,节省了硬件成本,提高了码本身的灵活性,码的适用范围将得到了很大扩展。
文档编号H03M13/00GK1953335SQ200610009138
公开日2007年4月25日 申请日期2006年2月13日 优先权日2005年10月21日
发明者徐俊, 胡留军, 赵盟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1