资源描述
毕 业 设 计(2014届)题 目 一种基于OpenCV的摄像机标定方法 学 院 物理电气信息学院 专 业 电子信息工程 2014年5月6日II摘要 摄像机标定是在机器视觉和工业测量等领域中的一个基本步骤,也是从二维图像获取三维信息必不可少的。为了提高传统摄像机标定方法的效率,在 VC +6.0平台下调用 OpenCV1. 0库函数实现摄像机的标定。此方法的简易性主要体现在不需要很多的优化算法,仅仅利用库函数中已有的标定函数便可实现。并通过实验证明了此方法的可行性与有效性。关键词:机器视觉 ;摄像机标定 ;传统标定 ; OpenCVIAbstract In the field of machine vision and industrial measurement,camera calibration is anelementary step which is also essential to obtain three dimensional information from a two dimensionalimageIn order to improve the efficiency of traditional camera calibration methods,under the VC + 6.0platform,this article actualized the camera calibration through calling the OpenCV1. 0 functionsThissimplicity of the method is mainly reflected in that it does not need many optimaization algorithms and justuses the calibration functions in library to carry out experiments And it proved the feasibility andeffectiveness of this method by doing the experimentsKey words: machine vision; camera calibration; traditional calibration; OpenCVII 目 录第一章 绪论11.1 研究背景和研究意义11.2 计算机立体视觉的研究现状21.3 摄像机标定概述及分类31.4 本文的研究内容4第二章 摄像机标定原理82.1 常用坐标系及变换82.2 摄像机模型92.3 非线性失真112.4 参数的求取12第三章 软件设计133.1 横向滤波器的选择253.2 算法迭代公式的推导263.3 计算机仿真273.3.1 LMS算法的算法流程273.3.2 LMS算法及其应用28总结与结论34参考文献35致谢36 III 物理电气信息学院 本科毕业设计 第一章 绪论1.1 研究背景和研究意义 计算机视觉研究的主要目的是使计算机系统具有类似于人类的视觉能力,获取三维场景的几何信息是其最基础的研究内容 。(马颂德,1998)。 计算机视觉的发展可以追溯到 20 世纪 50 年代初 、1951 年,Neumann 提出利用计算机通过对比图像相邻位置的强度来进行图像的分析,这可能是有记载的有关计算机视觉最早的实践。 立体视觉的开创性工作是从 60 年代中期开始的 MIT 的 Robert 完成的三维场景分析工作,把过去对二维图像的分析推广到三维景物,标志着立体视觉技术的诞生,并在随后 20 年中迅速发展成一门新的学科。 1979 年,Maar 综合图像处理、 心理物理学、 神经生理学及临床精神病学的研究成果,从信息处理系统的角度出发提出了第一个较为完善的视觉系统框架。 20 多年来,研究者们对 Marr基本理论框架中所提出的各个研究层次与视觉系统的各个阶段中的各种功能模块,进行了大量的研究。 Marr 创立的视觉计算理论对立体视觉的发展产生了巨大影响,现已形成了从图像获取到最终的景物可视表面重建的完整体系,在整个计算机视觉中占有越来越重要的地位。 立体视觉是计算机被动测距方法中最重要的距离感之技术,它直接模拟人类视觉处理景物的方法,可以再多种条件下灵活地测量景物的立体信息。 Barnard 指出,一个完整的立体视觉系统通常可分为图像获取 、摄像机标定 、特征提取 、立体匹配 、深度确定及内插等六部分(Barnard,1982)。 计算机立体视觉技术在机器人视觉、 产品检验、 零件识别与定位 、图形图像识别 、医学、 工业产品的外观设计 、三维轮廓测量、 雕塑艺术、 建筑、 国防等领域有着广泛的应用前景,是当今国际上的热门课题之一 。研究方法从早期的以传统相关理论为基础的相关匹配,发展到具有很强生物学背景的热证匹配,从串行到并行,从直接依赖于输入信号的低层次处理到依赖于特征、 结构、 关系和知识的高层次处理,其理论正处在不断发展和完善之中 。对它的研究无论是从视觉生理的角度还是在工程应用中都具有十分重要的意义 。1.2 计算机立体视觉研究现状 利用被摄对象的多幅图像获取其三维几何模型,是视觉测量和计算机视觉的一个经典课题,目的是恢复物体表面形状或者恢复场景中相机和物体之间的距离 。在计算机视觉界,三维重建方法大致分为立体视觉方法(双目 三目和多目视觉)、 光学立体学 、从运动求取结构、 从阴影恢复形状及从纹理及表面朝向恢复形状等(章毓晋)。 在针孔模型下,基于点的三维重建实质是三点(原点、 像点、 物点)的共线方程 。此时对应的像点与物点必须是同名点。 人造物体大多具有比较规则的形状,一般可以看作由若干点、 线 、面的组合 。在实际图像中,由于噪声和遮盖等的影响,我们需要的同名点可能无法精确提取甚至不存在,而大多数情况下,一条直线段往往可以相对容易的提取出来,因此计算机视觉界提出了许多利用图像直线信息进行摄像机标定和三维重建的方法。 Hartley,Feugeras,Maybank,Pollyefeys等人都深入研究了如何从未标定的摄像机图像进行透视变化层、 仿射变换层以及量测变换层的三维重建 。对于建筑物这样一类及立方体及其他规则体为基础的空间物体,其三维重建以单个影像及多个影像(不一定需要构成立体像对)来实现。这方面的研究已经有较多的文献,特别是计算机图形学界对几何建模与纹理映射均有非常杰出的贡献。其中典型的有 Faoade 和 PhotoBuilder 等,前者采用物方和像方相结合的混合模型,它本质上是基于结构体几何的方法。后者是侧重基于灭点与极线的求解方法。 为了降低双目(Two-view)匹配的难度,20 世纪 80 年代中期出现了三目立体视觉系统(Three-view Stereo)系统,即采用 3 个相机同时摄取空间景物,通过利用第三目图像提供的信息来消除匹配的歧义性。 Watanale 等采用相互垂直(正交)的三目视点,较好地解决了与极线平行特征的匹配歧义性问题。 Ohta 提出了基于共线结构的三目视觉系统,可有效地避免遮挡问题。 Ohta 等还提出了一个基于梯度分类的正交三目立体匹配技术。 Gurwitz 详细分析了三目立体视觉的性能。 Okutomi 等提出了利用一组沿水平基线方向的图像序列进行立体匹配,通过计算对图像间平方差的和来减少总体误差。 Jia 提出了一种利用正交多目图像消弱误差匹配的方法 Zitnick 提出通过区域信息进行多目匹配。 Fitzgibbon 提出了一种基于序列图像的自动三维重建方法。 该方法的基本思路是首先进行三张像片间的盲目匹配,通过像片间的同名对应关系计算三视张量,获得摄像机参数的初值,并将各三视张量下得到的空间坐标纳入到统一的物方坐标系,最后进行非线性最优化。 另一类自动三维重建方法称为从侧轮廓恢复形状,这类方法一般都是利用八叉树分裂方法进行物体的自动三维重建,且不需要待重建物体的任何先验信息,但前提是各张像片的摄像机内外方位元素要求已知。 1.3 摄像机标定概述及分类计算机视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。在大多数条件下,这些参数必须通过实验与计算才能得到,这个过程被称为摄像机定标(或称为标定)。标定过程就是确定摄像机的几何和光学参数,摄像机相对于世界坐标系的方位。标定精度的大小,直接影响着计算机视觉(机器视觉)的精度。迄今为止,对于摄像机标定问题已提出了很多方法,摄像机标定的理论问题已得到较好的解决,对摄像机标定的研究来说,当前的研究工作应该集中在如何针对具体的实际应用问题,采用特定的简便、实用、快速、准确的标定方法。1 、根据是否需要标定参照物来看,可分为传统的摄像机标定方法和摄像机自标定方法。传统的摄像机标定是在一定的摄像机模型下,基于特定的实验条件,如形状、尺寸已知的标定物,经过对其进行图像处理,利用一系列数学变换和计算方法,求取摄像机模型的内部参数和外部参数(分为最优化算法的标定方法、利用摄像机透视变换矩阵的标定方法、进一步考虑畸变补偿的两步法和采用更为合理的摄像机模型的双平面标定法);不依赖于标定参照物的摄像机标定方法,仅利用摄像机在运动过程中周围环境的图像与图像之间的对应关系对摄像机进行的标定称为摄像机自标定方法,它又分为:基于自动视觉的摄像机自标定技术(基于平移运动的自标定技术和基于旋转运动的自标定技术)、利用本质矩阵和基本矩阵的自标定技术、利用多幅图像之间的直线对应关系的摄像机自标定方以及利用灭点和通过弱透视投影或平行透视投影进行摄像机标定等。自标定方法非常地灵活,但它并不是很成熟。因为未知参数太多,很难得到稳定的结果。一般来说,当应用场合所要求的精度很高且摄像机的参数不经常变化时,传统标定方法为首选。而自标定方法主要应用于精度要求不高的场合,如通讯、虚拟现实等。2 、从所用模型不同来分有线性和非线性。所谓摄像机的线性模型,是指经典的小孔模型。成像过程不服从小孔模型的称为摄像机的非线性模型。线性模型摄像机标定, 用线性方程求解,简单快速,已成为计算机视觉领域的研究热点之一,目前已有大量研究成果。但线性模型不考虑镜头畸变,准确性欠佳;对于非线性模型摄像机标定,考虑了畸变参数,引入了非线性优化,但方法较繁,速度慢,对初值选择和噪声比较敏感,而且非线性搜索并不能保证参数收敛到全局最优解。3 、从视觉系统所用的摄像机个数不同分为单摄像机和多摄像机在双目立体视觉中,还要确定两个摄像机之间的相对位置和方向。4 、从求解参数的结果来分有显式和隐式。隐参数定标是以一个转换矩阵表示空间物点与二维像点的对应关系,并以转换矩阵元素作为定标参数,由于这些参数没有具体的物理意义,所以称为隐参数定标。在精度要求不高的情况下,因为只需要求解线性方程,此可以获得较高的效率。比较典型的是直接线性定标(DLT)。DLT 定标以最基本的针孔成像模型为研究对象,忽略具体的中间成像过程,用一个34 阶矩阵表示空间物点与二维像点的直接对应关系。为了提高定标精度,就需要通过精确分析摄像机成像的中间过程,构造精密的几何模型,设置具有物理意义的参数(一般包括镜头畸变参数、图像中心偏差、帧存扫描水平比例因子和有效焦距偏差),然后确定这些未知参数,实现摄像机的显参数定标。5 、从解题方法来分有解析法、神经网络法和遗传算法。空间点与其图像对应点之间是一种复杂的非线性关系。用图像中的像元位置难以准确计算实际空间点间的实际尺寸。企图用一种线性方法来找到这种对应关系几乎是不可能的。解析方法是用足够多的点的世界坐标和相应的图像坐标,通过解析公式来确定摄像机的内参数、外参数以及畸变参数,然后根据得到的内外参数及畸变系数,再将图像中的点通过几何关系得到空间点的世界坐标。解析方法不能不能囊括上述的所有非线性因素,只能选择几种主要的畸变,而忽略其它不确定因素。神经网络法能够以任意的精度逼近任何非线性关系,跳过求取各参数的繁琐过程,利用图像坐标点和相应的空间点作为输入输出样本集进行训练,使网络实现给定的输入输出映射关系,对于不是样本集中的图像坐标点也能得到合适的空间点的世界坐标。6 、根据标定块的不同有立体和平面之分。定标通过拍摄一个事先已经确定了三维几何形状的物体来进行,也就是在一定的摄像机模型下,基于特定的实验条件如形状、尺寸已知的定标参照物(标定物),经过对其图像进行处理,利用一系列数学变换和计算方法,求取摄像机模型的内部参数和外部参数。这种定标方法的精度很高。用于定标的物体一般是由两到三个相互正交的平面组成。但这些方法需要昂贵的标定设备,而且事前要精确地设置。平面模板(作为标定物),对于每个视点获得图像,提取图像上的网格角点,平面模板与图像间的网格角点对应关系,确定了单应性矩阵(Homography),平面模板可以用硬纸板,上面张贴激光打印机打印的棋盘格。模板图案常采用矩形和二次曲线(圆和椭圆)。7、 从定标步骤来看,可以分为两步法、三步法、四步法等;8 、从内部参数是否可变的角度来看,可以分为可变内部参数的定标和不可变内部参数的定标;9 、从摄像机运动方式上看,定标可以分为非限定运动方式的摄像机定标和限定运动方式的摄像机定标,后者根据摄像机的运动形式不同又可以纯旋转的定标方式、正交平移运动的定标方式等。不管怎样分类,定标的最终目的是要从图像点中求出物体的待识别参数,即摄像机内外参数或者投影矩阵。然而,不同应用领域的问题对摄像机定标的精度要求也不同,也就要求应使用不同的定标方法来确定摄像机的参数。例如,在物体识别应用系统中和视觉精密测量中,物体特征的相对位置必须要精确计算,而其绝对位置的定标就不要求特别高;而在自主车辆导航系统中,机器人的空间位置的绝对坐标就要高精度测量,并且工作空间中障碍物的位置也要高度测量,这样才能安全导航。 1.4 本文的研究内容 在计算机视觉领域中,摄像机标定与三维重建是基于二维图像的三维空间定量分析的关键内容,也是立体视觉的关键技术。用立体视觉方法进行三维重建主要包括三个步骤: 摄像机标定,即确定摄像机内外参数的一个过程; 立体匹配,即从不同图像中找出同一空间点在这些图像上投影点的过程; 三维重建,根据摄像机标定所得到的内外参数和图像匹配结果计算物体相对摄像机的距离,获得物体的立体信息。可见,摄像机标定是三维重建必不可少的一个步骤,也是计算机视觉获取三维空间信息的前提和基础。标定结果的好坏直接影响着三维测量的精度和三维重建结果的好坏,因此研究摄像机标定方法具有重要的理论意义和实际应用价值。 OpenCV 是Intel 公司资助的开源计算机视觉( open source computer vision) 库,由一系列C 函数和少量C + 类构成,可实现图像处理和计算机视觉方面的很多通用算法。它包含的各类图像处理及识别的函数非常丰富,而且一般都进行了很好的优化。 本文就是在Windows XP 平台下,用VC + 60开发了一个基于OpenCV10 版本的实验设计。 第二章 摄像机标定原理2.1 常用坐标系及变换 摄像机采集的模拟图像经计算机中的专用模数转换卡转换成数字图像,每幅数字图像在计算机内表示为M N 的数组,M 行N 列的图像中的每一个元素称为像素。为了表示每个像素的位置,需要建立图像坐标系,如图1 所示,( u,v) 是定义在图像上图像像素坐标系,该坐标系的单位是像素,坐标原点O0在图像的左上角。由于( u,v) 只表示像素位于数组中的列数与行数,并没有用物理单位表示出该像素在图像中的位置,因此,需要再建立以物理单位( 毫米) 表示的图像坐标系,如图1 所示,( x,y ) 是图像物理坐标,光心O1在图像的中心点上。图1 图像坐标系由图1 可得,图像中任意一个像素在两个坐标系下的坐标有如下的关系: (1) (2)用齐次坐标与矩阵表示为: (3)即计算机图像坐标系与像平面坐标系的转换关系。式中,m 为图像点的齐次坐标,dx 和dy 为每一个像素分别在x 轴、y 轴方向上的物理尺寸,( u0,v0)为光心坐标。摄像机成像几何关系如图2 所示。图2 摄像机成像几何图2 中,O 点为摄像机光心,( Xc,Yc,Zc) 为摄像机坐标系,( Xw,Yw,Zw) 为世界坐标系,OO1为摄像机焦距,P 为空间中一点。摄像机坐标系与世界坐标系之间的关系可以用旋转矩阵R 和平移向量t 来描述,因此摄像机坐标系与世界坐标系的转换关系为: (4)其中,R 为3 3 正交单位矩阵,t 为三维平移向量,。2.2 摄像机模型2.1.2 乘性噪声 乘性噪声与信号密切相关,它与加性噪声不同,是一个复杂的函数,可能包括各种线性畸变、非线性畸变,同时由于信道的迟延特性和损耗特性随时间作随机变化,故乘性干扰往往只能用随机过程来表述。根据乘性干扰可以把信道粗略分为两大类:一类称为恒定参量信道,即它们的乘性噪声可看成不随时间变化或基本不变化的;另一类则称为随机参量信道,它是非恒参信道的统称,它的乘性干扰是随机快变化的。乘性干扰可以通过选择元器件、正确设计工作点和减小信号电平等措施得到克服。码间干扰是一种乘性干扰,它是数字通信系统中除加性噪声干扰之外最主要的干扰。信道的衰减和群时延失真等都可能导致信号波形的失真,从而引起码间干扰。实际上,只要传输信道的频带是有限的,就会不可避免地造成一定的码间干扰(ISI)。 目前解决数据传输系统中码间干扰最有效和最成熟的方法是自适应均衡技术。自适应均衡技术能补偿信道参数变化所引起的畸变、抵消信道信号传输衰减,同时可以有效地抗信号码元经过长距离传输引起的码间干扰,减少误码,提高传输速率。2.2 自适应均衡原理自适应均衡器是在自适应滤波理论基础上建立起来的,自适应滤波器由两部分组成:一是滤波子系统,二是自适应算法部分。其中自适应算法部分是用来调整滤波子系统结构的参数的,或滤波器系数的。在自适应调整滤波子系统的系数的过程中,有不同的准则和算法。所谓的算法是指调节自适应滤波系数的方法,以达到在所描述准则下的误差最小化。自适应滤波器含有两个过程,即自适应过程与滤波过程。滤波过程较为简单,而自适应过程的基本目标是调节滤波系数,使有意义的目标函数或代价函数最小化,并使滤波器输出信号逐步逼近所期望的参考信号,由两者之间的估计误差驱动某种算法对滤波(权)系数进行调整,使滤波器处于最佳工作状态以实现滤波过程。所以自适应过程是一个闭合的反馈环,算法决定了这个闭合环路的自适应过程所需要的时间2。自适应均衡器直接从传输的实际数字信号中根据某种算法不断调整系数,能适应信道的随机变化,使均衡器总是保持最佳的工作状态,因而有更好的失真补偿性能。自适应均衡器一般包括两种工作方式,即训练模式和判决引导模式。在训练模式,发端发送一已知的定长序列,接收机通过该己知信号获得信道的响应特性,并快速的调整均衡器的抽头系数,使得均衡器的特性正好能补偿传输信道的特性,从而使接收机能够从均衡器的输出中得到几乎无差错的发送信号。这一过程被称为训练阶段,即发射机对接收机的训练。相应地所发送的己知序列称为训练信号,此时均衡器工作在训练模式。训练过程结束后,紧接着数据传输开始,此时接收的信号是未知的,由于均衡器处于最佳状态,接收机正确接收概率很高,利用正确的接收数据来修正均衡器的参数,使均衡器的特性跟着信道的特性变化,这时均衡器的工作模式称为判决引导模式或跟踪模式。接收机的训练时间与均衡器的收敛时间有关,它是均衡算法、均衡器结构、传输信道等因素的函数。由于信道的时变特性,均衡器需要周期的重训以使均衡器始终工作在最佳状况。均衡器从调整参数至形成收敛,整个过程的时间跨度是均衡算法、结构和多径无线信道变化率的函数。为了能有效地消除码间干扰,均衡器需要周期性地作重复训练。均衡器被大量地用于数字通信系统中,因为在数字通信系统中用户数据是被分为若干段并被放在相应的时间段内传送。2-1是一个无线通信系统的框图,其接收机包含自适应均衡器。原始基带信号调制器发射机无线信道检测器匹配滤波器中频部分射频接收前端=发射机,信道和接收机的射频中频部分的合成冲激响应等效噪声重建的信息数据ju据均衡器判决器 2-1使用自适应均衡器的通信系统结构框图 若是原始信息信号,是等效的基带冲激响应,即综合反映了发射机、信道和接收机的射频、中频部分总的传输特性,则均衡器收到的信号可表示为: (2-1)若均衡器的冲激响应是,在不考虑噪声的情况下,均衡器的输出为: (2-2)其中,是发射机,信道,接收机和均衡器四者的等效冲激响应。横向滤波均衡器的基带复数冲激响应可以描述如下: (2-3)其中,是横向滤波的系数。均衡器的期望输出值为原始信号。假定,则为了使公式中的,必须要求: (2-4)均衡的目的就是实现这一公式。其频域表达式为: (2-5)上式表明,均衡器实际上就是信道的反向滤波器。若传输信道是频率选择性的,则均衡器将增大频率衰落大的频谱部分,削弱频率衰落小的频谱部分,使收到的频谱各部分趋于平坦,相位趋于线性。对于时变信道,自适应均衡器可以跟踪信道的变化13。2.3 自适应均衡技术的分类自适应均衡技术分为频域均衡和时域均衡。所谓频域均衡,是在频域设计均衡滤波器,使包括插入的滤波器在内的整个系统的总传输函数满足无失真的条件。其基本的思想是利用可调滤波器的频率特性去补偿基带系统的频率特性,使包括可调滤波器在内的基带系统的总特性尽量接近最佳系统特性。频域均衡往往需分别校正幅频特性和群时延特性,且对群时延特性,且对群时延失真的补偿能力较弱,尤其对非最小相位衰落通常无能为力,因而在数字传输系统中一般不采用频域均衡,而采用时域均衡。所谓时域均衡,就是从时域的冲激响应考虑,使均衡器在内的整个系统的冲激响应应满足无符号间干扰的条件。时域均衡直接利用波形补偿的方法来校正由于基带特性不理想引起的波形畸变,使校正后的波形在取样判决时刻的码间干扰尽可能小,所以时域均衡也称波形均衡。时域均衡器利用它所产生的响应去补偿己畸变的信号波形,最终能有效地消除抽样时刻上的符号间干扰,因而在数字通信的许多领域,如调制解调器、移动通信、短波通信、ADSL、HDSL等应用中得到广泛的应用。2.4 自适应均衡器的分类自适应均衡器的分类方法很多,从类型上可分为线性和非线性两大类14;从结构上可分为横向滤波器和格型滤波器;从延迟线抽头间隔上看,可分为码元间隔Ts抽头均衡器和分数间隔抽头均衡器。线性均衡器与非线性均衡器的主要差别在于自适应的输出是否被用于判决反馈。若判决输出没被用于均衡器的反馈逻辑中,则均衡器是线性的;若判决输出被用于均衡器的反馈逻辑并改变了均衡器的后续输出,则均衡器是非线性的。实现均衡的滤波器结构有许多种,而且每种结构在实现时又有许多算法,分类如图2-2。均衡线性非线性横向滤波器格型横向滤波器格型DFEMLSDMLSE横向信道预测 2-2均衡器的分类对应每类结构都有一簇算法来自适应的调整均衡器参数。数字通信中,多径时延扩展可以从几微秒到100微秒,其频率选择性衰落特性,使得信道的频率特性产生许多零点,在这样的信道中,线性均衡器的性能通常很差。线性均衡器为了补偿多径衰落引起的信道某些位置的深衰落,会引入很大的增益,从而明显地放大了该位置的噪声,恶化了均衡器的输出信噪比15。在恶劣的数字移动通信信道中,非线性均衡器显示出比线性均衡器更良好的性能,因而被广泛使用。2.5 线性均衡器常用的线性均衡器有横向滤波器、格形滤波器和分数间隔均衡器。2.5.1 横向滤波器正如上节所述,自适应均衡的结构可以是横向结构以及格形结构。最常用的均衡器结构是线性横向均衡器(LTE),如图5所示。它由分为若干级的延迟线构成,级与级之间延迟时间的间隔为T,且延迟单元的增益相同,所以线性横向均衡器的传递函数可以被表示成延迟符号,即的函数。最简单的线性横向均衡器只使用前馈延时,其传递函数是的多项式,有很多零点,且极点都在,所以被称为有限冲激响应(FIR)滤波器,或简称为横向滤波器。若均衡器同时具有前馈和反馈链路,其传递函数将是的有理分式,则称为无限冲激响应(IIR)滤波器。对于IIR型均衡器则存在不稳定性问题,当进行自适应处理过程中出现极点移出单位圆之外时,会使均衡器产生不稳定,所以很少被使用。因此本文所讨论的自适应均衡均采用横向结构FIR滤波器。其主要原因是FIR结构的自适应技术实现容易,其对加权系数的修正就是调节了均衡器的性能,同时还可以保证其稳定性。周期为时钟抽头 2-3线性横向滤波器的基本结构2.5.2 格形滤波器格形滤波器的结构如图6所示。输入信号被转换成一组阶的前向和反向误差信号,用做相加器的输入,用于计算更新系数。格形滤波器的每一步可用下面的式子表征: (2-6) (2-7) (2-8)其中,是格形滤波器第步的反射系数。反馈误差信号用作抽头的衡量系数,滤波器的输出可表示为: (2-9) 2-4格形滤波器结构格型滤波器的两个主要优点是快速收敛特性和计算的稳定性。并且,格型滤波器的独特结构允许格型滤波器可以动态的调整长度。因此,如果信道不是严重的时间离散信道,只用一小部分就可以。当信道是较严重的时间离散的话,均衡器的长度可以通过修改算法而不用终止操作来增加。但是格型滤波器结构比较复杂。因为在均衡器的实现中,横向滤波器的结构硬件实现简单,性能良好,所以虽然格形滤波器等复杂结构的滤波器构成的均衡器在某些条件下具有比横向滤波器结构的均衡器更好的性能,但他们的硬件实现太复杂,一般在现代数字通信系统中不使用。在本论文中,我们采用横向滤波器作为研究对象。2.5.3 分数间隔均衡器 一般讨论的线性均衡器结构中,均衡器抽头间的间隔为码元间隔T(也称波特间隔),故常称之为波特间隔均衡器。这种均衡器采用码率1/T(也称波特率)对输入和输出信号采样,所以又称码率均衡器(Symbol Rate Equalizer)或波特率均衡器(Baud Rate Equalizer)。但是波特间隔均衡器存在一些缺点,性能并不理想。相比之下,抽头之间间隔为波特率分数倍的均衡器(简称为分数间隔均衡器)要比波特间隔均衡器优越16。从频域角度,我们很容易分析波特间隔均衡器的局限性。如前所述,这种均衡器对输入和输出信号都以1/T的速率采样,均衡器输入信号的频谱可写成 (2-10)由于对输入信号的采样速率1/T小于Nyquist采样速率2/T,所以上式中为折叠或混叠频谱,折叠频率为1/2T。码率均衡器输出端的信号频谱为,其中 (2-11)显然,由这些关系可看出,码率均衡器只能补偿接收信号混叠的频谱特性,不可能补偿中固有的信道畸变。与波特间隔均衡器不同,分数间隔均衡器(Fractionally Spaced Equalizer)则采用不低于Nyquist速率的采样速率对输入信号进行采样。例如,若发射的信号具有上升余弦频谱(其跌落因子为)的脉冲组成时,其频谱将扩展到。这一信号在接收机端可用速率 (2-12)采样,然后再通过抽头间隔为的均衡器。例如,若,则T/2间隔的均衡器;若,则得到的是2T/3间隔的均衡器等等。数字实现的分数间隔均衡器抽头间隔一般可表示为,其中M和N为整数,且。在许多应用中,经常使用T/2间隔均衡器。分数间隔均衡器的频率响应为: (2-13)式中,。均衡后的频谱为: (2-14)由于,所以式(14)可表示成: (2-15)可以看出,分数间隔均衡器避免了因欠采样引起的频谱混叠,因此可用于补偿接收信号中的信道畸变。这正是分数间隔均衡器对输入信号用速率进行采样的目的所在。在输出端,分数间隔均衡器和波特间隔均衡器一样,也是用码率对均衡器输出信号采样。由式(13)易知,分数间隔均衡器输出信号的频谱由下式给出: (2-16)综上所述,最数佳分间隔均衡器等价于匹配滤波器后接波特间隔均衡器的最佳线性接收机。2.6 非线性均衡器 当信道是严重的符号间干扰信道时,线性均衡器可以用非线性均衡器来代替。对于信道通带内的频率特性存在零点的情况下,线性均衡器的能力有限。为了补偿失真,线性均衡器在频率零点附近补偿了许多增益,因此在那些频率点处增加了噪声。非线性均衡技术对严重符号间干扰可以提供相当好的补偿。在线性均衡技术的基础上发展了三种非常有效的非线性均衡方法17:(1)判决反馈均衡器(Decision Feedback Equalization,DFE)(2)最大似然信号检测(3)最大似然序列估计(Maximum Likelihood Sequence Estimation,MLSE)2.6.1 判决反馈均衡器 判决反馈均衡器具有与线性均衡器同样的计算复杂性,它将取样判决后的信号反馈回来以抵消后尾干扰。最简化的自适应判决反馈均衡器含有两个横向滤波器:前向滤波器和反向滤波器。它用判决反馈输出信号组成一个延迟线,用一部分抽头系数加权求和后送回输出端求和,以抵消码间干扰。显然,这种反馈使均衡器具有无限冲激响应,从而使它对信道的幅度畸变有良好的补偿作用,同时它对信道的幅度畸变也有较好的补偿作用18。 判决反馈均衡器的基本思路是:一旦一个信息符号被检测并被判定以后,就可在后续符号之前预测并消除由这个信息符号带来的码间干扰。判决反馈均衡器可由横向滤波器实现,也可以由格型滤波器实现。横向滤波器由一个前馈滤波器(FFF)和一个后馈滤波器(FBF)实现,如图2-5所示。判决检测器反馈横式检测器前馈横向滤波器输入输出 2-5 判决反馈均衡器结构FBF由检测器的输出驱动,其系数可以被调整以消除先前符号对当前符号的干扰。两个滤波器的和构成均衡器的输出。均衡器的输出被表示为: (2-17)这里,是时刻先前检测的符号,是反馈滤波器的抽头系数,是反馈滤波器的抽头个数。注意到前馈滤波器只用到了非因果的抽头系数,这是因为反馈滤波器部分可以去除所有由于先前符号所引起的码间干扰。若有深衰落,则判决反馈均衡器的误差将大大小于线性均衡器。所以,判决反馈均衡器适合于有严重失真的无线信道。DFE算法是数字蜂窝移动通信中常用的一种算法,其性能较好,适用于有严重失真的无线信道,且较容易实施。但是,DFE的重要缺点是容易造成错误的扩散。若以前的判决出现错误,再将错误结果反馈给当前的判决,将不可避免地造成错误的扩散传播。2.6.2 最大似然序列估计(MLSE)均衡器 前面描述的基于最小均方误差准则的线性均衡器,适用于当信道不产生任何幅度失真时的最小信号差错概率准则,这是均衡器用在移动通信中的理想情况。基于MSE的均衡器的这种局限性让研究者继续研究最佳或近似最佳的非线性结构。这种均衡器利用传统的最大似然接收机结构。在算法中应用一个信道响应脉冲,MLSE测试所有可能数据序列(而不是仅仅把接收的信号解码),并以最大概率输出信息序列。MLSE通常需要很大的计算量,尤其是当信道的延时比较大的时候计算量更大。应用MLSE最早是由Forney提出,他提出一种基于MLSE估计的结构并应用维特比算法于其中。这种算法被认为是一种有记忆噪声的有限状态马尔可夫过程状态变量的MLSE。最近己经成功地应用在无线移动通信中。延迟信道估计器MLSE匹配滤波器估计序列2-6含有自适应均衡器的MLSE结构 图格式要一致8示出了基于DFE的MLSE接收机的框图。MLSE是在最小化序列差错概率意义上的最佳接收机。MLSE需要知道信道特性来计算判决门限。MLSE还需要知道噪声和信号的统计分配。这样,噪声的可能分配决定了接收信号最佳解调门限,然而MLSE和信道估计依赖于离散(非线性)采样。2.7 自适应均衡算法由于自适应均衡器是对未知的时变信道做出补偿,因而它需要有特别的算法来更新均衡器的系数。在自适应均衡器中,可使用不同的自适应算法。这些算法根据某种准则对算法进行调整。两种常用的准则为最大失真准则和最小均方误差准则。这些准则描述了自适应算法使用的误差估计函数的类型。误差估计函数是通过比较算法的实际输出值和期望输出值而得到的。2.7.1 自适应均衡算法简介不要单独作为一节吧?或者直接跟在上一段后面? 早在20世纪60、70年代,在信息处理领域中的最优化方法与技术得到了发展。在70年代中期,Widrow等推出并完善了LMS算法,80年代人们又从减小输入信号组合的相关性(提高信息量)及将Kalman在最佳检测中的结论转化到自适应优化等角度,修正了LMS算法,使处理的速度加快。同时人们建立了更完善地利用输入信息的处理优化准则及相应算法,即RLS算法。这类算法的共同特点是收敛迅速,能应付条件的快速时变。80年代中后期及90年代初期人们继续设法克服横向RLS算法等出现的新问题,如计算误差积累致使算法发散等,使快速自适应信息处理达到实用阶段。最近十多年来,设计快速收敛的自适应滤波实时修正算法已成为重要的研究课题,用于通信系统的各种自适应均衡器,快速收敛是重要的。因此产生了一些新算法。在接收信号总的频谱形状己知的情况下,正交LMS算法能够在部分响应系统中达到快速收敛。当干扰信号和输入信号或信道特性都不能控制时,一般要用递归最小二乘RLS算法的快速跟踪的自适应滤波。2.7.2 衡量自适应算法性能的准则 评价自适应均衡算法的优劣,可以从下面5个方面入手:(1)收敛速度(在训练阶段)(2)误码特性(3)跟踪时变信道能力(4)运算复杂度(5)容错性。(1)收敛速度为保证收敛,均衡器在启动时,先发送一短的已知码序列,所发送的码序列为训练码。在一些串行数据通信体制中,发送的数据序列有20%左右的码元用于均衡器的训练,即1/5的频带没有得到充分利用。因此在通信质量可以忍受的前提下,也许人们更关心频带的利用率问题。如果均衡器有较快的收敛速度,就可以用较少的码元完成均衡器的训练,从而提高频带的利用率。(2)误码特性在不增加算法的复杂度和收敛速度相当的前提下,降低均衡器的比特误码率(Bit Error Rate,简称BER)具有重要意义。对传统均衡器来说,LE复杂度最小,但其误码率最高;而MLSE均衡器的计算复杂度最大,但对应的误码性能却是最佳的。DFE的计算复杂度与LE相当,性能比LE好,但是与MLSE相比性能较差。(3)跟踪时变信道能力算法跟踪时变信道能力,主要体现在非稳态环境(或时变系统)及深度衰落的情况下算法能否收敛和稳定的问题。算法收敛的速度受其原理和参数制约;算法的不稳定性则多是由于有限字长引起的截断误差积累所致。(4)运算复杂度许多均衡算法尽管有较快的收敛速度,但计算量太大,因而其硬件和软件的开销很大,使之实际应用受到很大的限制。因此在误码性能相当的前提下,研究降低均衡算法的计算复杂度,具有十分重要的意义。(5)容错性当均衡器局部损伤时,误码性能是否发生很大变化,即均衡器是否有较强的容错能力,这对硬件系统有重大意义。2.7.3 自适应均衡算法的分类 常见的自适应算法大致分为三类:(1)线性均衡算法(简称LE)。这种算法采用抽头系数可变的线性滤波器来消除ISI。一般有横向结构、格型结构,算法有基于最小均方误差的LMS算法、基于递归最小二乘法的RLS算法等。(2)判决反馈均衡算法(简称DFE)。它利用己判决的信号来消除由这些信号形成的ISI。DFE也有横向结构和格型结构,采用的算法也有LMS算法或RLS算法。(3)最大似然序列估计算法(简称MLSE)。它是基于序列检测中的最大似然准则,采用Viterbi算法。在本论文中,主要介绍常见的自适应均衡算法,即LMS算法和递归最小二乘(RLS)算法。2.7.4 LMS算法要清除LMS算法的由来,我们先了解一下最陡下降法的迭代公式: (2-18)其中,为滤波器权值矢量,为更新后滤波器权值矢量,为步长值,称为滤波器的代价函数(Cost Function),为的梯度。因为最陡下降法的主要限制是它需要准确测得每次迭代的梯度矢量,这妨碍了它的应用,为了减小计算复杂度和缩短自适应收敛时间,许多学者对这方面的新算法进行研究,1960年,美国斯坦福大学的Widrow等提出了最小均方(LMS)算法。LMS算法的核心思想是使用估计误差平方的即时估计代替均方误差,即,LMS迭代公式为: (2-19)由于本设计的自适应均衡器将采用LMS算法,关于LMS算法的介绍在第三章中详细介绍。2.7.5 RLS算法设均衡器的输入序列矢量为: (2-20) 均衡器的加权矢量(或称系数矢量)为 (2-21)则均衡器的输出可表示为 (2-22)式中,为横向滤波器的长度。设为系统的期望响应信号,也称为训练信号,为滤波器的输出相对于的误差,即 (2-23)取滤波器的输出与期望响应之间的均方误差为代价函数,即 (2-24)RLS算法的关键是用二乘方的时间平均的最小化准则取代LMS算法的最小均方准则,即要对初始时刻到当前时刻的所有误差的平方进行平均,并使其最小化。其代价函数定义为 (2-25)式中,加权因子01称为遗忘因子(Forgetting Factor),其作用是对离n时刻越近的数据加越大的权重,而对离n时刻越远的数据加越小的权重,即对各个时刻的误差具有一定的遗忘作用。根据最小化准则,对代价函数求导并令其为零,得 (2-26)将式(24)代入上式得 (2-27)令 ,代入上式得 (2-28)式(29)表明,按最小二乘方准则得到的解仍为维纳解。可以写出和的递推估计公式为: (2-29) (2-30)对式(30)使用矩阵求逆引理 ,可得 (2-31)式中,为Kalman增益矢量。将式(31)和式(32)代入式(29),得 (2-32)令,得到RLS算法的迭代公式为 (2-33)2.7.6 LMS算法与RLS算法的性能比较表1给出了LMS算法与RLS算法的性能比较。由表1可知,LMS算法和RLS算法各有特点。前者运算复杂度低,编程简单,但收敛速度慢,跟踪信道变化能力差;后者收敛速度快,跟踪信道变化能力强,但运算复杂度高。因为所要设计的算法要求简单,所以选择LMS算法。 2-6 LMS算法与RLS算法的性能比较序号算法名称乘法运算次数优 点缺 点1LMS算法运算复杂度低,易于实现收敛慢,跟踪能力差2RLS算法收敛快,跟踪能力强运算复杂度高 这里结束的有点突然?加点比较后的结论呗? 第三章 自适应均衡算法的设计与仿真 本章将讨论自适应算法的设计与仿真。当数据以低于2400比特每秒的速度传输时,ISl相对较小,在调制解调器的运行中没有问题19。对于高于2400比特每秒高速通信来说,在调制解调器中需要均衡器来校正信道失真。由于信道特性总的来说是未知的,且是时变的,因此需要用自适应算法进行自适应均衡。自适应算法的设计主要分为两个步骤,首先选择均衡器的类型,然后根据选择均衡器的类型设计均衡器的算法。本课题均衡器的结构选择横向滤波器,算法形式选用LMS算法。3.1 横向滤波器的选择3-1横向滤波器的结构图本课题采用的自适应均衡器是有限长抽头式横向滤波器,其结构框图3-1所示。 设横向滤波器的输入序列矢量为 (3-1)滤波器的加权矢量(或称系数矢量)为 (3-2)则横向滤波器的输出可表示为 (3-3)式中,为横向滤波器的长度。3.2 算法迭代公式的推导 本设计采用的算法是LMS算法。以下为该算法的推导过程:设为系统的期望响应信号,也称为训练信号,为滤波器的输出相对于的误差,即 (3-4)取滤波器的输出与期望响应之间的均方误差为代价函数,即 (3-5)定义为均衡器输入序列的自相关矩阵,是一个阶方阵;为互相关矩阵。于是,式(39)可表示为 (3-6)根据最小均方误差准则,使式(40)对的梯度(即偏导)为零,即 (3-7)则可得到的最佳值应满足方程 (3-8)式中,称为横向滤波器的维纳(Wiener)解。LMS算法的核心思想是用平方误差代替均方误差,即式(41)变为 (3-9)由最陡下降法得 (3-10)将式(43)代入式(44)得 (3-11)式中,为步长因子。 3.3 计算机仿真 3.3.1 LMS算法的算法流程上一小节分析了LMS算法的推导过程。本小节从计算机实现的角度出发,分析LMS均衡算法的流程。首先,以流程图的形式分析LMS算法的运算过程。初始化读入信号读入期望信号计算均衡器输出计算误差调整权系数是否超过循环次数No输入信号向量期望信号均衡算法输出终止循环Yes 3-2LMS算法流程图由图10格式要一致。文中好几处这样的低级错误。包括公式的标注也有类似错误可以看出,LMS算法有两个数据输入口和一个数据输出口。在实际应用中,为了观察均衡器收敛的情况,往往需要再增加一个数据输出,即由误差信号导出的均方误差值。通过对均方误差随迭代次数的变化情况的观察以了解均衡器是否收敛及其收敛后稳态误差的大小。由以上的叙述可知,线性自适应均衡器可以采用多种工作万式,因此,将以上基本LMS算法应用于这几种均衡模式即可得到工作在不同状态下的LMS线性均衡算法。3.3.2 LMS算法及其应用本实验通过一个二阶自回归过程来研究实时数据集平均对LMS算法的影响,AR模型的差分方程为:u(n)+a1x(n-1)+a2x(n-2)=v(n) 其中a1=1.558;a2=-0.81;v(n)是零均值方差为的白噪声;图1这个图1是哪个?为模型及其二阶自适应线性预测模型,根据LMS算法的基本步骤可以写出该算法的matlab程序如下: 3-3AR模型及二阶自适应线性预测器clearclose allclca1=1.588;a2=-0.81;u=0.001;N=1024;G=100;e=zeros(1,N);w1=zeros(1,N+1);w2=zeros(1,N+1);y=zeros(1,N);ee=zeros(1,N);%每个点的误差平方ep=zeros(1,N);%每个点的误差平方累积eq=zeros(1,N);%
展开阅读全文