基于lms算法时域均衡器的设计(终) 本科毕业论文 下载本文

新疆大学科学技术学院毕业论文(设计)

xkw1τxk-1τxk-2w3+-+τxk-L+1τw2wLykdk

ek算法+比较器图1 自适应横向滤波器的结构

数学模型: 定义输入矢量

?xk?? (3.1)Xk??? ????xk?L??定义权矢量

?w0?? (3.2)W??? ????wL??实际应用中希望yk尽可能地逼近dk,即希望yk与dk之间的误差尽可能地小。从数学统计意义上说,就是希望ek的均方误差越小越好。

Tyk??wixk?i?XkW?WTXki?0L(3.3)

T ek?dk?yk?dk?Xk W?dk?WTXk (3.4)2TT ek?dk2?2dkXkW?WTXkXkW (3.5)

Eek?Edk?2WE?dkXk??WEXkXkW (3.6)

定义R为下述方程:

22TTT??????9

新疆大学科学技术学院毕业论文(设计)

2?x0x0kx1k?x0kxLk?k??2xxx?xxT1k1kLk?R?EXkXk?E?1k0k(3.7) ????????2xxxx?x??Lk1kLk?Lk0k?

该方阵即为输入相关矩阵,其中主对角线上的各项是输入信号的诸元素的均方值,其他项则是输入信号元素之间的互相关值。

??根据梯度搜索法的基本思想,若权矢量W在k时刻值记为Wk,为求得一个权向量使均方误差最小,可以从一组初始值W0开始,计算此时的梯度值,然后选一个新值W1,让它等于初值加上一个正比于负梯度负值的增量。下一个新值W2是由计算W1的梯度用同样的方法导出。这个过程重复进行直到最佳权被找到为止。 上述过程表示为:

Wk?1?Wk?????k? (3.8) 式(3-8)中错误!未找到引用源。是步数或迭代次数,参数?是一个控制稳定度与收敛度的常数。可以证明,迭代收敛的充要条件是: 0??? (3.9)

?max1式(4-9)中, ?max 是的最大特征值。

实际应用中,有两个关键问题需要解决:①梯度值无法精确给出;②?上限中的特征值依然是未知的。LMS 算法为这两个问题提供了一条简单的解决途径。LMS 包含两个过程:①滤波过程,包括计算线性滤波器输出对信号输入的响应,通过比较输出结果与期待响应产生估计误差;②自适应过程,根据估计误差自动调整滤波器参数。这两个过程一起工作组成一个反馈环。

2ek在LMS 算法中,简单的取对均衡系数的导数作为梯度的估计值。于是在自适应过程的每次迭代时,其梯度估值具有如下形式:

2??ek???ek?????w??w0???0??(3.10) ?k?????2e?????2ekXk2??ek???ek???w???wL????L?

采用这个简单的梯度估值,可以导出一种最速下降法的自适应算法。

??W?2?eX Wk?1?Wk??? kkkk (3.11)通常文献中规定0???

1?max错误!未找到引用源。,但一些较新的文献中推导出为

10

新疆大学科学技术学院毕业论文(设计)

了确保收敛,?的新的范围应该为:

错误!未找到引用源。 (3.12)

实际应用中错误!未找到引用源。通常取一个很小的常数以保证收敛。

3.2 LMS算法实现

LMS 算法以其计算量小、性能稳定、易于实现等优点被广泛应用。 通过上面的讨论可以总结出LMS算法的具体步骤如下:

T步骤l :初始化抽头系数矢量w?n???0,0....?,n?0;

步骤2 :当n=n+1时

计算滤波器输出y?n??wHx?n?, 计算误差函数e?n??d?n??y?n?,

更新滤波器抽头系数矢量w?n??w?n?1????n?e??n?x?n?, 关于上面的LMS算法有以下几点注释:

注释l :若取??n??常数,则称为基本LMS 算法。 注释2 :若取??n??a??xH?n?x?n?,其中a?(0,2),??0,则的到归一化LMS算法。

注释3 :在功率归一化算法中,取

??n??a2?n??x222?n?1??e2?n?递推计算,这里???x,其中?x表示x?n?的方差,可由?x??(0,1)为遗忘因子,由0

2确定,而M是滤波器阶数. M?

注释4 :当期望信号未知时,步骤2中的d(n)可直接用判决器的实际输出d?n?代替。

11

新疆大学科学技术学院毕业论文(设计)

4自适应均衡器在matlab的仿真

4.1matlab介绍

Matlab是一种高精度的科学计算语言,它将计算、可视化和编程结合在一个容易使用的环境,在这个环境,用户可以把提出的问题和解决问题的办法用熟悉的数学符号表示出来,它的典型使用包括:

数学和计算 运算法则 建模与仿真

数据分析、研究和可视化 科学的工程图形

运用程序开发,包括创建图形用户接口。

Matlab是一个交互式系统,它的基本数据单元是数组,这个数组不不要求固定的大小,因此可以让用户解决许多技术上的计算问题,特别是那些含矩阵和矢量运算的问题。Matlab的命令表达与数学、工程中常用的习惯形式十分相似,与C、FORTRAN等高级语言相比,matlab的语法规则更简单、表达更符合工程惯用。

Matlab的最重要的特征是它拥有解决特定运用问题的程序组,也就是TOOLBOX(工具箱),如信号处理工具箱、控制系统工具箱等。

4.2自适应均衡器在matlab中的实现

根据前述给出的自适应均衡器的原理以及LMS 算法,用matlab对LMS 算法自适应均衡器进行了设计以及仿真, 仿真所用的调制信号为正弦函数,具体参数见程序说明程序如下:

g=100; %统计仿真次数为g N=1024; %输入信号抽样点数 k=128; %滤波器阶数

pp=zeros(g,N-k); %将每次独立循环的误差结果存于矩阵pp中,以便后面对其平均 u=0.00026; %滤波器收敛因子 for q=1:g t=1:N; a=1;

s=a*sin(0.05*pi*t); %输入单信号s figure(1); subplot(311)

12