«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (5): 215-221  DOI: 10.19678/j.issn.1000-3428.0062080
0

引用本文  

陈凰, 陈睿, 邝祝芳, 等. 一种频率域相关性分布式扩散最小均方算法[J]. 计算机工程, 2022, 48(5), 215-221. DOI: 10.19678/j.issn.1000-3428.0062080.
CHEN Huang, CHEN Rui, KUANG Zhufang, et al. A Frequency-domain Correlation Distributed Diffusion Least Mean Square Algorithm[J]. Computer Engineering, 2022, 48(5), 215-221. DOI: 10.19678/j.issn.1000-3428.0062080.

基金项目

国家重点研发计划(2019YFE0122600);国家自然科学基金(62072477,61309027);湖南省重点研发计划(2016SK2028)

通信作者

陈睿(通信作者),副教授、博士

作者简介

陈凰(1997—),女,硕士研究生,主研方向为自适应滤波算法;
邝祝芳,教授、博士;
黄华军,教授、博士

文章历史

收稿日期:2021-07-14
修回日期:2021-08-22
一种频率域相关性分布式扩散最小均方算法
陈凰1 , 陈睿1 , 邝祝芳1 , 黄华军2     
1. 中南林业科技大学 计算机与信息工程学院, 长沙 410004;
2. 湖南财政经济学院 信息技术与管理学院, 长沙 410205
摘要:以均方误差为代价函数的最小均方(LMS)自适应滤波算法具有结构简单、易于实现、计算复杂度低、稳定性好等优点,然而在对未知系统的脉冲响应进行估计时,传统的分布式扩散最小均方(DLMS)算法易受到噪声的干扰,从而降低估计精度。针对该问题,提出一种频率域相关性分布式扩散最小均方(FCDLMS)算法。利用不相关信号的相关函数值趋近于零的性质,在DLMS算法基础上分别将输入信号的自相关函数以及输入和期望信号的互相关函数作为新的观测数据,消除噪声干扰,从而给出相关性DLMS(CDLMS)算法,并将算法扩展至频率域,在频率域中使用乘法运算而非卷积运算来更新抽头系数,减少计算复杂度。实验结果表明,与传统DLMS算法相比,频率域相关性分布式扩散最小均方算法在噪声环境下对分布式自适应网络中的未知系统脉冲响应具有更好的估计结果,算法性能更优,同时也能较好地适应多抽头数、多节点数、强噪声的复杂环境。
关键词自适应网络    相关函数    分布式估计    扩散最小均方    噪声干扰    
A Frequency-domain Correlation Distributed Diffusion Least Mean Square Algorithm
CHEN Huang1 , CHEN Rui1 , KUANG Zhufang1 , HUANG Huajun2     
1. School of Computer and Information Engineering, Central South University of Forestry and Technology, Changsha 410004, China;
2. School of Information Technology and Management, Hunan University of Finance and Economics, Changsha 410205, China
Abstract: Least Mean Square(LMS) adaptive filtering algorithms with mean square error as the cost function have the advantages of simple structure, easy implementation, low computational complexity, and good stability.During estimation of the impulse response of an unknown system, the traditional Diffusion LMS(DLMS) algorithm is usually corrupted by noise, thereby reducing its estimation accuracy.To address this problem, a Frequency-domain Correlation DLMS(FCDLMS) algorithm is proposed.Because the correlation coefficient of the uncorrelated signals approaches zero, the autocorrelation function of the input signal and the cross-correlation function of the input and the desired signal in the DLMS algorithm are used as new observation data to propose a Correlation DLMS(CDLMS) algorithm.This CDLMS algorithm is then extended to the frequency domain, and a multiplication operation rather than a convolution operation is adopted to update the tap coefficients, reducing computational complexity.Experimental results show that, compared with the traditional DLMS algorithm, the FCDLMS algorithm has a better estimation result for the impulse response of an unknown system over distributed adaptive networks in a noisy environment, and its performance improved.It can also better adapt to complex environments such as multi-tap number, multi-node number, and strong noise.
Key words: adaptive networks    correlation function    distributed estimation    Diffusion Least Mean Square(DLMS)    noise interference    

开放科学(资源服务)标志码(OSID):

0 概述

分布式网络上的自适应信号处理十分重要,其涉及到分布式噪声消除、自适应控制、目标检测、环境监测等[1-3]多个应用领域,这些应用领域需要通过分散的实时数据处理。自适应滤波器能够在未知环境中有效工作,跟踪输入信号的时变特征,采取特定算法自动地调整滤波器系数,使其达到最佳的滤波效果。自适应滤波被认为是分布式网络上数据处理和数据估计的有效方法,将自适应滤波与分布式网络有效结合,是当前分布式估计研究的热点。

