Brak opisu

gortty

gortty is a RTTY modulator/demodulator library for the Go language. The guts of it were derived from the openbaudot C library created David Rowe:

https://sourceforge.net/projects/openbaudot/

Architecture

The library is based around 4 signal processing modules:

Encoder

Converts UTF8 strings into 5 level code, supporting the following alphabets:

  • TDD
  • US TTY
  • US ITA2
  • US Weather
  • US Fractions

In addition to basic code translation, the coder inserts the necessary shift and unshift control codes as required. It also ensures that line length limits are respected. While all of the currently implemented alphabets are 5 unit codes, the library supports up to 8 unit codes.

Modulator

From the coded output produced by the encoder, the modulator generates a 16 bit signed audio FSK waveform. Baud rate, fractional stop bits, marking and spacing frequencies are all configurable.

Demodulator

Accepting a 16 bit signed audio FSK waveform as input, the demodulator generates a stream of coded characters. Supporting the same configuration flexibility as the modulator, the demodulator also supports an auto-baud mode to automatically recover the baud rate from a received samples.

Decoder

The decoder operates in reverse of the encoder.

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

Author

This library was created Keelan Lightfoot. The baudot translation and DSP sections are based closely on the work of David Rowe in his openbaudot C library.

Change Log

1.0.0

  • Initial release