具体实施方式
图1的编辑系统包括第一输入E1,用于第一一位位流x1(i),第二输入E2,用于第二一位位流x2(i)和输出O。第一输入E1通过第一延迟D1和开关S的第一位置1相连,并通过第一乘法器M1和第一低通滤波器F1和∑Δ调制器SD的输入相连。同样,第二输入E2通过第二延迟D2和开关S的第二位置2相连,并通过第二乘法器M2以及第二低通滤波器F2和∑Δ调制器SD的输入相连。可以看到,乘法器的输出信号不再是一位信号,而是多位信号。∑Δ调制器提供一位信号流y(i),所述信号被提供给开关S的第三位置S3。开关S的输出端构成编辑系统的输出O。
为了使∑Δ调制器和第一输入位流同步,编辑系统包括同步单元SU1,其接收被延迟的第一位流x1(i)和∑Δ调制器的输出位流y(i)。所述同步单元对∑Δ调制器的第一积分器状态提供校正信号ε1。此外,同步单元SU1对开关S提供开关信号。类似地,为了使∑Δ调制器和第二位流位同步,编辑系统包括第二同步单元SU2,其接收延迟的第二位流x2(i)和∑Δ调制器的输出位流y(i)。所述第二同步单元SU2对∑Δ调制器的第一积分器状态提供校正信号ε2,并对开关S提供开关信号。
在操作时,开关S可以处于位置1,来自第一输入E1的第一输入位流x1(i)被直接通过到达输出O,但是其被延迟D1延迟。当必须对第二位流进行交叉衰落时,乘法器M1被设为1,而乘法器M2被设为0。来源于两个乘法器的多位信号被分别通过低通滤波器F1和F2,随后被加在一起,然后被提供给∑Δ调制器的输入。预滤波器F1和F2的用途是防止位流x1(i)和x2(i)的高频分量能够到达∑Δ调制器的输入端。∑Δ调制器需要低频输入,否则,位流的大的高频分量可以使∑Δ调制器超载,此时∑Δ调制器可能变得不稳定。随后,被再量化的位流借助于同步单元SU1以在后面结合图2所述的方式被和原始第一位流同步。当同步处理准备完毕时,单元SU1把开关S改变到位置3,使得输出位流现在是第一输入位流的同步的再量化型式。从这个时刻,乘法器M1和M2的增益系数按照交叉衰落的规定被改变。在衰落结束时,乘法器M1的增益系数将是0,而乘法器M2的增益系数则为1,并且输出位流是第二输入位流的再量化型式。现在,再量化器必须和第二输入位流同步。这由第二同步单元SU2实现。不过,因为在这种情况下,输出和再量化器相连,所以同步不需以非常平缓的方式进行,以便避免音频噪声。在这种情况下,∑Δ调制器的积分器状态例如在20.000到30.000个循环期间被改变,而∑Δ调制器和第一位流的同步可以突然地完成。最后,当同步被完成时,同步单元SU2把开关S转换到位置2,因而输出位流是被延迟的原始的第二位流x2(i)。
通过使开关S处于位置3并取消第二同步单元SU2可以更简单地以“完全再量化”的方式进行编辑处理。虽然这种方法在算法上容易得多,因为其省去了第二同步并消除了任何点击(click)的可能性,但是其具有几个技术上的缺点。最重要的是:其意味着所述信号要经过多次再量化,因为每编辑一次,就对已经量化的信号再重新量化一次。这种多次进行再量化严重地劣化了信号质量。
图2所示的同步单元基于以下的用于导出校正信号ε的算法:
其中x(i)是输入的∑Δ调制器不需和其同步的位流,y(i)是由∑Δ调制器提供的输出位流。因为∑Δ调制器的输入信号u(i)的音频带和其输出位流y(i)基本相等,并因为公式(1)的算法具有低通性质,所以信号u(i)可被提供给同步单元SU1,代替位流y(i)。N是任何合适的预定数(例如5000),或者,此外,当获得足够的收敛时,即当校正信号ε的值基本上是常数时,N可以由同步单元自身确定。
图2表示用于实现公式(1)所示的算法的装置。所述装置包括第一级联积分器I1和I2,用于对输入位流x(i)进行重积分,以及第二级联积分器I3和I4,用于对输出位流y(i)进行重积分。每个积分器包括一个采样周期的延迟,其输出信号被加于其输入上。在减法器M中,两个级联的输出彼此相减,减法器的输出在DI除以N。可以看出,此外,输入和输出位流可以首先彼此相减,然后在一个级联的积分器中进行两次积分,不过,在这种情况下,积分器应当能够处理多位信号。
计数器CO计数头部同步单元工作的采样周期,并向除法器DI输出数N。和位流的位同步运行的时钟脉冲CL被提供给积分器和计数器。复位脉冲RS在一个新的ε确定循环开始时使计数器和积分器复位。或者当计数器N达到预定值时,或者当校正信号ε基本上是常数时,开关S2使校正信号ε和同步单元的输出相连。
公式(1)的算法,其可被称为“最小平方”算法,的缺点是,所得到的同步的精度低,并且,在实现同步之前需要许多位周期(例如20000)。利用“检索”算法,可以获得更精确的和更快的同步,下面结合图3所示的∑Δ调制器的内部电路图参照图4的流程图说明这种算法。可以注意到,图3所示的∑Δ调制器在本领域内是公知的,并且其本身不构成一个发明,但是其代表了本发明可利用的∑Δ调制器的一个优选实施例。
图3所示的结构包括一个数字低通滤波器F和量化器Q。输入信号u(n)被馈入低通滤波器F的输入端。低通滤波器的输出v(n)被输入到量化器Q,量化器的输出y(n),其构成∑Δ调制器的输出,被回馈到低通滤波器的输入。
低通滤波器F包括5个级联的积分器,每个积分器具有被加到其输入信号上的输出,它们的输出信号分别由S1(n),S2(n),S3(n),S4(n)和S5(n)表示。第一反馈乘法器将第三积分器的输出S3(n)乘以反馈系数f1,然后回馈到第二积分器的输入,第二反馈乘法器将第五积分器的输出S5(n)乘以反馈系数f2,然后回馈到第四积分器的输入。5个积分器S1(n),S2(n),S3(n),S4(n)和S5(n)中的每一个乘以系数c1...c5,然后彼此相加,从而构成低通滤波器的输出v(n)。
经过在低通滤波器的各个部分中处理的信号都是多位信号。然而量化器Q只输出其输入信号v(n)的符号位,因此,其输出信号y(n)是一位信号。由具有系数c1...c5的乘法器产生的信号v(n)由下式表示:
并且量化器Q的操作可以由下式表示:
y(n)=sign(v(n))
此外,五级乘法器的操作又由下式表示:
s1(n+1)=s1(n)+u(n)-y(n)
s2(n+1)=s1(n)+s2(n)-f1s3(n)
s3(n+1)=s2(n)+s3(n) (3)
s4(n+1)=s3(n)+s4(n)-f2s5(n)
s5(n+1)=s4(n)+s5(n)
为了帮助进一步计算,引入下面的矢量,每个由五级构成:s(n)=(S1(n),S2(n),S3(n),S4(n),S5(n)),c(n)=(c1,c2,c3,c4,c5),其表示乘法器c1...C5的值。d=(1,0,0,0,0),其表示输入和反馈是如何分配的。
此外,引入变换矩阵A,其表示积分器和反馈乘法器f1,f2的结构。对于图3所示的实施例,矩阵A具有以下的元素:
由此,公式2和4分别成为:
v(n)=cT.s(n) (6)
s(n+1)=A.s(n)+(u(n)-y(n).d (7)
重复地应用式(7),作为初始积分器状态s(0)的函数计算s(n),得到公式:
利用(3)和(6),得到下面一组不等式:
或
(9)
所述一组不等式给出了输入信号u(n),输出位流y(n),和∑Δ调制器地积分器状态s(0)之间的关系。因为同步算法的目的是使输出位流y(n)等于输入位流x(n),所以在算法中可以使用所述一组不等式,当作所述一组不等式中利用x(n)代替y(n)时,在给定的输入信号x(n)还u(n)下,利用所述算法计算积分器状态s(0),然后把计算得到积分器状态输入到∑Δ调制器。
图4是说明这种算法的流程图。所示的流程图中含有标号为St1...St11的处理步骤和三个只读存储器M1,M2,M3。
存储器M1含有矩阵A,存储器M2含有矢量d,存储器M3含有矢量cT。因此,这些存储器具有低通滤波器的结构。其它的存储器M4...M7是读写存储器。
步St1提供初始化。具体地说,计数器n被置为n=1,矩阵存储器M4被置0(即矩阵的所有的元素都设置为0)并且矩阵存储器M6被置1(即主对角线的元素被置1,其余的元素被置0)。
步St2是矩阵乘法,其乘M1和M4的内容。
步St3在此时把输入和输出信号的差u(n-1)-x(n-1)加到步骤St2的结果上,并在M4中存储加得的结果。因此,当n=1时,步St2的结果是0,因为其利用M4中的零矩阵乘以M1中的矩阵A。在下一个时刻,当n=2时,M4的内容再次乘以矩阵A,因此步St2输出(u(0)-x(0))A+(u(1)-x(1))。当n=3时,St3输出(u(0)-x(0))A2+(u(1)-x(1)A+(u(2)-x(2))等等。因此步St3的最终结果是一个矩阵,其等于:
在步St4这个矩阵把M2中的矢量d变换为一个新的矢量:
在步St5,这个矢量乘以M3中的矢量cT和x(n),从而获得标量值:
在步St6,这个值被存储在存储器M5中,以便构成具有n个元素的矢量h,其在每个时刻n增加一个元素。
在步St7,矩阵A乘以存储在存储器M6中的矩阵。在时刻n=1,存储器M6借助于初始化含有所述矩阵,因此在步St7的结果是A。这个结果被存储在存储器M6中。在下一个时刻n=2,步St7将M5中的矩阵A乘以M6中的矩阵A,因此这一步的结果是A2。最后,在步St7的结果是An。
在步St8,矩阵An乘以M3中的矢量cT和x(n),从而获得矢量x(n).cT.An。
在步St9,所述矢量x(n).cT.An被存储在存储器M7中,以便构成矩阵G,其一维等于矢量的长度(例如=5),而其它的维等于n。
在步St10,计算第n个测算_’n(0)。这利用M5和M7的内容对n个不等式关系G._’n(0)>h(9)进行。其中n越大,则考虑的不等式越多,对于_’n(0)的解的区域越窄。但是将保留多个解。可以通过选择|_’n(0)|=min!求取∑Δ调制器的初始积分器状态的一种估算。这一步被称为解二次规划问题,其本身可以从C.L.和Hanson,R.J.的“Solvingleast squares problems”,Prentice Hall,1974得知,该文件被列于此处作为参考。
在步St11,计算新求出的第n个估算_’n(0)和先前求得的第n-1个估算_’n-1(0)之间的差ε=|_’n-1(0)-_’n(0)|。当所述差ε尚不足够小时,计数器被增加(n:=n+1),并且所述算法返回步St2。如果所述的差ε足够小,则所述算法使在步St10求出的矢量_’n(0)乘以在步St7中的输出An,并把乘得的结果加到在步St4获得的结果上(这些步骤在图4的流程图这没有示出)。上述的公式(8)表示,这样操作的结果是估算_’n(n),即在时刻n的积分器状态的计算值。这些积分器状态被施加到∑Δ调制器的各个低通部分,其使由∑Δ调制器产生的位流和输入位流x(n)同步。
图5表示一种应用,其中最好使用图4所示的算法。这种应用是一种用于压缩和解压一位位流的系统,为了使在传输中的带宽或在存储所述位流信号时使用的存储容量最小。
在图5的压缩器部分中,输入的一位位流x(n)被提供给低频预测器P1,其把输入的一位位流不经延迟地转换成低频数字信号u(n)。这个LF信号u(n)接着被提供给∑Δ调制器送到。同步单元SU3接收输入的位流x(n)和LF信号u(n),并对∑Δ调制器提供积分器状态更新s(n)。这种操作最好利用参照图4所述的算法进行,因为所述的算法精确,而且速度快。∑Δ调制器的输出位流y(n)和输入位流都被提供给位无效发生器B1,其在两个位流相等时产生0,并且当x(n)和y(n)不相等时使x(n)通过。当∑Δ调制器被正确地同步时,两个位流相等,因而单元B1将产生0位流。因此,在不同步的情况下,单元B1将产生一个误差信号。
积分器状态更新s(n)和误差信号b(n)通过任何传输或存储介质被传递给扩展器部分。可以注意到,为了进行所述传递,所述两个信号可以用本领域中任何已知的方式被进一步压缩。例如,因为误差信号b(n)通常具有许多0,所以可以通过熵编码使所述信号被进一步压缩。
在图5的扩展器部分,积分器状态更新s(n)被提供给∑Δ调制器SD3,其输出位流y(n)连同接收的误差信号b(n)一道被提供给位无效接收器B2。这个单元产生一个(可能)等于x(n)的位流,因为在y(n)和x(n)之间没有误差的情况下,其使位流y(n)通过到达其输出端,并且在其它情况下,其通过b(n)=x(n)。位流x(n)被提供给预测器P2,所述预测器P2最好和压缩器的预测器P1相同,并且预测器P2的输出是被提供给∑Δ调制器SD3的输入端的低频信号u(n)。应当注意,在图5的压缩器部分和扩展器部分中,使用了相同的标号x(n),y(n),和u(n),以便清楚地表示相应的元件接收相应的信号。当然,当∑Δ调制器未被正确同步时,在压缩器侧和扩展器侧的相应的信号可能不同。
应当注意到,在压缩器和扩展器之间的主要信号由积分器状态更新s(n)构成。所述系统的压缩速率是尤其有效的,这是因为新的一组积分器状态更新不需要在位流的每个采样周期被传递。这是一种折中的方式:较少的s(n)更新引起较多的位无效b(n)。在另一方面,许多s(n)更新引起“完美”的同步,因而没有位无效。