Hi Johan and all,
does your Jason decoder try to keep track of symbol timing
or does it only wait looking for the next transition (as the native
decoder)?
It averages over the last 16 or so symbols (~8 characters) to find
the symbol boundaries.
If timing is important, how will slight timing errors affect
performance?
The present decoder is not hurt much by a symbol frequency error of
a few parts per thousand. But future decoders might examine longer
stretches. If symbol timing is derived from even a mediocre crystal
oscillator, e.g. 100 ppm error, that should be adequate for presently
foreseen enhancements. Of course, if you could use same clock as
generates the carrier, that would be even better.
You mentioned "symbol phase", do you mean MSNibble/LSNibble
or does the decoder expect the signal to be "phase coherent"?
The current decoder is noncoherent. One might expect that 3 dB could
be gained from coherent detection, but that is not the case with
M-ary FSK systems. In fact, as M goes to infinity, the performance
asymptotically approaches the Shannon limit, even when noncoherent
detection is used! For M = 16, only about 1 dB gain is possible.
However, if many symbols are transmitted for each symbol of useful
information content (because error correction is employed, and/or
integration is performed over multiple repetitions of the message),
then the gain from coherent detection is greater. Such a system
would not interoperate with the current Jason standard, but could
potentially offer much better performance. If your PIC design
is flexible and could eventually handle a new format, it would be
nice if it could avoid losing coherency on symbol transitions.
playing with a PIC/DDS Jason beacon, currently on HF, 7000.038 kHz...)
I don't recommend my decoder for HF; it was designed with the
stability of a typical LF path in mind. When there is significant
multipath, or the effective height of the ionosphere is rapidly
changing, Alberto's decoder will perform much better.
73,
Stewart KK7KA
|