您当前的位置:五五电子网电子知识电工技术电工文摘电力系统微机保护中开平方浮点算法的改进 正文
电力系统微机保护中开平方浮点算法的改进

电力系统微机保护中开平方浮点算法的改进

点击数:7559 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   电工文摘
电力系统微机保护中开平方浮点算法的改进

杨鹏 史旺旺

摘 要:在分析开平方迭代算法收敛速度的基础上,提出了浮点数开平方的初值选取改进算法。该算法具有算法简单、迭代次数少、精度高等特点,较好地解决了开平方运算时间较长的问题。
关键词:开平方;迭代算法;微机保护
分类号:TM 77;TM 744 文献标识码:B
文章编号:1006-6047(2000)01-0007-02

Study on Square Root Algorithm in Microcomputer Protection

YANG Peng
(Polytechnic Institute of Yangzhou University,Yangzhou 225009,China)
SHI Wang-wang
(Polytechnic Institute of Yangzhou University,Yangzhou 225009,China)

Abstract:It presents a method of giving a starting value to improve Newton iteration of extracting square root.The conclusion shows its features of simplicity,high precision and timesaving.
Keywords:square root; iteration algorithm; microcomputer protection▲

0 前言

  基于交流采样的电力系统微机测量和保护技术应用十分广泛,测量保护中常常要求计算基波电压、电流的有效值、功率和功率因数以及各谐波分量。全波傅氏算法因能滤去直流和各高次谐波分量,在微机保护中获得了广泛的应用。电压、电流有效值及全波傅氏算法的常见公式为

07-1.gif (590 bytes)               (1)
07-2.gif (553 bytes)               (2)
07-3.gif (873 bytes)            (3)
07-4.gif (871 bytes)            (4)
07-5.gif (562 bytes)             (5)

  上述公式中,N为每周期内采样点数;R(n)为电压的n次余弦分量;X(n)为电压的n次正弦分量;Um(n)为n次谐波电压幅值;U,I为电压电流有效值。
  可见,测量保护中的数据处理离不开开平方运算,开平方运算是非常耗时的算法。常见的开平方运算有牛顿迭代法和查表法[1]。查表法的精度决定于表格区间的长度,为提高精度,就要增加表格长度,这将占用较多的微机内存,同时增加了查表时间。牛顿迭代法计算精度高,但如果初值选择不当,迭代次数将很多,耗时长。微机测量保护中电压、电流的动态变化范围很大,增加了初值的选择难度。本文根据浮点运算的特点,提出将浮点数的阶码和尾数分别处理,较好地解决了初值难以选择问题,迭代次数达到3次时就有很高的精度。

1 牛顿迭代法[2]

  开平方函数f(x)=x2-c=0的根的牛顿迭代公式为

07-6.gif (421 bytes)               (6)

对(6)式配方,得:

07-7.gif (508 bytes)             (7)
07-8.gif (531 bytes)             (8)

(7)式除以(8)式得:

反复递推得:

07-10.gif (705 bytes)             (9)

07-11.gif (355 bytes),则对x0>0,|q|<1,将q代入(9)式得k次迭代的相对误差为

07-12.gif (510 bytes)              (10)

  由(10)式知,上述迭代算法是收敛的,收敛的速度完全取决于x0的选择,x0越接近真值,收敛速度越快。微机测量保护算法中很难确定电压、电流的变化范围,接近真值的初值较难选择,一般选固定初值,这将导致某些时候的收敛速度相当慢。

2 浮点算法的初值选择

2.1 浮点格式
  浮点数由阶码和尾数组成,4字节的IEEE标准浮点格式为

t07-2.gif (1219 bytes)

上述格式的阶码寻址不方便,将格式改为

t08-1.gif (1187 bytes)

  浮点数均按规格化方式存放,即尾数的最高位总为1,这样,对于尾数为M的规格化浮点数,有0.5≤M≤1.0。
2.2 初值选取
  采用浮点格式表示的数的开平方可将阶码和尾数分开处理。设阶码为C,尾数为M的浮点数x=M×2C,则
  若C为偶数,即C=2k,k为整数,则

08-2.gif (309 bytes)               (11)

  若C为奇数,即C=2k+1,k为整数,则

08-3.gif (693 bytes)          (12)

  由(11)、 (12)式看到,浮点格式数的开平方可以转换为尾数的开平方,而规格化的尾数的变化范围为0.5~1.0,大大缩小了变化范围,减小了初值选择的困难。因0.5≤M≤1.0,则,若将初值选为1.0,按最坏的情况考虑,M=0.5,则,将q代入(10)式得迭代次数与相对误差的关系,见表1。

[1] [2]  下一页


本文关键字:暂无联系方式电工文摘电工技术 - 电工文摘