Terminator3
Advanced Member level 3
I came across this link https://www.dspguru.com/book/export/html/61
it describes Polynomial Fixed-Point Atan2 With Self Normalization. It works really good, less than 1ms vs 40ms of floating point atan2, i used fixed point code from herehttps://www.dsprelated.com/showthread/comp.dsp/28979-1.php message Posted by dewagter ●February 25, 2010). All works very well, but i want to understand more about how it works.
1) My first question is which points of ATAN function must be used when finding polynomial coefficients?
As i understand, if we have function y=ATAN(x) then we can build polynom y=a*x^3+b*x^2+c*x+d. For third order polynomial we need 4 points to solve all equations. But how do i choose those optimal points (x value) to make polynom better represent ATAN function?
2) My second question is about self-normalizing ratio (https://www.dspguru.com/book/export/html/61)
here is polynomial, and author somehow managed to use (x-y)/(x+y) instead of y/x. How is he came up with this idea? Finding polynomial coefficients in this case is similar to y=a*x^3+b*x^2+c*x+d? (just choosing 4 points r=... theta1=...)?
it describes Polynomial Fixed-Point Atan2 With Self Normalization. It works really good, less than 1ms vs 40ms of floating point atan2, i used fixed point code from herehttps://www.dsprelated.com/showthread/comp.dsp/28979-1.php message Posted by dewagter ●February 25, 2010). All works very well, but i want to understand more about how it works.
1) My first question is which points of ATAN function must be used when finding polynomial coefficients?
As i understand, if we have function y=ATAN(x) then we can build polynom y=a*x^3+b*x^2+c*x+d. For third order polynomial we need 4 points to solve all equations. But how do i choose those optimal points (x value) to make polynom better represent ATAN function?
2) My second question is about self-normalizing ratio (https://www.dspguru.com/book/export/html/61)
Code:
theta1=0.1963 * r^3 - 0.9817 * r + pi/4
x-y
r = --- (1)
x+y