[Ground-station] Updating the Opulent Voice Interleaver
Michelle Thompson
mountain.michelle at gmail.com
Mon Mar 13 09:01:12 PDT 2023
The interleaver for Opulent Voice needs to be updated because the frame
size has increased. We are incorporating RTP, UDP, and IP layers into the
existing OPUS and 4-ary MFSK layers and now have what we think may be the
final frame size.
Since convolutional encoding is used for Opulent Voice payload, an
interleaver is necessary to get the best bit error rate performance out of
the convolutional encoder. The interleaver is used over both the physical
layer header (Golay encoded) and the data payload (a 1/2 rate Convolutional
code). Opulent Voice is an open protocol that we use for our HEO/GEO
uplink. It can also be used terrestrially on the #hamradio bands at 70cm
and above. Find out more at
https://www.openresearch.institute/2022/07/30/opulent-voice-digital-voice-and-data-protocol-update/
The distance that an interleaver spreads out bits in a frame is the most
familiar performance measurement. It's commonly called "spread" or "minimum
interleaved distance". However, we learned about another metric that is
important in Turbo codes. Several papers refer to the measure of randomness
of the mixture of bit position reassignments as "dispersion" (for example,
see
https://cgi.tu-harburg.de/~c00e8lit/cgi-bin/ivpub/download.php?file=kb-wpmc2008.pdf).
That particular paper cited another paper (reference [6]) as defining
dispersion.
Following that citation led to a paper but this paper didn’t mention
dispersion or explain the equation. Going back to the original paper, we
started working with the definition for dispersion that we had. This used
the cardinality of the set of indices of original bit positions vs.
permuted bit positions. This seemed straightforward enough. But, after
trying this in MATLAB, we always got the minimum dispersion value, so there
must be something wrong with our interpretation.
Volunteers then spent time trying to figure out if dispersion is an
important enough metric for a single convolutional code, like we have in
#OpulentVoice. In other words, should we simply *not* simply choose the
polynomials that result in the largest minimum interleaved distance?
Selecting the right interleaver based on a balance between how far apart it
spreads the bits vs. how randomly the bits are distributed is a useful
selection methodology for Turbo codes, but may not be strictly necessary
for a single convolutional code used with 40 mS frames.
Everyone is welcome to join in the discussion and work to create quality
#OpenSource work for #digital communications at ORI. Please see
https://openresearch.institute/getting-started to be welcomed to our
community. Please help spread the word.
-Michelle Thompson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openresearch.institute/pipermail/ground-station-openresearch.institute/attachments/20230313/3b7a134b/attachment.htm>
More information about the Ground-Station
mailing list