以最小均方算法作为加速多重信道基础的系统及其方法

文档序号:7956728阅读:203来源:国知局
专利名称:以最小均方算法作为加速多重信道基础的系统及其方法
技术领域
本发明涉及一种最小均方算法(Least Mean Square;以下简称LMS),且特别是涉及一种以最小均方算法作为加速多重信道基础的平行架构。
背景技术
电子滤波器是一种可自电子讯号中消除多余率频的装置,其中数字滤波器即是一种具有过滤数字讯号的电子滤波器,而所过滤的数字讯号,举例来说,可以是利用一种模拟-数字的转换器而取得。
其中的一种数字滤波器即为一线性回音消除滤波器,该消除滤波器是用以自数字通讯音讯讯号中减少回音的装置。例如,该消除滤波器可应用于电话线路中的多重信道,以自电话线中减低其中产生的回音。
有些数字滤波器,例如线性回音消除滤波器,可以是一种自适性滤波器(Adaptive filter),这种自适性滤波器是一种可分析滤波输出及利用其修正过滤技术(例如,滤波系数)的数字滤波器,藉此可实时改良数字滤波器的品质,其改良方法,可以是利用所谓的回馈讯号(feedback)提炼出滤波系数,且还因此修正该自适性滤波器的频率响应。
自适性滤波器可以藉由分析多重数字讯号以提炼出滤波系数,藉此试图隔离可能出现在多重数字讯号中的多余噪声。
自适性滤波器与其它数字滤波器一样,可在输入数字滤波器的运算中利用LMS算法。LMS算法是一种在一组数据中企图寻求“最佳拟合(best fit)”的最佳技术,其是藉由在拟合函数及数据之间的差数寻求最小平方和的方式而取得该“最佳拟合(best fit)”值。
线性回音消除滤波器通常可利用数字讯号处理器(Digital SignalProcessors;以下简称DSPs)而实现。DSPs是一种可针对处理中的数字讯号最佳化的专业微处理器。当使用一DSP实现数字滤波器时,如,线性回音消除滤波器,其可藉由在计算完成的过程中减少所需的时钟周期数量以及藉由最小化有效存储器的使用量而产生理想中的最大效率。藉由效率的提升,单一的DSP或许就可以在多重的线信道上同时执行线性回音消除的操作,或者还可以允许单一的DSP以时分复用技术(time division multiplexing;TDM)利用有限的有效存储器而支持多重线性信道,这是因为TDM是一种在多重线性信道中最常被使用于有效存储器的时间分享技术。因此,TDM可在系统速度增加或是在每一通道所使用的时间调低的状况下而使每一信道的存储器成本降低。因此数字滤波过程(如,多重信道线性回音消除)中所增加的DSP效率可以导致实现所需的成本降低。
因此本发明的实施例是为在处理LMS算法时寻求效率的增加,而效率的增加可以使DSP在多重信道上进行线性回音消除操作。

发明内容
本发明提供一种执行LMS系数自适性的滤波器,该滤波器包括一数字讯号处理器,一数据存储器,一系数式存储器以及二个或多个LMS硬件单元。其中,数据是储存于数据存储器中,而系数是储存于该系数式存储器中,以此方式即可平行地执行多重LMS系数适应性。
本发明还提供一种利用滤波器执行LMS系数自适性的方法,该方法包括储存数据于该滤波器的数据存储器,储存系数于该滤波器的系数存储器中。而多重LMS系数自适性的执行是由储存于数据存储器中的数据以及储存于系数存储器中的系数利用滤波器中二个或多个LMS硬件单元平行处理完成。
其它的系统、方法、特征及/或优点,结合附图的详细描述将使本领域的技术人员更加清楚。而所有此类修改的系统、方法、特征和/或优点均应包含在本发明中及权利要求的保护范围中。


图1是依据本发明的一实施例所显示的一种用以加速多重信道线性回音消除的方块图;图2是依据本发明的一实施例所绘制的在管线初始阶段中如何执行LMS计算的图表;图3是依据本发明的一实施例所绘制的在管线结束阶段中如何执行LMS计算的图表;以及图4是依据本发明的一实施例所绘制的一种自系数存储器同步读取与写入的方法。
附图符号说明