最小均方(Least Mean Square,LMS)自适应滤波算法具有结构简单、易于实现、计算复杂度低和稳定性好等优点,可应用于系统辨识、噪声消除、自适应均衡、线性预测等很多领域。国内外学者对LMS算法进行深入研究,提出NLMS算法[4-5]、去相关PNLMS算法[6]、改进变步长LMS算法[7-8]、变步长频域LMS算法[9]等诸多经典算法。运用分布式的方式实施LMS算法,可以有效地估计分布式网络上的目标参数,文献[10-12]提出将扩散策略与LMS相结合的扩散LMS(Diffusion LMS,DLMS)算法,其结构简单稳健,受到广泛关注。在分布式估计中存在的噪声会导致数据估计和信号处理不准确,因此研究分布式估计噪声处理的方法具有很好的应用价值和重要研究意义。文献[13]提出改进的分布式扩散符号LMS算法,先后采用符号函数和改进的符号函数量化策略,实现对误差和估计信号的量化,从而可解决网络中数据运算量大和传输速率受限的问题,但当噪声环境变得复杂时,运算量也会随之增加。文献[14]对DLMS算法进行归一化,提出DNLMS算法,在消除噪声干扰的同时适当提高算法的收敛速度。为提高DNLMS算法对高度相关信号的收敛速度,文献[15]提出扩散结合权重约束去相关NLMS算法。针对含有噪声的回归向量,文献[16]提出用偏差消除的扩散方法来消除噪声。此外,多数学者还致力于噪声环境下的特定节点[17]和多任务网络[18]扩散LMS算法的研究,例如偏差补偿和平均估计偏差补偿算法[17-19],但算法的全局均方偏差还可以再进一步优化。

由于上述扩散算法在处理噪声估计未知系统脉冲响应时,是结合观测数据本身进行抽头系数的自适应更新,计算复杂度较高,本文结合文献[20]基于相关函数处理的方法,提出一种频率域相关性分布式扩散最小均方(FCDLMS)算法。通过输入信号的自相关函数和输入信号与期望信号的互相关函数代替观测数据本身,消除期望信号中的噪声干扰,在此基础上提出相关性分布式扩散LMS(CDLMS)算法,并将算法扩展至频率域,在频率域中使用乘法运算对抽头系数进行更新,以减少计算复杂度。

1 扩散最小均方算法

本文考虑由N个节点组成的无线传感器网络(WSN)[21]监测区域,如图 1所示。其中WSN用于测量监测区域内的未知系统脉冲响应向量w

Download:
图 1 N个节点组成的WSN Fig. 1 WSN composed of N nodes

在分布式网络中,节点$ k $在时刻$ n $的观测数据为$ \left\{{\mathit{\boldsymbol{x}}}_{k}\left(n\right), {d}_{k}\left(n\right)\right\} $,假设系统模型为:

$ {d}_{k}\left(n\right)=\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){\mathit{\boldsymbol{w}}}(n-i)+{v}_{k}\left(n\right) $ (1)

其中:$ k\in [1, N] $$ {d}_{k}\left(n\right) $表示期望信号;$ {\mathit{\boldsymbol{x}}}_{k}\left(n\right) $表示输入信号,且$ {\mathit{\boldsymbol{x}}}_{k}\left(n\right)={\left[{x}_{k}\left(n\right), {x}_{k}(n+1), \cdots, {x}_{k}(n+M-1)\right]}^{\mathrm{T}} $$ M $是自适应滤波器的抽头数,$ {(\cdot )}^{\mathrm{T}} $表示转置运算符);$ {v}_{k}\left(n\right) $是方差为$ {\sigma }_{v, k}^{2} $的加性噪声;$ {\mathit{\boldsymbol{w}}} $是大小为$ M\times 1 $的待估计的未知系统脉冲响应向量。

假设自适应滤波器的抽头系数向量为$ {\mathit{\boldsymbol{h}}} $$ {\mathit{\boldsymbol{h}}}=\left[{h}_{0}\right(n), {h}_{1}(n), \cdots, {h}_{M-1}(n\left)\right] $,则自适应滤波器的输出信号$ {y}_{k}\left(n\right) $表示为:

$ {y}_{k}\left(n\right)=\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){{\mathit{\boldsymbol{h}}}}_{i}(n-i) $ (2)

那么,误差信号$ {e}_{k}\left(n\right) $为:

$ {e}_{k}\left(n\right)={d}_{k}\left(n\right)-{y}_{k}\left(n\right) $ (3)

DLMS算法有先适应后融合(ATC)和先融合后适应(CTA)两种扩散策略。与CTA-DLMS算法相比,ATC-DLMS具有更低的稳态误差和更快的收敛速度。因此,本文算法主要基于ATC实现。

DLMS算法的ATC扩散策略[22]图 2所示。ATC-DLMS算法由适应、交换、融合3个阶段组成。首先,每个节点利用其在时刻$ n $的观测数据信息,适应其当前的抽头系数估计以获得中间估计向量;其次,每个节点与其相邻节点交换中间估计向量;最后,每个节点结合中间估计向量以获得新的抽头系数估计。

