## 3 The Algorithm
The time-domain complex base-band OFDM signal can be expressed as:  
\[x[n]=\frac{1}{\sqrt{N}}\sum_{k=0}^{N}S_{k}\exp(\frac{2\pi mk}{N}), \tag{6}\]  
Figure 3: QPSK and DCM ACE processing. where \(S_{k}\) is the complex modulated symbol at kth sub-carrier (usually M-QAM), and \(N\) is the number of sub-carriers. In order to obtain a modified low PAPR version of \(x[n]\), we use an NN. The feed-forward network is one of the most used classes between several ANN architectures. It has one or more hidden layers using nonlinear functions and an output layer with linear functions. These ANNs are known as Multi Layer Perceptrons (MLPs) trained with different algorithms where the Levenberg-Marquardt one has been used to optimize the Backpropagation training technique so as to get fast and good convergence. The idea is that the NN learns how to obtain low PAPR signals from original OFDM symbols. Thus, the NN is trained showing as input the original OFDM symbol and as output the desired low PAPR signal obtained with ACE-AGP algorithm. However, as explained in [11], this trainee must be carried out in the time and frequency domain at the same time because there is relevant information in both domains. From the time-domain signal, the NN learns about how the low PAPR signals look but from the frequency-domain, the NN acquires the knowledge of the allowable regions where constellation points can be moved. Thus, we need to train the NN architecture, simultaneously in both domains. This procedure is described as follows [11]:  
1. Use the original time-domain data \(x\) as input to the ACE-AGP algorithm to obtain \(x^{ACE}\), i.e., a signal with reduced envelope fluctuations. 2. Decompose the original data \(x\) into real and imaginary parts (\(x_{Re}\),\(x_{Im}\)), and the ACE-AGP output \(x^{ACE}\) into (\(x_{Re}^{ACE}\),\(x_{Im}^{ACE}\)). 3. Train the time-domain models NNT by using signals \([x_{Re},x_{Re}^{ACE}]\) and \([x_{Im},x_{Im}^{ACE}]\) to obtain the real and imaginary NN models: \(NNT_{Re}\) and \(NNT_{Im}\). 4. Obtain \(x_{Re}^{NNT}\) and \(x_{Im}^{NNT}\) by using the former NN models with input signals \(x_{Re}\) and \(x_{Im}\). 5. Apply FFT on \(x_{Re}^{NNT}\) and \(x_{Im}^{NNT}\) to obtain the frequency-domain signal \(X^{NNF}\). 6. Split the training samples \(X^{NNF}\) in the four constellation regions in order to train eight NNs. We will divide the signal in two sets: 1 st set concerning real parts and 2 nd set concerning the imaginary parts, as it can be seen in Figure 4.
7. Train the first set of NNs by \(X_{Re}^{NNF}\) to generate the NN models in time-domain \(NNF_{RE,1}\), \(NNF_{RE,2}\), \(NNF_{RE,3}\) and \(NNF_{RE,4}\) for each quadrant. 8. Train the second set of NNs by \(X_{Im}^{NNF}\) to generate the NN models in frequency-domain \(NNF_{Im,1}\), \(NNF_{Im,2}\), \(NNF_{Im,3}\) and \(NNF_{Im,4}\) for each quadrant. This training procedure is depicted in Figure 4. It should be highlighted that, once the NNs are trained offline, the ACE algorithm is not used anymore [11]. Once the NN is trained offline, the procedure for obtaining the low PAPR signals from the original OFDM symbol in one shot is the following:  
1. Decompose the original time-domain signal \(x\) into real and imaginary parts (\(x_{Re}\),\(x_{Im}\)). 2. Feed \(x_{Re}\) and \(x_{Im}\) into the already off-line trained neural networks \(NNT_{Re}\) and \(NNT_{Im}\), respectively, to obtain \(x_{Re}^{NNT}\) and \(x_{Im}^{NNT}\). 3. Apply FFT on \(x_{Re}^{NNT}\) and \(x_{Im}^{NNT}\) to obtain the frequency-domain signal \(X^{NNF}\). 4. Separate the obtained \(X^{NNF}\) in the four constellation regions. 5. Feed with these signals to the eight frequency-domain Neural networks \(NNF_{RE,1}\), \(NNF_{RE,2}\), \(NNF_{RE,3}\), \(NNF_{RE,4}\) and \(NNF_{IM,1}\), \(NNF_{IM,2}\), \(NNF_{IM,3}\), and \(NNF_{IMA}\). 6.