基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码

奋斗吧
奋斗吧
擅长邻域:未填写

标签: 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码 HarmonyOS博客 51CTO博客

2023-05-08 18:24:13 30浏览

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码,基于粒子群和麻雀搜索的LMS自适应滤波算法文章目录基于粒子群和麻雀搜索的LMS自适应


基于粒子群和麻雀搜索的LMS自适应滤波算法


文章目录

  • 基于粒子群和麻雀搜索的LMS自适应滤波算法
  • 1.LMS 自适应滤波算法
  • 2.自适应滤波在降噪中的应用
  • 3.粒子群算法对LMS滤波算法的改进
  • 4.PSO—LMS算法实验
  • 5.SSA—LMS算法实验
  • 6.参考文献
  • 7.Matlab代码



摘要:在自适应滤波算法中,LMS算法是最常用的算法之一,因为具备结构简单,易于实现,性能稳定,计算复杂度低等特


点。然而, LMS算法也存在缺点,比如,收敛速度较慢,收敛精度低的问题,这就影响LMS算法在收敛性要求较高的领域中的


应用。使用粒子群算法和麻雀搜索算法对 LMS算法进行改进,可以将 LMS滤波设计变成对 LMS滤波参数优化的问题,利用粒子群算法的优化能力,使得滤波参数得到全局最优解。以此可以提高 LMS滤波算法的收敛性能,从而提高滤波性能。

1.LMS 自适应滤波算法

LMS滤波器的基本结构,如图1所示。根据如图1所示,该图为LMS滤波器的基本原理框图:

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应


图1.LMS滤波器基本结构

初始化时,如式(1):
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_深度学习_02
当 k ≥0 时,如式(2)、式(3)
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_03

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_04

其中,(k)为瞬时的误差,u为收敛因子,e(k)是误差信号,w(k)为的滤波器系数。按照梯度特性,w(k)在每次迭代运算中会自动调整,逐步是均值基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05最小化,基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05就是最小均方差。

2.自适应滤波在降噪中的应用

当自适应滤波被应用在降噪应用中是,它的结构框图,如图 2 所示.

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_滤波算法_07


图2.信号降噪结构

与看见的自适应滤波器结构是不同的。信号基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_08受到噪声基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_09的影响。而信号基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_10是与噪声相关的信号,它可以被测量到的信号。 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_10也作为自适应滤波器的输入信号,受到干扰的信号基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_滤波算法_12作为期望信号。

输出信号 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_13与输入信号基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_10的数学关系式根据图 1是式(4)
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_15
按照均方误差方程,可以得到式(5)
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_深度学习_16
假如 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_08基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_09基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_10无关,那么该函数的最小基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_20为式(6)
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_滤波算法_21
其中基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_08就是我们滤波所要得到的信号。

3.粒子群算法对LMS滤波算法的改进

式2和式3所示的更新方程是LMS算法的最重要的工作步骤。根据梯度特性基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05会不断趋于最小均方差。其中。从式2能够推倒出下式(7)。
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_24
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_25是瞬时误差,根据式 7 所示,收敛因子2u决定了基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05的最小值。许多研究都是针对2u ,通过动态调整2u使得 值逐基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05步达到最小,从而提高收敛性。而文献[1]则使用粒子群算法优化能力,使得基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_05每次迭代中做到最小化,实现 LMS 滤波的最优收敛效果,从而提升滤波降噪能力。

首先将收敛因子u设为搜索空间内的粒子,那么对 u的调整操作就转换为寻找粒子在空间的最优位置。

根据式(7),本文设定适应度函数,如下式(8)
基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_算法_29
该适应度函数能够实现瞬时误差的最小化,从而是最小均方差 MSE达到最小。

4.PSO—LMS算法实验

利用正弦信号加噪声生成模拟数据,数据如下图所示:

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_滤波算法_30

经过原始LSM和PSO-LSM滤波后的对比图如下并且利用绝对误差和做为评价标准:

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_深度学习_31

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_滤波算法_32

从结果上来看改进后的LMS明显优于基础LMS滤波,滤波后的信号更接近原始信号,误差更小。

5.SSA—LMS算法实验

根据同样的原理利用麻雀搜索算法对LMS滤波算法进行改进

测试结果如下:

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_python_33

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_34

可以看到麻雀搜索算法对LMS滤波的提升仍然是比较明显的。

同时运行PSO-LMS和SSA-LMS得到如下结果:

基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码_自适应_35

可以看到SSA-LMS的效果更好,误差和更小。

6.参考文献

[1]赵轶骁,汪镭.基于粒子群的LMS算法在信号滤波降噪中的应用[J].微型电脑应用,2017,33(09):71-74.

7.Matlab代码

基于粒子群的LMS滤波算法
基于麻雀搜索算法的LMS滤波算法
个人资料介绍


好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695