Download:
图 2 DLMS算法的ATC扩散策略 Fig. 2 ATC diffusion strategy of DLMS algorithm

ATC-DLMS算法[22]的抽头更新公式如下:

$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right)={{\mathit{\boldsymbol{h}}}}_{k}(n-1)+{\mu }_{k}\frac{{\mathit{\boldsymbol{x}}}_{k}\left(n\right)}{1+{||{\mathit{\boldsymbol{x}}}_{k}\left(n\right)||}^{2}}{e}_{k}\left(n\right) $ (4)
$ {{\mathit{\boldsymbol{h}}}}_{k}\left(n\right)=\sum\limits_{l\in {N}_{k}}{c}_{k, l}{\mathit{\boldsymbol{\varphi }}}_{l}\left(n\right) $ (5)

其中:$ \Vert \cdot {\Vert }^{2} $表示欧几里得范数;$ {\mu }_{k} $是用于抽头系数更新的恒定步长值,且满足$ 0 < {\mu }_{k} < 1 $$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right) $是节点$ k $$ n $时刻的抽头系数的中间估计;$ {N}_{k} $是节点$ k $包括它本身的邻居节点数;$ {c}_{k, 1} $是非负的融合系数,且要满足$ \sum\limits_{l\in {N}_{k}}{c}_{k, l}=1, \forall k $

分布式估计的目标是通过分布式传感器获得的观测值,找到监测区域内未知系统脉冲响应参数。

2 改进型算法 2.1 相关性分布式扩散最小均方算法

针对DLMS算法在估计未知系统脉冲响应时易受噪声干扰的问题,本文提出一种CDLMS算法。该算法建立在输入信号和噪声信号不相关的基础上,利用不相关信号间的相关性趋于零的特性消除期望信号中的噪声干扰。CDLMS算法结构如图 3所示,观测数据$ \left\{{\mathit{\boldsymbol{x}}}_{k}\left(n\right), {d}_{k}\left(n\right)\right\} $本身由输入信号的相关函数$ \left\{\mathrm{R}\mathrm{x}{\mathrm{x}}_{k}, \mathrm{R}\mathrm{d}{\mathrm{x}}_{k}\right\} $代替,$ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k} $表示输入信号本身的自相关函数,$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k} $表示输入信号与期望信号之间的互相关函数。

Download:
图 3 CDLMS算法流程 Fig. 3 Procedure of CDLMS algorithm

自相关函数和互相关函数的表达式如下:

$ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i) $ (6)
$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{d}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i) $ (7)

结合式(1)、式(2)、式(6)和式(7),且$ {\mathit{\boldsymbol{x}}}_{k}\left(n\right) $$ {v}_{k}\left(n\right) $之间没有相关性,$ {R}_{\mathrm{v}\mathrm{x},{k}}(n, i)\approx 0 $,则互相关函数$ \mathrm{R}\mathrm{d}\mathrm{x} $也可表示为:

$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{\rm{Rx}}{{\rm{x}}}_{k}(n, i){{\mathit{\boldsymbol{w}}}}_{k}(n-i) $ (8)

根据自适应滤波器输入信号的自相关值估算$ \mathrm{R}\mathrm{d}\mathrm{x} $,为了算法能更快收敛,对M个延时都进行估计。因此,自适应滤波器的输出估计值R$ \tilde{\mathrm{d}} $xk$ (n, i) $被定义为:

$ \mathrm{R}\tilde{\mathrm{d}}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{\rm{Rx}}{{\rm{x}}}_{k}(n, i){{\mathit{\boldsymbol{h}}}}_{k}(n-i) $ (9)

所以误差信号$ {\mathit{\boldsymbol{e}}}_{k}(n, i) $被计算为:

$ {\mathit{\boldsymbol{e}}}_{k}(n, i)=\mathrm{R}\mathrm{d}{\mathrm{x}}_{k}(n, i)-\mathrm{R}\tilde{\mathrm{d}}{\mathrm{x}}_{k}(n, i) $ (10)

定义CDLMS算法的代价函数为互相关函数$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k} $与其估计值$ \mathrm{R}\tilde{\mathrm{d}}{\mathrm{x}}_{k} $之间的滞后误差的平方之和:

$ {\mathit{\boldsymbol{J}}}=E\left[{\mathit{\boldsymbol{e}}}_{k}^{\mathrm{T}}(n, i){\mathit{\boldsymbol{e}}}_{k}(n, i)\right] $ (11)

最小均方误差(MSE)的负梯度向量为:

$ \begin{array}{l}\nabla {\mathit{\boldsymbol{J}}}=\frac{\partial {\mathit{\boldsymbol{J}}}}{\partial {\mathit{\boldsymbol{h}}}}=\frac{\partial E\left[{\mathit{\boldsymbol{e}}}_{k}^{\mathrm{T}}(n, i){\mathit{\boldsymbol{e}}}_{k}(n, i)\right]}{\partial {\mathit{\boldsymbol{h}}}}=\\ \ \ \ \ \ -2E\left[{\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}}{\mathit{\boldsymbol{e}}}_{k}(n, i)\right]\end{array} $ (12)

