微机处理器通常都不支持开平方运算,而微机保护中需要计算电压、电流的幅值,必须采用计算精度高、运算速度快的开平方算法,下面介绍一种比较实用的精确开平方算法。 矢量 U’=Ur+j*Ui 该矢量的幅值为: Um=sqrt(Ur^2+Ui^2) 需要进行开平方运算,采用如下精确算法: L=max(|Ur|,|Ui|), S=min(|Ur|,|Ui|), 则开平方公式如下: Um=L+5*s^2/(3*(3*L+S))
矢量 U’=Ur+j*Ui
该矢量的幅值为:
Um=sqrt(Ur^2+Ui^2)
需要进行开平方运算,采用如下精确算法:
L=max(|Ur|,|Ui|),
S=min(|Ur|,|Ui|),
则开平方公式如下:
Um=L+5*s^2/(3*(3*L+S))
该算法的计算误差<0.17%。
具体推导过程见附件