On the Implementation of 5G LDPC Decoder
-
摘要: 该文介绍了5G标准中LDPC码的特点,比较分析了各种译码算法的性能,提出了译码器实现的总体架构:将译码器分为高速译码器和低信噪比译码器。高速译码器适用于码率高、吞吐率要求高的情形,为译码器的主体;低信噪比译码器主要针对低码率、低信噪比下的高性能译码,处理一些极限情形下的通信,对吞吐率要求不高。分别对高速译码器和低信噪比译码器进行了设计实践,给出了FPGA综合结果和吞吐率分析结果。Abstract: This paper focuses on the Low-Density-Parity-Check (LDPC) decoder for 5G New Radio (NR) specification. After introducing the characteristics of the LDPC code in 5G NR, the performance of different decoding algorithms are compared, and then the overall architecture of the decoder is proposed. In the proposed architecture, the decoder is divided into high-speed decoder and high-performance decoder. The high-speed decoder is intended for high-rate and high throughput decoding, while the high-performance decoder is used for low-rate decoding under low Signal-to-Noise-Ratio (SNR) scenarios, which is for communications under extremely bad situations, and does not need a high throughput. The design is implemented on Field Programmable Gate Array (FPGA) and the results are shown.
-
Key words:
- 5G Mobile Communications /
- LDPC /
- Decoder /
- Field Programmable Gate Array (FPGA)
-
表 1 准循换子码块长度取值
集指数 (${i_{\rm LS} }$) 子码块大小集合 ($Z$) 0 {2, 4, 8, 16, 32, 64, 128, 256} 1 {3, 6, 12, 24, 48, 96, 192, 384} 2 {5, 10, 20, 40, 80, 160, 320} 3 {7, 14, 28, 56, 112, 224} 4 {9, 18, 36, 72, 144, 288} 5 {11, 22, 44, 88, 176, 352} 6 {13, 26, 52, 104, 208} 7 {15, 30, 60, 120, 240} 表 2 译码算法
初始化$\forall i,j$,${L^0}\left( {{q_i}} \right) = 2{y_i}/{\sigma ^2}$,${L^0}\left( {{r_{ji}}} \right) = 0$; For 迭代次数$l$ For 每一个校验节点$j$ ${\rm{idx}}$= 与校验节点$j$相连的所有变量节点坐标; ${L_{{\rm{in}}}} = {L^{l - 1}}\left( {{q_{{\rm{idx}}}}} \right) - {L^{l - 1}}\left( {{r_{j,{\rm{idx}}}}} \right)$;//去掉自身产生的外信息 ${L_{ {\rm{out} } } } = A\lg \,{\rm orithm}\,\left( { {L_{ {\rm{in} } } }} \right)$;//变量节点对校验节点的更新 ${L^l}\left( {{q_{{\rm{idx}}}}} \right) = {L_{{\rm{in}}}} + {L_{{\rm{out}}}}$;//变量节点更新 ${L^l}\left( {{r_{j,{\rm{idx}}}}} \right) = {L_{{\rm{out}}}}$;//外信息更新 End $\forall i$, ${d_i} = {L^l}\left( { {q_i} } \right) > 0$; If $Hd = = 0$ Break; end end 表 3 变量节点对校验节点更新方式
序号 算法名称 更新方式 1 log-bp(BP) $L_{{\rm{out}}}^{{\rm{log - bp}}}\left( {{r_{ji}}} \right) = 2{\tanh ^{ - 1}}\left( {\prod\limits_{{i'} \in {V_j}\backslash i} {\tanh \left( {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)/2} \right)} } \right)$ 2 MSA $L_{{\rm{out}}}^{{\rm{MSA}}}\left( {{r_{ji}}} \right) = \prod\limits_{{i'} \in {V_j}\backslash i} {{\rm{sgn}} \left( {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right)} \bullet \mathop {\min }\limits_{{i'} \in {V_j}\backslash i} \left( {\left| {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right|} \right)$ 3 Offset MSA(OMSA) $L_{{\rm{out}}}^{{\rm{Offset}}}\left( {{r_{ji}}} \right) = \prod\limits_{{i'} \in {V_j}\backslash i} {{\rm{sgn}} \left( {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right)} \bullet \max \left( {\mathop {\min }\limits_{{i'} \in {V_j}\backslash i} \left( {\left| {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right|} \right) - \beta ,0} \right)$ 4 Normalized MSA(NMSA) $L_{{\rm{out}}}^{{\rm{Norm}}}\left( {{r_{ji}}} \right) = \alpha \prod\limits_{{i'} \in {V_j}\backslash i} {{\rm{sgn}} \left( {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right)} \bullet \mathop {\min }\limits_{{i'} \in {V_j}\backslash i} \left( {\left| {{L_{{\rm{in}}}}\left( {{q_{{i'}j}}} \right)} \right|} \right)$ 表 4 通道实现复杂度
序号 算法 组合逻辑 寄存器 存储器(bit) 1 log-bp 447 85 768 2 MSA, Offset MSA, Normalized MSA 222 58 0 表 5 译码器的FPGA实现结果
序号 模块 组合逻辑 寄存器 存储器(bit) 最大时钟频率(MHz) 资源占用比例(%) 1 高速译码加速器(含存储器) 124457 50515 393216 112.74 74 2 log-bp译码加速器 10901 1937 18432 97.59 5 表 6 译码器吞吐率(Mbps)
序号 模块\码率 1/5 1/2 5/6 9/10 1 高速译码加速器(含存储器) 29.94 119.74 598.69 1077.60 2 log-bp译码加速器 2.84 11.37 56.85 102.34 -
3GPP TS 38.212 v15.2.0(2018-06) Technical Specification Group Radio Access Network; NR; Multiplexing and Channel Coding (Release 15) [S]. 2017. BAE J H, ABOTABL A, LIN H P, et al. An overview of channel coding for 5G NR cellular communications[J]. APSIPA Transactions on Signal and Information Processing, 2019, 8: e17. doi: 10.1017/ATSIP.2019.10 欧阳成. 深空通信中LDPC码编码方法研究[D]. [硕士论文], 西安电子科技大学, 2009. 王博. 低信噪比卫星通信中的编码与解调技术研究[D]. [硕士论文], 杭州电子科技大学, 2013. 朱文君. 实数域上的无速率码构造[D]. [硕士论文], 西安电子科技大学, 2015. HAMIDI-SEPEHR F, NIMBALKER A, and ERMOLAEV G. Analysis of 5G LDPC codes rate-matching design[C]. The IEEE 87th Vehicular Technology Conference, Porto, Portugal, 2018: 1-5. doi: 10.1109/VTCSpring.2018.8417496. 白薇. 5G通信系统中LDPC编译码器的设计与实现[D]. [硕士论文], 西安电子科技大学, 2018. 康丁文. 5G通信系统中高效LDPC译码技术研究[D]. [硕士论文], 西安电子科技大学, 2019. 黄福威. 5G-LDPC码编译码器设计与FPGA实现技术研究[D]. [硕士论文], 西安电子科技大学, 2019. 黄海艺. 低密度奇偶校验(LDPC)码改进译码算法研究[D]. [博士论文], 华南理工大学, 2013. 田宇. QC-LDPC码构造及其译码研究[D]. [硕士论文], 西安电子科技大学, 2015. 邓堤峡. 面向5G通信的LDPC码译码算法研究[D]. [硕士论文], 西安电子科技大学, 2018. ZHOU Yangcan, LIN Jun, and WANG Zhongfeng. Efficient approximate layered LDPC decoder[C]. 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, USA, 2017: 1–4. doi: 10.1109/ISCAS.2017.8050908. WU Xiaoning, JIANG Ming, ZHAO Chunming. Decoding optimization for 5G LDPC codes by machine learning[J]. IEEE Access, 2018, 6: 50179–50186. doi: 10.1109/ACCESS.2018.2869374 DIVSALAR D, DOLINAR S, JONES C R, et al. Capacity-approaching protograph codes[J]. IEEE Journal on Selected Areas in Communications, 2009, 27(6): 876–888. doi: 10.1109/JSAC.2009.090806 安宁. 兼容DVB-S2X标准的全速率高速LDPC译码器设计与FPGA实现[D]. [硕士论文], 西安电子科技大学, 2016. 刘冬培. DVB-S2标准中LDPC码的编译码算法研究与实现[D]. [硕士论文], 国防科学技术大学研究生院, 2008. 袁建国. 高速超长距离光通信系统中超强FEC码型的研究[D]. [博士论文], 重庆大学, 2007.