定位测试

2024-10-25

定位测试(共8篇)

定位测试 篇1

零件的加工精度对零件使用寿命有着直接的影响。一般情况下,加工精度高的零件比加工精度低的零件使用寿命长。高精密零件的加工主要是由数控机床来完成,数控机床的精度直接决定了加工零件的精度。一般来说,机床几何精度对零件加工精度的影响占到40%~60%[1],机床的热精度对零件加工精度的影响占到20%~30%[2]。衡量数控机床精度的基本标准就是数控机床的定位精度。本文就机床的定位精度进行了探讨。

1 定位精度的测试

激光干涉仪是检测机床精度的最有效的工具之一。激光干涉仪测试系统由激光发射器、干涉镜、反射镜、分析软件等组成[3],如图1所示。

笔者采用雷尼绍激光干涉仪对某型号加工中心的2个直线进给轴进行测试。X轴的有效行程为480 mm,Y轴的有效行程为600 mm。测量时每个行程的两侧越程量均为5 mm,用于消除测试时的反向误差。X轴进给速度为0.5 m/min,每进给20 mm暂停3 s用于数据的采集;Y轴进给速度0.5 m/min,每进给20 mm暂停3 s用于数据的采集。每轴测试均测试5次来回行程。排除温度变化对机床定位精度的影响,试验在恒温车间(室温20℃±0.5℃)进行。机床2个轴均先预热30 min,用于消除运动部件发热变形对机床定位精度的影响[4]。机床安装后,螺距补偿前,测试结果如图2所示。

经雷尼绍分析软件[5]分析后,得出结果如下:①X轴定位精度为21.073μm,去程定位精度为20.367μm,回程定位精度20.452μm,去程单向重复性为5.217μm,回程单向重复性为4.548μm,反向差值为1.240μm。②Y轴定位精度为28.583μm,去程定位精度为27.855μm,回程定位精度为28.556μtm,去程单向重复性为4.951μm,回程单向重复性为5.660μm,反向差值为0.580μm。

由图2及上述分析结果可以看出:①定位精度的测试是一个累积过程,行程越长,定位精度的误差越大;②由于有随机误差的出现,往复行程的定位精度值稍有差异;③反向差值比定位精度和单向重复性均小。

2 定位精度的螺距补偿

由于此加工中心使用的是德国生产的开放式PA数控系统[6],通过经雷尼绍激光干涉仪测试后的原始数据,可以计算出机床每次停止用于定位测量时机床的实际行程,所以能够计算出这种测量方式下螺距误差补偿表。开放式数控系统可以直接写入螺距误差补偿表。补偿后,按原方案测试各轴定位精度的结果如图3所示。

