查看完整版本: 基于FPGA的自适应均衡器的研究与设计

admin 发表于 2015-4-27 16:26:13

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

近年来,自适应均衡技术在通信系统中的应用日益广泛,利用自适应均衡技术在多径环境中可以有效地提高数字接收机的性能。为了适应宽带数字接收机的高速率特点,本文阐述了自适应均衡器的原理并对其进行改进。最后使用FPGA芯片和Verilog HDL设计实现了自适应均衡器并仿真验证了新方法的有效性。
       
        信道均衡技术(Channel equalization)是指为了提高衰落信道中的通信系统的传输性能而采取的一种抗衰落措施。它主要是减小信道的多径时延带来的码间串扰(ISI)问题。其原理是对信道或整个传输系统特性进行补偿,从而达到系统传输的要求。在实际的通信系统中,信道的特性是未知的并且是不理想的,传统的均衡器无法满足系统的要求,自适应均衡器直接从传输的信号中,根据某种算法不断调整系统中滤波器的增益,来适应信道的随机变化,从而有更好的失真补偿性能,使均衡器总是保持最佳的工作状态。FPGA以其处理速度快、开发周期短、可重复修改、开发工具智能、支持并行处理等优点成为现代通信领域硬件设计的首选方式之一。基于FPGA实现的自适应均衡器能够更好地适应当前通信的发展要求,具有更广阔的应用前景。
       
        最小均方误差算法(LMS)是较常用的一种实现自适应均衡器的算法,也是FPGA实现自适应均衡器的最理想的算法,所以本文选择使用LMS算法设计均衡器。本文所设计的自适应均衡器是宽带数字接收机的一部分,为了满足宽带系统的高速率,实时性的特点,在算法设计,对LMS算法进行一定的改进。
       
        1 LMS算法基本原理
       
        LMS算法是基于最小均方差准则的维纳滤波器和最速下降法(method of steepest descent)提出的,其公式如下:
       
        y(n)=uT(n)w(n) (1)
       
        e(n)=d(n)-y(n) (2)
       
        w(n+1)=w(n)+2μe(n)u(n) (3)
       
        d(n)为期望输入信号,e(n)为误差,其中μ为步长因子,用以控制收敛速度与稳定性,LMS算法收敛的条件为:0
       
        LMS算法的基本步骤如下:
       
        步骤1,初始化w(0)=0,n=0;选择μ;
       
        步骤2,根据式(2)(3)计算误差e(n)和w(n+1);
       
        步骤3,若误差不满足要求,更新n=n+1,重复步骤2,若满足要求则停止迭代。
       
        下图为最小均方误差算法的原理框图。
       
       
        图1 LMS算法的原理框图
       
        2 LMS算法改进
       
        在宽带系统中,数据量大,速率快,因此对均衡器的处理速度要求高,签于此本文把变步长LMS算法和符号LMS算法结合在一起,以满足上述要求。
       
        步长因子μ控制着算法的收敛速度和稳定性,当μ较大时收敛速度快,稳定性较差,μ较小,稳定性好,收敛速度慢。变步长LMS算法可以兼顾收敛速度和稳定性两个方面。一种变步长算法的公式为:
       
        μ(n)=β (4)
       
        α、β为参数。由上式看到随着误差的减小,步长因子也在减小,稳定性增加。
       
        公式(3)中,我们看到,每次迭代都会使用乘法器,运算量较大。符号LMS算法对公式(3)中的误差e(n)进行缩放,每次迭代可减少使用一次乘法器,公式如下:
       
        由公式(5)可以看出,符号LMS算法会损失一定的精度。变步长LMS算法可以改变步长以获得快的收敛速度,结合符号LMS算法,可以大量减少运算量,提高系统的效率。本文对两种算法的混合算法进行matlab仿真,选取64阶均衡器,数据的训练长度为1 000,跟踪变步长计算的参数选择α=4,β=1/128.下面对两种方法混合算法用matlab仿真,并和传统算法比较,如图2所示。
       
       
        图2 传统LMS和混合算法仿真图
       
        为了便于FPGA实现,按照变步长LMS算法思想,本文不在对变步长LMS算法中步长μ进行跟踪计算,而是指定步长收敛之前为0.02,收敛之后步长0.15,其他参数不变,使用Matlab仿真,如图3所示。
       
       
        图3 指定步长的混合算法仿真图
       
        从图中我们看到混合算法的误差比传统算法有所增大,但是在迭代300次后趋于稳定,比传统算法减少200次,因此混合算法更能满足实时性的要求。
       
        图3中,由于收敛之前步长且不随误差的减小而减小(迭代次数为200),所以收敛速度更快;收敛之后步长较小,平均的稳态误差比混合算法有所减小。
       
        3基于FPGA自适应均衡器的实现
       
        由仿真可知,我们提出的混合算法可以满足设计自适应均衡器的要求。本章将基于此算法的用FPGA实现自适应均衡器。
       
        采用FPGA设计LMS自适应均衡器的结构图如图4所示。它主要分为FIR滤波器模块、误差计算模块、权值更新模块和状态分配模块4个单元。
       
       
        图4 自适应均衡器的结构图
       
        文中为了方便实现,FIR滤波器模块实现18阶的FIR滤波。误差计算模块中的基准信号d(k)事先可存在ROM里。权值更新部分实现FIR滤波器系数的计算与调整,设定收敛之前μ=2-4,收敛之后μ=2-6.
       
        状态分配模块功能包括初始化各模块,它产生控制信号、控制实现各个模块完成特定功能;协调各个模块间的操作。
       
        由于FPGA不支持浮点数运算,而自适应滤波器必然要涉及到小数的计算,因此我们将所有小数化为二进制处理。本文设计采用4……4格式,第一位为符号位。
       
        根据以上参数,按照LMS原理以及结构图,我们即可编写程序,主程序流程图如图5所示。
       
       
        图5 均衡器的程序流程图
        文中选用xilinx公司的ISE12.4为开发工具,Modelsim为仿真工具。为了便于比较,我们将输出信号和期望信号进行判决。仿真结果如下。
       
        图6(a)中信道无干扰,可以看出输出信号和期望信号一致;若信道发生突变,如图6(b)所示,在经历一段时间后均很器可以消除码间干扰。通过仿真,可以得到:基于混合算法的自适应均衡器可以消除码间串扰,能够快速地从多径信号中恢复出发送信号,减少误码。
       
       
        图6 verilog程序仿真波形图
       
        4结论
       
        文中改进了LMS算法原理,利用FPGA实现了自适应均衡器,从仿真结果来看,采用FPGA实现自适应均衡器完全可满足设计要求,基于改进型算法可获得较高的数据处理速度。鉴于时间和本文篇幅较小,设计中FIR滤波器的阶数选取相对较小,而且引入符号LMS算法,因而对白适应均衡器的收敛精度会带来一定的影响,但可以通过增加FIR滤波器的阶数和数据的位数来提高精度。
页: [1]
查看完整版本: 基于FPGA的自适应均衡器的研究与设计