其中:

$ {\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}}=\left[\begin{array}{cccc}\mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, 0)& \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, 1)& \dots & \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, M-1)\\ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, 1)& \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, 0)& \dots & \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, M-2)\\ ⋮& ⋮& & ⋮\\ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, M-1)& \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, M-2)& \dots & \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, 0)\end{array}\right] $是自相关函数的Toeplitz矩阵。

因此,最陡梯度算法为:

$ \begin{array}{l}{\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right)={{\mathit{\boldsymbol{h}}}}_{k}(n-1)+{\mu }_{k}E[-\nabla {\mathit{\boldsymbol{J}}}]=\\ \ \ \ \ \ \ \ \ \ \ \ {{\mathit{\boldsymbol{h}}}}_{k}(n-1)+2{\mu }_{k}{\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}}{\mathit{\boldsymbol{e}}}_{k}(n, i)\end{array} $ (13)
$ {{\mathit{\boldsymbol{h}}}}_{k}\left(n\right)=\sum\limits_{l\in {N}_{k}}{c}_{k, l}{\mathit{\boldsymbol{\varphi }}}_{l}\left(n\right) $ (14)

对式(13)进行标准化以保证足够的收敛性,因此:

$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right)={{\mathit{\boldsymbol{h}}}}_{k}(n-1)+2{\mu }_{k}\frac{{\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}}{\mathit{\boldsymbol{e}}}_{k}(n, i)}{1+\mathrm{T}\mathrm{r}({\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}}\cdot {\mathit{\boldsymbol{P}}}_{{\rm x}{\rm x}, {{{k}}}})} $ (15)

其中:$ \mathrm{T}\mathrm{r}(\cdot ) $表示矩阵的迹。

2.2 频率域相关性分布式DLMS算法

为降低CDLMS算法的计算复杂度,将CDLMS算法扩展到频率域,本文FCDLMS算法流程如图 4所示。在频域中抽头更新使用乘法运算而不是传统卷积运算,能极大地减少计算量。

Download:
图 4 FCDLMS算法流程 Fig. 4 Procedure of FCDLMS algorithm

对式(6)和式(7)进行M维的快速傅里叶变换(FFT),得到:

$ {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}\text{, }{k}}(n, s)=\sum\limits_{n=0}^{M-1}\left[\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i)\right]{W}^{ns} $ (16)
$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)=\sum\limits_{n=0}^{M-1}\left[\sum\limits_{i=0}^{M-1}{d}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i)\right]{W}^{ns} $ (17)

其中:$ s $是FFT的频域变量;W是复指数$ {\mathrm{e}}^{-\mathrm{j}\left(\frac{2\pi }{M}\right)} $$ {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}(n, s) $$ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, i) $的FFT;$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s) $$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k}(n, i) $的FFT。

与2.1节类似,互相关函数FFT的$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s) $可以表示为:

$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)\cong {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}\text{, }{k}}(n, s){H}_{s} $ (18)

其中:$ {H}_{s} $是未知系统脉冲响应向量$ {\mathit{\boldsymbol{w}}} $的FFT的第$ s $个元素。

此外,根据式(18),自适应滤波器频率域的输出$ {\tilde{\mathit{\boldsymbol{F}}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s) $可以通过估计$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s) $获得:

$ {\tilde{\mathit{\boldsymbol{F}}}}_{\mathrm{d}\mathrm{x}\text{, }{k}}(n, s)\cong {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}(n, s){\stackrel{\sim }{H}}_{s}\left(n\right) $ (19)

其中:$ {\stackrel{\sim }{H}}_{s}\left(n\right) $是自适应滤波器抽头系数$ h $的FFT。

定义抽头系数更新的代价函数为:

$ {\mathit{\boldsymbol{J}}}={\mathit{\boldsymbol{E}}}\left[{{\mathit{\boldsymbol{E}}}}_{k}^{\mathrm{*}}(n, s){{\mathit{\boldsymbol{E}}}}_{k}(n, s)\right] $ (20)

其中:$ {{\mathit{\boldsymbol{E}}}}_{k}(n, s)={\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)-{\mathrm{F}}_{\tilde{\mathrm{d}}\mathrm{x}, {k}}(n, s) $$ \mathrm{*} $表示Hermitian变换。

对式(20)中的$ \tilde{H} $求微分,得到其最陡梯度值:

