1.LMS自适应算法分析及在数字滤波器设计中的应用
一、应用:
1)消除心电图中的电源干扰;
2)检测胎儿心音时滤除母亲的心音及背景干扰;
3)在有多人讲话的场合下提取某人的讲话;
4)作为天线阵列的自适应旁瓣对消器。
二、简介:
自适应滤波器属于现代滤波器)它是20世纪40年代发展起来的)在自适应信号处理领域中发挥着重要的作用。
自适应滤波器是相对固定滤波器而言的(自适应滤波器滤波的频率是自动适应输入信号而变化的)在没有任何关于信号和噪声的先验知识的条件下。
自适应滤波器利用前一时刻已获得的滤波器的参数来自动调节现时刻的滤波器的参数-以适应信号和噪声未知或随机变化的统计特性,从而实现最优滤波器。即是根据不同的信号环境实现自身参数的调整。而实际情况中,信号和噪声的统计特性常常未知或无法获知,因此自适应滤波器的应用空间非常广泛-如系统辨识u噪声对消u自适应均衡w线性预测w自适应天线阵列等很多领域。
2.LMS算法的简介
全称 Least mean square 算法。中文是最小均方算法。
感知器和自适应线性元件在历史上几乎是同时提出的,并且两者在对权值的调整的算法非常相似。它们都是基于纠错学习规则的学习算法。感知器算法存在如下问题:不能推广到一般的前向网络中;函数不是线性可分时,得不出任何结果。而由美国斯坦福大学的Widrow和Hoff在研究自适应理论时提出的LMS算法,由于其容易实现而很快得到了广泛应用,成为自适应滤波的标准算法。
3.基于RLS算法和LMS的自适应滤波器的MATLAB程序
% RLS算法 randn('seed', 0) ; rand('seed', 0) ; NoOfData = 8000 ; % Set no of data points used for training Order = 32 ; % 自适应滤波权数 Lambda = 0.98 ; % 遗忘因子 Delta = 0.001 ; % 相关矩阵R的初始化 x = randn(NoOfData, 1) ;%高斯随机系列 h = rand(Order, 1) ; % 系统随机抽样 d = filter(h, 1, x) ; % 期望输出 % RLS算法的初始化 P = Delta * eye ( Order, Order ) ;%相关矩阵 w = zeros ( Order, 1 ) ;%滤波系数矢量的初始化 % RLS Adaptation for n = Order : NoOfData ; u = x(n:-1:n-Order+1) ;%延时函数 pi_ = u' * P ;%互相关函数 k = Lambda + pi_ * u ; K = pi_'/k;%增益矢量 e(n) = d(n) - w' * u ;%误差函数 w = w + K * e(n) ;%递归公式 PPrime = K * pi_ ; P = ( P - PPrime ) / Lambda ;%误差相关矩阵 w_err(n) = norm(h - w) ;%真实估计误差 end ; % 作图表示结果 figure ; plot(20*log10(abs(e))) ;%| e |的误差曲线 title('学习曲线') ; xlabel('迭代次数') ; ylabel('输出误差估计') ; figure ; semilogy(w_err) ;%作实际估计误差图 title('矢量估计误差') ; xlabel('迭代次数') ; ylabel('误差权矢量') ; %lms 算法 clear all close all hold off%系统信道权数 sysorder = 5 ;%抽头数 N=1000;%总采样次数 inp = randn(N,1);%产生高斯随机系列 n = randn(N,1); [b,a] = butter(2,0.25); Gz = tf(b,a,-1);%逆变换函数 h= [0.0976;0.2873;0.3360;0.2210;0.0964;];%信道特性向量 y = lsim(Gz,inp);%加入噪声 n = n * std(y)/(10*std(n));%噪声信号 d = y + n;%期望输出信号 totallength=size(d,1);%步长 N=60 ; %60节点作为训练序列 %算法的开始 w = zeros ( sysorder , 1 ) ;%初始化 for n = sysorder : N u = inp(n:-1:n-sysorder+1) ;% u的矩阵 y(n)= w' * u;%系统输出 e(n) = d(n) - y(n) ;%误差 if n 评论0 0 0。
4.什么是LMS算法
LMS算法步骤:
1,、设置变量和参量:
X(n)为输入向量,或称为训练样本
W(n)为权值向量
e(n)为偏差
d(n)为期望输出
y(n)为实际输出
η为学习速率
n为迭代次数
2、初始化,赋给w(0)各一个较小的随机非零值,令n=0
3、对于一组输入样本x(n)和对应的期望输出d,计算
e(n)=d(n)-X(n)
W(n+1)=W(n)+ηX(n)e(n)
4、判断是否满足条件,若满足算法结束,若否n增加1,转入第3步继续执行。
5.求算法相关的论文
史丰收计算法
演练实例一
速 算 法 演 练 实 例
Example of Rapid Calculation in Practice
○史丰收速算法易学易用,算法是从高位数算起,记着史教授总结了的26句口诀(这些口诀不需死背,而是合乎科学规律,相互连系),用来表示一位数乘多位数的进位规律,掌握了这些口诀和一些具体法则,就能快速进行加、减、乘、除、乘方、开方、分数、函数、对数…等运算。
□本文针对乘法举例说明
○速算法和传统乘法一样,均需逐位地处理乘数的每位数字,我们把被乘数中正在处理的那个数位称为「本位」,而从本位右侧第一位到最末位所表示的数称「后位数」。本位被乘以后,只取乘积的个位数,此即「本个」,而本位的后位数与乘数相乘后要进位的数就是「后进」。
○乘积的每位数是由「本个加后进」和的个位数即--
□本位积=(本个十后进)之和的个位数
○那么我们演算时要由左而右地逐位求本个与后进,然后相加再取其个位数。现在,就以右例具体说明演算时的思维活动。
(例题) 被乘数首位前补0,列出算式:
0847536*2=1695072
乘数为2的进位规律是「2满5进1」
0*2本个0,后位8,后进1,得1
8*2本个6,后位4,不进,得6
4*2本个8,后位7,满5进1,
8十1得9
7*2本个4,后位5,满5进1,
4十1得5
5*2本个0,后位3不进,得0
3*2本个6,后位6,满5进1,
6十1得7
6*2本个2,无后位,得2
在此我们只举最简单的例子供读者参考,至于乘3、4……至乘9也均有一定的进位规律,限于篇幅,在此未能一一罗列。
「史丰收速算法」即以这些进位规律为基础,逐步发展而成,只要运用熟练,举凡加减乘除四则多位数运算,均可达到快速准确的目的。
转载请注明出处众文网 » lms算法毕业论文(LMS自适应算法分析及在数字滤波器设计中的应用)