专利名称:对码块片段单独进行编码的方法、编码器和通信设备的制作方法
技术领域:
本发明涉及前向纠错编码方案,且具体地可应用在需要可靠的数据传送来克服噪声或干扰引入的错误的通信系统中。
前向纠错(FEC)方案广泛地使用在通信系统中,来增加信息传送的可靠性。一些受欢迎的FEC码有卷积码、turbo(特播)码、里德-所罗门码、或者低密度奇偶校验码,例如从S.Lin,D.J.Costello Jr.,“Error Control CodingFundamentals and Applications”,Prentice-Hall 1983可知这些码。
通常,可以将前向纠错编码定义为用码符号序列来代替原始的信息符号序列的系统方案,如此,就通过适当设计的解码方案允许其再现。
通常主要区分是在块编码和卷积编码之间。在块编码中,将信息序列分割为固定长度的块。然后,使用分块码独立地对这些块中的每一个进行编码,其通常用编码多项式或编码矩阵表示。
与其相反,卷积码并不独立地处理每个码块,而是在连续块之间添加相关性。这样,当前的输出块不仅依赖于当前输入块的信息位,而且依赖于一个或多个先前输入块的信息位。
典型地,通过使用移位寄存器机制实现了卷积码。可以用状态迁移图或者格子结构(trellis)来以图形方式表示卷积码。
尽管理论上可能将相关性扩展到无限,但是在通信系统中,为卷积码定义块长度也是共同的做法。这使得可能具有如下码结构,其始于已知状态的每个块的开头,并结束于已知状态中的每个块的末端,通常被称为格子结构终止。这将使接收机中的解码方案更有效。
为了对将要传送的信息进行更好的保护,可同时采用几种编码方案。这意味着将信息序列编码几次,且编码器的输入上的信息序列相同。明显的图形表示使人想起电阻到电流的并行连接,因此经常将这样的途径称为并行编码方案。
在简单形式中,并行编码方案可包括例如卷积编码器的两个相同编码器。其它形式可使用两个不同的编码器,如卷积编码器和块编码器。
作为turbo编码而广泛知晓的普及的并行编码方案是例如可从HeegardChris;Wicker,Stephen B.,“Turbo coding”第4章,Kluwer Academic Publishers1999,ISBN 0-7923-8378-8中获得。图5中以示例形式图解的是现有技术中的turbo编码器的结构。典型地,采用了具有附加交织器的两个相同的卷积编码器。交织器用于对从第一编码器的输入到第二编码器的输入进行去相关。
数据源生成包括形成码块的k个信息位的信息字。所得码字包括三个元素系统字、第一奇偶校验字和第二奇偶校验字。系统字(长度k位)等同于将要传送的信息。采用递归系统编码器(RSC)生成第一奇偶校验信息。在第二编码器分支中,采用交织器来对两个编码器的输入序列进行去相关。两个编码器都使用生成多项式来定义编码算法。
US 2003/0041293 A1公开了一种交织符号序列的方法。为此,交织器执行块间和块内置换。即使将符号序列分段为块,这些块也只用于交织的目的,而不用于生成对其独立进行编码的块。
US 2002/0150167 A1公开了一种可在各种前向纠错码的任一种中工作的可配置编码器。在每个模式中,可以配置各种编码参数。
在现有技术中,已经提出了一些措施,如在传送信号中添加冗余或者分集(diversity),以便增加接收机对传送的数据进行正确解码的可能性。
本发明的目的是要有效地利用编码属性,并允许用简单而有效方法来增加对所传送的信息的保护,特别是在具有噪声或干扰引起的不可靠传送的无线通信系统中。
本发明提供了包括权利要求1的步骤的方法,并也针对对应地适配的编码器和通性设备。
作为本发明基础的一般思想是将形成码块的信息位序列划分为多个信息位子集,从而每个子集形成码块片段。随后,码块片段彼此分离,并使用至少一个编码方法对其独立进行编码。以这种方式,本发明以时间分集方式或者使用多个并行编码子分支对信息位序列进行编码。
为了实现时间分集,可能需要在对其进行编码之前至少缓冲完全码块或者一个或多个码块片段中的一部分。
优选地,使用不同的编码方法执行对码块片段或者码块的编码,这进一步增加了保护数据位时的有效性。
根据本发明的优选实施例,执行码块片段,分为相等长度的码块片段。这利于简单编码操作并增加了处理速度。
如果优选地用不同的交织模式在编码分支或子分支中执行交织信息位的步骤,则其进一步增加了该编码方法的性能。
根据本发明的又一个优选实施例,通过周期性地将输入位序列切换到一个子分支或者迁移(transition)/穿孔(puncturing)矢量或矩阵确定哪些位向前到哪些子分支或消除哪些位,来执行对信息位序列的分离。
本发明将从接下来结合附图对优选实施例的描述中变得更明显。
图1示出图解本发明的基本思想的方框图;图2是图解其在turbo编码器中的应用的发明实施例;图3示出根据本发明的具有在编码操作中涉及到的附加元件的编码器;图4给出了在一个编码分支的子分支内使用等同编码方法的本发明的替换实施例;图5以简化形式示出现有技术的turbo编码器。
接下来是参考图1对使用在本发明的上下文中的重要术语的定义。
信息字或者信息位序列分块码(block code)的定义与S.Lin,D.J.Costello Jr.,“Error ControlCodingFundamentals and Applications”,Prentice-Hall 1983,第1.2章一致。消息块(message block)是用被称为信息字或者信息位序列的k元组u=(u1,u2,...,uk)来表示。对于卷积码,我们使用了不同的定义。信息字是k元组u=(u1,u2,...,uk),其中在u1进入编码器之前将卷积编码器存储器清零。
编码分支用其中完全信息字对随后的实体可用的分支来定义编码分支。
编码子分支编码子分支是编码分支的一部分,其中,在该编码子分支中,仅信息位的子集对块是可用的。
码块码块是受编码过程影响的信息符号的逻辑单元。
子集子集表示集合的一部分,其中根据定义空集和原集(original set)也是原集的子集。
图1示出包括在本发明的通信设备中的编码器的方框图。在编码器的输入端,将具有k位的信息字作为码块施加到两个编码分支中。在第一编码分支中,方法1用于获得具有位长度n1的码字1,其中n1大于k。
通常,编码操作充当相加冗余,以保护信息位不会在传输路径上丢失。
在第二分支中,将k位信息字分成两个完全不同的子分支,使得在第一子分支中使用方法2a对第一信息位子集(也称作码块片段)进行编码,在第二子分支中使用方法2b对第二信息位子集进行编码。这些位子集应该是互补的,换言之,这些子集总共包含与原始信息字相同的位,但是它们不包含信息字的任何相同位。简而言之,这里假设子分支中的码块片段是等长度的,这隐含k是偶数。编码操作的结果分别是长度为n2a和n2b位的两个码字2a、2b。
注意在每个子分支中分离且独立地对信息位子集进行编码很重要。在简单实现中,子分支中的编码方法是相同的,使得它们的生成多项式也是相同的。然后,每个子分支的编码的位序列联合构成奇偶校验字,其代替图5所示的现有技术编码器的第二奇偶校验字。
对本领域的技术人员明显的是,可以进一步操纵或汇编所生成的奇偶校验序列,以便获得信息字的完全码字。尽管这是需要或期望的操作,但是,它们对说明本发明并不是必要的,因此不进一步对其进行详细描述。
编码方法不需要在所有编码分支或者子分支中都相同。差别可以是基本的,如在一个分支中为卷积码而在另一个中为分块码。另一方面,在相同的编码族内也可能是不同的,如分支中的卷积编码器的不同生成多项式,或者例如在不同分支中使用的不同编码矩阵。本发明不限制分支中的所采用的编码器的类型或者属性。作为例子,可以在使用本发明的通信系统设计所强加的限制内自由且独立地选择图1中标记为“编码方法1”、“编码方法2a”和“编码方法2b”的编码器。
图2示出了图解将其应用到turbo编码器的本发明的实施例。如当比较这个图和图1时所看出的,可以看出本质区别在于直接提供信息字作为将要输出的系统字的事实。此外,通过采用递归系统编码器RSC而获得了奇偶校验字1,因此在其输出构成具有奇偶校验字1的编码分支。进一步将第二编码分支划分为两个编码子分支,以便获得奇偶校验字2a和奇偶校验2b,如上面结合图1所说明。当与图5比较时,关于第二编码器分支而调整了现有技术turbo编码器,产生了两个奇偶校验字2a和2b联合构成奇偶校验字2的结果。
参见图3,为了改善性能,可以在编码分支或子分支中引入一个或多个可选交织器。这对于进一步改善所采用的编码方案的属性和性能可能是必要的。
通过仅仅在分离单元之前放置交织器2以调整交织器2a、2b的位置,可以获得该实施例图3中没有明确示出、但是对本领域的技术人员很明显的另一个实施例。
对两个实施例,已经证明,对不同的编码子分支或者在编码子分支上的编码分支之间使用不同的交织模式改善了编码操作的性能。
可以以几种形式实现将码块分离为两个或更多码块片段。简单形式包括切换器,其周期性地将输入切换到子分支之一;迁移矢量或矩阵,其清楚地表示哪一个输入位将转发到哪一个输出;或者用于每一个子分支的穿孔(puncturing)矢量或矩阵,其为该特定子分支确定哪些位可以通过和哪些位被移除。
如果分支的各子分支内的编码方法相同,则可能交替布置。如图4给出了一个例子,代替将信息位序列分离为完全不同的并行子分支,而将其分为两个或更多的分段,其中,使用为该分支选择的编码器方法、以时间分集方式来分别对这些片段进行编码。
更具体地,如上所述,使用编码方法1来用码块的信息位形成系统字和奇偶校验字1。此外,包括k位的原始信息字被缓冲,并经历使用上述的方法之一进行的块分段。因此,码块被分离成为两个码块片段,每一个分别包括k2a位和k2b位的分段的信息字。随后,通过使用编码方法2,对第一片段进行编码,使得分段的奇偶校验字的第一部分具有n2a位。可以将这部分分段的奇偶校验字再次存储到缓冲器中,以便后面使用。作为下一个步骤,使用相同的编码方法2对具有k2b位的第二分段的信息字进行编码,以便获得包括n2b位的第二部分奇偶校验字。然后,可以将这两个奇偶校验字分段合并,以形成具有n2位的长度的完整奇偶校验字2。
对本领域的技术人员清楚的是,可以根据实际的编码器设计来选择与上述分段基本相等长度的两半不同的分段。具体地,划分为多于两个段也许是受欢迎的选项。
优选地,进行分段使得片段等长度。如果这不可能实现,则可以采用公知的技术,使得所得片段等长度。对于此的可能解决方案是信息位序列的零填充或部分重复。可替换地,如果长度不是编码方案的标准,则片段可具有不同的长度。例如,在卷积编码中,块长度对大多数编码器的设计是无关的。
在编码器的卷积编码的情况下,一些类型的格子结构终止(trellistermination)可能是可取的。这意味着将某些位附加到编码器输入或者编码器输出上,这使得编码器在码块末端的状态与被编码的信息位序列无关。优选地,这个终止状态是全零状态。此外,可以在S.Lin,D.J.Costello Jr.,“ErrorControl CodingFundamentals and Applications”,Prentice-Hall 1983中可以找到关于该终止的细节。
如果附加了所谓的终止位,则有两个选项。或者仅仅将终止位附加到各个编码分支或子分支内的信息位序列,或者将终止位附加到几个或所有分支或子分支中的信息位序列。对于本领域的技术人员来说,如何实现两种选项中的任一个是很明显的。
为了利于高效的解码方法,可能期望包括诸如循环冗余码校验和(CRC)之类的错误检测码。可以将这样的码自由地插入到分支或子分支中的分离器或编码器前面。在少数情况中,将错误检测码附加到码字或码字的部分上,即系统或奇偶校验字或者其子集上,可能是有利的。
上面说明的实施例示出了有两个编码分支的情况,并且进一步将第二分支划分为两个子分支。然而,可以容易地将本发明扩展到理论上无限多个分支,也可以减少到被进一步分为子分支的一个分支。将多少分支和哪一个分支进一步划分为子分支也是不受限制的。
同样地,在将几个分支划分为子分支时,子分支数目可多于两个,子分支数目也可以不同。
在本发明的方法的几个阶段中可以采用穿孔或重复,以便改善性能或者对系统所期望的编码保护量进行精细调整。
参考图3,可以看出,首先,通过位的穿孔或者重复可以调整编码分支的输入上的信息字长度。优选地,这在将信息字分离为编码子分支之前进行。可替换地,也可以在分离之后但在编码之前实施这样的调整。对本领域的技术人员明显的是,两种形式在效果上是等价的,并可以彼此转换。
其次,可能对所得码字进行调整。优选地,这在系统和奇偶校验部分已经结合在一起之后进行。可替换地,也可以在编码之后但在结合之前,在每个编码分支或子分支内进行该调整。本领域的技术人员还会知道,这些形式可以彼此转换。
在前面的描述和附图中,对术语“系统的”和“奇偶校验”沿用了它们通常在与turbo编码有关的公开文献中所指。这么做是为了使本发明的描述简单并易于理解。
然而,本发明也可以用于并行编码方案中,其不会在系统和奇偶校验位或字之间进行这样的区分,而通常简称为码位或字,如上面结合图的1图解和描述。
权利要求
1.一种在通信系统的通信设备中对包括信息位序列的码块中的数据进行编码的方法,包括如下步骤将第一编码分支的信息位序列分离为第一组多个信息位子集,每个子集形成码块片段;以及使用至少一种编码方法对码块片段单独进行编码。
2.根据权利要求1的方法,还包括单独并且与第一组多个码块片段的编码操作分离地对在第二编码分支中的信息位序列进行编码的步骤。
3.根据权利要求2的方法,其中对信息位序列进行编码的步骤在与第一编码分支并行排列的第二编码分支中执行,其中分离和对第一组多个码块片段的编码操作是与第二编码分支中的编码操作无关地执行的。
4.根据权利要求1至3中的一项的方法,其中对码块和/或码块片段单独进行编码的步骤是以时间分集的方式执行的。
5.根据权利要求1至4中的一项的方法,还包括在该编码步骤之前缓冲码块或者码块片段中的至少一部分的附加步骤。
6.根据权利要求1至5中的一项的方法,其中对码块片段或码块单独进行编码是用不同的编码方法执行的。
7.根据权利要求1至6中的一项的方法,其中编码步骤使用卷积码、格子结构码、turbo码、里德-所罗门码、奇偶校验码中的至少一个。
8.根据权利要求1至7中的一项的方法,其中对单独编码的码块片段或码块的编码步骤是在多个并行的编码子分支中执行的。
9.根据权利要求1至8中的一项的方法,其中单独编码的码块片段的信息位彼此互补。
10.根据权利要求1至9中的一项的方法,其中,执行码块的分段,以分为相等长度的码块片段。
11.根据权利要求1至10中的一项的方法,其中通过信息位序列的零填充或部分重复来改变码块和/或码块片段的长度。
12.根据权利要求1至11中的一项的方法,其中在编码之后组合码块和码块片段的位,以便在编码之前形成对应于原始信息位序列的码字。
13.根据权利要求1至12中的一项的方法,还包括交织一个或多个编码分支和/或子分支的信息位的步骤。
14.根据权利要求13中的方法,其中交织步骤对不同的编码分支或子分支使用不同的交织模式。
15.根据权利要求13至14中的一项的方法,其中在分离之后对码块片段的编码步骤之前,执行交织信息位的步骤。
16.根据权利要求1至15中的一项的方法,还包括在将码块分离为码块片段之前调整码块长度的步骤。
17.根据权利要求16的方法,其中所述调整是通过将终止位附加到至少一个编码分支或子编码分支中的信息位序列中而获得的。
18.根据权利要求1至17中的一项的方法,还包括将编码步骤之前插入的错误检测码包括在内的步骤。
19.根据权利要求1至18中的一项的方法,其中分离是通过周期性地将输入位序列切换到一个子分支中来执行的。
20.根据权利要求1至18中的一项的方法,其中分离是使用表示哪一个输入位将转发到哪些子分支的迁移矢量或矩阵来执行的。
21.根据权利要求1至18中的一项的方法,其中分离是使用为特定子分支确定哪些位可以通过而哪些位被消除的穿孔矢量或矩阵来执行的。
22.一种用于通信设备的编码器,其适于执行权利要求1到21中的一项的方法。
23.一种无线通信系统的通信设备,其包括权利要求22的编码器。
全文摘要
一种在通信系统的通信设备中对包括信息位序列的码块中的数据进行编码的方法,包括将信息位序列分离为多个信息位子集的步骤。每个子集形成码块片段。此外,该方法包括使用至少一种编码方法对码块片段单独进行编码的步骤。本发明还涉及执行该编码方法的对应地适配的编码器和通信设备。
文档编号H04L1/00GK1830150SQ200480021135
公开日2006年9月6日 申请日期2004年4月26日 优先权日2003年7月24日
发明者亚历山大·戈利奇克埃德勒冯埃尔布沃特, 克里斯琴·温格特, 艾科·塞德尔 申请人:松下电器产业株式会社