$ \begin{array}{l}\nabla {\mathit{\boldsymbol{J}}}=\frac{\partial {\mathit{\boldsymbol{J}}}}{\partial \tilde{{\mathit{\boldsymbol{H}}}}}=\frac{\partial {\mathit{\boldsymbol{E}}}\left[{{\mathit{\boldsymbol{E}}}}_{k}^{\mathrm{T}}(n, s){{\mathit{\boldsymbol{E}}}}_{k}(n, s)\right]}{\partial \tilde{{\mathit{\boldsymbol{H}}}}}=\\ \ \ \ \ \ \ \ \ \ \ \ \ -2{\mathit{\boldsymbol{E}}}\left[{{\mathit{\boldsymbol{E}}}}_{k}(n, s){{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}}^{\mathrm{*}}\right]\end{array} $ (21)

所以FCDLMS算法的最陡梯度算法可以表示为:

$ {\mathit{\boldsymbol{\psi }}}_{k}\left(n\right)={\tilde{{\mathit{\boldsymbol{H}}}}}_{k}(n-1)+2{\mu }_{k}{{\mathit{\boldsymbol{E}}}}_{k}(n, s){{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}\text{, }{k}}}^{\mathrm{*}}(n, s) $ (22)
$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right)=\frac{1}{M}\sum\limits_{n=0}^{M-1}{\mathit{\boldsymbol{\psi }}}_{k}\left(n\right){W}^{-ns} $ (23)
$ {{\mathit{\boldsymbol{h}}}}_{k}\left(n\right)=\sum\limits_{l\in {N}_{\mathrm{k}}}{c}_{k, l}{\mathit{\boldsymbol{\varphi }}}_{l}\left(n\right) $ (24)

其中:$ {\mathit{\boldsymbol{\psi }}}_{k}\left(n\right) $是抽头系数中间估计$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right) $在频率域的表示。

将式(22)归一化,得到式(25):

$ {\mathit{\boldsymbol{\psi }}}_{k}\left(n\right)={\tilde{{\mathit{\boldsymbol{H}}}}}_{k}(n-1)+2{\mu }_{k}\frac{{{\mathit{\boldsymbol{E}}}}_{k}(n, s){{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}\text{, }{k}}}^{\mathrm{*}}(n, s)}{1+{‖{{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}}^{\mathrm{*}}(n, s)‖}^{2}} $ (25)

FCDLMS算法过程如算法1所示。

算法1  FCDLMS算法

初始化:所有节点$ k $的初始化参数都是$ {{\mathit{\boldsymbol{h}}}}_{0}=0 $$ {\mu }_{k} $

任意节点$ k $$ k=\mathrm{1, 2}, \cdots, N $,任意时刻$ n $,根据观测值$ \left\{{\mathit{\boldsymbol{x}}}_{k}\left(n\right), {d}_{k}\left(n\right)\right\} $,重复操作:

1)计算输入信号的自相关函数和互相关函数:

$ \mathrm{R}\mathrm{x}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i) $
$ \mathrm{R}\mathrm{d}{\mathrm{x}}_{k}(n, i)=\sum\limits_{i=0}^{M-1}{d}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i) $

2)对相关函数进行快速傅里叶变换(FFT):

$ {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}(n, s)=\sum\limits_{n=0}^{M-1}\left[\sum\limits_{i=0}^{M-1}{\mathit{\boldsymbol{x}}}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i)\right]{W}^{ns} $
$ {\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)=\sum\limits_{n=0}^{M-1}\left[\sum\limits_{i=0}^{M-1}{d}_{k}\left(i\right){\mathit{\boldsymbol{x}}}_{k}(n-i)\right]{W}^{ns} $

3)估计自适应滤波器频率域的输出值:

$ {\tilde{\mathit{\boldsymbol{F}}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)\cong {\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}(n, s){\tilde{{\mathit{\boldsymbol{H}}}}}_{s}\left(n\right) $

4)计算误差信号:

$ {{\mathit{\boldsymbol{E}}}}_{k}(n, s)={\mathit{\boldsymbol{F}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s)-{\tilde{\mathit{\boldsymbol{F}}}}_{\mathrm{d}\mathrm{x}, {k}}(n, s) $

5)适应本地估计。更新脉冲响应向量的中间估计:

$ {\mathit{\boldsymbol{\psi }}}_{k}\left(n\right)={\tilde{{\mathit{\boldsymbol{H}}}}}_{k}(n-1)+2{\mu }_{k}\frac{{{\mathit{\boldsymbol{E}}}}_{k}(n, s){{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}}^{\mathrm{*}}(n, s)}{1+{‖{{\mathit{\boldsymbol{F}}}_{\mathrm{x}\mathrm{x}, {k}}}^{\mathrm{*}}(n, s)‖}^{2}} $

6)融合本地估计。获得脉冲响应向量最终估计:

$ {\mathit{\boldsymbol{\varphi }}}_{k}\left(n\right)=\frac{1}{M}\sum\limits_{n=0}^{M-1}{\mathit{\boldsymbol{\psi }}}_{k}\left(n\right){W}^{-ns} $
$ {{\mathit{\boldsymbol{h}}}}_{k}\left(n\right)=\sum\limits_{l\in {N}_{k}}{c}_{k, l}{\mathit{\boldsymbol{\varphi }}}_{l}\left(n\right) $

