Search Mailing List Archives
[liberationtech] Efficient digital one-way communication
Jens Christian Hillerup
jens at hillerup.net
Mon Mar 4 07:56:12 PST 2013
On Mon, Mar 4, 2013 at 4:40 PM, Michael Rogers <michael at briarproject.org> wrote:
> Last year I spent some time playing with audio encoding of data for
> transmission over handheld radios. The state of the art here is dialup
> modems - on a good day they can get 56,000 bits per second over a
> channel designed for voice, but that requires advanced modulation and
> error correction techniques. The radio hams have packet radio (AX.25
> and APRS) running at 1,200-9,600 bps over long distances using simple
> modulation and no error correction. Some early home computers used
> audio cassettes for storage (300-1,200 bps, CUTS or Kansas City Standard).
Nice information, thanks. Would it be wrong to assume larger data
rates to be attainable on an FM "link" than over the telephone line?
For music etc. FM has far superior sound quality in any case.
> If you want to support purely one-way communication (no acks), you'll
> need to forward error correct the data. Hamming codes and parity
> checks are simple to implement but they'll eat a lot of your
> bandwidth; Reed-Solomon codes are more bandwidth-efficient but also
> more complex.
Yes, I thought of that too in September. Luckily I've taken courses in
abstract algebra and error-correcting codes at my university; I think
I'd be able to write a working RS implementation from my theory books.
Another thing I didn't tell in my first mail is that I've been wanting
to design a protocol for metadata, too, since it doesn't really make
sense to decode and save half files anyway. It would also make it
possible to send the file names and file sizes beforehand so the
receiver can know how much of the file s/he has already received.
And yes, I want this to be truly one-way -- no acks. The idea is that
I want the receiving end to need as little hardware as possible: one
FM radio and one computer with a sound card (and this software). The
sender obviously has access to an FM transmitter (or whatever becomes
the sound carrier). This modulation algorithm should not provide
authenticity of the sender, instead cryptographic signing of the data
should happen at higher levels of the stack.
> Some Java code for modulation, framing and error correction is here if
> you're interested:
Thanks a lot! I'll have a look at it soon.
More information about the liberationtech