点定位算法

2024-07-28

点定位算法(精选8篇)

点定位算法 篇1

0 引言

加速度计是惯性导航系统中线加速度测量元件,由于结构原因,其零件装配十分困难,而零件装配的精度直接影响加速度计的性能。基于机器视觉的精密装配技术具有装配精度高、稳定性好等优点[1,2,3,4],远优于传统的手工装配方法。该技术通过采集、处理待装配零件的图像而获得其尺寸特征和位置,并以此来指导装配,其中,图像边缘检测是该技术中的基础和关键。

图像边缘处灰度值变化剧烈,传统边缘检测算子通过微分检测图像中的边缘,如Canny算子、Robert算子等[5,6],它们运算简单,但定位精度较差,难以满足对加速度计零件精密测量的需要。为提高测量精度同时兼顾系统成本,亚像素算法成为一个重要手段[7,8,9],在国内外已有许多研究。高斯拟合亚像素算法具有定位精度高、稳定性好等优点,传统高斯拟合亚像素算法先进行粗定位,将边缘定位到一个像素的精度,即像素级精度,然后利用边缘处局部像素点的灰度信息获得亚像素边缘位置。文献[7]将此算法应用于检测刀具等领域,这类应用的图像质量较好,对比度强,粗定位能够达到像素级精度,传统算法能较好地获得亚像素边缘位置。但处理的零件图像质量较差时,由于粗定位算法依赖图像质量且对噪声敏感,易产生伪边缘,粗定位往往达不到像素级精度,若直接使用传统算法,常常会出现因粗定位偏差而导致亚像素定位不正确的情况。文献[11]对传统算法进行了改进,根据粗定位边缘点的梯度方向来选择不同的拟合点进行高斯拟合,提高了边缘定位精度。文献[15]对算法处理后的亚像素边缘点进行曲率滤波,直接滤除了亚像素定位不正确的伪边缘点,但在一定程度上造成了图像边缘信息的丢失,仍未解决图像因粗定位不准而导致的亚像素定位不正确的问题。

本文提出的亚像素定位算法,继承了先前高斯拟合亚像素定位算法优点的同时,也克服了先前算法因粗定位偏差而导致亚像素定位不正确的缺点。算法通过在粗定位边缘点梯度方向滑动选取当前边缘点,根据当前边缘点选择合适的拟合点进行曲线拟合,修正粗定位误差,搜索离粗定位边缘点最近的亚像素边缘点位置。实验表明,改进算法具有更高的精度和实用性,更适用于加速度计零部件的边缘检测。

1 加速度计零部件的亚像素边缘检测

加速度计的零部件如图1所示。其中,零件的圆心位置是视觉装配中零件定位的重要参数。

加速度计零件具有精度高,表面特征多且特征相互交接等特点。在实际装配中直接使用先前的高斯拟合亚像素算法处理零件图像时会出现很多的伪边缘点。通过单步运行程序,逐个查看粗定位边缘点经算法处理后的拟合曲线,如图2所示。图中空心圆点为粗定位边缘点,P'点为拟合得到的亚像素边缘点。当粗定位边缘点达到像素级精度时,其拟合曲线的形状近似为高斯曲线,如图2(a)所示。由于实际加速度计零部件图像纹理复杂、对比度较差、含有噪声等,粗定位往往达不到像素级精度,拟合的曲线常常还会出现如图2(b)-(d)所示的不符合要求的二次曲线。由于粗定位不准,这些粗定位边缘点及其邻近点的拟合曲线并不符合图像边缘处灰度值变化规律。因此,先前算法在此情况下不仅得不到真正的亚像素边缘点,而且还会引入误差更大的伪边缘点。针对上述情况,本文通过在粗定位边缘点梯度方向滑动当前边缘点,动态选取拟合点进行曲线拟合,很好地解决了上述问题。

2 改进高斯拟合亚像素算法

本文的边缘定位算法主要由四部分组成:图像预处理、图像分割、粗边缘定位、亚像素级边缘定位。其中,粗定位采用canny算子,亚像素边缘定位采用本文算法,它分为两部分:拟合点的确定及其灰度差值的求取;滑动边缘点的高斯曲线拟合算法。

2.1 拟合点的确定及其灰度差值的求取

通过粗定位算子获取图像的边缘点集,设P0为粗定位边缘点集中的任意一点,以P0中心,沿着其梯度方向,两边各取6个邻近点,如图3所示,粗定位边缘点P0及其邻近点A-L为拟合点。任意两个相邻点之间的距离为l个像素[11],l与P0点的梯度方向有关。若P0点的梯度方向与水平线夹角θ小于45°,则任意两相邻点在X轴方向的距离为1个像素,即l=1/cos(θ)像素,否则,任意两相邻点在Y轴方向的距离为1个像素,即l=1/sin(θ)像素。

数字图像的像素可以看成正方形的小网格,每个正方形网格的中心表示整像素点,图3中拟合点A~L并非都是整像素点,因此需要对拟合点的灰度值进行灰度线性插值处理。设P0点的坐标为(x0,y0),若夹角θ小于45°,则A点的横坐标为x1=x0+1,求出A点最相近的两个整像素点的灰度值,即将图3中两个星号表示的像素的灰度值进行线性插值,得到A点的灰度值为:

其中,λ=y0-[y0],f(x1,y1)为A点的灰度值,[y0]为y0的整数部分。若夹角θ大于45°,则A点的纵坐标y1=y0+1,根据A点最相近的两个整像素点的灰度值进行线性插值,得到A点的灰度值为:

其中,λ=x0-[x0],f(x1,y1)为A点的灰度值,[x0]为x0的整数部分。

根据上述方法依次类推可以确定B-L点的灰度值。为减少误差和提高差分的严密性,本文用后向差分和前向差分的平均值作为拟合点的灰度差值。设f(x0,y0)为P0点的灰度值,f(x-1,y-1)为C点的灰度值,则P0点灰度差值计算为:

依次类推可以计算出图3中A、B、E、G、I的灰度差值为f1、f2、f3、f4、f5;C、D、F、H、J的灰度差值为f-1、f-2、f-3、f-4、f-5。

2.2 滑动边缘点的高斯曲线拟合算法

根据传统高斯拟合亚像素检测原理,图像边缘处灰度值变化呈高斯分布,一维高斯曲线的表达式为:

其中,μ为函数的均值,σ为标准差。

直接对式(4)拟合难度很大,为降低拟合难度,简化计算过程,对式(4)两边取对数,如下式[12]:

经对数变换后,式(5)为一个关于u的二次曲线,设二次曲线形式为:y*=Au2+Bu+C,可以通过拟合此二次曲线,求出它的顶点位置,就可以获得亚像素边缘点位置。根据方孔径采样定理,像素的灰度差值为:

取-5≤m≤5,m为整数,代入式(6),则图3中各拟合点的灰度差值为:

其中A、B、C为二次曲线中需要求解的参数。

设向量:

式(7)各式左边拟合点的灰度差值构成向量U:

式(7)各式右边常数构成系数矩阵V:

高斯拟合亚像素算法通常采用5点拟合二次曲线,由前面所述,在粗定位达不到像素级精度时,粗定位边缘点及其邻近四点的拟合曲线不能反映边缘处灰度值变化规律,得不到真正的亚像素边缘点。因此,当前边缘点需要在粗定位边缘点附近滑动,多次拟合曲线来修正粗定位误差。则实际每次参与拟合的点的灰度差值构成的向量设为Us,系数矩阵设为Vs:

其中,n表示当前边缘点滑动的次数,取值范围为[1,3],(-n)表示边缘点滑动方向与(+n)相反,V(4+n,:)表示取矩阵V中第4+n行元素,根据式(9),用最小二乘法计算可得:

由式(10)可以求得式(8)中A、B、C的值,设亚像素边缘点与粗定位边缘点的距离为ug,ug=-B/2A。对于粗定位边缘点P0(x0,y0),其对应的亚像素边缘点位置为:

3 滑动边缘点的高斯拟合亚像素算法实现

由上文可知,所有拟合点的灰度差值构成向量U,Us中含有滑动过程中实际参与的拟合点,矩阵Vs包含实际参与拟合点对应的系数矩阵。

拟合曲线中最高点P'与粗定位边缘点P0的距离为ug,设P'与当前边缘点的距离为ug1,根据图像边缘处灰度值变化表征为高斯分布,当前边缘点及其邻近四点的拟合结果若满足|ug1|<1个像素,拟合曲线开口向下,且拟合点满足Us(1)<Us(2),Us(1)<Us(3),Us(3)>Us(5),Us(4)>Us(5)条件,则参与拟合的当前边缘点就是像素级边缘点,P'就为亚像素边缘点。

首先以粗定位边缘点P0作为当前边缘点,即n=0,D、C、P0、A、B点参与拟合,运用MTLAB实现代码如下:

此时,当前边缘点就是粗定位边缘点,有ug1=ug,若拟合曲线满足上述条件,则拟合曲线服从高斯分布,且粗定位边缘点P0达到了像素级精度,边缘点滑动结束,实现效果如图4(a)所示,当前边缘点无需滑动就找到了亚像素边缘点P'。

若n=0时,拟合曲线不满足上述条件,如图4(b)曲线(1)所示。当前边缘点需要在粗定位边缘点附近进行滑动,n=1时,当前边缘点在粗定位边缘点梯度方向和反方向各滑动一次,即当前边缘点滑动到A点,C、P0、A、B、E点参与拟合和当前边缘点滑动到C点,F、D、C、P0、A点参与拟合。n的最大值为3,对于超过滑动范围仍未找到亚像素点的粗定位边缘点将视为伪边缘点丢弃。

MATLAB实现代码如下:

为提高精度,当前边缘点正反向滑动后再给ug赋值,程序中定义了两个标志,biaozhi1和biaozhi2,当两个标志同时为1时,可以选择离粗定位最近的顶点作为亚像素点。实现效果如图4(b)所示,当前边缘点向右滑动了一次进行拟合,如图4(b)中曲线(2);向左滑动了一次进行拟合,如图4(b)中曲线(3),明显曲线(2)符合上述条件,边缘点滑动结束。算法通过滑动当前边缘点重新拟合曲线,对粗定位误差进行了修正。

4 实验验证与分析

4.1 算法的有效性和精度实验

为验证本算法的精度,计算机生成理想圆图像对算法进行检验[13],图像大小为600×600像素,圆心位置(200,300)像素,半径100像素,如图5(a)所示。

为尽量模拟实际成像过程,对理想图像进行了滤波平滑,并加入噪声模拟现实环境等因素的影响,噪声为均值0,方差0.01的高斯噪声。实验中对理想圆分别用文献[11]中的高斯拟合亚像素定位算法与本文算法各运行50次,并绘制两种算法在X、Y轴的定位误差曲线。如图5(b)、(c)所示,本文改进算法在X、Y轴的定位精度都优于0.012个像素,文献[11]算法的定位精度明显偏大。仿真实验表明,本文改进算法具有更高的定位精度。

