Good afternoon, everyone.
Can I suggest that, rather than a rely on single packet header to
achieve synchronisation like D-Star, that consideration is given to a
distributed sync system like the NATO STANAG 4285-based scheme that Murray
Greenman and Con Wassilief used for their CMSK HF-optimised GMSK modem?
This involves burying a repeating patern of 32 isolated sync bits into
the datastream to establish synchronisation, and because the sync detection
is a correlation process over a long-ish period, it makes it more robust in
the presence of burst noise or high bit error rates.
A basic back of an envelope calculation indicates that, trying to carry
a 1400 baud Codec 2 data payload over a 2400 baud GMSK modem, you could
apply 2/3 rate convolutional error correction to increase the payload rate
to 2100 baud, and then packetize the resulting stream into pairs of 11-bit
frames (11 payload bits in one frame, 10 payload bits plus a single bit from
a slow 100 baud metadata stream in the other) followed by a single sync
bit, with these 12-bit sub-frames repeating every 5ms.
The 32-bit PRBS sync sequence would repeat every 160ms, and provide sync
for both the slow data stream, the convolutional coding puncturing sequence,
and any interleaving that has been applied to make the payload less
susceptible to burst errors.
If the transport rate was increased to 4800 baud, then the convolutional
coding rate could be increased to ½, and a hefty 50% of the native data-rate
could be allocated to an inner ECC block code to supplement the
convolutional outer code and correct-out the (distributed by interleaving)
burst errors.
One of the biggest advantages, though, would be that sync can be
re-established from a fragment of the transmitted datastream, even if the
start of the transmission was missed.
Just a suggestion
Graham Bryce
G7LGI
From: Kristoff Bonne [mailto:krist...@skypro.be]
Sent: 23 May 2012 22:23
To: freetel-codec2@lists.sourceforge.net
Subject: [Freetel-codec2] VHF codec2 modem: bit syncronisation
Hi,
I am currently working with Peter on defining the format for a VHF modem.
There are some things where I would like to get the help of the knowledge of
the list. It deals with the syncronisation pattern put in front of the
stream.
First some information:
In a digital communication system that is purely sequencial (like GMSK),
there is usually a "syncronisation pattern" that is put in front of the
stream.
The "what does a D-STAR signal really look like" blog article show a bit how
it works (1). Scroll down to the part " A close-up of the beginning of the
stream"
The goal is to allow the receiver to syncronise itself to the stream it
receives: detect the bitstream, give the FM receiver some time to get on
that and get the "bit syncronisation" process started.
As a result of David's comment yesterday about autodetecting "audio
reverse", I was thinking what else we could "autodetect": like baudrates or
even transmission modes.
1/
First baudrates:
- The current gmsk runs at 4800 bps while there has been the discussion to
support other (lower) bitrates
- The gmsk receiver actually samples the audio at 48 Khz, which means that a
bit of information is equivalent to 10 audio-samples.
Option 1:
- allow lower baud-rates, but only baud-rates where the periode of a bit is
a multiple of 1/48000 seconds.
This would allow bitrates like:
- 4800 bps (10 samples / bit)
- 3600 bps (15 samples / bit)
- 3000 bps (16 samples / bit)
- 2400 bps (20 samples / bit)
- 1800 bps (30 samples / bit)
- 1200 bps (40 samples / bit)
(among others)
Now, enter the issue of the "syncronisation pattern".
At first, I was only thinking about bitrates that have a period that is a
multiple of 1/4800 second.
So, specify this:
"the bit syncronisation stream must be at least 32 time "01", running at the
bitrate of the codec".
The idea would be this:
The receiver decodes the stream at the maximum speed: 4800 bps
Depending on the speed of the sender, the received pattern would be as
follows:
- Receiving a 4800 bps stream: "010101010101..."
- Receiving a 2400 bps stream: "001100110011..."
- Receiving a 1800 bps stream: "000111000111..."
- Receiving a 1200 bps stream: "000011110000...."
This would be easy to implement, but would exclude certain bitrates (like
3600 bps or 3000 bps).
Question:
Does anybody see a reason to support bitrates other then the four available
in option 2?
P.S. I like the idea of a 1800 bps stream. This would be roughly equivalent
of a non-protected codec2-stream running at 1400 bps plus some overhead for
syncronisation.
2/
Modulation systems:
Now, appart of gmsk modulation, there is also the idea of use 4FSK/C4FM.
Some background info:
GMSK -which is nothing more then a variant of 2FSK- has two states per
symbol ("0": voltage > 0, or "1": voltage < 0). This allows for 1 bit /
symbol/
C4FM/4FSK allows for 4 states per symbol: -1, -1/3, +1/3 and +1. This allows
for sending 2 bits / symbol; permitting -either- for twice as much bits to
be send per channel, or reducing the bandwidth of a channel to half (but
without 3db S/N gain).
If a 4FSK signal is decoded with a GMSK demodulator, -1 and -1/3 are both
decoded as "1". +1/3 and +1 are decoded as "0".
By doing some modification of the syncronisation pattern when sending a
4FSK/C4FM signal, it should be possible to make the system determine if the
incoming stream if a GMSK or a C4FM stream.
So, the question is simple:
Is there a reason to forsee C4FM/4FSK on a codec2 VHF format?
- It can double the bitrate of the bitstream, but concidering the bitrate
needed by codec2, is that really needed?
On the other hand, there could be applications like the following:
-> inter-repeater links carrier multiple streams
-> pure-data streams
- It can also half the bandwidth of the channel, as this can also be done
using gmsk at 2400 bps, is there a need for this?
- Perhaps make it optional in this version of the specification? (it can
become mandatory in a latter stage, if needed).
Does anybody see a reason to add C4FM in this version of the specs? (appart
from "I want everthing").
One final remark:
Do note that we are talking about the SPECIFICATION of the codec2 VHF modem.
Do not expect all these wissles and bells to be present in the first actual
implementation of it? This will -in the first stage- be simply 4800 bps
gmsk.
A technical side question:
Can somebody please explain what is the exact difference (if there is one)
between 4FSK and C4FM? Most documents either describe C4FM as "a special
version of 4FSK" or simply equate it.
Who can explain the exact difference between these two?
(1) http://villazeebries.krbonne.net/hamstuff/?p=106
73
Kristoff - ON1ARF
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2