自适应滤波器的原理与设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随即起伏项越大,表现为权值振动也就越大,为了追求更快的收敛性,往往增大
值,但 值越大,就使得失调系数也就越大,在有限次起动迭代过程中,也就
很难收敛到较稳态值,所以必须选择合适的 值。
2、定义权矢量 A=[ a1 (n), a 2 (n), , a m (n) ] T
且 X(n)=[X(n-1),X(n-2), ,X(n-m)] T 误差信号为:
(n) E[e 2 (n)] E[e 2 (n)] E[e 2 (n)] T , , ^ ^ a ( n ) a 1 m ( n) 2 R XY 2 R XX A
令 (n) 0 ,即可求出最佳权系数向量
Aopt R 1 XX R XY
和 a 2 的估计情况:
图11
a1 和 a 2 的估计情况
7. 通过实验一解Yule-Walker方程的方法解的 a1 和 a 2 的估计值和通过自适应AR
模型得到的估计值的比较
图12
Yule-Walker方程得到的估计值和自适应AR模型得到的估计值的比较
2 8、M 2, p 2, L 100, a1 1.3, a 2 0.8, 0.01, w 0.01 时自适应 AR 的估计
y ( n) a m ( n) y ( n m)
m 1
^
M
^
(2-13) (2-14)
1 m M
e( n ) y ( n ) y ( n ) a m (n 1) a m 2 e(n) y (n m)
^ ^
^
(2-15)
这种算法的实现框图如图 2.3 所示。
其中 X(n)相当于 y(n)的时刻以前的输入,即 y(n-m)
故 a m (n 1) a m (n) 2 e(n) y (n m)
^ ^
^
^
五、程序源代码
a)自适应滤波器:
%% 数字信号处理: 自适应信号滤波器 (1)
close all; clear; clc; %% input parameter
图4
自适应滤波器 E[ h ( n)] 和 h ( n) 的比较
^ 图 1 是 L 100 时 E[h (n)] 和 h (n) 的比较, 由图可以看出 h(n) 的均值刚开始一直在
变化,然后逐渐趋于稳定,最后收敛于最佳值。
2. 自适应滤波器的效果 s (n) 和 s (n) 的比较:
(3-7)
(3-8)
将 A 带入(3-3)式得最小均方误差
E[e 2 (n)] min E[Y 2 (n)] R T XY Aopt
^
(3-9)
根据最陡下降法, “下一时刻”权系数向量 a m (n 1) 应该等于“现在时刻”权系 数向量 a m (n) 加上一个负均方误差梯度 (n) 的比例项,即
(2-5) (2-6)
其中 h 为标量常数, x(n) 与 w(n) 互不相关,我们希望利用 y (n) 和 x(n) 得到
s (n) 的估计。
x ( n)
h
y ( n)
s ( n) w(n)
图1
利用公式(2-1) , (2-2) , (2-3) ,我们可以得到下面的自适应估计算法:
s ( n) h( n) x ( n) h(n 1) h(n) 2 ( y (n) h(n) x(n)) x(n)
y (n) ,滤波器等价于自动“学习”所需要的相关函数,从而调整 FIR 滤波器的权
系数,并最终使之收敛于最佳值,即维纳解。 下面是自适应 FIR 维纳滤波器的 LMS 算法公式:
x(n) hm (n) y (n m)
m 0
^
M
^
(2-1)
e( n ) x ( n ) x ( n )
图 3 是利用卷积得到的 L 100 时的 s (n) 和有 2 中得到的 s (n) 进行比较,可
得出自适应滤波算法大大改善了滤波性能。
2 4、 0.01, w 1, h 0.8 的情况
图7
0.01 时自适应滤波器的性能
2 0.1, w 1, h 0.8 的情况
实验二 自适应滤波信号
一、实验目的:
1.利用自适应LMS算法实现FIR最佳维纳滤波器。 2.观察影响自适应LMS算法收敛性,收敛速度以及失调量的各种因素,领会自适 应信号处理方法的优缺点。 3.通过实现 AR 模型参数的自适应估计,了解自适应信号处理方法的应用。
二、实验原理及方法
自适应滤波是一种自适应最小均方误差算法(LMS),这种算法不像维纳滤 波器需要事先知道输入和输出信号的自相关和互相关矩阵,它所得到的观察值
图 10
2 0.03, w 0.01, h 0.8 时自适应滤波器的性能
由图 7 可知,其他条件不变的情况下,随着 的减小, h(n) 收敛的更快,失调 量越大。
2 6. 自适应AR模型:当 M 2, p 2, L 100, a1 1.3, a 2 0.8, 0.01, w 1 时 a1
0
1
max
(2-4)
其中 max 为矩阵 R 的最大特征值,当 n 时, hm (0), (m 0, M ) 收敛于 维纳解。
现在我们首先考察只有一个权系数 h 的滤波器, 如图 2.1 所示。 假如信号 y (n) 由下式确定:
y(n) s(n) w(n) s (n) hx(n)
^
^
^
e( n ) y ( n ) y ( n ) y ( n ) A T X ( n) y ( n ) X T ( n) A
误差平方和为 (3-1)
^
e 2 ( n) y 2 ( n ) 2 y ( n ) x T ( n) A AT X ( n) X T ( n) A
其框图如图所示。
^ ^ ^
^
^
(2-7) (2-8)
x ( n)
h ( n)
s ( n) h ( n) x ( n) _
+
e( n )
y ( n)
图2
选择 h(n) 的初始值为 h(0) ,对式 2-8 取数学期望可得
^
^
E[h(n)] h (1 2 R) n (h(0) h)
^
(2-2)
hm (n 1) hm (n) 2 e(n) y (n m)
^
^
^
m 1, M
(2-3)
其中 FIR 滤波器共有 M+1 个权系数,hm (n)(m 0, M ) 表示 FIR 滤波器第 m 个 权系数在第 n 步的估计值。 因此,给定初始值 hm (0), (m 0, M ) ,每得到一个样本 y (n) ,可以递归得 到一组新的滤波器权系数,只要步长 满足
式中
^
(3-11)
[e(n)] 为 [e(n)] [ y (n) AT X (n)] X (n)
将式(3-12)带入式(3-11)得梯度估值
(3-12)
(n) 2e(n) X (n)
于是 Widrow-Hoff LMS 算法最终为
^
a m (n 1) a m (n) 2e(n) X (n)
L=input('样本个数 L= '); u=input('\n 步长 u= '); sigam=input('\n 方差 sigam='); h=input('\n 一阶自适应滤波器的参数 h='); h_=zeros(1,L); h_(1)=input('\n 估计之前估计一阶自适应滤波器的参数 h_='); %% xn=randn(1,L); wn=sigam*randn(1,L); sn=h*xn; yn=sn+wn; figure(1) stem(sn,'r') hold on stem(yn,'b') title('原信号(红色)和观测信号(蓝色)') R=mean(xn.*xn); % R=1/L*sum((xn).*(xn)) sn_=zeros(1,L); % E_h_=zeros(1,L); for ii=1:L sn_(ii)=h_(ii)*xn(ii); % E_h_(ii)=h+(h_(1)-h)*(1-2*u*R)^ii; h_(ii+1)=h_(ii)+2*u*(yn(ii)-h_(ii)*xn(ii))*xn(ii); end E_h_=h+(h_(1)-h)*(1-2*u*R).^(1:L);
图8
0.1 时自适应滤波器的性能
2 1, w 1, h 0.8 的情况
图9
1 时自适应滤波器的性能
由图 4-图 6 可知,当 增大时,自适应滤波器的性能随之降低。当 1 时滤波 器失配。
2 5、 0.03, w 0.01, h 0.8 时:
其中
^
^
(2-9)
R E[ x(n) x(n) T ]
因此,只要满足
(2-10)
0
^
1 R
^
(2-11)
的条件, h(n) 总归可以收敛于最佳值 h ,从而 s (n) 也逐渐收敛于 s (n) 。 自适应信号处理的一个重要应用是用来进行参数估计。下面是利用 LMS 算法实 现 AR 模型参数的估计。 如果信号 y (n) 为一个 M 阶的 AR 模型,即
y ( n)
z 1
a1 (n)
z 1
a 2 ( n)
z 1
…
zwenku.baidu.com1
a M ( n)
… +
图3
同样可以证明,只要步长 值选择合适,当 n 时,上述自适应算法得到的
a M (n) 也收敛于 AR 模型的参数 a m 。
三、实验结果及分析
^
2 1. 0.03, w 1, h 0.8 时 E[h (n)] 和 h (n) 的比较:
图5
s (n) 和 s (n) 的比较
图 2 是 L 100 时 s (n) 和 s (n) 的比较比较,由于滤波器逐渐收敛于最佳值,
所以随着 L 的增大滤波效果越好。
3.利用实验一中的维纳滤波器估计的 h 和 s (n) 估计的到的 s (n) 与 2 中的估计进行
比较:
图 6 自适应滤波器和维纳滤波器的估计比较
y (n) a1 y (n 1) a 2 y (n 2) a M y (n M ) w(n)
(2-12)
通过解 Yule-Walker 方程可以得到 AR 模型的参数估计,同样,利用 LMS 算 法,我们也可以对 AR 模型的参数估计进行自适应估计,其算法如下:
^
a m (n 1) a m (n) (n)
^
^
(3-10)
式中, 是一个控制收敛速度与稳定性的常数,称之为收敛因子。 一种 (n) 的近似计算方法是:直接取 e 2 (n) 作为均方误差 E[e 2 (n)] 的估计值,即
(n) [e 2 (n)] 2e(n)[e(n)]
上式两边去数学期望得均方误差为
(3-2)
E[e 2 (n)] E[ y 2 (n)] 2 E[ y (n) X T (n)] A AT E[ X (n) X T (n)] A
定义互相关函数行向量 R T XY :
(3-3)
R T XY E[ y (n) X T (n)]
和自相关函数矩阵
(3-4)
R XX E[ X (n) X T (n)]
则均方误差(3-3)式可表示为
(3-5)
E[e 2 (n)] E[ y 2 (n)] 2 R T XY A AT R XX A
(3-6)
这说明均方误差是权系数向量 A 的二次函数,它是一个中间向上凹的抛物形曲 面,是具有唯一最小值的函数。调节权系数使均方误差为最小,相当于沿抛物形 曲面下降找最小值。可以用梯度来求该最小值。 将(3-6)对权系数 A 求导,得到均方误差函数的梯度
情况:
图 13
2 w 0.01 时 a1 和 a2 的估值
图 10 是 2 w 0.01 时的 a1 和 a2 的估计值,由图可以看出,虽然 a1 和 a2 的 估计值都逐渐收敛,但是已经产生了很大的误差,收敛速度比 2 w 1 时的情况 慢,失调量也变大。
四、思考题
1、s(n)和 w(n)的方差越大,收敛速度越快,失调量也越大;在噪声方差越大时,
值,但 值越大,就使得失调系数也就越大,在有限次起动迭代过程中,也就
很难收敛到较稳态值,所以必须选择合适的 值。
2、定义权矢量 A=[ a1 (n), a 2 (n), , a m (n) ] T
且 X(n)=[X(n-1),X(n-2), ,X(n-m)] T 误差信号为:
(n) E[e 2 (n)] E[e 2 (n)] E[e 2 (n)] T , , ^ ^ a ( n ) a 1 m ( n) 2 R XY 2 R XX A
令 (n) 0 ,即可求出最佳权系数向量
Aopt R 1 XX R XY
和 a 2 的估计情况:
图11
a1 和 a 2 的估计情况
7. 通过实验一解Yule-Walker方程的方法解的 a1 和 a 2 的估计值和通过自适应AR
模型得到的估计值的比较
图12
Yule-Walker方程得到的估计值和自适应AR模型得到的估计值的比较
2 8、M 2, p 2, L 100, a1 1.3, a 2 0.8, 0.01, w 0.01 时自适应 AR 的估计
y ( n) a m ( n) y ( n m)
m 1
^
M
^
(2-13) (2-14)
1 m M
e( n ) y ( n ) y ( n ) a m (n 1) a m 2 e(n) y (n m)
^ ^
^
(2-15)
这种算法的实现框图如图 2.3 所示。
其中 X(n)相当于 y(n)的时刻以前的输入,即 y(n-m)
故 a m (n 1) a m (n) 2 e(n) y (n m)
^ ^
^
^
五、程序源代码
a)自适应滤波器:
%% 数字信号处理: 自适应信号滤波器 (1)
close all; clear; clc; %% input parameter
图4
自适应滤波器 E[ h ( n)] 和 h ( n) 的比较
^ 图 1 是 L 100 时 E[h (n)] 和 h (n) 的比较, 由图可以看出 h(n) 的均值刚开始一直在
变化,然后逐渐趋于稳定,最后收敛于最佳值。
2. 自适应滤波器的效果 s (n) 和 s (n) 的比较:
(3-7)
(3-8)
将 A 带入(3-3)式得最小均方误差
E[e 2 (n)] min E[Y 2 (n)] R T XY Aopt
^
(3-9)
根据最陡下降法, “下一时刻”权系数向量 a m (n 1) 应该等于“现在时刻”权系 数向量 a m (n) 加上一个负均方误差梯度 (n) 的比例项,即
(2-5) (2-6)
其中 h 为标量常数, x(n) 与 w(n) 互不相关,我们希望利用 y (n) 和 x(n) 得到
s (n) 的估计。
x ( n)
h
y ( n)
s ( n) w(n)
图1
利用公式(2-1) , (2-2) , (2-3) ,我们可以得到下面的自适应估计算法:
s ( n) h( n) x ( n) h(n 1) h(n) 2 ( y (n) h(n) x(n)) x(n)
y (n) ,滤波器等价于自动“学习”所需要的相关函数,从而调整 FIR 滤波器的权
系数,并最终使之收敛于最佳值,即维纳解。 下面是自适应 FIR 维纳滤波器的 LMS 算法公式:
x(n) hm (n) y (n m)
m 0
^
M
^
(2-1)
e( n ) x ( n ) x ( n )
图 3 是利用卷积得到的 L 100 时的 s (n) 和有 2 中得到的 s (n) 进行比较,可
得出自适应滤波算法大大改善了滤波性能。
2 4、 0.01, w 1, h 0.8 的情况
图7
0.01 时自适应滤波器的性能
2 0.1, w 1, h 0.8 的情况
实验二 自适应滤波信号
一、实验目的:
1.利用自适应LMS算法实现FIR最佳维纳滤波器。 2.观察影响自适应LMS算法收敛性,收敛速度以及失调量的各种因素,领会自适 应信号处理方法的优缺点。 3.通过实现 AR 模型参数的自适应估计,了解自适应信号处理方法的应用。
二、实验原理及方法
自适应滤波是一种自适应最小均方误差算法(LMS),这种算法不像维纳滤 波器需要事先知道输入和输出信号的自相关和互相关矩阵,它所得到的观察值
图 10
2 0.03, w 0.01, h 0.8 时自适应滤波器的性能
由图 7 可知,其他条件不变的情况下,随着 的减小, h(n) 收敛的更快,失调 量越大。
2 6. 自适应AR模型:当 M 2, p 2, L 100, a1 1.3, a 2 0.8, 0.01, w 1 时 a1
0
1
max
(2-4)
其中 max 为矩阵 R 的最大特征值,当 n 时, hm (0), (m 0, M ) 收敛于 维纳解。
现在我们首先考察只有一个权系数 h 的滤波器, 如图 2.1 所示。 假如信号 y (n) 由下式确定:
y(n) s(n) w(n) s (n) hx(n)
^
^
^
e( n ) y ( n ) y ( n ) y ( n ) A T X ( n) y ( n ) X T ( n) A
误差平方和为 (3-1)
^
e 2 ( n) y 2 ( n ) 2 y ( n ) x T ( n) A AT X ( n) X T ( n) A
其框图如图所示。
^ ^ ^
^
^
(2-7) (2-8)
x ( n)
h ( n)
s ( n) h ( n) x ( n) _
+
e( n )
y ( n)
图2
选择 h(n) 的初始值为 h(0) ,对式 2-8 取数学期望可得
^
^
E[h(n)] h (1 2 R) n (h(0) h)
^
(2-2)
hm (n 1) hm (n) 2 e(n) y (n m)
^
^
^
m 1, M
(2-3)
其中 FIR 滤波器共有 M+1 个权系数,hm (n)(m 0, M ) 表示 FIR 滤波器第 m 个 权系数在第 n 步的估计值。 因此,给定初始值 hm (0), (m 0, M ) ,每得到一个样本 y (n) ,可以递归得 到一组新的滤波器权系数,只要步长 满足
式中
^
(3-11)
[e(n)] 为 [e(n)] [ y (n) AT X (n)] X (n)
将式(3-12)带入式(3-11)得梯度估值
(3-12)
(n) 2e(n) X (n)
于是 Widrow-Hoff LMS 算法最终为
^
a m (n 1) a m (n) 2e(n) X (n)
L=input('样本个数 L= '); u=input('\n 步长 u= '); sigam=input('\n 方差 sigam='); h=input('\n 一阶自适应滤波器的参数 h='); h_=zeros(1,L); h_(1)=input('\n 估计之前估计一阶自适应滤波器的参数 h_='); %% xn=randn(1,L); wn=sigam*randn(1,L); sn=h*xn; yn=sn+wn; figure(1) stem(sn,'r') hold on stem(yn,'b') title('原信号(红色)和观测信号(蓝色)') R=mean(xn.*xn); % R=1/L*sum((xn).*(xn)) sn_=zeros(1,L); % E_h_=zeros(1,L); for ii=1:L sn_(ii)=h_(ii)*xn(ii); % E_h_(ii)=h+(h_(1)-h)*(1-2*u*R)^ii; h_(ii+1)=h_(ii)+2*u*(yn(ii)-h_(ii)*xn(ii))*xn(ii); end E_h_=h+(h_(1)-h)*(1-2*u*R).^(1:L);
图8
0.1 时自适应滤波器的性能
2 1, w 1, h 0.8 的情况
图9
1 时自适应滤波器的性能
由图 4-图 6 可知,当 增大时,自适应滤波器的性能随之降低。当 1 时滤波 器失配。
2 5、 0.03, w 0.01, h 0.8 时:
其中
^
^
(2-9)
R E[ x(n) x(n) T ]
因此,只要满足
(2-10)
0
^
1 R
^
(2-11)
的条件, h(n) 总归可以收敛于最佳值 h ,从而 s (n) 也逐渐收敛于 s (n) 。 自适应信号处理的一个重要应用是用来进行参数估计。下面是利用 LMS 算法实 现 AR 模型参数的估计。 如果信号 y (n) 为一个 M 阶的 AR 模型,即
y ( n)
z 1
a1 (n)
z 1
a 2 ( n)
z 1
…
zwenku.baidu.com1
a M ( n)
… +
图3
同样可以证明,只要步长 值选择合适,当 n 时,上述自适应算法得到的
a M (n) 也收敛于 AR 模型的参数 a m 。
三、实验结果及分析
^
2 1. 0.03, w 1, h 0.8 时 E[h (n)] 和 h (n) 的比较:
图5
s (n) 和 s (n) 的比较
图 2 是 L 100 时 s (n) 和 s (n) 的比较比较,由于滤波器逐渐收敛于最佳值,
所以随着 L 的增大滤波效果越好。
3.利用实验一中的维纳滤波器估计的 h 和 s (n) 估计的到的 s (n) 与 2 中的估计进行
比较:
图 6 自适应滤波器和维纳滤波器的估计比较
y (n) a1 y (n 1) a 2 y (n 2) a M y (n M ) w(n)
(2-12)
通过解 Yule-Walker 方程可以得到 AR 模型的参数估计,同样,利用 LMS 算 法,我们也可以对 AR 模型的参数估计进行自适应估计,其算法如下:
^
a m (n 1) a m (n) (n)
^
^
(3-10)
式中, 是一个控制收敛速度与稳定性的常数,称之为收敛因子。 一种 (n) 的近似计算方法是:直接取 e 2 (n) 作为均方误差 E[e 2 (n)] 的估计值,即
(n) [e 2 (n)] 2e(n)[e(n)]
上式两边去数学期望得均方误差为
(3-2)
E[e 2 (n)] E[ y 2 (n)] 2 E[ y (n) X T (n)] A AT E[ X (n) X T (n)] A
定义互相关函数行向量 R T XY :
(3-3)
R T XY E[ y (n) X T (n)]
和自相关函数矩阵
(3-4)
R XX E[ X (n) X T (n)]
则均方误差(3-3)式可表示为
(3-5)
E[e 2 (n)] E[ y 2 (n)] 2 R T XY A AT R XX A
(3-6)
这说明均方误差是权系数向量 A 的二次函数,它是一个中间向上凹的抛物形曲 面,是具有唯一最小值的函数。调节权系数使均方误差为最小,相当于沿抛物形 曲面下降找最小值。可以用梯度来求该最小值。 将(3-6)对权系数 A 求导,得到均方误差函数的梯度
情况:
图 13
2 w 0.01 时 a1 和 a2 的估值
图 10 是 2 w 0.01 时的 a1 和 a2 的估计值,由图可以看出,虽然 a1 和 a2 的 估计值都逐渐收敛,但是已经产生了很大的误差,收敛速度比 2 w 1 时的情况 慢,失调量也变大。
四、思考题
1、s(n)和 w(n)的方差越大,收敛速度越快,失调量也越大;在噪声方差越大时,