JT65CODE(1)

NAME
jt65code, jt9code, jt4code, qra64code, ft8code, msk144code - Weak signal communications encoding support utilities.

SYNOPSIS

jt65code "MESSAGE"

jt65code [OPTIONS]

jt9code "MESSAGE"

jt9code [OPTIONS]

jt4code "MESSAGE"

jt4code [OPTIONS]

qra64code "MESSAGE"

qra64code [OPTIONS]

ft8code "MESSAGE"

ft8code [OPTIONS]

OPTIONS

-t
    Prints a selection of messages alongside their corresponding decoded form and types. With ft8code prints a selection of short format messages

-T
    As -T but for ft8code prints long format messages.

DESCRIPTION

jt65code, jt9code, jt4code, and ft8code are utility programs that let you explore the conversion of user-level messages into channel symbols or “tone numbers.” These programs can be useful to someone designing a beacon generator for JT9 or JT65, or for studying behavior of the error-control codes for each of the protocols.

Channel-symbol values for JT9 run from 0 to 8, with 0 representing the sync tone. The total number of symbols in a transmitted message is 85. To run jt9code, enter the program name followed by a JT9 message enclosed in quotes. In Windows the command and program output might look like this:

    $ jt9code "G0XYZ K1ABC FN42"
    Message:   G0XYZ K1ABC FN42
    Channel symbols:
     0 0 7 3 0 3 2 5 4 0 1 7 7 7 8 0 4 8 8 2 2 1 0 1 1 3 5 4 5 6
     8 7 0 6 0 1 8 3 3 7 8 1 1 2 4 5 8 1 5 2 0 0 8 6 0 5 8 5 1 0
     5 8 7 7 2 0 4 6 6 6 7 6 0 1 8 8 5 7 2 5 1 5 0 4 0
    Decoded message: G0XYZ K1ABC FN42

For the corresponding program jt65code only the information-carrying channel symbols are shown, and the symbol values range from 0 to 63. Sync synbols lie two tone intervals below data tone 0, and the sequential locations of sync symbols are described in the JT65 Protocol section of this Guide.

A typical execution of jt65code is shown below. The program displays the packed message of 72 bits, shown here as 12 six-bit symbol values, followed by the channel symbols:

    $ jt65code "G0XYZ K1ABC FN42"
    Message:   G0XYZ K1ABC FN42
    Packed message, 6-bit symbols:  61 36 45 30  3 55  3  2 14  5 33 40
    Information-carrying channel symbols:
       56 40  8 40 51 47 50 34 44 53 22 53 28 31 13 60 46  2 14 58 43
       41 58 35  8 35  3 24  1 21 41 43  0 25 54  9 41 54  7 25 21  9
       62 59  7 43 31 21 57 13 59 41 17 49 19 54 21 39 33 42 18  2 60
    Decoded message: G0XYZ K1ABC FN42

For an illustration of the power of the strong error-control coding in JT9, JT65 and JT4, try looking at the channel symbols after changing a single character in the message. For example, change the grid locater from FN42 to FN43 in the JT65 message:

    $ jt65code "G0XYZ K1ABC FN43"
    Message:   G0XYZ K1ABC FN43
    Packed message, 6-bit symbols:  61 36 45 30  3 55  3  2 14  5 33 41
    Information-carrying channel symbols:
       25 35 47  8 13  9 61 40 44  9 51  6  8 40 38 34  8  2 21 23 30
       51 32 56 39 35  3 50 48 30  8  5 40 18 54  9 24 30 26 61 23 11
        3 59  7  7 39  1 25 24  4 50 17 49 52 19 34  7  4 34 61  2 61
    Decoded message: G0XYZ K1ABC FN43

You will discover that every possible JT65 message differs from every other possible JT65 message in at least 52 of the 63 information-carrying channel symbols.

    $ qra64code "G0XYZ K1ABC FN43"
         Message                 Decoded                Err? Type
    --------------------------------------------------------------------------
       1 G0XYZ K1ABC FN43        G0XYZ K1ABC FN43            1:    Std Msg
    Packed message, 6-bit symbols  61 36 45 30  3 55  3  2 14  5 33 41
    Information-carrying channel symbols
       61 36 45 30  3 55  3  2 14  5 33 41 14 28  2  7 58 45  9 43 20 48 29 55 43 24  3 13 18 21
       40  3 17 28 59 62  2 50 26 24  2  1  2 61 10  9 16 40  1 18 28 30 33 39 60 45 16 21 60 11
        9 40 14
    Channel symbols including sync
       20 50 60  0 40 10 30 61 36 45 30  3 55  3  2 14  5 33 41 14 28  2  7 58 45  9 43 20 48 29
       55 43 24  3 13 18 21 40  3 20 50 60  0 40 10 30 17 28 59 62  2 50 26 24  2  1  2 61 10  9
       16 40  1 18 28 30 33 39 60 45 16 21 60 11  9 40 14 20 50 60  0 40 10 30

    $ msk144code "G0XYZ K1ABC FN43"
        Message                               Decoded                             Err i3.n3
    ----------------------------------------------------------------------------------------------------
     1. G0XYZ K1ABC FN43                      G0XYZ K1ABC FN43                         1.  Standard msg
    Channel symbols
    110000110100110001010010011100110010010110000011011001001100001101111010
    110010110111111100001101001111000111101011111011100001110000011101110110

    $ ft8code "G0XYZ K1ABC FN43"
        Message                               Decoded                             Err i3.n3
    ----------------------------------------------------------------------------------------------------
     1. G0XYZ K1ABC FN43                      G0XYZ K1ABC FN43                         1.  Standard msg
    Source-encoded message, 77 bits:
    00001000111111010001110111010000010011011110111100011010100010100001100111001
    14-bit CRC:
    00110001001011
    83 Parity bits:
    10000110000001010101100000100110100110100000111000101110000110001001110000000110011
    Channel symbols (79 tones):
      Sync               Data               Sync               Data               Sync
    3140652 03174526450547670460602143205 3140652 64040136505454507064041140042 3140652

WSJT-X home page
    https://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html

WSJT-X User’s Guide
    https://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjtx-main-3.1.0.html

AUTHOR

Joe Taylor, K1JT.

COPYING

jt65code, jt9code, jt4code, and ft8code are Copyright © 2001 - 2020 by Joseph H. Taylor, Jr., K1JT, with contributions from additional authors. WSJT-X is Open Source software, licensed under the GNU General Public License (GPLv3).

These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.