降低自适应滤波器中计算复杂度的方法

文档序号:6567844阅读:427来源:国知局
专利名称:降低自适应滤波器中计算复杂度的方法
技术领域
本发明总的来说涉及自适应滤波器,并且更具体地说涉及一种降 低复杂度的递归最小二乘格型自适应滤波器。
背景技术
自适应滤波器具有广泛的应用,并且分别具有多种不同的结构, 其中每一种结构都有自身的特殊属性。 一种特定的结构选择可以依赖 于目标应用所需的特殊属性。这些属性,特别是其中的收敛速度、误 调、跟踪和计算需求,需要被评价和相互加权,从而确定用于目标应 用的适当结构。
当选择一种用于非平稳信号环境中的自适应滤波器结构时,需要 特别考虑收敛速度、误调和跟踪性能。良好的跟踪性能通常是相应算 法的收敛速度和误调属性的函数。然而,这些属性可能在实际中是对 立的,因为较高的收敛速度一般可能导致所得到的滤波器的较高的收 敛误差或者误调。
递归最小二乘(RLS)算法总的来说是非平稳信号环境中一种较 好的工具,因为这种算法具有快速的收敛速度和较低的误调。递归最小二乘格型(RLSL)算法是RLS算法的一种特殊版本。RLSL算法最 早是由Simon Haykin提出的,可在《自适应滤波器理论第三版 (Adaptive Filter Theory Third Edition)》这本书中找到。RLS型自适应 滤波器显示出了快速的收敛速率,并相对地对特征值扩散程度的变化 不敏感。特征值是基准信号的相关属性的度量,且特征值扩散程度通 常被定义为最大特征值与最小特征值的比率。较大的特征值扩散程度 显著地减慢大多数自适应算法的收敛速度。
然而,RLS算法通常需要较多的计算资源,并不能应用至嵌入系 统。因此,有必要提供一种能够减小RLSL型自适应滤波器的计算需求 的机制。