图像边缘粗定位依赖图像质量,影响粗定位的因素很多:噪声、对比度、边缘陡峭程度、宽度等[14]。很多因素都是主观的评价,无法确切定量的模拟,本文也无法一一验证,因此,本文只讨论在图像其他特征参数理想的情况下,噪声影响图像质量时本文改进算法的应用效果。

在图5(a)的理想图像中添加不同性噪比的高斯噪声,并分别用文献[11]算法与本文算法处理并比较,处理后如表1所示。噪声对图像边缘定位的影响是一个综合的过程,除了影响粗定位精度外,还影响其他方面,如图像边缘处灰度值变化等。因此,两种算法的定位精度总体上随图像信噪比的升高而升高,但与文献[11]算法相比,本文改进算法在不同性噪比的图像中定位偏差的变化量很小,定位精度基本稳定,算法通过滑动当前边缘点,能够修正因噪声引起的粗定位偏差。

4.2 加速度计零部件图像的定位测量实验

本文设计了一套视觉装配系统用于装配加速度计的零部件。系统采用500万Basler工业黑白CCD相机,分辨率为2050×2448像素,采用双远心镜头,双光源:蓝色环形光源,蓝色点光源,系统如图6所示。

将图1中的加速度计零件放于工作台上,并采集零件图像,如图7(a)所示,零件图像较复杂,含有多个凹槽、缺口等特征,多个特征相互交接,图像对比度也较差且伴有噪声。首先用文献[11]算法对零件进行处理,处理结果的局部放大如图7(b)所示。许多亚像素边缘点远偏离粗定位边缘点,产生了误差很大的伪边缘点,若按文献[15]的方法,将偏离超过一个像素的亚像素边缘点滤除,则会导致图像边缘信息的大量丢失。由于粗定位依赖图像质量,在较差的图像质量下粗定位达不到像素级精度,使用先前高斯拟合亚像素算法会产生较多的伪边缘点。

用本文算法对零件边缘进行亚像素检测,检测结果如图7(c)、(d)所示。(d)为(c)的局部放大,(d)中黑色实点为经过一次曲线拟合得到的亚像素边缘点,空心圆点表示经过多次滑动当前边缘点,修正粗定位误差后得到的亚像素边缘点。实际应用表明,改进算法能够修正粗定位不准而带来的亚像素定位误差,通过滑动当前边缘点在粗定位边缘点附近搜索亚像素边缘点位置,比先前算法更有实用性。

5 结语

本文针对视觉装配系统对加速度零件进行定位时,零件图像因粗定位不准而导致的亚像素定位不正确的问题,提出了一种改进的基于滑动边缘点的高斯拟合亚像素定位算法。算法通过在粗定位边缘点梯度方向前后滑动,选择基于不同当前边缘点的拟合点进行曲线拟合,搜索离粗定位边缘点最近的亚像素边缘点位置。实际应用和仿真实验表明,本算法能够修正粗定位误差导致的亚像素定位偏差,且与已有算法相比具有更高的精度与更好的实用性,更适用于加速度计零部件在视觉装配中的精确定位。

摘要:为满足机器视觉装配过程中对加速度计零部件的精确定位要求,提出一种改进的高斯拟合亚像素边缘定位算法。该算法首先在粗定位边缘点梯度方向选取一系列邻近点。然后以粗定位边缘点为当前边缘点,选取拟合点进行曲线拟合。最后,根据曲线拟合质量动态滑动当前边缘点,重新选取拟合点并进行曲线拟合,通过滑动当前边缘点来搜索亚像素边缘点位置。仿真实验表明,在处理经过平滑加噪后的理想圆时,其定位精度优于0.012个像素。实际应用与模拟实验表明,该算法能够修正图像因粗定位不准而带来的亚像素定位误差,获得离粗定位边缘点最近的亚像素边缘点位置。与先验算法相比,改进算法具有更高的精度和实用性。

关键词:视觉装配,亚像素,边缘检测,滑动边缘点,高斯拟合

点定位算法 篇2

基于北斗双星的被动定位算法研究

针对我国现有北斗双星定位系统主动定位存在的问题,提出了一种被动定位算法.该算法根据两颗同步卫星、用户配备的原子钟、高程设备等获得卫星到用户的.时间及高程信息,首先将北斗系统的工作区域划分为若干网格,定义了费用函数.然后计算各网格的费用,将具有最小费用的网格及邻域作为下一次搜索的区域,再将该子区域进一步网格化后计算费用函数,经过多次迭代后就可将当前搜索的网格中心作为用户所在位置.最后用电子地图对三维搜索算法可行性进行了仿真,仿真考虑了网格划分方法和电离层误差对结果的影响.结果表明,该算法运算速度快,并且具有较高的定位精度,对现有北斗双星主动定位系统是一种可行的改进算法.

作 者:齐欢 陈迎春 夏爽 QI Huan CHEN Yingchun XIA Shuang 作者单位:华中科技大学控制科学与工程系,武汉,430074刊 名:空间科学学报 ISTIC PKU英文刊名:CHINESE JOURNAL OF SPACE SCIENCE年,卷(期):26(6)分类号:V4关键词:北斗双星定位系统 被动定位 搜索算法

点定位算法 篇3

车牌定位是车牌识别与车标识别的基础。车牌定位是计算机视觉与图像处理技术在现代交通系统中的一项重要研究课题。该系统是以机动车辆车牌为特定目标的计算机视觉系统。它从数字摄像设备中获取视频图像数据并自动分析得出图像中的车牌区域。车牌识别模块负责对检测区域进行字符分割并做进一步的判断得出分析字符。随着现代经济发展的需求,汽车牌照自动识别技术已广泛应用于道路监控、智能小区、电子警察和车辆收费管理系统中,应用范围越来越广,应用价值也不断得到提升。

车牌的形状、使用颜色、纹理特征与安装位置等先验知识是车牌定位算法的基础。国内外学者对此进行了广泛的研究。例如,按综合特征实现车牌的快速定位[1],基于字符角点信息的车牌定位方法[3],Hough变换检测车牌周围边框直线[6]、人工神经网络技术[5]、基于遗传算法[8]和小波变换[9]的方法。其中,Hough变换计算量较大当车牌区域变形或图像被污损时,正确率会大幅度降低。人工神经网络[5]需要大量的训练样本为基础,方法的准确性是以训练样本为基础的,推广能力差,不太适用于变化的实时车牌定位。遗传算法[8]可能不会在有效的响应时间内给出准确的定位。小波变换对于车前灯与引擎罩的抗干扰能力较弱。文献[1]通过分析图像取样行的灰度波形实现车牌的定位,但在图像噪声作用下参数阈值难以取舍。文献[3]提出使用角点检测的方法来对车牌进行快速定位。该方法具有正确率高、响应时间快等优点。它的缺点是需要使用两个不同的角点检测阈值分别进行车牌的粗定位和精细定位。阈值的选择凭借主观经验。另外,因为车牌字符相对细小,采集到图像需有较高的分辨率,否则会影响到角点检测的有效性。以上这些方法都是针对灰度图像的处理方法。应用在彩色图像的车牌定位方法较为单一,主要是指颜色分割。文献[2,4]分别提出了彩色空间下车牌定位算法。其中文献[2]提出颜色分割门限的方法实现彩色图像的车牌定位。文献[4]提出使用颜色连贯性约束矩阵结合边界检测实现车牌定位。这两种方法都只适用于视频分辨率较高、图像噪声较小的情况,如果视频数据质量较差,则其性能将会大幅度的下降。

考虑到车牌字符属于印刷字符,字符笔画中蕴含有丰富的角点,且分布密集而规则。在文献[3]的基础上,通过结合颜色连贯性分析加权的方式,本文提出了一种低分辨率图像下的快速车牌检测算法。只需给定一个适中的阈值和颜色分割参数就可以实现车牌的精确定位。算法流程如图1所示。

1 角点特征检测

角点是指图像中线段之间的交叉点或结合点。它包含在图像边缘中,能够充分的反应物体的轮廓特征,并且数量少,信息冗余少,具有较强的可定位性。这些性能对很多图像的处理问题都具有重要的意义。常用的角点计算方法包括Moravec角点检测[10]和Harris角点检测[7]。考虑到图像噪声的影响,本文方法根据图像的灰度信息进行Harris角点检测[7]。

1.1 Moravec角点检测

Moravec角点检测的算法的思想是计算像素窗口在掩膜范围内任意方向上的灰度变化的和的极小值。它使用一个移动窗口,在掩膜范围内,计算窗口内的灰度变化的加权平均值,然后求取不同方向中的最小值。在均匀灰度中,灰度的变化在各个方向上都很小;只有在角点处,每个方向上灰度的变化都较大。Moravec角点计算公式如下:

EW(x,y)=u,vwu,v|f(u+x,v+y)-f(x,y)|2(1)

E(x,y)=minWΜEW(x,y)(2)

式中:EW(x,y)反应点(x,y)在滑动窗口W内的灰度变化值;wu,v表示窗口内部点(u,v)处的加权值;f(x,y)为像素点的灰度值。定义整幅图像中的角点最大值为Tmax,比例阈值为p,如果E(x,y)≥Tmax×p,则认为是候选角点。

1.2 Harris角点检测

Harris[7]在Moravec算法的基础上进行了改进,他利用泰勒级数展开法来计算角点,同时引入了高斯滤波,增强了抗干扰性。

fxfy分别表示像素点(x,y)在水平方向和垂直方向的导数。其中:

fxf(x,y)⨂[-1,0,1],fyf(x,y)⨂[-1,0,1]T (3)

符号⨂表示卷积。

由式(1)利用泰勒级数展开可得:

在小的掩膜范围内式(4)可近似表示为:

其中

表示方差为∂大小为W的高斯掩膜。

矩阵M反映的是图像对应像素点的差分值。利用矩阵的旋转不变性,通过求取矩阵的特征值λ1、λ2,令λ=min(λ1,λ2)。定义整幅图像中的角点最大值为λmax,比例阈值为p,如果E(x,y)≥λmax×p,则认为是候选角点。

1.3 最小间距角点检测算法

在实际问题的分析应用中,无论是Moravec角点检测算法还是Harris[7]角点检测算法得到的角点位置都是以邻域的形式成批出现的。为了对邻域内的冗余角点进行有效的剔除,需要定义角点的最小间距。通过角点间距可以获得更具有代表性的角点位置,并减少角点数量。因为在后续问题的分析中涉及到了角点位置的排序。定义适当的角点间距(如0.2倍的字符高度),就能在不损失有效信息特征的情况下减少角点数量,并加快问题分析的速度。

