I am working on a soft iterative receiver for an M-ary modulation. Since my constellations, M=2⁷ — M=2¹², are rather big, the log likelihood ratios also become large.

Is there a way to compress these values to a smaller range, e.g. from [-100, 100] to [-10,10]?

Momentarily, I am rescaling the values to fit them in my desired range. However, the actual confidence levels don't make sense then anymore.

== Edit ==

To calculate the soft-outputs of my decoder, I first convert the soft-inputs into probabilities by,

$$ P = \frac{e^{LLR_{in}}}{1 + e^{LLR_{in}}} $$

As can be seen from this equation, large LLRs will be approximately 1. However if this happens, my decoder takes wrong decisions and calculates wrong soft-outputs. Therefore I am searching for a way to deacrease the magnitudes of the input LLRs. The MATLAB rescale() function isn't the optimal solution, since it does introduce errors with the iterations.

  • $\begingroup$ hm, a decoder that produces errors, even if the input probabilities approach 1? That's a decoder from the class of broken decoders, I'd say. $\endgroup$ Commented Sep 1, 2021 at 17:53
  • $\begingroup$ The soft outputs of the decoder are crooked due to the calculations. In fact, it could be called a numerical problem, but I am not sure how to solve it. Avoiding the rescaling would be already better. The equations in the paper already suggest some problems for large LLR and thus for large constellations. $\endgroup$
    – Cooltafel
    Commented Sep 21, 2021 at 19:00

1 Answer 1


It depends on your decoder; for example, in message-passing decoders, most commonly, a prefactor doesn't affect the results at all, so you can scale to your heart's delight.

It's also common to just clip – whether a bit has a LLR of -100 or -90 doesn't really matter, does it.

However, the actual confidence levels don't make sense then anymore.

Well, you'd have to transform them, too. Notice that scaling LLRs makes sense in a Gaussian noise setting, as LLR involves taking the logarithm of a $ e^{-a|x-x_i|^2}$ function, so you're left with something rather sensible (scaling the LLR just scales $a$, which is common to all samples and constellation points). I don't know how your noise looks or how you arrive at confidence levels, but try to apply the logarithm to a ratio of confidences and see whether scaling the LLR preserves sensibility.

  • $\begingroup$ Thank you for your reply! My noise is complex AWGN. I derive the LLRs directly from the DFT bins. The problem is that in the decoder new LLRs are calculated for the corrected bit sequence and due to the large LLRs, the new LLRs are incorrect. By rescaling the LLRs, I saw a massive improvement of the output. However, I am not sure if this is the optimal solution for the iterative part, since the output of the decoder is limited due to the rescaling, but the LLRs calculated at the demodulation (where the LLRs get combined) are still in the old range. $\endgroup$
    – Cooltafel
    Commented May 23, 2021 at 15:34
  • $\begingroup$ sorry, can't fully follow you there. Maybe you want to describe your whole decoding process and why you think this is a problem in detail in your question? The decoder increasing some LLR is the point of decoding, you'll notice: gaining more confidence in the decision. $\endgroup$ Commented May 23, 2021 at 15:36
  • $\begingroup$ I am not able to explain it here in detail due to the characters restrictions. The rescaling is actually not only a multiplication by a constant: B = rescale(A,l,u,'InputMin',inmin,'InputMax',inmax) uses the formula l + [(A-inmin)./(inmax-inmin)].*(u-l) If you could tell me if this is allowed to do for the LLRs then I can already justify why I use the rescaling. Actually, the soft decoder I am using can be found on google by just typing it in and the one with the author Müller is the one. The calculation of the new LLRs is the problem, due to the large input LLRs. $\endgroup$
    – Cooltafel
    Commented May 23, 2021 at 20:53
  • 1
    $\begingroup$ @Cooltafel you can add all the explanations without being limited by comments' number of characters by editing your question. $\endgroup$
    – AlexTP
    Commented May 24, 2021 at 10:26
  • 1
    $\begingroup$ And editing your question is very much smiled upon by Stackexchange. The preference is that you have a complete question, with answers that match. What is not desired is that there are long discussions in the comments that must be dredged through to find answers. $\endgroup$
    – TimWescott
    Commented Feb 19, 2022 at 17:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.