• DominoEX Interface

    DominoEX Interface

    DominoEX shares the cocoaModem MFSK interface with MFSK16.

    DominoEX is a family of Incremental Frequency Keying (IFK) m-ary FSK modes that uses 18 tones. Unlike MFSK16, the DominoEX tone always moves after every symbol period, and each time it moves by at least two tone slots.

    Introduction to DominoEX

    DominoEX modes have channel symbol periods of between 46 ms to 256 ms long (i.e., the symbol rate is between 21.533 baud and 3.9 baud). Each channel symbol represents 4 bits (one nibble). Each character is encoded with a nibble-based varicode that has between one to three nibbles per character. The DominoEX varicode encodes English text at a rate of about 1.45 nibbles per character, resulting in a final transmission speed of between 27 words per minute (WPM) and 148 WPM.

    The following chart shows the relationship of transmission speed (in WPM) versus bandwidth for each DominoEX mode.

    The PSK31 data point is included for reference -- BPSK31 has an average transmission speed of about 49 WPM, with a -25 dB bandwidth of about 60 Hz.


    The following chart shows the measured Signal-to-Noise Ratio (SNR) that is needed to obtain 1% character error rate. The theoretical, best possible AWGN SNR for differential PSK is included for reference.


    The measurements for the above chart were made using cocoaModem's own DominoEX demodulator from signals that are generated by cocoaPath. The measurements shown above include only additive Gaussian noise (AWGN) and does not include propagation conditions. DominoEX 22 was not measured, but can be assumed to be approximately 3 dB worse than DominoEX 11. The SNR is based on a noise bandwidth of 3 kHz.

    More details, including charts for other ITU propagation profiles, of DominoEX's performance can be found here.

    Some DominoEX Characteristics

    What the above two charts show is that under non-multipath condition,

    • DominoEX 8 has about the same transmission rate as BPSK31, but DominoEX 8 has the advantage of more than 1 dB better sensitivity.

    • When a signal is strong, BPSK31 is a mode that is very spectrally efficient; it uses 4 times less bandwidth than the narrowest DominoEX mode.

    • If you need higher throughput, the faster rate DominoEX modes are more suitable than BPSK31. DominoEX 11 has about the same sensitivity as BPSK31 but has 50% higher transmission rate.

    • When the signal-to-noise ratio deteriorates, DominoEX will get through when BPSK31 cannot. DominoEX 4 has about 4.5 dB better sensitivity than BPSK31

    Even without FEC, DominoEX (especially DominoEX 4) is more resilient to multipath distortions than BPSK31.

    Neither BPSK31 nor non-FEC DominoEX modes will work through flutter or high latitude distortions. However, with FEC engaged (with a reduction of character throughput of a factor of two), DominoEX 8 can easily work through severe flutter. See here for details.

    In the presence of flutter, cocoaModem's demodulator for DominoEX 8 with FEC has an advantage of 16 dB over RTTY. If RTTY requires 1 kW to achieve a 1% character error rate under the CCIR Flutter propagation profile, DominoEX 8 with FEC can achieve the same performance by using only 25 watts.

    DominoEX effortlessly locks in to decode a signal since it requires no AFC to function. Unlike MFSK16, the non-FEC DominoEX modes have practically no decoding latency. This gives DominoEX a feel that is comparable to RTTY.

    RTTY sends a diddle character (usually in the form of a Baudot LTRS character) when the user's buffer is empty. PSK31 and MFSK16 similarly sends a special Idle varicode when the user's buffer is empty. DominoEX has a unique feature which makes use of these idle time slots to transmit a message from an alternate "secondary" varicode set when the normal "primary" channel is not busy. This can be used as a "beacon" where streams such as call signs can be repeated when the primary channel itself is not busy.

    For more details of DominoEX, please refer to Murray ZL1BPU's web page.

    DominoEX Operation

    Please familiarize yourself with the general cocoaModem interface and configuration panels before proceeding with this section.

    To use DominoEX, first select the MFSK tab at the top of the main cocoaModem window. The Mode Menu is then used to select between the DominoEX modes and MFSK16.

    The following figure shows the cocoaModem DominoEX interface.


    The top part of the interface consists of the familiar waterfall display, together with the MFSK tuning indicator. The receiver and transmitter section, together the usual macros buttons and QSO information fields are below the tuning indicator.

    Tuning in a DominoEX Signal

    DominoEX usually requires you to select Upper sideband mode on your transceiver. cocoaModem however, automatically rearranges the tones in the DominoEX decoder and encoder so that you can choose to operate with either upper sideband or lower sideband.

    You have to make sure that the Dial Readout parameters (figure below) in the Receiver Config panel agrees with what your transceiver is using. Failure to do this will cause no reception, and your transmission will also not be decoded by anyone else.


    Even if you are using USB transmission, it is well worth entering the AFSK VFO offset of your transceiver into the VFO field, since the readings under the waterfall can be used to directly determine your transmission passband. If you are using voice mode SSB for transmission, the VFO Offset should be set to zero.

    The following figure shows the MFSK interface's waterfall with a DominoEX 11 signal at 0 dB SNR (referenced to a noise bandwidth of 3000 Hz):


    As with the other wide band interfaces in cocoaModem, when LSB is chosen, signals with lower audio tones will appear on the right side of the waterfall and signals with higher audio tones will appear towards the left side of the waterfall. When the parameters are set properly, the right side of the waterfall is always the higher frequency in the RF spectrum.

    When the Dial Readout parameters are correctly set, the label that is below the waterfall indicates the frequency (in Hz) that can be applied to your transceiver's VFO dial to get the precise frequencies you are transmitting at. Notice that in the above example, the zero frequency offset is actually near the middle of the waterfall, rather than on the left or right side -- this is typical when the VFO offset is non-zero.

    The slider that is below the waterfall display allows you to choose the dynamic range of the waterfall.

    To decode a DominoEX signal, click on the leftmost tone of the DominoEX signal. Unlike other modes, tuning is very uncritical; you can click anywhere close to the left border of the signal. You should eventually see the tuning indicator showing the synchronized tones:


    Notice the 18 tones in the tuning indicator. If the SNR is good, the tones will be perfectly lined up in the tuning indicator, and they will appear more random with poorer SNR. You can easily distinguish a DominoEX signal from an MFSK16 signal: an MFSK16 signal has 16 tones, and all DominoEX modes have 18 tones.

    If you have clicked to far away in the waterfall, the tuning indicator will be skewed to the point where some of the tones fall of the left or off the right of the indicator. You can however, click quite far away from the ideal location. As long as all 18 tones appear inside the width of the tuning indicator, the DominoEX demodulator will be able to decode the signal.

    The tuning indicator will show narrower tones for the "half-rate" DominoEX modes (DominoEX 4, DominoEX 5 and DominoEX 8), because the tones remain on for twice as long as the integration duration. An example is show below:


    Half-rate modes will show up as synchronized when decoded with their full-rate sibling's demodulator. The following shows an attempt to decode DominoEX 5 signal using the DominoEX 11 demodulator.

    half rate

    Close inspection by this latest figure and comparing it with two figures ago shows that the vertical spacing of the yellow bars is doubled. This will be one hint that the mode is not properly selected. In general, if the signal looks synchronized in the tuning indicator but is not printing either in the receive text view of the beacon field, try switching between the full and-half rate demodulators, i.e., try switch between DominoEX 5 and DominoEX 11, or switching between DominoEX 8 and DominoEX 16.

    Tuning is virtually instantaneous with DominoEX. The signal should start "printing" even before a few rows of tones appear in the tuning indicator.

    Direct Frequency Entry

    In addition to setting frequencies by clicking on the waterfall, you can directly set the receive or transmit tones by typing directly into their respective text boxes (see below).


    Please note that if the Tx Tracking slider is turned to the Off position, a direct entry into the receive frequency box will not cause an overwrite of the transmit frequency box -- they are independent parameters (this allows you to apply a deliberate "split" between receive and transmit frequencies. The transmit frequency field must have a meaningful number for transmission to take place. You can transfer the number in the receive frequency box over to the Transmit freqiency box at any time by clicking the Rx > Tx button.

    The frequencies correspond to the scale under the waterfall.

    The receive box also has a Soft Decode check box and a Squelch control.

    The squelch control keys on the signal-to-noise ratio of the received signal, rather than its signal strength. When the squelch is set all the way to the right, cocoaModem will print every symbol, whether they are reliable or not. When the Squelch slider is push all the way to the left, only good signal-to-noise cases allow printing.

    DominoEX FEC Mode

    cocoaModem implements both a soft decision decoder and a hard decision decoder for FEC. The soft decoder (default state) uses more processor cycles but is also capable of better error correction than the hard decision decoder. The Soft Decode checkbox does not do anything when FEC is not selected.

    Please note that FEC prints correctly only if both ends of the link have chosen to use FEC.

    The default FEC for DominoEX has 4 interleaver stages. This is indicated with as a menu item title L=4 in the FEC popup menu. Please bear in mind that most DominoEX activity is done without any FEC. Additionally, not every software package allows you to select FEC with anything other than the default 4 stage interleaver. Each time cocoaModem is launched, it will always start with FEC turned off.

    FEC is not needed when conditions are good, but becomes very useful for polar and trans-equatorial fluttered signals, or when the signals passes through the polar path under disturbed propagation conditions. Like PSK31, a fluttered DominoEX signal that does not use FEC will not decode under severely fluttered conditions.

    DominoEX Beacon

    DominoEX maintains two separate Varicode tables. The first , primary table contains the varicode for "regular" characters that the user types. The second table contains distinct varicode for characters that is used by the "secondary" or "beacon" channel. For example, the character "W" appears twice, once in the primary varicode table and once again in the secondary varicode table. When you type "W," the varicode for "W" in the primary table is sent.

    As mentioned in the introduction, instead of transmitting an idle signal when the input buffer is empty, DominoEX repeatedly inserts characters from a fixed "beacon" buffer whenever it finds that the user's buffer is empty. The varicode encoding for the beacon messages come from the "secondary" varicode table. Since the two varicode tables are distinct, the receiver can send a decoded character to the appropriate locations.

    cocoaModem scrolls text from for the beacon channel into a horizontal text field in a stock ticker fashion. The following figure shows the default beacon message that is received from a cocoaModem transmitter.


    The text field scrolls from right to left one pixel at a time. This drawing process can use up a significant amount of processor cycles (15% of a 400 MHz G4, for example). Because of this, the Config panel for the MFSK interface contains a checkbox (below the USB/LSB and VFO Offset preferences) to disable smooth scrolling.


    When smooth scrolling is turned off, instead of one pixel at a time, the characters will scroll one character at a time; this is what most DominoEX programs do -- you can turn off smooth scroll to see how the rest of the world see a beacon message.

    If you find the constant scrolling to be too distracting, you can temporarily turn the beacon completely off by deselecting the checkbox just to the left of the beacon field.

    The default beacon message that cocoaModem sends can be replaced by your own beacon message (e.g.,messages such as "de W7AY," "Merry Christmas" or "Go Boilermakers") by placing a string in the Transmit Beacon field (to the right in the receive Beacon field; see two figures ago). Note that if you place nothing but spaces into the Transmit Beacon message, your beacon will appear to be empty. You can temporarily switch back to the default cocoaModem beacon message by deselecting the checkbox just to the left of the transmit beacon text field. Hint: always include a couple of trailing spaces in your custom message, or your message will appear to be bunched up at the receiving screen.

    While you are transmitting, your transmitted beacon message will be scrolled into the receive beacon field. If you don't want to see your own beacon message (it can be quite distracting), you can turn it off by deselecting the "DominoEX Echo Beacon" checkbox in the Config panel (see figure above).

    Weak Signal Button

    DominoEX is capable of decoding very weak signals. The figure below shows the waterfall of a DominoEX 5 signal with a -10 dB SNR (3000 Hz noise bandwidth) that should decode virtually error free, even though it is hard to see in the waterfall.


    For such instances, the cocoaModem DominoEX interface has a "Weak Signal" button (below the waterfall display) that applies an asymmetrical moving average filter (fast charge, slow discharge) to each individual waterfall bin. When the "weak signal" button is engaged, the waterfall from the -10 dB SNR signal now looks like this:


    Transmit Frequency Tracking

    DominoEX uses tone differences instead of absolute tone values to encode the MFSK signal. Because of that, there is no reason to recenter the signal with an AFC function until the signal is outside of the demodulator passband.

    When you click on the waterfall, that frequency is moved to the Receiver and Transmit fields. You can also independently change either of the two fields by directly typing into them. When you turn the transmitter on, the frequency in the Transmit field will be used as the transmit tone offset.

    If you want to track ("zero beat") the received signal, you can move the Tx Tracking slider to the On position. When Tx Tracking is On, the green markers in the waterfall will snap to the DominoEX signal once the demodulator identifies the 18 tones. The transmit frequency field will also snap to this frequency. The demodulator continues to track the signal until you turn Tx Tracking off.

    It is best to keep Tx Tracking off unless you are answering another station and wish to automatically zero beat to it. Even if you wish to zero beat a signal, it is best to turn tracking off again once the demodulator has identified the signal location. This will ensure that the demodulator does not keep seeking and drifting when the station stops transmitting and it becomes your turn to transmit.

    Back to the Main MFSK page.

    MFSK16 Interface page.