设Moravec角点检测算法或Harris[7]角点检测算法得到的候选角点集合为D={(xi,yi,λi)|i=1,2,…,l},其中(xi,yi)表示角点在图像中的位置,λi表示角点强度,l表示角点数量。最小间距角点检测算法步骤如下:

(1) 选择候选角点集D中角点强度最大的角点(xk,yk,λmax)。

(2) 将角点(xk,yk,λmax)添加到具有最小角点间距的角点集合R中。

(3) 依次计算候选角点集D中角点(xi,yi,λi)与(xk,yk,λmax)的距离,如果距离小于指定的最小间距s。那么将角点(xi,yi,λi)从候选角点集D删除。

(4) 如果候选角点集D为空,则返回集合R作为具有最小间距的角点集合。否则转到步骤(1)。

2 颜色连贯性分析与角点加权

文献[4]中提到了使用颜色连贯性约束条件下的车牌定位方法。该方法充分利用了车牌使用颜色的固定连贯性形式,实现方法简单直观。颜色连贯性约束矩阵如表1所示。可以动态地向颜色连贯性约束矩阵中添加颜色组合使其具有一般意义。

颜色分割过程中同时考虑3×3掩膜内颜色情况,如果满足颜色连贯性约束矩阵中的条件则将该点确定为分割结果。这种处理方法将所有可能的车牌颜色组合作为一个整体进行考虑。在图像分辨率较高时,该方法表现性能较好。但当图像分辨率较低时,颜色分割结果将会因为图像噪声而产生极大的偏差。图2分别显示了原始彩色图像、及其在HSV颜色模式下的蓝色分割和白色分割结果。考虑到图像噪声的干扰,颜色分割时使用较为宽松的分割条件。白色色调H范围0-360,饱和度S范围0-0.2,灰度V范围20-255。蓝色色调H范围0-360,饱和度S范围0.1-1,灰度V范围20-255。

由图2可以看出如果图像存在噪声,即使使用单一的颜色,颜色连贯性约束同样也不好准确地定位车牌位置。如果将颜色连贯性分割作为掩膜计算角点,那么其中主要的干扰源是车头引擎罩和车头前灯。因为车头引擎罩和车前灯同样具有角点。在这种情况下,按照文献[3]无法仅从角点数量上得出车牌的检测位置。本文提出使用颜色加权的方式给每个角点辅以权重。权重的大小表示对应位置上车牌背景颜色分量的强度。如图1所示的蓝底白字车牌,在RGB图像中可以直接使用B颜色通道的值为加权值。如果背景色为白色或黑色则直接使用灰度作为加权值。在更一般的情况下,通过使用颜色分量的变换获得对应车牌背景色的强度。

变换过程如下:

(1) 在HSV颜色模式中红、绿、蓝的色调分别是0、120、240。输入RGB图像,令R、G、B分别表示红、绿、蓝三色通道图。

(2) 如果车牌的背景色为白色,对应的颜色加权图W为图像的灰度图。进入步骤(6)。

(3) 如果车牌的背景色为黑色,对应的颜色加权图W为图像的灰度值图的反向图。进入步骤(6)。

(4) 定义车牌背景色的色调为θ,由其组成的三原色的色调分别为θθ+120、θ+240。对于原始图像中的每一个像素,如果|θ-0|<90或者|θ-360|<90,则红色通道在车牌背景色下的投影值Dθr为cos|θ-0|×R(x,y)或cos|θ-360|×R(x,y),否则为0。类似地计算得出蓝色、绿色通道在车牌背景色下的投影DθbDθg。最后得出色调θ的投影值Dθ=Dθr+Dθg+Dθb。类似的计算得出色调θ+120和θ+240的投影值Dθ+120和Dθ+240。

(5) 函数max(Dθ+120,Dθ+240)返回两个颜色通道图中相同位置上的较大者。令W=Dθ-max(Dθ+120,Dθ+240)为车牌背景色权值。

(6) 最后,按照W的最大值和最小值进行归一化操作获得最终的加权图。

权值图W反映车牌背景色的强弱。按照第1节中介绍的角点计算方法,在每一个角点的位置上都可以获得相关的权值。在车前灯与车头引擎罩位置上获得的角点,其权值相对于车牌位置获得的角点要低。本文综合考虑角点数量和权值大小来计算得出车牌的位置。

3 车牌定位

按上文中介绍的Harris角点检测算法和最小角点间距过滤方法可以获得角点位置。然后通过结合权值来实现车牌的定位。首先,需要车牌的先验知识。这包括车牌的宽度界限[wmin,wmax]和高度界限[hmin,hmax]。按照角点的位置实现对候选车牌的定位。选择标准包括候选区域角点的数量与候选区域角点位置的颜色加权值。车牌定位算法如下:

(1) 令角点为(Cxi,Cyi),其中i=1,2,…,k;k表示角点数量。开始对角点的y方向进行排序。排序后Cy1<Cy2<…<Cyki=1,n表示检测区域中的最小角点数量与字符个数相关,变量p=k,最优候选区域角点加权值W=0。

(2) 从排序后的第i个角点开始,如果Cyp-Cyi∈[hmin,hmax]∩Cxp-Cxi∈[wmin,wmax],进入第(3)步,否则令p=p-1。如果pi+n,进入步骤(2),否则令i=i+1。如果i>k返回角点加权最大的候选区域,否则进入步骤(2)。

(3) 用临时数组变量(Cxj,Cyj)保存序号在ip之间的角点,并对这一变量按照x方向进行排序。排序后Cx1<Cx2<…。如果其中存在两个点Cxq-Cxt∈[wmin,wmax]∩q-t>N。则计算序号在tq之间的角点位置的颜色加权值的和Wnew。如果Wnew>W,令W=Wnew并更新候选矩形区域的位置,上边线位置为Cyi,下边线位置为Cyp,左边线位置为Cxi,右边线位置为Cxp。最后,令i=i+1如果i>k,返回角点加权最大的候选区域。否则进入步骤(2)。

因图像可能的遮挡和一些平滑处理后的细节丢失,使得候选区域小于车牌区域,这是需要对车牌检测区域进行扩展。扩展的大小根据车牌的定义,车牌汉字部分可能因轮廓不清晰无法得出角点。在检测过程中可能被遗漏。因此,车牌区域的扩展保证将汉字区域纳入。根据车牌大小比例向水平方向扩展1个字符宽度。最后得到最终的检测区域。图3显示的是图2的车牌检测结果,其中标示了角点和检测位置。

4 实验结果

实验数据是自然光下低分辨率的视频图像,图像尺寸320×240,数量为70。实验计算的配置为:CPU Intel i5 2.67 GHz,RAM 2.3 GB。开发环境为:Windows 7,Visual Studio 2008。本文算法的正确检测率为99%。试验参数为:角点检测阈值0.001。颜色分割参数,白色色调H范围0-360,饱和度S范围0-0.2,灰度V范围20-255。蓝色色调H范围0-360,饱和度S范围0.1-1,灰度V范围20-255。车牌高度界限15-35,车牌宽度界限85-100。最小角点间距4像素,约为车牌字体高度的1/5。检测结果如图4所示,可以看出车牌区域的角点丰富,分布密集,能够反映车牌位置;而其他区域的角点稀少,且分布不均或过度集中。车灯位置和引擎罩位置的角点过于密集但由于其分布和权值都不符合车牌的特性因此在检测过程中会被排除。另外,由参数的设置可以看出白色和蓝色的定义范围都比较宽松,这是由视频图像的分辨限制而定义的。但将两者联合起来就可以形成一个较为严格的分割条件。基于颜色连贯性的区域分割减少了车牌的搜索范围,在角点计算上极大地减少了时间。角点间距和检测阈值直接控制检测角点的数量。即使在小阈值下,角点数量达到了100。车牌定位的排序算法在车牌大小和区域最小角点数量的限制下依然可以实现快速的车牌定位。

相较于其他方法如文献[3]中提到的角点车牌定位算法、文献[1,4]提到的颜色分割车牌定位算法。在低分辨率图像下,因图像噪声的干扰,颜色分割无法得出车牌的位置。在文献[3]中,角点阈值的选择没有统一的标准。阈值过大将无法在车牌区域得出角点。阈值过小,算法的时间复杂度会增加,甚至可能在车灯和引擎罩位置上得到错误的检测区域。它们都不能直接应用在低分辨率图像上。表2显示的是低分辨率实验图像经中值滤波后的对比试验结果。

本文结合了这些算法的优点。先使用颜色分割减少分析区域,然后直接使用角点分析算法获得车牌的检测结果。在角点计算的过程中提出使用最小角点间距配合小比例阈值控制角点数量并极大的减少排序所需的时间。由此获得的角点可以正确地反应出车牌位置。通过设置车牌的尺寸和区域内的最小角点数量,可以在短时间内获得精确的车牌检测位置。

5 结 语

纹理特征和颜色特征都是识别车牌区域的关键。本文提出的车牌检测算法,首先使用颜色连贯性分割获得初步的待检测区域,然后使用角点分析和排序进行车牌位置的快速定位。需要考虑的定位角点数量是源图像像素点数量的百分之一甚至更少。本文算法在角点阈值上没有特殊要求。通过配合最小角点间距和车牌尺寸可以直接定义小的角点检测阈值。另外,本文算法的时间复杂度低于文献[3]中的角点定位算法。然而,本文算法也存在缺陷。首先颜色分割的参数较多,并对光照敏感。在不同的光照条件下需要设定不同的参数。对于不同颜色的车牌,需要输入不同的参数。在颜色组合较多的情况下,需要比较加权值的大小才能得出最终的检测结果。这些问题分别会对算法的检测精度和时间复杂度造成影响。颜色分割参数不正确将得不到车牌区域。这方面可以考虑指定背景图像并通过色差补偿得出颜色分割参数。时间复杂度方面,因每一种颜色分割都对应一次角点排序,对于尺寸较大的检测图像,可以考虑使用运动检测或图像多分辨率处理方法来加快检测速度。

摘要:针对低分辨率视频图像,提出一种基于角点检测与颜色连贯性分析的快速车牌定位算法。考虑到车牌具备固定的颜色连贯性特点,首先由车牌背景颜色与车牌字体颜色得出分析掩膜;然后使用较小的阈值和最小角点间距计算得出掩膜内角点;最后对角点进行颜色加权,选择权值最大的分析区域。该方法对图像噪声具有极好的抗干扰性,适用于分辨率较低的视频图像数据。实验表明与其他方法相比,该方法的车牌定位准确率高,平均耗时短。

关键词:车牌定位,角点检测,角点加权,字符角点,颜色连贯性

参考文献

