NR DLSCH参数选择规则

根据38.212,DLSCH所涉及参数如下

CRC - CRC polynomial selection ('16' or '24A')

L  - Number of CRC bits (16 or 24)

BGN - LDPC base graph selection (1 or 2)

C  - Number of code blocks

Lcb - Number of parity bits per code block (0 or 24)

F  - Number of filler bits per code block

Zc  - Lifting size selection

K  - Number of bits per code block after CBS

N  - Number of bits per code block after LDPC coding

1. LDPC Base Graph Selection(BGN)

Base graph number 2 is used if payload size A <= 292 or if rate <= 0.25 or if (payload size <= 3824, rate <=0.67). Else base graph number 1. Refer 3GPP 38.212 7.2.2 LDPC base graph selection.

Note: payload size is TBS not including CRC size.

3GPP 38.212 7.2.2 LDPC base graph selection


Base Graph Selection

% LDPC base graph selection

    if A <= 292 || (A <= 3824 && R <= 0.67) || R <= 0.25

      bgn = 2;

    else

      bgn = 1;

    end

2. CRC Selection(L)

Refer 3GPP 38.212 7.2.1 Transport block CRC attachment

The parity bits are computed and attached to the DL-SCH transport block according to Clause 5.1, by setting L  to 24 bits and using the generator polynomial Gcrc24 if A>3824;and by setting L to16bits and using the generator polynomial Gcrc16 otherwise.(A is payload size)

if A > 3824

      L        = 24;

      info.CRC = '24A';

    else

      L        = 16;

      info.CRC = '16';

    end

3. Number of codeblocks (C and Lcb)

Refer 38.212 5.2.2

(1)确定Kcb,即最大CB块

if bgn == 1

      Kcb = 8448;

    else

      Kcb = 3840;

    end

(2)确定CB块数C和包含分块CRC的总长度B‘

if B <= Kcb

      Lcb = 0;

      C = 1;

      Bd = B;

    else

      Lcb = 24; % Length of the CRC bits attached to each code block

      C = ceil(B/(Kcb-Lcb));

      Bd = B+C*Lcb;

    end

4. Code block Size(K) and Zc and Null Filler (F)

Refer 38.212 5.2.2

(1)确定每个CB的原始大小Kd,Kd不包含填充比特(null filler)

Kd = ceil(Bd/C);

(2)确定Kb


if bgn == 1

      Kb = 22;

    else

      if B > 640

        Kb = 10;

      elseif B > 560

        Kb = 9;

      elseif B > 192

        Kb = 8;

      else

        Kb = 6;

      end

    end

(3)确定Zc,在Z的集合中找到最小的Z使其满足Kb*Zc>=Kd

(4)确定K

Zlist = [2:16 18:2:32 36:4:64 72:8:128 144:16:256 288:32:384];

    Zc =  min(Zlist(Kb*Zlist >= Kd));

if bgn == 1

      K = 22*Zc;

    else

      K = 10*Zc;

    end

(5)确定F,原始CB长度Kd填充后等于最终CB长度K

F = K-Kd

5.LDPC输出长度N


if BGN == 1

        N = 66*Zc;

    else

        N = 50*Zc;

    end

你可能感兴趣的:(NR DLSCH参数选择规则)