在csd滤波器中处理信号的方法及适用于该方法的电路的制作方法

文档序号:7511273阅读:513来源:国知局
专利名称:在csd滤波器中处理信号的方法及适用于该方法的电路的制作方法
本案是申请日为1996年9月20日、申请号为96113110.1、题为“在CSD滤波器中处理信号的方法及适用于该方法的电路”的专利申请的分案申请。
本发明涉及在采用CSD(Canonic Signed Digit,规范的带符号数字)码的滤波器中处理信号的方法及适用于该方法的电路,更具体说,涉及在CSD滤波器中处理信号的方法及适用于该方法的电路,所述方法能改进滤波器的性能,并通过增加换算因子(scaling factors)的分辨率能适应许多种类型的滤波器。
数字滤波器是用于处理数字信号的最重要和最常用的部件。数字滤波器包括延迟器,乘法器和加法器。数字滤波器的最简单形式是没有延迟的乘法器。这类滤波器主要用来处理信号,例如用来控制增益。
数字滤波器的复杂性主要取决于它的长度,而后是由输入信号的位数、乘法器的系数即滤波器系数及加法器的位数所决定的位分辨率。
数字滤波器通常包含多个乘法器。这些乘法器占据很大区域且消耗很多功率。当电路被集成时,它们限制了放在一个芯片上的解决办法。事实上,在数字信号处理的应用中,当用滤波器实现多种功能时,由于采用放在一个芯片上的方案,近来已使用短于所需长度的数字滤波器。依靠固定系数双线性特性的内插滤波器就是一个例子。
在这方面,功夫花在通过简化数字滤波器的乘法器来减小硬件复杂性。下功夫的一个例子是研究使用CSD码乘法器的数字滤波器。
为了得到使用CSD码的滤波器,所设计滤波器的所有实系数都必须变换成CSD系数。然而,当简单地用量化实现变换时,滤波器性能在很大程度上变差。因此,在下面文章中提出了许多优化技术(1)“FIR filter design overa discrete powers-of-two coefficients space(在2的乘方离散空间上有限冲激响应滤波器的设计)”作者Y.C.Lim和B.R.Parker,IEEE Trans.on Acoust.,SPeech and Signal Processing,Vol.ASSP-31,pp.583-591,June 1983;(2)“A semple design of FIR filters with Powers-of-two coefficients(具有2的乘方系数的有限冲激响应滤波器的简易设计)”作者Q.Zhao和Y.Tadokoro,IEEE Trans.on Circuit arnd System,Vol.35,no.5,pp.566-570,May 1988;及(3)“An improved search algorithm for the design of multiplierless FIR filterswith powers-of-two coefficients(用于具有2的乘方系数的无乘法器有限冲激响应滤波器设计的改进搜索算法)”作者Henry Samueli,IEEE Trans.,onCircut and System,Vol.36,no.7,pp.1044-1047,July 1989。
在参考文献(1)中,最佳变换的实现是通过优化实系数,对其量化及用“混合整型线性编程算法(a mixek integer Linear Programming algorithm)”而得到的。
在参考文献(2)中,为了克服包含在参考文献(1)的优化技术中计算时间太长的问题及可转换滤波器长度限制在大约40个抽头的问题,提出了一种准最优算法,以同时利用时间域和频率域,从而实现最优变换。
在参考文献(3)中,通过使用最优换算因子和局部双变量搜索算法,使参考文献(2)的算法得以改进,并且,增加了非零数字位的数目L以补偿在实系数变换成初始CSD系数期间产生的量化误差。参考文献(3)所提出的当滤波系数是0.5或大于0.5时,增加非零数字位的配置虽然可以用于固定类型的滤波器,但是它实质上增加了位数,使在自适应滤波器或多相滤波器中硬件如此复杂,以致这种硬件不能采用。
上述参考文献所述的最优算法需要大量计算,并且不能用于自适应滤波器和多相滤波器中,因为变换是基于频率域中通带和阻带的波动。
而且,这些算法难以用到不能从频率域的波动获得系数变换的滤波器中。例如,这些算法不能用于去除码间串扰(ghost)的均衡滤波器或去码间串扰滤波器中。因此,对这些滤波器,利用剩余码间串扰的量来把实系数变换成CSD系数。
此外,根据上述参考文献提出的优化技术,不能克服具有不均匀特性的CSD码的局限性,因为对所有滤波器系数赋予单一变换因子效果差且降低了滤波器的性能。
本发明的意图是防止发生上面的问题。本发明的一个目的是提供在CSD滤波器中处理信号的方法,其中实系数直接在时间域中被变换成以CSD码表示的滤波器系数,而不在频率域中作优化变换。
本发明的另一目的是提供在CSD滤波器中处理信号的方法,其中变换因子的数目被调整以增加这些变换因子的分辨率,而不增加预定的非零数字位数,这种方法可适用于许多种滤波器。
本发明的又一个目的是提供在CSD滤波器中处理信号的方法,其中用通过实系数部分优化得到的分组变换因子将实系数变换成CSD系数。
本发明的又另一个目的是提供在CSD滤波器中处理信号的方法,其中,经多个换算因子变换的CSD系数由多个逆换算因子处理,这些多个逆换算因子分别对应于多个换算因子。
本发明的再一个目的是提供适用于在CSD滤波器中处理信号的上述方法的CSD滤波器电路。
为达到上述目的,提供一种在CSD滤波器中处理信号的方法,其中该CSD滤波器具有所需的滤波器特性,该特性用CSD码表示的滤波器系数而获得,所述方法包括以下步骤(a)获得向滤波特性优化的实系数;(b)对每个实系数计算换算因子,使在实系数变换成CSD码期间的误差最小;(c)通过使用对实系数计算的换算因子,产生最优CSD系数;以及(d)通过使用CSD系数来对输入数据滤波。
提供了一种具有所希望的滤波特性的N抽头CSD滤波电路,该特性通过用CSD码表示的滤波器系数而得到,所述此电路包括N-1个顺序连结的单元延迟器,用于延迟输入数据;一个CSD系数发生器,用于把根据CSD系数的滤波器特性得到的每个实系数乘一增益而变成为CSD系数,即,为实系数计算使该实系数和CSD系数之间的误差为最小的换算因子,并用所计算的换算因子形成最优CSD系数;N个CSD乘法器,用于将CSD系数乘以输入数据及N-1个单元延迟器的输出;N个计算器,用于用逆换算因子计算N个CSD乘法器的输出,其中这些逆换算因子是为实系数计算的换算因子的倒数;以及加法器,用于把N个计算器的输出相加并形成最终的滤波器输出。
本发明的上述目的及优点,通过优选实施例及其相关附图的详细说明将变得更为明显,其中

