Winradio Universal FSK Decoder v.1.0 users guide

WiNRADiO
Universal FSK Decoder
®
Version 1.0
User’s Guide
Published by
WiNRADiO Communications
Copyright © 2000 by WiNRADiO Communications
All rights reserved.
No part of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.
Trademarks
WiNRADiO, VisiTune, XRS and associated logos are trademarks of WiNRADiO Communications.
All other brand and product names are trademarks or registered trademarks of their respective owners.
Patents
Certain aspects of WiNRADiO technology may be protected by existing patents or pending patent applications in certain jurisdictions.
Printed in Australia
2
Limitation of Liability and Remedies
The information published in this book has been compiled from several sources. While every effort has been made to ensure its accuracy, neither the authors nor the publisher can guarantee that all information is entirely correct or up-to-date. Furthermore, neither the authors nor the publisher can take any responsibility for the use of this information or any consequences arising therefrom.
WiNRADiO Communications shall have no liability for any damages due to lost profits, loss of use or anticipated benefits, or other incidental, special or punitive damages arising from the use of, or the inability to use, the WiNRADiO receiver or this optional software, whether arising out of contract, negligence, tort or under any warranty, even if WiNRADiO Communications has been advised of the possibility of such damages. In no event shall WiNRADiO Communications’ liability for damages exceed the amount paid for this product. WiNRADiO Communications neither assumes nor authorises anyone to assume for it any other liabilities.
Warning
In certain countries or states it is illegal to listen to certain frequencies, such as police or cellular telephones. We cannot accept any responsibility for the consequences of your non-compliance with government regulations. If you are in doubt about the regulations in your country or state, please contact your nearest radio communications regulatory authority.
WiNRADiO software is periodically upgraded. If you wish to be automatically notified of upgrades and other WiNRADiO related information, please register with our user database by filling in the registration form on our website www.winradio.com. Please visit our website frequently for information about new products.
3
Table of Contents
Installation ................................................................................. 5
System Requirements ........................................................................................... 5
Hardware Installation ........................................................................................... 5
Software Installation ............................................................................................. 6
Universal Data Decoder ........................................................... 7
Spectrum Analyzer .............................................................................................. 10
The Signal Demodulator .....................................................................................11
Time Estimations ................................................................................................. 12
The Decoder ........................................................................................................13
Character Statistics ............................................................................................. 14
The Translation Tables ........................................................................................ 15
Adding a new translation table .............................................................................. 15
Updating a translation table ................................................................................... 16
Removing a translation table .................................................................................. 16
Reverting to the default table ................................................................................ 16
Implemented Transmission Modes ....................................................................17
4

Installation

System Requirements

Minimum Recommended
Processor: Pentium MMX Pentium 200MHz or higher
or Pentium 200MHz
RAM: 32 MB 32 MB or more
Display VGA SVGA: 800x600, 256 colors
OS: Windows 95 Windows 95, 98, ME, NT 4 or 2000
Soundcard: Soundblaster 16 compatible (or DSP-based WiNRADiO receiver)
Receiver: Any WiNRADiO receiver
Receiver software: XRS compliant (version 3.11 or above for 1000/1500 WiNRADiO series, or 2.0 or above for 3000 Series WiNRADiO series)

Hardware Installation

DSP-based receivers (such as WR-3150i-DSP or higher models) do not require any special hardware installation. For other receiver models, plug the supplied connection lead into the audio (speaker) output of the WiNRADiO receiver and to the ‘Line In’ connector of your sound card.
If your receiver has a discriminator output (‘Data Output’), you might wish to use this output instead, in order to achieve better signal decoding performance. On WiNRADiO “e” (external receivers), this is accomplished by a cable connecting the RCA ‘Data’ connector on the receiver to the sound card. (This cable can be ordered using WiNRADiO order code WR-CABLE-RCA/3.5-1).
We strongly recommend that you connect the lead with the computer switched off to avoid any static discharges, which could result in damage to your computer.
Finally, connect headphones or external amplified speakers to your sound card speaker output.
5
WiNRADiO Universal FSK Decoder User’s Guide

