Hi everyone,

Is it possible to modify the *traceback depth* of the built-in *CC Decoder
Definition*? It appears unable to recover errors I have introduced during
puncturing/depuncturing, returning values with bit errors still present.

I am trying to decode a PDU I originally convolutionally encoded using the *FEC
Async Encoder* block with the default 1/2 rate, K=7, 79/109 *CC Encoder
Definition* in 'terminated mode'. I then perform async puncturing using a
custom block I wrote to achieve 2/3 and 3/4 code rates, followed by the
corresponding async depuncturing block, which inserts zeroes in previously
punctured positions. I then attempt to decode the depunctured code using
the *FEC Async Decoder *block with the default 1/2 rate, K=7, 79/109 *CC
Decoder Definition* in 'terminated mode'.

Without puncturing (rate = 1/2) decoding works perfectly. I have confirmed
the puncture/depuncture behaviour is correct, so it appears that the
decoder just isn't looking back far enough when performing Viterbi
decoding. I haven't been able to find an obvious way to modify the
decoder's traceback depth... *SSE2 Viterbi* decoding methods like that used
in *DVB-T* and *802.11* actually already modify their traceback depth to
accommodate puncturing.

Anyone have any advice? Ideally I'd make the default cc encoders/decoders
work since they perform the necessary flushing of bits for fixed length
packets, rather than modifying the SSE2 versions to do the same.

Big thanks in advance for any help!

Cheers,
Justin
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to