声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1976|回复: 9

[滤波] RLS 快速算法MATLAB程序

[复制链接]
发表于 2016-8-16 21:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

哪位前辈有RLS 快速算法的MATLAB程序分享一下吧,不胜感激!
回复
分享到:

使用道具 举报

发表于 2016-8-17 08:14 | 显示全部楼层
网上一搜就有:
wxid_kpnygglfe5ou22_1471393016205_71.png
 楼主| 发表于 2016-8-17 09:10 | 显示全部楼层
Posion 发表于 2016-8-17 08:14
网上一搜就有:

谢谢回复!不过这个是RLS基础算法不是快速算法

点评

在这个基础上优化呗  详情 回复 发表于 2016-8-17 11:14
发表于 2016-8-17 11:14 | 显示全部楼层
sjtudly 发表于 2016-8-17 09:10
谢谢回复!不过这个是RLS基础算法不是快速算法

在这个基础上优化呗
 楼主| 发表于 2016-8-17 13:49 | 显示全部楼层
Posion 发表于 2016-8-17 11:14
在这个基础上优化呗

已经有很多现成的优化算法了

点评

搜噶 那你找到了吗  详情 回复 发表于 2016-8-17 14:30
发表于 2016-8-17 14:30 | 显示全部楼层
sjtudly 发表于 2016-8-17 13:49
已经有很多现成的优化算法了

搜噶  那你找到了吗
 楼主| 发表于 2016-8-18 20:38 | 显示全部楼层
Posion 发表于 2016-8-17 14:30
搜噶  那你找到了吗

有论文,没有现成的程序,比较复杂

点评

论文好找 论文里都不会把程序贴出来 。。。  详情 回复 发表于 2016-8-19 09:07
发表于 2016-8-19 09:07 | 显示全部楼层
sjtudly 发表于 2016-8-18 20:38
有论文,没有现成的程序,比较复杂

论文好找  论文里都不会把程序贴出来  。。。
发表于 2016-8-24 13:22 | 显示全部楼层
找到这个程序了吗
发表于 2016-8-25 09:20 | 显示全部楼层
  1. % RLS 算法
  2. <br>randn('seed', 0) ;
  3. <br>rand('seed', 0) ;
  4. <br>
  5. <br>NoOfData = 8000 ; % Set no of data points used for training
  6. <br>Order = 32 ; % Set the adaptive filter order
  7. <br>
  8. <br>Lambda = 0.98 ; % Set the forgetting factor
  9. <br>Delta = 0.001 ; % R initialized to Delta*I
  10. <br>
  11. <br>x = randn(NoOfData, 1) ;% Input assumed to be white
  12. <br>h = rand(Order, 1) ; % System picked randomly
  13. <br>d = filter(h, 1, x) ; % Generate output (desired signal)
  14. <br>
  15. <br>% Initialize RLS
  16. <br>
  17. <br>P = Delta * eye ( Order, Order ) ;
  18. <br>w = zeros ( Order, 1 ) ;
  19. <br>
  20. <br>% RLS Adaptation
  21. <br>
  22. <br>for n = Order : NoOfData ;
  23. <br>
  24. <br>u = x(n:-1:n-Order+1) ;
  25. <br>pi_ = u' * P ;
  26. <br>k = Lambda + pi_ * u ;
  27. <br>K = pi_'/k;
  28. <br>e(n) = d(n) - w' * u ;
  29. <br>w = w + K * e(n) ;
  30. <br>PPrime = K * pi_ ;
  31. <br>P = ( P - PPrime ) / Lambda ;
  32. <br>w_err(n) = norm(h - w) ;
  33. <br>
  34. <br>end ;
  35. <br>
  36. <br>% Plot results
  37. <br>
  38. <br>figure ;
  39. <br>plot(20*log10(abs(e))) ;
  40. <br>title('Learning Curve') ;
  41. <br>xlabel('Iteration Number') ;
  42. <br>ylabel('Output Estimation Error in dB') ;
  43. <br>
  44. <br>figure ;
  45. <br>semilogy(w_err) ;
  46. <br>title('Weight Estimation Error') ;
  47. <br>xlabel('Iteration Number') ;
  48. <br>ylabel('Weight Error in dB') ;
  49. <br>
复制代码


您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-25 18:27 , Processed in 0.076675 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表