In this work, we demonstrate the offline FPGA realization of both recurrent and feedforward neural network (NN)-based equalizers for nonlinearity compensation in coherent optical transmission systems. First, we present a realization pipeline showing the conversion of the models from Python libraries to the FPGA chip synthesis and implementation. Then, we review the main alternatives for the hardware implementation of nonlinear activation functions. The main results are divided into three parts: a performance comparison, an analysis of how activation functions are implemented, and a report on the complexity of the hardware. The performance in Q-factor is presented for the cases of bidirectional long-short-term memory coupled with convolutional NN (biLSTM + CNN) equalizer, CNN equalizer, and standard 1-StpS digital back-propagation (DBP) for the simulation and experiment propagation of a single channel dual-polarization (SC-DP) 16QAM at 34 GBd along 17x70km of LEAF. The biLSTM+CNN equalizer provides a similar result to DBP and a 1.7 dB Q-factor gain compared with the chromatic dispersion compensation baseline in the experimental dataset. After that, we assess the Q-factor and the impact of hardware utilization when approximating the activation functions of NN using Taylor series, piecewise linear, and look-up table (LUT) approximations. We also show how to mitigate the approximation errors with extra training and provide some insights into possible gradient problems in the LUT approximation. Finally, to evaluate the complexity of hardware implementation to achieve 400G throughput, fixed-point NN-based equalizers with approximated activation functions are developed and implemented in an FPGA.
翻译:在这项工作中,我们展示了FPGA在连续光学传输系统中实现常规和饲料向向神经网络(NN)等离线化后,在连续光学传输系统中实现非线性补偿。首先,我们展示了将模型从Python图书馆转换为FPGA芯片合成和实施的实现管道。然后,我们审查了非线性激活功能硬件实施的主要替代方法。主要结果分为三个部分:业绩比较、如何执行激活功能分析,以及硬件的复杂度报告。Qfacal的功能是用于在连贯的光学传输系统中实现非线性补偿的不线性平衡补偿。Qfacal-al-alforal-al-lority 的功能是双向长期-线性补偿的双向-线性补偿。在运行一个双向双向双向双向双向双向双向启动的双向启动功能,BLTTM+CNQerizeral在运行期间将一个类似的结果进行,在运行时,在运行的轨道上,在运行的轨道上,在运行后,我们将一个直径端-直径端-直端-直端的SBBBCS-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-laxxxxxxxxx的运行中,在运行中,在运行中,在运行中,在运行中,在运行中,在运行中,在运行中,在运行后,在运行后,在运行后,我们方-al-xxxxxxxxxxx-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-al-