summaryrefslogtreecommitdiffstats
path: root/src/conv.c
Commit message (Collapse)AuthorAgeFilesLines
* core/conv: Only consider error for non-zero soft valuesSylvain Munaut2011-04-281-3/+6
| | | | | | | | | | | | If the input value is '0' it should not really affect the error since it's just an indecisive bit. We accept this either an internal '0' (generated via puncture) or as an external '0' (generated via an external puncturing scheme). A real received bit should never be '0', it's always gonna be closer to 1 or the other value ... (thanks to mad@auth.se on the ML for the idea) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/conv: Add some generic code for convolutional coding/decodingSylvain Munaut2011-04-261-0/+493
Far from perfect but suits our need thus far. The viterbi with softbit input is quite cpu-intensive. Since most received bursts are often mostly error free, you could use a less cpu intensive algorithm (Fano ?) and with hard bit input. Then only switch to viterbi soft bit input if the channel is bad enough to justify it. Soft output is not implemented as its usefulness for the block coding is limited. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>