首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的自适应均衡器的研究与设计

基于FPGA的自适应均衡器的研究与设计

摘要:近年来,自适应均衡技术在通信系统中的应用日益广泛,利用自适应均衡技术在多径环境中可以有效地提高数字接收机的性能。为了适应宽带数字接收机的高速率特点,本文阐述了自适应均衡器的原理并对其进行改进。最后使用FPGA 芯片和Verilog HDL 设计实现了自适应均衡器并仿真验证了新方法的有效性。
信道均衡技术(Channel equalization)是指为了提高衰落信道中的通信系统的传输性能而采取的一种抗衰落措施。它主要是减小信道的多径时延带来的码间串扰(ISI)问题。其原理是对信道或整个传输系统特性进行补偿,从而达到系统传输的要求[1]。在实际的通信系统中,信道的特性是未知的并且是不理想的,传统的均衡器无法满足系统的要求,自适应均衡器直接从传输的信号中,根据某种算法不断调整系统中滤波器的增益,来适应信道的随机变化,从而有更好的失真补偿性能,使均衡器总是保持最佳的工作状态。FPGA 以其处理速度快、开发周期短、可重复修改、开发工具智能、支持并行处理等优点成为现代通信领域硬件设计的首选方式之一。基于FPGA 实现的自适应均衡器能够更好地适应当前通信的发展要求,具有更广阔的应用前景。
最小均方误差算法(LMS)是较常用的一种实现自适应均衡器的算法,也是FPGA 实现自适应均衡器的最理想的算法,所以本文选择使用LMS 算法设计均衡器。本文所设计的自适应均衡器是宽带数字接收机的一部分,为了满足宽带系统的高速率,实时性的特点,在算法设计,对LMS 算法进行一定的改进。
1 LMS 算法基本原理
LMS 算法是基于最小均方差准则的维纳滤波器和最速下降法(method of steepest descent) 提出的[2],其公式如下:、


d(n) 为期望输入信号,e(n) 为误差,其中μ 为步长因子,用以控制收敛速度与稳定性,LMS 算法收敛的条件为:0<u<1 λmax,="" λmax="" 是输入信号自相关矩阵的最大特征值。式(3)是抽头系数的更新公式,由本式可见,lms="" 算法是通过误差e(n)="" 来自动调整抽头系数来适应信道的变化。
LMS 算法的基本步骤如下:
步骤1,初始化w(0)=0,n=0;选择μ;
步骤2,根据式(2)(3) 计算误差 e(n) 和w(n+1);
步骤3,若误差不满足要求,更新n=n+1,重复步骤2,若满足要求则停止迭代。

下图为最小均方误差算法的原理框图。


2 LMS 算法改进
在宽带系统中,数据量大,速率快,因此对均衡器的处理速度要求高,签于此本文把变步长LMS 算法和符号LMS 算法结合在一起,以满足上述要求。

步长因子μ控制着算法的收敛速度和稳定性,当μ较大时收敛速度快,稳定性较差,μ较小,稳定性好,收敛速度慢。变步长LMS 算法可以兼顾收敛速度和稳定性两个方面[3]。一种变步长算法的公式为:


α、β 为参数。由上式看到随着误差的减小, 步长因子也在减小,稳定性增加。
公式(3)中,我们看到,每次迭代都会使用乘法器,运算量较大。符号LMS 算法[4] 对公式(3)中的误差e(n) 进行缩放,每次迭代可减少使用一次乘法器,公式如下:


由公式(5)可以看出,符号LMS 算法会损失一定的精度。变步长LMS 算法可以改变步长以获得快的收敛速度,结合符号LMS 算法,可以大量减少运算量,提高系统的效率。本文对两种算法的混合算法进行matlab 仿真,选取64 阶均衡器,数据的训练长度为1 000,跟踪变步长计算的参数选择α=4,β=1/128。下面对两种方法混合算法用matlab 仿真,并和传统算法比较,如图2 所示。


为了便于FPGA 实现,按照变步长LMS 算法思想,本文不在对变步长LMS算法中步长μ进行跟踪计算,而是指定步长收敛之前为0.02,收敛之后步长0.15,其他参数不变,使用Matlab 仿真,如图3 所示。


从图中我们看到混合算法的误差比传统算法有所增大,但是在迭代300 次后趋于稳定,比传统算法减少200 次,因此混合算法更能满足实时性的要求。
图3 中,由于收敛之前步长且不随误差的减小而减小(迭代次数为200),所以收敛速度更快;收敛之后步长较小,平均的稳态误差比混合算法有所减小。
3 基于FPGA 自适应均衡器的实现
由仿真可知,我们提出的混合算法可以满足设计自适应均衡器的要求。本章将基于此算法的用FPGA 实现自适应均衡器。

采用FPGA 设计LMS 自适应均衡器的结构图如图4所示。它主要分为FIR 滤波器模块、误差计算模块、权值更新模块和状态分配模块4个单元。


文中为了方便实现,FIR 滤波器模块实现18 阶的FIR 滤波。误差计算模块中的基准信号d(k) 事先可存在ROM 里。权值更新部分实现FIR 滤波器系数的计算与调整,设定收敛之前
状态分配模块功能包括初始化各模块,它产生控制信号、控制实现各个模块完成特定功能;协调各个模块间的操作。
由于FPGA 不支持浮点数运算,而自适应滤波器必然要涉及到小数的计算,因此我们将所有小数化为二进制处理。本文设计采用4..4 格式,第一位为符号位[5-6]。
根据以上参数,按照LMS 原理以及结构图,我们即可编写程序,主程序流程图如图5 所示。


文中选用xilinx 公司的ISE12.4 为开发工具,Modelsim 为仿真工具。为了便于比较,我们将输出信号和期望信号进行判决[7]。仿真结果如下。
图6(a) 中信道无干扰,可以看出输出信号和期望信号一致;若信道发生突变,如图6(b) 所示,在经历一段时间后均很器可以消除码间干扰。通过仿真,可以得到: 基于混合算法的自适应均衡器可以消除码间串扰,能够快速地从多径信号中恢复出发送信号,减少误码。


4 结 论
文中改进了LMS 算法原理,利用FPGA 实现了自适应均衡器,从仿真结果来看,采用FPGA 实现自适应均衡器完全可满足设计要求,基于改进型算法可获得较高的数据处理速度。鉴于时间和本文篇幅较小,设计中FIR 滤波器的阶数选取相对较小,而且引入符号LMS 算法,因而对白适应均衡器的收敛精度会带来一定的影响,但可以通过增加FIR 滤波器的阶数和数据的位数来提高精度。

作者:李路路,静大海 来源:电子设计工程第22 卷 第 5 期
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表