WSJT-X/jtmsk.txt
Joe Taylor 5079669e49 Now have a properly functioning stand-along decoder for JTMSK.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2529 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-07-19 18:01:14 +00:00

73 lines
3.3 KiB
Plaintext

JTMSK: Possible New Mode for Meteor Scatter
-------------------------------------------
JTMSK is a digital mode designed for amateur meteor-scatter
communication. The "MSK" part of the name could mean "Meteor Scatter
King": the mode works at the same signal levels as the popular mode
FSK441, but at about twice the character transmission rate, so it
makes much better use of short pings. MSK also means "Minimum Shift
Keying", which is the modulation technique used in JTMSK. It is a
form of continuous-phase frequency-shift keying that achieves high
transmission rate with a narrow bandwidth, while maintaining a
constant-envelope waveform.
1. Transmitting
Messages are sent character-by character, 6 bits plus odd parity.
Message length in characters is automatically selected from among the
possibilities 5 7 9 11 13 17 19 23 29. (Note that these lengths share
no common factor.) Messages are padded with blanks when required, up
to the next available length.
Modulation is Minimum Shift Keying (MSK) at 2000 baud. A "0" bit is
sent as an audio sine wave at f0=1000 Hz, lasting 0.5 ms; a "1" bit is
a sine wave at f1=2000 Hz. The carrier phase increment over one bit
is thus 0.5 cycles (pi radians) at f0, or 1.0 cycles at f1. Odd
parity assures an odd number of 1's and even number of 0's in every
7-bit character, so the phase increment over a full character is
always an integer number of cycles.
2. Receiving
a. Detect pings and update display in real time. (rtping)
b. Compute real-to-complex FFT. Zap birdies, remove frequency
components outside the range 300 - 2700 Hz, convert to analytic
time-domain signal. (analytic)
c. Square the complex signal and compute FFT. Look for narrow
spectral lines at frequency 2000 + 2*(DF +/- Tol) Hz and
4000 + 2*(DF +/- Tol) Hz. (msdf)
d. If a signal is found, measure frequency offset DF and phase Dphi.
(DF and Dphi are measured relative to the original frequencies f0
and f1, not their doubled values.) Multiply cx by
exp(-twopi*i*DF*t - Dphi) to recover the standard-frequency
baseband signal. (tweak1)
e. Establish symbol and character sync by cross-correlating with
conjg(cwb), MSK waveform for the <space> character.
f. Find message length by computing ACF.
g. Decode the message by cross-correlating character-length segments
of cdat against complex waveforms for each possible character.
h. If ping is long enough, try folding the data and determining the
best-fit characters as above.
3. Parameters of fast modes:
+--------------------+-----------------------+-------------------+
| | Meteor Scatter | IonoScatter |
| | FSK441 JTMS JTMSK | JT6M ISCAT |
+--------------------+-----------------------+-------------------|
| T/R period (s) | 30 30 30 | 30 30 |
| Modulation type | 4-FSK MSK MSK | 44-FSK 41-FSK |
| Keying rate (baud) | 441 1378 2000 | 21.5 43.1 |
| Bit rate (bps) | 882 1378 2000 | - - |
| Characters/s | 147 197 286 | 14.3 32.3 |
| Bandwidth (Hz) | 1764 1378 2000 | 947 1809 |
+--------------------+-----------------------+-------------------+