您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于MATLAB自适应均衡器
电子信息系综合课程设计基于Matlab的自适应均衡器设计专业名称通信工程班级学号学生姓名指导教师设计时间2010.12.20~2011.1.7课程设计任务书专业:学号:学生姓名(签名):设计题目:基于Matlab的自适应均衡器设计一、设计实验条件实验室,Matlab软件二、设计任务及要求1.课题要求系统学习时域均衡原理,掌握理论知识;2.首先进行时域均衡原理和算法设计,再在所用的仿真软件Matlab上对设计进行仿真分析,最后写实验报告;3.对整个系统设计进行回顾,总结心得。三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考资料四、设计时间与安排1、设计时间:3周2、设计时间安排:熟悉实验设备、收集资料:4天设计图纸、实验、计算、程序编写调试:7天编写课程设计报告:3天答辩:1天基于Matlab的自适应均衡器设计一、设计目的及意义:通过本学期通信原理课程的学习,主要对数字信号系统的通信原理、传输机制等有了系统深入的了解。而实践性的课程设计能够起到提高综合运用能力,加强理论知识的学习,提高实验技术,启发创造新思想的效果。此次课程设计是自适应均衡器设计。我们按照查找资料、软件选择、系统设计、仿真实现、结果优化这一流程进行。不仅使我们进一步巩固了课程知识,也提高了我们分析问题、解决问题的能力。二、设计主体:1、设计原理数字信号经过这样的信道传输以后,由于受到了信道的非理想特性的影响,在接收端就会产生码间干扰(ISI),使系统误码率上升,严重情况下使系统无法继续正常工作。理论和实践证明,在接收系统中插入一种滤波器,可以校正和补偿系统特性,减少码间干扰的影响。这种起补偿作用的滤波器称为均衡器。时域均衡是利用均衡器产生的时间波形去直接校正已畸变的波形,使包括均衡器在内的整个系统的冲击响应满无码间串扰条件。频域均衡是从校正系统频率特性出发,使包括均衡器的基带系统的总特性满足无失真传输条件;频域均衡在信道特性不变,且在传输低速数据时是适用的。而时域均衡可以根据信道特性的变化进行调整,能够有效地减小码间串扰,故在高速数据传输中得以广泛应用。图1数字基带传输系统在实际中,当数字基带传输系统(如图1)的特性RTGCGH)()(不满足奈奎斯特第一准则时,就会产生有码间串扰的响应波形。现在我们来证明:如果在接收滤波器和抽样判决之间插入一个称之为横向滤波器的可调滤波器,其冲激响应为nSnTnTtCth)()(其中,denTHTTCsSSTjnTTiSSSn)(2nC完全依赖于H(ω),那么,理论上就可消除抽样时刻上的码间串扰。由上式可以看出,这里的thT是图2所示网络的单位冲激响应。该网络是有无限多的按横向排列的迟延单元sT和抽头加权系数nC组成的,因此成为横向滤波器。它的功能是利用它产生的无限多个响应波形之和,将接收滤波器输出端抽样时刻上有码间串扰的响应波形变换成抽样时刻上无码间串扰的响应波形。由于很想滤波器的均衡原理是建立在响应波形上的,故把这种均衡成为时域均衡。图2横向滤波器不难看出,横向滤波器的特性将取决于各抽头系数nC。如果nC是可调整的,则图3所示的滤波器是通用的;特别是当nC可自动调整时,则它能够适应信道特性的变化,可以动态校正系统的事件响应。图3有限长横向滤波器及其输入和输出波形理论上,无限长的横向滤波器可以完全消除抽样时刻上的码间串扰,但实际中是不可能实现的。因为,不仅均衡器的长度受限制,并且系数nC的调整准确度也受到限制。如果nC的调整准确度可不到保证,即使增加长度也不不会获得显著的效果。因此,有必要进一步讨论有限长横向滤波器的抽头增益调整问题。设一个具有2N+1个抽头的横向滤波器,如图3(a)所示,其单位冲激响应为te,则有NNiSiiTtCte)()(有设它的输入为)(tx,)(tx是被均衡的对象,并设它没有附加噪声,如图3(b)所示,则均衡后输出波形ty为NNiSiiTtxCtetxty)()()()(在抽样时刻SkTt(设系统无延时时)上,有NNiikikxCy上式说明,均衡器在第k个抽样时刻上的样值ky将有2N+1个iC与ikx乘积之和来决定。显然,其中除0y以外的所有ky都属于波形失真引起的码间串扰。当输入波形)(tx给定,及各种可能的ikx确定是,通过调整iC使指定的ky等于零时容易办到的,但同时要求所有的ky(除k=0外)都等于零却是一件很难的事。这也说明,利用有限长的横向滤波器减小码间串扰是可能的,但完全消除是不可能的。为了反映这些失真的大小,我们可采用最小均方和迫零算法准则来衡量。本实验采用最小均方误差算法(LMS)。LMS(LeastMeanSquare)算法最早由Widrow于1960年建立。采用最小均方算法的均衡器比迫零算法均衡器要稳定一些,它所采用的准则是使均衡器的期望输出值和实际输出值之间的均方误差(MSE)最小化的准则。由Wiener滤波理论可知,滤波器的最优抽头系数矢量可表示为xdxxoptrRW1式中xxR是输入信号矢量nx的互相关函数,nxrxd是输入信号矢量与期望信号矢量nd的互相关函数。直接求解式此式的运算量非常大,尤其当滤波器的抽头系数个数比较多时。考虑如图4所示的自适应FIR滤波器:)(ny1z1z1z1z)1(ny)(~nx∑)(1nw)(2nw)(2nwL)(1nwL)1(Lny)(0nw……图4自适应FIR滤波器令nXWndnyndneH表示滤波器在n时刻的误差,并定义均方误差22nxWndEneEnJHde为代价函数。由梯度的定义可以得出,代价函数相对于滤波器抽头系数矢量w梯度为neknxEnJk21,...1,0,2MknxWndknxEH,定义梯度矢量为TMdefnJnJnJnJ110,....,,以及输入矢量和抽头系数矢量:TMnxnxnxnx1.....1TMnwnwnwnw110.....则此式可以写作以下矢量形式:nwXndnxEnJH2nwRrxxxd22最广泛使用的自适应算法形式为“下降算法”:nvnnwnw1式中nw是第n步迭代的系数矢量,n是第n步迭代的更新步长,而v(n)是第n步迭代的更新方向矢量。最常用的下降法为梯度下降法,又称最陡下降法。在这种算法里,更新方向矢量v(n)取作第n-1次迭代的代价函数J(n-1)的负梯度,即最陡下降法的统一形式为1211nJnnwnw系数21为了使得到的更新公式更加简单可得抽头系数矢量的更新公式为11nwRrnnwnwxxxd从上式中可以看出,滤波器抽头系数矢量的更新迭代与xdr和xxR有关,而实际的信号处理过程中,xdr和xxR都不是能够先验知道的,因此通常用梯度的估计值1nJ来代替1nJ.nwnxnxndnxnJH2可得nwnxnXndnxnnwnwH1nxnennw1其中nyndne为滤波器输出与期望信号的误差函数。上式就是LMS算法抽头系数的更新公式,容易验证。nJnJ是的无偏估计,通过上面的讨论可以总结出LMS算法的具体步骤如下:步骤l:初始化抽头系数矢量0,....0,0nnwT;步骤2:当n=n+1时计算滤波器输出nxwnyH,计算误差函数nyndne,更新滤波器抽头系数矢量,1nxnennwnw关于上面的LMS算法有以下几点注释:注释l:若取n常数,则称为基本LMS算法。注释2:若取,02,0(,),其中anxnxanH则的到归一化LMS算法。注释3:在功率归一化算法中,取可由的方差表示其中,,22nxnanxxnenxx2221递推计算,这里)1,0(为遗忘因子,由0aM2确定,而M是滤波器阶数.注释4:当期望信号未知时,步骤2中的d(n)可直接用判决器的实际输出nd代替。本实验中选取滤波器阶数order=63,调整步长u=0.02,均为经验值。2、Matlab仿真过程1.定义一个随机信道c=0.4;x1=c*rand();x2=c*rand();x3=c*rand();%信道参数isi=[1,x1,x2,x3];snr=10;%AWGN信道信噪比2.定义滤波器各参数order=63;%滤波器阶数len=1000;%训练序列长度u=0.02;%调整步长M=(order-1)/2;N=len+length(isi)-1;e=zeros(1,N);error=e;y=zeros(1,N);%FIR滤波器输出3.信道均衡过程fori=1:100x=sign(rand(1,len)-0.5);%采用PN码作为训练序列noise=randn(1,N)/10.^(snr/10);%AWGNy=conv(isi,x)+noise;%输出wk=zeros(1,order);%横向滤波器系数forn=order:N-M+1%LMS算法y1=y(n+M-1:-1:n-M-1);d1=wk*y1';e(n)=x(n)-d1;wk=wk+u*e(n)*y1;e(n)=10*log10(abs(e(n)));endqerror=error+e;end4.得到横向滤波器系数wk输出结果:wk=Columns1through9-0.00580.02970.02830.0247-0.0147-0.01180.0385-0.03480.0095Columns10through180.04220.03210.02360.0126-0.0068-0.03100.00940.0207-0.0136Columns19through270.03540.0016-0.02810.01810.00140.0073-0.01040.00380.0422Columns28through360.01490.03960.01500.9751-0.2937-0.24460.12360.0825-0.0315Columns37through45-0.0098-0.00550.0035-0.0426-0.03160.00450.0007-0.05740.0115Columns46through540.0346-0.05780.0389-0.0503-0.01100.01330.0500-0.0114-0.0143Columns55through63-0.0055-0.02140.01190.0058-0.0181-0.0184-0.03920.0115-0.02725.计算自适应均衡器误差收敛性error=error(order:N-M+1)/100;%误差值t=1:length(error);plot(t,error);title('误差收敛曲线');ylabel('误差dB');xlabel('n');02004006008001000-12-10-8-6-4-20误差收敛曲线误差dBn图5误差收敛曲线6.随机信号通过理想均衡信道M=4;msg=randint(1500,1,M);%产生一个1500x1在[0,M-1]区域内的随机整数序列modmsg=qammod(msg,M);%进行qam调制的映射trainlen=
本文标题:基于MATLAB自适应均衡器
链接地址:https://www.777doc.com/doc-5859897 .html