

\section{Introduction}
Digital pre-distortion (DPD) is a key element of the transmitter digital signal processing specially for short-reach applications where the transceiver impairments are more limiting factors. DPD aims to maximize the performance
by compensating the non-ideal response of the transmitter components. Various DPD methods have been so far investigated for 
optical coherent transmitters, e.g. \cite{NAPOLI201852, Yoffe, BajajECOC2020, Paryanti, Faig}. Among them, Volterra series-based DPD methods are quite popular because they are simple to implement and their nonlinear terms are easy to interpret.

A DPD method is usually trained iteratively using either a ``direct learning'' architecture (DLA)~\cite{Eun} or an ``indirect learning'' architecture (ILA)~\cite{Lim}. In ILA, the DPD is trained first as post-equalizer but then it is applied for DPD. 
Although ILA is straightforward, it has limited performance when the nonlinear response is strong or the SNR is low~\cite{Morgan}. DLA does not have these limitations as it learns the pre-inverse but it is more complex to train.
It requires a differentiable surrogate model that approximates the nonlinear response of the system well. An immediate option is to use another Volterra series as surrogate model. However, this option did not get much attention in the past as ``passing'' gradients through a general and flexible model is complex to implement. By applying some approximation in the gradient computation, a simplified version called ``nonlinear filtered-x LMS'' was proposed~\cite{Lim} but this method is still not so easy to use and is penalized by approximations.
A surrogate model should be flexible for extension, have generalization capability over the training sequence, and be easy to use for ``back propagation'' of gradients. Neural networks (NN) have all these properties. They are flexible and suitable for back-propagation due to their modular and multi-layered structure.
They are also well-known for their generalization capability. 
Note that NNs can be also used for DPD, e.g. ~\cite{BajajECOC2020, Paryanti}, but these DPDs are more difficult to interpret and can be computationally complex. Thus, a simpler DPD based on Volterra series can be preferable.
In this paper, we propose to take the best from the both i.e. suitability of NNs to serve as surrogate model and simplicity of Volterra series-based DPD. We show that this new architecture is quite powerful.
We compare its performance with the same Volterra-DPD trained with ILA and with an optimized linear DPD (as a reference of nonlinearity) in simulation.
The considerable SNR gains of this new architecture is quantified for different nonlinearity responses of transmitter.