Software Installation

1. Exit the WiNRADiO receiver software, if it is currently running.
2. Insert the installation CD into your PC CD Drive.
3. If Autoplay is enabled on your computer system, then the software will automatically begin installation.
4. If Autoplay is not enabled, go to the Windows Start | Run menu and type e:\install.
5. Start the WiNRADiO software. The menu bar will contain a new item, Decoders.
6

Universal Data Decoder

The Universal Data Decoder was developed as an extremely versatile signal decoding utility for all types of WiNRADiO receivers. Models with in­built DSP should be used for best quality, otherwise a sound card is required for the software to function.
The Decoder contains several powerful analysis tools, making it possible to determine transmission characteristics of an unknown signal fully automatically.
At the top of the Decoder front panel, there is a drop-down list, called the Protocol Selector. Here the user can select the type of protocol used. New protocols can be created here (using the Add or Edit buttons) either entirely from scratch, or by modifying parameters of existing protocols. (A “protocol” consists of all the various settings and parameters which are needed to be able to decode a signal, including the modulation mode, mark/space frequencies, baud rate, translation table, etc.)
The first stage in the signal processing chain is the level detector, visible at top-left of the control panel. The detector allows the user to see whether a proper audio signal level exists at the decoder input. This facility is available only when a sound card is used - the level should be adjusted either using the receiver or sound card volume settings. With WiNRADiO DSP receivers, the level control is automatic.
The signal is passed through the spectrum analyser section for frequency domain analysis. The analyser estimates the two most probable “mark/space” frequencies involved in the FSK modulation process. These are displayed in the Estimated section of the “Frequencies” group on the control panel. The user has a choice either using these automatically estimated values or pre-set values which can be also manually entered.
The next stage of the decoding process is the Signal Demodulator. It relies on the two specified mark/space frequencies and extracts the data signal. There
7
WiNRADiO Universal FSK Decoder User’s Guide
are two special modes available, optimal and high speed. The decoding quality can be sometimes significantly improved by the correct choice.
The data signal extracted by the demodulator is then sent to two different processing units. The first one is the Time Estimations unit. Here, a special algorithm attempts to determine the correct baud rate. The estimated value is displayed for reference, and it can be either automatically used for further processing, or ignored by the user if a manually entered or pre-set value is preferred.
The Data Output window shows the result step of the entire process. It uses all the results previously obtained as well as some additional parameters: Sometimes the transmitted characters are passed through a bit inversion mask; the decoder can easily handle this situation and special protocols can be defined when the correct mask has been found or is known. Also, some modes/protocols are polarity dependent, others require the automatic mode for correct functionality. These parameters can be set on the control panel in the Bit Inversion Mask and Polarity groups.
Before they are displayed, the decoded characters are passed through the Translation Table which can also be selected in the main control panel of the decoder. As the Translated Table is one of the parameters which form the entire “protocol”, it is possible to derive special protocols by changing the Translation Table.
There are five generic decoding modes: ITA2 (Baudot), IRA (ASCII), SITOR, Packet Radio and Raw Bits. For each mode, a different aspect of the decoder section is shown on the main control panel:
This is the oldest teleprinter system ever used. It uses a 5-bit alphabet, ITA2, also known as Baudot, with letters and digits sharing codes. That’s why there are special switching codes to enable switching between numbers and letters. It can be used in three different versions, depending on the parity bit option: None, Even and Odd.
With the beginning of the computer era, a new alphabet appeared, a 7-bit one, IRA (International Reference Alphabet), also incorrectly named “ASCII”. The bit rate has been increased, but the parity bit was still the only error detection that could be used. So again there are three versions to select from, depending on parity.
8
Universal Data Decoder
This is a large family of protocols, with parameter differences between them. Some protocols transmit the data in bursts, with equal time lengths between burst starts. The cycle length is the number of bits between these burst starts. When this burst mode is used, the number of data characters in every burst is specified by characters
in cycle. Protocols that don’t use the burst mode, must have cycle length equal to characters in cycle multiplied by 7, as there are 7 bits in each character.
For synchronization purposes, sometimes some of the transmitted characters are inverted. Inverting rate specifies the inversion cycle length. If it is 3, then every third character is inverted.
A simple repetition request (RQ) protocol has been implemented for some protocols in order to insure better transmission quality. After an RQ code, a number of characters has to be skipped in order to insure correct data display. The number of repeated characters can be specified through the repetition cycle length. This value also includes the RQ code. A value of 1, which is the minimum possible value, means that no characters must be skipped. Additionally, there are a number of different alphabets and the correct one must be selected in order to ensure correct decoding.
This mode has been developed by radio amateurs
for a safe and faster data transfer. X.25 was used
as a starting point and the protocol was named
AX.25 (Amateur X.25). The protocol allows,
theoretically, for an infinite number of stations to
share the same frequency for communications
purposes, with nodes, BBSs and other types of
servers. It is used on HF at 300bps and in VHF at 1200bps and more. Up to 1200bps AFSK modulation is used for data transmission. For higher rates GMSK is used. So, this FSK decoder is usable only up to 1200bps. Bit inversion mask and polarity settings do not affect this mode.
In this mode, the extracted data bits are sent as a
stream of zeros and ones to the decoder’s display.
No extra processing is done, not even the polarity
correction. This is a very good protocol study tool.
As it works only on synchronous transmissions, it
cannot be used with asynchronous ones such as
ITA2 and IRA.
9
WiNRADiO Universal FSK Decoder User’s Guide

