对长度可变的数据分组进行有效交织的方法

文档序号:7853335阅读:365来源:国知局
专利名称:对长度可变的数据分组进行有效交织的方法
技术领域
本发明涉及数字通信信道,尤其涉及一种对长度可变的数据分组进行有效交织的方法。
在许多通信信道中,差错以突发方式出现,即单个差错事件具有不止一个差错数据单元(位、字节、码元或其它单元)。突发差错因各种原因而产生,原因有信道中的突发噪声,维特比解码器输出中的突发差错,以及其它形式。因为大多数解码器不能有效地处理许多相邻的差错,所以通常不希望有突发差错。交织器是一种通过对数据单元的置换将来自一个脉冲串的差错分散成分立的多个“单”差错的器件。例如,当使用分组编码(诸如,Reed-solomon)时,交织器可以在几个码字之间分散突发差错,从而放宽对该码的纠错要求。
一种非常普通而简单的交织器是块交织器。在此交织器中,将数据单元(位、字节、码元或其它单元)放在二维表的行方向,然后按表的列方向读取。块的大小(行数乘以列数)一般受交织器存储资源的限制。
在数据分组网络中,通过通信信道传送长度可变的数据分组。数据分组的大小通常大于块的大小。在此情况下,将数据分组分成许多段,段的大小小于或等于交织器块的大小。然后对每段分别交织。一种寻常的分段方式是使最后一段以外的所有分段都等于交织器块的大小。于是,最后一段将小于块的大小。此方法的缺点是,对于某些数据分组长度来说,最后一段会非常小。这将导致交织器的性能很差。
本发明提供了一种用于对长度可变的数据分组进行有效交织的方法。在数据分组网络中,当交织器的块大小固定且小于数据分组大小时,对长度可变数据分组的块交织效率很差。原因是,对于某些数据分组长度,最后一块的剩余单元数(即、字节或码元)非常少。
本发明的方法可以为已知的数据分组长度(可变)和已知的(或选定的)交织器宽度计算最佳的交织器块大小。
交织器是一种通过对数据分组中的数据单元进行排列将来自一个脉冲串的差错分散成分立的多个“单”差错的器件。例如,当使用分组编码(诸如,Reed-solomon)时,交织器可以在几个码字之间分散突发差错,从而放宽对该码的纠错要求。
一种非常普通而简单的交织器是块交织器。在此交织器中,将数据单元(位、字节、码元或其它单元)放在二维表的行方向,然后按表的列方向读取。块的大小(行数乘以列数)一般受交织器存储资源的限制。
在数据分组网络中,通过通信信道传送长度可变的数据分组。数据分组的大小通常大于块的大小。在此情况下,将数据分组分成许多段,段的大小小于或等于交织器块的大小。然后对每段分别交织。一种寻常的分段方式是使最后一段以外的所有分段都等于交织器块的大小。于是,最后一段将小于块的大小。此方法的缺点是,对于某些数据分组长度来说,最后一段会非常小。这将导致交织器的性能很差。
计算块大小更有效于仅仅挑选块大小并让尾部(最后一块)为任意获得的大小,其理由如下一个块的脉冲串容限(即可以攻击块的最长噪声脉冲串,由此最长噪声脉冲串仍可以恢复数据)是T*I字节,其中T是Reed-Solomon(RS)校正因数,而I是块的交织深度。一个数据分组的脉冲串容限由其“最弱”的块,即交织深度最小的块决定。因此,希望最后一块的交织深度不太小(可能是1)。这可以用本发明的方法来实现。
本发明计算数据分组的各段大小,使得所有分段的大小都几乎相等,并仍然尽可能的大。列的数目是已知的或者固定的,并且最好等于码字长度。使用公式计算每段的行数,它是数据分组长度、码字长度和最大块大小的函数。
本发明提供了一种对给定数据分组长度计算最佳交织器块大小并使交织器块大小最大的简单计算方法。也就是说,本发明是将数据分散到大致相等的交织器块中,而不是具有几个大小固定的块以及一个位于尾部的小块,且小块包含少量的数据(例如,较小的交织深度),因此本发明可以使脉冲串噪声容限最大。
在本发明的公式中使用了以下符号用单元表示的总数据分组长度(例如,位、字节、码元等)Nf交织器宽度(一般是码字长度)Nr最大块大小(单元数)Br数据分组中交织器的总行数Itot0=ceil(Nf/Nr),其中“ceil(x)”是一函数,其值为沿正无限大方向最接近x的整数。
每段的最大行数(使得交织器块不超过Br)Ir,max=floor(Br/Nr),其中“floor(x)”是一函数,其值为沿负无限大方向最接近x的整数。
分段数Ns0=ceil(Itot/Ir,max)。
于是,对于一个分段m,用于计算最大行数Irm的公式是m=1,…,Ns0Irm=ceil(Itot(m-1)/Ns(m-1))Nsm=Ns(m-1)-lItotm=Itot(m-1)-Irm使用此公式的一个例子是Nf=2100,Nr=200,Br=2048,Itot0=ceil(Nf/Nr)=11Ir,max=floor(Br/Nr)=10Ns0=ceil(Itot/Ir,max)=2Ir1=ceil(Itot0/Ns0)=6Ns1=Ns0-1=1Itot1=Itot0-Ir1=5Ir2=ceil(Itot1/Ns1)=5Ns2=Ns1-1=0Itot2=Itot1-Ir2=0在此例中,已获得了最佳分段。也就是说,对于此例,计算得到均具有5行的两个块(交织深度为5)。尽管选择了最大块大小Br,但这些公式还可以用来优化块大小,或者可以使用几种块大小并选择一个具有最佳(最大)交织深度进行使用。
以下是另一个公式。此公式提供相等的段大小,但次序不同。
同样使用先前的符号其中数据分组长度 Nf码字长度 Nr最大块大小 Br交织器总行数 Itot0=ceil(Nf/Nr)每段的最大行数 Ir,max=floor(Br/Nr)分段数 Ns0=ceil(Itot0/Ir,max)
第一块的交织深度 Ir1=ceil(Irot0/Ns0)深度为Ir1的块的数目 M=Ns0·(Ir1+1)-Itot0于是,对于分段i,用于计算最大行数Ir(i)的公式为(i=1,…,Ns0) 数据分组由Ns0个交织段(块)组成,每段的宽度(列数)为Nr。最前面的M个分段的深度(行数)为Ir1。剩余分段的深度为Ir1+1。
使用此公式的例子如下Nf=2100,Nr=200,Br=2048,Itot0=ceil(Nf/Nr)=11Ir,max=floor(Br/Nr)=10Ns0=ceil(Itot/Ir,max)=2Ir1=floor(Itot0/Ns0)=5M=Ns0-(Itot0-Ns0·Ir1)=1此例的结果是Ir1=5,Ir2=6也就是说,在此例中,计算得到两个块,一块具有5行,另一块具有6行。同样,可以对块大小进行优化。用类似的方式可以产生其它公式,用于计算一给定数据分组长度的交织器块大小,同时使块大小最大。
本发明可以用软件、硬件或软件与硬件的组合来实现。对于本领域的熟练技术人员来说,阅读了上述对本发明的几个特定实施例之后,很容易进行各种改变、修改和改进。这种根据本申请揭示内容为显而易见的改变、修改和改进是本说明书的一部分,尽管没有在此表述,并且它们落在本发明的精神和范围内。因此,上述描述只是举例,没有限制作用。本发明只被后附权利要求及其等效物的限制。
权利要求
1.一种为具有已知长度的数据分组计算交织器最佳块大小的方法,其特征在于,包括以下步骤使块大小最大,同时使所述块的所述大小大致相等。
2.如权利要求1所述的方法,其特征在于,还包括选择交织器宽度等于码字长度。
3.一种用于数据分组的交织器,其特征在于,包括输入电路,用于为所述数据分组提供至少一个长度;存储器,用于存储数据分组信息;处理器,用于根据所述数据分组信息确定最大块大小;和输出电路,用于提供交织块中的所述数据分组信息。
4.如权利要求3所述的交织器,其特征在于,所述处理器确定所述块的所述最大尺寸,以便每个所述块的大小大致相等。
5.一种种具有已知长度的数据分组计算交织器最佳块大小的方法,其特征在于,包括以下步骤首先,提供以下数据提供用单元表示的总数据分组长度(例如,位、字节、码元等),用Nf表示;提供交织器宽度,用Nr表示;提供用单元表示的最大块大小,用Br表示;提供所述数据分组中交织器的总行数,用Itot0=ceil(Nf/Nr)表示;其中“ceil(x)”是一函数,其值为沿正无限大方向最接近x的整数;提供每段的最大行数,使得交织器块不超过Br,用Ir,max=floor(Br/Nr)表示,其中“floor(x)”是一函数,其值为沿负无限大方向最接近x的整数;提供一个分段数目,用Ns0=ceil(Itot/Ir,max)表示;以及其次,用以下方式处理所述数据对于一个分段m,按以下公式确定最大行数Irmm=1,…,Ns0Irm=ceil(Itot(m-1)/Ns(m-1))Nsm=Ns(m-1)-1Itotm=Itot(m-1)-Irm
全文摘要
提供了一种对长度可变的数据分组进行有效交织的方法。在数据分组网络中,当交织器的块大小固定且小于数据分组大小时,对长度可变数据分组的块交织效率很差。对于某些数据分组长度,最后一块的剩余单元数(即、字节或码元)非常少。本发明提供了一种为预选数据分组长度和预选交织器宽度计算最佳交织器块大小的方法。使块大小最大,同时使其大小几乎相等。
文档编号H04L1/00GK1306348SQ0013772
公开日2001年8月1日 申请日期2000年12月27日 优先权日1999年12月28日
发明者A·雅基尔 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1