필터 지우기
필터 지우기

why the input data of the function "dvbrcs2Turbodecode" has to be "-data"?Does it always to be this way?It's wrong sometimes.

조회 수: 2 (최근 30일)
for frmIdx = 1:10
msg = randi([0 1],frameLen,1);
code = dvbrcs2TurboEncode(msg,r,permParams);
modCode = qammod(code,4,[0 2 3 1], ...
'InputType','bit', ...
'UnitAveragePower',true); % QPSK Modulation
receivedOut = awgn(modCode, snrdB);
demodOut = qamdemod(receivedOut,4,[0 2 3 1], ...
'OutputType','llr', ...
'UnitAveragePower',true, ...
'NoiseVariance',nVar); % QPSK Demodulation
decoded = dvbrcs2TurboDecode(-1*demodOut,r, ...
permParams);
errorStats = errorRate(int8(msg),decoded);

답변 (1개)

Sudarsanan A K
Sudarsanan A K 2024년 3월 26일
편집: Sudarsanan A K 2024년 3월 26일
Hi Jiaxin,
The negation of the demodulated output, 'demodOut' before passing it to 'dvbrcs2TurboDecode' is crucial and directly addresses the convention used in the function or expected by it for LLR (Log-Likelihood Ratio) values:
  • LLR Convention: The 'qamdemod' function, with 'OutputType','llr', produces LLR values where a positive value indicates a higher probability of the bit being '0', and a negative value indicates a higher probability of the bit being '1'. This is a common convention but does not align with the expectation of the 'dvbrcs2TurboDecode' function or the turbo decoding algorithm it implements. i.e., for 'qamdemod' function, the LLR is computed as , whereas for 'dvbrcs2TurboDecode', the LLR is .
  • Negation Purpose: By negating the LLR values (-1*demodOut), you effectively invert this convention. After negation, a positive LLR value suggests a higher probability of the bit being '1', and a negative value suggests a higher probability of the bit being '0'. This inversion aligns the LLR values with the convention that the turbo decoder expects.
For further understanding of the sign conventions, run the example in the 'dvbrcs2TurboDecode' documentation page and observe the variables:
I hope this helps!

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by