一、傳輸塊CRC附加
(一) 方法步驟
通過循環冗余校驗(CRC)在每個傳輸塊上提供錯誤檢測。
整個傳輸塊用於計算CRC奇偶校驗比特。傳送到層1的傳輸塊比特記為\(a_{0}, a_{1}, a_{2}, a_{3}, \dots, a_{A-1}\),奇偶校驗比特記為\(p_{0}, p_{1}, p_{2}, p_{3}, \dots, p_{L-1}\),其中\(A\)是有效載荷的大小,\(L\)是校驗比特的位數。最低階信息位\(a_{0}\)被映射到傳輸塊的最有效位。
奇偶校驗位根據協議所述規則計算並附加到DL-SCH傳輸塊。當\(A>3824\)時,設置\(L\)為24比特,並使用生成多項式\(g_{\mathrm{CRC} 24 \mathrm{A}}(D)\);否則,設置\(L\)為16比特,並使用生成多項式\(g_{\mathrm{CRCl} 6}(D)\)。
CRC附加之后的比特記為\(b_{0}, b_{1}, b_{2}, b_{3}, \ldots, b_{B-1}\),其中\(B=A+L\)。
(二)流程圖
二、碼塊分割及CRC附加
(一)方法步驟
碼塊分割的輸入比特序列記為\(b_{0}, b_{1}, b_{2}, b_{3}, \dots, b_{B-1}\),其中\(B>0\)。如果\(B\)大於最大碼塊長度\(K_{\mathrm{cb}}\),則需要進行碼塊分割,並對分割后得到的各個碼塊添加24比特CRC校驗序列。
碼塊分割的輸出比特記為\(c_{r 0}, c_{r 1}, c_{r 2}, c_{r 3}, \dots, c_{r\left(K_{r}-1\right)}\),其中\(0 \leq r<C\)表示碼塊編號,\(K_{r}=K\)表示每個碼塊中的比特數。
1.確定最大碼塊長度\(K_{\mathrm{cb}}\)
- 對於BG1,最大碼塊長度為:\(K_{\mathrm{cb}}=8448\)
- 對於BG2,最大碼塊長度為:\(K_{\mathrm{cb}}=3840\)
2.確定碼塊數\(C\)
- 當\(B \leq K_{\mathrm{cb}}\)時,不需要進行碼塊分割,即碼塊數\(C=1\),碼塊長度\(B^{\prime}=B\),不添加CRC,\(L=0\)。
- 當\(B\)超過\(K_{\mathrm{cb}}\)時,需要進行碼塊分割,碼塊數\(C=\left\lceil B /\left(K_{c b}-L\right)\right\rceil\),(5G NR規定采用等長分割),分割之后總的傳輸塊長度為\(B^{\prime}=B+C \cdot L\),\(L=24\)。
3.確定每個碼塊中的比特數\(K\)
- \(K^{\prime}=B^{\prime} / C\);
- 對於BG1,\(K_{b}=22\);對於BG2,需要根據\(B\)的大小決定:當\(B>640\)時,\(K_{b}=10\);當\(B>560\)時,\(K_{b}=9\);當\(B>192\)時,\(K_{b}=8\);否則,\(K_{b}=6\) 。然后,根據表5.3.2-1找到最小的\(Z\)值(用\(Z_{c}\)表示),使其滿足\(K_{b} \cdot Z_{c} \geq K^{\prime}\),並令\(K=22 Z_{c}\)(對於BG1),或者\(K=10 Z_{c}\)(對於BG2)。
4.計算碼塊分割及CRC添加后的比特序列\(\mathcal{C}_{r k}\)
- 當不分割時,不添加CRC。
- 當碼塊數\(C>1\)時,輸入序列根據碼塊數進行等長分割,每段根據生成多項式\(g_{\mathrm{CRC} 24 \mathrm{B}}(D)\)計算CRC校驗序列,並分別附加在各段之后。
- 最后在剩余的位置插入填充比特\(c_{r k}=<N U L L>\)。
(二)流程圖
三、LDPC編碼
(一)方法步驟
碼塊被傳送到信道編碼模塊。碼塊中的比特記為\(\mathcal{C}_{r 0}, \mathcal{C}_{r 1}, \mathcal{C}_{r 2}, \mathcal{C}_{r 3}, \ldots, \mathcal{C}_{r}\left(K_{r}-1\right)\),其中\(r\)表示碼塊編號,\(K_{r}\)表示碼塊\(r\)中的比特數。碼塊總數記為\(C\),每個碼塊單獨進行LDPC編碼。
編碼后的比特記為\(d_{r 0}, d_{r 1}, d_{r 2}, d_{r 3}, \ldots, d_{r\left(N_{r}-1\right)}\)。
(二)流程圖
偽代碼如下:
輸入:in-待編碼的碼塊段;bgn-基圖編號(1或2)
輸出:out-LDPC編碼后的結果
1)根據bgn取值和輸入碼塊段長度確定Zc,根據bgn及Zc確定編碼后的輸出比特長度N;
2)將輸入中由-1表示的每個填充位替換為0;
3)編碼生成完整的LDPC碼字
根據Zc的值確定索引值setIdx,38.212表5.3.2-1;
根據bgn和setIdx確定校驗矩陣V,38.212表5.3.2-2和表5.3.2-3;
根據V矩陣和ZC計算移位矩陣P,P=mod(V, ZC);
for每個碼塊段:
計算校驗比特位;
生成完整LDPC碼字
end for
4)將每個填充位再次替換為-1;
5)截斷前2*Zc個比特,得到最后輸出結果out。
四、速率匹配
(一)方法步驟
每個碼塊編碼后的比特記為\(d_{r 0}, d_{r 1}, d_{r 2}, d_{r 3}, \ldots, d_{r\left(N_{r}-1\right)}\),被傳送到速率匹配模塊,其中\(r\)表示碼塊編號,\(N_{r}\)表示碼塊\(r\)中編碼后的比特數。碼塊總數記為\(C\),每個碼塊單獨進行速率匹配,設置\(I_{L B R M}=1\)。
速率匹配后的比特記為\(f_{r 0}, f_{r 1}, f_{r 2}, f_{r 3}, \ldots, f_{r\left(E_{r}-1\right)}\),其中\(E_{r}\)表示碼塊\(r\)速率匹配后的比特數。
(二)流程圖
五、碼塊連接
(一)方法步驟
碼塊連接模塊的輸入比特序列是序列\(f_{r 0}, f_{r 1}, f_{r 2}, f_{r 3}, \ldots, f_{r\left(E_{r}-1\right)}\),\(r=0, \ldots, C-1\),其中\(E_{r}\)表示第\(r\)個碼塊速率匹配后的比特數。碼塊連接模塊的輸出比特序列是序列\(g_{0}, g_{1}, g_{2}, g_{3}, \dots, g_{G-1}\),其中\(G\)表示用於傳輸的編碼比特的總數。
碼塊連接就是按順序連接不同碼塊速率匹配的輸出。
六、加擾
(一)方法步驟
最多可以傳輸兩個碼字 \(q \in\{0,1\}\) 。在單碼字傳輸的情況下,\(q=0\) 。
對於每個碼字 \(q\) ,UE應假設比特塊 \(b^{(q)}(0), \ldots, b^{(q)}\left(M_{\mathrm{bit}}^{(q)}-1\right)\) 在調制之前被加擾,\(M_{\mathrm{bit}}^{(q)}\) 是在物理信道中傳輸的碼字 \(q\) 的比特數量,根據如下公式產生一個加擾比特塊 \(\tilde{b}^{(q)}(0), \ldots, \tilde{b}^{(q)}\left(M_{\mathrm{bit}}^{(q)}-1\right)\) :
式中,加擾序列 \(c^{(q)}(i)\) 由5.2.1節給出。加擾序列生成器應按照如下公式初始化:
式中,
- \(n_{\mathrm{ID}} \in\{0,1, \ldots, 1023\}\) 等於高層參數dataScramblingIdentityPDSCH(如果配置),並且RNTI等於C-RNTI、MCS-C-RNTI或CS-RNTI,並且在公共搜索空間中不使用DCI格式1_0調度傳輸,
- 否則,\(n_{\mathrm{ID}}=N_{\mathrm{ID}}^{\mathrm{cell}}\)
(二)流程圖
七、調制
(一)方法步驟
對於每個碼字 \(q\) ,UE應假設加擾比特塊 \(\tilde{b}^{(q)}(0), \ldots, \tilde{b}^{(q)}\left(M_{\mathrm{bit}}^{(q)}-1\right)\) 使用下表中的一種調制格式進行調制,產生一個復數值調制符號塊 \(d^{(q)}(0), \ldots, d^{(q)}\left(M_{\mathrm{symb}}^{(q)}-1\right)\) 。
調制格式 | 階數 |
---|---|
QPSK | 2 |
16QAM | 4 |
64QAM | 6 |
256QAM | 8 |
(二)流程圖
八、層映射
(一)方法步驟
UE應假設根據下表將要發送的每個碼字的復數值調制符號映射到一個或多個層上。碼字 \(q\) 的復數值調制符號 \(d^{(q)}(0), \ldots, d^{(q)}\left(M_{\mathrm{symb}}^{(q)}-1\right)\) 應映射到層 \(x(i)=\left[\begin{array}{lll}{x^{(0)}(i)} & {\dots} & {x^{(\nu-1)}(i)}\end{array}\right]^{T}\) 上,\(i=0,1, \ldots, M_{\mathrm{symb}}^{\mathrm{layer}}-1\),式中 \(v\) 是層數,\(M_{\mathrm{symb}}^{\mathrm{layer}}\) 是每層調制符號數。
層數 | 碼字數 | 碼字-層映射$$i=0,1, \ldots, M_{\mathrm{symb}}^{\mathrm{layer}}-1$$ |
---|---|---|
1 | 1 | \(x^{(0)}(i)=d^{(0)}(i)\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)}\) |
2 | 1 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(2 i)} \\ {x^{(1)}(i)=d^{(0)}(2 i+1)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 2\) |
3 | 1 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(3 i)} \\ {x^{(1)}(i)=d^{(0)}(3 i+1)} \\ {x^{(2)}(i)=d^{(0)}(3 i+2)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 3\) |
4 | 1 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(4 i)} \\ {x^{(1)}(i)=d^{(0)}(4 i+1)} \\ {x^{(2)}(i)=d^{(0)}(4 i+2)} \\ {x^{(3)}(i)=d^{(0)}(4 i+3)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 4\) |
5 | 2 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(2 i)} \\ {x^{(1)}(i)=d^{(0)}(2 i+1)} \\ {x^{(2)}(i)=d^{(1)}(3 i)} \\ {x^{(3)}(i)=d^{(1)}(3 i+1)} \\ {x^{(4)}(i)=d^{(1)}(3 i+2)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 2=M_{\mathrm{symb}}^{(1)} / 3\) |
6 | 2 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(3 i)} \\ {x^{(1)}(i)=d^{(0)}(3 i+1)} \\ {x^{(2)}(i)=d^{(0)}(3 i+2)} \\ {x^{(3)}(i)=d^{(1)}(3 i)} \\ {x^{(4)}(i)=d^{(1)}(3 i+1)} \\ {x^{(5)}(i)=d^{(1)}(3 i+2)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 3=M_{\mathrm{symb}}^{(1)} / 3\) |
7 | 2 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(3 i)} \\ {x^{(1)}(i)=d^{(0)}(3 i+1)} \\ {x^{(2)}(i)=d^{(0)}(3 i+2)} \\ {x^{(3)}(i)=d^{(1)}(4 i)} \\ {x^{(4)}(i)=d^{(1)}(4 i+1)} \\ {x^{(5)}(i)=d^{(1)}(4 i+2)} \\ {x^{(6)}(i)=d^{(1)}(4 i+3)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 3=M_{\mathrm{symb}}^{(1)} / 4\) |
8 | 2 | \(\begin{array}{l}{x^{(0)}(i)=d^{(0)}(4 i)} \\ {x^{(1)}(i)=d^{(0)}(4 i+1)} \\ {x^{(2)}(i)=d^{(0)}(4 i+2)} \\ {x^{(3)}(i)=d^{(0)}(4 i+3)} \\ {x^{(3)}(i)=d^{(0)}(4 i)} \\ {x^{(4)}(i)=d^{(1)}(4 i+1)} \\ {x^{(6)}(i)=d^{(1)}(4 i+2)} \\ {x^{(7)}(i)=d^{(1)}(4 i+3)}\end{array}\),\(M_{\mathrm{symb}}^{\mathrm{layer}}=M_{\mathrm{symb}}^{(0)} / 4=M_{\mathrm{symb}}^{(1)} / 4\) |
(二)流程圖
未完待續......