Calculating accurate trigonometric values takes a lot of processing time. The following approximations are often used in control equations when you are accounting for relatively small angular displacements from a desired value.
The methods are NOT very useful in wide area 360 degree navigation calculations. They work for control equations since the control equation is always trying to get back to zero angular error. Hence, at a large angle, the calculation may be a bit off, but at least it is close and in the right direction. As the error becomes closer to zero, the small angle approximations become more and more accurate.
In the following lines, the "=" sign means approximately equal, and the angle Ø is in radians. (A radian is an angular measurement in units of the radius of the associated circle. Since a complete circle has 360 degrees and has a circumference of 2*pi radians, a radian is equal to 360 / 6.28 or 57.3 degrees.)
First, for small angles: Sin Ø = Tan Ø = Ø (note: this is the angle Ø, not zero)
And,
Cos Ø = 1
or Cos Ø = 1 - Ø* Ø/2 ( Angle squared over 2...for a bit more accuracy)
Since control equations tend to be correcting the system back to zero error (Ø = 0 in this case), it doesn't usually matter too much if the trigonometric calculations are off by a bit since they will result in control back toward the reference; and as the reference is approached the small angle approximations become more and more accurate until they are perfect when right on the angle.
So, how far off are these approximations anyway?
For Sin,
Angle |
Sin |
Sin |
error |
0 |
0 |
0 |
0 |
5 |
0.0872 |
0.0873 |
0.1% |
10 |
0.1736 |
0.1745 |
0.5% |
20 |
0.3420 |
0.3490 |
2.0% |
30 |
0.5000 |
0.5236 |
4.7% |
45 |
0.7071 |
0.7854 |
11.1% |
To go through one line as an example: for a 10 degree angle, if you get the true trigonometric SIN of the angle from your calculator, you'll get 0.1736. If you just convert the angle to radians (10/57.3), you get 0.1745. The difference between the two is only 0.5 percent.
Certainly not to bad up to 20 degrees, and many calculations may still work pretty well out at 45 degrees.
How about tangent?
Angle |
Tan |
Tan |
error |
0 |
0 |
0 |
0 |
5 |
0.0875 |
0.0873 |
0.2% |
10 |
0.1763 |
0.1745 |
1.0% |
20 |
0.3640 |
0.3490 |
4.1% |
30 |
0.5773 |
0.5236 |
9.3% |
45 |
1.000 |
0.7854 |
21.5% |
Roughly twice as inaccurate as the Sin calculation, but still not too bad, at least up to 20 or 30 degrees.
How about Cos?
The table has 2 error columns: one for Cos = 1 and a second for the more
accurate approximation of Cos = 1 - Ø/2.
Angle |
Cos |
Cos |
error |
error |
0 |
1.000 |
1.000 |
0 |
0.0% |
5 |
0.9962 |
0.9962 |
0.4% |
0.0% |
10 |
0.9848 |
0.9848 |
1.5% |
0.0% |
20 |
0.9397 |
0.9391 |
6.4% |
0.1% |
30 |
0.8660 |
0.8629 |
15.5% |
0.4% |
45 |
0.7071 |
0.6916 |
41.4% |
2.2% |
The simple approximate of Cos = 1 is pretty good up to 10 or 20 degrees; and the 1-Ø* Ø/2 is outstanding for the cost of a multiplication and a division.
So, this means you do not have to use real trig calculations to do control functions. Since control functions are usually performed at as high a rate as practical (10 to 100 times per second), the processing to do real trig can eat up all your processors throughput. You can reserve the use of real trig for actual navigation calculations which will probably be performed at a much lower iteration rate.
Return to the Control law menu to select the next subject