Is it possible to implement soft Viterbi decoding with puncturing in the Communications Blockset 3.0.1 (R14SP1) or the Communications Toolbox 3.0.1 (R14SP1)?

1 view (last 30 days)
My concern is that with hard decision decoding, I can assign a 0 to a punctured bit position, using +/- 1 for the non-punctured hard bits. For soft decisions, I do not know how to optimally assign values to the punctured bits. For example, with 3-bit soft decision decoding, it seems suboptimal/wrong to assign a “3” or “4” (least confident 1 or 0) for the punctured bit.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 10 Apr 2023
Edited: MathWorks Support Team on 13 Apr 2023
This enhancement has been incorporated in Release 14 Service Pack 2 (R14SP2). For previous product releases, please read below for any possible workarounds:
The ability to do soft decision decoding with optimal puncturing is not available in the Communications Blockset or the Communications Toolbox.
There are two ways to workaround this issue:
1. Do soft decision decoding with optimal puncturing if the Viterbi Decoder supports erasures. If you could specify the '3' or '4' alternatively for the punctured bit (thereby reducing the odds), there should be no performance hit. Again, currently, with the Communications Blockset, the Insert Zero block does not allow you to specify the value (it only inserts 0), but you could do this insertion via some pre-processing.
2. Map the unipolar quantized values to bipolar quantized values, insert zeros, and use the "unquantized" option of the Viterbi decoder. You will see the effect of quantization because you have done the quantization externally and the decoder is using the quantized values.
There are two files that demonstrate the above techniques:
1. From the file exchange at MATLAB Central, there is a Simulink model that tries to implement the first option above with current blocks:
The above file also contains performance curves comparing the BER as the number of bits is increased.
Note that MathWorks does not guarantee or warrant the use or content of these submissions. Any questions, issues, or complaints should be directed to the contributing author.
2. The attached file below demonstrates how to use the Communications Toolbox 3.0.1 (R14SP1) to accomplish this task using both of the above options, and then compares the results of using both methods.

More Answers (0)

Products


Release

R14SP1

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!