The reciprocal calculation in a real-time controller is quite computationally expensive. The Newton-Raphson approximation of the reciprocal saves on the computational cost at the expense of accuracy. If the reciprocal of an input signal is calculated, with the signal itself having a limited change from one execution cycle to the next, then the previously calculated Newton-Raphson reciprocal serves as an initial "guess" to the new the iteration. This results in a large improvement in accuracy.
The number of iterations can be modified according to the required accuracy.
An analysis can be found in:
Fowler, D. L., and James E. Smith. "An accurate, high speed implementation of division by reciprocal approximation." Proceedings of 9th Symposium on Computer Arithmetic. IEEE, 1989.
Gert Kruger (2021). Newton-Raphson reciprocal approximation , 1/x and 1/sqrt(x) (https://www.mathworks.com/matlabcentral/fileexchange/71675-newton-raphson-reciprocal-approximation-1-x-and-1-sqrt-x), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
Nice implementation!