经雷尼绍分析软件分析后,得出结果如下:(①X轴定位精度为4.005μm,去程定位精度为3.456μm,回程定位精度为3.194μm,去程单向重复性为2.663μm,回程单向重复性1.665μm,反向差值为1.433μm。②Y轴定位精度为4.901μm,去程定位精度为4.211μm,回程定位精度为4.668μm,去程单向重复性为1.286μm,回程单向重复性为1.848μm,反向差值为0.633μm。

由螺距补偿前后的分析结果可以看出:①补偿后,X、Y轴的定位精度均有提升,定位误差都在5μm以内,达到了很高的精度。②补偿后,X、Y轴的单向重复性均有提高,从4~5μm提高到1~2μm。③补偿前后,X、Y轴反向差值变化的最大值为0.287μm,并且有正有负,可以归结到随机误差的影响。④螺距补偿不会对反向差值造成影响。

3 定位精度热影响的测试分析

螺距补偿后的数控机床,定位精度小于5μm,已经达到了较高的精度。然而,大部分数控机床的使用条件不能保证环境温度不发生变化。我国南北方的温度差别比较大,同一数控机床在不同的温度条件下,其精度也会发生相应的变化。温度升高,数控机床的基础件,如床身、立柱、工作台等会相应地伸长,各部件的材料不同,伸长量也不同,造成机床的弯曲、偏摆、滚摆、扭转等误差[7],间接影响了机床的定位精度。机床装配车间温度为20℃±0.5℃。装配时,按此温度调整好机床精度,而机床到达使用地点重新安装好后,需要对机床重新测试补偿。以其中任意一个轴为例,此时车间温度为33.4℃,有效行程为580 mm,进给速度为0.5 m/min,每进给20 mm暂停3 s用于数据的采集,结果如图4中(a)图所示。由图4 (a)可以看出,此轴定位精度为15.780μm,去程定位精度为15.601μm,回程定位精度为15.528μm,去程单向重复性5.61μm,回程单向重复性为5.633μm,反向差值为0.800μm。按测试原始结果,计算出每20 mm行程热补偿量,补入PA数控系统。按上述方法重新测试,测试结果如图4中(b)图所示。由图4(b)可以看出此轴热补偿后,定位精度为5.370μm,去程定位精度为5.370μm,回程定位精度为4.810/μm,去程单向重复性为3.059μm,回程单向重复性为3.242μm,反向差值为0.820μm。热补偿后,定位精度由15.780μm提高到5.370μm,达到了较高的精度。

4 结论与展望

本文使用雷尼绍激光干涉仪测试了某加工中心的定位误差,并将误差补入数控系统,在不同温度下测试了其中一个轴的定位精度并补入数控系统,有效地提高了机床的定位精度,机床在装配时的定位精度达到了5μm,温度补偿后,机床定位精度达到6μm。这可以为后续的研究提供精度参考和提供用于对比的补偿方案。此种补偿方法细分之后,能更好地提高机床的精度。

参考文献

[1]周虹.影响数控机床零件加工精度的因素与补偿措施[J].机电产??品开发与创新,2005(3):110-111.

[2]陶晓杰,王治森.机床误差的补偿方法探讨[J].制造业自动化, 2005(5):18-20.

[3]钟伟弘,田美丽.双频激光干涉仪在数控机床定位误差补偿系统中的应用[J].机床与液压,2003(3):103-104.

[4]郭前建.数控机床热误差的在线测量与补偿加工[J].制造技术与机床,2007(4):32-37.

[5]曹西京.基于Renishaw的数控机床定位精度和动态性能的研究[J].机床与液压,2009(4):43-45.

[6]胡赤兵.数控机床几何误差的综合建模与补偿[J].现代制造过程.2007(11):29-32.

定位测试 篇2

1.以下关于“管理”的定义,最合理的是: √ A B C D 将人与资源结合,达到最佳配合 运用各种资源达成企业目标的过程 将各种资源进行互补,从而达到最高效率 开发员工的人力资源,从而提升员工的工作技能

正确答案: B

2.企业是商业机构,追求价值最大化,21世纪企业的盈利模式是: √ A B C D 促进销售,扩大份额 促进销售,忠诚客户 满意服务,忠诚客户 满意服务,扩大份额

正确答案: C

3.21世纪的组织结构为倒金字塔形,以下选项不属于这个结构的有: √ A B C D 企业最高领导在最上层发号施令 客户在最高一层

一线员工给客户提供卓越的服务 二线员工给一线员工提供服务

正确答案: A

4.现代管理被称为领导艺术,其特点包括: √ A B C D 刚性的 严格的 有客观规律的 需要领悟意会

正确答案: D 5.管理理论的发展分为四个阶段,其中认为“工人就是机器,改善工作流程可以提高工作效率”的阶段是: √ A B C D 科学管理理论 人际关系理论 系统理论 权变理论

正确答案: A

6.在企业中,合理的模式是领导做对的事情,主管把事情做对,员工愉快地做事。那么,主管的价值在于: × A B C D 专业能力素质 做正确的决策

集合员工的力量达成企业绩效 实施具体操作

正确答案: C

7.作者认为主管的自身角色共有四种,其中不包括的是: √ A B C D 学习者 模范者 监督者 建设者

正确答案: C

8.传统管理的层次分为高层领导、中层主管和一线主管,其中一线主管解决的问题是: √ A B C D 为什么 何时做 如何做 干什么 正确答案: B

9.在“问题猴子”产生之后,判定结果是将其作为训练下属的大好机会的条件是: √ A B C D 风险小、责任小、下属能力足够 风险大、责任大、下属能力远远不够 风险小、责任大、下属能力远远不够 风险大、责任小、下属能力足够

正确答案: B

10.在传统管理的层次中,对概括技能要求最高的是: √ A B C D 普通员工 一线主管 中层主管 高层领导

正确答案: D 判断题

11.产品产量和营业额都在提升,利润率却在下降,根本原因是同品质产品的成本上升了。此种说法: √

正确 错误

正确答案: 错误

12.随着企业盈利模式和组织结构的变化,管理者的工作重点由“计划、执行、控制”转向了“培育、激励、授权”。此种说法: √

正确 错误

正确答案: 正确

13.管理理论的第三个发展阶段是系统理论,它认为工人是人,有需求且需要激励,高效率的工作来自于良好的人际关系。此种说法: √

正确 错误

正确答案: 错误

14.对企业而言,没有最好的管理,只有最合适的管理。此种说法: √

正确 错误

正确答案: 正确

15.企业在危机、变革、重大转变或初创期的时候,管理模式应该采取行为型。此种说法:正确 错误

定位测试 篇3

为解决无线传感器网络的定位精度问题, 2002年11月, IEEE开始酝酿建立低速无线个人局域网 (Wireless Personal Area Network, WPAN) 物理层标准IEEE802.15.4a, 其目的是提供比IEEE802.15.4更高测距精度及定位能力[2]。IEEE于2007年形成了一个融合多家提案的基本纲要。在这份纲要中, 明确定位应用两个可选的物理层:于2.4 GHz免授权频段的线性调频扩频技术 (Chirp Spread Spectrum, CSS) 和工作于3.1~10.6 GHz频段的IR-UWB技术。对于测距精度的具体解决方法是放弃RSSI定位技术, 采用信号飞行时间测距方法。信号飞行时间测距具有测距精度高、测距精度稳定、测距精度不随距离增加而降低、不易受外界环境干扰的优点。IEEE又于2011年提出IEEE802.15.4—2011标准, 定位应用仍只有CSS和IR-UWB两个可选物理层[3], 其中IR-UWB相对于CSS技术能够实现更高定位精度, 最高可实现10 cm定位精度, 但目前IR-UWB定位系统被少数国外厂家垄断, 定价较高, 例如英国Ubisense公司一个定位单元售价超过10万元, 这大大限制了IR-UWB定位技术的推广应用。

本文基于IEEE802.15.4—2011标准中的IR-UWB技术开发高精度射频定位系统, 采用Decawave公司的DW1000芯片设计射频定位系统通信节点, 应用SDS-TWR实现测距。测试结果显示在视线传输 (Line of Sight, Lo S) 条件下可实现10 cm测距精度。IR-UWB技术的突出优点为多径误差小, 在室内设置遮挡物对多径误差进行测试, 结果显示在非视线传输 (Not Line of Sight, NLo S) 条件下可实现30 cm左右的测距精度, 在测距精度和抗多径干扰能力两方面均优于CSS技术, 比RSSI测距精度高出一个数量级。最后采用To A定位算法设计定位单元, 测试结果表明该系统在室内环境可达到分米级定位精度。

另外本文设计的IR-UWB通信节点最高传输速率达到6.8 Mbit/s, 也可应用于数字家庭网络领域。组建家庭娱乐网络, 可以被内置在电视、DVD、机顶盒、音响以及投影仪等家庭娱乐设备上, 用来传输高品质的多媒体数据。

1 信号飞行时间测距原理

在信号飞行时间测距中, 影响测距精度的一个重要因素是信号发射到达时间估计的精确度, 根据克拉美·劳下界计算公式, 该精确度与信号带宽成正比, 因此IR-UWB应用于信号飞行时间测距相比传统窄带信号可获得更高时间测量精度。另一方面基于时间测量定位技术在实际应用中的主要问题是测量精度易受多径干扰影响, 而IR-UWB信号在时域是时间极短的高斯脉冲, 通常是ns数量级, 在多径环境下多径反射信号和直射信号在时间轴上是可分离的, 相对于窄带信号具有更好的多径分辨能力[4]。因此IR-UWB在基于时间测量的测距及定位应用中具有传统窄带信号无可比拟的优势。

在信号飞行时间测距中时钟抖动对测距的影响也不可忽视, 1 ns的时间测量误差, 即可造成30 cm的测距误差, 而晶振漂移造成的时钟抖动不可避免。为减小测量误差, 在IEEE802.15.4a标准中建议采用SDS-TWR算法滤除时钟抖动提高测距精度[5]。

双边测距 (Two Way Ranging, TWR) 过程如图1所示。

节点A发送测距信号1并检测发送时间τAS, 节点B接收到测距信号并测量信号到达时间τBR。由于节点A, B之间没有时钟同步, 无法得到测距信号传输时间tp。采用双边测距后, 节点B延时tReply B后发送测距信号2, 节点A接收信号2并检测信号到达时间τAR。则可以得到

考虑晶振偏差的影响, 则测量结果应为

式中:eA, eB分别为节点A, B晶振偏差造成的测量误差。

将 (τAR-τAS) =2tp+tReply B和 (τBS-τBR) =tReply B代入式 (2) 得

由于tReply B远大于tp, 则上式简化成

通过式 (4) 可以看出TWR通过晶振偏差eA, eB的差分运算, 滤除晶振偏差影响, 可大大减小测距误差, 并可以在此基础上采用SDS-TWR进一步提高测距精度。如图1中所示, 节点A收到节点B的回复信号2后, 延时tReply A时间后, 回复信号3, 则可完成两次双边测距, 即SDS-TWR测距, 测距结果计算公式为

同样考虑晶振偏差, 根据式 (4) , 式 (5) 得到

由于tReply B远大于 (tReply A-tReply B) , 对比式 (4) 和式 (6) , 可得SDS-TWR相对于TWR可实现更高测距精度, 这使得通信节点在不采用高精度晶振的情况下, 仍可获得较高的时间测量精度。采用SDS-TWR测距虽然可以保证测距精度, 但需要信号的多次往返来完成一次测距, 实际应用中存在测距时间长、功耗大的问题。

目前支持SDS-TWR测距方式的射频芯片主要有:德国Nanotron公司推出的NA5TR1芯片, 采用CSS通信技术, 最大带宽80 MHz;爱尔兰Decawave公司2013年最新推出的DW1000芯片, 采用IR-UWB技术, 信号最大带宽1 300 MHz。

2 通信节点硬件电路设计

为实现高定位精度, 通信节点采用Decawave公司推出的DW1000射频芯片, 典型带宽500 MHz。支持6个信道, 频率范围3.5~6.5 GHz, 采用脉冲位置调制 (Pulse Position Modulation, PPM) 和二进制相移键控 (Binary Phase Shift Keying, BPSK) 调制方式, 发射功率-35~-62 d Bm/MHz可调, 最大测距距离290 m, 可实现10 cm测距精度, 最大通信速率为6.8 Mbit/s。

DW1000芯片内部集成63.897 6 GHz采样时钟, 计时分辨率为15.65 f/s (帧/秒) , 保证了测距过程中的时间测量精度。发送数据帧格式参照IEEE802.15.4—2011标准, 包括前导码 (Preamble Code, PC) 、数据帧分隔符 (Start of Frame Delimiter, SFD) 、数据帧头 (Physical Layer Header, PHR) 、数据区部分。芯片在发送数据时, 可以记录发送数据中PHR首字符发出时的时钟计数, 同样接收时也可以测量记录接收数据PHR首字符到达的采样时钟计数。另外可以采用延时发送机制, 根据当前时钟计数, 设定延时时间, 可以精确计算将要发送数据PHR首字符发出时的时钟计数, 并可将该时钟计数值加入到数据包中, 发送给接收方。这些功能保证了DW1000可以实现图1中的SDS-TWR测距。

如图1所示节点A在测距过程中可以测量信号1的发送时间τAS, 信号2的到达时间τAR, 并采用延时发送计算信号3发送时间τAf, 在发送的信号3报文中加入τAS, τAR, τAf发送给节点B, 节点B则可以根据图1中的测量值τBR, τBS, τBF及接收的节点A报文中数据, 根据式 (5) 计算A, B之间距离。另外DW1000测量的信号发出时间只是信号发生电路发出信号的时间, 计算飞行距离时仍要考虑天线造成的延迟。

控制器采用意法半导体 (ST) 公司的STM32f10532 bit ARM微控制器, 自带完整的SPI接口控制器, 能够胜任对DW1000射频芯片的控制及数据收发工作。并且集成串口控制器、USB控制器、Ethernet控制器, 可用于实现与上位机的通信。

3 测距精度测试与多径误差测试

相比RSSI测距, 信号飞行时间测距精度更高更稳定, 能够很好地抵御环境干扰, 当信号受到干扰时只会缩短距离而不会产生较大测距误差。但其测距精度也受多径干扰的影响, 本文分别在室内Lo S和NLo S环境下, 对采用DW1000的通信节点测距精度进行测试, 并与基于CSS技术的NA5TR1芯片测距精度进行对比, 测试时采用DW1000的通信节点带宽设置为500 MHz, 采用NA5TR1的通信节点带宽设置为80 MHz。两组通信节点都采用SDS-TWR测距算法。

3.1 LOS环境测距精度测试

在室内LOS环境下, 分别采用DW1000通信节点和NA5TR1通信节点, 在0.5~10 m多个距离下的50次重复测量, 计算测距标准差。图2为测量结果, 显示基于IR-UWB技术的DW1000测距标准差小于5 cm, 而基于CSS技术的NA5TR1测距标准差在10~25 cm之间。两者测距精度均优于RSSI测距的3~5 m测距精度, 并且500 MHz带宽IR-UWB技术相对于80 MHz带宽CSS技术可实现更高测距精度。

3.2 NLOS环境多径误差测试

信号飞行时间测距精度主要受多径干扰影响, 尤其在室内环境信号会经天花板, 墙壁反射形成多径传输[6]。为测试多径干扰造成的测量误差, 在室内环境两通信节点固定在4 m距离, 测试不同遮挡物对测量精度的影响, 如图3中所示, 采用IR-UWB技术50次重复测量最大测距标准差为0.35 m。而采用CSS的通信节点在相同条件下测距标准差较大, 恒正系统误差数值较大, 并且测距结果受天线方向影响较大, 说明CSS技术在室内环境无法准确区分经天花板、地面、墙壁反射的多径信号与直射信号, 应用于室内环境必须考虑多径干扰的影响, 目前CSS技术在实际应用中多采用双天线设计, 通过开关切换先后采用两个天线测距, 取两次测距较小值作为测量结果, 这必然会增加测距时间和功耗[7], 相比较IR-UWB室内环境下受多径干扰影响不大, 更适合于室内环境定位应用。

另外需要补充说明的是本文所进行的多径误差测试, 只能说明在相同条件下500 MHz带宽IR-UWB技术抗多径干扰能力明显优于80 MHz带宽CSS技术, 由于多径误差受测试环境影响较大, 具体多径误差数值仅供参考。

4 定位单元设计及精度测试

To A定位就是测量出2个 (或多个) 参考节点与移动节点之间的信号传播时间, 从而得到2个 (或多个) 移动节点到参考节点距离的估计值, 以基站为圆心, 到移动台的距离为半径画圆, 图4所示多个圆的交点就是移动节点的估计位置, 测量移动节点到固定参考节点的信号飞行时间, 得到R1, R2, R3, 计算移动节点的相对坐标。To A定位需要移动节点和参考节点均实现时钟同步, 技术实现难度较大, 目前多采用SDS-TWR测距, 依次测量移动节点到多个参考节点之间的距离实现非时钟同步的To A定位。

采用SDS-TWR测距的To A定位主要优点是不需要时钟同步, 缺点是需要移动节点多次发射接收信号, 定位速度慢, 定位系统移动节点容量小, 功耗大。

具体求解过程如下, 已知A, B, C, D为位置已知的4个参考节点, 其平面坐标分别为 (x1, y1) , (x2, y2) , (x3, y3) , (x4, y4) , M点为移动节点, 设它的平面坐标为 (x, y) 。测得移动节点到定位基站的坐标分别为d1, d2, d3, d, 得到如下方程组

式 (7) 中4个方程2个未知数, 该方程组属于超定方程组, 没有精确解, 可通过求解最小二乘解确定移动节点坐标。

为验证IR-UWB定位精度, 在室内16 m×18 m办公室环境下, 布置4个参考节点, 高度2 m。移动节点在Lo S条件下选取10个测量点, 测得的二维定位标准差如图5所示, Lo S条件下标准差不超过10 cm。NLo S条件下重复上述测量过程, 选点模拟常见办公环境遮挡情况, 通常移动标签到1~2基站有遮挡物, 遮挡物为办公桌或人体, 如图5中所示, 测量结果中标准差40 cm。

5 结语

IR-UWB术是目前高精度定位应用最佳物理层技术, 本文采用Decawave公司的IR-UWB射频芯片DW1000设计定位系统通信节点, 对测距及定位精度进行了测试, 结果显示IR-UWB具有较强抗多径干扰能力, 在室内环境下可实现分米级定位精度, 并且其高传输速率使其在无线多媒体传输领域具有很好的应用前景。相信DW1000芯片的推出会推动IR-UWB技术的应用, 打破少数国外厂商垄断国内高精度定位系统市场的格局。但作为商用定位系统的开发还需开展以下研究工作:

1) 室内应用影响定位精度的主要因素为多径干扰, 可通过多径识别及滤波算法, 进一步提高NLo S条件下定位精度;

