CodewordLength for BCH encoder

조회 수: 3 (최근 30일)
Igor Poloyko
Igor Poloyko 2020년 3월 4일
댓글: Igor Poloyko 2020년 3월 13일
Hi colleagues,
The bch-encoder (Communication Tool box, https://www.mathworks.com/help/comm/ref/comm.bchencoder-system-object.html) accepts two main integer parameters, CodewordLength and MessageLength which can not be arbitrary.
CodewordLength must satisfy 2^M-1 (2<M<17) and MessageLength can take on several possible values depending on error correction capability of the code.
uses CodewordLength=43200 and MessageLength=43040 which are not compliant with the above mentioned requirements.
How is it possible?

채택된 답변

Chidvi Modala
Chidvi Modala 2020년 3월 13일
Hi,
Here are few points which may be of help to you
  • According to the documentation of comm.BCHEncoder default value of M is 15. But in this case, the value of M (the degree of the primitive polynomial) is calculated using the following relation
M=ceil(log2(CodewordLength+1)).
  • In addition to the above, "BCHPrimitivePoly" property of dvb object is set to a binary vector of length 17 which results in the value of M being 16.
  • The documentation page for comm.BCHEncoder mentions that the codeword length must use the form (2^M-1) for full-length BCH codes. The one which we use in DVBS2 is shortened so the codeword length(43200) should be less than or equal to 65535(2^16-1)
  댓글 수: 1
Igor Poloyko
Igor Poloyko 2020년 3월 13일
Thanks Chidvi!
I first though about shortened codes, but my mistake was conclusion that if the comm.BCHEncoder is called in demo example just with message-argument (without ShortMessageLength argument) so, no shortening occures.
Now I see that this is not true.
Thanks a lot again.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Error Detection and Correction에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by