LMS算法实验报告

上传人:206****923 文档编号:37504751 上传时间:2018-04-17 格式:DOC 页数:8 大小:357KB
返回 下载 相关 举报
LMS算法实验报告_第1页
第1页 / 共8页
LMS算法实验报告_第2页
第2页 / 共8页
LMS算法实验报告_第3页
第3页 / 共8页
LMS算法实验报告_第4页
第4页 / 共8页
LMS算法实验报告_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《LMS算法实验报告》由会员分享,可在线阅读,更多相关《LMS算法实验报告(8页珍藏版)》请在金锄头文库上搜索。

1、基于基于 LMS 算法的自适应均衡器设计及算法的自适应均衡器设计及MATLAB 实现实现一一.实验目的实验目的1.了解 LMS 算法的基本原理; 2.掌握 MATLAB 的使用方法; 3.初步体会分析问题、研究问题的基本步骤和方法,为以后科研积累经验。二二.实验原理实验原理1. LMS 算法简介算法简介在移动通信环境中,多径传播效应和频率选择性衰落会导致传输信号失真。失真主要表现为码间干扰,码间干扰是降低数字通信系统性能的一个主要因素。在这样的信道条件下设计实际的数字通信系统以高速传输数据时,往往不能获得足够准确的信道频率响应用于调制和解调器的最佳滤波器的设计。这是因为在每次通信时信道的路由不

2、同,对于这样的信道,要设计最佳固定解调滤波器是不可能的。在这样的情况下,应该采取信道均衡的方式以减小失真。信道均衡是通信技术和信号处理的基本问题之一,其目的在于克服传送的符号码和符号码之间的相互干扰,这种干扰是因为信道的非理想特性造成的。由于通信信道可能是未知和变化的,就需要自适应的调整均衡器,使得整个传输系统输出的符号码和符号码之间的干扰被消除。信道均衡可以利用发送的训练信号来开始,这称为自动均衡。在设计自适应均衡器的多种方法中,最小均方自适应算法(LMS)采用梯度搜索法,这使收敛到最优解远比其他算法快,而且该算法原理简单,实施容易,所以目前这一算法已广泛用于计算自适应滤波器的权系数。2.L

3、MS 算法的原理算法的原理(1)自适应滤波原理自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。自适应滤波器的结构采用 FIR 或 IIR 结构均可,由于 IIR 滤波器存在稳定性问题,因此一般采用 FIR 滤波器作为自适应滤波器的结构。图 1 给出了自适应滤波器的一般结构。图 1 为自适应滤波器结构的一般形式,图中 x(n)为输入信号,通过参数可调的数字滤波器后产生输出信号 y(n),将输出信号 y(n)与标准信号(或者为期望信号)d(n)进行比较,得到误差信号 e(n)。e(n)和 x(n)通

4、过自适应算法对滤波器的参数进行调整,调整的目的使得误差信号 e(n)最小。自适应滤波器设计中最常用的是 FIR 横向型结构。图 2 是横向型滤波器的结构示意图。其中:x(n)为自适应滤波器的输入;w(n)为自适应滤波器的冲激响应:w(n)=w(O),w(1),w(N-1);y(n)为自适应(2)自适应滤波算法自适应滤波器除了包括一个按照某种结构设计的滤波器,还有一套自适应的算法。自适应算法是根据某种判断来设计的。自适应滤波器的算法主要是以各种判据条件作为推算基础的。通常有两种判据条件:最小均方误差判据和最小二乘法判据。LMS 算法是以最小均方误差为判据的最典型的算法,也是应用最广泛的一种算法。

5、最小均方误差(Least Mean Square,LMS)算法是一种易于实现、性能稳健、应用广泛的算法。所有的滤波器系数调整算法都是设法使 y(n)接近 d(n),所不同的只是对于这种接近的评价标准不同。LMS 算法的目标是通过调整系数,使输出误差序列e(n)=d(n)-y(n)的均方值最小化,并且根据这个判据来修改权系数,该算法因此而得名。误差序列的均方值又叫“均方误差”(Mean Sqluare Error,MSE)。理想信号 d(n)与滤波器输出 y(n)之差 e(n)的期望值最小,并且根据这个判据来修改权系数 wi(n)。由此产生的算法称为 LMS。均方误差 表示为:对于横向结构的滤波

6、器,代入 y(n)的表达式:其中:R=EX(n)XT(n)为 NN 的自相关矩阵,它是输入信号采样值间的相关性矩阵。P=Ed(n)X(n)为 N1 互相关矢量,代表理想信号 d(n)与输入矢量的相关性。在均方误差 达到最小时,得到最佳权系数它应满足下式:这是一个线形方程组,如果 R 矩阵为满秩的,R-1 存在,可得到权系数的最佳值满足:W*=R-1p。用完整的矩阵表示为:显然 x(m)=Ex(n)x(n-m)为 x(n)的自相关值,xd(R)=Ex(n)d(n 一 k)为 x(n)与d(n)互相关值。在有些应用中,把输入信号的采样值分成相同的一段(每段称为一帧),再求出 R,P 的估计值得到每

