Hello Andreas,

We need to specify the number of carriers in the modem (which sets the
bit rate over the channel) and the actual fec scheme we are using:

./c2enc 1300 ../raw/hts1a.raw - | ./fec_enc - - 1600 | ./fdmdv_mod - -
16 | ./fdmdv_demod - - 16 |./fec_dec - - 1600 | ./c2dec 1300 - - | play
-t raw -r 8000 -s -2 -

You'll note this has a bit of garbled speech at the start, as the demod
syncs.  In that sense the modem is not transparent.  This does perhaps
show that the cipher doesn't recover well from burst errors.

Note that it's not blanket FEC, only some codec bits are protected. We
are probably protecting the wrong ones after encryption, so this may not
be what you want.

However I can't get this to work:

./c2enc 1300 ../raw/hts1a.raw - | openssl enc -rc4 -k Test -nosalt
| ./fec_enc - - 1600 | ./fdmdv_mod - - 16 | ./fdmdv_demod - - 16
|./fec_dec - - 1600 | openssl enc -rc4 -d -k Test -nosalt | ./c2dec 1300
- - | play -t raw -r 8000 -s -2 -

or even this:

./c2enc 1300 ../raw/hts1a.raw - | openssl enc -rc4 -k Test -nosalt
| ./fdmdv_mod - - 16 | ./fdmdv_demod - - 16 | openssl enc -rc4 -d -k
Test -nosalt | ./c2dec 1300 - - | play -t raw -r 8000 -s -2 -

Is it possible to set an encryption block size similar to the codec
frame size, of an integer multiple of codec frames?

insert_errors can be used to insert error patterns, use it to replace
the modem.

It would be nice to have a command line version of the modem that is
"transparent", i.e. can guarantee bits get from one side to the other,
over a range of channels.  This probably requires ARQ.  Now that's a
nice challenge for the command line!

Cheers,

David

 On Fri, 2014-05-30 at 15:43 +0200, Andreas Weller wrote:
> On 29.05.2014 23:12, David Rowe wrote:
> 
> > Very cool that demo can run on the command line!  Such a great way of
> > prototyping.  A lot of the work in FreeDV (e.g. sound cards to modems to
> > codecs, sample rate changes, fifo buffering) is simply to reproduce what
> > the Linux command line does for us.
> > 
> > Good point from others re bit errors and encryption.  However I imagine
> > there are cipher systems that can work over HF, after all encrypted
> > speech is a major application for HF DV.  Once you get a few dB over the
> > min SNR the bit error rate drops to zero with FEC.
> > 
> > There is another application for SmartMic - secure telephony over the
> > GSM voice channel.  The idea is we develop a modem that can pass 1200
> > bit/s or so through the GSM _voice_ codec.  This channel is pervasive
> > around the world, reliable, and low latency (unlike mobile data).
> > 
> 
> Hi David.
> Thanks for pointing out some issues. It's correct bit errors might
> propagate - worst case: indefinitely. But there are keystream modes like
> RC4 or CFB block cipher modes which allow flipping a bit in the
> ciphertext resulting in a flipped plaintext bit at the same location.
> This should allow error correction or the FDM modem to work normally
> without any further modification.
> 
> I recently tried adding fec and the fdm modem to my encoding chain:
> 
> Adding fec works as expected:
> ./c2enc 1200 ../../raw/hts1a.raw - |openssl enc -rc4 -k Test -nosalt
> |./fec_enc - -|./fec_dec - -|openssl enc -rc4 -d -k Test -nosalt|
> ./c2dec 1200 - - |play -t raw -r 8000 -e signed-integer -b 16 -
> 
> Adding the modem to the pipe breaks the whole thing - so IMHO the modem
> is unfortunately not fully bit transparent:
> ./c2enc 1200 ../../raw/hts1a.raw - |openssl enc -rc4 -k Test -nosalt
> |./fec_enc - -|./fdmdv_mod - -|./fdmdv_demod - -|./fec_dec - -|openssl
> enc -rc4 -d -k Test -nosalt| ./c2dec 1200 - - |play -t raw -r 8000 -e
> signed-integer -b 16 -
> 
> 
> Regards,
>   Andreas
> 
> ------------------------------------------------------------------------------
> Time is money. Stop wasting it! Get your web API in 5 minutes.
> www.restlet.com/download
> http://p.sf.net/sfu/restlet
> _______________________________________________
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2



------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to