用便携机实现激光测距仪数据的处理与评估
用便携机实现激光测距仪数据的处理与评估
作者:沈严;郑永超
激光测距仪的主要技术指标包括作用距离和测距精度,这两种指标是通过激光测距仪数据来提现的。通常对激光测距仪的评估方法有两种:一种是由激光测距终端机设计并行打印口,送出数据的BCD码,外接高速数据打印机输出测距数据,然后由人工完成数据处理。第二种是人工观察计数,完成数据的粗略统计。这两种方法的不足之处在于:
1.1增加了不必要的软硬件负担
采用并行打印技术,要求激光测距终端机设计数据打印输出功能,无疑增加了相应硬件电路和软件的设计,给系统带来不必要的开销。
1.2技术相对落后
激光测距仪数据经数字打印机输出后,由人工进行数据处理,与激光测距仪的高度智能化行程鲜明对比。同时,也增加了工作人员的负担。而且,目前使用的数字打印机已经是一种陈旧设备,面临更新换代的问题,而这种即将淘汰的机器很难有适当的代替品。
1.3资金投入较高,操作携带困难
高速数字打印机价格较高,采用这种设备,无疑增加了激光测距仪的成本。这种打印机体积大,较为笨重,携带极不方便,给进场人员带来诸多不便。
1.4科学性不足
人工数据处理,难免会引入人为误差,对测距仪的评估准确度降低。随着我所激光测距技术的日趋成熟,生产逐步走向小批量化。产品的生产调试及售后服务工作量日渐增多,产品的现金 鉴于系统的在线实时处理功能,以及应有的灵活性啊哟球,系统设计从硬件和软件两方面完成。
硬件的设计要求简单通用,仅要求完成数据的传输与缓冲借口。该接口从测距终端机接收数据,并完成数据格式的转换,送至数据处理计算机。
软件的设计要求功能齐全,面向多种机型。其设计应包括以下几个模块:
3.1数据采集与处理
该模块从数据接口电路接收数据,经过真伪识别,剔除无效数据,然后进行误差特性分析,计算回拨率,从而得到初步的数据评估结果。
3.2数据的存储与历史数据读取
系统通过此模块完成数据的存储及历史数据的读取。数据由接口读取装入内存,改模块的存储功能将原始数据及处理结果以特定格式的文件存储于磁盘。该模块的读取功能将这种特定格式的历史文件读入内存,可进行检查或进一步处理。
3.3数据显示模块
该模块完成数据的格式化显示,便于操作者查阅。
3.4数据打印模块
该模块提供系统的事后打印功能,以书面形式提供原始数据及处理结果,以供参阅或存档。
3.5帮助模块
给使用者提供使用说明,方面操作。
4.硬件制成环境及设计
系统硬件主要包括接口板和数据处理计算机两部分。数据处理及三级采用现有的T2450CT便携计算机,既利用了现有设备优点又节省了系统的开支。数据由测距终端机输出,送至数据缓冲器,计算机从打印口送出译码命令,选择每一组数据,由打印口读入内存,完成数据的传输。为了适应不同型号的测距仪。接口板应备有足够的数据宽度。
5.软件设计
5.1设计思想
软件的设计应完成数据从读入到处理完毕输出等所有功能。鉴于对软件的通用性和可维护性的额考虑,其设计应遵循一下几个方面的要求。
5.1.1模块化结构
软件的整体设计按其功能划分为若干模块,对于某些模块应考虑设计子模块,使程序易于修改。模块划分中,要恒量模块间的疏散度及模块内的聚合度。在各模块设计时,应注意内部数据的封装,从而避免内部数据的封装,从而避免内部数据被外部进程访问而引起系统混乱。同时提高了程序的可读性。
5.1.2开放式软件系统
雷达系统对测距仪系统改的要求不同,测距仪系统的数据格式及其精度也随之改变。软件的已有模块不可能完全满足系统需要,所以,要求系统更具有可扩充性。开放式程序结构为解决这一问题提供了方便的途径。采用开放式软件结构以及面向对象的程序设计方法,是软件设计的一个基本思想。
5.1.3软件的易用性
交互式软件需要一个良好的人机界面,简单明白的提示以及适当的帮助信息给使用这一个良好的应用环境,使软件易用易懂。
5.2数学模型
对于激光测距系统,其特性计算主要有回波率、距离均值、距离随机误差、系统误差等。根据激光测距原理,测距误差不可能岁被测距离而变化,计算回波率时不能仅看到有无回波,还要根据距离相关的原理剔除不合理数据距离均值计算和系统误差分析。
假数据的识别分两种情况,一种是静态目标,设其距离真值可以通过对静态目标的测量得出,通常静态目标是靶标。另一种是动态目标,动态目标的测量可通过运动目标的历史距离及速度或加速度求得距离真值,判断其真假。
5.3 软件的模块设计与流程
软件运行环境为WINDWOS操作系统,软件编制采用C语盲与汇编语言混合编程,使用BORLAND C” V3.1编译工具,共划分为六个模块:
1.文件保存;
2.文件读取;
3.数据显示;
4.数据打印;
5.数据采集与处理;
6.帮助。
对于文件保存与文件读取模块采用WINDOWS API来实现,帮助模块采用BORLAND C“ 编译器中的“帮助 编译功能来实现。数据的显示利用BORLAND C 中的ORKsHOP完成人机界面的设计,原始数据由列表框滚动显示,其他数据于固定位置提示显示。
数据的打印利用WINDOWS的GDI接口.先对数据进行格式化匹配,然后送至GDI接口,由WINDOWS进行打印处理。这样可以减少程序的设计量,又能充分利用系统软件资源。数据采集与处理模块完成系统的主要工作。该模块由接口读数据到内存,并完成数据的处理。数据采集采用查询方式,并使用软件中共值滤波保证数据的准确性。
取数时,首先查询数据有效信号,等到数据有效时,读取接口数据三次,取其中值视为有效值。取数完毕,仍须查询有效信号,待其无效时才进行下一个数据读取。这样保证数据不被重采。由于考虑速度因素,该部分程序由汇编语言完成,节省了时间和空间。
在wINDOWS操作系统下,应用软件采用事件驱动的设计方法,程序的循环处理很容易与操作系统发生冲突,导致WINDOWS系统“死亡”。而对于数据的在线采集来说,激光测距机以恒定频率工作,要求系统必须处于一个“死循环 状态。即应用程序为主控程序,不在使用操作系统的事件循环为总控进程。但WINDOWS的其他进程事件也需要得以及时处理,所以,这段程序的逻辑安排较为困难。
程序中首先要禁止无关进程获得控制权,然后检测事件队列中是否有事件发生,如果有则给予处理,然后进行取数操作,该次取数完毕后,判断是否退出取数循环,是则设置被禁止进程为活动,否则继续循环取数。软件的设计考虑了诸多因素的影响,所以对各模块的设计方法也不相同,这里只作简单介绍。整个系统在30龟激光测距机上实验成功,不存在数据漏采现象,对测距机系统无干扰。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除