2) 基于SDS-TWR测距的To A非时钟同步定位由于移动节点要求至少与3个基站完成测距, 定位时间长, 导致定位系统容纳移动节点数量小, 移动节点能耗大。基于时钟同步的TDo A定位算法则可解决上述问题, 但高精度的时钟同步实现较为困难。

3) 定位系统在现场应用还需解决参考节点组网通信协议、多标签防冲突算法设计、标签低功耗设计等问题[8]。

参考文献

[1]彭宇, 王丹.无线传感器网络定位技术综述[J].电子测量与仪器学报, 2011, 25 (5) :389-399.

[2]王振朝, 曹永青, 韦子辉.基于WSN的射频定位技术[J].河北大学学报, 2013, 33 (5) :554-559.

[3]张中兆, 沙学军.超宽带通信系统[M].北京:电子工业出版社, 2010.

[4]周祥为, 冯金振.UWB无线通信关键技术与应用[J].电视技术, 2007, 31 (9) :51-54.

[5]IEEE 802.15.4 a—2007, IEEE用于无线个人域网 (WPAN) 的物理层和媒体接入控制层规范[S].2007.

[6]TINGCONG Y, WALSH M, O’FLYNN B.Experimental analysis of transmit-power for IEEE 802.15.4a UWB ranging under multipath environment[C]//Proc.Signals and Systems Conference (ISSC 2012) .Maynooth:IET, 2012:1-6.

[7]KANG H, SEO G, LEE W J.Error compensation for CSS—based localization system[C]//Proc.the World Congress on Computer Science and Information Engineering.Los Angeles:IEEE Press, 2009:2-9.

定位测试 篇4

引言

目前, 能对室内目标进行快速、精确定位, 同时具有高性价比的系统的开发引起了人们的关注。对煤矿地下人员进行定位可以有效防止人员进入危险地带, 还可以在事故中快速完成搜救;对地下停车场中车辆进行定位, 可以辅助完成车辆停车, 也可以满足租赁汽车行业对所租车辆在GPS无法覆盖的地下车库中的定位需求;在舞台上, 灯光跟踪演员时靠人眼不够准确快速, 对演员精确的定位可很好的满足灯光跟随的要求;在室内反恐训练及行动中, 对武警进行精确快速定位有助于战术的训练、制定及评估。由此可见, 室内定位具有广阔的应用前景。

室内定位技术主要有红外线技术、Zig Bee技术、无线蓝牙技术、射频识别技术、超声波技术、超宽带技术和光跟踪技术。与其他技术相比, 超声波技术定位精度高, 定位速度快, 产品成本较低, 设备易于安装, 定位目标所携带标签体积小, 受环境影响小、抗干扰能力强, 能够很好的满足室内定位的需要。

研究方法

