EDN China > 设计实例 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 自适应滤波器的算法研究及DSP仿真实现

辽宁工程技术大学 宋立业 王景胜 彭继慎?? 2009年05月18日 ?? 收藏0

  用以上方法获得最佳W*的运算量很大,对于一些在线或实时应用的场合,无法满足其时间要求。大多数场合使用迭代算法,对每次采样值就求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的R-1和P的运算,又能实时求得近似解,因而切实可行。LMS算法是以最快下降法为原则的迭代算法,即W(n+1)矢量是W(n)矢量按均方误差性能平面的负斜率大小调节相应一个增量:W(n+1)=W(n)-μ▽(n),这个“是由系统稳定性和迭代运算收敛速度决定的自适应步长。▽(n)为n次迭代的梯度。对于LMS算法▽(n)为下式E[e2(n)]的斜率:

公式

  由上式产生了求解最佳权系数W*的两种方法,一种是最陡梯度法。其思路为:设计初始权系数W(0),用W(n+1)=W(n)一μ▽(n)迭代公式计算,到W(n+1)与W(n)误差小于规定范围。其中▽(n)计算可用估计值表达式:

公式

  上式K取值应足够大。如果用瞬时一2e(n)X(n)来代替上面对-2E[e(n)X(n)]的估计运算,就产生了另一种算法——随机梯度法,即Widrow-Hoft的LMS算法。此时迭代公式为:

W(n+1)=W(n)+2ue(n)X(n)

  以后讨论的LMS算法都是基于WidrOW-Hoff的LMS算法。上式的迭代公式假定滤波器结构为横向结构。对于对称横向型结构也可推出类似的迭代公式:

W(n+1)=W(n)+2ue(n)[X(n)+X(n一N+1)]

  4 自适应滤波算法的理论仿真

  使用Matlab编程,采用自适应滤波器技术实现信噪分离,也就是去噪。程序如下:

程序

  程序运行的结果如图3所示。

程序运行的结果

  通过CCS软件环境,把滤波程序烧录到DSP芯片中,在CCS DSK C5000环境下输出仿真结果:输入信号为余弦信号和随机噪声的叠加。程序正确运行后,观察运行结果,得出如图4,图5所示的仿真图。

余弦信号和随机噪声叠加的输入信号

输出信号

  5 结 语

  通过仿真实验结果表明:自适应滤波器却能很好地消除叠加在信号上的噪声,虽然也可以用固定滤波器来实现,但设计固定滤波器时需要预先知道信号和噪声的统计特性,而自适应滤波器则不需要,并且当信号和噪声的统计特性发生变化时,自适应滤波器也能自动地调节其冲激响应特性来适应新的情况,因此,自适应滤波器具有更加广阔的应用前景。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

滤波器? DSP? 仿真? CCS?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