在传输中无数据丢失的普通卷积交织器深度的无缝改变转让专利

申请号 : CN201010286497.X

文献号 : CN101980448B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B·海塞

申请人 : 英飞凌科技股份公司

摘要 :

本发明提供了在其中通信信道上的脉冲噪声被监控的方法和通信系统,并且根据所监控的脉冲噪声在不中断通信服务的条件下对交织器深度进行调整。

权利要求 :

1.一种传输系统,包括:

配置成通过传输介质来传送数据的收发器;以及

与所述收发器可操作地连接的前向纠错系统,该前向纠错系统被配置成将经编码的数据发送到所述收发器以进行数据传输,其中,所述前向纠错系统包括卷积交织器,该卷积交织器被配置成接收多个码字或数据块并基于卷积交织器深度来交织所述多个码字或数据块,并且还配置成改变所述卷积交织器深度,其改变量是除了所述多个码字或数据块的块长度的整数倍之外的量。

2.如权利要求1所述的传输系统,其中:所述前向纠错系统被配置成基于所接收的脉冲噪声数据来更改所述卷积交织器深度。

3.如权利要求1所述的传输系统,其中,所述卷积交织器包含:

多个发送FIFO,其中发送FIFO的数量与码字或数据块中的数据字节数相关联;以及控制电路,被配置成基于传送给它的卷积交织器深度改变来更改各发送FIFO的长度。

4.如权利要求3所述的传输系统,其中:所述控制电路被配置成根据ΔT(z,y)=ΔTraw(z,y)-ΔTmin(y)来更改所述发送FIFO的长度,其中,ΔT(z,y)包含在第y个发送FIFO的输出被读出前的一时刻,第z个发送FIFO的FIFO长度的改变,其中,当卷积交织器深度有增加时ΔTmin(y)为0,以及当卷积交织器深度有减少时,ΔTmin(y)=min(ΔTraw(z,y)),其中ΔTmin(y)是ΔTraw(z,y)的最小值,z=(0,1,...l-1),并且其中,ΔTraw(z,y)=T2(z,y)-T1(z,y)=floor[(D2-1)*z/l-Toff2(y)]-floor[(D1-1)*z/l-Toff1(y)],其中,

Toffj(y)=[(Dj-1)*y/l-floor((Dj-1)*y/l)]其中Dj或者代表卷积交织器深度改变前的卷积交织器深度,其中Dj是D1,或者代表卷积交织器深度改变后的卷积交织器深度,其中Dj是D2,并且其中floor(m)是数学运算符,值“m”被下舍入到相邻的最小整数值,并且1包含与将要发送的数据块或码字相关联的字节数。

5.如权利要求3所述的传输系统,其中:所述控制电路还配置成基于卷积交织器深度的变化来更改数据字节从发送FIFO读出的顺序。

6.如权利要求3所述的传输系统,其中:所述控制电路还配置成确定从初始深度D1到新深度D2的卷积交织器深度减少,其中D2<D1,并且还配置成模拟从D2到D1卷积交织器深度改变来作为假设卷积交织器深度增加,从而获得从接收侧到发送侧传送的数据的模拟的模式和顺序,其中所述模拟的模式基于数据字节或伪字节的模拟的选择传输,并且其中所述控制电路还配置成基于所述模拟的模式来形成数据传输的反转模式和反转顺序,并用所述反转模式和反转顺序从所述发送侧到所述接收侧有选择地传送数据字节和伪字节,其中,所述反转模式导致从D1到D2的卷积交织器深度减少。

7.如权利要求1所述的传输系统,其中所述块长度为卷积交织器块长度。

8.一种传输方法,包括:

通过传输介质来传送数据;以及

通过提供用于传输的经编码的数据来对被传送的数据执行前向纠错,其中所述前向纠错包括向被配置成接收多个码字或数据块并基于卷积交织器深度来交织所述多个码字或数据块的卷积交织器提供数据,所述方法还包括改变所述卷积交织器深度,其改变量是除了所述多个码字或数据块的块长度的整数倍之外的量。

9.如权利要求8所述的方法,还包括基于所接收的脉冲噪声数据来更改所述卷积交织器深度。

10.如权利要求8所述的方法,其中所述卷积交织器包含:

多个发送FIFO,其中发送FIFO的数量与码字或数据块中的数据字节数相关联;所述方法还包括基于传送给它的卷积交织器深度改变来更改各发送FIFO的长度。

11.如权利要求10所述的方法,其中改变长度包括根据ΔT(z,y)=ΔTraw(z,y)-ΔTmin(y)来更改所述发送FIFO的长度,其中,ΔT(z,y)包含在第y个发送FIFO的输出被读出前的一时刻,第z个发送FIFO的FIFO长度的改变,其中,当卷积交织器深度有增加时ΔTmin(y)为0,以及当卷积交织器深度有减少时,ΔTmin(y)=min(ΔTraw(z,y)),其中ΔTmin(y)是ΔTraw(z,y)的最小值,z=(0,1,...l-1),并且其中,

ΔTraw(z,y)=T2(z,y)-T1(z,y)=floor[(D2-1)*z/l-Toff2(y)]-floor[(D1-1)*z/l-Toff1(y)],其中,

Toffj(y)=[(Dj-1)*y/l-floor((Dj-1)*y/l)]其中Dj或者代表卷积交织器深度改变前的卷积交织器深度,其中Dj是D1,或者代表卷积交织器深度改变后的卷积交织器深度,其中Dj是D2,并且floor(m)是数学运算符,值“m”被下舍入到相邻的最小整数值,并且1包含与将要发送的数据块或码字相关联的字节数。

12.如权利要求10所述的方法,还包括基于卷积交织器深度的变化来更改数据字节从发送FIFO读出的顺序。

13.如权利要求10所述的方法,还包括确定从初始深度D1到新深度D2的卷积交织器深度减少,其中D2<D1,模拟从D2到D1卷积交织器深度改变来作为假设卷积交织器深度增加,从而获得从接收侧到发送侧传送的数据的模拟的模式和顺序,其中所述模拟的模式基于数据字节或伪字节的模拟的选择传输,基于所述模拟的模式来形成数据传输的反转模式和反转顺序,以及

用所述反转模式和反转顺序从所述发送侧到所述接收侧有选择地传送数据字节和伪字节,其中,所述反转模式导致从D1到D2的卷积交织器深度减少。

14.如权利要求9所述的方法,其中所述块长度为卷积交织器块长度。

说明书 :

在传输中无数据丢失的普通卷积交织器深度的无缝改变

[0001] 本申请是申请号为200580046391.X(国际申请号为PCT/EP2005/012298)、申请日为2005年11月16日的同名专利申请的分案申请。

技术领域

[0002] 本发明一般涉及通信系统,尤其涉及使用数字用户线(DSL)的适应性通信方法。

背景技术