具体实施方式
本发明的实施例是寻求能利用多个LMS计算单元以针对多个LMS滤波器的系数存储器进行并行计算,使得LMS滤波器计算效能得以更进一步加强。藉由加强LMS的计算效能,如多重信道线性回音消除的数字滤波技术,则可以执行地更快速。此外,支持更多通道的单一DSP也可在DSP的有效存储器上提供更多的有效利用。
本发明的实施例还寻求可利用一种双重宽度单一端口(double-widthsingle port)的存储器,以使系数存储器可以在无需双端口存储器的情况下还能在同一时间进行读、写操作,此可提供单一端口存储器较双端口存储器在电力上更有效运用的优点。
另外,藉由一具有多个LMS单元的单一滤波器以并行计算多个系数存储器,可以使得一单一且大容量的数据存储器(Data Memory;以下简称DM)以及一单一且大容量的双重宽度系数存储器得以使用,而这在使用具有多个单一通道LMS的处理器上的优点在于使用单一且大容量的存储器其较多个小容量存储器在空间上有较少的使用量。
图1是依据本发明的一实施例所显示的一种硬件方块图,该硬件10是用以加速数字滤波过程,如使用多重信道线性回音消除。硬件10可包含一处理器,该处理器可为一种处理数字讯号的DSP11。DSP11可连接至一数据存储器12,该数据存储器可为一种由DSP11利用的内部程序存储器。DSP11也可连接至一LMS硬件控制器17,该LMS硬件控制器17可具有自DSP11接收指令与参数的能力以及具有委派LMS处理工作(例如委派LMS算法核心运作)给多个LMS硬件单元13~16的能力。上述的参数可包含一用以系数自适性使用的收敛参数,该收敛参数可能是一种显示输出讯号与所需响应相似度的函数,其中,输出讯号等于所需响应加上错误讯号,如下等式所示y(n)=d(n)+e(n)其中,y(n)表示该输出讯号,d(n)表示该所需响应讯号,而e(n)则表示该错误讯号。此外,参数可包括一滤波器长度(即滤波器系数的数量)、一数据循环缓冲区(位于数据存储器12中)的头尾位置、一数据起始点(位于数据存储器12中)以及一系数起始点(位于系数存储器18中)。
所述LMS硬件单元13~16可平行连接于LMS控制器17,使得任一LMS硬件单元13~16可从LMS控制器17接收LMS处理工作以及传回结果至LMS控制器17,如图1所示,硬件10可包含4个LMS硬件单元13~16。然而,依据本发明的其它实施例,硬件10可在有额外的LMS处理电力下包含超过4个LMS硬件单元13~16。而依据本发明的其它实施例,硬件10亦可包含少于4个LMS硬件单元13~16,例如,硬件10可具有1,2或3个LMS硬件单元13~15。
每一个LMS硬件单元13~16因LMS计算所需的自适性运算及回旋(convolution)运算而包含一乘加组件(对应自适性运算)及一相乘累积单元(对应回旋运算)。
所述LMS硬件单元13~16可以如平行的方式连结于系数存储器18,该系数存储器18的作用是可由LMS硬件单元13~16在作LMS运算时将系数储存于其中,而该系数存储器18可支持在一单一时钟周期下读取旧有的系数以及写入新系数,这种作法的完成可以依赖所谓的双端口SRAM(SRAM可允许同时读写)。另外,一单一端口SRAM亦可实现(请参考美国专利6,714,956所述)。再者,亦可使用一双重宽度单一端口(double-width singleport)的存储器以使系数存储器可在无需双端口存储器的情况下达到在同一时间进行读、写操作。
依据本发明所披露的实施例,DSP虽具有对数据存储器与系数存储器存取的能力,但因LMS硬件单元之故,DSP可能不会在同一时间对数据存储器或系数存储器进行存取。其中,该数据存储器的宽度可能是数据样本的4倍字符长度,而数据存储器中的字符数量可以是n/4,其中n值代表是滤波器的长度。
依据本发明的实施例所使用的双端口存储器,系数存储器的宽度可以是滤波系数的4倍字符长度,而系数存储器中的字符数量可以是n/4。
依据本发明的实施例所使用的单端口存储器,系数存储器的宽度可以是滤波系数的8倍字符长度,而系数存储器中的字符数量则为n/8。
现举一例说明,在具有四个LMS硬件单元的例子中,为了在同一时钟周期中可读取四个数据样本,则所需的数据存储器宽度必须是所述数据样本宽度的四倍。而当在系数存储器上利用一种双端口存储器时,则所需的系数存储器尺寸与数据存储器相同,但当所使用的系数存储器是一种单一端口存储器时,则所需的系数存储器宽度即是数据存储器宽度的两倍(以允许同时读写于该双重宽度上)。
虽然本发明显然所需的存储器宽度较宽,以使在上述的实施例中可以分割成许多较窄的存储器,但其所持的理由乃在于该存储器宽度可以符合DSP的字符宽度,而使得数据存储器与系数存储器可较容易与DSP的存储器地址映射(map)。
DSP可加载参数至LMS硬件控制器,且加载一数据框至数据存储器以及加载初始滤波系数值至系数存储器。其中,该LMS硬件单元可执行LMS计算,在LMS计算期间,该滤波系数被调适且新值被写入至系数存储器中,而LMS滤波器计算的累计结果被写入至数据存储器中而由DSP所读取,另外,该DSP读取系数存储器且为目前的信道储存滤波系数。
这些步骤在尽可能多的通道下持续反复被进行,而所述通道的计算是依据时分复用技术(time division multiplexing;TDM)原则在有效取样速率下计算,依此,这些信道在最小化硬件及存储器需求下仍可得以被支持使用,而被滤波的通道数量则取决于滤波器的长度、取样速率及硬件的时钟频率。
在执行如线性回音消除过滤的数字讯号滤波时,回旋运算与系数自适性运算被执行相当多的次数,藉由使用多个LMS硬件单元,多个回旋运算及系数自适性运算被平行执行以迅速执行讯号的过滤。而LMS硬件控制器17即是用以散布回旋运算与系数自适性运算给不同的LMS硬件单元13~16进行运算。
而在每一LMS硬件单元运算完被指派的回旋运算及系数自适性运算后,自适性系数即被写回至系数存储器中。
其中,单一的回旋运算及系数自适性运算的工作指派被分成好几个步骤,首先,一数据样本从数据存储器被读取,系数从系数存储器中被读取,接着,系数的自适性就被执行,最后,回旋运算被执行而自适性系数就被写回至系数存储器中。
LMS硬件单元在一管线(pipeline)中执行这些步骤,在此管线中,每一LMS硬件单元负责在每一时钟周期中完成单一步骤。例如,在一时钟周期中,一第一LMS硬件单元负责从数据存储器中读取一数据样本及从系数存储器中读取系数,一第二硬件单元接着负责执行系数自适性,一第三硬件单元接着负责执行回旋运算,一第四硬件单元则负责将自适性系数写回至系数存储器中。
存储器的宽度决定所支持的LMS硬件单元数量,而管线的级(stage)数量则间接影响所支持的LMS硬件单元数量。
管线的效率极大化是藉由无需在开始下一个操作前还需等待一个回旋与系数自适性运算的完成,例如,该第一LMS硬件单元对应一第一系数自适性运算程序而从数据存储器中读取一数据样本及从系数存储器中读取系数,之后在下一个系数自适性运算程序中,如第二个自适性运算程序,继续同样的读取操作,以此类推。
每一LMS硬件单元分别在同一时间中执行所指派的多重(个)系数自适性处理程序。例如,第一LMS硬件单元在单一时钟周期中对应四个系数自适性处理为一组的程序而执行上述的读取操作。
由于管线取得启动的所有LMS硬件单元(在初始阶段)尚不操作,直到第一组系数自适性处理程序顺着下一个管线的阶级才会操作。此后,所有的LMS硬件单元平行运作(在正常重复阶段中)。在管线的正常重复阶段中,当有多个系数自适性处理程序为一组时,在一单一时钟周期中就有很多的系数自适性处理程序被执行,例如,当有四个系数自适性处理程序为一组时,四个系数自适性处理程序都在单一个时钟周期被执行完成。
图2是依据本发明的一实施例所绘制的在管线初始阶段中如何执行LMS计算的图表。在图表的顶端标示“时钟”的方波表示时钟周期,其中每一个方波的完成执行周期表示一个完整的时钟周期。在第一个时钟周期中,LMS开始启动,此步骤被视为准备阶段;在第二个时钟周期中,当4单位数据(标示为0~3)从数据存储器中被撷取以及4个系数(标示为0~3)从系数存储器中被撷取时,初始阶段即会开始。在下一个时钟周期中,自适性的执行是利用前述所读取的4单位数据
与4个系数
,在此时钟周期中,4单位数据(标示为4~7)也从数据存储器中被撷取以及4个系数(标示为4~7)从系数存储器中被撷取。在下一个时钟周期中,正常重复阶段在单一时钟周期中开始于数据的撷取、系数的撷取、自适性与回旋运算的执行,例如回旋执行于系数[4~7]、自适性系数
的写入、自适性执行于[4~7]、数据撷取的执行于数据存储器[8~11]、系数存储器[4~7]的读取。周期持续以此方式下去直到最后一笔数据被回旋与写入为止,在此时间点上,当目前处理程序已在该管线中且无新的处理程序进入管线前,进入一最后阶段。
图3是依据本发明的一实施例所绘制的在管线结束阶段中如何执行LMS计算的图表。其中,n是LMS计算过程中所需使用的数据/系数数量,即,有n个标示0~n-1的数据/系数。在正常重复阶段的结果中,撷取数据存储器的最后4单位(标示为n-4…n-1)以及最后的4个系数[n-4…n-1]。而在下一个时钟周期中(即最后阶段的第一时钟周期),利用最后的4单位数据及4个系数执行自适性运算,在再下一个时钟周期中,对在自适性运算后产生的最后4个自适性系数执行回旋运算,且包含将自适性系数[n-4…n-1]写回至系数存储器中。在最后的两个时钟周期中,加总LMS计算期间中所使用的LMS累积缓存器,而在下一个时钟周期中,结果将移动到数据存储器中。
举例来说,系数(t)依据下列的等式而进行自适性运算tnew(n)=told(n)+ConvergenceFactor*x(n)ACC=ACC+x(n)*tnew(n)其中,tnew(n)是自适性系数,told(n)是前一使用系数,x(n)是在循环缓冲区中的数据,ACC是回旋运算使用的累积缓存器。
举例来说,累积缓存器依据下列等式而加总ACC1=ACC1+ACC2ACC3=ACC3+ACC4然后,累积缓存器依据下列等式而加总ACC1=Saturation{Round[ACC1+ACC3]}以上ACC1与ACC3的加总值被结合且四舍五入(round)运算,接着,提供一饱和运算(saturation),其中该饱和运算是为避免累积缓存器累加的值大于一极大可能值。该累积缓存器的存储器值被移动到数据存储器,而保持其对于DSP及/或LMS加速控制器的有效状态。
本发明的实施例利用双端口SRAM或是单一端口SRAM作为系数存储器,而当使用单一端口SRAM时,即使用到同步读写系数存储器的方法。例如,应用到美国专利6,714,956所述的奇偶存储器的系数存储器读写方法即被使用,或者,该种同步读写方法的使用在奇时钟周期期间作双重宽度读取,而在偶时钟周期期间作双重宽度写入。
图4是依据本发明的一实施例所绘制的一种自系数存储器同步读取与写入的方法。此方法可为本发明的一实施例,其中存储器在同一个时钟周期中并不被读取或写入。依据本实施例,在第一时钟周期中,导入一第一双重读取,例如,8个系数
被撷取,而在第二个时钟周期中,该第一双重读取的第一部分
被执行自适性运算,且无需在第二时钟周期中执行写入运算(write-)。在第三时钟周期中,该第一双重读取的第二部分[4~7]被执行自适性运算,但在该第三时钟周期中,下一个双重读取[8~15]发生。而在第四时钟周期中,第二双重读取的第一部分[8~11]被执行自适性运算,同样地,在第四时钟周期中,该第一双重读取
的自适性系数被写入。在第五时钟周期中,第二双重读取的第二部分[12~15]被执行自适性运算,且在该第五时钟周期中,第三双重读取[16~23]被读取。在第六时钟周期中,第三双重读取的第一部分[16~19]发生自适性运算,且在第六时钟周期中,该第二双重读取[8~15]的自适性系数被写入。在第七时钟周期中,第三双重读取的第二部分[20~23]发生自适性运算,且在第七时钟周期中,发生第四双重读取[24~31]的读取操作。此模式一直持续重复运作直到所有的数据皆被读取、自适性运算及写入为止。
以上所述仅为本发明的实施例而已,并非用以限定本发明的权利要求;凡其它未脱离本发明所揭示的精神的前提下所完成的等效改变或修饰,均应包含在本发明的权利要求内。
权利要求
1.一种执行最小均方算法系数自适性运算的系统,包括一数据存储器;一系数存储器;至少二个以上的最小均方算法硬件单元,利用储存于该数据存储器的数据以及储存于该系数存储器的系数,以平行执行多重最小均方算法系数自适性运算。
2.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中该最小均方算法系数自适性运算的执行是应用于自适性滤波过程。
3.如权利要求1所述的执行最小均方算法系数自适性运算的系统,还包括一数字讯号处理器,与该数据存储器、该系数存储器与该至少二个以上的最小均方算法硬件单元沟通联系。
4.如权利要求3所述的执行最小均方算法系数自适性运算的系统,其中该数字讯号处理器用以加载一数据框于该数据存储器中以及加载一初始系数值至该系数存储器中。
5.如权利要求3所述的执行最小均方算法系数自适性运算的系统,还包括一最小均方算法控制器,用以自该数字讯号处理器中接收指令与参数以及委派多数个最小均方算法处理工作给多个最小均方算法硬件单元。
6.如权利要求3所述的执行最小均方算法系数自适性运算的系统,还包括一最小均方算法控制器,与该数字讯号处理器沟通联系,以控制所述最小均方算法硬件单元。
7.如权利要求6所述的执行最小均方算法系数自适性运算的系统,其中所述最小均方算法硬件单元与该最小均方算法控制器平行连接,以使任一最小均方算法控制器可从该最小均方算法控制器接收多个最小均方算法处理工作以及回传运算结果至该最小均方算法控制器。
8.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中所述最小均方算法硬件单元与该系数存储器平行连接。
9.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中该系数自适性运算与一回旋运算是使用于一最小均方算法算式中,每一最小均方算法硬件单元包含一用以系数自适性运算的乘加组件以及一用以回旋运算的相成累积单元。
10.如权利要求9所述的执行最小均方算法系数自适性运算的系统,其中所述最小均方算法硬件单元执行该最小均方算法算式,在该执行该最小均方算法算式期间,进行该系数的自适性运算以及将产生的新值写回至该系数存储器中,而将一累积结果写回至该数据存储器中。
11.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中所述最小均方算法硬件单元在一管线中执行的操作包括从该数据存储器中读取一数据样本以及从该系数存储器中读取该系数,执行系数自适性运算,执行回旋运算以及写回该自适性系数至该系数存储器中。
12.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中每一最小均方算法硬件单元负责在每一时钟周期期间完成一单一执行操作。
13.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中每一最小均方算法硬件单元在同一时间执行多个系数自适性处理程序。
14.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中该系数存储器是一双重宽度且单一端口存储器,允许在同一时钟周期中进行读写。
15.如权利要求1所述的执行最小均方算法系数自适性运算的系统,其中该系数存储器是一双端口存储器,允许在同一时钟周期中进行读写。
16.一种利用一平行架构系统以执行最小均方算法系数自适性运算的方法,包含储存数据于该平行架构系统中的一数据存储器;储存多数个系数于该平行架构系统中的一系数存储器中;利用平行架构系统中的二个或多个最小均方算法硬件单元依据储存于该数据存储器中的数据以及储存于该系数存储器中的系数,平行执行多重最小均方算法系数自适性运算。
17.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中该最小均方算法系数自适性运算的执行是应用于自适性滤波过程。
18.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中所述最小均方算法硬件单元与该系数存储器平行连接。
19.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,还包括在一管线中执行从该数据存储器中读取一数据样本以及从该系数存储器中读取该系数,执行系数自适性运算,执行回旋运算以及写回该自适性系数至该系数存储器中。
20.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中每一最小均方算法硬件单元负责在每一时钟周期期间完成一单一执行操作。
21.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中每一最小均方算法硬件单元在同一时间执行多个系数自适性处理程序。
22.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中该系数存储器是一双重宽度且单一端口存储器,系允许在同一时钟周期中进行读写。
23.如权利要求16所述的利用一平行架构系统以执行最小均方算法系数自适性运算的方法,其中该系数存储器是一双端口存储器,允许在同一时钟周期中进行读写。
全文摘要
本发明有关一种执行最小均方算法(Least MeanSquare;以下简称LMS)系数自适性的滤波器,包括一数字讯号处理器,一数据存储器,一系数式存储器以及二个或多个LMS硬件单元。其中,数据是储存于数据存储器中,而系数是储存于该系数式存储器中,以此方式即可平行地执行多重LMS系数适应性。
文档编号H04B3/20GK1848679SQ20061005919
公开日2006年10月18日 申请日期2006年3月15日 优先权日2006年1月13日
发明者尼克·斯凯尔顿, 哈拉尔德·伯格, 达克·刘, 汤米·埃里克森, 尼克拉斯·珀森, 斯蒂格·斯顿斯 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1