How can I get soft l-value outputs from comm.TurboDecoder?

1 view (last 30 days)
I am using comm.TurboDecoder and it seems like this decoder is only able to output "hard" thresholded bit values. I would like to be able to see the probability values on individual databits "Soft outputs" (known as L-values).
According to the APP Decoder reference pages, APP decoder has log-likelihood outputs. Turbo Decoder seems to use APP Decoder, so it seems I should be able to get l-values.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 10 Feb 2020
As of MATLAB R2019b, determining soft L-value outputs directly from comm.TurboDecoder is not currently supported.
The source code file for TurboDecoder lives here: <matlabroot>\toolbox\comm\comm\+comm. If you navigate to that location, you will see a file named TurboDecoder.M. This file is responsible for all the underlying definition of the comm.TurboDecoder object.
In line 353 of that file, the algorithm calculates log-likelihood probability values in a variable called LLR.
Put simply, you can modify the step method of the object to return two output arguments: y, and llr, which I believe will contain the data you are looking for.
Rather than directly modifying TurboDecoder.M, try copying the original file to another location before making any changes, so as not to overwrite and break some other aspect of the object or file.
1. Create a copy of the required .M file in the current working directory.
2. Rename the file, the class definition and the constructor within it.
3. Do not call using the qualifying name ( comm.TurboDecoder), instead call it directly with the modified new name

More Answers (0)

Categories

Find more on LTE Toolbox in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!