你的位置:首页 > 技术资料 > 软件分享

GRITTY 1.2

2015-07-20 08:24:26      点击:
GRITTY 1.2 

RTTY decoder for Windows XP/7/8, 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.