室内移动目标超声定位系统原理

室内移动目标超声定位系统为一种房屋、楼宇环境下室内目标的声波定位技术, 尤其涉及多个移动目标的实时声波定位。为实现特警战士反恐训练目标, 将无线互联网技术和声学定位技术相结合, 提供一种高精度的复杂楼宇环境定位技术。其定位过程是:首先, 由“无线查询-同步”控制系统 (WISC) 发射定位查询指令, 移动目标 (标签) 在WISC的指令下定时发射超声脉冲。与此同时, 空间分布的定位传感单元也在该WISC指令同步下接收超声脉冲, 通过以太网将定位数据传输给WISC系统, WSIC根据传播时延测距直接解算标签位置, 最后及图像处理终端。如图1所示。

定位系统由三个组成部分:WISC无线控制系统、有源声学标签和定位传感单元。定位传感单元一般是一个房间设置一个, 有源声学标签一般是十多个。将多个房间的数据最后在WISC系统中进行图像模拟显示, 最终完成多移动目标、多房间的实时定位。

室内移动目标超声定位系统的设计

无线控制系统 (WISC) 设计

无线控制系统 (WISC) 主要完成2项工作:

1) 与声学定位标签进行无线通讯, WISC需要对系统中的所有标签和定位传感单元逐个进行自检 (无线) , 其中, 标签发射的回复指令由定位传感单元接收后通过以太网传回给WISC, 定位传感单元的回复指令直接通过以太网传回给WISC。WISC需要针对指定标签发出定位查询指令, 标签在收到WISC的定位查询指令后, 发射自身状态信息 (主要是罗经参数) , 由定位传感单元接收后通过以太网传回给WISC。

2) WISC需要将收到的超声波接收延时数据进行解算, 得出定位标签的准确位置, 并将位置数据和标签传送的罗经数据进行图像处理, 得到模拟的空间位置图像。

其定位算法采用三球定位算法。将超声波的时间差定义为一组声波数据。声波数据与声速的乘积就为声源到达测量点的实际距离, 利用三组超声波数据, 可以对目标进行三球定位。三球定位法中目标的位置是由以各站为圆心, 以各站同时测量目标的距离为半径的三个球的交点来确定。实际环境中, 我们根据定位空间的大小搭建了一定数量的测试点, 将同一时刻接收到信号最强的三个测试点的数据定义为有效数据。现有8个测试点, 假设选中的测试点为1号、3号、7号。坐标分别一记为 (X1, Y1, Z1) , (X3, Y3, Z3) , (X7, Y7, Z7) , 信源到达3个测量站的时间分别为t1, , t2, t3, 超声波在空气的传播速度为C, 则利用三球进行定位的公式为:

通过对超声波的物理特性的分析, 我们知道超声波在空气中传播时, 温度对超声波的传播速度有很大的影响

式中——气体定压热容与定容热容的比值;

R——气体普适常数;

T——气体绝对温度;

M——气体分子量。

在通常情况下, 上式中R、M对超声波在空气中的传播速度影响不大, 可视为常量看待。在本系统中, 在每个温度上下5 OC, 均以10 OC取整, 如表1。

由式1、2、3、4可得出声学标签位置 (X, Y, Z) 。

由于本系统主要用于人员的定位, 所以设计了人员朝向解算功能。

定位标签发送给WISC的罗经数据中含有3组16位的罗经数据及加速度g的数据。计算原理如下:

如图2, 坐标系的X、Y轴在水平面内, X轴为前进方向, Y轴垂直于X轴向右, Z轴沿重力方向向下, 从磁北方向顺时针到X轴的夹角即为方位角α。俯仰角ϕ为加速度罗经系统纵轴与水平面之间的夹角, 滚转角θ为加速度罗经系统Z轴与过X轴的铅垂面之间的夹角。当加速度罗经系统不水平时, 测得重力加速度g在加速度罗经系统三轴方向的分量分别为Ax, Ay, Az, 则根据坐标关系可求得俯仰角和滚转角为:

此时, 磁传感器测出的地磁场在加速度罗经系统三轴方向的分量为HX, HY, HZ, 由坐标关系得水平方向磁分量:

可求得方位角

角即为待定位人员朝向与正北方向的夹角。

当多个定位标签同时移动时, 没间隔30ms对多个标签各定位一次, 得到每个标签的不同时刻的位置数据和罗经数据, 然后对室内空间进行建模, 将各个定位标签的轨迹直观的显示出来, 即完成了位置解算、朝向解算以及图像显示。

声学标签设计

在硬件上声学标签使用了9个模块:电源模块、稳压模块、MCU模块、罗经模块、加速度模块、无线模块、JTAG模块、功放模块、发声系统。电源提供电给稳压模块, 稳压模块将电压稳定于3.3V, 用于给其他7个模块供电。硬件结构示意图见图3。MCU模块采用超低功耗的MSPF430F1611单片机, 并使用了其中的DMA模块。罗经模块采用了HMC5983芯片, 并对其进行I2C通讯, 配置使用其中的罗经定方向的功能。加速度模块采用了KXTF9芯片, 并对其进行I2C通讯, 配置使用其中的加速度定方向的功能。无线模块采用了TI公司的CC1101芯片, 并对进行了SPI通讯, 控制发送和接收无线信息。功放模块采用了LM4880芯片, 对该芯片进行外围电路设计, 完成了信号的放大及驱动功能。发声系统设计了1:50的小体积变压器, 发声传感器, 完成了电信号到声学信号的转化。

在软件设计上, 其流程图如图4。当上位机通过无线模块呼叫标签后, MCU模块开始把声学数据通过内部的DMA发送给功放模块, 功放再将电压信息进行放大, 同时驱动后面的发声系统, 放大后的电压信号传给声学系统, 声学系统中含变压器, 最后转换成声学信号即超声波发出;同时, MCU通过I2C与罗经模块和加速度模块进行通讯, 接收它们收集的罗经与加速度数据, 然后MCU将这些信息通过无线模块传递给上位机。

传感定位单元设计

传感定位单元主要完成超声波信号的接收, AD转换。其核心部件是超声波接收探头。接收探头由超声波传感器和传感器外围电路构成。

本系统采用压电式超声波传感器。压电式超声波传感器常用的材料是压电晶体和压电陶瓷, 它是利用压电材料的压电效应来工作的。本系统设计的超声波传感器其主要由金属网、外壳、扬声器、压电晶片、底座、引脚等部分组成。其接收频率主要在25KHz左右。

研究结果和分析

在长8米, 宽4米, 高4米的空间中搭建实验环境, 如图5所示。屋顶的1、2、3、4、5、6、7、8号为超声波接收探头, 传感定位单元的主要组成部分。A、B、C为带定位人员, 人员各携带一枚声学定位标签。当各人员在室内开始移动, 由WISC系统每30ms发送一次定位查询指令。

在标签接收到查询指令后通过单片机内部DA发出26KHz的超声波, 其波形如图6, 图7反映单片机输出电压的电平特性。

传感定位单元在接收到超声波信号后, 将数据传给WISC系统。解算数据如表2所示。

WISC系统解算出的人员位置高度误差在5cm内, 平面位置误差在10cm内, 定位速度在30ms内, 人员朝向误差在5°以内。该精度能够满足室内人员定位要求。

小结

本文提出了一种室内人员定位系统的设计方案, 该系统能满足多目标在快速移动中的跟踪定位。同时对位置解算方法作了深入研究, 并且针对人员定位的特殊性增加了确定人员朝向的设计。在实际环境中对系统进行测试, 测试结果表明能在30ms内对多移动目标进行精确到10cm以内的定位, 人员朝向确定误差在5°以内, 可以满足人员室内定位的需求。

定位测试 篇5

卫星有源接收天线由天线和所带低噪声放大器两部分组成,在接收天线性能测试过程中,受天线自身所带放大器增益的限制,其输出的信号功率无法达到后端测试设备最低输入灵敏度的要求,存在接收天线与测试接收机接口会出现不匹配的问题。在天线与测试设备之间必须增加一个接口转换装置才能有效地完成天线性能的测试。

1 有源天线性能测试

一般无源天线测试的基本原理框图如图1所示。