图1说明CSD系数的分布;图2是说明处理CSD滤波器中信号的传统方法的原理图;图3是CSD滤波器的电路图,用于实现图2所示的方法;图4的原理图说明根据本发明的一实施例在CSD滤波器中处理信号的方法;图5是CSD滤波器的电路图,用于实现图4所示的方法;图6是图5中所示的CSD乘法器的详图;图7的原理图说明根据本发明的另一实施例在CSD滤波器中处理信号的方法;图8是CSD滤波器的电路图,用于实现图7所示的方法。
下面来说明处理CSD滤波器中信号的方法及适用于该方法的电路的优选实施例。
CSD码的一般特性参考图1说明如下。
CSD码对固定数目的数字位赋予“-1”或“1”,而对余下的数字位则赋予“0”。CSD码X如下式所示X=Σk=1LSk2-Pk........(1)]]>其中系数Sk∈{-1,0,1}是第k位数字的值,pk∈{0.1,......,M},M表示全部数字位的数目,L表示不为“0”的数字位(下文称为非零数字位)的数目。这就是说,具有“-1”或“1”也就是非零值的位数是L或小于L。CSD表达式的定义是任意2个非零值的系数Sk彼此不相邻的最小表达式。
例如,127/128,它等于0.9921875,在通常二进制码中,计算成“0.1111111”,这样具有7个非零位。在CSD码中,因为用“L=2”表示,其值为“1.0000001”。这里,1表示“-1”。
与一般的以2为底数的2进制码相比CSD码的优点是由于用负数位而得到灵活性,它认可用较小的非零位来表示。
利用CSD码表示滤波器系数(在下文称为“CSD系数”)的滤波器中,为作乘法所需的加法/减法操作的次数可通过限制L而减少。这就是说,在使用CSD系数的滤波器中,由于固定位数系数为“-1”或“1”,CSD乘法器可以用L个移位器和L-1个加法器/减法器构成。因此,在滤波器中每个乘法器所需的加法器/减法器的数目比L小1。结果,数字滤波器的硬件尺寸可缩小。
图1描述了为具有2和3个非零数字位的6位和8位码设定的CSD系数的分布,其中◇(6位)表示L=2和M=6的情况,+(6位)表示L=3和M=6,□(8位)表示L=2和M=8,而x(8位)表示L=3和M=8的情况。如图1所示,CSD系数的分布是不均匀的,且CSD系数集中在CSD系数值小的区域内。M和L值越小,CSD系数分布越不均匀,然而,由于在滤波器中计算的频率随着M和L增大而增加,需要有效的且使M和L变小的CSD系数转换。
在具有这些特征的CSD滤波器中,一个实数的实滤波器系数(在下文称为“实系数”)并不直接地转换成CSD系数,而是用比例因子乘实系数,以便重新调整实系数的大小,然后转换成CSD系数。用这种方法,当比例因子小于1时,在CSD系数的相对低分布密度区域中的具有比较大数值的实系数被转换成在CSD系数的相对高分布密度区域中的具有比较小数值的CSD系数。
使用换算因子即比例因子的前提是不管对变换的系数和实系数怎样分配预定增益,两个系数具有相同的规一化频率特性。也就是,通过使用换算因子,实系数能转换成CSD系数,因为滤波器的增益并不影响滤波器的频率特性。
然而,通过换算因子把实系数变换成CSD系数时,可增加或减小滤波器的增益。增益变化带来的问题可用换算因子倒数的逆换算因子乘以CSD系数而减轻。通过换算因子的处理和逆换算因子的处理,可以减少在实系数变换成CSD系数期间产生的量化误差(下文称“变换误差”)利用换算因子的传统方法和电路,将参考图2和图3予以说明。
通常,N抽头滤波器的输出y(n)相对于输入信号x(n)的关系为y(n)=Σk=0N-1x(n-K)h(k)........(2)]]>
在传统方法中的换算因子,选择得使如下公式(3)和(4)给出的实系数h(n)和它最接近的CSD码h(n)之间的误差为最小,其中CSD码h(n)由实系数h(n)乘以增益A而得到。E(A)=Σk=0N-1(h(n)-h‾(n)/A)2......(3)]]>h(n)=[A·h(n)]..........(4)其中[]指的是CSD变换,在该变换中实系数h(n)简单地被量化成所给定的CSD码的最接近值。
如上所述,换算因子广泛地在CSD应用中使用,因为,由CSD码的不均匀特性导致的变换误差,通过施加预定的换算因子增益得以减小,其前提是频率特性不变,不管由换算因子附加的滤波器增益是多少。
图2是传统方法的原理图,该方法通过使用方程式(3)和(4)所给出的换算因子来处理滤波器中信号。
图2中,方块110表示在CSD系数发生器中所实现的操作。如果CSD滤波器的系数数目固定,用具有足够计算能力的通用微处理器或控制器被用作计算。CSD滤波器120是建立在CSD乘法器,加法器等基础上的。
图2所示的信号处理方法将在下面步1到步6中说明。
步1根据相应的滤波器功能,如高通滤波或低通滤波,利用滤波器设计算法(或工具)得到N个最优实系数(coef-o-coef-(N-1))。
步2对于预定的L,用方程(3)和(4)计算出单个换算因子,通过该单个换算因子,N个实系数被变换成最近似的CSD系数(第一CSD系数)。
步3根据波动量在频率域中使用优化算法。
步4用优化算法从第一CSD系数中形成优化的CSD系数(第2 CSD系数CSD coef-o-CSD coef-CN-1)。
步5在CSD乘法器中,输入数据乘以优化的CSD系数(该操作称为“CSD乘法”)。
步6用单个逆换算因子去操作步5中乘法的结果,形成最终的滤波器输出,该单个逆换算因子是换算因子的倒数。
图2所示方法中所用的优化算法,因为频率特性的波动被用作变量,随之负担了大计算量和长的计算时间。
而且,当频率域的优化方法不能得到时,如在自适应滤波器和多相滤波器中,或当变换特性无法根据波动量算出时,如在去码间串扰滤波器和用于去除码间串扰的均衡滤波器中,上述方法是难以使用的。
图3是4抽头CSD滤波器的电路图,用来实现图2所示的方法。
在图3中,4抽头CSD滤波器包括三个单元延迟器121-123,它们顺序相连,用来延迟输入数据;第一CSD乘法器124,它把输入数据乘以CSD系数coef-o;第二CSD乘法器125,它把第一单元延迟器121的输出乘以CSD系数coef-1;第三CSD乘法器126,它把第二单元延迟器122的输出同CSD系数coef-2相乘;第四CSD乘法器127,它把第三单元延迟器123的输出同CSD系数coef-3相乘;第一加法器128它把第一和第二CSD乘法器124和125的输出相加;第二加法器129,它把第三和第四CSD乘法器126和127的输出相加;第三加法器130,它把第一和第二加法器128和129的输出相加;以及逆换算器131,它用单个逆换算因子换算第三加法器130的输出。
在图3中,CSD系数发生器110,为了简便起见,分两部分画出。正如参照图2所描述,CSD系数coef-o到coef-3由CSD系数发生器110输出,它们是第二CSD系数,是通过换算因子及频率域内优化由实系数变换成最近似的CSD系数而得到的。逆换算因子是换算因子的倒数。
根据图3所示传统方法的4抽头CSD滤波器存在一些问题,即它在CSD系数发生器110中,把实系数变换成CSD系数化费时间太多,且由于在变换因子选择中包含初始变换误差,使变换性能欠佳。
因此,为了克服在CSD滤波器中传统转换方法存在的问题,本发明者提出了一种足够有效的变换方法,即根据CSD系数的特性,用多个换算因子和多个逆换算因子,对预定数量的非零数字位只在时间域内转换。所提出的方法有效地去除或分散了多个换算因子的不均匀特性导致的变换误差,因此,使得用CSD系数做信号处理变得实用。另外,在本发明中换算因子自身的处理,被用来作变换的优化,而换算因子处理在传统CSD滤波器中只起频率域变换优化的预滤波作用。因此,变换的优化这一步就不需要了,因而能够减少计算时间。
下面来说明本发明通过在时间域内控制变换因子把实系数变换成CSD系数的方法。
对设计成具有所需特性的滤波器中,实系数必须变换成其近似的CSD系数。
为此目的,方程式(3)和(4)修改成方程式(5)和(6),以使分配给每个滤波器系数(实系数)一个换算因子。
理论上,当分别的换算因子和逆算因子被赋给每个滤波系数时,h(n)完全可以等于h(n),即使L=1。
因此,通过至少将一个换算因子/逆换算因子赋给每个滤波系数即通过增加换算因子的分辨率,不增加L但改进变换性能的CSD系数变换是可能的。E(A)=Σk=0N-1(h(n)-h‾(n)/An)2.......(5)]]>h(n)=[An·h(n)]..........(6)这里,赋给每个实系数h(n)的换算因子被改变和调节,以使方程(5)得到的实系数h(n)和它的最近似CSD码之间的误差平方和为最小值。随着换算因子分辨率的增加,E(A)的值变得比传统方法小得多。这种方法免除了在频率域中优化的需要,从而明显地减少了计算负担和计算时间。
如果在方程式(5)和(6)中A0=A1=,......=AN-2=AN-1=A,方程式(5)和(6)就产生与方程式(3)和(4)相同的结果。
方程式(5)和(6)可作如下修改,使每个系数的误差最小。
E(A)=(h(n)-h(n)/An)2..........(7)h(n)=[An·h(n)]这里n=0,1,2,......N-1。
从修改的方程(7),可分别得到和应用使每个系数的E(Ak)为最小的换算因子。因此,实系数可能完美地变换成CSD系数。这就是说Σn=0N-1E(An)0........(8)]]>实际上,换算因子和逆换算因子很可能不是实数,而取2的乘方或CSD的形式。尽管如此,按方程(8)得到了近似值。
在传统方法中,所有系数的换算因子具有相同的值,即SF-0=SF-1......SF-N-1=SF(=A)。
图4原理性地表示了按本发明在SCD滤波器中处理信号的方法。
在图4中,方块210表示在CSD系数发生器中实现的操作,一个具有足够计算能力的通用微处理器或控制器可用于做计算。CSD滤波器220由CSD乘法器,加法器等组成。
图4所示的信号处理方法将在步11到步15中说明。
步11N个最优实系数(coef-o-coef-(N-1))按照相应的滤波器功能用滤波器设计工具得到。
步12对应于各个实系数的换算因子(SF-O-SF(N-1))接预定的非零数字位的数目L用方程式(6)和(7)计算出来。
步13用计算出的换算因子将实系数变换成它们最近似的CSD码,这些CSD码是最优CSD系数(CSD coef-o-CSD coef-(N-1))。
步14输入数据是与所变换的最优CSD系数作CSD相乘。
步15步14的乘法的结果用N个逆换算因子(RSF-O-RSE-(N-1))换算以产生最后的滤波器输出,其中的这些逆换算因子是步12中得到的换算因子的倒数。
因此,图4所示的得到CSD系数的方法免除了传统方法所需的在频率域中优化的需要。因此,能显著减少计算负担和计算时间。
本发明能减少由于在参考文献(2)中所用局部搜索算法的不正确换算因子引起的起始变换误差。本发明改进了计算速度和变换性能,因而,它能适用于用固定滤波器系数的固定型滤波器,也适用于用可变滤波器系数的多相滤波器和自适应滤波器。
图5是实现图4所示的方法的4抽头CSD滤波器的电路图。
在图5中,4抽头CSD滤波器包括三个单元延迟器221-223,它们顺序相连,用来延迟输入数据,包括第一CSD乘法器224,它把输入数据乘以CSD系数coef-o;第二CSD乘法器225,它把第一单元延迟器221的输出乘以CSD系数coef-1;第三CSD乘法器226,它把第二单元延迟器222的输出乘以CSD系数coef-2;第四CSD乘法器227,它把第三单元延迟器223的输出乘以系数coef-3;第一到第四逆换算因子228-231,用于换算第一到第四乘法器224-227的输出;以及加法器232,它把第一到第四逆换算因子228-231的输出相加,以产生最终的滤波器输出。
这里,正如结合图4所描述的,从CSD系数发生器210输出的CSD系数coef-o到coef-3是根据从方程式(6)和(7)计算出的第一到第四换算因子将按照滤波特性产生的实系数进行变换而得到的。
CSD系数发生器210可以包括一个微处理器,它根据滤波特性得到实系数,用增益乘以实系数得到它的近似CSD码,再计算每个实系数的换算因子,使实系数和所转换的CSD码之间的误差最小;还包括一移位器,用于移位CSD码换算的系数,以使在能用2-SF表示的换算因子的情况下,产生最佳CSD系数。该移位器可以用CSD乘法器来替代。
还有,逆换算器228-231可包括移位器或CSD乘法器,移位器用逆换算因子移位乘法器224-227的输出,CSD乘法器把乘法器224-227的输出乘以逆换算因子。
这里,当换算因子的计算是由移位器实现时,由于逆换算因子的计算也是由移位器实现的,所以不需要有另外的硬件。这时,换算因子和逆换算因子用2-SF来表示。
CSD乘法器可由L个移位器和L-1个加法器/减法器组成,如图6所示。图6表示第一乘法器224,给定L=2。
参照图6,CSD乘法器224包括二个移位矩阵变换电路224.1和224.2用来接收输入数据,根据CSD的系数值移位输入数据并输出结果;二个2的补码转换器224.3和224.4,它把移位矩阵变换电路224.1和224.2的输出转换成2的补码,因为从CSD系数发生器220产生的CSD系数的“1”为已知;以及加法器224.5,用来把2的补码转换器224.3和224.4的输出相加。这里,只在高速方式下工作的寄存器224.6可附加连到加法器224.5的输出端。还有,若CSD滤波器是自适应型的,移位矩阵变换电路可以用桶形移位器所代替。若CSD滤波器是固定型的,移位矩阵变换电路可用移位器来代替,这种移位器简单地管理输入和2的补码转换器之间的连结。2的补码转换器由一个反相器和一个加法器组成。为作加法,可利用加法器224.5和加法器在抽头之间的各个进位输入。
下面来说明图6所示的CSD乘法器的操作。移位矩阵变换电路224.1和224.2根据CSD系数发生器210形成的CSD系数的值移位存贮的数据。2的补码转换器224.3和224.3把移位矩阵转换电路224.1和224.2的输出转换成2的补码,其中CSD系数的“1”为已知,但它们并不对其“1”或“0”作出响应。加法器224.5把2的补码转换器224.3和224.4的输出相加。
然而,如果使误差最小的换算因子和逆换算因子如上所述赋给各自的实系数,硬件规模要增加,尽管计算快了和转换性能改进了。因此,在实际应用中,考虑到硬件的规模,需要限制变换因子的分辨率。这样,对应滤波系数的换算因子需要按照它的接近度加以分组。另一方面,如果换算因子/逆换算因子的计算仅由移位器实现,则硬件的规模并不增加。
在本发明的另一实施例中,换算因子通过按照滤波系数的位置或它的大小上的相似性对它们分类来分成较少数量的组,以限制它们的分辨率。
也就是,在前一情况下,同样的换算因子在预定数字位上被赋给实系数。这可有用地应用于多相滤波器。在后一情况下,使E(A)最小的换算因子的组合是从类似的换算因子分在同一组中的换算因子组合中选择的。
图7是一方法的原理图,该方法按照本发明的实施例用来处理具有二个换算因子的滤波器中的信号。
参考图7,方块310代表在CSD系数发生器中实现的操作。通用微处理器或控制器用于作具有足够计算能力的计算。CSD滤波器320由CSD乘法器,加法器等等构成。
图7所示的信号处理方法在步21到步25中说明。
步21N个实系数(coef-o-coef-(N-1)根据相应滤波器的特性,用滤波器设计工具得到。
步22通过对预定数字位上的系数赋给同一换算因子或根据CSD系数的特性按照它们的相似性对实系数的换算因子分组而计算预定数目(在此为2)的换算因子(SF_O和SF_1)。这些换算因子由方程式(5)和(6)计算而得。
步23通过分组而得到的二个换算因子将实系数转换成CSD码。这些CSD码是最优CSD系数(CSD coef-o-CSD coef-(N-1)。
步24将输入数据与最优CSD系数作CSD相乘。
步25步24的乘法的结果分别由两个逆换算因子(RSF_O和RSF_2)换算以最后形成滤波器输出,其中的逆换算因子是分别在步22所得的换算因子的倒数。
如果如图7所示将换算因子分组,例如,把分别的换算因子赋给多相滤波器中的每个滤波器组,则可以改进滤波器的整个性能。
此外,如果实系数通过多个换算因子转换成第一CSD系数,然后如同传统的CSD滤波器那样,最优的CSD系数根据频率域中的波动用优化的算法产生,则转换性能进一步改进。
图8是一个4抽头CSD滤波器的电路图,用于实现图7所示的方法。
在图8中,4抽头CSD滤波器包括三个单元延迟器321-323,它们顺序连结,用来延迟输入数据;第一CSD乘法器324,它把输入数据乘以CSD系数coef_o;第二CSD乘法器325,它把第一单元延迟器321的输出乘以CSD系数coef_1;第三CSD乘法器326,它把第二单元延迟器322的输出同CSD系数coef_2相乘;第四CSD乘法器327,它把第三单元延迟器323的输出同CSD系数coef_3相乘;第一加法器328,它把第一和第二CSD乘法器324和325的输出相加;第二加法器329,它把第三和第四乘法器326和327的输出相加;第一逆换算器330,它用第一逆换算因子换算第一加法器328的输出;第二逆换算器331,它用第二逆换算因子换算第二加法器329的输出;以及加法器332,它把第一和第二逆换算器330和331的输出相加,以输出最后的滤波器输出。
这里CSD系数coef_o和coef_3是用第一和第二换算因子将根据滤波器特性产生的第一到第四实系数转换而得到的,其中第一和第二换算因子如上所述按照CSD系数的特性分组而成。第一和第二逆换算因子分别是第一和第二换算因子的倒数。
在图5中表示了本发明理想的实施例,在每个系数计算中都要涉及RSF(逆换算因子),这样,硬件可能增加。然而,如果计算由移位器实现,则硬件并不增加,系数的转换速度快,并且由于换算因子的高分辨率转换性能极好。
同时,图8所示的实施例中,换算因子的分辨率被限制为一预定数,以减小硬件规模。这里,在实际滤波器中RSF的计算同图5的理想情况相比显著地减少了。
也就是,在本发明中性能与换算因子分辨率同硬件复杂度之间有折衷的关系。
而且,当换算因子或逆换算因子的换算仅靠移位器实现时,可防止硬件规模的增加,尽管变换性能稍受限制。
本发明通过使用至少二个换算因子而减少了因滤波器系数之间的差别引起的变换误差,而传统的方法对所有实系数使用单一换算因子。此外,本发明通过增加换算分辨率来改进变换性能,而参考文献(3)则用位分辨率来减少变换误差。
如上所述,通过在时间域中把实系数变换成CSD系数,而不是在频率域中处理,根据本发明的方法改进了处理速度。而且本发明用固定数目的非零数字位来增加位分辨率,从而能应用于许多类型的滤波器,如自适应滤波器或多相滤波器。
权利要求
1.一个通过用CSD码表示的滤波器系数而得到所需滤波器特性的N抽头CSD滤波器电路,它包括N-1个顺序相连的单元延迟器,用于延迟输入数据;一个CSD系数发生器,用来对每个实系数计算换算因子,使所说实系数和所说最接近的转换成CSD码的系数之间的误差最小,其中所说最接近的CSD码系数通过按滤波特性得到的实系数同预定增益相乘,并通过使用所说计算的换算因子形成最优CSD系数而得到;N个CSD乘法器,用于把N-1个单元延迟器的输出同CSD系数相乘;N个逆转换器,用于用逆换算因子换算N个CSD乘法器的输出,其中这些逆换算因子是为所说实系数计算出的换算因子的倒数;以及一个加法器,用于把N个逆换算器的输出相加,并形成最后的滤波器输出。
2.根据权利要求1所说的CSD滤波器电路,其中所说的每个CSD乘法器包括移位矩阵变换电路,其数目和CSD系数中非零数字位数L相等,用来按照所说CSD系数发生器中产生的CSD系数的每个数字位的值移位所说输入数据;L个变换器,用来把L个移位矩阵变换电路的输出变换成2的补码;以及L-1个加法器,用来把L个转换器的输出相加。
3.根据权利要求2所说的CSD滤波器电路,其中如果所说CSD滤波器是一个自适应型滤波器,则所说移位矩阵变换电路包括一个桶式移位器。
4.根据权利要求2所说的CSD滤波器电路,其中如果所说的滤波器是固定型的,则所说的移位变换矩阵电路包括一移位器。
5.根据权利要求2所说的CSD滤波器电路,其中所说L个变换器的一个包括一个反相器和一个加法器,以仅在所说CSD系数具有“-1”的数字位上,把相应的移位矩阵变换电路的输出变换成2的补码。
6.根据权利要求1所说的CSD滤波器电路,其中所说的N个逆变换器的每一个包括一些移位器,用于按照每个逆变换因子的值对每个CSD乘法器的输出移位,并输出移位的结果。
7.根据权利要求1所说的CSD滤波器电路,其中N个逆变换器中的每一个包括一个CSD乘法器,用于将每个CSD乘法器的输出同每个逆变换因子相乘。
8.根据权利要求1所说的CSD滤波器电路,其中所说CSD系数发生器电路包括一个微处理器,用于根据所说滤波器特性得到实系数,并为每个所说实系数计算换算因子,使所说实系数和最接近的转换成CSD码的系数之间的误差最小,其中所说CSD码系数由实系数同预定增益相乘而得到;以及一个移位器,用来移位所说转换成CSD码的系数,并通过使用所说换算因子形成最优CSD系数。
9.一个通过用CSD码表示的滤波器系数而得到所需滤波器特性的N抽头CSD滤波器,它包括N-1个顺序相连的单元延迟器,用于延迟输入数据;一个CSD系数发生器,用于通过使用多个(M)换算因子而产生CSD系数,使所说实系数和最近似的转换成CSD码的系数之间的误差最小,其中最近似的转换成CSD码的系数由所说实系数同预定增益相乘而得到;N个CSD乘法器,用于把所说的N-1个单元延迟器的输出同通过所说M个换算因子产生的CSD系数相乘;M个加法器,用于把CSD乘法器的输出相加,其中这些乘法器在N个CSD乘法器的输出中已经乘以相同的换算因子;M个逆换算器,用于用M个逆换算因子换算所说的M个加法器的输出,其中M个逆换算因子是所说的M个换算因子的倒数;以及一个加法器,用于把所说M个计算器的输出相加,并形成最后的滤波器输出。
10.根据权利要求9所说的CSD滤波器电路,其中所说CSD系数发生器根据CSD系数的特性对以预定数字位表示的实系数分组,把所说分组后的实系数乘以预定增益从而得到最近似的变换成CSD码的系数,以及对每组实系数计算换算因子使所说实系数和所说转换成CSD码的系数之间的误差平方和最小。
11.根据权利要求9所说的CSD滤波器电路,其中所说CSD系数发生器为每个实系数计算换算因子使得在所说实系数和将所说实系数与预定增益相乘而得到的转换成CSD码的系数之间具有最小的误差平方和,按照所说换算因子在数值上的相似性对所说换算因子分组,以及形成多个换算因子。
12.根据权利要求9所说的CSD滤波器电路,其中所说的N个CSD乘法器包括移位矩阵变换电路其数量和CSD系数中非零数字位数目L相等,用来按照所说的CSD系数发生器中产生的CSD系数的每个数字位的值移位输入数据;L个变换器,用来对所说L个移位矩阵变换电路的输出按所说CSD系数变换成2的补码;以及L-1个加法器,用来将所说的L个变换器的输出相加。
13.根据权利要求9所说的CSD滤波器电路,其中所说M个逆换算器中的每一个包括一个移位器,用于根据多个逆算因子中的每一个的值,对所说M个加法器中的每一个的输出进行移位,并输出移位结果。
14.根据权利要求9所说的CSD滤波器电路,其中所说M个逆换算器中的每一个包括一个CSD乘法器,用以把所说M个加法器中的每一个的输出同多个逆换算因子的每一个相乘。
15.根据权利要求9所说的CSD滤波器电路,其中所说CSD系数发生器包括一个微处理器,用于根据所说的滤波器特性得到实系数,把所说的实系数同预定增益相乘,从而得到最近似的转换成CSD码的系数,以及为每个实系数计算换算因子使在所说实系数和所说的转换成CSD码的系数之间的误差最小;以及一个移位器,对所说转换成CSD码的系数移位,并用所说换算因子产生最优CSD系数。
全文摘要
一种在CSD滤波器中处理信号的方法,包括得到向滤波特性优化的实系数;为每个实系数计算换算因子使实系数和所变换的CSD码之间的误差最小;用所计算的换算因子产生最优CSD系数;用最优CSD系数对输入数据滤波。本方法中,实系数变换成CSD系数在时间域中实现。同频率域中的变换相比,非零数字位数固定的情况下,操作速度得以改进,位分辨率得以增加。本发明能应用于自适应滤波器和多相滤波器。
文档编号H03H17/06GK1391345SQ0113537
公开日2003年1月15日 申请日期2001年10月9日 优先权日1995年9月30日
发明者李命焕 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1