[0003] 数字用户线(DSL)技术提供了通过普通电话线相连的两个调制解调器之间的高速数据传输,其中从每秒几十千比特到每秒几十兆比特的数字数据传送速率通过标准的电话线(例如双绞线)来支持,同时仍然提供普通老式电话业务(POTS)。不对称数字用户线(ADSL)和极高速数字用户线(VDSL)已作为DSL系统的流行应用而出现,其中,ADSL由美国国家标准协会(ANSI)标准T1.413和国际电信同盟(ITU-T)标准G.992.3、G.992.5来定义,而VDSL由ANSI标准T1.424和ITU-T标准G.993.1来定义。ADSL、VDSL和其它类似的DSL系统(统称为“xDSL”)通常提供POTS波段(例如约300赫兹到4千赫)以上的一定频率范围的数字数据传输,例如,ADSLG.992.3运行在大约25千赫到1.1兆赫的频率范围内。
[0004] 大多数DSL装置作为使用离散多音频(DMT)调制的多载波系统来运行,其中数据由多个副载波(音频)(有时也可称为子信道、子带、载波或仓(bin))来传输,各独立副载波利用规定频率范围的预定部分。在ADSL中,例如,用256个副载波来传输一个DMT符号,各副载波具有4.3125千赫的带宽。传输的数字数据在发送侧上用正交调幅(QAM)和离散傅立叶逆变换(IDFT)进行编码和调制,以产生用于沿着DSL环路或信道传输的经调制的多载波信号,而后所述信号在接收端被解调和解码以恢复所传输的数据。将通过各副载波来传输的数据位用编码器或位图系统编码成QAM信号星座中的信号点。然后信号星座被调制到对应的副载波上。通过信道所传输的数据位总数是各载波所传输的位数之和。
[0005] 在多数类型的通信系统中,需要最大化通过DSL调制解调器之间的通信媒介成功传输的数据量,有时称为比特速率或数据速率。数据速率取决于特定通信信道的噪声特性。在DSL系统中,一对调制解调器由构成通信媒介的缠绕在一起的一对线连接起来(有时称为环路)。在这种场合,噪声会由分布式电话系统中的相邻线对产生(例如串音噪声),也可由射频干扰(RFI)或其它噪声等外部噪声产生。特定通信信道上的噪声一般可被建模或描述成连续噪声或脉冲噪声或两者。连续噪声有时用时间上随机分布的噪声值来建模成加性高斯噪声(AGN),而脉冲噪声通常是相对高程度的信道噪声的短脉冲群。各种机制或方法被用在DSL和其它通信系统中以防止连续噪声和脉冲噪声,并/或纠正与噪声有关的数据传输错误。
[0006] 连续噪声通常这样处理:通过具有少量连续噪声的副载波传输较多的数据位,通过具有较高连续噪声的副载波传输较少的数据位。对特定副载波的数据位的分配有时称为位分配或位分布,其中,所述位分布参数可设置成适应信道上的特定连续噪声环境。然而,通过减少由特定副载波传输的比特数来简单地最大化连续噪声防护会导致非最佳的系统数据速率,因为以这种方式最大化连续噪声防护减少了副载波上的数据位数。因此,DSL系统最初用连续噪声防护(例如,位分布)设置值或参数来建立,所述设置值或参数根据基于系统初始化期间的信道噪声估计的副载波噪声评估来选择。虽然这种使用固定的连续噪声防护设置的方法提供了良好的噪声防护和较高的数据传送速率,但通信信道连续噪声环境势必会随时间而改变。在这点上,如果连续噪声减少,所述固定的调制参数将足以防止数据错误,但不能获得潜在增长的数据速率。相反,如果连续噪声增加,预先设定的防护参数可能不再足以提供防止信道中数据传输错误的足够的防护。
[0007] 为了处理这种情况,DSL系统提供了位分布参数设置的适应性调整以适应连续噪声的改变,所述调整包括位交换、速率适应和带宽重新划分技术,它们中每一个都涉及对一些调制参数的改变。在通常情况下,各副载波的信噪比(SNR)在系统初始化期间被测量,并且各副载波的最大位容量被确定。一旦系统的传输能力被这样评估,更多的位(例如更大的星座尺寸)被分到具有相对于具有较低SNR的副载波的更高SNR的副载波上,并且副载波相对传输能力(增益)被设定。然后DSL服务开始,而副载波SNR在数据传输期间被测量;根据副载波SNR测量值的改变,进行位分布(位交换)并调整副载波增益。
[0008] 虽然位交换自身不改变通信信道的总数据速率,但是通过将数据位从有噪声副载波重新分配到更多的无噪声副载波,使连续抗干扰度得以增加或维持。在信道噪声显著增加的情况下,单独靠位交换可能不足以防止数据传输错误,而无缝速率调整(SRA)可用来减少通过一些副载波上传输的数据位数。如果此后信道连续噪声减少(例如,SNR增加),那么SRA可用来增加数据位数。虽然这些技术能对变化的连续噪声环境有效地作出反应,但是脉冲噪声防护却基本上不受位分布设置和无缝速率调整的影响。
[0009] DSL系统中的脉冲噪声经常会导致相对短时段内整个经调制信号的消除,无论分配到整个信道或特定载波的位数是多少。前向纠错(FEC)是对抗DSL系统和其它通信系统中的脉冲噪声的一种手段。FEC编码器为各被传输的数据字节块产生一定数量的冗余字节。然后所述冗余字节被加到所述数据字节上以产生FEC码字。在接收侧,FEC解码器用冗余字节来恢复(纠正)一定数量的被破坏数据字节,从而保证了当码字中的少数字节被破坏时,在码字中传输的初始数据能被恢复。通常,能由FEC纠正的错误字节数是码字中包含的冗余字节数的一半。因此,增加FEC冗余度进一步增强了针对脉冲噪声的FEC防护,但同时实际上也降低了数据速率,反之亦然,其中存在脉冲噪声防护的目标和数据速率之间的折衷。
[0010] 除了冗余,FEC编码器还提供交织(IL)来对抗脉冲噪声。在增加FEC冗余字节后,交织器(在发送侧)将FEC码字或块分割成更小的部分(分片),来自不同码字的分片在位分布或调制之前以某种规则进行混合。所述分片混合规则是使属于同一FEC码字的分片互相之间被放置得尽可能地远。这导致同一码字的字节随时间被展开,由此,在任何给定短时段内所传输的数据流的脉冲噪声破坏只导致属于特定码字或块的一个或几个分片的损坏,这就使接收侧的各再装配的(例如解交织的)码字中具有更少的错误。因此,FEC冗余允许纠正各码字中一定数量的被破坏数据,而交织有助于减少个别码字中的被破坏字节的数量,由此,DSL系统可有效地对抗通信信道中给定量的脉冲噪声。然而,交织需要发送侧和接收侧的调制解调器上配有缓冲存储器并引入了传送数据中的延迟。同时,如前面所讨论的,增加FEC性能需要引入更多冗余字节并减少数据速率。因此,要在DSL系统中的脉冲防护和数据速率之间进行折衷。
[0011] DSL系统中的脉冲噪声防护机制(如FEC和交织)的参数通常已在系统安装时被设置。例如,交织器参数可包括码字长度(即块尺寸)、冗余字节数、块尺寸和交织器深度。这些参数通常以针对个别字节错误进行防护和获得预定的差错防护长度(定义为能被正确恢复的连续被破坏字节数)的目的来确定。然而,任何特定安装的脉冲噪声特征通常随时间变化。从而,在某个后面的时间点,因为脉冲噪声特征可能已发生改变,而交织器参数没有改变,所以传输错误可能会发生。因此,为了在错误校正方面优化交织器,需要改变交织器深度和/或数据速率。此外,数据速率的改变可能造成交织器延迟或导致差错防护改变,这可能还需要改变交织器参数(如交织器深度)来满足最小错误防护的要求。因此,在DSL系统运行期间最好能改变交织器深度。
[0012] 现有技术中提出的一个调整交织器深度的方案是:在规定的时间段完全关闭数据通信系统,在此期间,基于新的脉冲噪声环境产生新的交织器参数。然后所述系统被重新启动。然而,该方案的缺点是:数据通信被完全中断几秒钟。在某些应用(例如视频流或电话通信)中,这种系统是不可接受的。提出的另一个方案支持在不中断服务的条件下改变交织器深度,但是,这样的改变需要最小交织器深度是被交织的数据块长度(码字长度)的整数倍。在这种场合,修改的量化间隔过大而很不利,会严重阻碍通信系统能力的优化。现有技术基于其值限定为D=M*l+1的交织器。改变只以该量化间隔发生。结果,D的改变导2
致数据传输中“l”的间隔。因为I的通常值是例如30,所以,由l产生的D的改变将导致
900字节的延迟跳变。为隐藏这些跳变,必须在收发器的外面增加连续的缓冲,这可能引发额外的(不想要的)连续等待时间。
[0013] 因此,需要有改进的脉冲噪声防护方法和装置来对抗DSL系统和其它通信系统的传输信道中变化的脉冲噪声。

