没有合适的资源?快使用搜索试试~ 我知道了~
自适应滤波LMS与RLS的matlab实现.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 40 浏览量
2021-09-14
16:22:10
上传
评论
收藏 1.35MB PDF 举报
温馨提示
试读
16页
。。。
资源推荐
资源详情
资源评论
MATLAB 仿真实现 LMS 和 RLS 算法的二阶 AR 模型
及仿真结果分析
一、题目概述:二阶 AR 模型如图 1a 所示,可以如下差分方程表示:
x
(
n
)
v
(
n
)
a
1
x
(
n
1)
a
2
x
(
n
2)
v
(
n
)
d
(
n
)
(1)
图 1a
其中, v(n) 是均值 为 0 、方差 为 0.965 的高斯白噪声序 列。 𝑎
1
,𝑎
2
为描述性参数 ,
a
1
0.195,
a
2
0,95.
设 x(-1)=x(-2)=0,权值𝑤
1
(
0
)
= 𝑤
2
(
0
)
= 0, =0.04①推导最优
滤波权值(理论分析一下)。②按此参数设置,由计算机仿真模拟权值收敛曲线并画出,改
变步长在此模拟权值变化规律。③对仿真结果进行说明。④应用 RLS 算法再次模拟最优滤波
权值。
解答思路:
(1)高斯白噪声用 normrnd 函数产生均值为 0、方差为 0.965 的正态分布随机 1*N 矩
阵来实现。随后的产生的信号用题目中的二阶 AR 模型根据公式(1)产生,激励源是之前
产生的高斯白噪声。
(2)信号长度 N 取为 2000 点,用以观察滤波器权值变化从而估计滤波器系数,得到
其收敛值。
(3)仿真时分别仿真了单次 LMS 算法和 RLS 算法下的收敛性能以及 100 次取平均后
的 LMS 和 RLS 算法的收敛性能,以便更好的比较观察二者的特性。
( 4 ) 在 用 不 同 的 分 别 取 3 个 不 同 的 值 仿 真 LMS 算 法 时 , 值 分 别 取 为
0.001,0.003,0.006;用 3 个不同的λ值仿真 RLS 算法时λ值分别取为 1,0.98,0.94,
从而分析不同步长因子、不同遗忘因子对相应算法收敛效果的影响。
二、 算法简介
1.自适应算法的基本原理
自适应算法的基本信号关系如下图所示:
x(n)
参数可调数字滤波器
y(n)
+
Σ
-
e(n)d(n)
自适应算法
图 1b 自适应滤波器框图
输入信号 x(n)通过参数可调的数字滤波器后产生输出信号 y(n),将其与参考信号 d(n)
进行比较,形成误差信号 e(n)。e(n)通过某种自适应算法对滤波器参数进行调整,最终是 e(n)
的均方值最小。当误差信号e(n)的均方误差达到最小的时候,可以证明信号y(n)是信号 d(n)
的最佳估计。
2. LMS 算法简介
LMS 算法采用平方误差最小的原则代替最小均方误差最小的原则,信号基本关系如下:
y(n)
w
i
(n)x(n i)
0
N 1
e(n) d (n) y(n)
(2)
w
i
(n 1) w
i
(n) 2
e(n)x(n i)
i (0,1,2,....N 1)
写成矩阵型式为:
y(n) W
T
(n)X (n)
e(n) d (n) y(n)
W (n 1) W (n) 2
e(n)X (n)
(3)
W (n) [w
0
(n), w
1
(n),.... w
N 1
(n)]
,式(3)中,W(n) 为 n 时刻自适应滤波器的权值,
N 为自适应滤波器的阶数,本设计中取为 2000;X( n) 为 n 时刻自适应滤波器的参考输入
矢量,由最近 N 个信号采样值构成,
X (n) [x(n), x(n 1),....x(n N 1)]
;d ( n) 是期
望的输出值;e ( n) 为自适应滤波器的输出误差调节信号(简称失调信号) ;μ是控制自适应
速度与稳定性的增益常数,又叫收敛因子或步长因子。
T
T
3. RLS 算法简介
RLS 算法是用二乘方的时间平均的最小化准则取代最小均方准则,并按时间进行迭代
计算。其基本原理如下所示:
:遗忘因子,它是小于等于 1 的正数。
d
n
:
参考信号,也可称为期望信号。
w(n) :
第 n 次迭代的权值。
n
:
均方误差。
RLS 算法的准则为:
n
n
nk
e
2
k
min
k 0
(4)
上式越旧的数据对
n
的影响越小。通过计算推导得到系数的迭代方程为:
w
(
n
)
= w
(
n − 1
)
+ k
(
n
)
𝑒
∗
(𝑛) (5)
式(5)中,增量 k(n)和误差𝑒
∗
(𝑛)计算公式如下:
k(n)
T (n1)x(n)
(6)
T
x (n)T(n 1)x(n)
𝑒
∗
(
𝑛
)
= 𝑑
∗
(
𝑛
)
− 𝑥
𝑇
(
𝑛
)
∗ 𝑤(𝑛 − 1) (7)
−1
(
𝑛
)
,也就是当前时刻自相关矩阵的逆。
式(6)中 T(n)=𝑅
T (n)
按如下方式更新:
T (n)
= (
T (n1)
-
k(n)
*
x(n)
*
T (n1)
)/
(8)
由上边分析可知,RLS 算法递推的步骤如下:
1. 在时刻 n,
w(n 1),T(n 1)
和
d (n), x(n)
也已经存储在滤波器的相应器件中
2. 利用公式(5)、(6)、(7)和(8)计算 T(n)、w(n)、k(n)、𝑒
∗
(
𝑛
)
,并得到滤波器的
输出相应
y(n)
和误差
e(n)
即:
T
y(n) w
T
(n)x(n)
(9)
e(n) d (n) y(n)
(10)
3. 进入第
n 1
次迭代
这样做的优点是收敛速度快,而且适用于非平稳信号的自适应处理
缺点是每次迭代时都要知道输入信号和参考信号,计算量比较大
三、 仿真过程
仿真过程按照如下过程进行
(1)信号产生:首先产生高斯白噪声序列 w(n),然后将此通过一个参数为𝑎
1
=-0.195,
𝑎
2
=0.95 简单的二阶自回归滤波器生成信号
x(n)
。
(2)将 step(1)生成的信号通过 LMS 和 RLS 自适应滤波器进行处理
(3)通过改变 值对𝑤
1
, 𝑤
2
收敛速度的影响来分析 LMS 算法的性能以及通过改变λ值
对𝑤
1
, 𝑤
2
收敛速度的影响来分析 RLS 算法的性能。
(4)绘制相应图形曲线
四、 仿真以及结果分析
信号和高斯白噪声波形如图 2 所示:
图 2 信号和高斯白噪声波形
图 2 中,上边的图形为信号波形,下边的为加性高斯白噪声。
剩余15页未读,继续阅读
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功