\section{Simulation setup}
A coherent optical transmitter is modelled as a cascade of digital to analog converters (DACs), driver amplifiers (DAs), a Mach-Zehnder modulator (MZM) and an additive white Gaussian noise (AWGN) source as shown in Fig.~\ref{fig: setup}.
The DACs and the  DAs are simulated as cascades of linear and nonlinear responses, based on the measured linear response of the experimental setup reported in~\cite{BajajECOC2020}. Additionally,
the DAC is impaired by ideal 8-bits quantization and the nonlinear response of the DAs is modelled using the Rapp model~\cite{Paryanti
\begin{equation}
    v_{\rm out} = v_{\rm in}/\sqrt[4]{ 1 + \left(v_{\rm in}/v_{\rm sat} \right)^{4}}
   
\end{equation}
where, $v_{\rm in}$, $v_{\rm out}$, $v_{\rm sat}$ are the input, the output and the saturation voltage of the DA.
The nonlinearity of the DA can be controlled by the back-off parameter~\cite{Paryanti}, $\text{back-off [dB]} = 20 \log_{10}(v_{\rm rms}/v_{\rm sat})$
in which $v_{\rm rms}$ is the root mean square value of the input voltage. This back-off parameter definition can also be applied for the DACs and MZM where $v_{\rm sat}$ will be the full scale voltage for DACs or the operating range for the MZM. The back-off values of the DACs and MZMs were fixed to 10 dB and 20 dB, respectively, in order to avoid strong clipping at the DACs and nonlinearity from the MZM. The MZM is modelled as a sinusoidal response, as given in~\cite{Paryanti} with a gain and a phase imbalance of 1\% and $1^\circ$ respectively.
The transmit signal is a 2sps upsampled 64-QAM signal, shaped using a 64-taps root raised cosine (RRC) filter of roll-off 0.25. The pulse-shaped signal is pre-distored by applying any of the considered DPDs and fed to the DACs. The noisy output signal from the transmitter is then matched filtered and downsampled to 1 sps to extract symbols at the receiver. Later, the normalized mean square error (NMSE) and generalized mutual information (GMI) between the received and the transmit symbols is measured.
\begin{figure}[!t]
\centering
\includegraphics[scale=0.75]{block_diagram_final.pdf}
\vspace{-0.3cm}
  \caption{\small A schematic of 64 GBaud 64-QAM simulation setup (top). The training of the DPD using direct learning architecture (DLA): step 1: training of auxiliary NN (middle) and step 2: training of DPD NN with help of auxiliary NN (bottom). Architecture of the Volterra-DLA NN (bottom-left)}
  \label{fig: setup}
  \vspace{-0.8cm}
\end{figure}

We considered three different DPDs in our study: a linear filter with 121 taps memory, Volterra series-based DPDs trained using ILA and DLA, referred next as Volterra-ILA and Volterra-DLA, respectively. A Volterra series up to fifth order was considered. The first order kernel has 121 taps memory. The third order kernels have memory of 10 and depth of 4. The second, fourth and fifth order kernels have memory of 3 and depth 0. 
The linear DPD and Volterra-ILA were trained using ILA using a least mean square approach. The training of the Volterra-DLA is explained in the next section along with its implementation in the NN framework.

\section{DLA Volterra-based DPD and Simulation Results}
The Volterra series-based DPD was designed as a feature mapper (Volterra terms generator) followed by a single layer NN, with single output neuron without any activation, as shown in Fig.~\ref{fig: setup}. The feature mapper takes the real or the imaginary part of the pulse shaped signal as input and maps it into all possible Volterra series terms. The NN takes these Volterra terms as input and produces a predistorted output. The feature length (i.e. the number of neurons in the first layer of the NN) is defined by the Volterra kernels. The Volterra kernels has the same size as described in the previous section. Two disjoint feature mappers and NNs implements the Volterra-DLA DPD for in-phase and quadrature-phase tributary. A batch normalization is performed at the output of the NN. The DPD NN was trained by using another NN which serves as surrogate/auxiliary channel, referred hereafter as auxiliary NN.
We used our previously proposed architecture for the auxiliary NN model~\cite{BajajECOC2020}, but, with the lengths of the first and the last convolution layers changed to 70 and 40 respectively. 

The training of the Volterra-DLA DPD and the auxiliary NN was done in two steps as shown in Fig.~\ref{fig: setup} and also explained in~\cite{BajajECOC2020}. In the first step, the auxiliary NN was trained by using the pre-distorted signal $z$ and noisy received signal $y$ to minimize the mean square error loss between the upsampled waveform. In the second step, the cascaded NN (DPD followed by the auxiliary) is trained, where, only the DPD NN is trainable and the auxiliary is kept fixed. The pulse-shaped signal $x$ and the transmit symbols were used for training in the second step. We have also implemented a matched filtering layer and downsampling layer in the loss computation such that the task is to minimize the mean square error (MSE) loss between the symbols instead of upsampled waveform. 



The back-off parameter of the driver amplifiers were varied to 7 dB, 5 dB and 3 dB respectively in order to create scenarios with weak, mild and strong nonlinearity. At each back-off value, the SNR of the AWGN source is varied and all the considered DPDs were trained.
Fig.~\ref{fig:snr_vs_gmi_16qam} shows the NMSE values achieved by different DPDs. We see that when the transmitter is weakly nonlinear (back-off=7 dB), the penalty due to nonlinearity is not significant. The linear DPD achieves an NMSE of around -20.3 dB at 18 dB SNR. The nonlinear DPDs, Volterra-ILA and Volterra-DLA achieves 0.4 dB and 0.6 dB smaller NMSE than the linear DPD, respectively. 
In the mildly nonlinear regime (back-off = 5dB), the NMSE with linear DPD degrades by 1 dB to -19.3 dB at 18 dB SNR. The NMSE with Volterra-ILA and Volterra-DLA degrades by 0.4 dB and 0.1 dB from the weakly nonlinear case at 18 dB SNR, achieving -20.4 dB and -20.8 dB NMSE, respectively.
In the highly nonlinear regime (back-off = 3dB), the difference in the performance of the Volterra-ILA and the Volterra-DLA increases. The Volterra-ILA gives -19.5 dB NMSE, while Volterra-DLA gives -20.5 dB NMSE (1 dB less than Volterra-ILA). The linear DPD results in an NMSE of -17.7 dB. When comparing the strongly nonlinear case with the mildly nonlinear case at 18 dB SNR, we see that the NMSE degradation is 1.6 dB, 0.9 dB and 0.3 dB respectively for the linear, Volterra-ILA and Volterra-DLA DPD.

\begin{figure}[!t]
  \begin{minipage}[b]{0.33\textwidth}
\input{snr_nmse_64qam_7dB}  
  \end{minipage}
  \begin{minipage}[b]{0.33\textwidth}
\input{snr_nmse_64qam_5dB}
  \end{minipage}
  \begin{minipage}[b]{0.33\textwidth}
\input{snr_nmse_64qam_3dB}
  \end{minipage}  
\vspace{-1.2cm}
\end{figure}
\begin{figure}[!t]
  \begin{minipage}[b]{0.65\textwidth}
\input{GMI_64qam_all}  
  \end{minipage}
  \begin{minipage}[b]{0.35\textwidth}
    \input{histograms}
  \end{minipage}
  \caption{\small (a)-(c) NMSE of the received signal vs channel SNR for different nonlinearity of the DAs. (d) GMI vs. SNR for different back-off values. The colors and markers are the same in all plots. Histograms of the real part    of the received symbols (e) Volterra-ILA (f) Volterra-DLA.}
\vspace{-0.6cm}  
 \label{fig:snr_vs_gmi_16qam}
\end{figure}
We further plot the GMI performance of each DPDs for the three different cases in Fig.~\ref{fig:snr_vs_gmi_16qam}(d). Unlike other DPDs, we see that GMI degradation for the Volterra-DLA DPD is negligible when nonlinearity is boosted up. At 18 dB SNR, the Volterra-ILA achieves GMI of 5.71 bits and 5.82 bits for back-off of 5 dB and 3 dB, respectively. These value for the Volterra-DLA are 5.87 bits and 5.85 bits respectively.
In Fig.~\ref{fig:snr_vs_gmi_16qam}(e) and (f), we show the histograms of the real part of the received symbols for Volterra-ILA and Volterra-DLA, respectively. We see that with Volterra-DLA Fig.~\ref{fig:snr_vs_gmi_16qam}(f), the signal levels are intact and not spread in contrast to the case with Volterra-ILA Fig.~\ref{fig:snr_vs_gmi_16qam}(e).



 











\section{Conclusion}
In this paper, we presented a simplified method for direct learning of Volterra series-based DPD. The method could also be applied to other DPDs such as memory polynomials. Using simulations, we showed the superior performance of our learning method in comparison to that of ILA providing around 1 dB extra NMSE gain.


\textit{This work was carried out under the EU Marie Sk{\l}odowska-Curie project FONTE (No. 766115)}.

{
\small