Spectrum Analyzer

keeping a constant standard shift can be used. The shift can be either 170Hz, 425Hz, 850Hz or any other value.
This is the frequency domain analyzer section which is used for detection of the two (mark/space) or more FSK frequencies. It’s output can be directly used by the ideal demodulator structure for proper functionality.
The detected frequencies are indicated by the markers (in case of more frequencies, the markers will show the extreme ones). The spectrum is simultaneously displayed as a continuous line or using bars in the upper display and as a “waterfall” in the lower one. The spectrum can be displayed using either logarithmic or linear values. Sometimes linear values allow better detection of the two frequencies.
A manual mode for entry of the mark/ space frequencies is also available. In this mode, a special function for
10
The result of this mark/space frequencies estimator, either in manual or fully automatic mode, can be then used by the demodulator, depending on the general configuration of the decoder.
The bar option affects the spectrum display. When selected, the region below the trace is filled.
The revert colours option affects the waterfall display. This visual effect appears to be much better when using white for low level components and black for high level components.
The linear option affects both displays. It provides a much better differentiation between the detected frequencies and the non important ones. It provides best results if it is used in combination with linear gain.
For accurate results, the averaging level should be set to between 5 and 15. Lower values cause faster reaction to frequency fading effects while higher values cause a longer reaction time.
The automatic frequency detection mode works well when the baudrate is below 200-250 baud. For greater values the manual mode is preferable. This is necessary mostly for Packet Radio which uses 300 and 1200 baud. Other modes work well with the automatic mode.

The Signal Demodulator

Universal Data Decoder
This is the actual signal demodulator. In order to provide maximum quality, an ideal structure has been used, and the whole processing code has been optimised for several processors.
The Demodulator uses three configuration inputs: the two FSK frequencies (mark/space) and the bit length. The mark/space frequencies are used always for the demodulation process, while the bit length is used only when the optimal mode is active.
In order to see the signal at different processing stages, a logic schematic of the demodulator is shown on the panel, with several sensitive points (the cyan points). The signal displayed on the oscilloscope on top of the panel is the one in the selected point.
An eye pattern scope has been implemented for the final output and the positive input of the data formatter. Enabling the eye pattern feature requires free run to be un-checked.
Sometimes the high speed version of the demodulator may provide higher decoding quality. For such cases, an optimal FM demodulator was implemented, with a completely different block diagram.
11
WiNRADiO Universal FSK Decoder User’s Guide

Time Estimations