其中:$ {\mu }_{k} $是节点$ k $的恒定步长值,且$ {\mu }_{k}\in \left(\mathrm{0, 1}\right) $$ {c}_{k, 1} $是非负的融合系数,且要满足$ \sum\limits_{l\in {N}_{k}}{c}_{k, l}=1, \forall k $

从CDLMS和FCDLMS算法的结构可以看出,FCDLMS算法与CDLMS算法类似,只是FCDLMS算法是CDLMS算法在频域中的实现。而且,与卷积CDLMS算法相比,FCDLMS算法采用乘法运算,降低了计算复杂度。

2.3 计算复杂度分析

FCDLMS算法在节点$ k $的计算量包括以下6个步骤:

1)计算相关函数:需要$ 2M $次乘法和$ 2M-2 $次加法。

2)对自相关函数和互相关函数进行M维FFT:需要$ 2\times \left(\frac{M}{2}\mathrm{l}{\mathrm{b}}\ M\right) $次乘法和$ 2\times \left(M\mathrm{l}{\mathrm{b}}\ M\right) $次加法。

3)估计自适应滤波器频率域的输出值:需要$ M $次乘法和$ 0 $次加法。

4)计算误差信号向量:需要$ 0 $次乘法和$ 1 $次加法。

5)适应本地估计,更新脉冲响应向量的中间估计:需要$ 3M+2 $次乘法和$ 2M $次加法。

6)融合本地估计:

(1)M维快速傅里叶反变换(IFFT):需要$ \left(\frac{M}{2}\mathrm{l}{\mathrm{b}}\ M\right) $次乘法和$ \left(M\mathrm{l}{\mathrm{b}}\ M\right) $次加法。

(2)更新获得脉冲响应向量最终估计:需要$ \left|{N}_{k}\right|M $次乘法和$ \left(\left|{N}_{k}\right|-1\right)M $次加法。

表 1所示为FCDLMS算法的总的计算复杂度与CDLMS和DLMS算法的计算复杂度比较,可以看出,FCDLMS算法的计算复杂度明显低于CDLMS算法。

下载CSV 表 1 节点k处DLMS、CDLMS和FCDLMS算法每次迭代的计算复杂度比较 Table 1 Comparison of the computational complexity of DLMS, CDLMS and FCDLMS algorithms at node k in each iteration
3 算法仿真

本文使用MATLAB进行模拟来验证所提算法的性能。假设由$ N=20 $节点组成的分布式网络如图 5所示,输入信号$ {\mathit{\boldsymbol{x}}}_{k}\left(n\right) $是一个随机信号,背景噪声能量$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.005, 0.02}\right) $,如图 6所示。实验的主要条件如下:

Download:
图 5 由20个节点组成的分布式网络拓扑 Fig. 5 Distributed network topology composed of 20 nodes
Download:
图 6 各个节点的背景噪声能量 Fig. 6 Background noise energy of each node

1)自适应滤波器的抽头系数权重向量初始值为全零。

2)滤波器抽头数$ M=4 $

3)步长值$ {\mu }_{k}=0.03 $

4)采用Metropolis准则计算组合权重系数,即$ {c}_{k, l}=\frac{1}{\mathrm{m}\mathrm{a}\mathrm{x}({N}_{k}, {N}_{l})}, l\in {N}_{k} $$ {c}_{k, l}=0, l\notin {N}_{k} $

5)采用全局均方差(MSD)来证明算法的性能,即:$ \mathrm{M}\mathrm{S}\mathrm{D}\left(n\right)=\frac{1}{N}\sum\limits_{k=1}^{\mathrm{N}}E{||{{\mathit{\boldsymbol{h}}}}_{k}\left(n\right)-{\mathit{\boldsymbol{w}}}||}^{2} $

6)所有模拟曲线都是通过10次MATLAB运行结果平均生成的。

不同情况下各算法性能比较如下:

1)无噪声情况下DLMS、CDLMS、FCDLMS算法的性能比较

在没有噪声的情况下,本文测试了所提算法的性能,图 7所示为MSD收敛曲线。可以看出,在无噪声时,CDLMS和FCDLMS算法的稳态MSD和收敛速度相似,收敛到-110 dB左右。与CDLMS和FCDLMS算法相比,DLMS算法实现了较低的稳态MSD,大约为-295 dB。

Download:
图 7 DLMS、CDLMS、FCDLMS算法在无噪声情况下的性能比较 Fig. 7 Performance comparison of DLMS, CDLMS and FCDLMS algorithms in noise-free environments

2)噪声情况下DLMS、CDLMS、FCDLMS算法的性能比较