随着卫星定位系统应用领域的扩大,许多情况下要求必须对其接收天线的性能进行测试。

在微波暗室完成卫星接收天线性能的测试,标准天线只能作为发射天线,因为卫星有源天线内含有低噪声放大器,其工作模式为纯接收方式。发射与接收之间的间距是固定的。用于反映信号场强大小的接收机性能也是固定的。另一方面卫星接收天线一般是对-140 dBm的微弱信号进行放大,其增益动态范围和输出端口的动态范围很小,一般用它来对接收机的增益进行补充,因此反馈给它的输入信号功率电平不能太大。有源接收天线其输出端的功率为-120 dBm左右,而微波暗室里的场强接收机(实验室里的频谱分析仪、网络适量分析仪等接收设备等)接收灵敏度为-80 dBm左右,所以在整个测试回路里必须有40 dB左右的增益补充。

所以在实际测试过程受测试条件和待测天线自身所带放大器增益限制,卫星有源接收天线输出端口的信号功率无法达到微波暗室场强测量接收机的正常接收灵敏度要求。另外正常工作时有源天线的工作电源是后端接收机通过射频电缆供給,而在暗室进行测试时场强接收机无此能力,这样就存在接口不匹配的问题。

基于在微波暗室测量卫星有源接收天线所存在的问题,在待测天线与后端测试设备(场强接收机、频谱分析仪、网络分析仪等)之间增加一个接口转换装置来满足后级测试设备的需求。

2 有源接收天线性能测试接口转换装置

接口转换装置在整个测试链路的位置,与前端待测天线、后端测量设备之间的连接关系如图2所示。

接口转换装置安置在待测有源天线和测量仪器之间,它必须对由卫星接收天线接收下来的射频信号具有大于40 dB的增益;为保证整个传输链路信号的信噪比,必须具有低的噪声系数(小于1)并满足电路匹配和供电匹配。

按照测试要求待源天线与后端测试设备之间的接口转换装置包括:与有源天线、后端测试设备对应的SMA接头;具有一定功能的低噪声放大器;直流电源隔离电路;防浪涌冲击电路。其接口转换装置的结构如图3所示。

2.1 直流电源隔离电路

直流电源隔离电路除给接口转换装置提供一正常工作电压外还要给卫星接收有源天线里的低噪声放大器提供一低纹波的工作电压。其技术特点是输出多路低纹波的±12 V,±5 V的工作电压。实际电路用目前技术比较成熟的微带传输线、瞬态电压抑制二极管、电阻、电容、电感及DC/DC模块等器件就可以实现。

2.2 低噪声放大器

低噪声放大器是接口转换装置的核心器件,为接口装置提供了适宜的增益(大于40 dB),保证了装置的噪声特性(前级放大器的噪声系数在0.9左右,由于它起的是一个桥梁作用,其噪声系数也必须小于1),满足了测试过程中射频信号变化的线性动态范围(动态范围在60 dB左右)。

接口转换装置输出增益就是所设计低噪声放大器的增益。该放大器的增益与所测天线自带的放大器的总增益在60 dB左右即可满足使用要求。一级放大电路仅能提供小于20 dB的增益,而有源天线自带放大器增益只有十几分贝,所以该低噪声放大器设计成两级放大器,器件采用ATF54143晶体管。

对第一级放大电路优先考虑噪声系数,后一级放大电路主要考虑稳定性, 第一级输入按最佳噪声设计匹配电路,输出对增益的平坦度进行一定的补偿,第二级按最大增益设计匹配,使放大器有较高的增益,并使幅频特性为最佳平坦。其低噪声放大器结构框图如图4所示。

低噪声放大器的偏置电路中晶体管的S参数和噪声系数是在特定的静态工作点测得的,静态直流工作点不同,各参数也会有变化,为了准确地设计,选择参数测定时的工作点为放大器的工作点。图5是取静态工作点为Vds=4 V,Ids=10 mA ,得到Vgs=0.45 V的直流特性曲线,m1所指曲线为选定的直流特性曲线。

匹配电路包括输入、输出和级间匹配电路,设计中借助Smith 圆图完成匹配电路的设计。

2.3 防浪涌冲击电路

防浪涌冲击电路是阻止整个天线测试过程中浪涌电流对有源天线及低噪声放大器的损坏,有效地保护了整个信号接收链路里的测试装置。电路实现采用专用绕线电阻、高频二极管、高频三极管、电感、电容进行组合,形成防浪涌冲击电路。

3 仿真验证

ADS是在射频微波领域具有强大的功能、丰富的模板支持和高效准确的仿真能力的EDA软件,包括从频域和时域电路仿真到电磁场仿真的全套仿真技术。

利用ADS仿真软件对低噪声放大器电路进行仿真。仿真得到的低噪声放大器工作频率为1.3~1.8 GHz,NF<0.76 dB,Gain>30 dB 、输出驻波比:VSWRout≤2.1,输入驻波比:VSWRin≤1.7。其性能指标以及其曲线如图6~图9所示。

从图6中可以看出在1.3~1.8 GHz之间,两级放大器的增益大于设计指标要求的30 dB。

在两个稳定性测量方程 Mu 和 MuPrime下满足稳定性的要求。

从仿真结果看,基于ATF-54143射频晶体管实现的低噪声放大器具有宽的线性功率范围(比所测天线自带的低噪声放大器的线性功率范围宽30 dB左右)、大的功率增益(该放大器的增益与所测天线自带的低噪声放大器的增益加起来总增益在60 dB左右)、低的噪声系数(噪声系数与增益之比远小于所测天线自带的低噪声放大器的噪声系数与增益之比)和低的增益平坦度(0.1 dB)。

4 结 论

本文提出了在待测有源天线和测量仪器之间连接一个接口转换装置。该装置由SMA接头、低噪声放大器、直流电源隔离电路和防浪涌冲击电路构成。仿真表明,该低噪声放大器具有宽的线性功率范围、适宜的功率增益、最佳的噪声系数和低的增益平坦度。该接口转换装置能有效地完成在微波暗室里进行的卫星有源接收天线性能测试。

该接口转换装置还可用于实验室通过网络分析仪或频谱分析仪对类似卫星信号这样的微弱信号进行分析,具有一定的实用价值。

参考文献

[1]陈邦媛.射频通信电路[M].北京:科学出版社,2006.

[2]刘长军,黄卡玛,吕丽萍.射频通信电路设计[M].北京:科学出版社,2005.

[3]宫波,李淑华.基于ADS的通信设备低噪声放大器改进设计与仿真[J].电子设计工程,2010,18(2):121-124.

[4]周伟中.低噪声放大器的仿真设计[J].科技资讯,2010(14):30-31.

[5]者奕宁.无线局域网双频微带天线及低噪声放大器的设计[D].大连:大连海事大学,2009.

[6]翟剑.超宽带系统中信号设计与频谱优化问题的研究[D].保定:华北电力大学,2009.

[7]韩文涛.SiGe高线性低噪声射频放大器的研究与设计[D].成都:电子科技大学,2009.

[8]张凯.小型化高性能的低噪声放大器[D].济南:山东大学,2009.

[9][美]Reinhold Ludwig,Pavel Bretchko.射频电路设计[M].王子宇,张肇仪,徐承和,等译.北京:电子工业出版社,2002.

定位测试 篇6

本文介绍设计的软件用于某卫星定位组件的输出数据地面检测,利用串口技术能够实时接收组件发送的串行数据流数据,拥有数据包解调、显示、存储,对结束数据具有二次计算分析能力,能覆盖卫星定位分组件工作状态测试所需的所有测试参数内容。按接口技术要求命名该软件为卫星定位组件实时422数据处理软件,其软件采用图形化用户界面,具有以下特点:

(1) 功能区域划分清楚。界面分为信息输入区、功能操作区、数据显示区、状态提示区等分区,一目了然;

(2) 操作简单。功能操作区采用“一键实现功能”设计,易于上手;

(3) 信息显示直观。在数据显示区域针对不同参数的不同特点选用适当的显示方式,如:卫星信噪比信息采用数值显示与柱状变化条相结合的显示方式,CEP采用曲线显示;

