欢迎来到天天文库
浏览记录
ID:25549054
大小:52.00 KB
页数:4页
时间:2018-11-21
《数字水准仪的数据采集与数据处理系统研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数字水准仪的数据采集与数据处理系统研究
2、第13 系统的软件设计 本系统的应用程序采用了模块化程序设计的方法,按功能主要分为2大部分。前一部分是采用MCS-51汇编语言开发由89C51的单片机执行程序,包括数据采集程序和单片机通信程序2个模块。后一部分是用VC++高级语言编写的由IBM-PC机执行的程序,包括PC机通信程序、边缘检测和条码识别程序3个模块。PC机与单片机采用判别等待通讯协议进行连接,各模块之间使用子程序调用,使整个系统有机地成为一体。单片机数据采集及数据通讯和PC机数据通讯及数据处理子程序流程框图如图2和图3所示。3.1 数据采集程序模块 由于系统采用的是普通
3、A/D采集电路,采样速度低,无法与正常工作的CCD信号速度同步,本系统的数据采集程序模块采用等间隔重复扫描的方式对CCD图像进行采样。采集结果通过串口传送给PC机,以便对采集结果进一步作数据处理和实现图形显示。3.2 数据通讯程序模块 数据通讯程序模块由单片机通讯程序和PC机通讯程序2个部分组成。单片机上电后,接收到联络信号,给PC机发应答信号并开始进行数据采集,同时将采集结果通过串口发送给PC机。PC机通信程序通过串口通讯MSm控件,设置通讯参数,接收应答信号,读取采集结果。3.3 数字滤波程序模块 采集结果通常混杂有噪声信号,为提高测量精度,本系统采用均值滤波方法消除随
4、机误差的影响,运用中值滤波方法消除脉冲噪声的影响[4],再运用指数基的平滑滤波器方法,对采集图像进一步作平滑处理。经实验结果证明采用该方法滤波效果较好。500)this.style.ouseg(this)">3.4 边缘检测、条码识别程序模块 对标尺条码的边缘检测是数字水准仪数据处理系统中非常重要的环节,边缘检测的定位精度将直接影响条码识别的准确度。为使被噪声污染的条码图像很好的检测出边缘,结合数字水准仪标尺条码的特点,本系统选用基于指数基的平滑滤波器的快速一维边缘检测方法,该算法是DeriChe依据Canny设计思想导出的边缘检测算子,具有较好的单、双边定位精度和较快的检测
5、速度。该算法采用的平滑算子和边缘检测算子可用递归算法代替卷积运算,大大提高运算速度[5]。该算法的实现过程如下: (1)运用平滑算子的递归公式对图像进行平滑化处理。 依据Canny设计思想导出的平滑算子为: 500)this.style.ouseg(this)"> (2)运用一阶导数算子的递归公式求图像极大值点 DeriChe推导出的一阶导数边缘检测算子为:D(n)=kne-σ|n|,对D(n)进行Z变换和反Z变换,求得一阶导数算子的递归公式为: 500)this.style.ouseg(this)"> (3)运用二阶导数算子的递归公式求图像零交*点 500)this
6、.style.ouseg(this)"> 500)this.style.ouseg(this)"> (3)确定边缘点 找出同时满足一阶导数最大值和二阶导数零交*的点,即为条码的边缘点。 根据CCD的光电转换原理,判别首边缘点是对应亮条码还是暗条码的边界位置点,求出亮、暗条码宽度,进而识别出条码。3.5 视距和视线高计算程序模块 标尺条码中的R码是用来求视距的,视距不同,成像在线阵CCD上标尺截距不同,但至少应包含两组R码,本系统设计的标尺条码相邻两组R码的间距为P(=40mm),他在CCD线阵上成像所占的象素个数为Z,象素宽为b(=14μm),则P在CCD上的成像长度为
7、:L=Z×b,再根据几何光学成像原理,即可求出视距:D=P/L×f(望远镜物镜的焦距)[6]。 本系统中采用相位差法设计标尺条码,标尺中位于任意两组R码之间的A码、B码和C码的条码宽度组合具有惟一性,即任意一组A码,B码,C码,R码的组合对应标尺的高度值具有单值性。利用线阵CCD中心像元所在的那组A码,B码,C码宽度值,可以算出该组条码中R码的高度,再利用该中心R码所对应的像元和CCD中心像元的偏差,即可算得视线高读数。4 结语 本文介绍的数字水准仪数据采集与数据处理系统,解决了高分辨率线阵CCD与低速A/D转换速度低的矛盾。系统硬件结构简单、设计成本低、软件算法简单、运算
8、速度快、界面友好。经过初步实验,系统能够达到预期的效果。
此文档下载收益归作者所有