[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]

Re: TMSAT Status

• Subject: Re: [amsat-bb] TMSAT Status
• From: Chris Hill <CRH_Telnet@xxxxxxxxxxx>
• Date: Sat, 11 Jul 1998 20:42:42 +0800

```Hi Norm and All,

I was able to load the two-line elements for TMSAT-1 into my satellite
program OK...

In any case, I thought I'd respond to the "How is the modulo-10 checksum
calculated";

1.  Add up the value of the first 68 characters (numbers) in each line.
2.  Ignore non-numeric characters, except a minus sign ('-') counts as a 1
(one).
3.  Divide the total by 10.
4.  The modulus is the remainder.

For example, the line;

1 25395U 98043B   98191.87373682 -.00000045  00000-0  00000+0 0    24

Dividing by 10 gives 13 (discard the 13), with a remainder of 4.  Hence 134
MOD 10 = 4.

The simple check is that the 69th character in the line should be the
modulo-10 result as described above.  In the example, the 69th character is
4, hence the line is (probably) good.

Here is a function taken from a Pascal program written by Dr T.S Kelso;

+----------------------------------------------------------------------+
Function Checksum_Good(line : line_data) : boolean;
var
i,checksum,check_digit : integer;
begin
checksum := 0;
for i := 1 to 68 do
case line[i] of
'0'..'9' : checksum := checksum + Ord(line[i]) - Ord('0');
'-' : checksum := checksum + 1;
end; {case}
checksum := checksum mod 10;
check_digit := Ord(line[69]) - Ord('0');
Checksum_Good := (checksum = check_digit);
end; {Function Checksums_Good}
+----------------------------------------------------------------------+

I used this routine in a little program I wrote, which allows the user to
edit some of the two-line elements in a text editor...  my program then
calculates the mod-10 check digit and inserts it into each line, so that the
keps will check out OK in any program....  of course, the keps are false,
but it allows the user to experiment with some "what if's" like "what if a
LEO like KO-23 was in an essentially identical orbit to it's current one,
but inclined at zero degrees to the equator?".

I've been meaning to clean it up a bit and describe it on a web page on the
Amsat site...  if you would be interested in such a program, please let me know.

73 Chris VK6KCH

p.s  what version of InstantTrack are you running?

At 19:29 11/07/98, you wrote:
>At 06:58 11/07/1998 +0100, you wrote:
>Snip.....
>>The following keps are accurate for tracking the spacecraft (Note that the
>>object number is not the final TMSAT object).
>>
>>TMSAT-1
>>1 25395U 98043B   98191.87373682 -.00000045  00000-0  00000+0 0    24
>>2 25395  98.7944 261.8948 0001516   6.1903 313.0257 14.22263117    96
>>----
> Ok, so when I load these into Instantrack I get the "mon 10 line checksum
>failed message. When compared to other elsets the checksum even looks
>wrong. Am I stupid and missing something... it has been a long day?
>
>BTW, how is the mod(ulus?)10 checksum calculated? I seem to recall having a
>similar problem with some Iridium elsets.
>
+-------------------------------------------------+
|  Chris Hill            email : vk6kch@amsat.org |
|  CRH Telnet PTY LTD          A.C.N. 008 922 530 |
|  Phone : +61 8 9354 8416  Fax : +61 8 9354 8826 |
+-------------------------------------------------+

----
Via the amsat-bb mailing list at AMSAT.ORG courtesy of AMSAT-NA.
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org

```

AMSAT Home