(4) 附加功能便利用户。实时422数据处理软件初始化时直接读取配置文件中记录的历史GPS基准值、数据文件存储路径等信息,避免每次运行时用户都要重复设置。

1软件设计与实现

为了满足各项功能需求,将软件划分为若干功能模块,其软件模块结构如图1所示。

各模块间关系及数据处理流程如图2所示。卫星定位组件实时422数据处理软件分为外部接口和内部接口两部分。

1.1 外部接口

实时422数据处理软件的外部接口分为数据采集模块和储存输出模块两部分。

1.1.1 422数据采集模块

硬件连接方式:将计算机串口与卫星定位组件接口连接。

软件采集模块:配置串口,遵从422通信协议,通过串口通信控件实现串口接收数据的功能。软件使用事件驱动法设计程序,在捕获到所需事件后,判断事件属性若为“收到指定字节数据”,接收缓冲区数据进行后续处理;判断事件属性若发生错误,清空缓冲区。

1.1.2 422存储输出模块

422存储输出模块以数据解调模块输出的解调数据为输入,有2种输出文件,一种是二进制文件,后缀为.dat;另一种是文本文件,后缀为.txt。用户在采集状态下使用“存储”功能时,软件自动以当前时间为依据生成文件名(用户可自定义前缀),同时建立二进制文件与文本文件。二进制文件将接收到的十六进制卫星定位数据包不经任何处理整帧写入文件,用于保留卫星定位组件发送数据的原始状态。文本文件则把解调好的数据包参数值按如图3所示的格式进行排列,以行为单位写入文本文件,用于事后的数据处理。

图3中:“>GPS”一行按顺序存储GPS数据包中的所有参数数据,XXXX代表解调出的参数数值;“>Sta”一行存储卫星状态数据包中的参数数据,No代表卫星号,XX代表对应卫星的信噪比。

1.2 内部接口

实时422数据处理软件的内部接口主要是卫星定位数据包解调模块和二次计算分析模块。其中数据包解调模块以数据采集接口的接收缓冲区数据为输入/输出的解调数据传给数据刷新显示模块及存储输出模块,进行界面刷新显示和文本文件写入存储。

1.2.1 数据包解调模块

数据包解调模块要自动辨别接收到数据中包含的卫星定位数据包,某卫星定位组件输出的4种帧格式数据包为:GPS数据包、卫星状态数据包、GLN数据包、BDGLN数据包。数据包结构如下所示:

四种数据包中“数据”一项所含数据结构各不相同。且“数据包类型”一项填充不同值作为4种帧格式的判断标志,因此下文统称其为帧标志。帧标志定义如表1所示。

根据处理要求及卫星定位数据包特点,解调模块处理流程如图4所示。

在接收缓冲区的数据中逐字节判断出帧头位置,记录当前指针位置,再取出帧标志判断出待处理数据包类型,按此数据包包长取出帧头位置后对应长度数据,传入此包的解调函数进行处理,处理完成后更新指针位置,若当前指针位置小于缓冲区,循环做上述操作。针对4种不同数据结构的数据包,软件设计4个解调函数分别实现对应数据包的解调。

1.2.2 二次计算分析模块

二次计算分析模块主要功能是根据输入数据文件中的GPS信息计算所有包含参数的均值、方差、以及CEP。圆概率误差CEP(Circular Error Probable) 是在以真实位置为圆心的圆内,偏离圆心概率为50%的二维点位离散分布度量。模块的输入为422数据文本文件,输出为计算出的CEP以及δH,δLat,δlon,δX,δY,δZ值,并将其写入报告文件。软件分两种方法计算CEP,一种是由软件先读取数据做预处理,计算出X,Y,Z均值作为GPS基准值,然后逐行读取数据与基准值做运算最终算出CEP值,另一种是由用户输入GPS基准值计算CEP值。计算CEP的数据处理流程如图5所示。

2实施效果

软件从卫星定位组件原理样机阶段即开始使用,应用于组件原理样机、工程样机两个阶段产品的内场交付测试、跑车试验数据分析、抗干扰试验数据分析中,在组件研发时的问题暴露、组件交付试验、数据分析报告的编写等方面发挥了它应有的作用。实时422数据处理软件界面效果图如图6所示。

3结语

本文在卫星定位组件测试需求的基础上,完成了软件的设计和程序的编写、调试,实现了基于422接口的测试软件。软件使用FIFO数据结构实现实时100 s内定位数据CEP计算,提高软件效率达50%,满足实时性要求。FIFO优化设计,在占用内存资源相同的情况下,提高了算法的运算效率,大大降低了运算时延。对卫星定位组件输出数据的采集、存储、计算分析等功能都可在本软件内一键实现,操作简单快捷、参数显示直观。

参考文献

[1]李现勇.Visual C++串口通信技术与工程实践[M].北京:人民邮电出版社,2002.

[2]FORD William,TOPP William.Data structure with C++[M].刘卫东,译.北京:清华大学出版社,1998.

[3]谭浩强.C语言程序设计[M].北京:清华大学出版社,2001.

[4]管建和,夏军宝.Windows程序设计[M].北京:人民邮电出版社,2002.

[5]官章全,韩云君,李罡.Visual C++6.0高级编程范例[M].北京:电子工业出版社,2000.

[6]吴晓进,吴燕,程琳娜.卫星定位导航技术及应用跟踪研究[M].北京:信息产业部电子行业情报工作管理办公室,2007.

[7]李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005.

[8]李聪玲.液氧/煤油发动机试验控制系统软件架构与设计[J].火箭推进,2009,35(2):46-53.

[9]于海磊,陈锋,郑勤生,等.低温推进剂液位监测系统设计[J].火箭推进,2010,36(3):54-57.

定位测试 篇7

传统方法处理2M障碍时,需要到现场做环挂表, 以此来对2M业务的分段定位。但是有时候维护人员不能及时赶到现场,此时就不能有效处理障碍。华为网管或格林威尔的伪随机码测试功能能够提供2M业务的测试功能,可以代替传统的挂表测试,实现对障碍准确实时的定位。对于光口对接的2M业务,因为没有落地,此时2M业务无法直接测试,也没有告警产生,很难精确定位障碍。在华为网管上开通低阶通道监控告警,通过插入告警的方法可以定位障碍。对于网管不提供伪随机码测试的设备,可以通过在2M路径一端上插入告警,观察另外一端产生的告警来判断2M路径是否正常。

1 伪随机码测试

华为设备或格林威尔6300支路板提供伪随机二进制序列PRBS (Pseudo-Random Binary Sequence)功能模块,用于网络的自检和维护。可以根据PRBS测试中是否检测到误码来判断支路端口、线路方向、交叉方向工作通道是否正常。PRBS功能模块相当于一个简单的自发自收的非成帧业务的仪表。实现了PRBS功能的网元,可以作为一个简单的仪表,根据检测到的误码情况来分析业务通道是否有故障,并定位到存在故障的网元之间的光纤或者相关的单板。通过PRBS功能模块既可以分析本网元,也能分析整个网络的情况,在处理2M障碍定位时,可以做到无仪表测试。

1.1 两端均是华为设备的情形

在华为网管上创建一条2M路径。在南门内环、电力路做伪随机码测试。测试方向为交叉方向,此时测试的为南门到电力路路径,测试结果正常,如图1所示。在电力路做内环,电力路测试,测试方向为支路方向,测试结果正常。可见全程路由都是华为设备的电路可以通过华为网管提供的伪随机码测试和定位障碍。

1.2 华为设备与格林威尔6300对接的情形

创建一条华为到格林威尔6300的2M路径。在南门格林威尔6300向华为设备做环,电力路测试。测试方向为交叉方向,测试结果正常。可见,华为网管提供的伪随机码测试可以测试含有与华为设备对接的其他设备的2M电路。

1.3 利用格林威尔设备测试

在华为设备向格林威尔方向做环回,在格林威尔网元右击维护—E1离线测试端口配置,选中测试对象,测试方向选中“向VC12方向插入”,如图2所示;测试结果:2M通道没有误码,如图3所示。在格林威尔远端设备向格林威尔局端设备方向做环回,测试方向“向E1方向插入”,此时可以测试从远端设备到局端设备之间的链路状态。可见,格林威尔网管提供的E1离线测试端口配置,可以测试与格林威尔对接设备的2M电路。

