# Wavelet Decomposition Prediction for Digital Predistortion of Wideband Power Amplifiers
## 3 The Proposed WDP Architecture  
To achieve a more accurate predistortion model, we adopt an WDP-based approach. The detailed workflow is illustrated in Figure 1.  
The first stage involves PA nonlinear modeling, where the input and output signals of the PA are used to train a nonlinear model through a neural network. Initially, a feature extraction (FEx) layer is employed to derive additional features from the I/Q signal, computing \(|\mathbf{x}|\), \(|\mathbf{x}|^{3}\), \(\sin\mathbf{x}\), and \(\cos\mathbf{x}\)[27]. Subsequently, WD is utilized to decompose these  
Figure 1: Detailed steps for the proposed WDP architecture. features into different frequency components, enabling more effective multi-resolution analysis [28]. To capture long-term dependencies in the data, the UGRNN is employed. After the UGRNN processes and analyzes various frequency components [29], a self-attention mechanism is incorporated to balance their impact on the output. The overall framework of WDP is depicted in Figure 2, where the RNN module can be implemented using either the UGRNN or IRNN [30]. The second stage focuses on DPD modeling. The DPD model is cascaded with the PA nonlinear model, where the output of the DPD model serves as the input to the PA nonlinear model. The parameters of the PA nonlinear model in this cascaded system are directly copied and frozen from the model trained in the first stage. WD is again applied for feature processing in this step. The IRNN is then utilized to capture long-term dependencies, and a self-attention mechanism, as in the first stage, is employed to refine the output. The entire procedure is outlined in Algorithm 1. ```
0:\(\bullet\)\(\mathbf{D}_{tr}\), \(\mathbf{D}_{tr}\): Training dataset, test dataset;
0:\(T\): Number of training iterations;
0:\(B\): Number of batches in a training iteration;
0:\(Z\): Length of the short frame;
0:\(V\): Stride of the short frame;
0:\(\theta_{\text{Mod}}\), \(\theta_{\text{DPD}}\): Parameters of PA and DPD model;
0:\(lr\): Learning rate of optimizer;
0:\(m\): Memory depth;
0: Preparation:
0: Get \((\boldsymbol{x},\boldsymbol{y})\) from \(\mathbf{D}_{tr}\). 0: Calculate the \(A\) by Equation (3). 0: Split features and labels into a shorter frame, each of size \(Z\), with a stride of \(V\). Consecutive frames overlap by \(Z-V\) samples. 0: Extract features and calculate \(\boldsymbol{I}\), \(\boldsymbol{Q}\), \(|\boldsymbol{x}|\), \(|\boldsymbol{x}|^{3}\), \(\sin x\) and \(\cos x\). 0: Processing feature vectors based on \(m\), denoted as \(\boldsymbol{S}\). 0: Perform a one-level WD on \(\boldsymbol{S}\), and the high and low frequency components are denoted as \(\boldsymbol{S}_{l}\) and \(\boldsymbol{S}_{h}\). Figure 2: The framework of WDP, where the RNN is replaced with the UGRNN in the PA modeling phase and with the IRNN in the DPD phase. ```
Training PA nonlinear modeling procedure:
1 for\(t=1\) to \(T\)do for\(b=1\) to \(B\)do Forward propagation:  Get the output of model: \(\widehat{\mathbf{y}}=f_{\text{Mod}}(\theta_{\text{Mod}}^{(t,b)};\mathbf{S},S_{t},S_{t})\)  Calculate the loss: \(L=\mathcal{L}_{\text{MSE}}(\mathbf{y},\widehat{\mathbf{y}})\) Backward propagation:  Update the parameters of the model: \(\theta_{\text{Mod}}^{(t,b+1)}\leftarrow\text{Adamw}(\
abla_{\theta_{\text{Mod}} },L,lr,\theta_{\text{Mod}}^{(t,b)})\)  end for  end for [Training DPD procedure]:  Load and freeze PA nonlinear model. for\(t=1\) to \(T\)do for\(b=1\) to \(B\)do Forward propagation:  Get the output of model: \(y_{\text{DPD}}=f_{\text{DPD}}(\theta_{\text{DPD}}^{(t,b)};\mathbf{S},S_{t},S_{t})\) \(\overline{\mathbf{y}}=f_{\text{Mod}}(\theta_{\text{Mod}};\mathbf{y}_{\text{DPD}})\)  Calculate the loss: \(L=\mathcal{L}_{\text{MSE}}(A\cdot\mathbf{x},\overline{\mathbf{y}})\) Backward propagation:  Update the parameters of the model: \(\theta_{\text{DPD}}^{(t,b+1)}\leftarrow\text{Adamw}(\
abla_{\theta_{\text{DPD} }},L,lr,\theta_{\text{DPD}}^{(t,b)})\)  end for  end for [Testing procedure]:  Get \((\mathbf{x},\mathbf{y})\) from \(\mathbf{D}_{lr}\).