length of two-bits pairs. When dragging one of them, the other one moves correspondingly.
Using the first histogram, the second one below is built using autocorrelation of the time lengths. This is used for final estimation on the bit length. In very high noise conditions, this histogram has a maximum close to zero, corresponding to high baudrates. In such cases, it must be dragged manually to the correct position, after switching to manual mode.
This is the bit length estimator window. Using the data samples from the demodulator output, the Estimator attempts to determine the bit length and the baud rate. The first parameter is necessary for the optimal demodulator, while the second is required by the decoder.
With the measured time lengths between two transitions, the Estimator builds a histogram, the upper one shown on the panel. This has two cursors, one corresponding to the length of single bits and the other to the
12
The final baud rate value is determined from the position of the cursors on the second histogram.
The automatic mode is usable only with continuous bit streams. Transmission modes such as Packet Radio, SITOR-A, ARQ6-70/90/98, SWED-ARQ need the baud rate to be set manually.
Universal Data Decoder

The Decoder

This is the data output window. Here the decoded data is displayed depending on the selected mode, bit inversion mask and the character translation table.
The result can also be sent to the log file. The name of the log file can be specified in the editor at the right of the log file button.
There are some protocols in which the same code corresponds to at least two characters, depending on the numbers or letters character set selection. Normally, this switching is done fully automatically using special codes in the transmission. Sometimes, due to noise, some of these codes may be missed and the correct character set needs to be set manually. This is the purpose of the Letters and Numbers button.
The decoded data display can be cleared and its colours can be changed as desired.
Upon clicking on any of the two text/background buttons, a special colour selection window will pop up. After choosing the desired colours, the Ok button must be clicked
for the changes to be effective.
The displayed data will be also sent automatically to the character statistics window, a very useful facility for studying encoded transmissions.
The translation table configuration window can be shown by clicking on the corresponding button.
13
WiNRADiO Universal FSK Decoder User’s Guide

Character Statistics

These statistics are derived from the text information displayed in the decoder data window. The number of bars depends on the currently selected mode, and in each mode they correspond to different characters. The bars are ordered by the hex code of the characters, not alphabetically.
14
The displayed information is always normalized to the largest value.
The statistics for a bar can be seen by simply moving the mouse over it and keeping it steady for at least a second.
The statistics can be reset by pressing the reset button.
Universal Data Decoder

The Translation Tables

This window allows the configuration of translation tables. It is accessible in the Data Output window, and there are several possible operations:

Adding a new translation table

Firstly, a new table name must be defined in the Current table list. After this step, click on the Add button. Next, the desired Character set and Replacement font must be selected. The character set defines translation tables when national characters are involved.
The last step is the character translation definition. The upper table (Current translation table) contains the current definition of the translation table. The yellow columns are the input codes and the cyan ones are the displayed characters. The cells can be selected only in pairs, an input code and a displayed character.
The lower table (Current replacement font) contains the characters that can be displayed. Here only one character can be selected and, by double-clicking on it, it is assigned to the currently selected pair in the above table.
After constructing the new translation table, the Update button must be pressed to save the current status.
15
WiNRADiO Universal FSK Decoder User’s Guide

Updating a translation table

In order to update a translation table, it has to be selected first. Then the steps are exactly the same as above.

Removing a translation table

Firstly, the table that is to be removed has to be selected. After clicking on the Remove button, the decoder asks for a confirmation, as the operation is not reversible.

Reverting to the default table

By clicking on the Default button, the current translation table is changed to a default 1-to-1 correspondence. This is a good way of correcting completely messed-up translation tables!
16
Universal Data Decoder

Implemented Transmission Modes

