-------- paul swed writes: > Decoding the actual timecode is a serious pain.
Not really if you approach it from the right side. A lot of people try to decode these timecodes by looking for a perfect timegram. That works badly in low SN. First Tune your discriminator to have three output states: High, Low and Dont_Know. It must only output High or Low if it is very certain, any doubt and it outputs Dont_Know. Next: Find the Hour+Minute combination. There are 86400 possible seconds in the day we can be right now, our job is to eliminate the 1439 impossible time-grams and align the last one. Imagine for a moment, that we brute force all 86400 combinations every time we receive another High or Low bit. If the Day comes out to 31, the month has to be one of J,M,M,J,A,O,D, anything else can be eliminated. The LSB of the minutes must, by definition, change every minute, if it had same state last minute, we can rule this one out. The Day/month/year fields, can only change from one minute to the next, if Hour bits we have are compatible with 23 before and 00 after. It may sound like a lot of computing, but it does not take many good bits before almost all the 86400 possibilities have been ruled out and even in horrible S/N we will have found the Hour, Minute and Day in a matter of minutes. Once we're there, we can collect the date bits we still miss. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 p...@freebsd.org | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ time-nuts mailing list -- time-nuts@lists.febo.com To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com and follow the instructions there.