您好,欢迎访问三七文档
1数字时域均衡器设计摘要:本文介绍了数字时域均衡器的基本结构,以及LMS算法的基本原理,并对基于LMS算法的自适应均衡器进行了Matlab仿真设计。另外,通过改变其参数,对均衡器的收敛速度和性能进行了相关分析。关键词:时域均衡器;LMS算法;Matlab仿真Abstract:Thispaperdescribesthebasicstructureofadigitaltime-domainequalizerandthebasicprinciplesofanLMS-algorithm.AndtheMatlab-simulationoftheadaptiveequalizerbasedonLMSalgorithmisalsocarriedout.Inaddition,bychangingitsparameters,IanalyzedtheequalizerconvergencespeedandperformanceKeywords:time-domainequalizer;LMS-algorithm;Matlab-simulation在数字通信系统中,信号的传输过程中存在信道带宽的限制和多径传播的影响,会产生码间干扰。这时便需要均衡器来消除码间干扰,从而提高数据传输的可靠性,其机理是对信道或整个传输系统特性进行补偿,从而达到系统传输的要求。然而随着现代通信技术的迅猛发展,人们对于通信系统速率和稳定性的要求的提高,再加上现实中信道特性是未知的,传统的均衡器已经无法满足系统的要求,必须使用能够实时快速跟踪信道变化、具有较强时变能力的均衡器,即自适应均衡器。本文介绍的基于LMS算法的自适应均衡器,有着其独特的优点和广阔的应用前景。一时域均衡器(一)均衡器介绍均衡器按研究的角度和领域,可分为频域均衡器和时域均衡器两大类。频域均衡器是从校正系统的频率特性的角度出发,利用滤波器的频率特性去补偿系统的频率特性,使系统的总特性接近无失真传播条件;时域均衡器用来直接校正已失真的响应波形,使包括可调滤波器在内的整个系统的冲激响应满足无码间串扰条件。其中时域均衡可以根据信道特性的变化进行自动调整,在数字传输系统中,尤其是高速数据传输中得以广泛应用。另外,时域均衡器又分为线性均衡器和非线性均衡器,线性均衡器是指自适应均衡器的判决输出没有被用于均衡器的反馈逻辑中,不会反过来改变均衡器的参数;反之,就是非均线性均衡器。(二)时域均衡器原理在信道传递有用信号之前需要对自适应时域均衡器进行训练。在训练过程中,发射机会发射一组已知的固定长度的训练序列,接收机根据训练序列设定滤波器的参数,使检测误码率最小。训练序列结束后,均衡器参数接近最佳值,该状态被称作均衡器的收敛。在传递信号时均衡器还会不断随信道特性的变化对均衡器参数做出相应的改变。一般,均衡器需要周期性地训练以保证一直有效地减小码间干扰。下面先介绍时域均衡器的原理。2图1.2.1数字基带传输系统数字基带传输系统基本结构如图1.2.1所示,其系统特性为H(𝜔)=𝐺𝑇(𝜔)𝐶(𝜔)𝐺𝑅(𝜔)。当H(𝜔)不满足奈奎斯特第一准则时,输出信号波形便产生码间串扰。理论上可以证明:如果在接收滤波器和抽样判决之间插入一个可调的横向滤波器,就可以使插入后的总系统特性满足奈奎斯特第一准则,该滤波器的其冲激响应为nSnTnTtCth)()(其中denTHTTCsSSTjnTTiSSSn)(2上述ℎ𝑇(𝑡)就是下面图1.2.2所示网络的单位冲激响应。该网络是有无限多的按横向排列的迟延单元𝑇𝑠和抽头加权系数𝐶𝑛组成的,其利用无限多个响应波形之和,将接收滤波器输出端抽样时刻上有码间串扰的响应波形转化成抽样时刻上无码间串扰的响应波形。图1.2.2无限长横向滤波器实际中,横向滤波器的抽头数不可能无限多。又因为一个码元脉冲仅仅会对邻近的少数几个码元产生串扰,十几个抽头的滤波器就基本满足要求。图1.1.3为有限长横向滤波器。图1.2.3有限长横向滤波器下面对该有限长横向滤波器进行分析,其冲激响应为NNiSiiTtCte)()(设它的输入信号为)(tx,则均衡后输出为3NNiSiiTtxCtetxty)()()()(在抽样时刻SkTt上,有NNiikikxCy𝑦𝑘(k≠0)表示波形失真引起的码间串扰。当输入波形)(tx给定,即𝑥𝑘−𝑖确定时,通过调整iC可以使某个的𝑦𝑘等于零,但很难实现𝑦𝑘(k≠0)同时等于零。这说明,利用有限长的横向滤波器可以减小码间串扰,但不能完全消除。当𝐶𝑛可调整时,此滤波器是通用的;并且当𝐶𝑛可自动调整时,它能够适应信道特性的变化,动态地校正系统的码间串扰,接下来讨论基于LMS算法的自适应均衡滤波器。二LMS算法LMS(Leastmeansquare)算法,即最小均方误差算法于1960年由B.Widrow和M.E.Hoff提出。其采用梯度搜索法,收敛到最优解十分迅速,且原理简单,实施容易,目前广泛用于计算自适应滤波器的抽头增益系数。通常,均衡器自适应过程可分为计算误差和根据误差两个过程。(一)误差计算自适应滤波器结构如图2.1所示,如何产生输出信号𝑦𝑘不再赘述。输出信号𝑦𝑘与期望信号𝑑𝑘比较得到误差信号𝑒𝑘=𝑑𝑘−𝑦𝑘,然后根据𝑒𝑘并通过某种算法来控制、调整各个抽头系数𝑊𝑘。本文中,选取LMS算法。ττττ+比较器-+ekdkykw3w2w1wL+xkxk-1xk-2xk-L+1算法图2.1自适应横向滤波器的结构(二)LMS原理在均衡器的实际工作中,希望误差𝑒𝑘达到最小,从统计学的角度,就是希望𝑒𝑘的均方误差E[𝑒𝑘2]=𝐸{[𝑑𝑘−𝑦𝑘]2}越小越好。即当均方误差达到最小值时,该滤波器性能达到最优。将𝑦𝑘表示成抽头权值输入向量𝑋𝑘和抽头权值向量𝑊𝑘内积的形式,然后代入上式中,可知E[𝑒𝑘2]是以𝑊𝑘为多维自变量的函数,并存合适的抽头权值向量𝑊𝑘使得均方误差E[𝑒𝑘2]存在最小值。可以看出寻找E[𝑒𝑘2]最小值的过程即是寻找最优抽头权值向量𝑊𝑘的过程。下面通过梯度搜索法也即最陡下降法的思想寻找𝑊𝑘,即这是一个迭代过程,可以由下式给出4kkkWW1其中∇𝑘=𝜕E[𝑒𝑘2]𝜕𝑊𝑘是该次迭代时的梯度向量,−∇𝑘是该次迭代的方向向量,常数𝜇是迭代时所用的步长,又称作收敛因子。在利用上述的最陡下降法计算∇𝑘时需要知道一些先验知识,而这在实际工作中是无法实现的,因此必须得到∇𝑘的估计值∇̂𝑘。在LMS算法中,简单的取𝑒𝑘2来代替均方误差E[𝑒𝑘2],可得到∇̂𝑘=𝜕𝑒𝑘2𝜕𝑊𝑘=-2𝑒𝑘𝑋𝑘进一步计算可得此时自适应算法,即LMS自适应算法kkkkkkXe2ˆ1经推导,要使LMS算法收敛,𝜇的取值范围应为0μ2𝑀𝑃𝑥⁄。其中M滤波器的长度,𝑃𝑥为输入信号的功率。由以上论述可以得出LMS算法的具体步骤如下:a.初始化抽头系数矢量𝑊𝑘=[00⋯]𝑇,𝑘=0;b.循环以下步骤(1)计算滤波器输出𝑦𝑘=𝑊𝑘𝐻𝑋𝑘,(2)计算误差函数𝑒𝑘=𝑑𝑘−𝑦𝑘,(3)更新滤波器抽头系数矢量𝑊𝑘+1=𝑊𝑘+2𝜇𝑒𝑘𝑋𝑘;三LMS自适应均衡器的Matlab设计与仿真前面介绍了自适应均衡器的基本结构和LMS算法的基本原理,下面在Matlab中编写程序,对LMS自适应均衡器进行仿真设计,并观察均衡器阶数N和LMS算法的步长因子μ改变时,均衡器收敛速度和收敛性能的变化。本次仿真原始信号为s=sin(𝜋𝑡2⁄),噪声为标准高斯白噪声,均衡器阶数N=128,步长μ=0.002。仿真结果如图3.1所示。图3.1LMS自适应均衡器输入、输出和均方误差曲线下面不改变原始信号s和附加噪声,仅分别改变均衡器阶数N=36和步长因子μ=0.001,均衡器输出波形和均方误差曲线分别如图3.2中的(a)和(b)所示。5(a)(b)图3.2(a)N=36和𝛍=𝟎.𝟎𝟎𝟏时,自适应均衡器输出及均方误差曲线四结论通过上述对LMS自适应均衡器的仿真,可以看出均衡器阶数N和算法步长μ对均衡器性能有如下影响:(1)阶数N在自适应均衡器的设计中,阶数N的选取要根据实际仿真验证比较得出。当阶数N变大时,迭代次数增加,收敛速度也随之变快;但N一定大时,收敛速度不再明显改变,且可能引起系数迭代过程不收敛。(2)算法步长μμ的选取也要遵循一定的准则。μ越小,收敛速度越慢,计算工作量越大,但滤波性能较好;反之,μ越大,收敛速度越快,计算工作量越小,但滤波性能较差。且μ一定大时,收敛速度不再明显改变,也可能会造成计算溢出。参考文献[1]黄埔堪,陈建文,楼生强.现代数字信号处理[M].北京:电子工业出版社,2003.[2]沈福民.自适应信号处理[M].西安:西安电子科技大学出版社,2001.[3]齐海兵.基于FPGA的横向LMS算法的实现[J].国外电子元器件,2007(1):31-34.[4]杜培宇.基于自适应滤波器的噪声抑制技术研究[D].硕士学位论文.山东:山东大学,2005.01002003004005006007008009001000-202信号s时域波形ns020040060080010001200-505信号s加噪声后的时域波形020040060080010001200-202自适应滤波后的输出时域波形0100200300400500600700800900100000.51均方误差曲线01002003004005006007008009001000-202信号s时域波形ns020040060080010001200-505信号s加噪声后的时域波形020040060080010001200-505自适应滤波后的输出时域波形010020030040050060070080090000.51均方误差曲线6附LMS自适应均衡器MATLAB仿真程序g=100;%统计仿真次数为gN=1024;%输入信号采样点数Nk=128;%时域抽头LMS算法滤波器阶数pp=zeros(g,N-k);%将每次独立循环的误差结果存于矩阵pp中u=0.002;%步长forq=1:gt=1:N;a=1;s=sin(0.05*pi*t);%输入单频信号sfigure(1);subplot(411)plot(t,real(s));%信号s时域波形title('信号s时域波形');xlabel('n');ylabel('s');axis([0,N,-a-1,a+1]);xn=awgn(s,5);%加入均值为零的高斯白噪声,信噪比为3dBy=zeros(1,N);%设置初值输出信号yy(1:k)=xn(1:k);%将输入信号xn的前k个值作为输出y的前k个值w=zeros(1,k);%设置抽头加权初值e=zeros(1,N);%误差信号fori=(k+1):N%用LMS算法迭代滤波XN=xn((i-k+1):(i));y(i)=w*XN';e(i)=s(i)-y(i);w=w+u*e(i)*XN;endpp(q,:)=(e(k+1:N)).^2;endsubplot(412)plot(t,real(xn));%信号s时域波形title('信号s加噪声后的时域波形');subplot(413)plot(t,real(y));%信号s时域波形title('自适应滤波后的输出时域波形');forb=1:N-kbi(b)=sum(pp(:,b))/g;%求误差的统计平均endt=1:N-k;subplot(414)plot(t,bi,'r');title('均方误差曲线');holdon%将每次循环的图形显示结果保存下来
本文标题:数字时域均衡器
链接地址:https://www.777doc.com/doc-7388374 .html