ROS Technical Description
By Jose Alberto Nieto Ros
ROS is a easy interface chat mode for real-time amateur contacts. It is a half-duplex non-Automatic Repeat ReQuest (ARQ) forward-error-correcting (FEC) mode. It performs well on long-path fading conditions and in the presence of interference.
The transmission is based on M-FSK (sequential single tone FSK), with continuous phase (CPSK) tones. There is no delay between tones, and no shaping of the tones (rectangular window).
The ROS transmission system is divided by frames of tones. A Frame is formed by 144 tones: 128 tones for data (with 7 bits Gray Code), and 16 tones for synchronization.
128MFSK offers very good immunity to interference and ionospheric effects, and is also very sensitive. However, you can have a wonderful modulation that does not work if the timing is not perfect, even with a good FEC.
ROS has solved that problem by using an alternative to the classical PLL structure. This system uses 16 tones of synchronization, and they are known in advance by the receiver. ROS is tested that can perform synchronization of data in very poor conditions of noise, even with a strong multi-path. This allows the modulation 128FSK able to do their job properly because you always know where it begins and ends a symbol. Also ROS can support up to 200Hz shifts (in real time). Synchronization is the main virtue of this mode.
Before transmitting data, a known sequence of 20 symbols is sent to the receiver know the exact time to start decoding. The receiver starts to decode only if at least 12 of 20 possible symbols have arrived properly. You can see this measure in the frame acquisition gauge.
After transmitting data, another sequence of 16 symbols is sent to the receiver know the exact time to stop decoding. The message will appear on the screen.
Symbol Rate and Tone Spacing
The system uses two symbol rates. Each symbol consists of a single square keyed pulse with the same start and finish phase as all others. In the case of 16 baud (15.625), tone spacing is numerically equal to the symbol rate: 15.625 Hz. In the case of 1 baud (0.9765 baud), tone spacing is numerically equal to the Symbol Rate x 16: 15.625 Hz.
Mode at 1 baud is intended for use with weak signals in difficult environments.
Transmission bandwidth are 144x16.125=2250 Hz. The transmitter does not need to be linear. You can use Class C Amplifiers.
FEC coding with interleaver is used in ROS mode. FEC is sequential R=1/2, K=7, using NASA algorithms.
Convolutional interleavers has been proposed by Ramsey  and Forney . The code symbols are sequentially shifted into de bank of 16 registers; each successive register provides 1 symbol more storage than did the preceding one. The important advantage of convolutional over block interleaving is that with convolutional interleaving the end-to-end delay is M(N-1) symbols, where M=NJ, and the memory required is M(N-1)/2 at boths ends of the channel. Therefore, there is a reduction of one-half in delay and memory over the block interleaving requirements.
The alphabet coding in the 16 bauds mode is the IZ8BLY Varicode, using an extended ASCII character set and super-ASCII control codes. The alphabet coding in the 16 bauds mode are a 6 bits ASCII.
The receiver uses non-coherent demodulation, employing an FFT filter as demodulator technique
Signal is integrating over the symbol tone period. In the case of 16 bauds mode, symbol period is of 64 mseg. In the case of 1 baud mode symbol period is of 1024 mseg.
A recovered symbol clock algorithm is used to maintain synchronism.
The FEC decoder uses soft decisions, but, unlike other implementations of the Viterbi algorithm, the implementation in the ROS mode works directly with symbols instead of bits in the trellis diagram. That provides you greater robustness in the decoding.
 Ramsey, J.L., “realization of optimum Interleavers, IEEE Trans. Inf. Theory, vol. IT16, no. 3, May 1970, pp 338-345
Forney, G.D., “Burst-Correcting Codes for the Classic Bursty Channel,” IEEE Trans. Commun. Technol, vol. COM19, Oct 1971pp. 772-781