FPGA Implementation of Deep Neural Network Based Equalizers for High-Speed PON
贝尔实验室的文章
使用FPGA的目的是实现算法实时性,但是这篇文章接收信号的ADC是示波器,然后信号直接存入FPGA,所以并没有真正实现实时
部署在FPGA上的固定节点的神经网络均衡器接收机灵敏度性能要优于MLSE均衡器在下行50G PON场景下。
色散产生了接收信号的非线性
神经网络结构
OOK信号 全连接 ReLU函数 输出层节点数为2的时候,不是one-hot的方案,而是并行处理两个symbol,引文[5]
实验装置
PRBS15
中心波长:1342nm(有色散)
光纤长度:30km
色散积累量:83ps/nm
DAC:88GS/s 8bit
exact data rate:50.2857Gb/s
接收端眼图畸变严重,因为带限和色散
测量数据以及权值和偏置值先存储在SD卡存储器中,然后读入DDR4存储器,最后装入FPGA fabric进行在线DNN处理。Petalinux是Xilinx FPGA上的嵌入式Linux,它被用作操作系统(OS)来处理存储器、存储器和FPGA结构之间的数据流,以及用户命令的接口。
使用PRBS15不会出现神经网络过拟合的情况,因为同时处理两个信号,只要输出层节点数小于28就行。
DSP:
MLSE抽头个数 6
DNN均衡结果和FPGA资源利用情况
sensitivity penalty | DNN 1 outperforms MLSE BER=1×10-2 | DNN 1 outperforms DNN 2 BER=1×10-3 |
30km | 0.7dB | 0.6dB |
BTB | 0.2dB |
|
使用并行方案penalty很小,再增加输出节点数(超过2)性能就变差了。
为了增加处理速率,四个DNN同时处理数据,表1里面是DNN1和DNN2的资源利用率比较,结论是DNN2没占太多资源但是速率快一倍。
时钟是325MHz,有4个并行的NN,然后一个NN处理2个symbol,所以速率就是2.6Gb/s,就是上面灰色表格的速率,文章中说需要20个这样的网络并行实现50G PON,但是并不清楚有没有做出来,有可能只是表面这样做是可行的,但并没有实现。