快速编码和解码方法及相关设备转让专利

申请号 : CN200780002780.1

文献号 : CN101371448B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J-B·道尔M-H·阿蒙P·贝纳赫

申请人 : 法国电信公司

摘要 :

本发明涉及一种对输入比特序列(S0)进行低延迟编码以生成编码比特序列(S)的方法和相应的解码方法,该编码方法包括:第一编码步骤(E1),其利用第一代码而被应用于所述输入比特序列(S0)中的比特;交织步骤(E3),其中交织器对利用所述第一代码而获得的比特进行交织;和第二奇偶编码步骤(E4),其利用第二代码而被应用于从所述交织器获得的比特以生成所述编码比特序列S。所述方法的特征在于,所述第二奇偶编码步骤(E4)在预定数量Δ的比特已经被交织之后开始,所述预定数量Δ的比特是在取决于所述交织步骤(E3)的一个或多个参数的第一低数量Δi的比特与对应于要在所述交织步骤(E3)期间处理的总比特数量的第一高数量Δs的比特之间。

权利要求 :

1.一种对输入比特序列(S0)编码以生成编码比特序列(S)的方法,所述方法包括:

-第一编码步骤(E1),其利用第一代码而被应用于所述输入比特序列(S0)中的比特;

-交织步骤(E3),其中交织装置(33)对利用所述第一代码而获得的比特进行交织;和-第二编码步骤(E4),称作奇偶步骤,其利用第二代码而被应用于从所述交织装置(33)获得的比特以生成所述编码比特序列S,所述方法的特征在于,所述第二奇偶编码步骤(E4)在预定数量Δ的比特已经被交织之后开始,而不必等待所述交织步骤(E3)的结束,所述预定数量Δ的比特是在取决于所述交织步骤(E3)的一个或多个参数的第一低数量Δi的比特与对应于要在所述交织步骤(E3)期间处理的总比特数量的第一高数量Δs的比特之间。

2.根据权利要求1的编码方法,其特征在于,所述第二奇偶编码步骤(E4)在预定数量Δ’的比特已经通过所述第一编码步骤(E1)而被编码之后开始,所述预定数量Δ’的比特是在取决于所述交织步骤(E3)的一个或多个参数的第二低数量Δi’的比特与对应于要在所述第一编码步骤(E1)期间处理的总比特数量的第二高数量Δs’的比特之间。

3.根据权利要求1的编码方法,其特征在于,所述交织步骤(E3)是与所述第二奇偶编码步骤(E4)相结合地被执行的。

4.根据权利要求1的编码方法,其特征在于,所述交织步骤(E3)包括比特级的第一交织功能π,该第一交织功能将利用所述第一代码而获得的第i个比特关联于交织比特序列(B2)中的第π(i)个比特,以使得对前k个比特的交织至少提供所述交织比特序列(B2)中的前m个比特。

5.根据权利要求4的编码方法,其特征在于,所述交织步骤(E3)和所述第二奇偶编码步骤(E4)是借助于包括多个单位子矩阵的如下形式的准循环奇偶校验矩阵V来执行的:以使得对于1至m1中的任何i以及1至m2中的任何j,如果系数c(i,j)严格地为负,则子矩阵I[c(i,j)]为零矩阵,否则所述子矩阵I[c(i,j)]是循环排列c(i,j)位置的单位矩阵。

6.根据权利要求4的编码方法,其特征在于,所述交织步骤(E3)包括第二交织功能λ,该第二交织功能将利用所述第一代码而获得的m1个比特的包(P1、P2、P3、P4、P5)的第一集合关联于所述交织比特序列(B2)中J个比特的包(P10、P20、P30、P40、P50、P60)的第二集合,以使得属于所述交织比特序列(B2)的同一个J个比特的包(P30)中的比特时来自m1个比特的包(P1、P2、P3、P4、P5)的所述第一集合中的不同的包。

7.根据权利要求5的编码方法,其特征在于,所述奇偶校验矩阵V的同一行的正系数c(i,j)是不同的。

8.根据权利要求2或5的编码方法,其特征在于,确定比特的数量Δ和Δ’的所述参数随所述奇偶校验矩阵V的正系数c(i,j)的变化而变化。

9.根据权利要求1的编码方法,其特征在于,所述第一编码步骤(E1)的所述第一代码是由第一多个独立码组成的。

10.根据权利要求1的编码方法,其特征在于,包括第三编码步骤(E6),该第三编码步骤利用第三代码而被应用于从所述第二奇偶编码步骤(E4)获得的比特,以使得所述第三编码步骤(E6)开始于对从所述第二奇偶解码步骤(E4)获得的一个或多个比特进行编码。

11.根据权利要求10的编码方法,其特征在于,所述第三编码步骤(E6)的所述第三代码是由第二多个独立码组成的。

12.一种对接收数字信号进行解码的方法,所述接收数字信号包括由对应于要发送的信息的第一部分D和包括冗余数据的第二部分C组成的数据序列,所述方法的特征在于,包括:-第一解码步骤(E100),其被应用于所述第一部分D的数据;

