WiNRADiO Universal FSK Decoder

The WiNRADiO Universal FSK Decoder is an extremely versatile signal decoding utility for WiNRADiO receivers (the list of supported receivers is given in the "System Requirements" section below).

The Decoder contains several powerful analysis tools, making it possible to determine transmission characteristics of an unknown signal automatically.

Looking at the decoder's main control panel on the right, you will see a drop-down list at the top, labelled Protocol. Here you can select the type of coding protocol used. Using the Add or Edit buttons, new protocols can be added, either created entirely from scratch (the number of variable parameters makes the number of usable protocols almost unlimited), or by deriving new protocols from existing ones by modifying some of their parameters.

A "protocol" consists of all the various settings and parameters which are needed to be able to decode a signal, including the type of coding, mark/space frequencies, baud rate, character format, translation table, etc.

The first stage of the signal decoding chain is the level detector, this is applied automatically when used with G3xxx and GxxDDC receivers.

Universal FSK Decoder
Universal FSK Decoder - Spectrum Analyzer
FSK Decoder - Spectrum Analyzer
Universal FSK Decoder - Spectrum Analyzer

The signal is then passed to the Spectrum Analyzer section for frequency domain analysis. The analyzer estimates the two "mark/space" frequencies of 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 detected frequencies are indicated by two markers. The spectrum is simultaneously displayed as either a continuous line or bars in the top display and as a "waterfall" in the bottom one. The spectrum can be shown using either logarithmic or linear values.

If the mark/space frequencies are known, then manual entry is of course also possible. These values can be also preset as part of standard, or user-defined protocols.

There is also a facility to keep the shift between mark and space frequencies constant. The shift can be either 170Hz, 425Hz, 850Hz or a user-specified arbitrary value.

The result of the mark/space frequencies estimator, either in manual or fully automatic mode, is then passed on to the Signal Demodulator. The Signal Demodulator module utilizes the two specified mark/space frequencies and extracts the data signal. There are two modes available, optimal and high speed.

Universal FSK Decoder - Demodulator
Universal FSK Decoder - Demodulator

The Demodulator relies upon three input variables: 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 test points (the cyan points).

Click on one of the test points, and the signal at that point will be displayed on the oscilloscope on top of the panel.

An eye pattern scope has been also implemented for the final output and the positive input of the data formatter.

The data signal extracted by the Demodulator is then sent to two separate processing modules.

The first is the Time Estimations module which attempts to determine the bit length and the baud rate. The estimated value is displayed for reference, and it can be either used for further processing, or ignored by the user if a manually entered or preset value is preferred.

Universal FSK Decoder - Time Estimator
Universal FSK Decoder - Time Estimator

Using the measured time intervals between two transitions, the Time Estimator creates a histogram, the upper one as shown on the adjacent panel.

There are two cursors, one corresponding to the length of single bits and the other to the length of two-bit pairs. If one of them is being dragged, the other one moves accordingly.

In addition to this first histogram, a second (bottom) one is generated using autocorrelation of the time intervals. This is used for final estimations of the bit length.

The estimated bit length parameter is used by the optimal demodulator, while the baud rate is required for the actual character decoding.

The automatic baud rate estimation is suitable only for continuous bit streams. Transmission modes such as Packet Radio, SITOR-A, ARQ6-70/90/98, SWED-ARQ require the baud rate to be set manually.

Universal Decoder - Time Estimator
Universal Decoder - Data Output Window

The Data Output window shows the result of the entire demodulation and decoding process. It uses the data provided by the processes described above, as well as several additional user-adjustable 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 identified. Also, certain protocols are polarity-dependent while others require automatic mode for correct functionality. These parameters can be set on the main control panel in the Bit Inversion Mask and Polarity groups of buttons.

Universal FSK Decoder - Character Translation Table
Universal FSK Decoder - Character Translation Table

Before the decoded characters are displayed, they are passed through the Translator which relies upon a set of character translation tables to provide translation of the raw characters to national alphabets. These tables can be selected also in the main control panel of the Decoder, as one of the parameters which form the entire "protocol".

Each protocol is derived from five generic decoding modes: ITA2 (Baudot), IRA (ASCII), SITOR, Packet and Raw Bits. For each mode, a different version of the Decoder section is shown on the main control panel; the two examples shown here pertain to IRA and SITOR.

Universal FSK Decoder - IRA
IRA Decoder


Universal FSK Decoder - SITOR
SITOR Decoder

Universal FSK Decoder - Character Statistics
Universal FSK Decoder - Character Statistics

The "icing on the cake" of this multi-featured decoder is the Character Statistics display which creates a character histogram of the received text. The number of displayed bars (each corresponding to a different character) depends on the currently selected protocol. The bars are ordered by the character hex code. The displayed information is always normalized to the largest value. The statistics for each bar can be seen by simply moving the mouse over it. This is a very useful facility for signal intelligence activities.

The WiNRADiO Universal FSK Decoder comes with the following basic protocols pre-installed: ARQ1000D, ARQ-E, ARQ-N, ARQ-6, ARQ6-70, ARQ6-90, ARQ6-98, ARQ-E3, Baudot, IRA (ASCII), Packet Radio, POL-ARQ, SITOR-A, SITOR-B, NAVTEX, Raw Bits, SI-ARQ and SWED-ARQ. Many other protocols can be added by modifying the numerous decoding and demodulation parameters the Universal FSK Decoder offers.

System Requirements


 PC with 1 GHz CPU or faster
 Windows XP, Vista, 7, 8, 10 or 11
 32 MB of RAM, 3 MB of free disk space
 WiNRADiO receiver G303, G305, G313, G315, G31DDC, G33DDC,
    G35DDC, G39DDC, G65DDC or G69DDC (internal and external versions)
Get this product via our Direct Download server and enjoy it in minutes!