作者: JIA-SIEN SOO 和 KHEE K. PANG
自适应数字滤波器因其处理信号的“智能”特性和一系列强大数字信号处理器的出现而变得越来越受欢迎。有许多自适应算法可用;每一种都有自己的优点和特殊应用。然而,对于诸如电话会议系统中的声学回声消除器的应用[I],其需要数百甚至数千的滤波器长度,基于最小均方算法(FLMS) [2]的频域块自适应滤波器被认为是最合适的。这是因为FLMS自适应滤波器通过使用快速傅立叶变换(FFT)有效地实现了块LMS (BLMS) [3]算法。这样做,对于相同的适应性能,实现了计算负荷的显著减少。在[2]-[7]中可以找到FLMS自适应滤波器的许多其他吸引人的特征和变化。然而,FLMS自适应滤波器的一些实际实现问题阻碍了它的应用。这些如下。
考虑到这些限制,我们提出了一种更灵活的频域自适应滤波器结构,在本文中称为多延迟块频域(MDF)自适应滤波器。将MDF自适应滤波器的性能与现有的频域自适应滤波器进行比较。发现通过使用小的FFT尺寸和更频繁地更新权重,MDF自适应滤波器具有更短的块延迟、更快的自适应速度和更小的存储器需求。
在我们进入下一节之前,我们将大写和小写符号分别表示为频域和时域变量。粗体符号将代表向量或矩阵。所有向量都被指定为列向量,上标T表示其转置操作。星号将表示复共轭转置。
为了计算FLMS[2],[5] 自适应滤波器中的线性卷积/相关,通常使用重叠保存或重叠相加技术[4]。在[8]中示出,通过将重叠保留方法分成重叠保留过程的两个更小的块,自适应滤波器的性能显著提高。在本节中,我们将这一思想进一步扩展到任意数量的较小延迟模块,并将其推广到MDF自适应滤波器。
设N是要建模的权重的总数,M是延迟块的数量。然后,我们选择N’ 作为FFT的大小,N’ 等于大于或等于2N/M的两个整数的最小幂。MDF算法的第一步是通过FFT将最近的重叠输入样本转换到频域:
其中 j 是块迭代索引。较早的延迟块输入向量是通过块索引移位而不调用任何计算来获得的,如下所示:
这表明每个块迭代仅需要一次FFT来变换输入向量,这是一个显著的计算节省。输出和误差向量可以表示为
其中 W ( m , j ) W(m, j) W(m,j) 是第m个权重向量, d ( j ) d( j) d(j) 是期望向量。基于最小化 ∣ e ( j ) ∣ 2 |e(j)|^{2} ∣e(j)∣2 的LMS标准的权重更新方程如下所示
其中 m = 1 , 2 , . . . , M m = 1,2,...,M m=1,2,...,M并且 μ B \mu_B μB 是块步长。
图1中描述的MDF自适应滤波器的框图清楚地说明了可级联的和有效的块结构。注意,MDF自适应滤波器的输入/输出操作与FLMS相同,除了现在FFT是N”点长。事实上,FLMS自适应滤波器可以被视为M = 1的MDF的特例。如果使用自正交算法,则(7)变成
其中 k k k 是频率仓, β \beta β是平滑常数;这里使用 β = 0.8 \beta = 0.8 β=0.8。
应该提到的是,这里应用的自正交算法并不完全等同于[5]和[6]中提出的算法。(10)-(13)中的功率估计利用Welch方法[10]来平均每个块的周期图。这导致方差的减少和功率谱的平滑。
在本节中,我们将MDF自适应滤波器的性能与其他现有频域自适应滤波器进行比较。该仿真基于识别一个FIR滤波器,其权重定义如下
输入样本 x ( j ) x( j) x(j) 在-100和100之间均匀分布,并且通过将 d ( j ) d( j) d(j) 从实数转换为整数把量化噪声添加到 d ( j ) d( j) d(j) 中。学习曲线的十次独立运行的平均归一化均方误差(NMSE( k))定义为
图2示出了当步长 μ B \mu_B μB 保持恒定时,收敛速度随着块大小的减小而增加。这一观察结果与[3]中的结果一致,在[3]中,根据时间常数讨论了块大小对失调的影响。然而,随着块大小的减小,即M的增加,给定的时间常数不能准确地预测收敛速度。在图2中,M = 16时的MDF自适应滤波器没有M = 8时的两倍快。这种差异表明[3]中使用的BLMS算法的时域分析并不严格适用于频域分析。
图二:特征值比为60的MDF自适应滤波器的收敛特性及自正交算法: μ B = 0.1 \mu_{B} = 0.1 μB=0.1, Z k = 5.0 E + 5 Z_k = 5.0E + 5 Zk=5.0E+5,并且M=2,4,8和16
为了现实地比较自适应速度,我们首先选择最优的步长来为FLMS算法提供最快的收敛,然后为MDF获得两组步长。选择第一组步长以给出与FLMS相同的稳态误差,而第二组(用星号表示)通过反复试验获得,以给出最佳性能。发现具有两组步长的MDF算法比图3中的FLMS算法更快。快速的收敛速度归因于MDF算法中采用的更频繁的权重更新过程。上述观察与[11]中的分析是一致的。
图三:对于不相关输入和步长的MDF (M = 16)和FLMS自适应滤波器的收敛特性;其中 μ B ( M D F ) = 0.625 E − 7 \mu_B(MDF) = 0.625E-7 μB(MDF)=0.625E−7, μ B ( M D F ∗ ) = 0.12 e − 6 \mu_B(MDF^*) = 0.12e - 6 μB(MDF∗)=0.12e−6,并且 μ B ( F L M S ) = 0.1 E − 5 \mu_B(FLMS) = 0.1E-5 μB(FLMS)=0.1E−5
为了使MDF自适应滤波器更有效,我们探索了不像UFLMS [5]那样对(5)、(6)施加权重约束的可能性,并将其称为无约束多延迟块频域(UMDF)自适应滤波器。这导致每个延迟块节省了两次FFT运算。然而,发现UMDF自适应滤波器较慢,并且具有较大的失调,这取决于要识别的权重的相对大小和延迟块的数量。或者,我们可以在每个块时间 j 仅对一个权重块施加权重约束。也就是说,在每次迭代中,(5)和(6)仅对一个块实施,而不是对所有权重向量块实施。这样做,我们可以有效地对每个块进行时间复用或应用权重约束。因此,使用了替代的无约束多延迟块频域(AUMDF)自适应滤波器的名称。图4示出了当M和 μ B \mu_B μB 较小时,AUMDF自适应滤波器与MDF相比具有几乎相同的性能。当M = 16或 μ B \mu _ B μB 较大时,AUMDF自适应滤波器的性能会有所损失。然而,MDF、AUMDF或UMDF自适应滤波器的选择取决于应用和硬件。
图四:MDF和AUMDF自适应滤波器的收敛特性。与图2中的条件相同。
参考图1;清楚地表明,频域自适应滤波器的乘法次数与所用FFT的数量和大小成正比。2N点FFT可能需要N/2 log2N复数乘法或2N log实数乘法[9]。在这种假设下,对于具有固定 μ B \mu_B μB 的不同自适应滤波器,每个输出样本的乘法总数为
本文所提出的频域自适应滤波器的存储器需求比FLMS小得多。对于MDF自适应滤波器,存储器存储大约为 4 N + 10 N / M 4N+10N/M 4N+10N/M 点,相比之下,FLMS算法大约为 14 N 14N 14N 点。因此,如果 M ≥ 4 M\geq 4 M≥4 ,MDF自适应滤波器的存储空间将减少50%以上。上述比较是基于分别需要的乘法次数和存储容量。为了进行更实际的比较,我们根据执行FFT运算所需的总执行时间将这两个因素结合起来。我们首先假设N = 512,使用的DSP是摩托罗拉DSP56000或Ti TMS320C25。由于这两款DSP均针对256点FFT进行了优化,因此我们选择M = 4作为MDF自适应滤波器。这意味着FLMS/UFLMS和MDF自适应滤波器所需的FFT大小分别为1024和256点。表I总结了各种自适应滤波器所需的总执行时间。显然,MDF自适应滤波器在硬件利用方面更有效。
本文推导并验证了MDF自适应滤波器。它需要更少的存储空间、更小的FFT尺寸,并允许根据所用硬件选择不同的配置。在性能上,MDF自适应滤波器具有更小的块延迟和更快的速度。这是通过更频繁地更新权重向量并减少大多数DSP的总执行时间来实现的。此外,所需的总块数可以在不中断正常操作的情况下动态改变。例如,可以通过在一些迭代之后检查输出误差的变化来增加或减少一个权重向量块,以避免冗余操作。必须指出,MDF自适应滤波器最适合在DSP硬件上实现的实时应用,而不是在通用计算机上实现,因为后者不受小存储器的限制。
参考文献
注:由于本文为博主自己翻译的仅供自己学习记录,为不影响文章的阅读性。公式和图片直接从文章中截图使用。如有错误,请联系博主改正!!!