-交织步骤(E)300,其中交织装置(43)对从所述第一解码步骤(E100)获得的数据进行交织;和-第二解码步骤,称作奇偶步骤,其被应用于从所述交织装置(43)获得的数据,所述方法的特征在于,所述第二奇偶解码步骤(400)在预定数量Δ的数据项已经被交织之后开始,而不必等待所述交织步骤(E300)的结束,所述预定数量Δ的数据项是在取决于所述交织步骤((E300)的一个或多个参数的第一低数量Δi的数据项与对应于要在所述交织步骤(E300)期间处理的总数据项数量的第一高数量Δs的数据项之间。

13.根据权利要求12的解码方法,其特征在于,所述第二奇偶解码步骤(E400)在预定数量Δ’的数据项已经在所述第一解码步骤(E100)中被解码之后开始,所述预定数量Δ’的数据项是在取决于所述交织步骤(E300)的一个或多个参数的第二低数量Δi’的数据项与对应于要在所述第一解码步骤(E100)期间处理的总数据项数量的第二高数量Δs’的数据项之间。

14.根据权利要求12或13的解码方法,其特征在于,包括用于对从所述第二奇偶解码步骤(E400)获得的数据进行解码的第三解码步骤(600),所述第三解码步骤(600)开始于对从所述第二奇偶解码步骤(E400)获得的一个或多个数据项进行解码。

15.根据权利要求12的解码方法,其特征在于,所述交织步骤(E300)是与所述第二奇偶解码步骤(E400)相结合地被执行的。

16.根据权利要求15的解码方法,其特征在于,所述交织步骤(E300)和所述第二解码步骤(E400)是借助于如下形式的包括多个单位子矩阵的准循环奇偶校验矩阵V来执行的:以使得对于1至m1中的任何i以及1至m2中的任何j,如果系数c(i,j)严格地为负,则子矩阵I[c(i,j)]为零矩阵,否则所述子矩阵I[c(i,j)]是循环排列c(i,j)位置的单位矩阵。

17.根据权利要求16的解码方法,其特征在于,所述奇偶校验矩阵V的同一列的正系数c(i,j)是不同的。

18.根据权利要求16或17的解码方法,其特征在于,确定数据项的数量Δ和Δ’的所述参数随着所述奇偶校验矩阵V的正系数c(i,j)的变化而变化。

19.一种用于对输入比特序列(S0)编码以生成编码比特序列(S)的设备,所述设备包括:

-第一编码装置(30),用于利用第一代码对所述输入比特序列S0中的比特进行编码;

-交织装置(33),用于对从所述第一编码装置(30)获得的比特进行交织;和

-第二编码装置(32),称作奇偶装置,用于利用第二代码对从所述交织装置(33)获得的比特进行编码以生成所述编码比特序列(S),所述设备的特征在于,所述交织装置(33)使得所述第二奇偶编码装置(32)能够在预定数量Δ的比特已经被交织之后开始所述编码比特序列(S),而不必等待交织的结束,所述预定数量Δ的比特是在取决于该交织装置(33)的一个或多个参数的第一低数量Δi的比特与对应于要由该交织装置(33)处理的总比特数量的第一高数量Δs的比特之间。

20.一种用于对接收数字信号解码的设备,所述接收数字信号包括由对应于要发送的信息的第一部分D和包括冗余数据的第二部分C组成的数据序列,所述设备包括:-第一解码装置(40),用于对所述第一部分D的数据项进行解码;

-交织装置(43),用于对从所述第一编码装置获得的比特进行交织;和

-第二解码装置(42),称作奇偶装置,用于对从所述交织装置(43)获得的比特进行解码,

所述设备的特征在于,所述交织装置(43)使得所述第二奇偶解码装置(42)能够在预定数量Δ的数据项已经被交织之后开始奇偶解码,而不必等待交织的结束,所述预定数量Δ的数据项是在取决于所述交织装置(43)的一个或多个参数的第一低数量Δi的数据项与对应于要由所述交织装置(43)处理的总数据项数量的第一高数量Δs的数据项之间。

说明书 :

快速编码和解码方法及相关设备

技术领域

[0001] 本发明涉及数字通信的领域,具体地涉及利用例如LDPC(低密度奇偶校验)码的高比特率编码和解码方法以及关联的编码和解码设备。

背景技术

[0002] 目前,性能最高的数字通信系统是基于这样的系统:其中要发送的数据由非常高性能的信道编码来保护并且通过加权输出解码器来迭代地解码。信道编码或纠错编码通过利用给定法则将冗余比特插入要发送的消息中而改进了传输质量。
[0003] 在数字传输领域中,特别是当传输信道是无线信道时,这些纠错码的主要功能是消除所发送消息中由于传输信道而造成的模糊度。知道传输中使用的编码法则的信道解码器检验在接收时是否仍符合该法则。如果不是,则它检测到出现了传输差错。
[0004] 由于这些编码而实现的性能改进可以被用于减小终端的功率消耗或者增加被发送的信息量。
[0005] 近来,已经在利用LDPC纠错码的信道编码的领域中进行了大量的研究。
[0006] 当前,标准化组织提议了这些代码,例如在标准化用于以非常高的比特率工作的将来的无线接入网络(WLAN)的IEEE 802.11n通信协议的范围内,或在标准化IEEE802.16e(WiMAX移动)协议的范围内。
[0007] 文件US 20050216819描述了一种用于编码和解码通过外部编码、交织、奇偶校验和内部编码的串行级联而生成的串行turbo类(turbo-like)码的方法和设备。
[0008] 由Keith M.Chugg等人所著的文件“A New Class of Turbo-like Codewith Universally Good Performance and High-Speed Decoding”(IEEEMilcom 2005,2005年10月)描述了称作S-SCP(系统的串行级联奇偶,systematic and serial concatenated parity)码以及特别是F-LDPC(灵活的LDPC)码的一组新的代码,奇偶校验矩阵H针对这些代码可以写成如下形式:
[0009] (1)
[0010] 其中按照由K.Chugg等人所著的IEEE 802.11-04/0953r4标准化文件(802.11工作组N,2004年9月),I是单位矩阵,G和S是两对角线矩阵,以及V是三个矩阵的乘积。这个矩阵V的形式对编码和解码比特率施加了限制。
[0011] 图1A和1B分别示出了现有技术编码器10和现有技术解码器20的结构。在图1A中,编码器10包括外部编码器3、交织器5、串行-并行转换器7、奇偶编码器9和内部编码器11。由这个编码器10生成的代码是将由外部编码器3、奇偶编码器9和内部编码器11连续生成的代码串行级联的结果。
[0012] 根据这个结构,输入比特序列De首先被外部编码器3完全地编码,然后被交织器5交织以形成交织的数据序列Di。串行-并行转换器7平行放置交织的数据序列Di。奇偶编码器9然后通过对提取自串行-并行转换器7的输出的J个比特进行模2相加来执行奇偶计算。奇偶编码器9输出处的数据序列然后被内部编码器11编码。
[0013] 图1B示出了解码器20的结构,其包括外部解码器15、交织器/去交织器17、奇偶解码器19和内部解码器21。
[0014] 解码器20对柔性(flexible)数据迭代地解码。与代码的系统部分相对应的柔性数据被外部解码器15使用以获得非本征信息I1,该非本征信息然后被交织器17交织以生成可以由奇偶解码器19使用的信息I2,该奇偶解码器计算新的非本征信息I3。在这个信息I3和与代码的冗余部分相对应的柔性数据I4的基础上,内部解码器21计算消息I5,该消息I5然后被奇偶解码器19解码以形成被发送给去交织器17的消息I6。由去交织器17对消息I6去交织以生成消息I7完成了编码过程的迭代。
[0015] 编码器10(或解码器20)的主要缺陷在于由于其串行类型的结构而引入的延迟,该延迟造成对编码(或解码)比特率的限制。
[0016] 图2A和2B分别示出了对由编码器10和解码器20分别执行的编码过程和解码过程的各个步骤的调度。
[0017] 在根据串行级联码的编码的典型情况中,编码设备10的每个编码器,即外部编码器3、奇偶编码器9或内部编码器11,只要在前的编码器已经完成其任务就被激活。
[0018] 图2A概略地示出了构成由编码器10执行的编码过程的任务(纵坐标)在时间上(横坐标)的调度,这些任务由图1A所示的外部编码器3、奇偶编码器9和内部编码器11来连续地执行。
[0019] 按照这种调度,第一编码步骤E10由外部编码器3在时间段T10内执行。当步骤E10已经完全地被完成时,奇偶编码器9在时间段T30内执行计算步骤E30。当步骤E30被完成时,跟着是由内部编码器11在时间段T50内执行的编码步骤E50。对编码器10的输入处的比特序列的编码所需要的时间因而等于T10+T30+T50之和。这种调度任务的方式因而限制了编码器10的编码比特率。
[0020] 图2B示出了由图1B所示的解码器20在该过程的一次迭代期间执行的解码任务(纵坐标)在时间上(横坐标)的分布。
[0021] 按照图2B,外部解码器15在时间段T70内执行解码步骤E70。当步骤E70已经完成时,奇偶解码器19在时间段T90内执行计算步骤E90。一旦步骤E70完成,内部解码器21就在时间段T110内执行步骤E110。奇偶解码器19然后在时间段T130内执行步骤E130。因此,解码过程的一次迭代的持续时间T等于上述每个步骤E70、E90、E110、E130的持续时间之和,即T=T70+T90+T110+T130。
[0022] 上述编码和解码过程的比特率由于构成编码和解码过程的不同任务的调度类型而是受限的。
[0023] 此外,编码器10和解码器20的硬件资源在每个处理功能在编码器10或解码器20中没有被连续使用的意义上没有被最佳地使用。

发明内容

[0024] 本发明的主要目的是通过为具有编码和解码特性的编码和解码方法提供一种非常快速且与现有技术方法相比没有大量性能损失的数据序列而消除上述缺陷。
[0025] 通过一种对输入比特序列S0编码以生成编码比特序列S的方法而达到该目的,该方法包括下列步骤:
[0026] -第一编码步骤,利用第一代码而被应用于输入比特序列S0的比特;
[0027] -交织步骤,其中交织装置对利用所述第一代码而获得的比特进行交织;和[0028] -第二编码步骤,称作奇偶步骤,其利用第二代码而被应用于从所述交织装置获得的比特以生成编码比特序列S以便该第二奇偶编码步骤在预定数量Δ的比特之后开始。这个预定数量Δ的比特是在取决于交织步骤的一个或多个参数的第一低数量Δi的比特与对应于要在交织步骤期间处理的总比特数的第一高数量Δs的比特之间。
[0029] 在这种编码方法中,第二奇偶编码步骤的开始可以不必等待交织步骤的结束,该第二编码步骤与该交织步骤并行执行并且具有Δ个比特的相对偏移。
[0030] 这个方法因而并行安排奇偶编码和交织步骤而不必重复所有功能以及与有关这些步骤的任务的处理相关联的存储,这与其中这些任务被顺序调度的结构相反。
[0031] 这个方法因而减小了编码方法的复杂度,实现了超过或等同于现有技术方法的性能。
[0032] 根据本发明的另一特征,第二奇偶编码步骤在预定数量Δ’的比特已经通过第一编码步骤而被编码之后开始。这个预定数量Δ’的比特是在取决于交织步骤的一个或多个参数的第二低数量Δi’的比特与对应于要在第一编码步骤期间处理的总比特数量的第二高数量Δs’的比特之间。
[0033] 因此,在这个编码方法中,第二奇偶编码步骤的开始可以不必等待交织步骤的结束,第二编码步骤与第一编码步骤并行执行并且具有Δ’个比特的偏移。
[0034] 在第一编码步骤的开始与交织步骤的开始之间的偏移可以被调整,并且最小偏移是1比特的偏移(Δ’-Δ≥1)。
[0035] 交织步骤可以有利地与第二奇偶编码步骤相结合地被执行。
[0036] 根据本发明的另一特征,交织步骤包括第一比特级交织功能π,该功能将利用第一代码获得的第i个比特关联于交织比特序列的第π(i)个比特,以使得对前K个比特的交织至少提供所述交织比特序列中的前m个比特。
[0037] 这个特征因此使得第二奇偶编码步骤的开始能够不必等待交织步骤的结束。
[0038] 根据本发明的另一特征,交织步骤和第二奇偶编码步骤是借助于如下形式的包括多个单位子矩阵的准循环奇偶校验矩阵V来执行的:
[0039]
[0040] 以使得对于1至m1中的任何i以及1至m2中的任何j,如果系数c(i,j)严格地为负,则子矩阵I[c(i,j)]为零矩阵,否则所述子矩阵I[c(i,j)]是循环排列c(i,j)位置的单位矩阵。
[0041] 奇偶校验矩阵V的准循环形式使之能够并行安排交织步骤和第二奇偶编码步骤,它们在这里是相结合地被执行的。
[0042] 根据本发明的另一特征,交织步骤包括第二交织功能,用于将利用第一代码所获得的m1个比特包的第一集合关联于交织比特序列的J个比特包的第二集合,以使得属于交织比特序列的同一J个比特包的比特来自m1个比特包的第一集合的不同包。
[0043] 这个包级的交织防止在奇偶编码步骤期间同时访问相同的存储空间。这种类型的交织因而通过最小化与存储器访问冲突有关的延迟而增加了编码比特率。
[0044] 根据本发明的一个特征,奇偶校验矩阵V的相同行的正系数c(i,j)是不同的。
[0045] 为了防止存储器访问冲突,在包含于矩阵V中的同一奇偶等式中所涉及的比特不是来自相同的存储区域是有必要的。这个条件通过下面的针对矩阵V的正系数的数学关系式来说明:
[0046] 和 对于j≠k。
[0047] 换言之,这个条件保证对同一存储器的两个同时访问是不可能的,由此通过减少与存储器访问冲突有关的延迟而增加了编码比特率。
[0048] 根据本发明的一个特征,确定比特数量Δ和Δ’的所述参数随着所述奇偶校验矩阵V的正系数c(i,j)的变化而变化。
[0049] 根据本发明的另一特征,第一编码步骤的第一代码是由第一多个独立码而组成的。
[0050] 第一代码因而可以本身被平行安排,这进一步增加了第一编码步骤中的编码比特率。
[0051] 根据本发明的另一特征,该编码方法包括利用第三代码的第三编码步骤,其应用于从第二奇偶编码步骤获得的比特,以使得第三编码步骤开始于对从第二奇偶解码步骤获得的一个或多个比特进行编码。
[0052] 所述第三编码步骤的第三代码因而可以被选择成使得其与例如第一编码步骤的第一代码相比具有附加的特性,以增加通过级联第一、第二和第三代码而形成的代码的校正能力。
[0053] 所述第三编码步骤的第三代码有利地由第二多个独立码而组成。
[0054] 所述第三代码因而可以本身被平行安排,这进一步增加了第三编码步骤中的编码比特率。
[0055] 本发明也涉及一种解码数字接收信号的方法,所述数字接收信号包括由对应于要发送的信息的第一部分和包括冗余数据的第二部分所构成的数据序列,该方法包括:
[0056] -第一解码步骤,应用于所述第一部分的数据;
[0057] -交织步骤,其中交织装置对从第一解码步骤中获得的数据进行交织;
[0058] 和
[0059] -第二解码步骤,称作奇偶步骤,应用于从交织装置获得的数据。
[0060] 所述第二奇偶解码步骤有利地在预定数量Δ的数据项已经被交织之后开始。这个预定数量Δ的数据项是在取决于交织步骤的一个或多个参数的第一低数量Δi的数据项与对应于要在交织步骤期间处理的总数据项数量的第一高数量Δs的数据项之间。
[0061] 这个方法因而并行安排了奇偶编码和交织步骤而不必重复所有的功能和与有关那些步骤的任务的处理相关联的存储器。
[0062] 根据本发明的另一特征,第二奇偶解码步骤在预定数量Δ’的数据项已经在第一解码步骤中被解码之后开始。这个预定数量Δ’的数据项是在取决于交织步骤的一个或多个参数的第二低数量Δi’的数据项与对应于要在第一解码步骤期间处理的总数据项数量的第二高数量Δs’的数据项之间。
[0063] 根据本发明的另一特征,所述解码方法包括对从第二奇偶解码步骤获得的数据解码的第三解码步骤,该第三解码步骤开始于对从第二奇偶解码步骤获得的一个或多个数据项解码。
[0064] 根据本发明的另一特征,交织步骤与第二奇偶解码步骤相结合地被执行。
[0065] 根据本发明的另一特征,交织步骤和第二解码步骤是借助于以下形式的包括多个单位子矩阵的准循环奇偶校验矩阵V来执行的:
[0066]
[0067] 以使得对于1至m1中的任何i以及1至m2中的任何j,如果系数c(i,j)严格地为负,则子矩阵I[c(i,j)]为零矩阵,否则所述子矩阵I[c(i,j)]是循环排列c(i,j)位置的单位矩阵。
[0068] 根据本发明的另一特征,奇偶校验矩阵V的同一列的正系数c(i,j)是不同的。
[0069] 为了防止会产生延迟并且导致解码比特率降低的存储器访问冲突,在矩阵V中所包含的一组m2个奇偶等式中一个变量不会出现多于一次是有必要的,这通过下面的数学等关系式针对矩阵V的正系数来说明:
[0070] 和
[0071] 根据本发明的另一特征,确定数据项的数量Δ和Δ’的参数是随着奇偶校验矩阵V的正系数c(i,j)的变化而变化的。
[0072] 本发明还涉及一种用于编码输入比特序列S0以生成编码比特序列S的设备,包括:
[0073] -第一编码装置,用于利用第一代码编码输入比特序列S0中的比特;
[0074] -交织装置,用于对从所述第一编码装置获得的比特进行交织;和
[0075] -第二编码装置,称作奇偶装置,用于利用第二代码对从所述交织装置获得的比特编码以生成编码比特序列S。
[0076] 所述交织装置有利地使得第二奇偶编码装置能够在预定数量Δ的比特已经被交织之后开始编码比特序列S。这个预定数量Δ的比特是在取决于该交织装置的一个或多个参数的第一低数量Δi的比特与对应于要由该交织装置处理的总比特数量的第一高数量Δs的比特之间。
[0077] 所述编码设备特别地能够实现上述编码方法。
[0078] 本发明还涉及一种用于解码包括数据序列的接收数字信号的设备,所述数据序列由与要发送的信息对应的第一部分和包括冗余数据的第二部分构成。这个设备包括:
[0079] -第一解码装置,用于解码所述第一部分的数据项;
[0080] -交织装置,用于对从所述第一编码装置获得的比特进行交织;和
[0081] -第二解码装置,称作奇偶装置,用于对从所述交织装置获得的比特进行解码。
[0082] 所述交织装置使得第二奇偶解码装置能够在预定数量Δ的数据项已经被交织之后开始奇偶解码。这个预定数量Δ的数据项是在取决于交织步骤的一个或多个参数的第一低数量Δi的数据项与对应于要由该交织装置处理的总数据项数的第一高数量Δs的数据项之间。
[0083] 所述解码设备特别地能够执行上述解码方法。
[0084] 本发明还涉及一种计算机程序产品,该计算机程序产品可以从通信网络下载和/或被存储在计算机可读介质上和/或由微处理器执行,该计算机程序产品包括当在计算机上执行时用于执行上述编码方法的步骤的程序代码指令。
[0085] 本发明还涉及一种计算机程序产品,该计算机程序产品可以从通信网络下载和/或被存储在计算机可读介质上和/或由微处理器执行,该计算机程序产品包括当在计算机上执行时用于执行上述解码方法的步骤的程序代码指令。

附图说明

[0086] 参考示出了本发明的一个非限制性实施例的附图,通过阅读下面的描述,本发明的其他特征和优点将变得明显,其中:
[0087] -上面已经描述的图1A和1B分别示出了现有技术编码器和现有技术解码器;
[0088] -上面已经描述的图2A和2B分别示出了现有技术编码和解码步骤的调度;
[0089] -图3示出了本发明的编码步骤的调度;
[0090] -图4和7分别示出了本发明一个实施例的编码和解码步骤的调度;
[0091] -图5A和5B分别示出了根据本发明的比特级和包级的交织;
[0092] -图6和8分别示出了本发明的编码设备和本发明的解码设备;和
[0093] -图9示出了利用本发明的编码和/或解码设备的数据处理系统。

具体实施方式

[0094] 图3示出了本发明的用于编码输入比特序列S0以生成编码比特序列S的编码方法的步骤(纵坐标)在时间上(横坐标)的调度。
[0095] 这个方法包括应用于输入比特序列S0中的比特的、利用第一代码的第一编码步骤E1。由这个第一编码步骤生成的比特由交织装置33(见图6)在交织步骤E3期间交织。
[0096] 来自交织装置33的比特在称作奇偶步骤的第二编码步骤E4中利用第二代码而被编码以生成编码比特序列S。
[0097] 第二奇偶编码步骤E4有利地在交织预定数量Δ的比特之后开始。这个预定数量Δ的比特是在取决于交织步骤E3的一个或多个参数的第一低数量Δi的比特与对应于要在交织步骤E3期间处理的总比特数量的第一高数量Δs的比特之间。
[0098] 图4作为实例示出了构成本发明编码方法的一个实施例的各个步骤(纵坐标)在时间上(横坐标)的交织。
[0099] 这个编码方法包括编码输入比特序列S0以生成编码比特序列S’的下列步骤。
[0100] 第一编码步骤E1(外部编码)由第一编码装置30(外部编码器30)利用外部代码奇偶校验矩阵G1所定义的第一代码(外部代码)应用于输入比特序列S0中的比特。
[0101] 在交织步骤E3中,交织装置33(“交织器”33)对来自外部代码的比特进行比特级和包级的交织。
[0102] 来自交织器33的比特由第二奇偶编码装置32(奇偶编码器32)在第二奇偶编码步骤E4期间、利用奇偶代码的奇偶校验矩阵V中定义的奇偶代码来编码。
[0103] 第二(内部)编码步骤E6利用内部代码的奇偶校验矩阵G2所定义的代码而被应用于来自奇偶编码器32的比特以形成编码比特序列S’。
[0104] 奇偶编码步骤E4有利地在与预定数量Δ的比特成比例的时间之后开始,即在交织前Δ个比特之后。这个预定的数量Δ是在第一低数量Δi的比特与对应于要在交织步骤E3期间处理的总比特数量的第一高数量Δs的比特之间。奇偶编码步骤E4因此与交织步骤E3并行执行并且具有Δ个比特的偏移。
[0105] 交织步骤E3开始,并且与外部编码步骤E1并行执行且具有至少一个比特(Δ’-Δ≥1)的偏移。以相同的方式,内部编码步骤E6开始,并且与奇偶编码步骤E4并行执行且具有至少一个比特的偏移。
[0106] 在优选实施例中,正讨论的代码是从如下形式的奇偶校验矩阵H中构造的LDPC(低密度奇偶校验)码:
[0107] (2)
[0108] 其中:
[0109] ◆G1是与外部编码器30(见图6)相关联的外部代码奇偶校验矩阵;
[0110] ◆V是包括奇偶码和交织功能的代码的奇偶校验矩阵;和
[0111] ◆G2是与内部编码器34(见图6)相关联的内部代码奇偶校验矩阵。
[0112] 外部代码是在矩阵G1的基础上定义的,该矩阵G1是如下形式的K×K方阵:
[0113] (3)
[0114] 其中I是z×z单位矩阵,并且Ip是向右或向左循环排列p位置的z×z单位矩阵。
[0115] 可选地可以通过设置数值“p”来并行安排外部编码/解码步骤,以使得外部代码由多个独立码组成,这因而增加了(外部编码/解码级别上的)编码/解码速度。
[0116] 在这个例子中,如果p=0,则外部代码由“z”个独立码组成。否则(即如果p≠0),则外部代码由“z/b”个独立码组成,其中b是最小的非零正整数以使得:
[0117] (b.p)modulo z=0 (4)[0118] 例如,外部代码可以由并行运行的多个独立循环卷积码组成,这因而增加了编码比特率。
[0119] 内部代码是在矩阵G2的基础上被定义的,该矩阵G2是如下形式的M×M方阵:
[0120] (5)
[0121] 其中,I是z×z单位矩阵,并且Ie是向右或向左非循环排列“e”位置的z×z单位矩阵。
[0122] 与外部编码相同,可选地可以通过设置数值“e”来并行安排内部编码步骤以使得内部编码由多个独立码组成,这因而增加了内部编码级别的编码速度。
[0123] 在这个例子中,如果e=0,则内部代码由“z”个独立码组成。否则(即如果e≠0),外部代码由等于数目“e”的若干独立码组成。
[0124] 例如,内部代码可以由并行运行的多个独立递归循环卷积码组成,这因而增加了编码比特率。
[0125] 矩阵V是准循环M×K矩阵,其包括多个零矩阵和/或循环排列的单位矩阵,矩阵V由下式定义:
[0126] (6)
[0127] 其中:
[0128] ◆m1是严格的正整数以使得:
[0129] K=m1×z (7)
[0130] ◆m2是严格的正整数以使得:
[0131] M=m2×z (8)
[0132] ◆I[c(i,j)]或者是z×z零矩阵,或者是z×z循环排列的单位矩阵;如果c(i,j)<0,则I[c(i,j)]是零矩阵;否则I[c(i,j)]是向右或向左循环排列c(i,j)位置的单位矩阵。
[0133] 如上所述的矩阵V的形式包括根据本发明的比特级及包级的交织和奇偶代码。
[0134] 图5A和5B分别示出了按照第一功能π的比特级的交织和按照第二功能λ的包级交织。
[0135] 在图5A中,外部编码器输出处的属于第一比特块B1的比特利用第一交织功能π而被交织以形成第二交织比特块B2。
[0136] 这个第一交织功能π将属于第一比特块B1的索引为“i”的任何比特关联于交织比特块B2的索引为π(i)的比特,以使得对第一比特块B1的前k个比特的交织至少提供第二交织比特块B2的前m个比特。因此,在这个例子中,要处理的第一比特块B1的索引为k+1的下一个比特是在第二交织比特块B2中的索引为π(k+1)的位置,以使得π(k+1)>m。
[0137] 因此,如果奇偶编码是通过J=m个比特的块来执行的,则这个交织功能意味着对来自交织装置33的前J个比特的编码的开始可以不必等待交织步骤E3的结束。与上面提到的现有技术相反,不必等待外部编码器输出处的所有比特都被交织装置33交织从而能够开始奇偶编码步骤E4。
[0138] 在图5B中,外部编码器30输出处的属于第一比特块B1的比特利用第二交织功能λ而被交织,该第二交织功能将属于第一比特块B1的m1个比特的包(P1、P2、P3、P4、P5)的第一集合关联于J个交织比特的包(P10、P20、P30、P40、P50、P60)的第二集合,以使得属于同一个J个交织比特的包P30的比特都来自属于m1个比特的包(P1、P2、P3、P4、P5)的第一集合中的不同的包。在图5B的例子中,包P30是由来自五个不同包(P1、P2、P3、P4、P5)的五个比特(b1、b2、b3、b4、b5)组成的。
[0139] 在优选的实施例中,如上所述的矩阵的形式实现了分别根据第一功能π和第二功能λ的比特级和包级的交织。因此,属于有J个交织比特的第i个包的索引为π(i)的-1每个比特都关联于属于有m1个比特的第λ (i,1)个包的第i个比特。
[0140] 在本发明的编码(或解码)方法中,奇偶编码(或解码)步骤和外部编码(或解码)步骤的并行安排的参数是由与预定数量的比特相对应的预定矩阵Δ来确定的。
[0141] 这个数量Δ的值是根据矩阵V的严格正系数c(i,j)以下面的形式来计算的:
[0142] ◆令Φ≡{ci}是矩阵V的正非零系数c(i,j)的以增长顺序的集合。令“d”是用于计算两个位置x和y之间的距离的函数,其中x≥y,其由d(x,y)=(x-y)限定。数量Δ的值因而利用下面的关系式来计算:
[0143] Δ=Max(Δ1,c0+z-ccard(Φ)-1) (9)[0144] 其中:
[0145] ◆card(Φ)表示集合Φ的元素数量;
[0146] ◆c0是奇偶校验矩阵V的最小正非零系数c(i,j);
[0147] ◆z是奇偶校验矩阵V中所包含的单位子矩阵的维数;和
[0148] ◆Δ1是属于集合Φ的任何两个相邻元素(ci和ci+1)之间的最大距离,该距离是由下面的关系式来定义的:
[0149] Δ1=Max({d(ci+1,ci)}i∈[0,card(φ)-1]) (10)[0150] 图6示出了本发明的编码设备100的一个实施例,其包括第一(外部)编码器30(第一编码装置)、包括交织器33(交织装置)的奇偶编码器32(第二编码装置)、内部编码器34(第三编码装置)、在外部编码器30与奇偶编码器32之间的第一存储装置36,以及在奇偶编码器32与内部编码器34之间的第二存储装置38。
[0151] 注意,在一个不同的实施例中,交织器33和奇偶编码器32可以是分离的。
[0152] 第一存储器36包括“z”个第一存储器组(ME1至MEz)的第一集合,该第一存储器组中的每个都具有m1比特的存储容量。
[0153] 第二存储器38包括至少两个第二存储器组(MI1和MI2),每个都具有m2比特的存储容量。
[0154] 比特输入块B0被本发明的编码设备100编码以生成编码比特序列S。
[0155] 外部编码器30开始编码输入比特块B0以在外部编码器30的输出处生成第一比特,该第一比特以自然顺序且以m1个比特的包而被直接存储在存储器36的第一存储器组(ME1至MEz)中。
[0156] 在与预定数量Δ成比例的时间之后,奇偶编码器32读取存储器组(ME1至MEz)的第一集合的子集的每个存储器组中的比特,并且根据矩阵V中定义的奇偶法则(矩阵V的每行定义了奇偶等式)、通过模2加法运算与这些比特相加。
[0157] 例如,奇偶编码器32可以处理包含在矩阵V的m2行中的m2个奇偶等式以在奇偶编码器32的输出处生成m2个比特。那些m2个比特被直接存储在存储器38的存储器组(MI1和MI2)的第二集合的存储器组MI1中。
[0158] 一旦m2个比特已经在奇偶编码器32的输出处被写入存储器组(MI1,MI2),内部编码器34就读取这m2个比特,其可以利用包含于内部代码奇偶校验矩阵G2中的内部代码来开始准瞬时地编码。
[0159] 假定内部编码操作是对m2个比特执行的并且正好在将m2个比特写入第二存储器组(该例子中是MI1)之后,为实现对硬件资源的最佳使用,第二存储器38仅包含两个存储器组(MI1和MI2)就足够了,这两个存储器组中的每个以写模式或读模式而交替运行。
[0160] 在实际中,为了使得内部编码器能够与奇偶编码器并行地开始其任务,奇偶编码器处理一个比特就足够了。
[0161] 图7非常概略地示出了构成解码方法的一个特定实施例的各个步骤(纵坐标)在时间上(横坐标)的调度。
[0162] 这个解码方法解码接收数字信号,该信号包括由对应于要发送的信息的第一部分D和包含冗余数据的第二部分C构成的数据序列。
[0163] 在这个方法中,第一(外部)解码步骤E100被应用于来自第一部分D的数据。由交织装置43(交织器43)执行的交织步骤E300对来自第一(外部)解码步骤E100的数据进行交织。第二奇偶解码步骤E400被应用于来自交织器43的数据。第三(内部)解码步骤E600被应用于来自奇偶解码步骤E400的数据。
[0164] 奇偶解码步骤E400有利地在交织预定数量Δ的数据比特之后开始。这个预定数量Δ的数据比特是在取决于交织步骤E300的一个或多个参数的第一低数量Δi的数据比特与对应于要在交织步骤E300期间处理的总数据比特数量的第一高数量Δs的数据比特之间。
[0165] 图8示出了本发明的用于解码接收数字信号的解码设备200的实施例,所述信号包括由对应于要发送的信息的第一部分D与包含冗余数据的第二部分C构成的数据序列。
[0166] 本发明的解码设备200包括外部解码器40(第一解码装置40)、包括交织器43(交织装置43)的奇偶解码器42(第二奇偶解码装置42)、内部解码器44(第二解码装置44)、在外部解码器40和内部解码器44输入处的第一存储模块46、在外部解码器40与奇偶解码器42之间的第二存储模块48,以及在奇偶编码器42和内部编码器44之间的第三存储模块50。
[0167] 注意,在一个不同的实施例中,交织器43和奇偶解码器42可以是分离的。
[0168] 交织器43使得奇偶解码器42能够在预定数量Δ的数据比特已经被交织之后开始奇偶解码步骤E400。这个预定数量Δ的数据比特是在取决于交织器43的一个或多个参数的第一低数量Δi的数据比特与对应于要由交织器43处理的总数据比特数量的第一高数量Δs的数据比特之间。
[0169] 用于存储包括“m1×z”个柔性值的接收数字信号的第一存储模块46包括“z”个第一存储器组(M1至Mz),每个都具有m1比特的存储容量。
[0170] 用于存储在外部解码器40与奇偶解码器42之间转移的数据的第二存储模块48包括“z”个第二存储器组(M1至Mz),每个都具有m1比特的存储容量。
[0171] 用于存储在奇偶解码器42与内部解码器44之间转移的数据的第三存储模块50包括“z”个第二存储器组(M1至Mz),每个都具有m2比特的存储容量。
[0172] 将存储器46、48、50分成多个不同的存储器组(M1至Mz)、(M1至Mz)、(M1至Mz)能够最小化或甚至消除对同一存储器的同时访问。
[0173] N个柔性值的帧被迭代地解码。注意,内部编码和外部编码的柔性解码可以利用用于解码柔性输出卷积码的标准技术来执行,例如Bahl-Cocke-Jelinek-Raviv算法,forward backward算法(FBA),或软输出Viterbi算法(SOVA),如由L.R.Bahl等人所著的文件中所描述的,该文件的标题是“Optimal Decoding of Linear Codes for MinimizingSymbol Error Rate”(IEEE Transactions on Information Theory,卷IT-20,248-287页,1974年3月)。
[0174] 这个方法的起始步骤在于以自然的顺序且以m1个柔性值的包将包含在接收信号中的N=m1×z个数据项存储在第一存储模块46的前“z”个存储器组(M1至Mz)中。
[0175] 换言之,接收信号的前m1个柔性值被存储在第一存储器组M1中,下一m1个柔性值被存储在下一个存储器组M1中,等等。
[0176] 所述方法对于每次迭代包括下列步骤。
[0177] 外部解码器40在索引为j的窗口上执行解码,该窗口包括属于第一存储模块46的存储器组Mj中所包含的m1个数据比特(或m1个柔性值),从而生成第一非本征数据,该第一非本征数据被存储在属于第二存储模块48的存储器组MEj中。
[0178] 在解码数目为Δ的窗口后,奇偶解码器42可以并行运行而不会与外部解码器40冲突。
[0179] 利用在外部编码器输出处提供的变量或数据、以m2个等式的组连续地对矩阵V中所定义的奇偶等式求解。在矩阵V的m2个奇偶等式中在解码窗口期间所使用的这些变量中的每一个的值是在不同的存储器组(M1至Mz)中被读取的。对于每个索引为i的窗口,第i组m2个等式中的m2个等式以下面的顺序被求解:i,i+z,i+2×z,...,i+m2×z(其中i在1至z之间)。
[0180] 解码第i组m2个等式的结果被存储在属于第三存储模块50的第i个存储器组MIi中。例如,对第2组m2个奇偶等式求解所产生的m2个数据比特被存储在第2个存储器组MI2中。
[0181] 直接在奇偶编码器已经求解了索引为i的窗口上的第一组m2个等式之后,内部解码器可以开始其在这个窗口上的解码任务。对索引为i的窗口解码所产生的非本征信息被存储在属于第三存储模块50的存储器组MIi中。
[0182] 在由内部解码器对Δ个窗口解码之后,矩阵V中定义的奇偶等式所涉及的变量被更新。
[0183] 为了防止在奇偶解码步骤期间访问同一存储器组的任何冲突,一个变量在一组m2个奇偶等式中不能出现多于一次。这个规则是指矩阵V的同一列的所有正系数c(i,j)是不同的这一条件。
[0184] 本发明还涉及一种可从通信网络下载的计算机程序,该计算机程序包括当在计算机上执行时用于执行本发明的编码和/或解码方法的步骤的程序代码指令。这个计算机程序可以被存储在计算机可读介质上。
[0185] 这个程序可以使用任何编程语言并且采取源代码、目标代码或源代码与目标代码之间的中间代码的形式,例如部分编译的形式,或任何其他期望的形式。
[0186] 本发明还涉及一种计算机可读信息介质,其包含上述计算机程序的指令。
[0187] 该信息介质可以是能够存储程序的任何实体或设备。例如,该介质可以包括存储装置,例如ROM,例如CD ROM或微电子电路ROM,或磁性存储装置,例如磁盘(软盘)或硬盘。
[0188] 此外,该信息介质可以是例如电或光信号的传输介质,其可以经由电缆或光缆、通过无线或其他方式而被发送。本发明的程序特别地可以在互联网型网络上下载。
[0189] 可选地,该信息介质可以是其中包含程序的集成电路,该电路适于执行正讨论的方法或在执行该方法时被使用。
[0190] 注意,所述编码设备可以通过数据处理系统F来实现,如图9所示,其传统上包括用信号B控制存储器62的中央处理单元60、输入单元64和输出单元66。所有这些单元都通过数据总线68而互连。
[0191] 此外,这个数据处理系统可以被用于执行包括用于执行本发明编码方法的指令的计算机程序。
[0192] 注意,所述解码设备也可以通过如图9所示的数据处理系统来实现。
[0193] 此外,该数据处理系统可以被用于执行包括用于执行本发明解码方法的指令的计算机程序。