发明内容

[0014] 为提供对本发明一个或多个方面的基本理解,下面给出简要概述。此概述不是本发明的纵深描述,并且不试图确认本发明的关键或重要元件,也不试图界定本发明的范围。确切地说,此概述的主要目的是以简明的方式给出本发明的一些概念来作为后面给出的具体实施方式的前序。
[0015] 本发明涉及用于适应性调整DSL系统和其它通信系统的通信系统和方法,其中,在通信服务期间监控通信信道上的脉冲噪声,并且在不中断通信服务的条件下根据脉冲噪声来选择性地调整脉冲噪声防护。本发明有助于通过在不限制这种改变的量化间隔的条件下调整卷积交织器的深度来适应脉冲噪声防护。从而,能在不丢失数据的条件下对交织器深度进行小的或大的改变。
[0016] 本发明的一方面提供了用于改变交织器深度的方法,其中,接收侧确认保证交织器深度改变的系统条件的改变。例如,所述接收侧确认交织器深度的改变量(或者增加或者减少),并将所述改变通过管理信道传送给发送侧。然后所述发送侧将同步信息回馈给接收侧来指示交织器深度的变化何时发生,使得发送侧和接收侧在同一数据点实现这样的改变。
[0017] 根据交织器深度的增加,所述发送侧通过移动对应的FIFO的读指针来增加与其相关联的发送侧FIFO的长度,其中各长度改变对应于交织器深度的改变ΔD。所述初始长度和发送侧FIFO被读出的顺序是初始交织器深度D1的函数,从而数据从所述发送侧FIFO被读到所述接收侧FIFO的顺序基于所述深度改变(到D2的改变)来改变,数据然后按新的顺序来传送。虽然与所述指针改变相关联的伪数据按新的顺序读出,但是所述接收侧FIFO基于根据所述深度改变ΔD的控制算法来丢弃所述伪数据。在预定时间段后,所有后续数据被接受并按新的顺序保存在所述接收侧FIFO中。同时,直到来自最大的发送侧FIFO的有效数据已被接收,才有新数据从所述接收侧FIFO输出。在此期间,没有数据从所述接收侧FIFO输出,而有效数据却被输入其中,从而接收侧FIFO根据所需的交织器深度的增加ΔD来增加长度。
[0018] 响应所述交织器深度的减少,所述发送侧基于所述深度改变ΔD来增加选定发送侧FIFO,使得有效数据将仍从最大的发送侧FIFO来传送。伪数据在其他的发送侧FIFO中定义,而数据基于作为D1和D2函数的经改变的传输顺序被传送到所述接收侧FIFO。同时,直到来自最大的发送侧FIFO的有效数据已被传输,才有新数据被输入到所述发送侧FIFO中。因为数据从所述发送侧FIFO输出时没有数据输入其中,所以所述发送侧FIFO根据所需的交织器深度减少ΔD来减少长度。在所述接收侧FIFO中,所接收的伪字节被丢弃而只有有效数据被输入到FIFO。因为数据从所述接收侧FIFO输出时较少的数据输入其中,所以所述接收侧FIFO根据所需的交织器深度减少ΔD来减少长度。
[0019] 根据本发明的另一实施例,交织器深度的改变通过在整个有用数据中有选择地插入伪字节来实现,这与在块中传送伪字节不同。先前述方式中,基本消除了所述去交织器的输出端上的数据传输中断,从而有助于在数据不中断的条件下改变交织器深度,这对于系统等待时间必须保持基本恒定的系统应用来说是有利的。
[0020] 根据本发明的一个方面,将从所述发送侧FIFO之一传输到所述环路的字节通过确定该特定字节和其在原交织器数据块中的先前字节(已被传输的一个字节)之间的时间间隔来估计。若所述字节间的时间间隔超过了预定阈值(最好是反映维持脉冲噪声防护(INP)规范的阈值),则所述字节通过环路从所述发送侧FIFO传输到接收侧FIFO。相反,若所述字节间的时间间隔小于所述预定阈值,则为了维持所述字节间的时间间隔以进行脉冲噪声防护,传输一个散布在有用数据中的伪字节。
[0021] 下面的描述和附图详细给出了本发明的某些解说形态和实现方式。这些只示出了可利用本发明原理的各种方式中的几种。

附图说明

[0022] 图1是说明根据本发明的一个或多个方面的示范性多载波DSL通信系统的示意图,所述系统具有与通信信道或环路连接的第一和第二DSL调制解调器;
[0023] 图2是说明卷积交织器和与其相关联的运行特征的示意图;
[0024] 图3是说明在执行交织器长度改变之前的卷积交织器的示意图;
[0025] 图4是说明根据本发明一个方面的正在发送侧进行交织器深度增加的卷积交织器的示意图;
[0026] 图5是说明根据本发明另一方面的正在发送侧和接收侧进行交织器深度增加的卷积交织器的示意图;
[0027] 图6是说明由于交织、交织器深度改变和字节传输速率改变导致的与交织器数据块相关联的字节之间的间隔的框图;
[0028] 图7A是说明本发明实施例的基于一设立标准的数据字节或伪字节的选择性传输的方框示意图;
[0029] 图7B是说明根据本发明示例的交织器数据块中相邻字节的框图;
[0030] 图8是说明本发明一实施例的为适应交织器深度的改变而有选择地插入遍及有用数据的伪字节的方法的流程图。

具体实施方式

