* JT44 on Linux
@ 2002-08-14 8:55 Jonathan Naylor
2002-08-14 11:57 ` Bob Nielsen
2002-08-14 12:24 ` Tomi Manninen OH2BNS
0 siblings, 2 replies; 6+ messages in thread
From: Jonathan Naylor @ 2002-08-14 8:55 UTC (permalink / raw)
To: linux-hams
Hi Folks
Long time no see.
I am interested in writing an implementation of JT44 for Linux. JT44 is
the data mode written by Joe Taylor K1JT for weak signal work like EME
and things, it has become hugely popular but the software only runs
under Windows at present. Thankfully Joe has published the
specification of the mode allowing others to (potentially) copy it.
There is another mode called FSK441 which is used for meteor scatter,
but I do not aim to implement that until JT44 is operational.
It is a relatively simple mode, the transmit side is simply FSK using
44 tones. The receive side is probably a FFT the result of which is
used by the software to determine where the clock is and also to use
averaging to extract the signal from the noise.
The transmit side could probably be adapted from a sound modem
implementation that already exists, and could probably be done quite
quickly, the receive side is more complex but there are GPL FFT display
programs around that could be used as the basis of the receive side. Of
course Joe has probably done a few clever things that we will in due
course discover, however we will worry about that later.
I did send an e-mail to Joe about writing a Linux implementation, but I
got no response, however I think that is probably down to him being a
busy man. Perhaps once we have some software running then he may take
more of an interest in us. Everything that I do will appear under the
GPL of course.
Jonathan HB9DRD/G4KLX
PS has anyone got a good circuit for interfacing a sound card into a
radio ?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: JT44 on Linux
2002-08-14 8:55 JT44 on Linux Jonathan Naylor
@ 2002-08-14 11:57 ` Bob Nielsen
2002-08-14 12:24 ` Tomi Manninen OH2BNS
1 sibling, 0 replies; 6+ messages in thread
From: Bob Nielsen @ 2002-08-14 11:57 UTC (permalink / raw)
To: linux-hams
On Wed, Aug 14, 2002 at 10:55:53AM +0200, Jonathan Naylor wrote:
>
> PS has anyone got a good circuit for interfacing a sound card into a
> radio ?
I don't usually recommend this as a source of accurate information, but
K4ABT has some interface diagrams on his web site,
http://www.packetradio.com. He also sells kits and assembled
interfaces (less expensive than the others I've seen).
Bob, N7XY
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: JT44 on Linux
2002-08-14 8:55 JT44 on Linux Jonathan Naylor
2002-08-14 11:57 ` Bob Nielsen
@ 2002-08-14 12:24 ` Tomi Manninen OH2BNS
2002-08-14 13:05 ` Jonathan Naylor
1 sibling, 1 reply; 6+ messages in thread
From: Tomi Manninen OH2BNS @ 2002-08-14 12:24 UTC (permalink / raw)
To: g4klx; +Cc: linux-hams
On Wed, 14 Aug 2002, Jonathan Naylor wrote:
> I am interested in writing an implementation of JT44 for Linux. JT44 is
> the data mode written by Joe Taylor K1JT for weak signal work like EME
> and things, it has become hugely popular but the software only runs
> under Windows at present. Thankfully Joe has published the
> specification of the mode allowing others to (potentially) copy it.
> There is another mode called FSK441 which is used for meteor scatter,
> but I do not aim to implement that until JT44 is operational.
FWIW you could take a look at my gMFSK. While I don't claim it's
necessarily very well coded or anything, it could serve as some sort of
basis for a Linux JT44 implementation. At the least there might be some
code that can be reused.
Do you have a pointer to the mode specification. I would like to take a
look.
--
Tomi Manninen Internet: oh2bns@sral.fi
OH2BNS AX.25: oh2bns@oh2rbi.fin.eu
KP20ME04 Amprnet: oh2bns@oh2rbi.ampr.org
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: JT44 on Linux
2002-08-14 12:24 ` Tomi Manninen OH2BNS
@ 2002-08-14 13:05 ` Jonathan Naylor
2002-08-16 6:27 ` Jason Flynn G7OCD
0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Naylor @ 2002-08-14 13:05 UTC (permalink / raw)
To: Tomi Manninen OH2BNS; +Cc: linux-hams
Hi Tomi
> FWIW you could take a look at my gMFSK. While I don't claim it's
> necessarily very well coded or anything, it could serve as some sort
> of basis for a Linux JT44 implementation. At the least there might be
> some code that can be reused.
>
> Do you have a pointer to the mode specification. I would like to
> take a look.
I've downloaded the user-mode soundmodem code which includes yours, and
will use it heavily as a basis. The AFSK modem is great as a basis for
the TX side, in fact JT44 is simpler, no scrambling, no bit-stuffing,
etc. From the soundmodem code I can also get the soundmodem interface
code, the PTT interface code and probably other things also.
I will cut & paste a document into this e-mail which was the original
JT44 specification document. A more modern description is available as
a PDF from Joe's web pages at
http://pulsar.princeton.edu/~joe/K1JT/WSJT222.PDF
In some ways the older description says more about the internals of the
WSJT implementation, although the newer document has more details and
you really need both for an implemenation. I've already started on the
TX sidem with a simple command line based program to test some of the
concepts. I have a friend who has JT44 receive capability who is over a
variable 250kms 23cms path which would be an interesting test. I can
give you the URL of a web page with .wav files of JT44 signals at
various strengths if you are intersted.
Jonathan HB9DRD/G4KLX
Development Notes on JT44
-------------------------
Joe Taylor, K1JT
March 28, 2002
I have not yet committed a technical description of the JT44 protocol
to paper. It will be posted here as soon as it becomes available. In
the meantime, for the curious, here are some notes on the essentials.
Some familiarity with the WSJT program will be necessary for full
understanding of what follows.
1. Transmit and receive periods are nominally 30 sec each, starting
on UTC half-minutes. JT44 is a time-synchronized communication mode,
and in WSJT the only way to transmit or receive it is to set the
program to "Auto Mode ON".
2. Transmit audio starts 1 second into the TX interval and lasts for
135 * 2048 samples at the 11025 Hz soundcard sampling rate, or about
25.08 seconds.
3. The last 3.9 seconds (minus necessary relay switching time, etc.)
of the transmit period will probably be used for a fast CW ID. (This
function is not yet implemented in WSJT v1.9.4). The idle time also
serves to accommodate EME propagation delays.
4. The message format involves 135 intervals of data transmission,
each 2048 samples long. Of these, 69 intervals carry a synchronizing
tone at frequency 118*11025/1024=1270.5 Hz (approximately).
5. The remaining 66 intervals carry tones at frequencies
(120+N)*11025/1024, with 1 <= N <= 43. The value of N conveys the
character code. Permissible characters include the digits 0-9,
letters A-Z, and special characters .,/#?$ and <space>. The 66
character intervals carry a 22-character message, repeated three
times.
6. The 69 sync-tone intervals and 66 character-tone intervals are
interleaved according to a pseudo-random pattern having the desirable
property that its auto-correlation function has a single spike at lag
zero and falls to low values everywhere else. Detecting and aligning
with this sync-tone pattern is one of the the main "secrets" of JT44,
allowing the software to accommodate large frequency and clock errors.
7. At present the program synchronizes reliably with frequency errors
in the range +/- 600 Hz and clock offsets from -2 to +4 seconds. The
time range was made asymmetrical so as to accommodate EME delays.
8. The cost of using about half of the transmission time for the sync
tone is approximately 1.5 dB. This seems to be a very good compromise
in practice. It means that transmissions will "sync up" reliably at
the receive end even when the S/N is -25 dB relative to the system
noise in a 2500 Hz bandwidth. Note that by comparison, the minimum CW
signal strength that can be copied is about -11 dB relative to same
noise level. JT44 can get through with solid copy whan you cannot
even hear the other station's signals.
9. Single letters in the 22-character message will have worse
signal-to-noise ratios than that of the sync tone by a factor equal to
the square root of 69/3, or 6.8 dB. However, that loss can be made up
by averaging the received character-tone spectra over many 30-second
reception periods. For such incoherent averaging, each doubling of the
number of periods buys you 1.5 dB in S/N. Four periods gets you 3 dB
improvement, 16 periods gets 6 dB, and so on. If the signal strength
remains fairly steady, these numbers mean that good copy of any
reliably synchronizable message can be achieved in about 15-20
minutes.
10. See also the accompanying file EXAMPLE.TXT, which describes an
example of JT44 usage.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: JT44 on Linux
2002-08-14 13:05 ` Jonathan Naylor
@ 2002-08-16 6:27 ` Jason Flynn G7OCD
2002-08-16 7:13 ` Jonathan Naylor
0 siblings, 1 reply; 6+ messages in thread
From: Jason Flynn G7OCD @ 2002-08-16 6:27 UTC (permalink / raw)
To: g4klx; +Cc: Tomi Manninen OH2BNS, linux-hams
> I have a friend who has JT44 receive capability who is over a
> variable 250kms 23cms path which would be an interesting test.
We've been doing similar tests here, trying all the 'new' data
and weak signal modes. They're designed for EME or MS etc, and
don't cope very well with scintilations introduded by long
atmospheric distortion. They work, but if you do a waterfall,
you can see the signal spread is at least one tone wide so a
system for tropo would probably work better with less tones.
So we're thinking about a new system specifically for tropo
contacts, your ideas would be appreciated...
Jason
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: JT44 on Linux
2002-08-16 6:27 ` Jason Flynn G7OCD
@ 2002-08-16 7:13 ` Jonathan Naylor
0 siblings, 0 replies; 6+ messages in thread
From: Jonathan Naylor @ 2002-08-16 7:13 UTC (permalink / raw)
To: Jason Flynn G7OCD; +Cc: linux-hams
Hi Jason
> We've been doing similar tests here, trying all the 'new' data
> and weak signal modes. They're designed for EME or MS etc, and
> don't cope very well with scintilations introduded by long
> atmospheric distortion. They work, but if you do a waterfall,
> you can see the signal spread is at least one tone wide so a
> system for tropo would probably work better with less tones.
I remember reading that JT44 was designed for 2m (and lower) and that
any others bands it worked on were a bonus. I know that it has been
used on 23cms EME by a very marginal station, but I doubt it would work
on 3cms EME where the spreading is rather large.
I think that going to 1 minute periods would also be a good step and as
you mention going for less tones with wider spacing. To do a proper
implementation, it would be good to have some data from the 3cms EME
ops on what spreading is like, quantitative rather than qualitative.
> So we're thinking about a new system specifically for tropo
> contacts, your ideas would be appreciated...
My first priority is to get my JT44 program working, and then maybe
FSK441 for MS work. I do think that my work could be the basis of
better things as it uses a C++ framework that is rather flexible. I
also make use of external libraries such as FFTW and libaudiofile to
enable me to get round the tedious bits. BTW I am active on 6cms and
3cms tropo work with quite an effective system.
My JT44 TX program made its first noises last night ! The timings are
right (PTT, sound start and end, etc), but I would like a wav file of
real JT44 sending Z's and/or 0's for me to compare. I don't have real
JT44 here (no Windows) so I am working a little in the dark.
Just shout if you want a snapshot of the code.
> Jason
Jonathan HB9DRD/G4KLX
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2002-08-16 7:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-14 8:55 JT44 on Linux Jonathan Naylor
2002-08-14 11:57 ` Bob Nielsen
2002-08-14 12:24 ` Tomi Manninen OH2BNS
2002-08-14 13:05 ` Jonathan Naylor
2002-08-16 6:27 ` Jason Flynn G7OCD
2002-08-16 7:13 ` Jonathan Naylor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox