To receive signals from anywhere in the sky, a dish must move both horizontally and vertically, and some can do that. However, to track the Clarke Belt, they are somewhat overkill - a simpler and cheaper assembly of a dish rotating around a single axis does almost as well.
The realisation crucial to understanding this possibility is that the radius of Earth, 6378km, is comparatively small compared with the radius of the Clarke belt, 42164km, so anyone on the surface of Earth is 'almost' at the centre of the Clarke belt. Thus, a dish mounted on an axis approximately perpendicular to the equatorial plane of the Clarke Belt, and pointed initially at the nearest point of it, as it turns around this axis will cover a great many of the nearest 'visible' sats before the error from not actually being at the centre becomes significant.
That is how an H-H Satellite Rotor works. The principle is illustrated in the following diagram ...
However, the simplicity of the principle is easily lost amid practical complexities ...
Many of the angles in a practical dish system do not contribute to its central purpose, they are there merely for convenience, mostly of manufacture and installation:
But here forget the complexities of the installation setting angles. Once it is all bolted together and installed, it's two rigid structures connected by the pivot of the rotor spindle, and the Pivot Rule implies that either side of this pivot all that matters is the net angles involved.
In demonstration, partially straighten a paperclip leaving some bends, and rotate one end between your fingers. You'll see that the other end remains at a constant angle to the one's axis of rotation, and, like a lighthouse beam, depending on how you bent the clip downwards, horizontal, or upwards, it sweeps out the surface of a cone, as illustrated above, or of a disc.
In principle then, the only three angles that matter are ...
* Many instead use Declination, particularly referring to the nearest point of the Clarke Belt where unambiguously it's OCE = OCR = 90−Beam, but anywhere else, there's potential ambiguity between OSE and OSR.
These angles can be calculated as follows ...
Construct the following as illustrated in the diagram for the northern hemisphere (southern in brackets):
1 | At O, make X-Axis horizontal South (North), Y horizontal East (West) perpendicular to page, Z vertical. |
2 | Drop perpendicular from O to meet equatorial plane at R on EC, extend it beyond O to R'. |
3 | Drop perpendicular from S onto EC at P. |
Consider triangle EOR:
EOR | = | 90 − Lat | Angles of triangle | |
∴ | R'OZ | = | 90 − Lat | Opposite angles |
∴ | Tilt t | = | 90 − Lat | From vertical |
= | Lat | From horizontal |
Consider triangle EOR:
ER | = | Re.Cos(Lat) | ||
OR | = | Re.Sin(Lat) |
Consider triangle ESP:
EP | = | Rc.Cos(DLong) | ||
SP | = | Rc.Sin(DLong) |
Consider triangle SRP:
RP | = | EP − ER | ||
∴ | RP | = | Rc.Cos(DLong) − Re.Cos(Lat) | |
Tan(DLongR) | = | SP / RP | Definition of Tan | |
∴ | Tan(DLongR) | = | Rc.Sin(DLong) / [Rc.Cos(DLong) − Re.Cos(Lat)] | Substitute SP & RP |
∴ | DLongR | = | ArcTan { Rc.Sin(DLong) / [Rc.Cos(DLong) − Re.Cos(Lat)] } |
Consider triangle SRP:
SR² | = | SP² + RP² | Pythagoras' Theorem | |
∴ | SR² | = | Rc².Sin²(DLong) + [Rc.Cos(DLong) − Re.Cos(Lat)]² | Substitute SP & RP |
∴ | SR | = | √{ Rc².Sin²(DLong) + [Rc.Cos(DLong) − Re.Cos(Lat)]² } |
Consider triangle OSR:
Tan(b) | = | SR / OR | Definition of Tan | |
∴ | Tan(b) | = |
√{ Rc².Sin²(DLong) + [Rc.Cos(DLong) − Re.Cos(Lat)]² } Re.Sin(Lat) |
Substitute SR & OR |
∴ | Beam b | = |
ArcTan
(
√{Rc².Sin²(DLong)+[Rc.Cos(DLong)−Re.Cos(Lat)]²}
Re.Sin(Lat) )
|
The following tables give examples of DLongR and Beam (defined here as the angle SOR between an incoming sat signal SO, and a rotor axis OR perpendicular to the Clarke Belt):
Angle DLongR Turned By Rotor (Axis Perpendicular To Plane Of Clarke Belt) | |||||||||
---|---|---|---|---|---|---|---|---|---|
Latitude (Lat) |
Actual Difference In Longitude (DLong) | ||||||||
0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | |
0 | 0.00 | 11.77 | 23.45 | 34.97 | 46.28 | 57.31 | 68.07 | 78.53 | 88.70 |
10 | 0.00 | 11.74 | 23.39 | 34.89 | 46.17 | 57.19 | 67.94 | 78.39 | 88.56 |
20 | 0.00 | 11.64 | 23.21 | 34.63 | 45.85 | 56.83 | 67.55 | 77.99 | 88.17 |
30 | 0.00 | 11.50 | 22.92 | 34.23 | 45.35 | 56.25 | 66.92 | 77.34 | 87.52 |
40 | 0.00 | 11.30 | 22.55 | 33.68 | 44.67 | 55.48 | 66.08 | 76.47 | 86.64 |
50 | 0.00 | 11.07 | 22.10 | 33.04 | 43.86 | 54.54 | 65.06 | 75.40 | 85.56 |
60 | 0.00 | 10.81 | 21.60 | 32.32 | 42.95 | 53.48 | 63.89 | 74.17 | 84.32 |
70 | 0.00 | 10.54 | 21.07 | 31.55 | 41.98 | 52.35 | 62.63 | 72.83 | 82.94 |
80 | 0.00 | 10.27 | 20.53 | 30.77 | 40.99 | 51.17 | 61.32 | 71.43 | 81.49 |
90 | 0.00 | 10.00 | 20.00 | 30.00 | 40.00 | 50.00 | 60.00 | 70.00 | 80.00 |
Note that:
Beam Angle Between Clarke Satellite And Rotor Axis (Perpendicular To Plane Of Clarke Belt) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Latitude (Lat) |
Actual Difference In Longitude (DLong) | Range | Midrange | ||||||||||||
0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 0-40 | 0-60 | 0-80 | 0-40 | 0-60 | 0-80 | |
0 | 90.000 | 90.000 | 90.000 | 90.000 | 90.000 | 90.000 | 90.000 | 90.000 | 90.000 | 0.000 | 0.000 | 0.000 | 90.000 | 90.000 | 90.000 |
10 | 88.232 | 88.238 | 88.254 | 88.279 | 88.311 | 88.349 | 88.390 | 88.432 | 88.473 | 0.079 | 0.158 | 0.241 | 88.272 | 88.311 | 88.352 |
20 | 86.549 | 86.559 | 86.588 | 86.635 | 86.695 | 86.764 | 86.840 | 86.917 | 86.994 | 0.146 | 0.291 | 0.446 | 86.622 | 86.694 | 86.772 |
30 | 85.026 | 85.039 | 85.077 | 85.137 | 85.215 | 85.307 | 85.406 | 85.510 | 85.612 | 0.189 | 0.381 | 0.587 | 85.121 | 85.216 | 85.319 |
40 | 83.724 | 83.738 | 83.779 | 83.844 | 83.929 | 84.030 | 84.140 | 84.255 | 84.371 | 0.205 | 0.416 | 0.647 | 83.827 | 83.932 | 84.048 |
50 | 82.686 | 82.699 | 82.737 | 82.799 | 82.880 | 82.976 | 83.082 | 83.195 | 83.309 | 0.194 | 0.397 | 0.623 | 82.783 | 82.884 | 82.997 |
60 | 81.934 | 81.944 | 81.976 | 82.027 | 82.094 | 82.174 | 82.265 | 82.361 | 82.460 | 0.160 | 0.331 | 0.526 | 82.014 | 82.099 | 82.197 |
70 | 81.475 | 81.482 | 81.504 | 81.539 | 81.586 | 81.642 | 81.707 | 81.776 | 81.848 | 0.111 | 0.232 | 0.373 | 81.530 | 81.591 | 81.662 |
80 | 81.302 | 81.306 | 81.316 | 81.334 | 81.357 | 81.385 | 81.418 | 81.454 | 81.492 | 0.055 | 0.116 | 0.190 | 81.329 | 81.360 | 81.397 |
Max | 0.205 | 0.416 | 0.647 |
Results are classified to reflect the common rotor ranges. Note that:
When setting up the rotor, the error in DLongR tracking around the Clarke Belt is a given, unalterable feature of the rotor. Most rotors step through divisions of 0.1°.
However the Beam setting can be optimised by using the midrange value shown above for the rotor's range. This halves the intrinsic error to 0.11° for a ±40° rotor and 0.21° for a ±60° rotor.
Although this seems common sense, actually proving it is not straightforward and requires vector manipulation with matrices. Although much work, it yields a powerful analytical tool.
Coordinate axes have already been defined - X South and Y East in the northern hemisphere, opposite in the southern, Z vertically up. Mathematical convention has a +ve rotation anti-clockwise looking from +ve to −ve, which for Y happens to be opposite to the one in the Settings Analysis.
'Perfectly' aligning a conventional fixed dish on a sat can then be modelled by moving a unit vector initially pointing along the X-Axis, as follows ...
Mounting a rotor and turning it to a sat can be modelled by the mathematically inconvenient ...
... but the following is equivalent and (if less practical in real life) mathematically easier ...
The angle between the resulting vectors is the intrinsic error from using an approximate mechanism of a single axis rotor rather than an exact mechanism able to point in any direction.
The following mathematical models derive from matrices representing the two component rotations:
Cos(y) | 0 | −Sin(y) | Cos(z) | Sin(z) | 0 | |||||||||||||||
Ry(y) | = | 0 | 1 | 0 | (5) | Rz(z) | = | −Sin(z) | Cos(z) | 0 | (6) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sin(y) | 0 | Cos(y) | 0 | 0 | 1 |
Fixed = Rz(zF) × Ry(yF) × (1, 0, 0) where zF = DLongA, yF = −Elevation
Cos(zF) | Sin(zF) | 0 | Cos(yF) | 0 | −Sin(yF) | 1 | |||||||||||||
= | −Sin(zF) | Cos(zF) | 0 | × | 0 | 1 | 0 | × | 0 | ||||||||||
0 | 0 | 1 | Sin(yF) | 0 | Cos(yF) | 0 |
Cos(zF).Cos(yF) | Sin(zF) | −Cos(zF).Sin(yF) | 1 | ||||||||
= | −Sin(zF).Cos(yF) | Cos(zF) | Sin(zF).Sin(yF) | × | 0 | ||||||
Sin(yF) | 0 | Cos(yF) | 0 |
Cos(zF).Cos(yF) | |||
= | −Sin(zF).Cos(yF) | ||
Sin(yF) |
Rotor = Ry(y1) × Rz(zR) × Ry(y2) × (1, 0, 0) where y1 = Tilt−90, zR = DLongR, y2 = 90−Beam
Cos(y1) | 0 | −Sin(y1) | Cos(zR) | Sin(zR) | 0 | Cos(y2) | 0 | −Sin(y2) | 1 | ||||||||||||||||||
= | 0 | 1 | 0 | × | −Sin(zR) | Cos(zR) | 0 | × | 0 | 1 | 0 | × | 0 | ||||||||||||||
Sin(y1) | 0 | Cos(y1) | 0 | 0 | 1 | Sin(y2) | 0 | Cos(y2) | 0 |
Cos(y1).Cos(zR) | Cos(y1).Sin(zR) | −Sin(y1) | Cos(y2) | 0 | −Sin(y2) | 1 | |||||||||||||
= | −Sin(zR) | Cos(zR) | 0 | × | 0 | 1 | 0 | × | 0 | ||||||||||
Sin(y1).Cos(zR) | Sin(y1).Sin(zR) | Cos(y1) | Sin(y2) | 0 | Cos(y2) | 0 |
Cos(y1).Cos(zR).Cos(y2)−Sin(y1).Sin(y2) | Cos(y1).Sin(zR) | −Cos(y1).Cos(zR).Sin(y2)−Sin(y1).Cos(y2) | 1 | ||||||||
= | −Sin(zR).Cos(y2) | Cos(zR) | Sin(zR).Sin(y2) | × | 0 | ||||||
Sin(y1).Cos(zR).Cos(y2)+Cos(y1).Sin(y2) | Sin(y1).Sin(zR) | −Sin(y1).Cos(zR).Sin(y2)+Cos(y1).Cos(y2) | 0 |
Cos(y1).Cos(zR).Cos(y2)−Sin(y1).Sin(y2) | |||
= | −Sin(zR).Cos(y2) | ||
Sin(y1).Cos(zR).Cos(y2)+Cos(y1).Sin(y2) |
Hence, the direction cosines for the vectors (both are unit vectors so denominators = 1) are ...
Fixed: | ||
aF | = | Cos(zF).Cos(yF) |
bF | = | −Sin(zF).Cos(yF) |
cF | = | Sin(yF) |
Rotor: | ||
aR | = | Cos(y1).Cos(zR).Cos(y2)−Sin(y1).Sin(y2) |
bR | = | −Sin(zR).Cos(y2) |
cR | = | Sin(y1).Cos(zR).Cos(y2)+Cos(y1).Sin(y2) |
... and the rotor's intrinsic tracking error, e, is then the angle between the two vectors ...
e | = | ArcCos(aF.aR + bF.bR + cF.cR) |
... substituting the direction cosines ...
e | = |
ArcCos
(
Cos(zF).Cos(yF).[Cos(y1).Cos(zR).Cos(y2)−Sin(y1).Sin(y2)]
+ Sin(zF).Cos(yF).Sin(zR).Cos(y2) + Sin(yF).[Sin(y1).Cos(zR).Cos(y2)+Cos(y1).Sin(y2)] )
|
... substituting the rotations ...
e | = |
ArcCos
(
Cos(DLongA).Cos(−Elevation).[Cos(Tilt−90).Cos(DLongR).Cos(90−Beam)−Sin(Tilt−90).Sin(90−Beam)]
+ Sin(DLongA).Cos(−Elevation).Sin(DLongR).Cos(90−Beam) + Sin(−Elevation).[Sin(Tilt−90).Cos(DLongR).Cos(90−Beam)+Cos(Tilt−90).Sin(90−Beam)] )
|
... which can be simplified as follows ...
Cos(−A) | = | Cos(0 − A) | ||
∴ | Cos(−A) | = | Cos(0).Cos(A) + Sin(0).Sin(A) | Compound Angles (4) |
∴ | Cos(−A) | = | Cos(A) | |
Sin(−A) | = | Sin(0 − A) | ||
∴ | Sin(−A) | = | Sin(0).Cos(A) − Cos(0).Sin(A) | Compound Angles (2) |
∴ | Sin(−A) | = | −Sin(A) | |
Cos(90 − B) | = | Cos(90).Cos(B) + Sin(90).Sin(B) | Compound Angles (4) | |
∴ | Cos(90 − B) | = | Sin(B) | |
Sin(90 − B) | = | Sin(90).Cos(B) − Cos(90).Sin(B) | Compound Angles (2) | |
∴ | Sin(90 − B) | = | Cos(B) | |
Cos(C − 90) | = | Cos(C).Cos(90) + Sin(C).Sin(90) | Compound Angles (4) | |
∴ | Cos(C − 90) | = | Sin(C) | |
Sin(C − 90) | = | Sin(C).Cos(90) − Cos(C).Sin(90) | Compound Angles (2) | |
∴ | Sin(C − 90) | = | −Cos(C) |
... giving (retaining version with explicit Tilt for later use) ...
e | = |
ArcCos
(
Cos(DLongA).Cos(Elevation).[Sin(Tilt).Cos(DLongR).Sin(Beam)+Cos(Tilt).Cos(Beam)]
+ Sin(DLongA).Cos(Elevation).Sin(DLongR).Sin(Beam) + Sin(Elevation).[Cos(Tilt).Cos(DLongR).Sin(Beam)−Sin(Tilt).Cos(Beam)] )
|
... but here Tilt = Lat ...
e | = |
ArcCos
(
Cos(DLongA).Cos(Elevation).[Sin(Lat).Cos(DLongR).Sin(Beam)+Cos(Lat).Cos(Beam)]
+ Sin(DLongA).Cos(Elevation).Sin(DLongR).Sin(Beam) + Sin(Elevation).[Cos(Lat).Cos(DLongR).Sin(Beam)−Sin(Lat).Cos(Beam)] )
|
... where Lat is given and DLongA, Elevation, DLongR, Beam are as previously calculated.
The following table lists intrinsic rotor error over both common ranges, assuming:
Intrinsic Rotor Error (perpendicular axis, midrange elevation, rotor step = 0.1°) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Latitude (Lat) |
±40° Rotor | ±60° Rotor | ||||||||||||||
Beam | Longitude Difference (DLong) | Max | Beam | Longitude Difference (DLong) | Max | |||||||||||
0 | 10 | 20 | 30 | 40 | 0 | 10 | 20 | 30 | 40 | 50 | 60 | |||||
0 | 90.00 | 0.00 | 0.03 | 0.05 | 0.03 | 0.02 | 0.05 | 90.00 | 0.00 | 0.03 | 0.05 | 0.03 | 0.02 | 0.01 | 0.03 | 0.05 |
10 | 88.27 | 0.04 | 0.05 | 0.02 | 0.01 | 0.05 | 0.05 | 88.31 | 0.08 | 0.08 | 0.06 | 0.03 | 0.03 | 0.04 | 0.09 | 0.09 |
20 | 86.62 | 0.07 | 0.08 | 0.04 | 0.04 | 0.09 | 0.09 | 86.69 | 0.15 | 0.14 | 0.11 | 0.07 | 0.05 | 0.08 | 0.15 | 0.15 |
30 | 85.12 | 0.09 | 0.08 | 0.05 | 0.03 | 0.11 | 0.11 | 85.22 | 0.19 | 0.18 | 0.14 | 0.08 | 0.05 | 0.10 | 0.19 | 0.19 |
40 | 83.83 | 0.10 | 0.09 | 0.07 | 0.02 | 0.11 | 0.11 | 83.93 | 0.21 | 0.19 | 0.16 | 0.09 | 0.03 | 0.10 | 0.21 | 0.21 |
50 | 82.78 | 0.10 | 0.09 | 0.05 | 0.04 | 0.10 | 0.10 | 82.88 | 0.20 | 0.19 | 0.15 | 0.09 | 0.04 | 0.10 | 0.20 | 0.20 |
60 | 82.01 | 0.08 | 0.07 | 0.04 | 0.02 | 0.09 | 0.09 | 82.10 | 0.17 | 0.16 | 0.12 | 0.07 | 0.05 | 0.08 | 0.17 | 0.17 |
70 | 81.53 | 0.06 | 0.06 | 0.04 | 0.05 | 0.06 | 0.06 | 81.59 | 0.12 | 0.12 | 0.09 | 0.07 | 0.02 | 0.07 | 0.12 | 0.12 |
80 | 81.33 | 0.03 | 0.04 | 0.03 | 0.04 | 81.36 | 0.06 | 0.06 | 0.05 | 0.06 | ||||||
Max | 0.11 | 0.21 |
Note that:
Some sites give rotor tilts leaning slightly forward from perpendicular towards the Clarke Belt. Depending on rotor range and latitude, such 'forward' tilts can significantly reduce the intrinsic errors above, as can be gauged using the previous vector analysis.
Taking the previous result with explicit tilt, it only remains to supply tilt and beam settings, but what should these be? It may be possible to derive suitable values for each latitude and rotor range proved to give minimum overall error, but I have tried and been unable to do so. Instead, what follows is a procedure that gives the best results I've seen so far.
Since error increases with DLong/A/R as the beam falls increasingly short of the Clarke Belt, start with the correct beam setting for (note, rotational) DLongR = 90°. However, that beam will overshoot at DLong = DLongA = DLongR = 0°. Therefore, tilt the rotor forward by the overshot angle to bring the beam back onto the Clarke Belt there.
When DLongR = 90°, P is coincident with R, and the angles can be calculated as follows ...
Consider triangle ESR:
SR² | = | SE² − ER² | Pythagoras' Theorem | |
∴ | SR² | = | Rc² − Re².Cos²(Lat) | Substitute SE & ER |
∴ | SR | = | √[ Rc² − Re².Cos²(Lat) ] |
Consider triangle OSR:
Tan(Beam90) | = | SR / OR | Definition of Tan | |
∴ | Tan(Beam90) | = | √[ Rc² − Re².Cos²(Lat) ] / Re.Sin(Lat) | Substitute SR & OR |
∴ | Beam90 | = | ArcTan { √[ Rc² − Re².Cos²(Lat) ] / Re.Sin(Lat) } | |
Tilt | = | Lat + ( Beam90−Beam0 ) | Beam0 from earlier table |
The following table lists intrinsic rotor error for 'forward' tilts over the same ranges, assuming:
Intrinsic Rotor Error (forward axis beam90 − beam0, beam90, rotor step = 0.1°) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Latitude (Lat) |
Tilt | Beam | Longitude Difference (DLong) | Max | |||||||
0 | 10 | 20 | 30 | 40 | 50 | 60 | 0-40 | 0-60 | |||
0 | 00.00 | 90.00 | 0.00 | 0.03 | 0.05 | 0.03 | 0.02 | 0.01 | 0.03 | 0.05 | 0.05 |
10 | 10.25 | 88.48 | 0.00 | 0.03 | 0.01 | 0.02 | 0.04 | 0.01 | 0.03 | 0.04 | 0.04 |
20 | 20.46 | 87.01 | 0.00 | 0.04 | 0.00 | 0.02 | 0.06 | 0.01 | 0.03 | 0.06 | 0.06 |
30 | 30.61 | 85.64 | 0.00 | 0.01 | 0.01 | 0.01 | 0.01 | 0.09 | 0.02 | 0.01 | 0.09 |
40 | 40.68 | 84.41 | 0.00 | 0.01 | 0.02 | 0.05 | 0.08 | 0.08 | 0.08 | 0.08 | 0.08 |
50 | 50.67 | 83.36 | 0.00 | 0.05 | 0.03 | 0.01 | 0.09 | 0.02 | 0.11 | 0.09 | 0.11 |
60 | 60.58 | 82.52 | 0.00 | 0.00 | 0.03 | 0.02 | 0.10 | 0.08 | 0.07 | 0.10 | 0.10 |
70 | 70.42 | 81.90 | 0.00 | 0.03 | 0.06 | 0.08 | 0.06 | 0.00 | 0.02 | 0.08 | 0.08 |
80 | 80.22 | 81.52 | 0.00 | 0.04 | 0.02 | 0.04 | 0.04 | ||||
Max | 0.10 | 0.11 |
Practical usefulness will be limited by rotor and dish scale accuracy, and may be doubtful for ±40° rotors, perhaps excepting mid-latitude problem systems, but more probable for ±60° rotors.