diff options
author | jcorgan | 2008-04-15 21:31:29 +0000 |
---|---|---|
committer | jcorgan | 2008-04-15 21:31:29 +0000 |
commit | a52f9a19581901beabc9111917965b9817231014 (patch) | |
tree | 5e12980ed7d22dbc8c0f963579e3855b88df5897 /gcell/src/lib/runtime/gc_job_manager_impl.cc | |
parent | 42b48770e756f1c082f5dfc9e757fafe69263496 (diff) | |
download | gnuradio-a52f9a19581901beabc9111917965b9817231014.tar.gz gnuradio-a52f9a19581901beabc9111917965b9817231014.tar.bz2 gnuradio-a52f9a19581901beabc9111917965b9817231014.zip |
Merged r8195:8205 from jcorgan/ecc into trunk. Adds convolutional encoder
and decoder corresponding to the R=1/2, K=7 CCSDS standard ("Voyager").
This code is a GNU Radio wrapper around a 1995-era KA9Q portable-C
implementation, and is designed for continuous streaming data, not packets.
The encoder takes MSB packed bytes and outputs channel symbols 0 or 1.
The decoder uses soft-decision Viterbi decoding on a floating point stream of
(possibly noise corrupted) [1.0, 1.0] symbols, and outputs MSB packed
decoded bytes.
Benchmarking on a 2.16 GHz Intel Core 2 Duo shows 4.7 Mbps decoding rate at
100% CPU usage (single core). (There is a newer KA9Q library that implements
SIMD speed ups with correspondingly faster performance.)
The KA9Q library is placed into src/lib/viterbi. It could use some cleanup,
file/function renaming, and refactoring, or even replacement with the newer
libfec code that is available.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@8206 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gcell/src/lib/runtime/gc_job_manager_impl.cc')
0 files changed, 0 insertions, 0 deletions