This calculator illustrates and tests coordinate corrections, celestial to telescope coordinate conversion methods including the meridian flip, the impact of refraction, calculation of drive rates and their changes over time and the analysis of fabrication errors.
There are two methods to convert between celestial and telescope coordinates: standard spherical trigonometry and matrix math as first promulgated by Toshami Taki. The two methods can be compared directly. If using the matrix option, then either two or three inits can be used. Leave the alignment position #3 empty if desiring only two inits.
The meridian flip is used by German Equatorial mounts to prevent the bottom of the telescope tube hitting the mount and by Fork and Horseshoe mounts that need to swing past the pole to view areas below the polar region. This calculator shows the meridian flip in action and calculates the changes in telescope coordinates.
Drives rates and their rate of change are calculated with two different methods for comparison: delta time and formulae. The delta time method increments the sidereal time, or sky position, by one second, then computes the speed. The rate of change is calculated by taking a further third position, then comparing drive rates. The formulae method uses standard spherical trigonometry equations to compute speed. However, these equations do not include refraction. The rate of change is used to determine frequency of drive rate updates to the motors. If desired accuracy is 1/10 arcsecond, and rate of change is 1/1000 arcsecond, then the drive rate need not be updated for up to 100 seconds.
Refraction has an increasingly significant impact on positioning as the telescope nears the horizon. Importantly, refraction slows down drives rates and increases the rate of change in the drives. The King Rate is included to contrast with rates generated by the delta time algorithm.
Fabrication errors include the offset in the primary axis (either Right Ascension or Hour Angle or azimuth, offset in the secondary axis (either Declination or altitude) and the misalignment between primary and secondary axes. Fabrication errors can be calculated when the conversion style is set to matrix. At the telescope, the azimuth offset can be ignored since the two star initialization method uses offsets exclusively. Altitude can be hard to set precisely, so calculation of altitude offset is of great help. And finally, the axes misalignment is a critical factor is slewing accurately. So calculation of altitude offset and axes alignment is can improve positioning.
This calculator can be used to study initializations and their errors. For instance, is it true that init points should be 90 degrees apart? It's more important that the init points are accurate then that they scan as large as difference as possible. Moving exact offset distances from an init point, even if the init point was sloppy, is more important than anything else. Chances are though that if the init points were crudely done, then offset distances will be equally crude. And finally, there is no difference between the matrix and trig methods in accuracy
The five minute error is the error that occurs if the tracking rates are not updated and instead continue as is. For an altazimuth telescope, the drive rates
vary continuously, so an error builds if the rates are not updated. For an equatorial telescope, small errors occur near the horizon due to refraction. The
error displayed is the apparent error as would be seen in the eyepiece or in the digital image.
Hours can be entered in a variety of formats. For example, '05h 12m 20.2sec', or '5 12 20.2' or '5:12:20.2' or simply ,'5' for 5 hrs. Decimals can be used anywhere, e.g., '5.5h' is 5h 30m. Any reasonable spelling or shorthand of hours, minutes and seconds can be used. Radians can also be used, e.g., 1.2 radians or 1.2rad or 1.2r.
Degrees can be entered in a variety of formats. For example, '+41°16'10.0"' or '41d 16m 10s' or '41 16 10' or '41:16:10' or simply '4' for 4 degrees. Decimals can be used anywhere, e.g., '5.5' is 5d 30m. Any reasonable spelling or shorthand of degrees, minutes and seconds can be used. Radians can also be used, e.g., 1.2 radians or 1.2rad or 1.2r.
Conventions: hour angle increases to the west and Right Ascension increases to the east. For example, if the local sidereal time is 10 hrs then the scope's meridian points to RA of 10 hrs. RA will be higher to the east and lower to the west. If pointed to an RA of 8 hrs (to the west), then hour angle is 10 - 8 = 2 hrs. The matrix conversion routine also calculates an hour angle offset, which follows the same sign convention. For example the hour angle offset of a scope that thinks it is pointing to the meridian when the sidereal time is 10 hrs but actually points to a location 1 hr east with an RA of 11 hrs is: hour angle offset = 10 hrs (SidT) - 0 (hour angle that scope thinks it is on) - 11 hrs (RA) = -1 hr.
Defined alignments for matrix math conversions (altaz and equat): 1st point: scope's celestial pole (faces north in northern hemisphere, faces south in southern hemisphere), 2nd point: intersection of celestial equator and meridian (faces south in northern hemisphere, faces north in southern hemisphere).
Coordinate Rules (consequences of the defined alignments, to be applied to all coordinate conversions):
1. Altitude increases from horizon to zenith
2. Azimuth always increases clockwise (position your body along the pole with head pointed upward, sweep arms from left to right clockwise)
3. Azimuth of 0 always points towards Earth's closest pole, azimuth of 180 points to Earth's equator
4. Tracking motion causes azimuth to reverse direction in southern hemisphere as compared to northern hemisphere
Swinging through the pole: some equatorial mounts can take advantage of swinging through the pole, or must swing through the pole, to reach objects just under the pole. These mounts include fork, German, siderostat and uranostat mounts. Fork mounts can be single or two armed, and may not be able to rotate 360 deg in the primary axis. These mounts must swing through the pole to reach objects underneath the pole.
Swinging through the pole is the equivalent of a meridian flip. For example, an object 10 degrees above the pole and on the meridian (RA=0. SidT=0, Dec=80) has a scope or motor position of az=180, alt=80. Moving to an object 10 degrees below the pole (RA=12, SidT=0, Dec=80) results in a scope or motor position of az=0, alt=80 and a movement of az=180, alt=0 deg. But the shortest distance is actually a move through the pole of 20 deg in alt, resulting in a scope or motor position of az=180, alt=100 and a movement of az=0, alt=20 deg. This is equivalent to taking a meridian flip on the position below the pole, ie, the flipped position of (az=0, alt=80) becomes az=180, alt=100, the desired swung through the pole position.
A meridian flip is commonly triggered when the scope moves from 'on east pointing west' to 'on west pointing east' and vice versa. Adding the option to swing through the pole means triggering the meridian flip when the scope would move past azimuth limits of a fork mount that cannot rotate 360 deg in azimuth or possibly when the distance to move is less than 180 deg.
Considerable time was taken to develop functions that effectively separate axis misalignment and azimuth offset and use these values to accurately calculate altazimuth values near the azimuth axis' pole. Five routines are tested: Taki's initial function, Taki's small angle solution, Taki's iterative solution, Larry Bell's iterative solution and a final function that combines Bell's and Taki's iterative solutions for speed. It's this final solution that's used in the calculator. With an axis misalignment of 0.04 degrees and an azimuth offset of 0.4 degrees, aimed 5 degrees from the zenith, the solutions accuracies (azimuth/altitude in arcseconds) are: 'Taki simple' 1386/237, 'Taki small angle' 30/104, 'Taki iterative' 0/0.2, 'Bell iterative' 0/0 and Bell+Taki iterative 0/0.
To look under the hood, see the more than 1000 unit tests that illustrate and test the code at
https://www.bbastrodesigns.com/lib/coordLib unitTests.htm and see the code itself at
https://www.bbastrodesigns.com/lib/coordLib.js
User interface rules:
- Coordinate corrections are turned off if 'Hour Angle' is selected for the equatorial coordinate.
- Refraction is turned off when the tracking rates algorithm is set to formulae.
- King Rate is turned on when refraction is turned on, alignment is set to equatorial, conversion style is set to trig and tracking rates algorithm is set to formulae.
- The scope to sky conversion method is (re)initialized every time there is a change in the latitude or a change in the alignment or a change in the conversion style or a change in the tracking rates algorithm.
- Fabrication errors can only be calculated when the conversion style is set to matrix. Calculation of azimuth or Right Ascension/Hour Angle offset has no impact, so calculation of altitude or Declination offset and axes misalignment is offered. The fab. error calculation ignores any preset fab. error values.
- Including several positions beyond the two initializations greatly improves fabrication error calculation accuracy. Test data based on Taki's data is included to illustrate. To use, load the Taki test data, then initialize then calculate fabrication errors. Taki gives -0.04, 0.4 and -1.63 respectively. The first two fabrication errors are deeply intertwined and a decrease in one can be compensated for by an increase in another. See my "telescope mounting's primary axis errors" calculator.
- The preset equatorial and altazimuth alignments use matrix math with the first position at the celestial pole and the 2nd position facing south with Declination = 0. In the former case, the telescope's secondary axis reads zero while in the later case it reads 90 - latitude.
- To update the fabrication errors, enter them then press the 'Initialize, adopt fab. errors' button. For example, to see the impact of altitude offset, start with an altazimuth alignment with fab errors all showing zero. In the 1st and 2nd initialized positions, add 2 to the altitude numbers (40 and 50 become 42 and 52 respectively). Press the 'Initialize, adopt fab. errors' button. Notice that the calculated latitude and input latitude no longer agree. Enter -2 in the secondary axis offset, and press the Initialize button again. Note that the calculated latitude and input latitude once again agree. Press the 'Compute axes align., alt.offset' button. The analysis now indicates an altiude offset of -2. Remember that the fabrication errors analysis ignores any fab. error presets.
- A count of initializations is included along with the current initialization flavor along with any further notes, like the King tracking rates are in effect. Also if using the matrix option, the number of alignment points in use is displayed.
Mel Bartels