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 an 11-bit CRC derived from MyCall + HisCall, encoded with the (16,11) extended Hamming code. This makes for 31 information-carrying bits. They are interspersed with 31 sync bits, making a frame of 62 bits and frame time 31 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=8192 (t=170 ms), stepped by 4k (say). Zap birdies, remove frequency components outside the range 300 - 2700 Hz, and convert to analytic time-domain signal. b. Square the complex signal, cx2=cx*cx, and compute N=8k FFT of cx2 (resolution = 5.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 essentially a rectangular BPF, -1000 to +1000 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 signal is detected and synchronized. 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 31 soft symbols. Decode Nrpt using exhaustive search (find peak lag of ccf). For the CRC, also do an exhaustive search -- and make sure that the expected value is best (or in the top few, anyway).