2 光口对接的业务

光口对接的业务,因为没有业务落地,此时2M业务无法直接测试,也没有告警产生,传统上很难定位障碍。当某VC4高阶通道中配置低阶业务时,华为网管上,通过使能低阶通道的告警监视功能,如图四,用户可以对其中的低阶通道进行告警监视, 通常告警有TU_AIS_VC12, TU_LOP_VC12等。此时在路经上插入TU_AIS告警,检测对应的低价时隙通道能否收到TU_AIS_VC12告警,从而定位障碍。

3 告警插入

对于不提供伪随机码测试的功能的设备,可以采用插入TU_AIS告警来定位故障。以中兴设备为例,创建一条2M路径。在一端插入AIS告警,另外一端将会产生AIS,插入告警的一端会产生RDI。通过告警插入,观察路径上告警的出现,可以判断2M路径是否正常。

4 总结

定位测试 篇8

随着人们日常生活对计算机软件的需求不断增长,软件系统的规模和复杂度也在不断攀升,而对大规模复杂系统的测试和维护等需求超出了目前的测试与维护技术能力,因此也就出现了许多与软件失效相关的事故,并且大多数的失效都是由于软件错误导致的。软件发生失效后,如何找到引发失效的错误位置或引发失效的原因,就是错误定位[1,2,3,4]问题。而软件错误定位算法的复杂度高,并且冗余的测试用例会影响软件错误定位的准确性。为了降低错误定位的复杂度,提高错误定位的准确性,对如何选择有利于实现错误定位的测试用例开展研究则具有重要意义。传统的测试用例选择方法多数是面向软件测试的需求,追求的是测试的充分性,而面向错误定位的测试用例选择方法则是侧重于选择对错误定位有效的测试用例。所以面向软件测试需求选择得到的测试用例集合并不完全适用于错误定位,甚至有些冗余的测试用例还会影响到软件错误定位的准确性。为了提高错误定位的准确性并且降低其复杂度,研究面向错误定位的测试用例选择方法是极其重要的。

目前,面向软件错误定位需求的测试用例选择方法的研究也逐渐增多。如Renieris[5]等提出“近邻模型”,该模型的主要思想是在失效测试用例的邻域附近选择成功测试用例,利用失效测试用例和成功测试用例的测试信息进行差异分析以定位故障,但选择的方法是通过对比两条路径所执行的基本语句块的集合来实现的,未考虑在循环分支条件下语句块的执行序列。北京大学的郝丹[6,7]等人提出了一个测试用例选择算法,该算法基于测试用例的语句覆盖信息进行测试用例选择,可以有效地减少测试用例的数量,降低错误定位的复杂度,但因为该算法只考虑了语句覆盖信息,所以选择出来的测试用例影响了错误定位的准确性。Yu[8]等将相对冗余思想用于测试用例选择,提出基于语句的删减方法和基于向量(即语句集合)的删减方法,通过实验证明基于向量的删减方法更有利于错误定位。目前的测试用例选择方法,都只研究了程序运行时的语句覆盖信息,忽略了程序运行时的分支特征,因此,选择的测试用例对错误定位的准确性没有明显提高。

针对以上问题,本文提出了一种面向错误定位的基于分支聚类的测试用例选择方法,该方法分析了程序的具体执行路径信息,引入了聚类的思想,根据测试用例动态执行时的分支特征对测试用例进行选择。实验表明,本文方法可以有效减少测试用例数量,提高错误定位的效率和准确性。

1 测试用例选择算法

1.1 测试用例选择模型

本文提出的面向错误定位的测试用例选择模型如图1所示。该模型主要分为三个模块:数据预处理模块、基于分支聚类选择模块、错误定位模块。各个模块介绍如下:

(1)数据预处理模块。该模块主要完成了对测试用例套件数据的预处理,向源程序中插入探针,动态执行源程序,获取每个测试用例的插装信息。

(2)基于分支聚类选择模块。该模块首先根据语句覆盖信息对测试用例进行分组,然后根据路径信息提取出每条路径的分支特征,再利用分支特征对测试用例分组进行聚类,最后删除分类中冗余的成功测试用例。

(3)错误定位模块。该模块使用了基于统计分析的错误定位方法对错误语句进行定位,并生成错误报告。本文根据选择后的测试用例在错误定位技术中可疑语句的错误排名,来验证所选择的测试用例的有效性。

为了更好地理解并区分语句覆盖向量和执行路径向量,示例程序如图2所示,此函数的功能是求N(N=3)个数的最大数,当测试用例t为{13,11,5}时,其动态执行得到的语句覆盖向量是{6,7,8,9,10,12,13,16,17},路径向量是{6,7,8,9,10,12,13,10,12,13,10,16,17}。语句覆盖向量只考虑该语句是否被执行,而路径向量还考虑了语句的执行顺序和循环的执行次数等信息。

1.2 基于分支聚类的测试用例选择方法

该方法首先按照语句覆盖向量将测试用例分组,以保证每个语句覆盖向量都至少会保留一个测试用例,确保被保留的成功测试用例集合满足错误定位的高语句覆盖需求,而且按组进行聚类分析也会降低复杂度。文中采用分支特征来对测试用例进行聚类。从每个测试用例的路径信息里面提取各个分支的特征作为特征向量,每个分支的特征是根据一个测试用例动态执行中该分支执行结果为真的个数和执行结果为假的个数来计算的,其计算公式如公式(1)所示。

式中,si是程序中第i个分支的分支特征值;n是程序中分支的总个数;NTi是程序中第i个分支在当前测试用例的动态执行过程中结果为真的个数;NFi是程序中第i个分支在当前测试用例的动态执行过程中结果为假的个数。然后根据测试用例的路径信息,计算得到程序中的每个分支的特征值si,将程序中每个分支的特征值的集合作为该测试用例的特征向量,记为Sj={s1,s2,…,sn},其中,Sj为第j个测试用例的特征向量。为了更好地解释测试用例的特征向量,以图2中的实例程序进行说明,首先分析出程序的分支总个数为2个,分别是第10行和第13行,当输入为{13,11,5}时,路径向量为{6,7,8,9,10,12,13,10,12,13,10,16,17},对其分析可以得出程序第10行被执行了3次,其中2次为真,1次为假,所以分支特征为2/3,程序第13行被执行了2次且两次都为假,分支特征为0,所以当前测试用例的特征向量为邀2/3,0妖。

本文提取分组内的所有测试用例的分支特征向量,然后根据分支特征向量对分组内的测试用例进行聚类分析。通过采用基于层次法的聚类分析方法对分组内的测试用例进行聚类处理,得到多个类,再在每一类中随机地选择一个测试用例予以保留。基于分支特征聚类就是要把分组内分支特征相似的测试用例按聚类分布到一个组中,采用基于层次法的聚类分析方法对分组内的测试用例进行聚类处理,并使用了欧式距离来计算两个测试用例之间的相似程度,距离越小就说明这两个测试用例的分支特征越相似。基于分支特征聚类的算法描述如图3所示。其中,M是当前被处理的分组里面所有测试用例的分支特征向量的集合,D是距离阈值。

为了更好地理解这个算法,再次以图2中的实例程序进行说明,当程序输入为{5,11,6}时,路径信息是{6,7,8,9,10,12,13,14,10,12,13,10,16,17},该测试用例的分支特征是{2/3,1/2};当程序输入是{5,6,11}时,路径信息是{6,7,8,9,10,12,13,10,12,13,14,10,16,17},该测试用例的分支特征是{2/3,1/2},这两个测试用例将被聚合在一个类中。可以看出,这两个测试用例路径信息是不一样,但其路径信息很相似,本文通过基于分支特征的聚类将其聚集到一个类中,然后随机地选择一个测试用例保存即可。

2 实验结果与结论分析

2.1 基于统计分析的软件错误定位方法

根据软件失效的原理,软件发生功能故障时其执行路径一定经过了程序中与该故障相关的错误语句。与成功测试用例相比,失败测试用例的执行路径是有差异的,而这些差异中也包含了软件故障的信息。本文实验采用的错误定位技术为由Harrold等提出的Tarantula[9]方法。该方法认为只要是被失败测试用例执行的语句比被成功测试用例执行的语句更加值得被怀疑。该方法的语句怀疑度suspiciousness(s)计算公式如下:

