资源描述
电路最优化设计课程设计报告
基于LMS算法的自适应滤波器设计
一、 内容摘要
通过学习自适应滤波器和LMS算法基本原理,设计了一个二阶加权自适应横向滤波器,并在MATLAB软件平台实现了仿真,最后对仿真结果作出了分析。
二、 设计目的
通过设计自适应滤波器并在在MATLAB实现仿真,进一步加深了解自适应滤波原理和LMS自适应算法。
三、设计原理
自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成。输入信号x(n)通过参数可调数字滤波器后产生输出信号y(n),将其与参数信号d(n)进行比较,形成误差信号e(n)。e(n)通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。
最小均方误差LMS准则的目的在于使滤波器输出与期望信号误差的平方的统计平均值最小。图1为LMS自适应横向滤波器原理图。
图1 LMS自适应横向滤波器原理图
改自适应滤波器的输入矢量为:
(1)
加权矢量为:
(2)
滤波器的输出为:
(3)
y(n)相对于滤波器期望输出d(n)的误差为:
(4)
根据最小均方误差准则,最佳的滤波器参量应使得性能函数均方误差为最小,上式称为均方误差性能函数。
假定输入信号x(n)和期望相应d(n)是联合平稳过程,那么在时刻n的均方误差是加权矢量的二次函数,其表达式为:
(5)
式中:E[d2(n)]是期望响应d(n)的方差;P=E[d(n)X(n)]是输入矢量X(n)和期望响应d(n)的互相矢量;Rx=E[X(n)XT(n)]是输入矢量X(n)的自相关矩阵。
均方误差是权向量的二次函数,是一个上凹的抛物面,具有唯一的最小值,调解权向量使得均方误差最小,相当于沿抛物面下降寻找最小值。用梯度法求该最小值,对权向量W求导得到均方误差的梯度为:
(6)
在性能曲面上最佳权向量Wopt对应点的梯度等于零,即:
(7)
该方程是正则方程,由此解出最佳权向量称为维纳解。
利用上式求解,需要精确地知道输入信号和期望信号的先验统计知识Rx和P,而且还要对矩阵求逆运算。最陡下降法可避免求逆运算,它通过递推的方式寻求加权矢量的最优值,是LMS算法的理论基础。首先设置一个W的初值W(0),沿ξ减小的方向调整W,可以找到Wopt。因为梯度方向是ξ增加最快的方向,所以负梯度方向就是ξ减少最快的方向。
最小均方算法是一种简单的估计梯度的方法,其突出特点是计算量小、易于实现,且不要求脱线计算。其关键技术在于按照e(n)及各x(n)值,通过某种算法,确定为最小时的各h*(n)的值,从而自动调节各h(n)值至h*(n)值。
LMS核心算法是使用平方误差代替均方误差,即
(8)
所以
(9)
将上式代人最陡下降法迭代计算权矢量的公式得:
(10)
则LMS算法的基本关系式为:
其中µ是收敛因子,决定收敛速度及稳定性,µ满足0<µ<1/λmax,λmax是Rxx的最大特征值,Rxx=E[X(n)XT(n)]。
四、导入仿真软件
1、 仿真思路
设计一个二阶加权自适应横向滤波器,对一个正弦信号进行滤波,设置不同的收敛因子µ,由MATLAB程序图形观察滤波效果。
2、 程序代码
%初始化
clear all ;
fs=10000;
t=0:1/fs:1;
sn=sin(2*pi*t); %产生初始信号
n=randn(size(t)); %产生高斯噪声
xn=sn+n; %信号加噪声
w=[0 0.5]; %设置初始值
u=0.00026; %设置收敛因子
for i=1:length(t)-1
y(i+1)=n(i:i+1)*w'; %噪声通过滤波器输出y
e(i+1)=xn(i+1)-y(i+1); %e为原始信号加噪声的期望减去滤波器输出的噪声y
w=w+2*u*e(i+1)*n(i:i+1); %权的变化公公式
end
subplot(3,1,1)
plot(t,xn) %输出信号加噪声图形
title('带噪声原始信号')
grid;
subplot(3,1,2)
plot(t,sn)
title('原始正弦信号')
subplot(3,1,3)
plot(t,e)
title('滤波结果')
3、 仿真结果
图2 µ=0.00026时正弦加噪信号的滤波
图3 µ=0.0026时正弦加噪信号的滤波
图4 µ=0.0026时正弦加噪信号的滤波
图1设置的收敛因子为0.00026,图2设置的收敛因子为0.0026,图3设置的收敛因子为0.026。
五、结果分析
µ的大小影响算法的收敛速度,µ值小,收敛速度慢,计算工作量大,但滤波性能较好。µ值大,收敛速度快,计算工作量小,滤波性能较差。但当µ>1/λmax时,系统发散,收敛速度不明显,且取值过多,会造成计算溢出。所以,对µ的选择应综合整个系统考虑,在满足精度要求的基础上,尽量减少自适应时间。
参考文献
1、 《优化方法与电路优化设计》,东南大学出版社,鲍顺光,1991;
2、 《电路与系统分析-使用MATLAB》,高等教育出版社,赵录怀,杨育霞等,2004;
3、 《电路的计算机辅助分析-MATLAB与PSpice应用技术》,戚新波,刘宏飞等,2006;
4、 《电子技术基础(模拟部分)(第四版)》,清华大学出版社,康华光,2000。
展开阅读全文