您好, 访客   登录/注册

基于DSP的VKLMS算法及其在非线性信号处理中的应用

来源:用户上传      作者:

  摘   要:针对LMS算法训练非线性信号模型的缺陷,将输入数据映射到高维的特征空间,通过核函数完成内积运算,由最小均方算法得到了经典的核最小均方算法。分析收敛范围,将算法的步长变换为关于误差的非线性函数,得到了VKLMS算法。结合DSP,采用指数函数来建立非线性关系式。设计VKLMS算法的CCS工程项目文件,对比LMS算法,VKLMS在DSP上训练非线性信号模型。测试结果表明:对于输入输出为高度非线性模型时,VKLMS具有传统的LMS无法训练的能力。
  关键词:核自适应滤波器  VKLMS  DSP  非线性信号处理
  中图分类号:TN911.7                              文献标识码:A                       文章编号:1674-098X(2019)09(b)-0147-04
  Abstract: Because of the flaws in the LMS algorithm training non linear signal model ,we map the input data of the LMS algorithm to the high-dimensional feature space, and perform the inner product operation using the kernel function to obtain the classical kernel least mean square algorithm . This paper analyzes the convergence, and adjusts the step size of LMS with a nonlinear function of the error. This gives the VKLMS algorithm. Combined DSP, an exponential function is used to establish a nonlinear relationship. We design the CCS project files of the VKLMS algorithm. Compared with the LMS algorithm, VKLMS trains the nonlinear signal model on the DSP. The test  results show that VKLMS has the ability of traditional LMS to be unable to train when the input and output are highly nonlinear.
  Key Words: Kernel adaptive filter; VKLMS; DSP; Nonlinear signal processing
  线性自适应滤波器能力有限,很难实现非线性函数建模,因此提出了非线性自适应滤波器。线性滤波器的目标是通过学习样本来学习连续的任意输入—输出关系的映射,即[1]。设计非线性自适应滤波器是困难的,一个简单地实现非线性自适应滤波器的方法是通过线性滤波器的串联实现,然而这种建模能力有限,模型无法独立且训练过程中存在局部最小值。Gabor尝试使用Volterra序列绕开非线性滤波面临的数学障碍,但Volterra序列计算复杂度随着其建模能力的提高呈指数爆炸增长。在后期不断发展的过程中,Weifeng Liu等人提出了基于核方法的自适应滤波器[1],吸引了众多学者学习和研究,其算法具有通用的逼近器、没有局部最小值、并且计算复杂度适中等特点。核自适应算法在非线性混沌时间序列的预测、非线性信道均衡等方面具有比传统的自适应算法更好的性能。
  1  核自适应滤波器
  自适应系统系统结构如图1所示[2],x为输入信号,w为可调权,y为输出信号,输入,对应可调权,若w权值不变,则输出是输入分量的线性组合。
  将图1输出可表示为输入向量X与权向量W的线性乘积的形式:
  (1)
  由此引入误差信号可表示为:
   (2)
  非线性自适应滤波器应用在信号预测、系统识别、信道均衡等[3],其典型结构如图2,建模任意的输入输出映射,表示为:
   (3)
  其中fi表示迭代i次后估计的映射关系,Gain为一个函数关系式,e(i)即为通常的误差函数。
  实现非线性关系的学习模型是很困难的,现有很多方法,但其有计算复杂等问题,因此引入了核方法,通过相对简单的核函数运算,降低了高维特征空间内积运算的复杂度。核方法的核心思想是:将初始空间的输入数据通过非线性函数变换到高维的再生核希尔伯特空间,通过核函数对高维空间做内积转换到初始空间的线性运算[4-5]。
  定义核函数为k,其基本形式为:
   (4)
  其中X、X'属于初始空间U,是初始空间U到特征空间F的映射,表示內积。
  定义U为输入的二维空间,即
  ,特征映射为:
   (5)
  则特征空间F的线性函数为:
  (6)
  由此可见,特征映射将输入的二维空间映射到了高维的三维空间,将特征映射和内积合成,得:    (7)
  即为一个核函数。
  通常使用的核有高斯核和多项式核,分别为:
   (8)
   (9)
  根据Mercer定理[6],任意可再生核可扩展为:
  (10)
  其中为非负的特征值,为特征函数。
  因此,映射的构造形式为:
  (11)
  通过构造,特征空间F的维度由正特征值的个数决定,如果采用高斯核,则维度无限。
  2  核最小均方算法及改进
  再生希尔伯特空間(RKHS)最大的特点在于利用RKHS的线性结构实现成熟的线性自适应滤波算法,并可以在原始的输入空间获得一个非线性滤波器[7]。与神经网络相比,具有通用的逼近能力、凸优化特性、合理的计算复杂度[8]。核最小均方算法(KLMS)是核自适应算法里面比较简单的一种算法,通过最小均方算法直接映射到高维的RKHS,利用RKHS的再生特性和核评价函数完成计算而得到的。KLMS算法的本质是生成一个生长的径向基函数网络,学习网络的拓扑结构,并且通过训练数据来自适应调整自由参数,通过使用之前的输入数据和预测误差逐步构建滤波器的输出,进行在线操作[9,11]。
  将LMS算法的输入信号X(i)变换到高维特征空间F中的,由于对于X的维度更高,因此的模型比更为强大。LMS算法的基础上可得:
   (12)
  由此经过i次迭代,权重更新方程已经改写为输入变换后的数据乘以误差函数与步长参数μ的求和的形式,由此得到了新的权重更新方程,计算新的输入数据X'对应的输出形式。利用核技巧,将滤波器的输出改写为:
  (13)
  从公式(13)可以看出,滤波器的输出形式已经没有权向量了,权向量由核函数取代了。因此所有的输入数据仅仅需要通过核函数进行内积运算,大大节省了计算时间。由此可得到核最小均方算法的形式。首先初始化步长参数和选取核。由于高斯核可以生成RKHS且其具有通用的逼近能力,因此一般选择高斯核。当每获得一个数据对,即输入数据向量和期望信号,可得到如下学习规则:
   (14)
  其中核为,a为核参数,其中步长参数的一个保守上限为:
   (15)
  不同的参数μ会对应不同的迭代次数和不同的最小均方误差。当步长因子μ在稳定范围内取的值越大,算法能够经过更少的迭代次数来达到收敛。相反,当步长因子 在稳定范围内取值小,则稳定性好,但相应的收敛速度也越慢,需要经过更长的迭代次数达到收敛。因此迭代初期误差函数e(i)的值比较大,经过不断迭代,随着误差函数e(i)的减小,步长也相应地减小。因此可将固定步长调整为关于误差函数的关系式。
  很多文献针对此缺陷提出了解决办法,在应用中,这将大大减少算法自适应时间来尽快地使算法达到收敛,结合DSP,将核最小均方算法中的u变换为关于误差函数的非线性函数关系:
   (16)
  将μ(i)代入KLMS,即为VKLMS。
  3  算法DSP实现流程
  VKLMS算法与最小均方算法(LMS)原理相似,但在DSP上实现增加了一定的运算量和存储空间。从理论上来说VKLMS比LMS在数据处理方面,性能大有提高,如果应用到DSP中,可以弥补最小均方算法的缺陷。
  DSP平台采用的是TI的C2000系列芯片,DSP开发流程如图3所示。
  VKLMS算法C语言设计可分为数据配置、核函数、VKLMS三个部分。VKLMS中核函数运算时,每给一个输入,就会新增加一个存储空间,因此存储空间会随着新的输入数据而不断增长。为此,采用C链表里面的动态内存分配函数节约数据存储空间。VKLMS算法C语言设计如图 4所示。
  4  VKLMS算法应用到DSP平台仿真和测试
  选取加入高斯噪声的余弦信号作为训练数据源,VKLMS算法和KLMS算法通过均方误差收敛曲线来比较性能。VKLMS算法意在提高收敛速度,仿真结果如图5。VKLMS算法的收敛速度明显快于KLMS算法,KLMS算法对比LMS算法具有较小的均方误差。表明VKLMS算法比KLMS算法和LMS算法的性能更优。
  将性能更优的VKLMS算法在DSP上进行调试。首先以LMS作为参考,选取输入信号为整数时间序列t(0、1、2、3、…),期望信号为,采用VKLMS与LMS训练t→T之间的函数关系,LMS训练仿真结果如图 6,无法准确训练输出。
  在DSP上,采用VKLMS算法训练,训练结果如图 7所示,表明VKLMS算法可以准确的训练高度非线性关系信号的函数模型。
  5  VKLMS预测非线性混沌信号
  搭建非线性混沌电路平台,调试电路。产生混沌双吸引子时,DSP平台采集一组时域信号。采用LMS算法与VKLMS算法进行训练。测试结果(如图8和图9)表明,VKLMS算法能够很好的预测输入输出为高度非线性的映射关系,而LMS训练此类信号具有明显的缺陷。
  6  结语
  随着信息技术的不断发展,传统的自适应信号处理方法缺陷日益增多。针对高度非线性信号模型,该文采用改进的核最小均方算法应用到DSP平台,并对非线性映射关系的信号模型进行了训练和预测。以最小均方算法为对比,DSP上试验结果表明改进的核最小均方算法具有很好的训练高度非线性信号模型的能力。由于VKLMS算法具有较低的计算复杂度,可以应用于非线性信号的处理。
  参考文献
  [1] Liu W, Principe J C, Haykin S S. Kernel adaptive filtering[M]. New Jersey, USA: John Wiley & Sons, Inc, Publication, 2010.   [2] 西蒙·赫金. 自适应滤波器原理[M].4版.北京:电子工业出版社, 2006.
  [3] Mitra R, Bhatia V. The Diffusion-KLMS Algorithm[C]. International Conference on Information Technology. IEEE Computer Society, 2014:256-259.
  [4] Liu W, Principe J C, Haykin S S. Kernel adaptive filtering[M]. New Jersey, USA: John Wiley & Sons, Inc, Publication, 2010.
  [5] 趙知劲, 金明明. 基于块自适应滤波的核最小均方算法[J]. 计算机工程, 2017, 43(9):162-166.
  [6] Aronszajn A. Theory of reproducing kernels. Trans Am Math Soc [J]. Transactions of the American Mathematical Society, 1950, 68(3): 337-404.
  [7] Zhu P, Chen B, Pr?Ncipe J C. Learning Nonlinear Generative Models of Time Series With a Kalman Filter in RKHS[J]. IEEE Transactions on Signal Processing, 2013, 62(1):141-155.
  [8] Duttweiler D , Kailath T . RKHS approach to detection and estimation problems--IV: Non-Gaussian detection[J]. IEEE Transactions on Information Theory, 1973, 19(1):19-28.
  [9] Liu W, Pokharel P P, Principe J C. The Kernel Least-Mean-Square Algorithm[J]. IEEE Transactions on Signal Processing, 2008, 56(2):543-554.
  [10]Li K , Principe J C . Transfer Learning in Adaptive Filters: The Nearest Instance Centroid-Estimation Kernel Least-Mean-Square Algorithm[J]. IEEE Transactions on Signal Processing, 2017, 65(24):6520-6535.
  [11]伍松,周振华,李俞霖.基于一种新的S型函数快速凸组合最小均方算法[J].科学技术与工程,2017(31):295-299.
转载注明来源:https://www.xzbu.com/1/view-15106571.htm