WSJT-X/jtms3.txt
Joe Taylor 5a551b3435 Editing the jtms3.txt file.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-07-04 21:30:56 +00:00

66 lines
3.0 KiB
Plaintext

JTMS v3.0: Possible New Mode for Meteor Scatter
-----------------------------------------------
1. Transmitting
Type 1 messages are 72 user-information bits, source encoded as in
JT65. Convolutional FEC (K=32, r=1/2) increases the number of bits to
(72+31)*2 = 206; nine bits are sent twice, extending the array to 215
bits. These are interleaved by bit-reversal of index values. Then 43
sync bits are inserted, spread evenly so as to fall at positions 1, 7,
13, ... 253. Frame size is 258 bits: 215 information-carrying bits
and 43 sync bits. Frame duration is 129 ms.
Type 2 messages convey 4 user information bits (report, R+report, RRR,
73) encoded with a (15,4,8) block code, plus a 12-bit CRC for each
callsign, encoded with the Golay (23,12) code. This makes for 15 +
2*23 = 61 information-carrying bits. One dummy bit is added, and the
62 bits are interspersed with 31 sync bits, making a frame of 93 bits
and frame time 46.5 ms.
2. Modulation is BPSK at 2000 baud, 24 samples per symbol at 48000 Hz
asmple rate. The baseband waveform is built by inserting a tapered
sinc function for each bit, then multiplying by a 1500 Hz sine wave.
3. Receiving
a. Compute real-to-complex windowed FFTs, N=12288 (t=256 ms),
stepped by 128 ms (say). Zap birdies, remove frequency
components outside the range 300 - 2700 Hz, and convert to an
analytic time-domain signal.
b. Square the complex signal, cx2=cx*cx, and compute N=12288 FFT of
cx2 (resolution = 3.9 Hz). Look for carrier at 3000 + 2*DF Hz
+/- 2*Tol.
c. If carrier is found, measure frequency f and phase phi. Multiply
cx by exp(-twopi*i*f*t - phi) to recover the real baseband signal
x() to within a sign ambiguity.
d. Apply matched filter for the Tx pulse shape to x(). (This is just
a rectangular BPF, 500 - 25-- Hz ?)
e. Establish PSK symbol sync (offset i0, 0 to nsps-1 samples) by finding
maximum of Sum(sum*sum) over groups of nsps consecutive samples.
f. Read off the soft symbols, sym(1:512), and compute CCF with 3
versions of the 43-bit sync vector (rotated by 0, 14, 29 out of
its 43 positions) and three of the 31-bit sync vector (rotated by
0, 10, 20 of 31).
g. If the best CCF abs(peak) exceeds a specified threshold, the sign
of peak resolves the sign ambiguity.
h. For Type 1 messages: Gather the proper set of 215
information-carrying soft symbols. Form averages using the 9
extra symbols, reducing the number to 206, and remove
interleaving to re-order the symbols. Then run the fano232
decoder. If decoding fails, add soft symbols into an
accumulation array and (if nsum is 2 or more) try decoding the
average.
i. For Type 2 messages: Gather the proper set of 62 soft symbols.
Decode Nrpt using an exhaustive search over all possibilities.
For the CRCs, also do exhaustive searches -- and make sure that
the expected values are best (or fall in the top few, anyway).