[1]管庶安.按综合特征实现车牌快速定位[J].计算机应用与软件,2005,22(6):63-65.

[2]刘文峰,吴学毅,刘长富.基于RGB色度空间的车牌定位及矫正算法[J].武汉大学学报:信息科学版,2006(9):785-787.

[3]秦钟,徐建闽,史胜利,等.基于字符角点信息的车牌定位方法[J].华南理工大学学报,2006,34(4):19-23.

[4]王义兴,黄凤岗,韩金玉,等.基于颜色搭配与纹理特征的车牌定位方法[J].中国图象图形学报,2009,14(2):303-308.

[5]Anagnostopoulos C N EA,nagnostopoulos I E,Loumos V,et al.A li-cense plate recognition algorithm for Intelligent Transportation Systemapplications[J].Intelligent Transportation Systems,2006,7(3):377-392.

[6]梁栋,高隽,付启众,等.基于形状特征和反Hough变换的车牌区域定位和重建[J].计算机应用,2002,22(5):43-44.

[7]Harris C,Stephens M.A combined cornbined corner and edge detector[C]//4th ALVEY vision conference.USA:Springer Verlag,1988:147-151.

[8]戴青云,余英林.一种基于小波变换与形态学的车辆图像分割方法[J].中国图象图形学报,2000,5(5):411-415.

[9]是湘全,何苑凌,蔡孟波.遗传算法在车牌定位中的应用[J].公路交通科技,2000,17(2):33-36.

多维标度定位算法研究 篇4

无传感器网络[1,2]是由大量密集部署在监控区域的自治节点构成的一种自组织网络应用系统。它综合了传感器技术、嵌入式计算机技术、现代网络及无线通信技术、分布式信息处理技术等, 既是多学科高度交叉的具有高度挑战性的前沿研究领域, 也是国内外公认具有广阔发展前景的高技术产业。

无线传感器的节点必须明确自身位置才能详细说明“在什么位置或区域发生了特定事件”, 实现对外部目标的定位和追踪。由于节点工作区域或者是人类不适合进入的区域, 或者是敌对区域, 传感器节点有时甚至需要通过飞行器抛撒于工作区域, 因此节点的位置是随机并且未知的, 无线传感器网络如何实现节点准确地进行自身定位是一个可具研究性的问题。然而在许多应用中, 节点所采集到的数据必须结合其在测量坐标系内的位置信息才有意义, 否则, 如果不知道数据所对应的地理位置, 数据就失去意义。

1 多维标度

多维标度MDS (Multi-dimension scaling) 是一种数据分析技术, 常用于探索数据分析或信息可视化。它利用各实体之间的相异性来构造多维空间上点的相对坐标图, 构造的多维空间上的点与各个实体相对应, 如果两个实体越相似, 它们对应于空间上的点之间的距离就越近。

多维标度有多种不同的类型, 按照实体间数据的相异性是定量的还是定性的可分为度量多维标度 (Mertic MDS) 和非度量多维标度 (Non-Metric MDS) 。

(1) 度量多维标度。

度量多维标度是多维标度类型中最早出现的一种, 要求实体间的相异性与实体间的距离保持线性关系。

(2) 非度量多维标度。

非度量多维标度则没有那么严格的要求, 只需要满足单调的顺序等级关系, 而不需要定量地表示出来。

2 多维标度定位算法

(1) MDS-MAP算法

MDS-MAP算法[3]采用集中式计算, 并可在距离相关和距离无关两种情况下运行, 根据锚节点数量实现相对和绝对定位。它采用多维标度技术进行探索性数据分析或信息可视化。MDS-MAP定位算法由三个步骤组成:

第一, 计算所有节点间的最短路径, 建立MDS所需节点间距矩阵。首先从全局角度生成网络拓扑连通图, 并为图中每条边给定距离值。当节点具有测距能力时, 该值就是距离测量结果。当仅拥有连通性息, 那么所有边赋值为1, 然后使用最短路径算法, 例如Dijkstra或Floyd算法, 生成节点间距矩阵。

第二, 对距离矩阵应用标准MDS技术 (其核心是奇异值分解) , 生成整个网络的二维或三维相对坐标系统。

第三, 当拥有足够的锚节点时 (二维最少需要三个, 三维最少需要四个) 通过线性变换把相对坐标系统转化为绝对坐标系统。

实验显示, 在拥有200个节点 (其中四个锚节点) , 网络平均连通度为12.1的随机网络中, 在距离无关条件下, 定位误差约为30%;而在距离相关条件下, 测距误差为5%, 定位误差为16%;当网络的节点密度减小时, 定位误差增大, 并且无法定位的节点数量增加;而当网络连通度达到12.2时, 几乎全部节点都可实现定位。

MDS-MAP定位算法最大的缺点是需要集中式计算, 缓解这一问题的方法是把整个网络划分为子网, 为每个子网独立运用MDS-MAP算法, 然后合并结果, 但还是需要大量计算和通信。

(2) MDS-MAP (P) 算法

MDS-MAP (P) 是MDS-MAP算法的改进, 它是一种分布式定位算法。该算法的思想是每个节点首先维持一个两跳邻居范围内的局部网络, 对局部网使用经典多维标度技术得到局部网络节点的相对位置, 对节点的相对位置用最小二乘法优化, 最后将各局部网络融合得到全局相对坐标图, 如果具备三个或三个以上锚节点时, 可以将相对坐标图通过旋转、平移、反褶得到绝对坐标图。

实验显示, 在50×50的方形区域, 随机布设100个节点, 通信半径r=8, 其中4个锚节点。取aij=r2, 节点测距误差为5%的网络环境下, MDS-MAP (P) 算法的平均定位误差为17.3%。取aij=r2, 在100×100区域内随机布设200个节点, 在不同锚节点数情况下, MDS-MAP (P) 算法的定位误差呈下降的趋势。对MDS-MAP (P) 算法而言, 网络连通度越大, 其最短路径算法得到的距离误差也就越小。

(3) MDS-MAP (D) 算法

MDS-MAP (D) 算法以分布式节点分簇为基础, 利用网络的连接关系, 在不需要高精度测距技术支持的条件下对节点坐标进行估计, 减小了节点定位的计算复杂度和能量消耗。MDS-MAP (D) 定位算法与其它基于MDS的方法相比, 该方法只需要每个局部网络的簇头中计算局部网络内各节点间的最短路径, 进而计算节点坐标, 降低局部网络中的计算复杂度, 同时也减少局部网络的数量, 进而减少了融合局部网络的计算复杂度和能量消耗。

3 结束语

MDS-MAP和MDS-MAP (P) 算法以网络连通性为基础用节点最短路径距离估计其欧氏距离。如果网络拓扑不够理想, 测距误差较大, 这种近似方法将引入较大的定位误差。而MDS-MAP (D) 把一个无线传感器网络分成多个局部网络, 与MDS-MAP和MDS-MAP (P) 中每个节点都需要计算最短路径相比, 其复杂度得到了下降。在局部网络融合方面, MDS-MAP (D) 最坏情况下的计算复杂度优于MDS-MAP (P) 。MDS-MAP (D) 在网络连接度大于10时, 定位误差下降较快, 定位精度优于MDS-MAP方法。此外, 随着锚节点数量的增加, MDS-MAP (D) 比MDS-MAP (P) 的定位精度有小幅度提高, 为1%~3%。

摘要:多维标度技术根据事物对之间的距离相似性数据来重构事物的结构, 其通过构建事物对之间的相异性矩阵来重构事物在多维空间上的坐标, 本文简要的从多维标度技术的概念、分类以及经典多维标度技术和非度量多维标度技术等方面对多维标度技术进行了介绍, 重点分析了几类MDS算法, 并对实验数据进行了比较和分析。

关键词:无线传感器网络,多维标度,节点定位

参考文献

[1]Lewis F L.Wireless sensor networks.Smart Enviroments:Technolo-gies, Potocols, and Application, NewYork, 2004, 14 (7) :1282-1291.

[2]孙利民, 李建中, 陈渝, 等.无线传感器网络[M].北京:清华大学出版社, 2005:135-155.

[3]李善仓, 张德运, 马富海, 等.基于分布式加权多维定标的节点自身定位算法[J].西安交通大学学报, 2006, 40 (12) :1388-1392.

[4]丁英强, 孙雨耕, 李婷雪.基于多维校正的无线传感器网络多维标度定位算法[J].仪器仪表学报, 2009, 30 (5) :1002-1008.

近场声源定位算法研究 篇5

关键词:语音信号处理,麦克风阵列,声源定位,近场DOA估计,子空间方法

0 引言

近年来,基于麦克风阵列的声源定位技术快速发展,并且在多媒体系统,移动机器人,视频会议系统等方面有广泛的应用。例如,在军事方面,声源定位技术可以为雷达提供一个很好的补充,不需要发射信号,仅靠接收信号就可以判断目标的位置,因此,在定位的过程中就不会受到干扰和攻击。在视频会议中,说话人跟踪可为主意拾取和摄像机转向控制提供位置信息,使传播的图像和声音更清晰。声源定位技术因为其诸多优点以及在应用上的广泛前景成为了一个研究热点。

现有的声源定位方法主要分为三类:基于时延估计的定位方法、基于波束形成的定位方法和基于高分辨率空间谱估计的定位方法。基于时延估计的定位方法[1]主要步骤是先进行时间差估计,也就是先计算声源分别到达两个麦克风的时间差,然后根据这个时间差和麦克风阵列的几何结构估计出声源的位置。该类方法的优点是计算量较小,容易实时实现,在单声源定位系统中已经得到广泛应用。基于波束形成的定位方法[2]不需要直接计算时间差,而是通过对目标函数的优化直接实现声源定位。但由于实际的应用环境中,目标函数往往存在多个极值点,因此如何优化复杂峰值的搜索过程就成为了一个重点。基于高分辨率的空间谱估计的声源定位算法,例如宽带的MUSIC(Multiple Signal Classification)方法[3]和最大似然方法[4],因其可以同时定位多个声源并且具有比较高的空间分辨率,受到了广泛的关注。

空间谱估计的方法源于阵列信号处理,其中的多重信号分类(MUSIC)算法在特定条件下具有很高的估计精度和分辨力,从而吸引了大量的学者对其进行深入的分析与研究。但与阵列信号处理不同的是,在声源定位中,声源在大多数情况下是位于声源近场的。为了解决这一近场问题,许多学者针对传统的信号模型提出了改进算法,Asano等人将传统时域的MUSIC[5,6]算法应用在频域中,提出了一种基于子空间的近场声源算法[7]。下面来看一下近场的声源信号模型。

1 近场声源信号模型