This decoder can handle a large number of transmission modes through several generic ones. This solution has been chosen due to the increased flexibility when dealing with non-standard communications. It allows the user to create new modes either completely “from scratch” or by deriving them from existing modes.
This is an alphabetically sorted list of implemented modes, some of them as they appear in the mode list and others as they can be obtained through different settings. Most of them can be found in the protocols list as predefined.
ARQ1000D This transmission protocol was introduced by Siemens
and has two major versions known as ARQ-E and ARQ- N. It is a synchronous full-duplex transmission mode which uses a 7-bit alphabet derived from ITA2, with odd parity and special characters for error correction and phasing. The original protocol specifies that every 4th character must be inverted, but there are versions that invert every 5th or 8th character. The number of characters after every retransmission request (character repetition cycle) can be 4, 5 or 8. For ARQ-N there is no character code inversion. All known versions can be decoded by properly configuring the SITOR decoder.
ARQ6 This transmission protocol is mainly a SITOR-A version,
but with different confirmation pause length. There are three major versions: ARQ6-70, ARQ6-90 and ARQ6-
98. The extra number specifies the length of a transmit & listen cycle, measured in bits.
ARQ-E see ARQ1000D.
ARQ-E3 This mode is basically the same as ARQ-E, but with a
different alphabet. Instead of using the 7-bit, ITA2 derived, alphabet, it uses ITA3, also known as CCIR342-3. This alphabet has three mark bits out of seven, thus ensuring a limited number of 35 correct combinations. Usually the inverting rate and the repetition cycle length are equal and can be 4, 5 or 8. All known versions can be decoded by properly configuring the SITOR decoder.
ARQ-N see ARQ1000D.
IRA (ASCII) This asynchronous radio-teletype protocol uses a 7-bit
alphabet. The transmission can be done with or without parity bit and, IRA (ASCII) This asynchronous radio-
17
WiNRADiO Universal FSK Decoder User’s Guide
teletype protocol uses a 7-bit alphabet. The transmission can be done with or without parity bit and, generally, with 1 stop bit. Modulation rates can reach as much as 300 Baud.
ITA2 (Baudot) This is the oldest radio-teletype protocol ever used. It is
using a 5-bit alphabet, with special codes to switch between letters and figures spaces. It is an asynchronous transmission with or without parity, with 1, 1.5 or 2 stop bits. Common modulation rates are 45.45, 50, 75 and 100 Baud.
NAVTEX see SITOR-B.
POL-ARQ This is a modified SITOR-B transmission, with a repetition
cycle length equal to 5.
Packet Radio This mode was initially used only by radio amateurs. It is
based on the AX.25 protocol, a modified version of X.25 with features that allow theoretically an infinite number of stations to communicate using a single frequency. It can provide both local connections in VHF and long distance ones in HF. The error rate is extremely reduced and thus the communication is very reliable. The received frames are extensively decomposed and displayed. This mode is available only in two versions: 300bps for HF and 1200bps for VHF.
18
Raw bits This is a special debugging/study mode specially designed
for synchronous transmissions. The decoded data bits are sent directly to the display and the log file and a stream of 0s and 1s.
SITOR Under this generic transmission mode there are several
possible derivations: ARQ1000D (ARQ-E and ARQ-N), ARQ6, ARQ-E3, NAVTEX, POL-ARQ, SITOR-A , SITOR­B, SI-ARQ, SWED-ARQ.
SITOR-A In this mode the data is sent in bursts of 3 characters,
with confirmation pause between groups. The alphabet used is CCIR476-5, a 7-bit alphabet. For error detection purposes, each code in the alphabet has 3 mark bits and 4 space ones. For decoding, the selected mode should be SITOR. The decoder processes only the data flow, ignoring the confirmation codes.
Universal Data Decoder
SITOR-B In this mode the data is sent from one station to others
in a continuous stream. The alphabet used is CCIR476-5, a 7-bit alphabet. For error detection purposes, each code in the alphabet has 3 mark bits and 4 space ones. For decoding, the selected mode should be SITOR.
SI-ARQ This is a version of SITOR-A. The first and most obvious
difference is the alphabet - ITA3. The burst can have 4, 5, 6 or 7 characters, with a pause with a corresponding length for the correspondent stream. Also, every second burst is transmitted with reversed polarity. This is completely transparent to the user. The only strict requirement is to keep the polarity setting on Auto.
SWED-ARQ This is just another version of SITOR-A, with variable
burst length. Depending on the link quality, the bursts can have 3, 9 or 22 characters. Protocols for automatic switching between these burst sizes, have not been implemented yet. With the pre-defined settings the transmissions are received very well, even in case of automatic mode switching.
19
Loading...