[发明专利]一种提高OTDR对数计算速度的方法无效
| 申请号: | 201310607566.6 | 申请日: | 2013-11-27 |
| 公开(公告)号: | CN103617148A | 公开(公告)日: | 2014-03-05 |
| 发明(设计)人: | 彭怀敏;文金朝;刘丹蕾;陈溢文;苏宁 | 申请(专利权)人: | 桂林聚联科技有限公司 |
| 主分类号: | G06F17/10 | 分类号: | G06F17/10 |
| 代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 杨雪梅 |
| 地址: | 541004 广西壮族*** | 国省代码: | 广西;45 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 otdr 对数 计算 速度 方法 | ||
技术领域
本发明涉及OTDR(Optical Time Domain Reflectometer,光时域反射计)对数计算方法,具体是一种提高OTDR对数计算速度的方法。
背景技术
OTDR是利用光线在光纤中传输时的瑞利散射和菲涅尔反射所产生的背向散射而制成的精密的光电一体化仪表,它被广泛应用于光缆线路的维护、施工和实时在线监测之中,可进行光纤长度、光纤的传输衰减、接头衰减、回波损耗和故障定位等的测量。
OTDR采集到的瑞利散射信号强度是按指数衰减的,数据的动态范围非常大。在仪表显示的时候必须对它取对数,降低数据的动态范围,才可以在屏幕上显示。OTDR仪表和设备通常使用嵌入式CPU,不擅长进行浮点运算,在计算对数时运算量大,耗时较长,严重影响OTDR的结果显示效率和响应速度。
在计算对数的时候,由于噪声通常是有正负的,所以必须先对原始的指数数据取绝对值,再对噪声均方根 归一化,才能计算对数。由于接近0的数据在取对数之后是一个绝对值很大的负数,不利于在屏幕上显示,所以通常还要限幅。
为了更高的性能指标,很多OTDR会采集大量的数据。普通的计算OTDR对数的方法是先对原始数据取绝对值并归一化,再调用标准对数函数来计算对数。在数据量大的情况下,这样做会耗费大量的计算时间。
发明内容
本发明的目的在于克服现有方法的不足,而提出一种提高OTDR对数计算速度的方法,提高OTDR的结果显示效率,具有计算速度快,占用内存少,计算精度高的优点。
本方法原理是利用最小二乘法拟合出一个多项式来逼近对数,在不需要很高的精度时,可以使用二次多项式,,如果需要更高的精度,则可以使用三次多项式,再根据IEEE-754的浮点数标准,对该浮点数据取绝对值,同时取出其指数部分和尾数部分的值。
本发明一种提高OTDR对数计算速度的方法,具体步骤如下:
S1. 将原始的指数数据对噪声均方根取归一化,并将结果强制转换为浮点数x;
S2. 取S1生成的浮点数x在内存中的整数表示形式xi;
S3. 对S2生成的整数xi与0x7FFFFFFF按位相与,得到另一整数,该步骤是取绝对值,以避免对负数取对数引发异常;
S4. 对S3生成的整数右移23位并减去127得到整数xe;
S5. 对S3生成的整数与0x007FFFFF接位相与,得到尾数,并将该尾数转换成在区间[0, 1)里的浮点数m;
S6. 将S5生成的浮点数m代入多项式或计算出浮点数xf;
S7. 将S4生成的整数xe乘以0.3010再加上S6生成的浮点数xf,即得到所求的浮点对数值;
S8. 对S7生成的浮点对数值乘以5,并对结果限幅。
本发明OTDR对数计算方法,仅使用到3次浮点数乘法,没有除法,其余是整数的加减法和移位运算,具有计算速度快,占用内存少,计算精度高的优点。
具体实施方式
下面对本发明的内容作进一步的详细说明,但不是对本发明的限定。
一种提高OTDR对数计算速度的方法,OTDR从AD转换器接收到的数据是按指数衰减的整数数据,共32000个数据。首先计算出噪声的均方根,然后对所有32000个原始整数数据分别进行对的归一化操作,并将结果转换成32000个浮点数,利用IEEE-754标准规定的浮点数存储格式,提取出每个浮点数的指数部分和尾数部分,再结合逼近多项式来计算对数值。其具体方法包括:
S1. 对于,将原始的指数数据对噪声均方根取归一化,即计算,并将结果强制转换为浮点数,即;
S2. 取S1生成的浮点数x在内存中的整数表示形式xi,即xi = *(int*)&x;
S3. 对S2生成的整数xi与0x7FFFFFFF按位相与,得到另一整数,并用该整数覆盖xi,即xi &= 0x7FFFFFFF,该步骤是取绝对值,以避免对负数取对数引发异常;
S4. 对S3生成的整数右移23位并减去127得到整数xe,即xe = (xi >> 23) - 127;
S5. 对S3生成的整数与0x007FFFFF接位相与,得到尾数,并将该尾数转换成在区间[0, 1)里的浮点数m,即xi &= 0x007FFFFF; xi |= 0x3F800000, m = *(float*)&xi - 1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林聚联科技有限公司,未经桂林聚联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310607566.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型角码
- 下一篇:装配式木结构梁柱植筋节点