传统的阵列信号处理大多是基于远场模型的平面波信号的假设,但是在声源定位的实际应用中,有很多情况是处于声源近场的[8],例如视频会议,机器人仿真等。同时又由于麦克风阵列阵元拾音范围有限,更多的情况下定位也处于近场范围内,此时信源到达各麦克风阵元的信号应该是球面波,其衰减不是单一的常数,这种非线性决定了麦克风阵列声源定位的信号需要应用近场球面波模型(如图1)。

假设M个全方向无差异的麦克风组成一个均匀直线阵列(如图1所示),麦克风阵元的间距为d,不妨设入射声源为点源,则P个入射声音信号S1,S2……,SP各自的方位角以及距离参数为:(θ1,r1)(θ2,r2)……(θp,rp)。其中,θi为声源Si和阵列的参考点(阵列中心)之间的连线与麦克风阵列所在的直线之间的夹角,ri为声源Si与阵列的参考点之间的距离,i=1,2,…,P。

则可以得出,第i个入射声源信号Si与第m个麦克风阵元之间距离为:

其中,dm为第m个麦克风阵元与阵列的参考点之间的距离,且满足

由此可得出,第i个入射声源信号到第m个阵元的距离与其到参考点的距离之差为

从而可以得出第i个入射声源信号到达第m个麦克风阵元与其到达参考点的时间差为

其中,c为声音在空气中传播时的速度,这里取c=340m/s。

第m个麦克风阵元所接收到的来自第i个入射声源信号的信号为:

其中,α是声源信号在传播中所产生的幅度衰减参数,在近场环境模型下,其值为

当ri→∞时,α=1,即由近场模型转变为远场模型。

对于P个入射信号,第m个麦克风所接收到的全部信号为:

由此可以得到,整个阵列所接收到的信号为:

其中,S(t)=(s1(t),s2(t),…,sp(t))T,N(t)=(n1(t),n2(t),…,np(t))T,H为空间阵列的M觹P维的导向向量阵,即为入射信号的方向矢量。

2 MUSIC算法基本原理

结合上面所介绍的数学模型(8),在条件理想的情况下,数学模型所在的空间中的信号子空间与其噪声子空间应该是相互正交的,那么信号子空间的导向矢量也应与其噪声子空间相互正交,即

同时应该注意到,在实际接收中得到的数据矩阵长度是有限的,所以无法精确求得信号的数据协方差矩阵R。基于以上考虑,数据协方差矩阵的最大似然估计为:

