Main Content

nrPolarEncode

설명

예제

enc = nrPolarEncode(in,E)는 TS 38.212 Section 5[1]에 지정된 대로, 입력 메시지 in과 레이트 매칭된 출력 길이 E에 대해 극성 인코딩된 출력값을 반환합니다. 기본적으로 입력 인터리빙이 활성화되어 있으며, 인코딩된 메시지의 최대 길이는 512자입니다. 이 구문을 다운링크 구성에 사용하십시오.

enc = nrPolarEncode(in,E,nmax,iil)은 지정된 최대 길이 2nmaxiil에 의해 지정된 입력 인터리빙으로 입력값을 인코딩합니다.

  • DL(다운링크) 구성의 경우 nmaxiil의 유효한 값은 각각 9와 true입니다.

  • UL(업링크) 구성의 경우 nmaxiil의 유효한 값은 각각 10과 false입니다.

예제

모두 축소

길이가 K인 랜덤 메시지의 극성 인코딩을 수행합니다. E는 레이트 매칭된 출력의 길이를 지정하며, 이는 인코딩 메시지 enc의 길이와 다릅니다. enc의 길이는 항상 2의 거듭제곱입니다.

K = 132;
E = 300;
msg = randi([0 1],K,1,'int8');
enc = nrPolarEncode(msg,E)
enc = 512x1 int8 column vector

   0
   0
   0
   0
   0
   0
   1
   1
   1
   0
      ⋮

극성 인코딩된 데이터 블록을 송신하고 연속 제거 리스트(Successive-Cancellation List)를 사용하여 데이터를 디코딩합니다.

잡음 분산이 1.0인 가산성 백색 가우스 잡음(AWGN) 채널을 만듭니다.

nVar = 1.0; 
chan = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);

길이가 K인 랜덤 메시지의 극성 인코딩을 수행합니다. 레이팅 매칭된 출력의 길이는 E입니다.

K = 132;
E = 256;
msg = randi([0 1],K,1,'int8');
enc = nrPolarEncode(msg,E);

극성 인코딩된 데이터를 변조합니다.

mod = nrSymbolModulate(enc,'QPSK');

변조된 데이터를 AWGN 채널을 통해 전송합니다.

rSig = chan(mod);

소프트 복조를 수행합니다.

rxLLR = nrSymbolDemodulate(rSig,'QPSK',nVar); 

길이가 L인 연속 제거 리스트 디코더를 사용하여 극성 디코딩을 수행합니다.

L = 8;
rxBits = nrPolarDecode(rxLLR,K,E,L);

AWGN 채널에 의해 발생한 비트 오류의 수를 확인합니다.

numBitErrs = biterr(rxBits,msg);
disp(['Number of bit errors: ' num2str(numBitErrs)])
Number of bit errors: 0

입력 인수

모두 축소

입력 메시지로, 이진 값으로 구성된 열 벡터로 지정됩니다. in은 해당하는 경우 CRC 비트를 포함합니다.

데이터형: double | int8

레이트 매칭된 출력 길이(단위: 비트)로, 양의 정수로 지정됩니다. E는 입력 메시지 in의 길이인 K에 따라 달라집니다.

  • 18 ≤ K ≤ 25인 경우, E의 범위는 K + 3 < E ≤ 8192여야 합니다.

  • K > 30인 경우, E의 범위는 K < E ≤ 8192여야 합니다.

데이터형: double

인코딩된 메시지의 최대 길이의 밑이 2인 로그로, 9 또는 10으로 지정됩니다.

  • DL 구성의 경우 9로 지정합니다.

  • UL 구성의 경우 10으로 지정합니다.

N이 극성 인코딩된 메시지의 길이(단위: 비트)라면 N2nmax입니다. TS 38.212 Section 5.3.1.2[1]를 참조하십시오.

데이터형: double

입력 인터리빙으로, true 또는 false로 지정됩니다.

  • DL 구성의 경우 true로 지정합니다.

  • UL 구성의 경우 false으로 지정합니다.

데이터형: logical

출력 인수

모두 축소

극성 인코딩된 메시지로, 이진 값으로 구성된 열 벡터로 반환됩니다. enc는 입력 메시지 in에서 데이터형을 상속합니다.

극성 인코딩된 메시지의 길이 N은 2의 거듭제곱입니다. 자세한 내용은 TS 38.212 Section 5.3.1을 참조하십시오.

  • DL 구성의 경우 N ≤ 512입니다.

  • UL 구성의 경우 N ≤ 1024입니다.

데이터형: double | int8

참고 문헌

[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network..

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2018b에 개발됨