QAM With turbo coding at High SNR outputting all zeros

조회 수: 2 (최근 30일)
Noel Teku
Noel Teku 2020년 5월 30일
답변: Sai Sri Pathuri 2020년 7월 8일
Hello,
I've been having trouble implementing 16 and 32-QAM with turbo coding. I've been using the qammod and qamdemod functions as well as the Comm.TurboEncoder and Comm.TurboDecoder functions from the communications toolbox to do this. At low SNR it gives me no issues. However, when the SNR gets high enough (i.e. 15 dB), I notice that the ouptut of the qamdemodulate function contains multiple values that are registered as infinite. Additionally, when this output is fed into the Comm.TurboDecoder functions, I notice that the output is all zeros which is incorrect. I'm thinking that it's related to the noise variance (i.e. 10^(-SNR/10)) I pass into the qamdemod function in order to perform soft demodulation. Can anyone help me understand why this happening as well as why this isn't happening at low SNR?

채택된 답변

Sai Sri Pathuri
Sai Sri Pathuri 2020년 7월 8일
When output type is LLR and the NoiseVariance value is very small (i.e., SNR is very high), LLR computations may yield Inf or -Inf because the LLR algorithm would involve computing exponentials of very large or very small numbers using finite precision arithmetic. In such cases, use of approximate LLR (approxllr) is recommended, as its algorithm does not involve computing exponentials.
You may refer the 'Tip' mentioned in 'Noise Variance' section in documentation of qamdemod

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Modulation에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by