跑流测试中误码率的统计方法与流程

阅读: 评论:0



1.本发明涉及误码率统计技术领域,特别是一种跑流测试中误码率的统计方法。


背景技术:



2.误码率(ser:symbol error rate)是衡量数据在规定时间内数据传输精确性的指标,误码率=传输中的误码/所传输的总码数*100%。进行特定条件下的误码率研究,对增强通信系统性能,改善数据传输质量意义重大。对于数字通信系统来说,差错率越小,可靠性越高。
3.i-pon,全称all ip over pon,是基于“万兆ip广播”的光纤到户系统,其中“万兆ip广播”特指ip数据在单向广播网上传输,是将万兆以太网技术和单向广播传输网结合,在树状的广播分配网上实现万兆基带ip数据传送。i-pon方案实现了全基带的ip双向接入。
4.i-pon跑流测试目的是测试设备的流量转发能力。由信源固定循环发送序号从0-15(或是0-255,以实际信源配置为准)的188字节报文。接收端在规定的时间段内接收报文并判断接收报文是否完整。通常的实现方式是将接收报文存储在缓存中,然后依次解析每个报文的序号,再用字节顺序比较,统计错误的字节,最后计算出误码率;这种处理流程时间复杂度为o(n)。根据生产测试要求,在单位时间内需要处理的报文数量大约为40万,生产车间从装备投入和测试效率上考虑,需要一拖多测试,这样对cpu的运算处理要求很高,系统资源耗费也就上去了;具体体现在:
5.(1)采用顺序查算法,从头到尾按照字节遍历比较,效率低:在单位时间(一般设为10秒钟)内需要处理的报文数量大约为40万,每个报文的长度为188字节,40*188*10000=75,000,000个字节。采用顺序查比对算法,效率很低。
6.(2)对cpu运算处理能力要求高,系统资源消耗大:在生产车间一拖多模式的系统环境下,单位时间内cpu需要运算处理的数据非常大,造成单位时间内cpu占用率非常高,可能超过95%,使系统卡顿,出现因pc系统性能问题掉包造成误判。


技术实现要素:



7.为解决现有技术中存在的问题,本发明的目的是提供一种跑流测试中误码率的统计方法,本发明采用内存块比较结合二分查算法可实现快速定位误码字节的位置,从而快速统计误码字节数,计算出误码率。
8.为实现上述目的,本发明采用的技术方案是:一种跑流测试中误码率的统计方法,包括以下步骤:
9.步骤1、启动系统,在规定时间内接收报文;
10.步骤2、构建源数据内存块;
11.步骤3、内存块比较:在一个内存块比较过程中,如果内存块比较结果一致,则不存在误码,测试通过;如果内存块比较结果不一致,则存在误码,进入下一步;
12.步骤4、内存块比较结合二分查算法快速定位误码:把报文内存块按照长度分成
前后两块,分别与源数据内存块对应的起始位置与结束位置进行比对;如果前半部分或后半部分比对结果不一致,则进一步将前半部分或后半部分信息照长度分成前后两块,再进行比对,如此循环,直到到误码字节后结束;最后统计出现误码的字节数,从而计算出误码率。
13.作为本发明的进一步改进,步骤2中,构建源数据内存块具体如下:
14.构建一个循环周期t内的正确报文内存块,作为内存块比较的源数据内存块。
15.作为本发明的进一步改进,步骤3的内存块比较具体包括以下步骤:
16.(1)定义接收报文内存块总长度:totallength;定义循环周期内存块长度:periodlength;
17.(2)分析接收报文内存块第一个报文的序号,记作:index;
18.(3)根据接收内存块的第一个报文的序号index计算出源数据内存块需要比较的偏移位置,记作:offset=index*a,其中a为报文的字节数;
19.(4)计算首次内存块与源数据内存块需要比较的长度:length=(b-index)*a,其中,b为报文序号的总数;
20.(5)接收内存从0开始,源数据内存块从offset开始比较,比较长度为length;如果比较未通过,则通过二分查算法统计误码的字节;
21.(6)首次报文内存块比较完成后,偏移位置移动到第二个内存块的开始位置:offset=offset+length;
22.(7)offset按照周期长度自增:offset=offset+periodlength,需要比较的长度length=periodlength;
23.(8)如果offset≥totallength,则offset=offset-periodlength,需要比较的长度length=totallength-offset;
24.(9)内存块比较,源数据内存块从0开始,接收报文内存块从offset位置开始,比较长度为length;如果比较结果未通过,则通过二分查算法统计误码字节;
25.(10)定义临时变量:temp=offset+periodlength,如果temp≥totallength,结束整个比较过程;
26.(11)重复第(7)步到第(10)步过程。
27.本发明的有益效果是:
28.本发明采用内存块比较结合二分查组合算法实现快速定位误码字节的位置,从而快速统计误码字节数,计算出误码率;内存块比较可以快速判断两个内存块的数据是否相同,但是不能确定具体不同的位置,结合二分查算法,可以不断缩小查范围并最终定位误码位置。
附图说明
29.图1为本发明实施例的流程框图;
30.图2为本发明实施例中接收到的报文结构示意图;
31.图3为本发明实施例中接收到的包括误码的报文结构示意图;
32.图4为本发明实施例中内存块比较结合二分法定位误码字节的逻辑图。
具体实施方式
33.下面结合附图对本发明的实施例进行详细说明。
34.实施例
35.如图1所示,一种跑流测试中误码率的统计方法,采用内存块比较结合二分查算法统计误码,起其流程为:在一个内存块比较过程中,如果内存块比较结果一致,则不存在误码,测试通过;如果存在误码,把报文内存块按照长度分成前后两块,分别与源数据内存块对应的起始与结束位置比对。如果前半部分比较结果不一致,则进一步将前半部分信息照长度分成前后两块,再进行比对,如此循环,直到到误码字节后结束;后半部分重复同样操作。最后统计出现误码的字节数,从而计算出误码率;具体包括:
36.1、启动系统,在规定时间内接收报文,接收到的报文数量根据接收时间来定:
37.信源固定循环发送序号从0-15的188字节报文,因此系统接收到的报文可以分为三段,如图2所示:
38.第一段:x-15序号报文块,以报文序号15结束,x根据实际接收开始时间来定;
39.第二段:序号从0-15循环报文块,每个循环报文块的数据信息一致;
40.第三段:0-x序号报文块,x根据实际接收结束时间来定,可能是1-15中的任何序号。
41.2构建源数据内存块:
42.从内存块比较的效率上考虑,一次性比较尽可能多的报文是最优的比对模式。以图2接收到的报文结构为例,构建一个循环周期t内的正确报文内存块,作为内存块比较的源数据内存块。
43.3、内存块比较:
44.1)、定义接收报文内存块总长度:totallength;定义循环周期内存块长度:periodlength;
45.2)、分析接收报文内存块第一个报文的序号,记作:index;
46.3)、根据接收内存块的第一个报文的序号index计算出源数据内存块需要比较的偏移位置,记作:offset=index*188;
47.4)、计算首次内存块与源数据内存块需要比较的长度:length=(16-index)*188;
48.5)、接收内存从0开始,源数据内存块从offset开始比较,比较长度为length;如果比较未通过,则通过二分查算法统计误码的字节;
49.6)、首次报文内存块比较完成后,偏移位置移动到第二个内存块的开始位置:offset=offset+length;
50.7)、offset按照周期长度自增:offset=offset+periodlength,需要比较的长度length=periodlength;
51.8)、如果offset≥totallength,则offset=offset-periodlength,需要比较的长度length=totallength-offset;
52.9)、内存块比较,源数据内存块从0开始,接收报文内存块从offset位置开始,比较长度为length;如果比较结果未通过,则通过二分查算法统计误码字节。
53.10)、定义临时变量:temp=offset+periodlength,如果temp≥totallength,结束整个比较过程;
54.11)、重复第7)步到第10)步过程。
55.4、内存块比较结合二分查算法快速定位误码逻辑:
56.在内存块比较过程中,如果出现误码,则需要使用二分法快速定位出误码。
57.如图3所示为报文序号为0-15的一段完整的报文,其中矩形框内的44的字节为自定义的误码字节。
58.内存块比较结合二分查算法快速定位误码基本算法逻辑如图4所示:
59.确定内存块的起始(start)与结束(end)位置,计算中间位置(mid=(start+end)/2);
60.分别比较(start+(mid-1))内存块和(mid+end-1)内存块,判断比较结果;如果前半部分相同,表示这段内存块没有误码字节,返回;如果后半部分结果不同,表明误码字节在后半部分,则继续二分查;
61.重读上述动作,直到定位到误码字节为止,将误码字节保存;
62.根据统计的误码字节数,计算误码率。
63.以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