[0031] 现在将参照附图描述本发明的一个或多个实施例,其中,相同的附图标记用于表示相同的要素。本发明涉及用于适应性调整系统参数以对抗脉冲噪声的通信系统和方法,下文在使用具有交织、交织器深度调整的离散多音频(DMT)调制来进行脉冲噪声防护的示范性DSL多载波通信系统的环境中进行说明。然而,本发明可用于任何类型的通信系统,包括但不限于DSL系统,以及单个或多载波通信系统,其中任何类型的交织可被使用并根据脉冲噪声或其它类型的环境进行动态调整。
[0032] 本发明包括:在提供通信服务的过程中,监控脉冲噪声环境并调整诸如交织器深度的脉冲噪声防护参数。从而,本发明为调整脉冲噪声防护来适应变化的噪声环境提供了条件。
[0033] 图1说明本发明的一个或多个方面可在其中实现的示范性多载波DSL通信系统2,所述系统包括分别与通信环路或信道4相连接的第一DSL调制解调器10和第二调制解调器30。虽然示范性通信信道4是传统的家用电话系统中的双绞线或铜线,但是本发明可用于任何类型的通信信道,通过所述信道,数据能在调制解调器10和30之间被传送。示范性调制解调器10和30是DSL调制解调器,它们具有用于在信道4上提供DSL通信服务的合适的电路,通常是按照ANSI T1.413(ADSL)、T1.414(VDSL)以及其它DSL标准(包括执行文中描述的任务和函数)来提供这种DSL通信服务。
[0034] 在所说明的系统2中,第一调制解调器10是可位于住家中的用户调制解调器,而第二调制解调器30位于DSL服务提供商处。数据沿着信道4在两个方向上传送,其中,用户调制解调器10传送将被提供商调制解调器30接收的数据,而提供商调制解调器30传送将被用户调制解调器10接收的数据。虽然在这点上,示范性通信系统2是对称的,但是本发明的各方面可在其中数据只在单个方向上被传送的其它系统中实现。为说明本发明的各方面,本发明的示范性系统2和各种方法在下文中针对从提供商调制解调器30到用户调制解调器10的第一方向上所进行数据传送来描述。因此,为描述本发明的各方面,在下面的讨论中,第一调制解调器10(具体说是其中的收发器)可被称为“接收侧”,而第二调制解调器30(具体说是其中的收发器38)可被称为“发送侧”,第一(接收侧)调制解调器10监控和分析脉冲噪声并向第二(发送侧)调制解调器建议改变噪声防护参数,然后第二调制解调器进行所述改变。然而,要理解到:调制解调器10和30都可被设计成以与另一个调制解调器协作的方式针对其所接收的数据来监控噪声并选择性地提出建议以及进行交织器深度的改变。
[0035] 在示范性系统2中,第一调制解调器10适于针对通信服务期间在通信信道4上从第二调制解调器30接收的数据来监控脉冲噪声(例如,经修正的和未经修正的分组错误)。第一调制解调器10分析所监控的脉冲噪声并向第二调制解调器30选择性地提出适当的噪声防护参数改变。调制解调器10和30适于根据所观察到的脉冲噪声,在不中断通信服务的条件下共同调整脉冲噪声防护,以从调制解调器20向调制解调器10传送数据(例如,通过选择性调整包含FEC冗余字节数和/或码字长度的码字格式)。根据本发明的另一方面,示范性第一调制解调器10还适于针对通信服务期间在通信信道4上从第二调制解调器30接收的数据来监控连续噪声(例如,SNR、非分组错误等),其中调制解调器10和30还适于根据所述连续噪声以协调方式来共同调整系统中的连续噪声防护,以在不中断通信服务的条件下将冗余度最小化。
[0036] 示范性第一调制解调器10包含收发器18,所述收发器可与信道4连接并运行以支持与第二调制解调器30进行的通信(例如DSL)服务。针对从第二调制解调器30接收的数据,所述收发器18用来接收来自信道4的这种数据。第一调制解调器10还包含到主系统的应用接口12,如服务用户的家庭计算机(图中未示出),其中第二调制解调器30还包含与网络节点(图中未示出)的应用接口32。第一调制解调器10的FEC系统14包括与FEC控制器16协同运行的FEC解码器和去交织器,其中,第二调制解调器30的前向纠错(FEC)系统34包含FEC解码器和与对应的FEC控制器36的交织器,当传送数据给第一调制解调器10时,FEC系统34提供冗余字节给输出数据。正在接收数据的第一调制解调器10的FEC系统14转而用所接收的冗余字节来纠正输入数据中的错误(当从第二调制解调器30接收数据时)。在双向设置中,第一调制解调器10的FEC系统14还对输出数据进行选择性交织和编码(当传输数据到第二调制解调器30时),而第二调制解调器30的FEC系统
34对输入数据进行解交织处理(当从第二调制解调器30接收数据时),其中,示范性FEC系统14和34均包含用于控制本文描述的FEC/IL功能的适用的逻辑电路,以及用于缓冲将被交织/解交织的数据的存储器。
[0037] 第一调制解调器10的收发器18对来自第二调制解调器30的输入数据进行解调,并且包含用于与通信信道4连接来接收输入数据的合适的模拟电路。在第二调制解调器30中,收发器38便于进行音频排序或位分布,其中,将通过各载波来传输的输出数据位用位分布控制器40提供的位分布参数编码成信号星座中的信号点。第二调制解调器30的收发器38还根据来自所述控制器40的副载波增益标度设置(gain scale settings)来调制输出副载波星座(在所述例中使用离散傅立叶逆变换(IDFT))并将经调制的信号提供给信道4。对于从第二调制解调器30接收的输入数据,第一调制解调器10的收发器18将所接收的信号解调成独立的副载波星座(例如,通过所述例中的离散傅立叶变换即DFT方法),并根据来自对应的位分布控制器20的参数来解码所接收的星座。
[0038] 第一调制解调器10还包括本地管理系统22,所述系统将FEC/IL参数提供给FEC控制器16,所述参数是关于诸如所接收数据中的冗余字节数和其中解交织的量或程度(例如交织器深度数据D)的,并且还将位分布设置或参数(包括副载波位分布、增益设置等)提供给所述控制器20,来解码并解调从信道4中接收的输入数据。然后FEC系统14根据来自FEC控制器16的参数进行解交织和纠错,并将得到的输入数据提供给应用接口12。
[0039] 第二调制解调器30可实现与正常DSL通信服务类似的功能,并包含与通道4连接的收发器38、控制收发器38中数据调制(解调)和编码(解码)的位分布系统40。第二调制解调器30还包含用于连接到主系统(图中未示出)的应用接口32,以及用于提供类似于前面针对第一调制解调器10描述的那些功能的数据交织和前向纠错功能FEC系统34和对应的FEC控制器36。第二调制解调器30还包含本地管理系统42,所述系统将控制参数和设置提供给FEC控制器36和位分布控制器40。
[0040] 第一调制解调器10和第二调制解调器30的本地管理系统22和42分别用任何适合的通信或数据交换协议,通过本地管理信道46(如通信信道4的子载波之一)相互交换控制信息和消息,以协调参数设置、速率调整、改变定时等。特别地,所述本地管理系统22和42交换由各自的位分布控制器20和40使用的位分布和增益设置,以及由各自的FEC控制器16和36使用的FEC/IL和码字长度设置。在所说明的系统2中,本地管理系统22和42在系统初始化期间通过管理信道46来交换设置和信息,以基于副载波连续噪声级的初始量(例如SNR)来建立初始副载波位容量和增益设置。例如,在初始化期间,获得各副载波的信噪比(SNR),并且各副载波的最大位容量由调制解调器10和30之一确定。所述信息被发送到另一个调制解调器,使得在起始DSL服务之后,所述调制解调器即使用相同的参数。
同样,FEC/IL参数和码字长度由所述调制解调器之一根据初始脉冲噪声量或根据一些其它标准(例如最小防护或最大延迟)进行初始设置,所述设置通过管理信道46复制到另一个调制解调器。
[0041] 根据本发明,示范性第一调制解调器10还包含噪声和错误监控系统24和分析器26,其中,所述监控系统24在DSL服务期间通过来自FEC系统14的错误信息来监控发生在通信信道4上的从第二调制解调器30接收的输入数据的数据传输错误,而所述分析器26确定所述输入数据传输错误是否指示在所述信道4上存在脉冲噪声。特别地,所述分析器
26确定所述输入数据传输错误中是否存在分组错误(例如短时间内的相对大的错误),以及所述分组错误是否被FEC系统14纠正。分析器26和监控系统24之一或两者和/或图
1所示的第一调制解调器10的其它部件中的任何一个可与收发器18一起作为单个集成电路来制造。要注意示范性第二调制解调器30还包含用于监控从第一调制解调器10向第二调制解调器30传输的数据的噪声和数据传输错误的功能,其中,设有本发明的各种脉冲噪声防护调节功能,该功能为示范性系统2中沿信道4在两个方向上传输的数据而提供。
[0042] 为了充分理解本发明的各个方面,下面结合图2对卷积编码器的一些元件和操作进行简要讨论。如图2所示,卷积交织器系统50分别具有发送侧52和接收侧54,其中输入数据块(例如码字)分别在发送侧52上与其它数据块进行交织处理和随后在接收侧54进行解交织处理,其中,将初始数据块恢复。图2中,输入数据块或码字56构成“l”字节(例如,B0,B1...Bl-1)块。数据块中的各字节有选择地转换到所述交织器的不同“行”,其中行数对应于各块中的字节数(例如“l”行对应于每块“l”字节)。然后被输入到行中的数据块中的各字节根据其在块中的位置与交织器深度乘积按如下公式被延迟:
[0043] Delay=j×(D-1);j=0,1,2,...(l-1),
[0044] 其中j是各数据块中的字节位置指标,D是交织器深度。根据本发明,数据块可与码字相同或作为可选的方案可包含码字的片段。
[0045] 在接收侧或接收侧54,所述过程反向进行,字节根据它们在经交织的块中的位置(并因此根据所述字节被送到的行)被延迟,其中解交织的延迟是:
[0046] Delay=(l-1-j)x(D-1);j=0,1,2,...(l-1).从而,各字节被交织器和去交织器结合延迟了(l-1)*(D-1)字节。从前面描述可看出,交织器深度D是交织器的关键参数并代表相同数据块中两个相邻数据字节之间的输出交织数据流中的字节数(例如,相同数据块的B0和B1之间的交织数据流中的字节距离)。所以,随着交织器深度D增加,所述通信系统表现出更强的抵抗脉冲噪声的能力,但是,根据上述公式,D的增加也增加了系统延迟并需要额外的存储器。从而,可以看出,随着脉冲噪声环境改变或数据速率改变,可能需要改变(增加或减少)交织器深度D来优化系统性能(例如,针对个别字节错误的足够防护,所需错误防护长度的获得以及数据速率的最大化)。
[0047] 如图2所示,发送侧交织器52包括多个变化的长度队列或延迟单元60(如FIFO),它们接收多个、连续的输入数据块(例如,连续的输入块56),并且所述交织器用转换或控制电路62(例如图1中的FEC控制器),将其中的数据字节顺序地写到不同的FIFO 60,其中第一个FIFO没有延迟,而最后一个即第1个FIFO(FIFOl-1)具有与其相关联的最大的延迟。
[0048] 如前所述,各字节通过增加上文突出提到的延迟,由交织器52和去交织器54的组合延迟了(l-1)*(D-1)个字节,从而各收发器需要保持(每个传输方向)存储器的长度为[(l-1)*(D-1)]/2。如前述(并参照图2),这种用来保持数据字节的存储器能用作为FIFO缓冲器说明的延迟路径来实现。各FIFO缓冲器的平均长度对应于被块长度“l”除的字节中的各延迟。从而,块中第1个字节的FIFO的平均长度是(D-1)*(l-1)/l。
[0049] 根据本发明的一个方面,交织器深度的改变(改变量ΔD)可由接收侧基于系统环境的变化(例如脉冲噪声的增加)来请求。例如,参照图1,用户的调制解调器10可通过管理信道46通知提供商的调制解调器30。然后所述提供商系统30的收发器38将同步信号提供给收发器18来指示交织器深度的改变何时发生。在一例中,所述同步通信通过环路4进行,因为这种信号传送经历与后续数据相同的传送延迟,但是,在另一例中,可使用所述管理信道46。响应交织器深度调整请求,FEC控制器36和FEC模块34(其中包含交织器)协同操作来增加交织器中的发送侧FIFO,增加的是一个基于所请求的深度改变量ΔD的量。根据本发明的一个方面,发送侧FIFO通过改变与各FIFO相关联的读指针的位置而增加长度。
[0050] 在典型的随机存取存储器(连同包含寄存器的ALU)中,FIFO由写指针和读指针在逻辑上实现,其中,所述写指针是指向存储器中输入数据(数据块中的字节)将被写入的位置的地址,而读指针是指向存储器中数据将被取出来传输的位置的地址。通过改变读指针的地址,FIFO的长度被改变。根据本发明,如下文中将进行更详细讨论的,ΔD增加导致各发送侧FIFO 60增加与ΔD相关联的不同的量。例如,FIFO1平均增加ΔD/l,FIFO2平均增加2×ΔD/l,...而FIFOl-1平均增加(l-1)×ΔD/l。
[0051] 作为可选的方案,交织器中与各发送侧FIFO 60相关联的计数器(图中未示出)(例如在图1的FEC控制器36中)将具有与其相关联的唯一计数,其中,当所述计数达到前,传输伪字节,而不再从所述FIFO 60中取出数据字节。
[0052] 现在看图3,它说明了简化的卷积交织器50,其中,发送侧FIFO60已基于正ΔD请求被增加。注意,因为FIFO0是没有延迟的虚拟FIFO,所以没有延迟被加于其上,而其它FIFO 60的长度有所增加。长度的改变可按如下解释来理解。为作出解释,我们定义由变量“y”指示的时刻。因为发送侧FIFO 60的长度在各读出或写入“l”字节的循环期间周期性地改变,所以时刻“y”代表发送侧FIFO#y将在开关72(例如,可包含多路复用器)下一次读出的时刻。所以“y”代表将被读出的发送侧FIFO 60的整数号码,其中0<=y<=(l-1)。
[0053] 如果T1(z,y)(z=0,1,...l-1)代表在FIFO#y进行长度改变之前的各发送侧FIFO的长度,而T2(z,y)代表新的FIFO的长度,那么T2(z,y)等于T1(z,y)+ΔT(z,y),其中ΔT(z,y)代表基于增加的交织器深度ΔD的发送侧FIFO的长度增加。注意变量“z”代替代表结合图2讨论的各块中的实际字节位置的“j”来使用,因为根据本发明(如下文中将更详细讨论的),各发送侧FIFO 60的写入和读出通常不同时发生,所以T(z,y)是时间的函数并将据此抖动+/-1字节。从而,T2(z,y)代表深度改变后的FIFO长度。各FIFO中的平均增加是那些字节在各块中位置的函数,并将等于ΔD×z/l。因此,各FIFO 60将增加不同的量。
[0054] 图3说明了增加的FIFO长度的一例,FIFOl-1的长度通过基于ΔT(z,y)=T2(z,y)-T1(z,y)将读指针(RDPTR1)移动到新位置(RDPTR2)来调整。注意当这种改变开始进行时,各FIFO的增加部分的数据包含如图3中标示的伪数据。因此,当数据传输基于新的发送侧FIFO长度发生时,将存在这样一段时间,其中,接收侧54将扔掉或丢弃所述伪字节而不将所述伪字节写入去交织器中的接收侧FIFO中。例如,因为接收侧调制解调器10将所要求的ΔD传送到发送侧调制解调器30,所以接收侧调制解调器10知道各发送侧FIFO的结果的ΔT(z,y)是多少(从而知道在各发送侧FIFO 60中将存在多少伪数据)。因此,与去交织器中的各接收侧FIFO 64相关联的计数器(图中未示出)(例如在图1所示的FEC控制器16中)将具有与其相关联的唯一计数,其中,所述计数达到前,所述行的输入数据字节中的伪字节将被丢弃而不输入到接收侧FIFO 64中。因为ΔT(z,y)对于各接收侧FIFO是不同的(因为各发送侧FIFO被增加了不同的量,所以具有不同数量的伪字节),所以各接收侧FIFO计数器的计数也是不同的,在所述计数到达后,数据将不再被丢弃。一旦达到了各计数器的计数,输入所述接收侧FIFO的下一个数据字节将被接收并置于所述接收侧FIFO中(在与特定FIFO相关联的写指针所指示的位置)。
[0055] 注意对于第1个发送侧FIFO,它具有最大的伪数据量(ΔT(l-1)),但是,在接收侧(去交织器),不存在FIFO,因为这种数据没有任何延迟地传递而通过去交织器。在这种时间场合,数据传输必须在去交织器50的输出端停止,因为所述伪字节可能不在线69上传送(例如参照图4)。
[0056] 现在参照图4,除了去交织器中的接收侧FIFO 64的接收或输入端65所发生的情形之外,所述去交织器的另一端66(输出端)(恢复的、无交织的数据在那里继续传送)在与ΔD×l字节相关联的一段时间内被去激活(即直到来自发送l-1FIFO位置的最后有效数据到达时)。从而,等待时间被加到所述系统中,但是,所述等待时间对应于所增加的交织器深度ΔD,正如所预期的。在接收侧FIFO 64的传输部分不工作的一段时间内(例如,开关69),数据仍由发送侧FIFO在输入端65接收,这导致各接收侧FIFO 64的长度增加对应于ΔD的量ΔR(z,y)。
[0057] 计算各发送侧FIFO 60的伪字节数的一示范性方法是使用第二变量“y”,该变量参考系统运行中的时刻。
[0058] 从而T(z,y)在FIFO#y将被读出之前(例如,当交织器52和环路4之间的多路复用器指向讨论的FIFO时)包含FIFO#z的参考长度。所述参考长度可能不是各FIFO的真实长度,因为所述分析不计及写入到发送侧FIFO的步调,但是,这种偏移不影响ΔT(z,y)的计算。
[0059] 如果Tj(y)代表FIFO#y的平均长度,那么
[0060] Tj(y)=(Dj-1)*y/l,
[0061] 它可能不是整数值。从而,
[0062] Tj(y,y)=floor[(Dj-1)*y/l],
[0063] 它代表被下舍入到邻近的最低整数值的Tj(y),以及
[0064] Toffj(y)=Tj(y)-Tj(y,y),
[0065] 它代表被“弱取整(floor)”运算符“丢掉”的舍入值。所以:
[0066] Toffj(y)=[(Dj-1)*y/l-floor((Dj-1)*y/l)].
[0067] 从而,所述偏移值Toffj能被算出并从各发送侧FIFO的平均长度中减去(于是下舍入或丢弃余数),如下式:
[0068] Tj(z,y)=floor[(Dj-1)*z/l-Toffj(y)].
[0069] 通过基于当前交织器深度D1和新的交织器深度D2来计算Tj(z,y),各发送侧FIFO长度的改变(代表所需的伪字节数量)按下式计算:
[0070] ΔTraw(z,y)=T2(z,y)-T1(z,y)=floor[(D2-1)*z/l-Toff2(y)]-floor[(D1-1)*z/l-Toff1(y)].
[0071] 上面计算ΔTraw(z,y)的公式很好地表征了对于交织器深度的增加每个FIFO所需的伪字节数。更一般地说就是说明了用于交织器深度增加或减少的方程式的特征,我们确定:
[0072] ΔTmin(y)=min(ΔTraw(z,y)),
[0073] 其中ΔTmin(y)是ΔTraw(z,y)中的最小值,z=(0,1,...l-1)。
[0074] 由此,
[0075] ΔT(z,y)=ΔTraw(z,y)-ΔTmin(y).
[0076] 如果D1<D2(交织器深度增加),那么ΔTmin(y)是0,方程式,如所预期地简化为ΔT(z,y)=ΔTraw(z,y)。但是,如果D1>D2(意味着交织器深度减少),那么ΔTmin(y)是负数,当在上式中被减去时,将ΔTraw(z,y)增加到所有正数值或至少为0值。
[0077] 可以看出,各FIFO长度的改变将是交织器深度的改变(ΔD)的函数,对于各发送侧FIFO这种改变将基于其值“z”而不同。从而,对于给定的交织器深度改变可计算出将被插入各发送侧FIFO的伪字节数。
[0078] 在上述方式中,交织器和去交织器的深度可被改变量ΔD,其中,所述量ΔD可为任何量,而不必为数据块长度“l”的整数倍。从而,本发明使交织器深度的精细量化间隔调整得以进行,它可使系统在环境改变发生时更加灵活地进行优化。
[0079] 本发明通过改变从发送侧FIFO读出数据并传送给接收侧FIFO的顺序,有利地改善了所允许的交织器深度改变的量化间隔。例如,数据块56中的数据被输入发送侧FIFO60的顺序是固定的。就是说,第一字节(B0)总是输入row0,第二字节(B1)总是输入row1,依此类推,这种顺序独立于交织器深度D。然而,数据从发送侧FIFO读出的顺序不遵循本发明的这种顺序,但遵循作为交织器深度的函数的顺序(例如,在改变之前,顺序最初与交织器深度D1相关联)。例如,如果l=10,则有10行,那么数据可被读出(例如通过图4中的开关70)的第一行可为行2,而下一行可为行5,然后行8,然后行1(折回),等等。注意开关(或控制电路)72与开关(或控制电路)70同步动作,使得从发送侧FIFO 60中的行“n”读出的数据将被写入接收侧FIFO 64中的相同行“n”。
[0080] 然后,当交织器深度的改变发生时(例如从D1到D2),发送侧FIFO的长度如所讨论的被改变,而且数据从发送侧FIFO 60读出的顺序在较早顺序的基础上改变,其中新顺序是新的交织器深度D2的函数。上文讨论的顺序改变由控制电路来实现,例如,在FEC控制器16、36中根据控制算法来实现。这种控制算法的一个例子在美国专利5764649中公开,该专利通过引用而全部结合到本文中。通过基于交织器深度来动态改变数据从发送侧FIFO读出数据并传送给接收侧FIFO的顺序,改变FIFO的长度并有选择地丢弃与其相关联的伪字节,本发明能以任何程度的量化间隔来改变交织器深度,然而现有技术被限于D=M×l+1的深度改变(即块长度l的整数倍)。
[0081] 根据本发明的另一个方面,交织器深度能以有些类似的方式被减少量ΔD。如前所述,接收侧最初确认系统环境,例如证明交织器深度减少为合理的脉冲噪声环境的改变。然后所述接收侧将所要求的改变通过例如管理信道46传送给发送侧,然后所述发送侧将指示交织器深度的改变何时发生的同步信号发送到(最好通过数据信道)接收侧调制解调器10。
[0082] 所述过程通过改变交织器中发送侧FIFO中的数据从发送侧FIFO60读出并写入去交织器中的接收侧FIFO 64的顺序而开始,其中,所述顺序改变(例如开关70和72的顺序改变)是交织器深度D2改变的函数。如前所述,可使用顺序控制算法(如美国专利5764649中所讨论的算法)。同时,因为在第l-1个发送侧FIFO中,有许多对应于ΔD的有效数据,并且所述数据必须仍被发送以在接收侧完全地重新获得所述数据,所以其它FIFO被改变(例如通过调整读指针)成包含一些伪数据,如图5所示。就是说,各发送侧FIFO 60被改变(通过它们的读指针)成满足长度T2(z,y)=T1(z,y)-ΔT(z,y)+ΔTmin(y),如所说明的。在上述方式中,当停止对发送侧FIFO 60输入数据时(在62处没有开关交换),数据继续从发送侧FIFO 60以基于开关70上的控制电路的顺序来读出并通过基于更新的开关传送顺序的开关72传送到接收侧FIFO(例如,如由FEC控制器16、36所控制的)。以所述方式,发送侧FIFOl-1中的有效数据ΔD被传送并接收,同时,更少量的有效数据(各发送侧FIFO中的ΔD)也被传送。虽然各发送侧FIFO中的伪字节也被传送,但是所述伪字节被接收侧丢弃而不存储(例如,通过不增加与其相关联的指针)在接收侧FIFO 64中。因为数据通过环路4传送,而此时新数据没有输入到发送侧FIFO 60中(开关62断开),所以各发送侧FIFO被减少量ΔD,从而对应于所要求的交织器深度减少。该过程持续对应于ΔD×l字节的时间段,在该时间段发送侧FIFO的数据输入重新开始,接收侧停止有选择地丢弃字节,接收并存储所有输入数据。
[0083] 在本发明的上述实施例中,交织器深度的改变(ΔD)以所述改变量的量化间隔灵活地实现。然而,在此方案中引入了伪数据字节并以块格式来传送,其中,在接收侧的输出端(去交织器的输出)发生约等于ΔD*(l-1)字节的一段时间的数据流中断。根据本发明的另一实施例,提供了改变交织器深度的系统和方法,其中,所引入的有助于深度改变的伪字节在有用数据中展开或分布,从而有助于数据的基本连续的传输,并避免大量的数据传输中断。
[0084] 正如将在下面讨论中进一步理解的,本发明估计将要被传送的字节(在相应发送侧FIFO 60的输出端)和交织器输入端上在所述字节之前的字节(在原交织器数据块56中的先前字节)之间的(时间)间隔。如果所述间隔小于预定值,那么所述时间间隔太小以至于不能维持该间隔,为了使所述字节充分分离以适应与给定脉冲噪声防护(INP)等级相关联的间隔,伪字节而非所述数据字节被有选择地传输(有用数据字节的传输被延迟而并非被取代)。相反,如果所述字节之间的时间间隔大于阈值,那么所述数据字节将被传输。先前上述方式中,交织器深度的改变(ΔD)对数据传输几乎没有影响。在不考虑改变等待时间的系统或应用中,这种改进是非常有利的。
[0085] 根据本发明,通过要求使到同一交织器块的先前一字节的时间间隔被维持,脉冲噪声防护(INP)要求在交织器深度改变期间的所有时刻都能满足。因为交织器块中连续字节之间的字节间隔是D1(当前交织器深度),所以如果L1代表字节传输速率,那么所述连续字节之间的时间间隔是TD1=D1/L1。本发明的系统和方法保持TD1大于TDmin,TDmin代表将实现所需INP的字节间最小时间间隔。为维持所述INP,交织器深度之变为D2也要求TD2=D2/L2(其中L2是交织器深度改变后的字节传输速率)大于TDmin。因此:
[0086] TDmin<D1/L1,and TDmin<D2/L2.
[0087] 从而,本发明的系统和方法基于新的交织器深度(D2)来计算字节之间的间隔TD2,而如果所述间隔大于TDmin(或另一个可接受的阈值,例如大于TDmin的值),那么传输所述数据字节,因为不需要伪字节来维持在新深度上实现所需INP的字节之间的所需时间间隔。相反,如果时间间隔TD2小于TDmin,那么用伪字节代替将要传输的数据字节来传输,使得在所有时刻,所述INP被维持。通过以上所强调的估计,所述伪字节被分布在整个有用数据中而不是作为伪数据块来输入,从而使数据传输保持基本连续。
[0088] 图6说明了根据本发明确定字节之间的时间间隔的方式。在图6中,先前字节100与将通过环路4来传输的字节104之间相差时间间隔102(TDIST)。在本例中,字节传输速率在时刻106从L1变为L2,而交织器深度的改变发生在之后的时刻108。当这种情况发生时,确定所述字节100和104之间的时间间隔102必须考虑字节传输速率的改变。
[0089] 如果A1代表先前字节100和字节传输速率改变106之间以传送速率L1传输的字节数,A2代表在传送速率改变106和交织器深度改变108之间传输(以速率L2)的字节数,而A3代表在交织器深度改变108和字节104之间将被传输(以速率L2)的字节数,那么字节100和104之间的总时间间隔102为:
[0090] TDIST=A1/L1+(A2+A3)/L2.
[0091] 注意在字节传输速率106和交织器深度改变108同时发生的场合,A2=0。还请注意在交织器深度改变108发生在字节传输速率改变106之前的情况下,所述方程式变为下式:
[0092] TDIST=(A1+A2)/L1+A3/L2.
[0093] 最后,若字节传输速率在所述先前字节之后没有改变,而先前字节100’发生在时间110,则其中时间间隔102按下式计算:
[0094] TDIST=A4/L2.
[0095] 以上述方式,能确定两个字节100和104之间的时间间隔TDIST。
[0096] 本发明构思了一种控制电路,用于确定图6中字节100和104之间的时间间隔,并根据预定间隔与预定阈值的比较来选择传输待定的字节或伪字节。例如,如图7A和7B所示,控制电路和多路复用器电路120的组合位于图5所示的发送侧FIFO 60的输出端和环路4之间(例如,取代开关70的位置)。
[0097] 所述多路复用器120在一个输入端122接收发送侧FIFO之一的输出124,例如,T(z,y),其中z是0和l-1之间的整数(其中,l是代表交织器块长度的整数)。如图7A所示,发送侧FIFO124被标注为T(z,y),T(z,y)表示待定的FIFO是在时刻“y”将通过环路4来传输其数据字节126的那个FIFO。此时,所述多路复用器120或与其相关联的控制电路进行字节126(Bi,z)(例如与块“i”的FIFO#z相关联的字节)和先前字节128(Bi,z-1)(例如已被传输的原交织器块中在字节126前的字节)之间的时间间隔的计算。图7B说明了在输入到交织器之间,码字或数据块中的字节126和128之间的关系,而图6说明了交织之后所述字节(以字节100和104来说明)之间的关系,其中,所述字节被分开一时间间隔(TDIST)。
[0098] 所述控制电路和交织器120进行时间间隔计算并将所述间隔与预定阈值(例如TDmin)进行比较,并基于所述比较来传输字节126或伪字节130。更具体地说,如果所述间隔TDIST大于TDmin,那么在字节126和128之间具有足够的间隔来满足INP,因此传输字节126。相反,如果TDISY小于TDmin,那么在字节126和128之间不具有足够的间隔,因此传输伪字节
130来增加所述字节126和128之间的间隔。
[0099] 注意在上述讨论中,描述成控制电路和多路复用器在发送侧FIFO的输出端和环路之间。此外,本发明的系统和方法包括环路和去交织器的接收侧FIFO之间的控制电路(例如,在图5中的开关72处),其中,所述接收侧控制电路与所述发送侧控制电路同步运行。同样,所述接收侧控制电路使用例如相同的控制估计来确认何时发送伪字节,并且在接收后,所述控制电路丢弃所述字节并移动到下一个接收侧FIFO,而不是将所述伪字节插入接收侧FIFO。
[0100] 现在看图8,公开了根据本发明一个示范性实施例有选择地传输遍布有用数据的伪字节的方法。虽然所述方法150在下文中作为一连串的动作或事件来说明和描述,但是要理解本发明不限于所说明的这种动作或事件顺序。例如,根据本发明,除了本文中说明和或描述的之外,有些动作可按不同顺序发生和/或与其它动作或事件并行发生。此外,实现本发明的方法不一定需要所有说明的步骤。另外,本发明的方法可结合任何类型或形式的通信系统(包括但不限于DSL系统)来实现。
[0101] 方法150开始于步骤152,在该步骤算出将被传输的字节和原交织器块中其前字节之间的时间间隔TDIST。例如,如前所述和图6所示,所述间隔可基于交织器深度是否改变和/或字节传输速率是否改变以及传输的顺序来计算以确定所述间隔TDIST。然后在步骤154将所述间隔与预定阈值TDTH进行比较。如果所述间隔大于所述阈值(步骤154的“是”),那么在所述字节之间存在足够的间隔而不需要伪字节。从而方法150进行到步骤156,在该步骤将要传输的字节(Bi,z)通过环路4传输。如果在步骤154的分析结构是否定的(步骤154的“否”),那么在当前字节和其先前字节(Bi,z-1)之间不存在足够的时间间隔,因此在步骤160用伪字节代替字节(Bi,z)来传输。在任一情况下,在传输字节(Bi,z)或伪字节之后,方法150均进行到步骤158,在该步骤所述多路复用器120按照本文前面重点说明的顺序(它是当前交织器深度的函数)进入将被访问的下一个发送侧FIFO。然后,方法150对下一个将要传输的字节继续进行。注意,上述过程有个例外。发送侧FIFO#0中的字节在不进行上述检查的情况下被读出并发送。因为那些字节(Bi,0)是交织器块中的第一个字节,在所述块中它们没有先前字节。以上述方式,伪字节只在需要时传输以维持所需的INP,而这些伪字节不是作为块来传输以造成去交织器的输出端的数据传输中断,而是在所需的基础上将所述伪字节分布在整个有用数据中,从而保持系统的等待时间。
[0102] 在另一个例子中,为便于执行,上述规则可改为用上述基本规则在需要前不定期地传输伪字节。例如,在D改变之后立即为各FIFO(除了#0)传输一小块伪字节是有好处的。伪字节数量将设置成可使不需要对值A1进行乘法(或除法)就能计算与先前字节的所述间隔。对于本例,将要在前面传输的字节数为:
[0103] floor[(ΔD * z/l-Toff2(y)+Toff1(y)]-floor[(ΔD * (z-1)/l-Toff2(y)+Toff1(y)]
[0104] 在传输所述小块伪字节之后,剩余的伪字节按照上述的基本规则来传输。
[0105] 分布所述伪字节的另一个更一般的方法是:无论何时发送字节,都对所有FIFO进行与先前字节之间间隔的上述比较。当包括FIFO#0在内的任何一个发送侧FIFO的无输出字节能满足所述间隔需要时,发送伪字节。如果一个FIFO满足所述需要,那么发送该字节。如果一个以上字节满足所述需要,那么发送超过所述阈值最多的字节。如果一个以上字节具有相同的最大间隔,那么发送FIFO中具有最小数量z的字节。对于所述规则进行的更新是:现在交织器块的第一个字节也必须满足间隔需要。在本例中,在FIFO#0的输出端的交织器块第一个字节现在必须与先前交织器块的第一个字节保持一时间间隔。对于后续块的第一个字节的间隔来说,必须达到的阈值是块长度l。
[0106] 根据本发明的另一方面,伪字节可连同交织器深度的减少而遍布整个有用数据。当所述交织器深度减少时,所述深度从D1变为D2,其中D1<D2。为确定伪字节的顺序以实现所述深度改变,在一例子中,进行从D2到D1的模拟改变(假设深度增加)(以及L2到L1的模拟改变),并确定所传输的伪字节的模式。然后用所述模式通过逆反或反转所述模式的顺序来减少交织器深度。从而,根据预定的反转形式,将伪字节有选择地插入(并在接收侧FIFO丢弃)。然后,在上述方式中,会理解到增加所述深度的系统和方法可被用于通过反转时间流来减少所述深度。因为上例也反转数据流,所以我们能交换发送侧和接收侧、输入和输出、伪字节的插入和丢弃。不同于将伪字节分布在整个有用数据中,上述方法还可通过发送如前所述的块中的伪字节来使用。
[0107] 虽然上述示范性实施例公开了一种伪字节模式在整个有用数据中分布的特定方法,应理解到,为适应交织器深度的改变,同时维持整个改变过程中的INP,可使用将伪字节分布在整个有用数据中的其它方法。所以,可使用在整个有用数据中产生这种伪字节模式的任何方法并且所述方法被认为均落入本发明的范围内。
[0108] 此外,在上述例子中,在步骤154的比较中使用的预定阈值与INP需求相关联(TDmin)。作为可选的方案,可使用其它阈值并且本发明考虑了所述预定阈值的这些变化。
[0109] 根据本发明的另一方面,本发明考虑了将预定值分配给所述伪字节,不难理解,这可用来简化同步、错误检测和估计。
[0110] 此外,虽然本文给出的例子已对单个信道的交织器深度和传送速率的改变进行了描述,但是若两个信道共享同一传输媒介,则本发明可用于进行一个信道到另一个信道的数据速率无缝传输。通常,两个信道具有不同的交织。减少字节传输速率的信道将减少交织器深度,并且该过程将在所述速率改变之前完成。采用新的字节传输速率的信道将增加深度D,使得改变深度的过程在字节传输速率改变之后进行。因此,在本发明的一示范性方面中,两个信道之间字节传输速率的改变可用一个控制伪字节插入的部件来完成。
[0111] 虽然已针对一个或多个实施例对本发明进行了说明和描述,但是在不背离附加的权利要求的精神和范围的前提下,可对所说明的例子进行改变和/或更改。尤其是对于上述部件或结构(组件、设备、电路、系统)所实现的各种功能,除非以其它方式指出,用于描述这些部件的词(包括对“部件”的引用)意指对应于实现所述部件的规定功能(例如,即功能等同)的任何部件或结构,即使它们在结构上不等同于本文中说明的本发明示范性实施例中所公开的实现所述功能的结构。此外,虽然本发明的特定特征只针对几个实施例之一公开,但是这种特征可与其它实施例的一个或多个其它特征相结合,这对于任何给定的或特定的应用来说可能是需要的且有利的。此外,在详述的说明书或权利要求书中使用的词“包括(including)”、“包括(includes)”、“具有(having)”、“具有(has)”、“具有(with)”或它们的变化形式以类似于词“包含(comprising)”的方式意指“包含一切”。