More edits to jtms3.txt.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/jtms3@2488 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2012-07-04 22:18:52 +00:00
parent 5a551b3435
commit afcf99d990
2 changed files with 21 additions and 21 deletions

View File

@ -12,11 +12,10 @@ sync bits are inserted, spread evenly so as to fall at positions 1, 7,
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.
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
@ -24,21 +23,21 @@ 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.
a. Compute real-to-complex windowed FFTs, N=16384 (t=341 ms),
stepped by 8k (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=12288 FFT of
cx2 (resolution = 3.9 Hz). Look for carrier at 3000 + 2*DF Hz
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 just
a rectangular BPF, 500 - 25-- Hz ?)
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.
@ -48,18 +47,19 @@ sinc function for each bit, then multiplying by a 1500 Hz sine wave.
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.
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
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).
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).

View File

@ -1,4 +1,4 @@
//--------------------------------------------------------------- MainWindow
//-------------------------------------------------------------- MainWindow
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "devsetup.h"