2022年电子水准仪数据加密传输与水准平差 .pdf
-
资源ID:27869217
资源大小:59.70KB
全文页数:5页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年电子水准仪数据加密传输与水准平差 .pdf
9537电子水准仪数据加密传输与水准平差马强朱大勇冯媛媛刘艳芸摘要 :介绍了串口通讯的基本方法,分析了电子水准仪数据传输存在的问题,提出了电子水准仪数据加密传输的方法,同时也介绍了水准平差的实现过程,最终实现了电子水准仪数据输出和平差的一体化。关键词 :电子水准仪;串口通信;Rijndael 加密;间接平差1. 引言尽管GPS技术和三角高程测量方法已经广泛应用于高程测量,但几何水准测量仍然是目前最主要的地面高程测量方法,然而该方法作业劳动强度大、 速度慢。20世纪90年代初电子水准仪的研制成功,改变了这种状况, 电子水准仪具有观测速度快、准确度高、 读数客观、测量数据便于输入计算机和容易实现水准测量内外业一体化等优点。已经逐渐应用在大地测量、工程施工建设、工业设备安装、地壳形变监测、 科学研究等各种领域和部门。 但是在使用电子水准仪时也遇到了一些实际问题。由于外业数据存储于仪器内部,外业采集的数据没有纸质记录,所以,在导出数据后,容易改动而不被发现,可能产生很严重的后果,因此,有必要在电子水准仪数据传输过程中进行加密输出,这样输出的数据只有在解密后才能改动,能够保证数据的准确性。目前,市场上所销售的电子水准仪类型也很多,其主要的类型有leica系列、Trimble系列、 Nicon系列、 Topcon系列等。现针对我单位使用的ZDL700水准仪的加密传输进行介绍。2. 水准仪数据加密传输电子水准仪输出的数据包括已加密的数据和未加密的数据,生产人员利用未加密的数据进行平差计算,将加密数据交给质检人员,质检人员解密后,解算平差结果,将结果进行比较,即可发现数据是否有改动。从而保证原始数据的准确性。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 95382.1 数据通讯串口通讯:串口是计算机上一种非常通用设备通信的协议。大多数计算机包含两个基于RS232的串口。串口通信的概念非常简单,串口按位(bit )发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。(1)波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如 300波特表示每秒钟发送300个bit 。(2)数据位:这是衡量通信中实际数据位的参数。(3)停止位:用于表示单个包的最后一位。(4)奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。2.2数据加密传输电子水准仪输出的数据包括加密数据和未加密数据。将未加密数据用于水准平差计算,将加密数据留作后期水准数据质量检查,这样可确保原始水准数据的可靠性。(1)加密算法水准仪数据传输采用Rijndael 加密算法, Rijndael 是在高级加密标准( AES)中使用的基本密码算法。它由比利时计算机科学家Vincent Rijmen和Joan Daemen开发,它可以使用128位,192位或者 256位的密钥长度,使得它比 56位的 DES更健壮可靠。(2)数据传输一般用 VB 开发串行通信程序有两种方法:一是利用 Windows 的通信 API函数;另一种是采用VB 标准控件 Mscomm 来实现。本文用VB 标准控件Mscomm来实现串行通信。Mscomm控件提供了功能完善的串口数据的发送和接收功能,利用Mscomm 控件的 OnComm事件捕获并处理通信错误及事件,通过检查CommEvent 属性的值来判断事件和错误。以下是 Mscomm 控件的主要属性和方法: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 95391)CommPort: 设置或返回串行端口号,其取值范围为199,缺省为 1。2)Setting 设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。如 :Mscomm.Setting=9600 ,N,8, 1。3)PortOpen: 打开或关闭串行端口,格式为 :Mscomm.PortOpen=TRUE|FALSE。4)InBufferSize: 设置或返回接收缓冲区的大小,缺省为1024字节。5)InBufferCount: 返回接收缓冲区内的等待读取的字节个数,可通过设置该属性为 0来清除接收缓冲区。6)RThreshold: 该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生代码为MSCOMM_EV_RECEIVE的OnComm事件。7)InputLen: 设置或返回接收缓冲区内用Input 读入的个数。若取0,则INPUT 读取整个缓冲区的内容。8)EOFEnable: 若置 TRUE ,则当输入中出现EOF,就停止输入并产生OnComm 事件。数据传输实现过程的主要代码结构如下:Private Sub MSComm1_OnComm() Dim bytInput() As Byte Select Case frmMain.MSComm1.CommEvent Case comEvReceive bytInput = frmMain.MSComm1.Input Case comEvEOF frmMain.MSComm1.InBufferCount = 0 End Sub comEvReceive 是表示接收到数据。comEvEOF 表示到文件末尾。接收完毕后情况缓冲区,InBufferCount=0 。水准数据加密的过程如下:Dim FileName As String Dim FileName2 As String Dim pass() As Byte Dim KeyBits As Long 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 9540 Dim BlockBits As Long KeyBits = 128 BlockBits = 128 pass = GetPassword Status = Encrypting File #If SUPPORT_LEVEL Then m_Rijndael.SetCipherKey pass, KeyBits, BlockBits m_Rijndael.FileEncrypt sstr1, sstr1 & .aes, BlockBits #Else m_Rijndael.SetCipherKey pass, KeyBits m_Rijndael.FileEncrypt sstr1, sstr1 & .aes #End If m_Rijndael 为加密函数,sstr1为输出的文件名,sstr1 & .aes 为加密后输出的文件名。3.水准平差由于水准平差易于编程计算,所以本文水准平差过程中采用间接平差法,间接平差法是通过选定t个独立参数,将每个观测量分别表达成这t个参数的函数,建立函数模型,按最小二乘原理,用求自由极值的方法解出参数的最或然值,从而求得各观测量的平差值。3.1 水准平差的计算步骤(1) 根据平差问题的性质,选择t 个独立量作为参数;(2) 将每一个观测量的平差值分别表达成所选参数的函数,若函数非线性要将其线性化,列出误差方程;(3) 由误差方程系数 B 和自由项l 组成法方程,法方程个数等于参数的个t ;(4) 解算法方程,求出参数x?,计算参数的平差值xXX?0+=;(5) 由误差方程计算 V,求出观测量平差值VLL+=;(6) 评定精度。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 95413.2 水准平差具体实现过程为了便于列出间接平差方程, 首先要将电子水准仪数据文件进行侧段规整,每个侧段间为已知点或未知点, 所有的中间点均被合并。 根据侧段列出误差方程,再由误差方程组成法方程,解算高程平差值,最后进行精度评估。由误差方程lxBV-=?得LT = MatLib.Transpose(L) ATPA1 = MatLib.Inv(ATPA) ATPL = MatLib.Multiply(ATP, L) x = MatLib.Multiply(ATPA1, ATPL) 上面已经求出参数 x ,即可由xXX?0+=得到参数的平差值,从而得平差结果VLL+=。上式中, MatLib 为一个自定义的计算类, Transpose ()为矩阵转置函数, Inv()为矩阵求逆函数, Multiply ()为矩阵乘法函数。最终的精度评定结果由公式VTPV=lTpl-BTplx得到。4.结束语一般随机配带的数据处理软件太专注于通用性而忽略了各行业与各单位的特殊性,针对性不强,虽然ZDL700电子水准仪也自带数据传输软件,但是,传输的数据不带加密的, 检查人员无法确定传输出的数据是否有变动。因此,研究与开发适用于本单位的数据处理软件意义重大,也将产生良好的经济价值。参考文献1 廖中平, 唐诗华, 谢劭峰 .电子水准仪及其外设开发 数据通讯的实现 J. 地矿测绘, 2004(3):14-15. 2 马德英 , 赖鸿斌 . 电子水准仪数据传输转换和成果管理系统的设计和建立J. 测绘与空间地理信息,2008(6):199-201. 3 袁帅,郭月强,焦祝军等.Visual Basic 编程实例教程 M. 北京:北京希望电子出版社,2002. 作者简介马强( 1983 ),男,研究生,天津市勘察院,工程师。朱大勇,天津市勘察院。冯媛媛,天津市勘察院。刘艳芸,天津市勘察院。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -