水情遥测系统中快速差错校验的软件方法
发布时间:2008/5/27 0:00:00 访问次数:592
来源:《电子技术应用》
摘要:讨论了在自报式水情无线遥测系统数据通信中进行快速差错校验的必要性,给出了经过实验检验、可行的软件快速校验方法,并比较了它们的优劣与适应的场合。 关键词:crc 汉明码 水情遥测 数据通信 差错校验 将测站的实时水情数据(水位、闸位、雨量等)准确无误地发送到中心站,提供给水文洪水预报、洪水调度、防洪排涝决策等高一级系统,是水情遥测系统最基本、最重要的功能之一。水情遥测系统是一个软硬件综合系统。其基本工作流程是:在测量端(测站)完成水情参数的采集与处理(信源编码、存储记录、信道编码等),然后将处理过的数据通过无线或有线信道直接或经中继发送至远端的中心站,由中心站进行接收解码并作进一步处理。图1为水情无线遥测系统结构示意图。测站和中继站的主控设备一般采用单片机,用汇编语言编程;而中心接收端主机一般采用微型机,用c语言(或其它高级语言)编程。 水情遥测系统的报汛方式一般有三种:定时自报式、查询-应答多和混合式(自报和查询-应答兼容)。三种报汛方式兼有长短。综合考虑系统功耗、可靠性、复杂性等要素,定时自报方式在水情遥测系统中仍占主流。其优点是:功耗极低(值守状态<50μa@+12v,大多以蓄电池供电),系统结构简单,可靠性较高;缺点是无法实现反馈重发、反传校验等差错控制。显然,需要选择一种合适的有差错校验方法。 水情遥测系统的数据通信方式可分为超短波通信、微波通信、卫星通信、移动通信、有线通信等。因其遥测站点常建于交通不便、供电及有线通信条件不足的地区,基于建设成本及运行费用等考虑,数据通信仍以无线超短波通信为主要方式。 在无线数据通信过程中,即使信道质量良好,但由于信号衰减、失真,特别是某些突发性的干扰(如雷电,电磁辐射)不可避免地会发生数据误传,即误码。根据水情遥测系统的相关规范,超短波数据传输的误码率应小于10 -4,以及在每个数据收集周期平均应有90%以上测站(重点控制站必须包括在内)能准确传送数据至中心站。因此采取适当的差错控制方法,提高数据传输的可靠性很有必要。常用的差错控制方法分软件和硬件方式。最简单的是由器件直接实现奇偶校验方式,它占用10%的时间,只检出奇数个位出错。据检测,在电话网中以1200波特率传输数据时,若采用奇偶校验方式,仍会有40%的错误不能检出,这对水情遥测显示是不够的。欲对包括中继在内的每一个站实行码校验,还要求所选校验方式具有高检出率、速度快、编码简单等特点。常见的方式有汉明码、循环冗余校验(crc)等,虽然这些校验方式也可由硬件实现,但人们角倾向于采用简单经济又具灵活性的软件校验。以下结合工作实际给出经验证可行的快速校验方式,并比较了它们的优劣。文中所涉及到的程序算法均以c语言的形式给出,而将其转变成单片机的算法也不难。 1 crc校验 crc(cyclical redundancy check)校验,又称循环冗余校验,具有极强的检错能力(不能纠错),算法简单。早期用硬件电路直接搭成,但软件方法成本更低,实现更简单,运算速度也很快。16位的crc检错率如表1所示[1]。
表1 16位的crc检错率 单位个位错误 双位错误 奇数个位错误 比16位短的突出性错误 恰好17位的突发性错误 其他所有突发性错误 100% 100% 100%
来源:《电子技术应用》
摘要:讨论了在自报式水情无线遥测系统数据通信中进行快速差错校验的必要性,给出了经过实验检验、可行的软件快速校验方法,并比较了它们的优劣与适应的场合。 关键词:crc 汉明码 水情遥测 数据通信 差错校验 将测站的实时水情数据(水位、闸位、雨量等)准确无误地发送到中心站,提供给水文洪水预报、洪水调度、防洪排涝决策等高一级系统,是水情遥测系统最基本、最重要的功能之一。水情遥测系统是一个软硬件综合系统。其基本工作流程是:在测量端(测站)完成水情参数的采集与处理(信源编码、存储记录、信道编码等),然后将处理过的数据通过无线或有线信道直接或经中继发送至远端的中心站,由中心站进行接收解码并作进一步处理。图1为水情无线遥测系统结构示意图。测站和中继站的主控设备一般采用单片机,用汇编语言编程;而中心接收端主机一般采用微型机,用c语言(或其它高级语言)编程。 水情遥测系统的报汛方式一般有三种:定时自报式、查询-应答多和混合式(自报和查询-应答兼容)。三种报汛方式兼有长短。综合考虑系统功耗、可靠性、复杂性等要素,定时自报方式在水情遥测系统中仍占主流。其优点是:功耗极低(值守状态<50μa@+12v,大多以蓄电池供电),系统结构简单,可靠性较高;缺点是无法实现反馈重发、反传校验等差错控制。显然,需要选择一种合适的有差错校验方法。 水情遥测系统的数据通信方式可分为超短波通信、微波通信、卫星通信、移动通信、有线通信等。因其遥测站点常建于交通不便、供电及有线通信条件不足的地区,基于建设成本及运行费用等考虑,数据通信仍以无线超短波通信为主要方式。 在无线数据通信过程中,即使信道质量良好,但由于信号衰减、失真,特别是某些突发性的干扰(如雷电,电磁辐射)不可避免地会发生数据误传,即误码。根据水情遥测系统的相关规范,超短波数据传输的误码率应小于10 -4,以及在每个数据收集周期平均应有90%以上测站(重点控制站必须包括在内)能准确传送数据至中心站。因此采取适当的差错控制方法,提高数据传输的可靠性很有必要。常用的差错控制方法分软件和硬件方式。最简单的是由器件直接实现奇偶校验方式,它占用10%的时间,只检出奇数个位出错。据检测,在电话网中以1200波特率传输数据时,若采用奇偶校验方式,仍会有40%的错误不能检出,这对水情遥测显示是不够的。欲对包括中继在内的每一个站实行码校验,还要求所选校验方式具有高检出率、速度快、编码简单等特点。常见的方式有汉明码、循环冗余校验(crc)等,虽然这些校验方式也可由硬件实现,但人们角倾向于采用简单经济又具灵活性的软件校验。以下结合工作实际给出经验证可行的快速校验方式,并比较了它们的优劣。文中所涉及到的程序算法均以c语言的形式给出,而将其转变成单片机的算法也不难。 1 crc校验 crc(cyclical redundancy check)校验,又称循环冗余校验,具有极强的检错能力(不能纠错),算法简单。早期用硬件电路直接搭成,但软件方法成本更低,实现更简单,运算速度也很快。16位的crc检错率如表1所示[1]。
表1 16位的crc检错率 单位个位错误 双位错误 奇数个位错误 比16位短的突出性错误 恰好17位的突发性错误 其他所有突发性错误 100% 100% 100%