Afreet Software, Inc.
     Software created by Alex Shovkoplyas, VE3NEA
Products





GRITTY





RTTY Skimmer Server





HamVNA





DX Atlas





CW Skimmer





CW Skimmer Server





Pileup Runner





DX Bulletin Reader





Voice Shaper





IonoProbe





Band Master





Faros





Morse Runner





Ham CAP





Rocky





Morse Midi





Master.dta
Editor






Tech stuff



Programmer's
Corner





OmniRig





QRQ Profiler





RttyCompare





SSTV Tools





Toy NTP






GRITTY 1.3

RTTY decoder for Windows XP/7/8/10, 32/64-bit

FREEWARE



GRITTY is an RTTY decoding program based on the technology developed for the RTTY Skimmer Server project. This is not a skimmer, it decodes a single signal in the 3-kHz audio coming from the transceiver via a soundcard, just like any other RTTY program.





Fig.1. GRITTY is decoding weak signals. Unreliable characters in the text are printed using light colors, many of them are errors, but the program still determines the correct callsign and shows it on the callsign stack.





How It Works

The decoding algorithm in GRITTY is based on the methods of Bayesian statistics. This results in a better decoding accuracy than other algorithms, created by the trial and error method, typically achieve. In the Bayesian framework, all information is represented in the form of probabilities. In particular, the Bayesian decoder computes not only the 5-bit Baudot codes, but also the probability of error in each of the bits.

One obvious use of these extra data is to compute the error probability for each character in the text, and color-highlight the unreliable characters. Another use is smart squelching. In GRITTY, the squelch function is based not on the signal amplitude but on the error probability. This works better than the traditional squelch since it allows decoding of very weak signals but suppresses strong signals when interference makes accurate decoding impossible. The net result is very little garbage in the output.

The bit error probabilities are also used in other, more interesting ways. GRITTY not simply prints what was decoded, but performs some intelligent analysis of the decoded text. When similar callsigns appear in the message, an experienced operator can often tell which call is correct and which one is corrupted. GRITTY can do the same, but more accurately than a human, because it can compare the calls bit by bit and merge the probabilities using the Bayes formula. Quite often the program is able to determine the correct callsign and put it on the call stack even if all received copies of the call are corrupt.

A similar approach is used to find and correct the errors in other parts of the text, such as exchange numbers and CQ/DE keywords, to fix incorrect shift state, etc.

Several audio recordings that illustrate the unique features of GRITTY are available on the GRITTY Demo page.


Integration with other programs

GRITTY has an open API interface, documented in its Help file, that allows other programs to receive decoded data and other information, such as mouse click events. Here is a demo program, with source code, that shows how to receive decoded text from GRITTY, update previously received characters when smart decoding makes corrections, and color-highlight unreliable characters.

For comparison, the demo also receives decoded text from either MMTTY or 2Tone.

Download the demo here: GrittyClient.zip





Copyright © 1998-2015 Afreet Software, Inc.


I/O


Downloads


Registration





Yahoo Group

Update notifications

Announcements of new software




Author's e-mail





Vote
for this website