7、帧的最佳权系数。这种方法称为块对块自适应算法。如语音信号的线性预测编码 LPC 就是把语音信号分成帧进行处理的。R,P 的计算,要求出期望值 E,在现实运算中不容易实现,为此可通过下式进行估计:用以上方法获得最佳 W*的运算量很大,对于一些在线或实时应用的场合,无法满足其时间要求。大多数场合使用迭代算法,对每次采样值就求出较佳权系数,称为采样值对采样值迭代算法。迭代算法可以避免复杂的 R-1 和 P 的运算,又能实时求得近似解,因而切实可行。LMS 算法是以最快下降法为原则的迭代算法,即 W(n+1)矢量是 W(n)矢量按均方误差性能平面的负斜率大小调节相应一个增量:W(n+1)=W(n)-(

8、n),这个“是由系统稳定性和迭代运算收敛速度决定的自适应步长。(n)为 n 次迭代的梯度。对于 LMS 算法(n)为下式 Ee2(n)的斜率:由上式产生了求解最佳权系数 W*的两种方法,一种是最陡梯度法。其思路为:设计初始权系数 W(0),用 W(n+1)=W(n)一 (n)迭代公式计算,到 W(n+1)与 W(n)误差小于规定范围。其中(n)计算可用估计值表达式: 上式 K 取值应足够大。如果用瞬时一 2e(n)X(n)来代替上面对-2Ee(n)X(n)的估计运算,就产生了另一种算法随机梯度法,即 Widrow-Hoft 的 LMS 算法。此时迭代公式为:W(n+1)=W(n)+2ue(n)

9、X(n)以后讨论的 LMS 算法都是基于 WidrOW-Hoff 的 LMS 算法。上式的迭代公式假定滤波器结构为横向结构。对于对称横向型结构也可推出类似的迭代公式:W(n+1)=W(n)+2ue(n)X(n)+X(n 一 N+1)三三.MATLAB 仿真源程序仿真源程序1.LMS 算法算法 function yn,W,en=LMS(xn,dn,M,mu,itr) % LMS(Least Mean Squre)算法 % 输入参数: % xn 输入的信号序列 (列向量) % dn 所期望的响应序列 (列向量) % M 滤波器的阶数 (标量) % mu 收敛因子(步长) (标量) 要求大于 0,小

10、于 xn 的相关矩阵最大特 征值的倒数 % itr 迭代次数 (标量) 默认为 xn 的长度,Mlength(xn) | itrMerror(迭代次数过大或过小!);end elseerror(请检查输入参数的个数!); end % 初始化参数 en = zeros(itr,1); % 误差序列,en(k)表示第 k 次迭代时预期输出与实际输 入的误差 W = zeros(M,itr); % 每一行代表一个加权参量,每一列代表-次迭代,初始 为 0 % 迭代计算 for k = M:itr % 第 k 次迭代x = xn(k:-1:k-M+1); % 滤波器 M 个抽头的输入y = W(:,k

11、-1). * x; % 滤波器的输出en(k) = dn(k) - y ; % 第 k 次迭代的误差% 滤波器权值计算的迭代式W(:,k) = W(:,k-1) + 2*mu*en(k)*x; end % 求最优时滤波器的输出序列 yn = inf * ones(size(xn); for k = M:length(xn)x = xn(k:-1:k-M+1);yn(k) = W(:,end).* x; end2.调用调用 LMS 算法算法 %function main() close all % 周期信号的产生 t=0:99; xs=10*sin(0.5*t); figure; subplot

12、(2,1,1); plot(t,xs);grid; ylabel(幅值); title(输入周期性信号); % 噪声信号的产生 randn(state,sum(100*clock); xn=randn(1,100); subplot(2,1,2); plot(t,xn);grid; ylabel(幅值); xlabel(时间); title(随机噪声信号); % 信号滤波 xn = xs+xn; xn = xn. ; % 输入信号序列 dn = xs. ; % 预期结果序列 M = 20 ; % 滤波器的阶数 rho_max = max(eig(xn*xn.); % 输入信号相关矩阵的最大特征

13、值 mu = rand()*(1/rho_max) ; % 收敛因子 0 mu 1/rho yn,W,en = LMS(xn,dn,M,mu); % 绘制滤波器输入信号 figure; subplot(2,1,1); plot(t,xn);grid; ylabel(幅值); xlabel(时间); title(滤波器输入信号); % 绘制自适应滤波器输出信号 subplot(2,1,2); plot(t,yn);grid; ylabel(幅值); xlabel(时间); title(自适应滤波器输出信号);% 绘制自适应滤波器输出信号,预期输出信号和两者的误差 figure plot(t,yn,b,t,dn,g,t,dn-yn,r);grid; legend(自适应滤波器输出,预期输出,误差); ylabel(幅值); xlabel(时间); title(自适应滤波器);3.运行结果运行结果

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号