# Nonlinear Distortion Cancellation using Predistorter in MIMO-GFDM Systems
## Methods  
### System Model  
GFDM system with nonlinear HPA assuming the system uses Offset QAM mapping, as shown in Figure 1. After passing through the mapper, the data were modulated using GFDM. In a GFDM modulator, a serial QQAM symbol stream was converted into parallel data, which were broken into multiple blocks with size \(K\times M\). The \(K\) denotes the number of subcarriers, while the \(M\) sub-symbol is data transmitted on the k-th. Each sub-symbol results from the decomposition, upsampled by factor \(N\), to be converted into an impulse signal sequence.  
Figure 1: Generalized frequency division multiplexing (GFDM) system with high power amplifier (HPA).  
The resulting signal was shifted in a circle and transmitted in the form of pulses in the following equation [34]:  
\[g_{k,m}(n)=g\bigg{[}\bigg{(}n-\frac{mK}{2}\bigg{)}\ mod\ KM\bigg{]}e^{\frac{2 mk}{K }(n-\frac{lp-1}{2})}, \tag{1}\]  
where \(n=0,1,\ldots,KM-1\), and \(Lp\) is the length of the prototype filter, \(g_{k,m}(n)\) is a prototype filter \(g(n)\) with the shifted version in time and frequency, \(k\) is the subcarrier index, and \(m\) is for the sub-symbol index. The prototype filter above consists of two components, namely \(\left[\left(n-\frac{mK}{2}\right)\ mod\ KM\right]\) and complex exponential numbers. The first component is a circular filter that functions as a time slider to distinguish between one symbol and the other symbols based on the timeslot. Meanwhile, the second component functions as a signal shifter in the frequency domain.  
GFDM output signal \(x[n]\) was written as follows [35]:  
\[x[n]=\sum_{k=0}^{K-1}\sum_{m=0}^{M-1}u_{k,m}g_{k,m}[n] \tag{2}\]  
or in the form of a matrix [35]:  
\[\mathbf{x}=\mathbf{A}\mathbf{d}, \tag{3}\]  
where: \(\mathbf{x}=\left(x[n]\right)^{T}\), contains samples \(x[n]\), \(\mathbf{d}=\text{vec }(\mathbf{D}^{\text{T}})\), where \(\mathbf{D}\) is a matrix containing complex value data symbols arranged in the \(K\times M\) dimension matrix and \(\mathbf{A}\) is a matrix containing \(g_{k,m}=\left(g_{k,m}[n]\right)^{T}\), as shown in the following equation:  
\[\mathbf{A}=\Big{[}g_{0,0}\cdots g_{K-1,0}\cdots g_{0,1}\cdots g_{K-1,M-1}\Big{]}. \tag{4}\]  
The data were modulated and then converted into serial data in the block parallel-to-serial or P/S. Added cyclic prefix and HPA then passed the AWGN channel. The cyclic prefix is added to GFDM to maintain the circular structure of the transmission signal and to allow the frequency domain even distribution to the receiver after a multi-lane effect is applied in the channel [36]. The insertion of a cyclic prefix is in each block of GFDM instead of in each symbol, which increases the spectral efficiency [35]. In the MIMO-GFDM system, cyclic prefix (CP) is taken from the final copy of each of the GFDM symbols, and then it is placed at the beginning of the frame. The number of symbols in this study is \(K\times M\), which is 120, so the amount of CP used is \(0.25\times K=0.25\times 8=2\).  
For simplicity, all HPAs in each branch were assumed to have the same nonlinear characteristics. Furthermore, to simplify the model, the HPA was presumed to be memoryless.They could be modeled using AM/AM and AM/PM conversion and written as follows [32]:  
\[A[r(n)]=\frac{\alpha_{\alpha}r(n)}{1+\beta_{\alpha}r^{2}(n)}, \tag{5}\]  
continuing with the following AM/PM characteristic functions:  
\[\Phi[r(n)]=\frac{\alpha_{\varphi}r^{2}(n)}{1+\beta_{\varphi}r^{2}(n)}, \tag{6}\]  
where \(\alpha_{\alpha},\ \beta_{\alpha},\ \alpha_{\varphi},\ \beta_{\varphi}\) are the parameters of the Saleh model [32], while \(r(n)\) is the magnitude of the input signal. The functions \(A[r(n)]\) and \(\Phi[r(n)]\) are two-parameter formulas such as Equations (5) and (6). \(A[r(n)]\) is a function of an odd number of r, which represents the AM-to-AM conversion, and \(\Phi[r(n)]\) is a function of an even number of r, which represents the AM-to-PM conversion. If the value of r is very large, \(A[r(n)]\) is proportional to \(1/r\), and \(\Phi[r(n)]\) approaches constant.