图la-Id示例了使用一个自适应滤波器的四种应用的示意图2是说明根据本发明的RLSL型自适应滤波器的框图3是说明图2中自适应滤波器的后向反射系数更新的框图4是说明图2中自适应滤波器的前向反射系数更新的框图5是说明了二项展开式平均收敛误差对比(入)的曲线图6是说明了当入=0.994924时对于不同的泰勒级数长度的回波损
耗增强(ERLE)结果的曲线图7是说明了当A =0.998957时对于不同的泰勒级数长度的回波损
耗增强(ERLE)结果的曲线图8是说明了当入=0.999792时对于不同的泰勒级数长度的回波损
耗增强(ERLE)结果的曲线图9是说明了使用自适应滤波器的通信装置的框图。
本发明的说明和示范实施例将依据上述附图在下面进一步进行详 细描述。
具体实施方式
提供一种降低m级自适应滤波器的计算复杂度的方法,该方法将 前向预测误差平方的加权和展开为对应的二项级数展开式(binomial expansion series),将后向预测误差平方的加权和展开为对应的二项级 数展开式,并通过由选择它们对应的二项级数展开式的项数而估计的 前向和后向预测误差平方的加权和来确定自适应滤波器的系数更新。 本发明由附加的权利要求进行定义。这些描述阐明了一些本发明实施 例的具体细节,但不应当被用来限制权利要求。
图la-ld说明了使用自适应滤波器IO的滤波电路IOO的四种示意 图。通常可以用任何适当的方式构造滤波电路100和自适应滤波器10。 特别的,可以使用诸如数字和模拟集成电路这类电子元件构成自适应 滤波器10。在其他的实施例中,可以使用响应于存储器中保存的存储 程序代码和数据来进行操作的数字信号处理器(DSP)来实现自适应滤 波器10。数字信号处理器和存储器可以集成在例如集成电路这种单个 元件中,或者也可以分别维持。此外,数字信号处理器和存储器可以 是另一个系统的组件,例如语音处理系统或通信装置。
通常,输入信号u(n)被输入到滤波电路100和自适应滤波器10。 如图所示,可以在系统输入和系统输出之间以多种方式配置自适应滤 波器10。这意味着,这里描述的改进可以适用于自适应滤波器10的各 种应用。
图la显示的是自适应滤波器10的识别类型应用。在图la中,滤 波电路100包括自适应滤波器10、信号处理对象(plant) 14和加法器。 对象14可以是任何适当的被监视的信号源。在这种结构中,输入信号 u(n)由输入端12接收并提供到自适应滤波器10,并且由系统输入端16 接收并提供到信号处理对象14。由信号处理对象14提供的信号d(n)20 减去由自适应滤波器10提供的滤波的信号y(n)18后,产生误差信号 e(n)22,所述误差信号被反馈到自适应滤波器10。在这类识别类型的应 用中,信号d(n)20也表示系统输出24的输出信号。图lb显示的是自适应滤波器IO的逆建模类型应用。在图lb中,
滤波电路100包括自适应滤波器10、信号处理对象14、加法器和延迟 处理过程26。在这种结构中,源自系统输入端16的输入信号被信号处 理对象14转变为自适应滤波器10的输入信号u(n)12,并且也被延迟处 理过程26转变为信号d(n)20。信号d(n)20减去由自适应滤波器10滤 波的信号y(n)18后得到误差信号e(n)22,其被反馈回自适应滤波器10。
在图lc中,显示的是自适应滤波器IO的预测类型应用。在图lc 中滤波电路IOO包括自适应滤波器10、信号处理对象14、加法器和延 迟处理过程26。在这种结构中,自适应滤波器10和延迟处理过程26 被串联设置在系统输入端16和系统输出端24之间,此处的系统输入 端16提供随机输入信号28。如图所示,从滤波的信号y(n)18减去被作 为信号d(n)20的随机信号输入信号28后得到误差信号e(n)22,其被反 馈回自适应滤波器IO。在这种预测类型的应用中,误差信号e(n)22也 表示由系统输出24提供的输出信号。
图ld显示的是自适应滤波器IO的干扰消除类型应用。在图ld中 滤波电路IOO包括自适应滤波器IO和加法器。在这种结构中,分别作 为输入信号u(n)12和信号y(n)20提供参考信号30和原始信号32。如 图所示,从滤波的信号y(n)18减去被当作信号d(n)20的原始信号32 后得到误差信号e(n)22,其被反馈回自适应滤波器10。在这种干扰消 除类型的应用中,误差信号e(n)22也表示由系统输出24提供的输出信 号。
现在参看图2,显示的是m级RLSL型自适应滤波器100的框图。 自适应滤波器100包括多个级,包括第一级120和第m级122。每一 级(m)可由下述参数所限定前向预测误差/7j")102、前向预测误差 103、前向反射系数尺"_^)104、延迟的后向预测误差^—1( )105、 后向预测误差々0^106、后向反射系数A, 107、后向先验估计误差^,(")108、后向先验估计误差6,— 00 109和连接过程回归系数 ^,一^-l)110。这种m级自适应滤波器RLSLIOO按照图中箭头所示的 方向通过每个系数块进行滤波系数更新。为RLSLIOO的每一级(m) 滤波器长度和输入信号u(n)12的每一采样时间(n)来递归地计算这些滤 波系数更新。
下列方程1至方程8定义了用于RLSLIOO的RLSL算法。
<formula>formula see original document page 8</formula>其中变量定义如下
&( ) 第m级在时刻n的前向预测误差平方的加权和。 第m级在时刻n的后向预测误差平方的加权和。 口Jn) 前向预测误差。 口",W 后向预测误差。 A,Jn)第m级在时刻n的后向反射系数。 尺^(")第m级在时刻n的前向反射系数。 《。,(")第m级在时刻n的连接过程回归系数。 口",(") 第m级在时刻n的换算因子。 □m(w) 第m级在时刻n的先验估计误差。□ 指数加权因子或增益因子。
在级0,由信号u(n) 12和d(n)20提供RLSL 100。接着,对每一 级m,上述已定义滤波系数更新被递归地计算。例如在第m级和时刻n, 前向预测误差r m(n)102是由第m-l级的前向预测误差r/m-l(n)103加上 前向反射系数Kf,m-l(n-l)和延迟了的后向预测误差/3m-l(n)的乘积而得 到。
类似地,在第m级和时刻n,后向预测误差/3m(n)106是由第m-l级 的后向预测误差]8m-l(n)105加上后向反射系数Kb,m-l(n-l)和延迟了的 前向预测误差7/m-l(n)的乘积而得到。
此外,在第m级和时刻n,后向先验估计误差^m(n) 107是由第m-l 级的后向先验估计误差^n-l(n)108减去第m-l级在时刻n-l的连接过程 回归系数Km-l(n-l)109和延迟了的后向预测误差/3m-l(n)105的乘积而 得到。
可以采用任何适当的元件或元件的组合来实现自适应滤波器100。 在一个实施例中,可以使用数字信号处理器(DSP)结合关联存储器中 存储的指令和数据来实现自适应滤波器。数字信号处理器和存储器可 以是任何适当的语言处理或控制系统中的一部分。数字信号处理器和 存储器可以是分立系统或者嵌入另一系统之内。
这种RLSL算法需要大量的计算资源,并不能应用至嵌入式系统。 因此,通过在更新前向预测误差平方Fm(n)和后向预测误差平方Bm(n) 时使用二项级数展开式来替代除法函数,就能得到一种能够减小RLSL 型自适应滤波器100的计算需求的机制。
一般地,处理器在处理加法、减法和乘法中具有很高效率,但在 处理除法中却不一定。大多数的处理器采用逐次近似法来实现除法指令,并可能需要多个时钟循环才能得到结果。因而,为了减小计算需 求,滤波器系数更新的总计算量和在滤波器系数更新的计算中所需的
除法次数都需要被减少。这样,RLSL算法滤波器系数更新就被变换为 合并所述除法。首先,RLSL算法的时间(n)和顺序(m)下标被转换以形 成方程9到方程17。
方程9 方程10 方程11 方程12
方程13 方程14
方程15 方程16 方程17
= W (" -1) + rm (" - i)k (")r
5 =风("-1) + "來(")|2 (")=7" (") +尺/,m ("-氛-,("-1) A (") = (M — 1) + (" —1)" ,_,(")
HQ
(") = 、 (" 一 U--n , 、-A (")
ym (") = L-i (") 一
尸』)
r:,("机醫,(")l2
,(")=u")-
^(氛(")
Km(") = ^("—1)+-
5m(")
然后,如方程18、 20和21所示,前向预测误差平方Fm(n)和后向 预测误差平方Bm(n)被反转和重新定义为它们的倒数。这样,我们通过 反转方程9得到
方程18 =-^-^
疋("-l) + L("-l)k(")1
然后重新定义前向预测误差平方Fm(n):
方程19 +
接着代入方程18并化简方程20
;t _tj+ l ( - l)|7m (")|2义+ & ■ (" — 1)、 (" — (")|
同理,后向预测误差平方方程IO变为
方程21万,,,'(")-
("一l)
A + 5, '("i,(")|A>)|
此外,新的前向和后向预测误差平方的定义F'm(n)和B'm(n)被代 入其余的方程,即方程13、方程14、方程15和方程17,从而产生如 下列方程22到方程30中所示的算法系数更新。
方程22
方程23
方程 方程 方程 方程 方程 方程 方程<formula>formula see original document page 11</formula>现在参看图3,显示的是如方程25中所计算的后向反射系数更新 Kb,m(n)30的框图。例如,图3中的框图表示数字信号处理器的操作或 者一组操作。后向反射系数更新Kb,m(n)30被提供到延迟单元32,而 延迟单元32的输出Kb,m(n-l)被与前向预测误差平方F'm(n)、后向预测 误差j8m(n)、前向预测误差7 m-l(n)和换算因子7m(t1-l)的乘积相加。
现在参看图4,显示的是如方程28中所计算的前向反射系数更新Kf,m(n)40的框图。例如,类似于图3,图4中的框图也表示数字信号 处理器的操作或者一 组操作。后向反射系数更新Kb,m(n)40被提供到延 迟单元42。延迟单元42的输出Kf,m(n-l)被与后向预测误差平方 B'm-l(n-l)、后向预测误差/3m-l(n)、前向预测误差r/m(n)和换算因子 7m-l(n-l)的乘积相加。
如上所述,通过在更新前向预测误差平方Fm(n)和后向预测误差平 方Bm(n)时使用二项展开式来替代除法功能,就能提供一种能够减小 RLSL结构自适应滤波器RLSL100的计算需求的机制。
一般的处理器使用迭代法来实现除法功能,并因此需要足够的资 源和实际时间来计算乘法或加法功能。因而,采用泰勒级数展开式来 代替在方程22和方程23中给出的用于计算前向预测误差平方Fm(n) 和后向预测误差平方B'm (n)的更新的除法功能,以估计前向和后向预 测误差平方的更新递归。
同样地,在方程31中引入一般的二项级数以作为泰勒定理的扩展, 从而提供在给定收敛域内估计除法功能的工具。总的来说,需要通过 级数的若干项来实现预定的准确度。
方程31 (a-foc)-"丄
,foe 6 ;r6 ;c 1 + — + ~+ ~+ '
对于62x2 <a2
为了取代在方程22和方程23中前向预测误差平方F'm(n)和后向 预测误差平方Bm(n)的RLS递归更新中的除法功能,分别让
a" 且 & = -Fm("-i)rm("—
然后,使用方程31中扩展级数的头两项,前向预测误差平方F'm(n) 变为方程32
因为入是一个常数,则丄能被预先计算出来并因此减少滤波器更

新的递归循环中额外的计算。在对方程23应用同样的方法之后,后向 预测误差平方B'm(n)变为
方程33
A + 5m("-l)r,,,(")|A r义
消去所有除法得出的RLS算法如方程34到方程42所示
1
1
方程34 l)十1-十&("-1),J"-
乂 乂 乂
方程35 =("-l)+fl-+5m ("—1)"(")I/U")I:
/1 乂 乂
方程36 凡(")=凡-,("-1) + (" -1)7"(")
方程37 (") = (" -1)—几 —, (" -1)^-,(")凡(")
方程3 8 7 (") = ^-, (") +《/,m (" _ (" -1)
方程39〖,,m (") = iC,,m (" -1) — n (" — 1)凡—,("—l)"m!' (" — 1)
方程40 ^(") = d(")-《 —, (" - (")
方程41 Km(") = ^(" —1) + ^>)A>)^+I(")5m (")
方程42 L(")-乙扁,(")-c(4o)i25:-,(")
如方程31中早先所给出的,需要收敛域满足二项展开式的适用性, 且对于该级数中的一单项而言,1)、2项应实质上小与&2项以便能够提 供足够的收敛精度。人们发现当A接近1时,"b2x2"变得实质上小于
参看图5,所述曲线图表明了当X接近1时,级数展开式中"1)、2" 项如何相对于"a2"项减小。图5中的图形绘制了用于前向预测误差平 方Fm(n)和后向预测误差平方B'm (n)的收敛误差对比入的曲线,如 下列方程所示.-和
<formula>formula see original document page 14</formula>
为了满足收敛域标准,这种只需小于'T'的关系简单地暗示了,随 着被求和的级数展开式中的项数的增加,收敛误差接近于0。然而,为 了减少实际时间的需求,可能需要采用尽可能少的项数来实现需要的 收敛精度。图5表明为了实现需要的收敛精度需要使用一个较大的入 (接近于"l")。实际上,为了在级数展开式中仅有一项(除了常数项) 的条件下提供足够的性能,入值一般大于0.999。
接下来对三个不同的入值使用全除法以及接着在泰勒级数近似中 使用一项、两项和三项来测量自适应滤波器的性能,以进行比较。这 些结果见图6、图7和图8中所示。上述曲线图证明当A接近"r时, 近似值变得足够好,并且可以只需一项以实现可接受的性能。
图9是使用自适应滤波器的通信装置900的框图。通信装置900 包括数字信号处理器卯2、麦克风904、扬声器卯6、模拟信号处理器 908和网络连接910。数字信号处理器902可以是任何一种处理装置, 包括市场上可买到的适合于处理声音及其他信息的数字信号处理器。
通信装置900包括麦克风904、扬声器906、模拟信号处理器908。 麦克风卯4将加到其上的声波转换为电信号。相反地,扬声器906转 换电信号为能听见的声波。模拟信号处理器908用作数字信号处理器 之间的接口,该数字信号处理器操作表示电信号的数字数据的和用于麦克风904和906的电信号。在一些实施例中,模拟信号处理器卯8 可以与数字信号处理器902集成在一起。
网络连接910在通信装置900和其他组件之间提供数据和其他信 息的通信。这些通信可以通过有线链路、无线链路、或者二者的混合。 例如,通信装置900可以被具体化为蜂窝式电话,且自适应滤波器912 为蜂窝式电话的用户工作以处理声音信息。在这样的实施例中,网络 连接910是由与远程基站通信的无线电接口电路构成。在另一实施例 中,通信装置卯0可以被具体化为免提的车载音频系统,且自适应滤 波器912可工作以作为系统的双端通话检测器的一部分。在这样的实 施例中,网络连接910是由经过车辆的通信总线的有线链路形成。
在图9所示的实施例中,数字信号处理器902包括实现自适应滤 波器912的数据和指令、储存数据和指令的存储器914和处理器916。 自适应滤波器912在这个实施例中是一种在这里通常描述的类型的 RLSL自适应滤波器。特别地,自适应滤波器912被增强以减少实现如 在此所述的RLSL算法所需的计算量。自适应滤波器912可以包括除了 这里明确描述的之外的那些额外的增强手段和性能。处理器916响应 于实现自适应滤波器912的数据和指令以及其他保存在存储器914中 的数据和指令进行操作,以处理通信装置卯0的音频及其他信息。
在工作中,自适应滤波器912从信号源接收输入信号并提供滤波 的信号作为输出。在图示的实施例中,数字信号处理器902从模拟信 号处理器908或者网络接口 910接收数字数据。这样模拟信号处理器 908和网络接口 910构成用于接收输入信号的装置。数字数据构成输入 信号。作为声音处理的一部分,数字信号处理902的处理器916实现 自适应滤波器912。构成输入信号的数据被提供给构成自适应滤波器的 指令和数据。自适应滤波器912以输出数据的形式产生输出信号。输 出数据可能由数字信号处理器902进一步处理,或者被传递给模拟信 号处理器908或网络接口 910以做进一步处理。通信装置900也可以被修改并适用于其他实施例。此处显示和描 述的实施例仅仅是示范性的。
因此这意味着前述详细说明应当被认为是示例性的而不是限制性 的,并且应当理解接下来的权利要求包括所有的等价方式,都用来定 义本发明的精神和范围。
权利要求
1.一种降低m级自适应滤波器的计算复杂度的方法,所述方法包括接收需要滤波的输入信号;导出用于所接收的输入信号的一组滤波系数;将前向预测误差平方的加权和展开为对应的二项级数展开式;将后向预测误差平方的加权和展开为对应的二项级数展开式;通过由选择它们相应的二项级数展开式的项数而估计的前向和后向预测误差平方的加权和来确定自适应滤波器的系数更新;根据更新后的系数对所接收的输入信号进行滤波,从而产生滤波的信号;以及提供所述滤波的信号作为输出信号。
2. 根据权利要求1中所述的方法,还包括 预先计算固定权重因子;以及使用所述预先计算的固定权重因子来更新前向和后向预测误差平 方的加权和。
3. 根据权利要求2中所述的方法,还包括 选择大于0.999的固定权重因子值;以及当确定所述自适应滤波器的系数更新时利用前向和后向预测误差 平方的相应的单项的二项级数展开式。
4. 一种用于m级递归最小二乘格型自适应滤波器的方法,所述方 法包括在所述自适应滤波器的输入端接收需要滤波的输入信号;导出用于所接收的输入信号的一组滤波系数;通过估计给定收敛域内的泰勒定理展开式来更新所述一组滤波系使用更新后的该组滤波系数对所述输入信号进行滤波;以及 在所述自适应滤波器的输出端产生滤波的信号。
5. 根据权利要求4中所述的方法,其中,更新该组滤波系数包括:用第一泰勒级数展开式估计前向误差预测平方项;以及用第二泰勒级数展开式估计后向误差预测平方项。
6. 根据权利要求5中所述的方法,还包括-预先计算固定权重因子;以及使用所述预先计算的固定权重因子估计所述前向误差预测平方项 和所述后向误差预测平方项。
7. 根据权利要求6中所述的方法,还包括选择大于0.999的固定权重因子值,以便单项的所述第一泰勒级 数展开式或所述第二泰勒级数展开式可用于估计所述前向误差预测平 方项和所述后向误差预测平方项。
8. —种自适应滤波器,包括 接收输入信号的接口;处理器,其与存储的数据和指令协同可操作,以在产生滤波的信 号时,递归地更新所述自适应滤波器的每一级的滤波系数,并且所述 处理器被配置以通过估计给定收敛域内的泰勒定理展开式来更新该组 滤波系数;以及提供滤波的信号作为输出信号的接口。
9. 根据权利要求8中所述的自适应滤波器,其中,所述处理器可 操作以使用泰勒级数展开式估计前向误差预测平方项;和 使用泰勒级数展开式估计后向误差预测平方项。
全文摘要
提供一种降低m级自适应滤波器的计算复杂度的方法,该方法将前向预测误差平方的加权和展开为对应的二项级数展开式,将后向预测误差平方的加权和展开为对应的二项级数展开式,并通过由选择它们相应的二项级数展开式的项数而估计的前向和后向预测误差平方的加权和来确定自适应滤波器的系数更新。
文档编号G06F17/10GK101583947SQ200680021846
公开日2009年11月18日 申请日期2006年6月8日 优先权日2005年6月20日
发明者丹尼尔·罗库塞克, 大卫·L·巴龙, 詹姆士·B·皮凯特 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1