Bill Hawkins wrote:
Magnus,

I learned a technique for adjusting time that doesn't require floating
point calculations, back when a FP Package significantly slowed micro
processing, circa 1980.

I still remember those times, even if I did not do any computing then.

Use a preset counter to count incoming pulses, perhaps 1 PPS. Set it
for the number of pulses that will make a one pulse adjustment, up
or down. When it rolls over, double or cancel the next pulse on its
way to the clock  counter. The maximum clock display error is one pulse.

To carry it out to several decimal places, you need successively larger
counters to add or subtract a pulse.

I know this is heresy, but you don't need any programming skills, or
micros and compiler packages and endian calculations and debug tools
and training time to do this simple pulse manipulation in hardware.

True, while programming isn't prohibiting me from doing fun, back-of-the-envelope design sketches can reduce complexity regardless of implementation form. If you have the fullblown 64-bit (or better) IEEE-754 float to fool around with, then this is less of a problem.

If a person has programming skills, it is possible to implement the
counters and adjustments in a micro that doesn't have FP math.

Certainly, that was my aim.

Ah, I don't think "or -1,211 arcmin per day or -0,44 arcmin per year"
is correct. More change per day than per year? What have I missed?

I missed a e-3 exponent on the first number... so it is -0,07266 arcsec per dayor -26,6 arcsec a year. Thus, that's the approximate error of the method of mapping 365,25 days onto 366,25 sidreal days rather than using more accurate numbers. I still used approximate numbers (Gregorian correction) to get the rough value rather than a tabulated value from an athorative source rather than the back of my head.

The main point was to show that even an very coarse approximate approach may be good enought for simpler cases, and the simplified and reduced math may allow for relativly simple calculations. The ,25 part just begs for a x4 to transform into integer numbers. So its 365,25 = 1461/4 and 366,25 = 1465/4.

AS = 15*H + H*60/1461 + DI*360*4/1461 mod 360

H = HI + MI/60 + SI/3600

Using the above H formula with integer second indications (SI) will form a limit of resolution, but then again, I would not point a larger scope using this approximation anyway.

AS = 15*HI + MI/4 + SI/900 + HI*60/1461 + MI/1461 + SI/60/1461 + DI*360*4/1461 mod 360

Scale appropriatly, add position and correction values as needed before breaking down into output form. It might be helpfull to reduce further by realizing that 1461 = 3*487 and 3 is used for several of the multiplicative constants, so /487 can be used for all but MI.

Cheers,
Magnus

_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to