在噪声环境中评估本文所提出算法的性能,图 8所示为MSD仿真结果。可以看出,在噪声存在的情况下,CDLMS和FCDLMS算法的收敛速度比DLMS算法略快。而且,所提出的两种算法都产生较低的稳态MSD,可以收敛至-70 dB,而DLMS算法的稳态MSD只能达到-43 dB左右。基于第2节的理论分析,仿真结果进一步证实了两种算法的收敛和稳态性能优于DLMS算法。相对于CDLMS算法,FCDLMS算法极大地降低了计算复杂度,为实际应用提供了可能性。

Download:
图 8 DLMS、CDLMS、FCDLMS算法在噪声情况下的性能比较 Fig. 8 Performance comparison of DLMS, CDLMS and FCDLMS algorithms in noisy environments

3)FCDLMS算法在不同滤波器抽头数下的性能比较

当自适应滤波器抽头数$ M $分别为4、16、32和64时,观察FCDLMS算法的性能。FCDLMS算法在不同抽头数下的MSD收敛曲线如图 9所示,当$ M=4 $时,稳态MSD收敛至-70 dB;当$ M=64 $时,稳态MSD收敛至-43 dB,仿真实验数据说明,本文算法能够较好地工作于多抽头的复杂环境中。

Download:
图 9 FCDLMS算法在不同滤波器抽头数下的性能比较 Fig. 9 Performance comparison of FCDLMS algorithm with different filter taps

4)FCDLMS算法在不同节点数下的性能比较

将FCDLMS算法应用在不同节点数的网络中进行比较,当N分别为20、40、60和80时,FCDLMS算法在不同节点数下的性能比较如图 10所示。可以看出,随着节点数量的增加,稳态MSD变低,可以收敛到-70 dB~-78 dB范围内,表明FCDLMS算法能够适应节点数量较多的网络。

Download:
图 10 FCDLMS算法在不同节点数下的性能比较 Fig. 10 Performance comparison of FCDLMS algorithm with different number of nodes

5)FCDLMS算法在不同噪声能量范围下的性能比较

将不同范围的噪声能量应用在FCDLMS算法中进行对比,当节点噪声分布在$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.01, 0.05}\right) $$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.05, 0.1}\right) $$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.1, 0.5}\right) $$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.5, 1}\right) $时,FCDLMS算法在不同噪声能量范围下的收敛曲线如图 11所示。可以看出,当$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.01, 0.05}\right) $时,稳态MSD收敛至-68 dB;当$ {\sigma }_{v, k}^{2}\in \left(\mathrm{0.5, 1}\right) $时,稳态MSD收敛至-50 dB,仿真实验数据说明,本文算法在不同噪声能量的复杂环境中能够较好地工作。

Download:
图 11 FCDLMS算法在不同噪声能量范围下的性能比较 Fig. 11 Performance comparison of FCDLMS algorithm with different ranges of noise energy
4 结束语

针对噪声环境下分布式自适应网络的系统脉冲响应参数估计问题,本文提出一种频率域相关性分布式扩散最小均方(FCDLMS)算法。将DLMS算法中输入-输入信号的自相关函数和输入-期望信号的互相关函数作为新的输入信号和期望信号,消除期望信号中的噪声干扰,在此基础上,提出CDLMS算法,并在频率域中应用该算法,通过使用乘法运算来自适应地更新抽头系数,从而减少计算复杂度。实验结果表明,与DLMS算法相比,FCDLMS算法在噪声环境下性能较好,对未知参数的估计精度更高,同时也能较好地适应多抽头数、多节点数、强噪声的复杂环境。后续将对变步长算法进行研究,加快FCDLMS算法的收敛速度,同时降低稳态误差。

