- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种新的变步长LMS算法及在DSP上实现
录入:edatop.com 点击:
图3是α固定,不同β值对应的收敛曲线。随着β值的增大,算法的收敛速度逐渐加快。图4是β保持不变,不同α值对应的收敛曲线,随着α逐渐减小,算法的误差也随之减小,但达到稳态的时间逐渐增加。
文献[7]提出了一种改进的变步长LMS算法,其步长变化为e(n)X(n)的函数:
μ(n)=β[1-exp(-α∣e(n)x(n)∣2)]
该算法取α=15,β=0.3。图5是在第500个采样点时刻未知系统发生时变,系数矢量变为W=[0.2,0.5]T时本文算法与文献[7]算法的比较,分别做500次独立的仿真,然后求其统计平均,得出学习曲线。可以看出本文所述算法具有更快的收敛速度,更快地回到稳态,说明此算法具有更好的鲁棒性,并且计算量更小。
3 在DSP上的具体实现
本文使用TI公司的TMS320C5402芯片,该芯片采用哈佛体系结构,具有高度并行性,同时拥有高度集成的指令系统,简化编成过程,模块化结构程序设计增强了程序的可移植性。
程序在CCS环境下编译,链接生成公共目标代码文件,再load到DSP中运行。本文采用C语言编程。图6为被噪声污染的输入信号,图7为滤波后的信号。比较两图可以看出,混合信号经过本文算法处理后噪声得到了很好的抑制,而原始信号得到了明显的加强和改善。
4 结语
本文提出了一种新的变步长LMS算法。该算法通过对最佳Wiener解的分析,并用反正切函数建立了步长因子μ(n)与误差e(n)的非线性函数关系。本算法具有初始阶段和未知系统时变阶段步长自动增大而稳态时步长很小的特点,且具有良好的鲁棒性和较小的计算量。通过在DSP上的实现,说明此算法具有可实行,并且实现方法简单,滤波效果好。
作者:吴波,李庆梅,刘树东 来源:中电网