对上式特征值分解就可以得到噪声子空间的特征矢量矩阵U`N。但是由于噪声的存在,U`N和aH(θ)并不能完全正交,这就导致式(9)不成立。因此,DOA的估计应该是通过搜索使aH(θ)U`N取最小值时的θ来实现的,所以可以定义MUSIC的谱估计公式为:

只要对PMUSIC进行谱峰搜索,找出其极大值点对应的角度,就得到了信号入射的方向。

3 实验结果与分析

下面应用计算机仿真方法来验证前面的算法,仿真运用Matlab语言。实验中采取一维均匀直线阵,采用8个全向无差异的麦克风,在x轴上均匀分布,间距为10cm,取32ms为一帧,采样率设为16k Hz进行数据处理。选取汉明窗,窗长16ms,对输入信号进行实时的傅立叶变换。

不同信噪比情况下,在不同角度上算法准确率的仿真结果如表1所示。

从表1中可以看出,在信噪比为-5d B时,算法估计的准确率可以达到80%以上,在信噪比大于0d B时,算法估计准确率可达95%以上。在不同的信噪比下,定位算法所表现出的性能不同,随着信噪比的增加,其定位性能更加准确。

4 结束语

声源定位技术是目前研究的热点之一,可以广泛应用在生活,军事等领域中。此技术所要解决的问题是如何用可探测到的信号来对声源目标的位置进行估计。本文在构建了麦克风阵列近场模型的基础上,应用经典的MUSIC算法对空间中的声源进行定位。该算法先对接收到的矩阵进行频域预处理,然后利用MUSIC子空间的方法得到空间谱,再通过对得到的空间谱进行搜索,从而得到估计值。Matlab仿真结果表明,此算法拥有良好的定位性能,但在研究过程中发现此算法的复杂度比较高,如何减小算法的复杂度是下一步的研究工作。

参考文献

[1]OMOLOGO M,SVAIZER P.Use of the crosspower-spectrum p-hase in acoustic event location[J].IEEE Trans.on Speech andAudio Processing,1997,5(3):288-292.

[2]DIBIUSE J.A high-accuracy,low-latency technique for talkerIocalization in reverberant environments[D].Providence RI,USA:Brown University,2000.

[3]居太亮,彭启琮,邵怀宗,等.基于任意麦克风阵列的声源二维DOA估计算法研究[J].通信学报,2005,26(8):129-133.

[4]CHEN J C,YAO K,HUDSON R E.Acoustic source localizati-on and beamforming:theory and practice[J].EURASIP Journalon Applied Signal Processing,2003(4):359-370.

[5]SCHMIDT R O.Multiple emitter location and signal parameterestimation[J].IEEE Trans AP,1986,34(3):276-280.

[6]ZHANG Q.Probability of resolution of the MUSIC algorithm[J].IEEE Trans Signal Processing,1995,43(4):978-987.

[7]ASANO F,ASOH H,MATSUI T.Sound source localization andseparation in near-field[J].1EICE Trans Fundamentals,2000,E83-A(11):2286-2294.

点定位算法 篇6

节点定位技术是无线传感器网络[1]中的关键技术之一。节点定位算法大体上可分为基于测距的算法和非测距的算法。基于测距的定位算法可以通过测量到达信号的强度、到达时间、到达时间差、到达角度等方式实现,但这类算法需要额外增加硬件设备,以至于所需的能量和成本增加。非测距定位算法则不需要增加额外的硬件,虽然定位精度不如前者高,但在大多数的传感器网络应用中,这样的精度是可以接受的。DV-Hop算法[2,3]是典型的非测距定位算法。

DV-Hop算法是众多利用跳段距离的定位算法中最受关注算法之一,该算法实现简单,无需进行节点间的距离测量。但在算法实现过程中,节点间的通信量大,在利用平均跳数估计实际距离是存在一定的误差。为了减小误差,有研究者基于遗传算法[4]、遗传模拟退火算法[5]、粒子群算法[6]对DV-Hop进行优化。普通遗传算法在优化问题时需要的种群数较多,收敛速度慢,且易陷入局部最优解。为解决普通遗传算法的问题,本文利用量子遗传算法[7]来优化DV-Hop算法定位结果。量子遗传算法能够用更小的种群规模,在更短的时间内收敛到问题的最优解。仿真结果显示,改进的算法能够明显降低DV-Hop算法的定位误差。

1 DV-Hop算法模型

DV-Hop算法是由Niculescu和Nath提出的一种分布式的、逐跳的定位算法。该算法的实现分为三步:首先,采用经典的距离矢量变换,通过跳数得到网络中所有节点到锚节点的距离;其次,估计平均跳段距离,将其放置到整个网络进行校正;最后,利用最小二乘法计算未知节点的坐标。具体操作如下所示:

第一阶段 计算未知节点与每个锚节点的最小跳数。每个锚节点将其位置信息传递给所有的邻居节点,跳数初始化为0。未知节点收到锚节点的位置信息后判断是否更新表内的值以及跳数。最终所有的未知节点将获得每个锚节点的最小跳数。

第二阶段 计算未知节点和锚节点的距离。利用可控洪泛进行广播,每个锚节点能够获得其他所有节点的坐标和跳数,这样按照式(1)计算平均每跳的距离Hopsizei

Ηopsizei=ji(Xi-Xj)2+(Yi-Yj)2jihj(1)

其中(Xi,Yi)、(Xj,Yj)分别为锚节点ij的坐标,hi为节点i与节点j的跳数。

第三阶段 计算未知节点的坐标。未知节点收到3个或3个以上锚节点的距离信息时,可以根据三边或多边定位算法计算得到自身位置。

计算未知节点坐标时可采用最小二乘法[8]。假设n个锚节点位置为A1(x1,y1),A2(x2,y2),…,An(xn,yn),未知节点位置为(x,y),未知节点到各个锚节点的估计距离分别为d1,d2,…,dn,其中:

{(x1-x)2+(y1-y)2=d12(xn-x)2+(yn-y)2=dn2(2)

将前面的(n-1)个方程分别减去最后一个方程得到:

{x12-xn2-2(x1-xn)x+y12-yn2-2(y1-yn)y=d12-dn2xn-12-xn2-2(xn-1-xn)x+yn-12-yn2-2(yn-1-yn)y=dn-12-dn2(3)

式(3)的线性方程表示方式为AX=b

其中:

X=[xy]A=-2[(x1-xn)(x2-xn)(xn-1-xn)(y1-yn)(y2-yn)(yn-1-yn)]

b=[d12-dn2-x12+xn2-y12+yn2d22-dn2-x22+xn2-y22+yn2dn-12-dn2-xn-12+xn2-yn-12+yn2]

得到线性方程组后,由最小二乘法即可求解得到未知节点的位置估计:

XΛ=(AΤA)-1AΤb(4)

2 量子遗传算法

量子遗传算法QGA(quantum genetic algorithm)是20世纪90年代后期新兴的一个研究领域,主要是在遗传算法中引入量子计算的一些概念,使得遗传操作更有效。采用量子比特对染色体进行编码,通过量子旋转门[9]及变异更新种群,从而实现目标的优化求解。QGA能够以比普通遗传算法利用更小的种群规模,在更短的时间内得到问题的最优解。目前量子遗传算法的主要应用有:求解组合优化问题、对连续函数进行优化、与其他算法相结合的新算法以及应用于金融信息的数据挖掘。

2.1 量子比特编码

在量子遗传算法中,通过量子比特来表示基因。一个量子位有两个基本态:“0”态或“1”态,或它们任意组合形成叠加态。量子比特的编码方式是:用一个量子比特表示基因的两个状态,那么两个量子比特就可以表示基因的四个状态,以此类推,则k个量子比特概率幅度表示为:

qit=[α1β1|α2β2||αkβk](5)

量子遗传算法的基因用量子比特来表示,则此时基因将表达所有可能的信息。而对某一个基因操作,也同时会影响到基因所有的状态。这样形成了量子遗传算法具有多样性以及种群规模小的优点。

2.2 量子旋转门

在量子遗传算法中,采用量子旋转门来进行染色体的更新操作,具体方法如下:

(αβ)=(cos(θi)-sin(θi)sin(θi)cos(θi))(αiβi)(6)

其中,(αiβi)T:更新前的量子比特。(αiβi)T:更新后的量子比特。θi:旋转角,角的大小和方向是可以调整的。

3 量子遗传算法改进DV-Hop定位算法

在无线传感器网络中,没有最优的定位算法。只是针对不同的环境,寻找较为适合的定位算法。节点定位问题在数学本质上就是最优化问题,寻求估计位置和锚节点间距离与估计距离的最小误差。量子遗传算法对DV-Hop定位算法改进时,应注意参数的选取及变化,以及适应度函数的选取。

3.1 量子旋转角的调整

θ定义为一个量子的相位[10],即θ=arctan(β/α),θ的取值为θ=k×f(αi,βi),k是与算法收敛速度相关的系数,k的取值必须合理,如果k的取值太大,容易出现早熟收敛,算法会收敛于局部最优解,反之,染色体更新缓慢,就会处于停滞状态。本文k取10e-t/maxt,t为进化代数,maxt为最大进化代数。f(αi,βi)是方向搜索函数,使得算法向着最优解方向搜索。本文采用如表1所示的搜索策略。

3.2 变异处理

为了更好地解决QGA易陷入局部最优解的问题,当连续数代最优个体都无任何变化时,对群体进行变异操作,即在种群进化过程中进行干扰,使其脱离局部最优解,开始新的搜索。具体操作是:只保留最优解,剩余个体重新生成。本文采用非门对种群进行变异操作。

3.3 适应度函数的选取

因为距离是估算的,误差必然存在,定位问题本质上就是最小化误差,则位置估计可以转化为最小化公式:

fi(X^)=di-|X^-AiΤ|(7)

其中di为未知节点与第i个锚节点的距离,AiΤ为第i个锚节点的坐标位置。

通过量子遗传算法,对种群个体进行更新,对式(8)的适应度函数进行优化,当达到设定的迭代次数后算法停止,以当前找到的最优解作为未知节点的最终位置估计。

fitness(X^)=i=1nhi2fi2(X^)(8)

其中hi与未知节点到第i个锚节点的跳数,跳数是由DV-Hop算法的第一阶段得到。

4 算法描述

4.1 QGA改进DV-Hop定位算法步骤

在DV-Hop算法的得到距离矩阵和跳数矩阵的基础上进行以下步骤。

步骤1 初始化种群。对包含有n个个体的种群P(t)={p′1,p′2,…,pn}进行初始化,其中pjt(j=1,2,…,n)是种群中第t代的第j个个体。(αij,βij)为种群中全部染色体的所有基因,都被初始化为(12,12)

步骤2 对种群中的个体测量。

对种群中的染色体个体进行测量,用R(t)来表示,其中R(t)={γ′1,γ′2,…,γn},式中的γjt(j=1,2,…,n)表示的是第t代种群中第j个个体的测量值,测量值采用二进制表示,0和1的选取是根据量子比特概率|αij|2|βij|2得到的。值的求解过程如下:产生一个在0到1之间随机数,如果这个数比|αij|2|βij|2大,则取值1,反之,取值0。

步骤3 评价R(t)中的每个个体。利用适应度函数对个体进行评价。当达到设定遗传代数时,则算法停止,反之,则跳到步骤4继续进行。

步骤4 使用适当的量子旋转门,并对种群进行更新。

步骤5 判断是否对种群进行变异。

当连续数代最优个体都无任何变化时,对群体进行变异操作,本文中采用非门对种群进行变异操作。

步骤6 产生新一代遗传种群,转至步骤2。

根据上述过程,算法用类Matlab语言描述如下。其中算法中涉及的变量如表2所示。

%在设定正方形区域内产生随机拓扑:

C=BorderLength.*rand(2,NodeAmount);

Sxy=[[1:NodeAmount];C]; %带逻辑号的节点坐标

Beacon=[Sxy(2,1:BeaconAmount);Sxy(3,1:Beaco-nAmount)];

%锚节点坐标

UN=[Sxy(2,(BeaconAmount+1):NodeAmount);Sxy(3,(BeaconAmount+1):NodeAmount)]; %未知节点坐标

%计算节点间跳数矩阵

for k=1: NodeAmount

for i=1: NodeAmount

for j=1:NodeAmount

if h(i,k)+h(k,j)<h(i,j)

h(i,j)=h(i,k)+h(k,j)

end

end

end

end

hop1=h(1:BeaconAmount,(BeaconAmount+1):NodeAmount)

%用跳数估计距离

for i=1:UNAmount

d(:,i)=hop1(:,i)* Hopsizei

end

%用改进算法计算未知节点坐标:

for i=1: UNAmount

%采用量子遗传算法寻找最佳个体

pop=initial(种群个体数)

for j=1:loop

r=observe(pop)

[x,y]=evaluate(r,d,h)

target(x^,y^)=i=1UnAmountαi2fi2(x^,y^)pop=update(pop)

end

[x^,y^]=min(targetj(x^,y^))

end

4.2 算法的定位误差分析

DV-Hop算法定位误差主要是由于平均每跳距离的估计,影响距离估计的因素有,锚节点个数、节点间的通信半径、总节点数等。

在DV-Hop定位算法中,未知节点的坐标位置是根据未知节点到锚节点的估计距离得到。由于锚节点和未知节点的分布都是随机的,如果锚节点分布在一条直线上或近似在一条直线上(如x1≅x2,y1≅y2),或者锚节点间距离很近,那么式(2)某些方程在相减的过程中就会约去,导致最后参与未知节点位置估计的锚节点只有几个甚至使得式(4)不成立。又由于未知节点到锚节点的估计距离d本身就有存在误差,因此锚节点的数量及分布对节点的定位精度影响很大。

DV-Hop算法是通过跳数和平均跳段距离来估算未知节点到锚节点的距离,而跳数的确定和节点的通信半径有关。节点间的通信半径不同会导致两个节点的跳数不同。从而使得两节点间的估计距离相差很大,影响定位精度。

在一定面积的传感区域内,不同的节点数量同样影响DV-Hop算法的定位精度。在相同的节点通信半径下,节点总数的不同,以致平均每跳内的节点数目会相差很大。如果节点数目过少,可能会出现在锚节点的通信范围内没有节点,其它节点接收不到该锚节点的信息,导致节点无法定位。

以上因素同样会影响改进定位算法的精度,由于改进算法本质上是寻找最优节点坐标,使得误差最小化,从而提高定位算法的精度。

5 仿真实验

本文实验运行环境是Pentium T4200 2.0GHz,1GB DDR3 SDRAM,操作系统Windows XP,编程软件是Matlab 7.0。仿真过程中,节点被随机分布在100×100的正方形区域内。定位算法的主要评价标准是平均定位误差,公式如下:

Error=i=1Ν|X^i-Xi|Ν×R×100%(9)

其中N是未知节点的数量,X^i是未知节点的估计位置,Xi是未知节点的实际位置,R是节点间的有效通信半径。由公式可以推断出,未知节点数量和通信半径与平均定位误差成反比。当NR都不变的情况下,平均定位误差取决于未知节点的估计位置。量子遗传算法中,适应度函数中加入了跳数的倒数,进一步增加计算精度,减小误差。从而比普通遗传算法的定位误差要小。

以下仿真实验结果在文献[5]的基础上进行,并与其中的GA-SA以及粒子群改进算法进行对比。图1显示的是未知节点数量与平均定位误差之间的关系。在固定的区域内,通过改变节点的数量来改变整个网络的节点密度。未知节点数量有200变化到600,通信半径设置为10米,锚节点数量为12。从图中可以看出,当未知节点数量增加,即节点密度增加时,定位算法的定位误差都是呈减小趋势的,当未知节点增加到一定数量后,定位误差的变化较为缓慢。通过量子遗传算法改进的DV-Hop算法比原有算法的定位误差平均减小25%左右,且比文献[5]中GA-SA改进的DV-Hop算法有更高的定位精度,但与粒子群算法相比,量子遗传算法的定位精度还是没有粒子群改进算法的高。

图2显示的是锚节点数量与平均定位误差之间的关系。在仿真区域内随机分布200个未知节点,通信半径R为10米,通过改变锚节点所占的比例来比较算法的性能。仿真结果表明,随着锚节点比例的增加,平均定位误差逐步减小,且变化趋势缓慢。本文的算法能够明显的减小定位误差,比起粒子群算法,本文算法还有待改进。

图3显示的是通信半径R与平均定位误差之间的关系。在仿真区域内随机分布200个未知节点,锚节点数量为16,R的变化范围是5米到30米。结果表明,当通信半径增大时定位误差随之减小。由量子遗传算法改进的DV-Hop算法能够很好的降低定位误差。其定位精度在GA-SA与改进的粒子群算法之间。

综上所述,在相同的仿真条件下量子遗传算法改进的DV-Hop算法所产生的平均定位误差比DV-Hop算法以及文献[5]中GA-SA改进算法更低。但本文算法比起改进的粒子群算法误差要高一点。

6 结 语

在DV-Hop的算法基础上,本文提出了利用量子遗传算法改进DV-Hop算法的方案。DV-Hop算法用来估计未知节点与锚节点的测量距离,并用量子遗传算法来最小化DV-Hop的误差函数,进一步优化DV-Hop算法,提高定位精度。仿真结果显示,基于量子遗传算法优化的DV-Hop算法可以明显降低定位误差。对比于遗传算法改进的DV-Hop算法,量子遗传算法对DV-Hop改进在提高定位精度的同时也降低了种群规模;对比于粒子群算法,本文算法的定位精度更好。

摘要:为了提高非测距节点定位算法的定位精度,针对DV-Hop算法提出一种基于量子遗传算法的改进算法。利用节点间的估计距离和锚节点的位置,在DV-Hop算法的第三阶段采用量子遗传算法校正DV-Hop得到的估算位置,采用二进制量子编码和量子旋转门以及变异处理更新个体。仿真结果表明,改进的算法性能稳定,能找到全局最优解,并使DV-Hop的定位误差明显下降。

关键词:无线传感器网络,量子遗传算法,DV-Hop算法,变异,定位误差

参考文献

[1]Bal M,Liu M,Shen W,et al.Localization in cooperative wirelesssensor networks:a review[C]//The 13th IEEE International Confer-ence on Computer Supported Cooperative Work in Design.Santiago,Chile.April 2009:22-24.

[2]Niculescu D,Nath B.Ad-hoc positioning systems[C]//Proc.of the2001 IEEE Global Telecommunications Conference.San Antonio:IEEE Communications Society,2001:2926-2931.

[3]Niculescu D,Nath B.DV based positioning in ad-hoc network[J].Journal of Telecommunication Systems,2003,22(4):267-280.

[4]Wenwen Li,Wuneng Zhou.Genetic algorithm-base localization algo-rithm for wireless sensor networks[C]//2011 seventh InternationalConference on Natural computation,2011:2096-2099.

[5]赵仕俊,孙美玲,唐懿芳.基于遗传模拟退火算法的无线传感器网络定位算法[J].计算机应用与软件,2009,26(10):189-192.

[6]陈星舟,廖明宏,林建华.基于粒子群优化的无线传感器网络节点定位改进[J].计算机应用,2010,30(7):1736-1738.

[7]Andrea Malossini,Enrico Blanzieri,Tommaso Calarco.QGA:a quan-tum genetic algorithm[DB/OL].Technical Report:#DIT-04-105.U-niversity of Trento,Italy.http://www.dit.unitn.it.

[8]魏叶华,李仁发,罗娟,等.基于支持向量回归的无线传感器网络定位算法[J].通信学报,2009,30(10):44-50.

[9]Shu W N.Quantum-inspired genetic algorithm based on simulated an-nealing for combinatorial optimization problem[J].International Jour-nal of Distributed Sensor Network,2009,5(1):64-65.

点定位算法 篇7

GPS差分定位技术可有效地消除公共误差和公共参数, 提高定位精度。伪距差分是目前用途最广的一种技术, 它的基本原理是[1]:在基准站B上的GPS接收机测量出至全部卫星的伪距ρbi和采集全部卫星的星历文件 (A, e, w, Ω, i, t等) , 首先利用已采集的轨道根数计算出各卫星的地心坐标 (Xi, Yi, Zi) , 同时利用精确的基准站地心坐标 (Xb, Yb, Zb) , 计算基准站到卫星i的几何距离Rbi, 计算基准站到各卫星的伪距改正数Δρbi和伪距改正数的变化率Δρ.bi, 然后计算流动站上的改正伪距观测值Rm.corri, 最后利用改正后的伪距计算流动站坐标。该方法提供的是伪距改正数和伪距改正数的变化率。当某些原因导致差分信号短暂丢失时, 能够利用伪距改正数的变化率继续进行差分定位。GPS差分定位原理如图1所示。

1 GPS 伪距差分绝对定位的一般解算方法

1) 由基准站b坐标, 各卫星坐标 (xi, yi, zi) 求出:

Rbi= (Xi-Xb) 2+ (Yi-Yb) 2+ (Ζi-Ζb) 2 (i=1, 2, 3, s) (1)

2) 由全部卫星到基准站B的伪距ρbi得基准站b 伪距修正值Δρbi

Δρbi=Rbi-ρbi (2)

3) 由全部卫星到流动站m的伪距ρmi得出流动站m的伪距修正值

Rm.corri=ρmi+Δρbi+Δρ˙bi (t-t0) (3)

4) 求解m的坐标 (Xm, Ym, Zm)

Rm.corri=Rmi+cδtm+v= (Xi-Xm) 2+ (Yi-Ym) 2+ (Ζi-Ζm) 2+cδtm+v (4)

(4) 式中v为接收机噪声误差, 通常忽略。即

Rmi=Rm.corri-cδtm (5)

将方程线形化, 通过泰勒级数展开, 我们假设流动站m的初始坐标 (Xm0, Ym0, Zm0) , 通过求出偏差δΧm, δYm, δZm即可。先假设只有4颗卫星的情况[2]:将 (5) 式在 (Xm0, Ym0, Zm0) 处泰勒展开得:

Rm.corri=ρm, 0i-X1-Xm0ρm, 01δXm-Y1-Ym0ρm, 01-Ζ1-Ζm0ρm, 01+cδtm (6)

其中

ρm, 0i= (Xi-Xm) 2+ (Yi-Ym) 2+ (Ζi-Ζm) 2

然后联立解方程

{ (Rm.corr1-ρm, 01) +X1-Xm0ρm, 01δXm+Y1-Ym0ρm, 01+Ζ1-Ζm0ρm, 01-cδtm=0 (Rm.corr2-ρm, 02) +X2-Xm0ρm, 02δXm+Y2-Ym0ρm, 02+Ζ2-Ζm0ρm, 02-cδtm=0 (Rm.corr3-ρm, 03) +X3-Xm0ρm, 03δXm+Y3-Ym0ρm, 03+Ζ3-Ζm0ρm, 03-cδtm=0 (Rm.corr4-ρm, 04) +X4-Xm0ρm, 04δXm+Y4-Ym0ρm, 04+Ζ4-Ζm0ρm, 04-cδtm=0 (7) δΤ=-A-1B (8)

其中

A= (lm1mm1nm1-1lm2mm2nm2-1lm3mm3nm3-1lm4mm4nm4-1) B= (Rm.corr1-ρm, 01Rm.corr2-ρm, 02Rm.corr3-ρm, 03Rm.corr4-ρm, 04)

要求的

δΤ= (δXmδYmδΖmcδtm)

当我们考虑多余4颗卫星的情况时, 方程还是 (8) 式只不过其中矩阵A, B中卫星的颗数为s, 然后根据最小二乘原理求解δT, 即:

δΤ=- (AΤA) -1AΤB (9)

2 GPS伪距差分绝对定位的迭代解算方法—— 高斯-牛顿迭代法

高斯-牛顿法是求解非线性最小二乘的常用的方法, 其基本原理是在初值X (0) 处对非线性模型进行线性近似, 并按最小二乘方法求出一次近似值X (1) , 然后反复迭代, 直至前后两次XX (n) 和X (0) 相等或相差很小[3]。由 (9) 式得:

X (1) =X (0) +δX=X (0) -[A (X (0) ) ΤA (X (0) ) ]-1A (X (0) ) Τ (ρ˜-ρ (X (0) ) )

将上式简写为

X (1) =X (0) -[A0ΤA0]-1A0Τ (ρ˜-ρ0) (10)

求得X (1) 后, 再以X (1) 为近似值迭代, 其迭代公式为

X (k+1) =X (k) -[AkΤAk]-1AkΤ (ρ˜-ρ0) (11)

因此, GPS差分伪距定位的高斯-牛顿迭代法的具体计算步骤如下:

1) 给出初始值, 设X (0) = (0, 0, 0, 0) , 允许误差ε>0并置k=0;

2) 计算ρkAk;

3) 计算Xk+1=Xk+δTk;若|δΤ|<εX˜=Xk+1。计算观测值的改正数、平差值, 并进行精度评定;否则, 置k = k + 1 , 转至第2步。

3 GPS伪距差分绝对定位的求差法

高斯-牛顿迭代法提供了一种改善GPS绝对定位精度的有效方法, 然而它仍旧只顾及到一阶偏导数, 仍属于线性化的方法;并且此法对于某些问题因矩阵Nk=ATkAk的奇异性, 或严重病态而无法进行。而且, 在每步迭代中都需要计算一阶导数、解法方程, 导致计算工作量大[4]。本文提出了一种GPS伪距差分绝对定位的简便算法——求差法, 该方法可将求解测站坐标的非线性方程转化成线性方程, 可直接解算出测站坐标和接收机钟差, 其基本原理如下:

由差分伪距观测方程

Rm.corri=Rmi+cδtm+v (12)

(认为v可忽略 cδtm=δρ)

整理得

aiXm+biYm+ciΖm+diδρ=li (13)

其中

ai=2 (xi+1-xi) bi=2 (Yi+1-Yi) ci=2 (Ζi+1-Ζi) di=2 (Rmi-Rmi+1) li=[ (Xi+1) 2+ (Yi+1) 2+ (Ζi+1) 2]-[ (Xi) 2+ (Yi) 2+ (Ζi) 2]+[ (Rm.corri) 2+ (Rm.corri+1) 2]

如果观测到5 颗卫星, 就可得到4个像方程 (13) 式一样的线性方程, 就可直接解算出测站坐标 (X , Y , Z) 及δρ;如果观测到5颗以上卫星, 可得到4个以上关于X, Y, Z, δρ的线性方程, 可采用最小二乘法求解。

将方程 (13) 式写成矩阵形式

AδX=L (14)

(14) 式中,

A= (a1b1c1d1a2b2c2d2an-1bn-1cn-1dn-1)

;

δX= (XmYmΖmδρ)

;

L= (L1L2Ln-1)

用最小二乘法

δX= (AΤA) -1AΤL (15)

在实际计算时发现, 当n > 5 时, 法方程是病态方程组, 解算出的结果与真实值偏差较大。因此, 对方程 (13) 作如下预处理, 即可得到令人满意的结果。方程 ( 13 ) 两边同乘系数ρi′得

ai´Xm+bi´Ym+ci´Ζm+di´δρ=li´ (16)

其中

ai´=2 (xi+1-xi) ρibi´=2 (Yi+1-Yi) ρici´=2 (Ζi+1-Ζi) ρidi´=2 (Rmi-Rmi+1) ρili´=[ ( (Xi+1) 2+ (Yi+1) 2+ (Ζi+1) 2) - ( (Xi) 2+ (Yi) 2+ (Ζi) 2) + ( (Rm.corri) 2+ (Rm.corri+1) 2) ]/ρiρi= (Xi+1-Xi) 2+ (Yi+1-Yi) 2+ (Ζi+1-Ζi) 2

此时δX = (A′TA′) -1A′TL′ (17)

其中

A= (a1´b1´c1´d1´a2´b2´c2´d2´an-1bn-1cn-1dn-1) δX= (XmYmΖmδρ) L= (L1´L2´Ln-1´)

4 仿真结果及分析

为了讨论与分析上述GPS伪距差分绝对定位的几种算法, 用一组GPS伪距差分绝对定位的模拟观测数据用上述三种方法分别进行了计算。由仿真可知, 表1 的计算结果表明, GPS差分伪距定位算法已经大幅度的提高了单点定位的精度。相对于单点定位来说, 简单地把GPS绝对定位的非线性观测方程用泰勒级数展开, 然后取至一次项进行线性化解算的方法, 相对于所取初始值, 偏差已经不是很大。采用高斯-牛顿法需要迭代5次即可得到较满意的结果。而采用求差法, 则不需要迭代, 只要观测5颗或5颗以上卫星即可直接解算出令人满意的结果。图2明确的比较了3种算法的计算结果和测站坐标真值的差异。图3以8颗卫星的数据为依据反映出三种算法产生的误差随着基准站和流动站之间的距离的变化, 可以看出采用高斯—牛顿迭代法和求差法都比较精确。

5 结论

本文提出的通过求差法将GPS定位的非线性观测方程转化成线性方程直接求解测站坐标的方法, 不存在因线性化取一次项而略去二次微小量的模型误差, 不需要给出测站的初始坐标信息, 不需要求导计算和迭代计算, 只要观测5颗或5颗以上卫星即可直接解算出令人满意的结果, 计算量简化, 对于提高我国GPS差分伪距单点定位的解算速度和精度具有重要的意义。

摘要:分析了GPS差分伪距绝对定位的传统算法, 并提出了一种通过求差, 将GPS绝对定位的非线性观测方程转化成线性方程直接求解观测站坐标的新算法。通过实例计算表明该方法计算简单, 不需要观测站的初始坐标信息, 不需要求导计算和迭代计算, 通过采用差分绝对定位的模拟观测数据进行计算。计算结果表明, 对于提高GPS差分伪距单点定位的解算速度和精度具有重要的应用价值。

关键词:全球定位系统,GPS,伪距差分,仿真

参考文献

[1]中国人民解放军总装备部军事训练教材编辑工作委员会GPS技术与应用.北京:国防工业出版社, 2004

[2]Kaplan E D.GPS原理与应用.邱致和, 王万义, 译.北京:电子工业出版社, 2002

[3]刘国林, 等.非线性最小二乘平差.测绘学报, 2003;3 (3) :224—230

一种多算法协同定位模型 篇8

数据融合技术是结合有关先验信息, 综合不同处理方法和技术的优点对不同类型的数据进行融合, 从而获得比单一处理方法和技术更优数据输出的技术[1]。目前, 一些研究者已经在基于JDL数据融合模型上面做了很多的工作[2,3,4,5]。文献[2,3,4,5]包括有综合利用到TOA, TDOA, AOA三种测量值来进行融合技术, 但是由于要进行不同参数的测量, 限制了这些方法的实用化;文献[6]虽然单独利用TDOA进行融合, 实现容易, 但对于移动台某一个确定位置, 其定位结果有较大的误差。

由于基于TDOA的定位方法不需要基站与移动台之间严格的同步, 因此在基于蜂窝网的移动台定位技术中, 大部分无线定位算法都是基于TDOA的, 其中比较经典的算法有Chan算法和泰勒序列展开法。在不同的信道环境中他们各自具有其特有的优点, 同时也存在局限性。为了提高移动台的定位准确度, 将综合这两种算法, 并且结合了简单的残差加权算法, 构造先验信息, 对Kleine-Ostmarm数据融合模型[7,8]进行改进, 提出一种无需先验信息的, 利用Chan算法和泰勒序列展开法定位结果进行融合的算法协同定位模型。由于在数据融合过程中需要利用简单的残差加权算法, 因此下面先对之进行较为详细的介绍。

1 简单的残差加权算法

设参与定位的基站个数为M≥4, 待定位的移动台坐标为 (x, y) , (xi, yi) 为第i个基站发射机的已知位置。根据测量得到的TDOA测量值可以得到下式:

ri, 12+2ri, 1r1=Κi-2xi, 1x-2yi, 1y-Κ1 (1)

式中:xi, 1=xi-x1;yi, 1=yi-y1;Ki = xi2+ yi2, i = 1, 2, …, M;x, y, r1为未知数, 则上式为线性方程组。从式 (1) 构成的M-1个方程组中任意取两个, 组成一个二元方程组, 则共有N=[M-1]M/2种组合。对于每种组合, 再分别求出对应的MS位置中间结果 (xk¯, yk¯) k=1, 2, , Ν定义残差函数:

fi (x, y) =ri, 1- (xi-x) 2+ (yi-y) 2- (x1-x) 2+ (y1-y) 2 (2)

所有的残差平方和为:

Fk (x, y) =i=2Μfi2 (x, y) (3)

对所有的 (xk¯, yk¯) 按照下式加权, 得到MS位置的初步估计值:

(x¯, y¯) =k=1Ν (xk¯, yk¯) [Fk (xk¯, yk¯) ]-1k=1Ν[Fk (xk¯, yk¯) ]-1 (4)

2 融合方法

各种算法都有其自身的优缺点, Chan算法和泰勒序列展开法都需要先验信息, 在无法知道先验信息的情况下, 都假设TDOA测量值的协方差矩阵为单位矩阵。因此, 先用简单的残差加权法构造TDOA测量值的协方差矩阵[9] (见式 (5) ) , 代入这两种基本算法中, 以减少NLOS误差。此外, 对于泰勒序列展开法, 先通过其他算法进行初始定位, 再将定位结果作为初始值代入其中进行定位计算。本文提出的多算法协同定位的数据融合模型, 如图1所示, 该模型特点如下。

(1) 因为没有任何有关TDOA测量值的先验信息, 所以Chan算法和泰勒序列展开法中的TDOA测量值的协方差矩阵Q是未知的。可以由前面定义的残差函数, 将MS位置初始估计值 (x¯, y¯) 代入式 (2) 得到每个方程的残差fi (x¯, y¯) , 令:

Q=diag{f2 (x¯, y¯) , f3 (x¯, y¯) , , fΜ (x¯, y¯) } (5)

将构造后的Q值代入Chan算法和泰勒序列展开法中作为TDOA的协方差矩阵。文献[9]中对此做了详细的分析, 且结果表明, 将与真实位置比较接近的初始值代入残差函数, 构造TDOA的协方差矩阵, 可以有效改善NLOS误差对定位带来的不利影响。

(2) 对于TDOA测量值, 分别采用简单残差加权法、Chan算法、泰勒序列展开法、第一层数据融合和第二层数据融合, 产生五种定位估计, 其中泰勒序列展开法的初值由简单残差加权法产生。

(3) 第一层数据融合

对于同一组TDOA测量值分别采用简单残差加权法、Chan算法和泰勒序列展开法进行定位估计, 每种算法的加权系数Rk, 则:

Rk=i=2BSΝ[ri, 1- (|x^k-Xi|-|x^k-X1|) ]2BSΝ (6)

式中:x^k=[x, y]Τ为第k种算法的定位结果;Xi=[xi, yi]T为参与定位的第i个基站的坐标;BSN为BS数目;ri, 1为移动台到各基站的测量距离差, 即对应的TDOA测量值。则加权后的定位结果:

X^1= (ΚxkRΚ-1) / (ΚRΚ-1) (7)

式中:K为算法数目。

(4) 第二层数据融合

该层依旧采用加权方式进行数据融合, 在这层进行融合的定位估计有3种, 设每种的加权系数为Rk′, 则定义:

Rk´= (r1-|x^k-X1|) 2 (8)

式中:x^k=[x, y]Τ为第k种定位估计;X1=[x1, y1]T为服务基站坐标;r1为移动台到服务基站的测量距离。则定位结果为:

X^2= (ΚxkRΚ-1) / (ΚRΚ-1) (9)

(5) 第四层数据融合

该层数据融合采用文献[10]方法进行加权处理, 假定Chan算法、泰勒序列展开法、第一层数据融合和第二层数据融合的定位估计值的均值和方差分别为Xcm, Xtm, X1m, X2mσ2c, σt2, σ12, σ22, 则第四层融合产生的新的定位估计值均值和方差为:

X^=Xcm/σc2+Xtm/σt2+X1m/σ12+X2m/σ221/σc2+1/σt2+1/σ12+1/σ22σ^=11/σc2+1/σt2+1/σ12+1/σ22 (10)

3 算法仿真及性能讨论

采用标准7基站/小区蜂窝网络, 小区半径为3 000 m。其中第一个基站为服务基站, 如图2所示。

信道模型采用C0ST259, 环境分别为闹市区、一般市区、郊区和远郊。由于该算法主要是为了减少非视距对定位精度的影响, 因此这里主要对在闹市区的情况进行较为详细的分析。为了验证该模型的性能, 在服务基站的第一扇区内随机选择了12个待定位点, 这12个点随机分布在相邻距离为200 m的同心圆上, 每个点重复仿真200次, 将数据融合各层定位结果定位均方根误差和均值误差与融合结果比较, 以及将数据融合各层误差小于150 m和小于300 m的概率进行比较, 最后比较本融合结果与传统的Chan算法比较。

如图3所示, 得到:经过融合以后, 融合结果相对于参与融合的各层, 其定位均方根误差有明显的减小, 但均值误差并不是最低, 这是因为决策层是用基于最小均方误差的最优线性融合的方法来进行融合的。它只能保证融合后的结果比参与融合各层的均方根误差都小, 而无法保证定位的均值误差也比各层的都小。

如图4所示, 得到, 在定位误差小于150 m概率比较时, 第一层和第二层融合出现了融合结果的概率小于Chan算法。这是因为这两层都是利用线性加权的方法进行融合的, 如果有一个或者若干基站的定位结果较差, 那么就会导致这层融合结果较差。当初始值定位较差时候, 也可能会导致泰勒序列展开法在闹市环境下比Chan算法差。

从图5可以看到, 融合结果无论在定位误差均值还是在均方根误差指标上都比传统的Chan算法优越。在较为严重的非视距环境下, 该算法具有较好的适应性。第一层和第二层都是采用的残差融合方法可以对非视距影响较大的估计分配较小的加权因子, 因而也可以减小非视距的影响, 并且非视距影响越大, 这种效果就越明显。因此本融合模型的定位精度要比Chan算法高, 具有一定的实用性。

4 结 语

在蜂窝网络定位系统中, 由于基于单个测量值的定位方法以及单个算法的定位精度有限, 因此Kleine-Ostmann提出了一种基于JDL的三层定位数据融合模型。为了在没有任何信道环境先验信息的情况下, 融合不同TDOA定位算法的优点, 讨论了一种针对不同TDOA定位算法融合的新型数据融合模型, 利用简单的残差加权算法得到第一步定位估计值, 构造TDOA协方差矩阵和作为泰勒序列展开法的初始值, 并且利用线性加权和贝叶斯推论等融合方法, 得到最好定位结果。仿真结果表明, 在非视距环境下, 该模型有效提高了移动台的定位精度, 且不需要先验信息。

参考文献

[1]Ostmann T Kleine, Bell A.A Data Fusion Architecture forEnhanced Position Estimation in Wireless Networks[J].IEEE Communication Letters, 2001, 5 (8) :343-345.

[2]杜海兵, 王民北.数据融合技术在无线移动定位中的应用[J].计算机工程与应用, 2005 (16) :153-155, 161.

[3]孙国林, 郭伟.基于数据融合的蜂窝无线定位算法研究[J].通信学报, 2003, 24 (1) :137-142.

[4]刘军民, 张展, 刘石.基于数据融合技术的TDOA移动台定位方法[J].大连理工大学学报, 2005, 45 (1) :138-141.

[5]陈朝, 昂志敏.一种基于数据融合的蜂窝无线定位算法模型[J].国外电子测量技术, 2008, 27 (3) :27-30.

[6]邓平, 刘林, 范平志.移动台定位估计数据融合增强模型及其仿真研究[J].通信学报, 2003, 24 (11) :165-17.

[7]范平志, 邓平, 刘林.蜂窝网络无线定位[M].北京:电子工业出版社, 2002.

[8]袁登科.蜂窝网络消除非视距传播误差影响的定位算法研究[D].成都:西南交通大学, 2005.

上一篇:交通需求与供给下一篇:维修体制