参考文献
[1]
KUKDE R, MANIKANDAN M S, PANDA G. Reduced complexity diffusion filtered x least mean square algorithm for distributed active noise cancellation[J]. Signal, Image and Video Processing, 2019, 13(3): 447-455. DOI:10.1007/s11760-018-01412-1
[2]
YU W, DELELLIS P, CHEN G, et al. Distributed adaptive control of synchronization in complex networks[J]. IEEE Transactions on Automatic Control, 2012, 57(8): 2153-2158. DOI:10.1109/TAC.2012.2183190
[3]
CATTIVELLI F S, SAYED A H. Distributed detection over adaptive networks using diffusion adaptation[J]. IEEE Transactions on Signal Processing, 2011, 59(5): 1917-1932. DOI:10.1109/TSP.2011.2107902
[4]
AHMED S O, HIND M T. Noise cancellation using NLMS adaptive filter[J]. International Journal of Soft Computing and Engineering, 2016, 6(1): 28-31.
[5]
王正腾, 谢维波. 改进的NLMS算法在回声消除系统中的应用[J]. 计算机工程与应用, 2017, 53(10): 107-111.
WANG Z T, XIE W B. Application of improved NLMS algorithm in echo cancellation system[J]. Computer Engineering and Applications, 2017, 53(10): 107-111. (in Chinese)
[6]
PU K, ZHANG J S, MIN L W. A signal decorrelation PNLMS algorithm for double-talk acoustic echo cancellation[J]. Circuits, Systems, and Signal Processing, 2016, 35(2): 669-684. DOI:10.1007/s00034-015-0059-8
[7]
杨逸, 曹祥玉, 杨群. 基于指数函数的归一化变步长LMS算法[J]. 计算机工程, 2012, 38(10): 134-136.
YANG Y, CAO X Y, YANG Q. Normalization variable step size LMS algorithm based on exponential function[J]. Computer Engineering, 2012, 38(10): 134-136. (in Chinese)
[8]
胡异丁, 王凤森, 杨敏, 等. 一种改进变步长LMS自适应滤波算法[J]. 计算机仿真, 2020, 37(7): 291-295.
HU Y D, WANG F S, YANG M, et al. An improved LMS adaptive filtering algorithm with variable step size[J]. Computer Simulation, 2020, 37(7): 291-295. (in Chinese)
[9]
易清明, 曾杰麟, 石敏. 一种基于矢量加速的变步长频域最小均方算法[J]. 计算机工程, 2015, 41(7): 285-288, 293.
YI Q M, ZENG J L, SHI M. A variable step-size frequency-domain least mean square algorithm based on vector acceleration[J]. Computer Engineering, 2015, 41(7): 285-288, 293. (in Chinese)
[10]
LOPES C G, SAYED A H. Diffusion least-mean squares over adaptive networks[C]//Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing. Washington D. C., USA: IEEE Press, 2007: 917-920.
[11]
LOPES C G, SAYED A H. Diffusion least-mean squares over adaptive networks: formulation and performance analysis[J]. IEEE Transactions on Signal Processing, 2008, 56(7): 3122-3136. DOI:10.1109/TSP.2008.917383
[12]
CATTIVELLI F S, SAYED A H. Diffusion LMS strategies for distributed estimation[J]. IEEE Transactions on Signal Processing, 2010, 58(3): 1035-1048. DOI:10.1109/TSP.2009.2033729
[13]
陈文晓, 卢光跃, 黄庆东. 改进的分布式扩散符号LMS算法[J]. 电讯技术, 2013, 53(12): 1580-1585.
CHEN W X, LU G Y, HUANG Q D. An improved distributed diffusion sign-LMS algorithm[J]. Telecommunication Engineering, 2013, 53(12): 1580-1585. (in Chinese)
[14]
CHEN C, LIU Z, GUO L. Stability of diffusion adaptive filters[J]. IFAC Proceedings Volumes, 2014, 47(3): 10409-10414. DOI:10.3182/20140824-6-ZA-1003.01914
[15]
ZHANG S, SO H C, MI W, et al. A family of adaptive decorrelation NLMS algorithms and its diffusion version over adaptive networks[J]. IEEE Transactions on Circuits and Systems Ⅰ: Regular Papers, 2018, 65(2): 638-649. DOI:10.1109/TCSI.2017.2736341
[16]
ABDOLEE R, CHAMPAGNE B. Diffusion LMS strategies in sensor networks with noisy input data[J]. IEEE/ACM Transactions on Networking, 2016, 24(1): 3-14. DOI:10.1109/TNET.2014.2350013
[17]
JIA L, ZHENG C, KATEREGA A, et al. Distributed diffusion bias-compensated LMS for node-specific networks[J]. Signal Processing, 2019, 160: 21-31. DOI:10.1016/j.sigpro.2019.01.015
[18]
XU X, JIA L, XU T, et al. Diffusion bias-compensated LMS estimation for multitask adaptive networks[C]//Proceedings of IEEE Conference on Control Applications. Washington D. C., USA: IEEE Press, 2015: 545-550.
[19]
ZHANG S, SO H C. Diffusion average-estimate bias-compensated LMS algorithms over adaptive networks using noisy measurements[J]. IEEE Transactions on Signal Processing, 2020, 68: 4643-4655. DOI:10.1109/TSP.2020.3014801
[20]
鄂智丰. 基于相关函数的自适应滤波算法的拓展研究[D]. 长沙: 中南林业科技大学, 2009.
E Z F. Expanded research on adaptive filtering algorithm based on correlation function[D]. Changsha: Central South University of Forestry and Technology, 2009. (in Chinese)
[21]
刘云, 陈倩. 基于测量矩阵优化的分布式压缩估计算法[J]. 计算机工程, 2018, 44(3): 114-118.
LIU Y, CHEN Q. Distributed compression estimation algorithm based on measurement matrix optimization[J]. Computer Engineering, 2018, 44(3): 114-118. (in Chinese)
[22]
XIE S Y, GUO L. Analysis of distributed adaptive filters based on diffusion strategies over sensor networks[J]. IEEE Transactions on Automatic Control, 2018, 63(11): 3643-3658. DOI:10.1109/TAC.2018.2799567