数字滤波技术的现状与发展
扫描二维码
随时随地手机看文章
引 言
在各类数字系统中,噪声与干扰会降低系统性能,甚至影响系统正常工作。滤波技术的目的就是抑制各类噪声与干扰, 提高信噪比,维护系统稳定。
数字滤波技术相比传统模拟滤波技术,以其灵活度大、稳定性高等优点[1] 被广泛应用于航天、图像处理、语音处理、电视、雷达、生物医药、音乐等行业中[2]。
数字滤波技术可以分为经典滤波技术与现代滤波技术。经典滤波技术使用傅立叶变化将信号和噪声频率分离,滤波时直接去除噪声所在信道。现代滤波技术则是建立在信号随机性本质的基础上,将信号和噪声当作随机信号,通过统计特性估计出信号本身。
经典滤波技术渐渐被现代滤波技术所取代,因此本文主要介绍几种常用的现代滤波技术发展现状及其发展趋势。
1 卡尔曼滤波发展现状及发展趋势
1.1 基本卡尔曼滤波算法的引入
最佳线性滤波理论即维纳滤波理论,于 20 世纪 40 年代由美国与前苏联科学家一同提出。该理论需要使用所有以往信号以及当前信号,难以用于实时滤波 [3]。为突破维纳滤波技术的局限性,1960 年Kalman 引入了空间状态模型,提出了卡尔曼滤波技术,用于解决线性高斯问题,而该技术也是当前解决线性高斯实际应用问题的标准方式。通过建立信号与噪声的空间状态模型,使用过去的估计值与当下测量值更新空间状态模型的参数,求出当前的估计值[4]。
1.2 扩展卡尔曼滤波
基本卡尔曼滤波技术用于解决高斯线性问题,但对于非线性问题却有很大局限性。然而,在现实世界中,各类实际问题都存在非线性特性,因此,非线性滤波技术得以广泛应用。
所谓线性滤波,指原始数据与滤波结果是一种算数运算。而非线性滤波指原始数据与滤波结果之间是逻辑关系。在各类解决非线性问题的方法中,扩展卡尔曼滤波技术的(Extended Kalman Filter,EKF)使用最为广泛[5]。
EKF 的本质就是将非线性模型分为若干线性区域,对每个线性区域使用卡尔曼滤波技术。EKF 对于弱非线性系统能得到不错的滤波结果,但对于强非线性滤波系统的滤波结果却不理想[6]。
EKF 会产生较大误差,且计算复杂度高。一些改进的EKF 虽然提高了精度,但会增加计算量[7]。
1.3 不敏卡尔曼滤波技术
不敏卡尔曼滤波技术(Unscented Kalman Filter,UKF) 的主要思路是 近似非线性函数的概率密度分布比近似非线性函数本身更容易 [8],即在不敏变换的基础上,利用一系列测试点来预估状态后验概率密度函数[9]。
与EKF 不同,UKF 通过U 变换令非线性系统方程能够适用于线性假设,变换后,使得在不增加计算量的前提下,有效克服EKF 估计精度低、稳定性差的缺点[5]。
1.4 其他卡尔曼滤波技术的发展
文献 [10] 提出了容积卡尔曼滤波技术(Cubature Kalman Filters,CKF)。CKF为解决贝叶斯滤波积分问题,使用一系列位置、个数、权系数均确定的容积点集,采用球形积分规则、径向积分规则来计算积分,得到容积点及其权重,再用类似UKF 的方法计算积分。
文献 [11] 在CKF 的基础上,提出了容积求积卡尔曼滤波(Cubature Quadrature Kalman Filter,CQKF)。为达到提高精度的目的,CQKF 构造高阶采样点,但增加了计算量、降低了滤波实时性。
文献[12] 则在EKF 的基础上提出单形不敏求积卡尔曼滤波(Simplex Unscented Quadrature Kalman Filter,SUQKF)。
该方法结合高斯 拉盖尔积分公式(Gauss-Laguerre Quadra),使用一组新型高阶采样点达到提升收敛速度与滤波精度的目的。
1.5 卡尔曼滤波技术的应用
卡尔曼滤波目前主要用于不能精确观测的系统状态,如气象、能源、雷达等[13-16]。
2 自适应滤波发展现状及发展趋势
2.1 自适应滤波技术的基本概念
自适应滤波技术的概念源自固定系数滤波技术。在固定系数滤波技术中,已算出信号和噪声各自占有的频带,滤波时清除噪声所在频率,留下信号所在频率。而自适应滤波技术可以随着环境参数的改变,根据算法自动调整滤波参数,得到滤波结果,实现噪声抵消[17]。
自适应滤波的主要特点是不需要输入先前的信号,因此计算量小,多用于实时处理系统[18]。
2.2 LMS自适应算法及其发展
在所有滤波技术中,最小均方误差(LMS)算法使用最为广泛,其具有平稳环境中收敛性好、计算复杂度低、稳定性高等优点。LMS 算法基于最小均方误差准则,使输出值与估计值之间的均方误差最小[17]。
阶长作为自适应算法中的一个重要参数及不确定因素, 对算法的性能有很大影响。阶长与收敛速度正相关,与稳定性负相关。因此,寻找阶长的最佳值是LMS 算法研究中的一个难点[19]。
文献 [20] 提出了分割滤波器算法,将滤波器分成多个滤波器的组合,并依次计算误差,通过比较最后两个滤波器的误差来确定是否选择添加下一个。
文献 [21] 提出了梯度下降算法来解决阶长选取问题,使用梯度的概念将滤波器的输出误差平方定义为滤波器阶数收敛的目标函数,以此为依据,目标函数取值小时获取最佳阶长。
文献 [22] 和[23] 提出了分数阶数(FT-LMS)算法。一般认为,FT-LMS 算法是目前效率最高的LMS 算法。但该算法参数理论性过强,选择复杂,目前仅限于理论研究,并没有太多的实践意义。
由上述分析可知,LMS 算法的一大限制在于无法兼顾收敛速度与稳定性。为了解决这个问题,文献 [24] 中提出了基于凸组合的并联LMS自适应滤波算法(CLMS),并联指两个滤波器同时工作,可有效提高收敛速度,但需人为设定参数,不具有一般性。
为解决 CLMS 中存在的问题,文献 [25] 提出了一种基于变步长的CLMS算法(VSCLMS),但该方法对于滤波器的要求过于苛刻,在实际使用过程中也有较大问题。
文献 [26] 提出了一种采用以最小均方权值偏差为条件的变步长滤波器,并以此作为凸组合滤波器中的快速滤波器,不仅提高了收敛速度,还保证了在时变环境下的鲁棒性。
2.3 其他自适应算法
递归最小二乘(RLS)算法的基本准则是,每次获取数据都要对之前的所有数据进行计算,令其平方误差的加权和最小。显然,此方法随着时间推移,计算量随之增大,实时性较差。但对于有大量计算能力且对实时性要求较低的系统而言,该算法的收敛速度快、精度高、稳定性高,适用于非平稳信号。因此,有大量降低该算法计算复杂度、保持其收敛速度、精度、稳定性的尝试与研究,如快速递推最小二乘格型算法等[27]。自适应算法中还有变换域自适应滤波算法[28]、基于子带分解的自适应算法、基于 QR 分解的自适应算法、共轭梯度算法等[29]。
2.4 自适应滤波技术的应用现状
自适应滤波作为一种智能且有针对性的滤波方式,不仅能直接应用于航空 [30]、光学 [31]、生物医药 [32] 等多个领域, 还能与其他技术配合使用,有着良好的应用前景。
3 粒子滤波发展现状及趋势
3.1 基本粒子滤波技术
20 世纪 50 年代提出的粒子滤波技术是另一种解决非线性滤波问题的常用技术。刚提出此项技术时,由于其计算量大、退化严重,导致该技术长期得不到重视。但随着时间的推移, 对于这两个问题有了很好的解决方案,因此粒子滤波技术的应用也越来越广泛[33]。
粒子滤波技术的中心思路是构造一个基于样本的后验概率密度函数,寻找一组在状态空间传播的随机样本描述系统状态,将样本形象化为粒子,如果数量达到一定程度,就可以无限逼近任何系统状态。该技术不需要任何先验性假设,理论上适用于所有空间状态模型描述的随机系统[34]。
3.2 粒子滤波标准算法
序贯重要性采样(Sequential Importance Sampling,SIS) 算法以及序贯重要性重采样方 法(Sequential Importance Resampling,SIR)是粒子滤波技术的标准算法。这两种算法出现时间较早,虽体现了粒子滤波技术的基本思想,但也存在严重的缺陷[33]。
粒子退化是指当系统达到某个状态时,大部分之前粒子几乎对于结果没有影响、所占权极低,小部分粒子权重很大, 此时,大部分计算都在做无用功,而小部分粒子不能完全反映系统的当前状态。SIS 算法就存在这样的缺陷[35]。
SIR 算法舍弃权值小的粒子,将权值大的粒子进行繁殖, 抑制了粒子退化现象,但随之会出现粒子多样性丧失的问题, 即所有粒子都从少部分粒子复制而来,导致粒子不具有代表性,或难以描述系统的当前状态。这种情况被称为粒子匮乏现象[35]。
3.3 粒子滤波技术的发展
目前,大多数粒子滤波技术都围绕着SIS 算法与SIR 算法及其存在的问题进行相应的研究与改进。
3.3.1 对SIS算法的改进
有三大类设计方法用于对 SIS 算法的改进,使其获得最优的重要性采集密度函数 [36]。一是利用一些优化算法来寻找该函数特有的模式;二是采用经典的非线性滤波算法来构造该函数,如前文提到的 EKF、UKF 等;三是采用 Auxiliary 粒子滤波算法(APF)[37]。
3.3.2 对SIR算法的改进
文献 [38] 提出了一种将粒子分为两块,对其中一块进行重采样,用以在粒子退化与粒子丧失之间进行折中。
文献 [39] 提出了一种精确重采样(Exquisite Resampling, ER)算法,该算法以提高计算复杂度为代价,比较样本权值,同时保留权值大的样本,然后使用拟蒙特卡洛方法(Quasi Monte Carlo)对后代进行复制。该算法虽能有效解决粒子匮乏现象,但大大提高了计算复杂度。
文献 [40] 提出了一种蚁群优化算法,利用蚂蚁觅食机制取代重采样的步骤,将蚂蚁觅食过程与粒子传递过程相联系, 避免粒子匮乏问题的出现。
文献 [41] 和[42] 也使用了蚁群优化算法,在增加计算量的前提下,使用优化粒子的方法抑制粒子匮乏现象。
文献 [43] 提出了一种改进的滤波算法,可以从根本上解决粒子退化问题,废除重采样步骤,降低计算量,避免出现粒子匮乏现象,运算速度得到大幅提升。
3.3.3 与粒子数量有关的算法
由粒子滤波的定义可知,随着算法的进行,粒子的数量会不断增加,而性能好坏与计算量成正比。由于系统的计算量有限,因此在实际使用时往往会将粒子数量限制在一定范围内。但随着时间的推移,概率密度复杂度越来越大,粒子数目固定会导致粒子滤波性能下降。同时,最优粒子数目的选择一般都根据经验选择,没有现成的算法。因此,产生了一系列与粒子数目相关的算法。
文献 [44] 根据 Kullback-Leibler 距离来确定最优粒子数量,并能随着系统的运行自适应调整最优粒子数量,从而提高算法性能。
文献 [45] 在不显著提高计算量的前提下,结合真实密度以及后验概率密度复杂度,使得粒子数目与传播函数自适应变化,保证了较高的精度。
文献 [46] 提出了一种通过比较近似滤波估计和真实滤波估计动态调整粒子数目的算法。
文献 [47] 提出了一种基于模糊逻辑,通过滤波估计误差动态调整粒子数目的算法。
文献 [48] 通过模拟退火,获取当前检测值,使重要性密度函数随时间自适应更新,提高了估计精度。
3.3.4 粒子滤波技术的发展趋势
粒子滤波技术还可以与其他技术相结合。
文献[49] 将粒子滤波与神经网络结合,采用全局搜索策略, 解决了局部搜索算法容易陷入局部极小的问题,实现粒子高利用的目标。
文献 [50] 将粒子滤波与自组织模糊神经网络训练算法相结合,在增加神经元准则和删除神经元准则的基础上,利用粒子滤波技术对神经元参数进行学习。
粒子滤波技术今后的发展主要围绕粒子滤波技术目前的难点与缺陷展开,如重要性函数选择、重采样算法、算法实时性提升、收敛性证明。
3.3.5粒子滤波技术的应用现状
粒子滤波技术虽然出现时间早,但实质上是进十几年刚发展起来的,潜力不俗。粒子滤波技术虽然也应用于机器人[51] 等领域,但其主要应用于目标追踪、定位,特别是军事领域, 如空对空、空对地被动式追踪等[52]。
4 结 语
本文总结了卡尔曼滤波技术、自适应滤波技术、粒子滤波技术的发展现状以及发展趋势,简单介绍了各滤波技术的应用现状。
各类滤波技术有着各自的优点与缺陷,在实际应用中也会出现不同的问题,需要在今后的实践中不断改进。