技术特征:


1.一种跑流测试中误码率的统计方法,其特征在于,包括以下步骤:步骤1、启动系统,在规定时间内接收报文;步骤2、构建源数据内存块;步骤3、内存块比较:在一个内存块比较过程中,如果内存块比较结果一致,则不存在误码,测试通过;如果内存块比较结果不一致,则存在误码,进入下一步;步骤4、内存块比较结合二分查算法快速定位误码:把报文内存块按照长度分成前后两块,分别与源数据内存块对应的起始位置与结束位置进行比对;如果前半部分或后半部分比对结果不一致,则进一步将前半部分或后半部分信息照长度分成前后两块,再进行比对,如此循环,直到到误码字节后结束;最后统计出现误码的字节数,从而计算出误码率。2.根据权利要求1所述的跑流测试中误码率的统计方法,其特征在于,步骤2中,构建源数据内存块具体如下:构建一个循环周期t内的正确报文内存块,作为内存块比较的源数据内存块。3.根据权利要求1或2所述的跑流测试中误码率的统计方法,其特征在于,步骤3的内存块比较具体包括以下步骤:(1)定义接收报文内存块总长度:totallength;定义循环周期内存块长度:periodlength;(2)分析接收报文内存块第一个报文的序号,记作:index;(3)根据接收内存块的第一个报文的序号index计算出源数据内存块需要比较的偏移位置,记作:offset=index*a,其中a为报文的字节数;(4)计算首次内存块与源数据内存块需要比较的长度:length=(b-index)*a,其中,b为报文序号的总数;(5)接收内存从0开始,源数据内存块从offset开始比较,比较长度为length;如果比较未通过,则通过二分查算法统计误码的字节;(6)首次报文内存块比较完成后,偏移位置移动到第二个内存块的开始位置:offset=offset+length;(7)offset按照周期长度自增:offset=offset+periodlength,需要比较的长度length=periodlength;(8)如果offset≥totallength,则offset=offset-periodlength,需要比较的长度length=totallength-offset;(9)内存块比较,源数据内存块从0开始,接收报文内存块从offset位置开始,比较长度为length;如果比较结果未通过,则通过二分查算法统计误码字节;(10)定义临时变量:temp=offset+periodlength,如果temp≥totallength,结束整个比较过程;(11)重复第(7)步到第(10)步过程。

技术总结


本发明公开了一种跑流测试中误码率的统计方法,包括:接收报文;构建源数据内存块;内存块比较:如果内存块比较结果一致,则不存在误码,测试通过;如果内存块比较结果不一致,则存在误码,进入下一步;内存块比较结合二分查算法快速定位误码:把报文内存块按照长度分成前后两块,分别与源数据内存块对应的起始位置与结束位置进行比对;如果前半部分或后半部分比对结果不一致,则进一步将前半部分或后半部分信息照长度分成前后两块,再进行比对,如此循环,直到到误码字节后结束;最后统计出现误码的字节数,从而计算出误码率;本发明采用内存块比较结合二分查算法可实现快速定位误码字节的位置,从而快速统计误码字节数,计算出误码率。计算出误码率。计算出误码率。


技术研发人员:

林虎 苏鹏辉 刘亚文

受保护的技术使用者:

四川九州电子科技股份有限公司

技术研发日:

2022.08.26

技术公布日:

2022/12/16

本文发布于:2022-12-18 18:40:16,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/36501.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报文   内存   误码率   字节
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图