式中,s代表语句,failed(s)代表执行了语句s的失败测试用例个数,passed(s)代表执行了语句s的成功测试用例个数,totalfailed代表失败测试用例总个数,totalpassed代表成功测试用例总个数。该方法计算出来的可疑度的范围是[0,1],一个语句的可疑度数值越大,该语句就越值得被怀疑。置信度是用来度量可疑度的可信程度,那些被较多测试用例执行的语句会具有较大的置信度,置信度confidence(s)计算公式如下:

Tarantula算法先按照语句可疑度从大到小来进行排序,当可疑度相同时,按照置信度从大到小排序,最终得出可疑语句的排名。某语句是错误语句的可能性越大,其排名越高,调试人员可以按照排名顺序对源程序进行检查。

2.2 实验数据

本文的实验数据是Siemens Suite[10],具体信息如表1所示。其中,第一列Program为程序名称;第二列No.为每个程序对应的错误版本个数;第三列Line为程序可执行代码的行数;第四列Num为每个程序提供的测试用例个数;第五列Description为每个程序的功能描述。Siemens Suite最早是为了研究控制流和数据流的准则对于错误探测能力的影响而创建的,包含7组实现不同功能的C程序,每组程序通过人工注入的方式创建了基本程序的错误版本,这些错误经常通过修改程序中的一行代码来注入,包括语句的增删以及判断条件的修改等,以模拟实际中可能存在的错误。

2.3 评价指标

为了与文献[8]中的测试用例选择方法对比,本文与文献[8]使用相同的评价指标。文献[8]提出了两个评价指标:Reduction和Expense_increase。其中,Reduction用来评价测试用例选择方法对测试用例的删减能力,Expense_increase用来评价测试用例选择方法对错误定位的准确性的影响。首先介绍Reduction,计算公式如公式(4)所示。Reduction是由删减前的测试用例集合的个数(size of unreduced test suite)与删减后的测试用例集合的个数(size of reduced test suite)计算得到的。

在介绍Expense_increase之前先介绍Expense,其计算公式如公式(5)所示,将测试用例用于软件错误定位技术,会得出一个语句可疑度的排名,Expense就是由错误语句的可疑度排名(rank of faulty statement)和程序的可执行代码行数(number of executable statements)计算得到的。

为了研究测试用例的选择方法对软件错误定位的影响,需要计算Expense_increase,计算公式如公式(6)所示,这是删减后的测试用例的Expense与删减前的测试用例的Expense之间的差值。

从公式(5)和公式(6)可以得出,如果Expense_increase是一个负数,意味着软件错误定位技术使用删减后的测试用例集合得到的错误语句排名要比使用删减前的测试用例集合得到的错误语句排名靠前,对测试用例删减后,调试人员只需查找较少代码就能找到错误位置,这说明了为负数的Expense_increase,代表了测试用例选择方法提高软件错误定位的准确性;与之相反,取为正数的Expense_increase,则代表了测试用例选择方法影响了软件错误定位的准确性。

2.4 实验结果及分析

本文对Siemens Suit提供的7组程序的所有错误版本进行了实验,并记录了每个版本的测试用例选择结果信息和软件错误定位结果信息,通过这些信息计算出每个版本的Reduction和Expense_increase,统计出每组程序的Reduction和Expense_increase的平均值,结果如表2所示。

7组程序的Reduction平均值达到了56,这说明本文方法能有效地对测试用例进行删减,并且降低了错误定位的时间消耗。7组程序的Expense_increase都是负值,也说明本文方法可以有效地提高软件错误定位的准确性。

本文的对比实验是文献[8]中的方法,该方法为基于语句向量的测试用例选择方法,其覆盖标准是查看一个测试用例是否执行了新的语句向量,以确定是否将其保留下来,即是根据执行语句集合是否一样来选择测试用例。对比实验结果如表3所示。

从表2和表3中,可以看出本文方法和文献[8]中方法的Reduction相差不多,说明两种方法都能有效地对测试用例进行删减,进而降低错误定位的复杂度。本文的Expense_increase都是负值,而文献[8]中的Expense_increase有正有负,因而本文方法的Expense_increase比文献的方法更稳定,效果更好。文献[8]中,只是通过实验证明了该文中的方法对错误定位几乎没有影响,只在某些时候才会提高软件错误定位的准确性,而本文方法对软件错误定位的准确性却有很明显的提高。因此,本文方法选择的测试用例更加有助于提高错误定位的准确性。

3 结束语

本文提出了一种面向错误定位的测试用例选择方法,与已有的测试用例选择方法相比,该方法不仅考虑了语句覆盖信息,还充分考虑了测试用例的分支特征,并且引入了聚类思想对测试用例进行选择。通过实验证明,该方法能有效地约减测试用例,降低错误定位的复杂度并提高错误定位的准确性。

参考文献

[1]WONG W E,DEBROY V,XU D.Towards better fault local-ization:a crosstab based statistical approach.IEEE Trans.on S-ystems,Man,and Cybernetics,Perona,2011,99:1-19.[1]WONG W E,DEBROY V,XU D.Towards better fault local-ization:a crosstab based statistical approach.IEEE Trans.on S-ystems,Man,and Cybernetics,Perona,2011,99:1-19.

[2]ZHANG Z Y,CHANB W K,TSEC T H,et al.Non paramet-ric statistical fault localization[J].Journal of Computer and Sy-stem Sciences,2011,84:885-905.[2]ZHANG Z Y,CHANB W K,TSEC T H,et al.Non paramet-ric statistical fault localization[J].Journal of Computer and Sy-stem Sciences,2011,84:885-905.

[3]JOBSTMANN B,STABERB S,GRIESMAYERC A,et al.Fin-ding and fixing faults[J].Journal of Computer and System Sc-iences,2012,78:441-460.[3]JOBSTMANN B,STABERB S,GRIESMAYERC A,et al.Fin-ding and fixing faults[J].Journal of Computer and System Sc-iences,2012,78:441-460.

[4]YU K,LIN M,GAO Q,et al.Locating faults using multiplespectra-specific models.SAC,2011.[4]YU K,LIN M,GAO Q,et al.Locating faults using multiplespectra-specific models.SAC,2011.

[5]RENIERIS M,EREISS S.Fault Localization with nearest nei-ghbor queries[C]//Proceedings of the 18th International Confer-ence on Automated Software Engineering(ASE2003),Montreal,Canada,2003-10:30-39.[5]RENIERIS M,EREISS S.Fault Localization with nearest nei-ghbor queries[C]//Proceedings of the 18th International Confer-ence on Automated Software Engineering(ASE2003),Montreal,Canada,2003-10:30-39.

[6]HAO D,ZHANG L,ZHANG J,et al.VIDA:Visual interactivedebugging.ICSE,2009:583-586.[6]HAO D,ZHANG L,ZHANG J,et al.VIDA:Visual interactivedebugging.ICSE,2009:583-586.

[7]HAO D,XIE T,ZHANG J,et al.Test input reduction for r-esult inspection to facilitate fault localization.Autom Softw E-ng.2010,17:5-31.[7]HAO D,XIE T,ZHANG J,et al.Test input reduction for r-esult inspection to facilitate fault localization.Autom Softw E-ng.2010,17:5-31.

[8]YU Y,JONES J A,HARROLD M J.An empirical study ofthe effects of test suite reduction on fault localization.ICSE,2008:201-210.[8]YU Y,JONES J A,HARROLD M J.An empirical study ofthe effects of test suite reduction on fault localization.ICSE,2008:201-210.

[9]JONES J,HARROLD M J.Empirical evaluation of the taran-tula automatic fault-localization technique[C]//Proceedings ofthe International Conference on Automated Software Engineeri-ng,2005-11:273-282.[9]JONES J,HARROLD M J.Empirical evaluation of the taran-tula automatic fault-localization technique[C]//Proceedings ofthe International Conference on Automated Software Engineeri-ng,2005-11:273-282.

上一篇:善待孩子的好奇心下一篇:科技创业教育模式论文