mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-21 04:58:33 -05:00
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:
parent
5a551b3435
commit
afcf99d990
40
jtms3.txt
40
jtms3.txt
@ -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.
|
and 43 sync bits. Frame duration is 129 ms.
|
||||||
|
|
||||||
Type 2 messages convey 4 user information bits (report, R+report, RRR,
|
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
|
73) encoded with a (15,4,8) block code, plus an 11-bit CRC derived
|
||||||
callsign, encoded with the Golay (23,12) code. This makes for 15 +
|
from MyCall + HisCall, encoded with the (16,11) extended Hamming code.
|
||||||
2*23 = 61 information-carrying bits. One dummy bit is added, and the
|
This makes for 31 information-carrying bits. They are interspersed
|
||||||
62 bits are interspersed with 31 sync bits, making a frame of 93 bits
|
with 31 sync bits, making a frame of 62 bits and frame time 31 ms.
|
||||||
and frame time 46.5 ms.
|
|
||||||
|
|
||||||
2. Modulation is BPSK at 2000 baud, 24 samples per symbol at 48000 Hz
|
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
|
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
|
3. Receiving
|
||||||
|
|
||||||
a. Compute real-to-complex windowed FFTs, N=12288 (t=256 ms),
|
a. Compute real-to-complex windowed FFTs, N=16384 (t=341 ms),
|
||||||
stepped by 128 ms (say). Zap birdies, remove frequency
|
stepped by 8k (say). Zap birdies, remove frequency components
|
||||||
components outside the range 300 - 2700 Hz, and convert to an
|
outside the range 300 - 2700 Hz, and convert to analytic
|
||||||
analytic time-domain signal.
|
time-domain signal.
|
||||||
|
|
||||||
b. Square the complex signal, cx2=cx*cx, and compute N=12288 FFT of
|
b. Square the complex signal, cx2=cx*cx, and compute N=8k FFT of
|
||||||
cx2 (resolution = 3.9 Hz). Look for carrier at 3000 + 2*DF Hz
|
cx2 (resolution = 5.9 Hz). Look for carrier at 3000 + 2*DF Hz
|
||||||
+/- 2*Tol.
|
+/- 2*Tol.
|
||||||
|
|
||||||
c. If carrier is found, measure frequency f and phase phi. Multiply
|
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
|
cx by exp(-twopi*i*f*t - phi) to recover the real baseband signal
|
||||||
x() to within a sign ambiguity.
|
x() to within a sign ambiguity.
|
||||||
|
|
||||||
d. Apply matched filter for the Tx pulse shape to x(). (This is just
|
d. Apply matched filter for the Tx pulse shape to x(). This is
|
||||||
a rectangular BPF, 500 - 25-- Hz ?)
|
essentially a rectangular BPF, -1000 to +1000 Hz ?
|
||||||
|
|
||||||
e. Establish PSK symbol sync (offset i0, 0 to nsps-1 samples) by finding
|
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.
|
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
|
its 43 positions) and three of the 31-bit sync vector (rotated by
|
||||||
0, 10, 20 of 31).
|
0, 10, 20 of 31).
|
||||||
|
|
||||||
g. If the best CCF abs(peak) exceeds a specified threshold, the sign
|
g. If the best CCF abs(peak) exceeds a specified threshold, the
|
||||||
of peak resolves the sign ambiguity.
|
signal is detected and synchronized. Sign of peak resolves the
|
||||||
|
sign ambiguity.
|
||||||
|
|
||||||
h. For Type 1 messages: Gather the proper set of 215
|
h. For Type 1 messages: Gather the proper set of 215
|
||||||
information-carrying soft symbols. Form averages using the 9
|
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
|
interleaving to re-order the symbols. Then run the fano232
|
||||||
decoder. If decoding fails, add soft symbols into an
|
decoder. If decoding fails, add soft symbols into an
|
||||||
accumulation array and (if nsum is 2 or more) try decoding the
|
accumulation array and (if nsum is 2 or more) try decoding the
|
||||||
average.
|
average.
|
||||||
|
|
||||||
i. For Type 2 messages: Gather the proper set of 62 soft symbols.
|
i. For Type 2 messages: Gather the proper set of 31 soft symbols.
|
||||||
Decode Nrpt using an exhaustive search over all possibilities.
|
Decode Nrpt using exhaustive search (find peak lag of ccf). For
|
||||||
For the CRCs, also do exhaustive searches -- and make sure that
|
the CRC, also do an exhaustive search -- and make sure that the
|
||||||
the expected values are best (or fall in the top few, anyway).
|
expected value is best (or in the top few, anyway).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//--------------------------------------------------------------- MainWindow
|
//-------------------------------------------------------------- MainWindow
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "devsetup.h"
|
#include "devsetup.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user