# Machine Learning-Based 5G-and-Beyond Channel Estimation for MIMO-OFDM Communication Systems
## 3 Deep Learning-Based Channel Estimation
### Computational Complexity  
In this section, the complexity of the three deep learning models proposed to assist in the channel estimation phase is analyzed by utilizing big-\(\mathcal{O}\) notation. The computational complexity of the proposed models involves two main parts: offline training and online prediction. The complexity analysis for offline training is still an open problem due to the complex implementation of the back-propagation process. However, we assume that the complexity of offline training can be afforded since it is an offline process [42]. Therefore, we only concentrate on the complexity of the online prediction phase. We use big-O notation, which is a common method to describe the complexity of the proposed deep learning-based  
Figure 8: The structure of an LSTM cell (**top**) and the structure of the proposed bi-LSTM approach (**bottom**).  
channel estimations. The number of arithmetic operations with the dominant costs is used as the metric to obtain the computational complexity order [7].  
For the FDNN-based channel estimation, from (26), we can see that if the model has \(H\) hidden layers, the total number of arithmetic operations has a computational complexity in the order of  
\[C_{\text{FDNN}}=\mathcal{O}\Bigg{(}In_{1}+n_{H}K+\sum_{i=1}^{H-1}n_{i}n_{i+1} \Bigg{)}, \tag{50}\]  
where \(I\), \(K\), and \(n_{i}\) denote the input size, output size, and the number of neurons in the \(i\)-th hidden layer, respectively. Therefore, for one OFDM symbol, the input and output size is chosen as \(I=K=2N_{T}N_{R}\), and we have \(N_{FFT}\) samples. By using (50), the FDNN model has a complexity that can be shown as  
\[C_{\text{FDNN}}=\mathcal{O}\Bigg{(}N_{FFT}\Bigg{(}2N_{T}N_{R}n_{1}+2N_{T}N_{R} n_{K}+\sum_{i=1}^{H-1}n_{i}n_{i+1}\Bigg{)}\Bigg{)}. \tag{51}\]  
We now investigate the computational complexity of the CNN-based channel estimation. Given that there are \(c_{l}\) kernels of size \(k_{l}\times k_{l}\) in the \(l\)-th convolution layer, the number of multiplications for the \(l\)-th convolution layer is \(k_{l}^{2}a_{l}^{2}a_{l}^{2}c_{l-1}c_{l}\), where \(a_{l}^{1}\) and \(a_{l}^{2}\) are sizes of the \(l\)-th layer. Therefore, the complexity of all convolution layers is \(\mathcal{O}(\sum_{l\in L}k_{l}^{2}a_{l}^{1}a_{l}^{2}c_{l-1}c_{l})\)[43]. The number of multiplications for the linear layer equals \(\mathcal{O}(a_{l}^{1}a_{l}^{2}c_{l}a_{linear}^{2}a_{linear}^{2})\). Since, for one OFDM symbol, the sizes of the convolution layer and the linear layer are \((2N_{T}N_{R})\times N_{FFT}\), the total number of multiplications required in the CNN model can be calculated to be in the order of  
\[\mathcal{C}_{\text{CNN}}=\mathcal{O}\Bigg{(}4c_{L}(N_{T}N_{R}N_{FFT})^{2}+2N_ {T}N_{R}N_{FFT}\sum_{l\in\mathcal{L}}c_{l-1}c_{l}k_{l}^{2}\Bigg{)}. \tag{52}\]  
For the bi-LSTM network, it is well-known that the computational complexity of a bi-LSTM cell is \(\mathcal{O}(bi(4n_{i}n_{c}+4n_{c}^{2}+3n_{c}+n_{c}n_{o}))\)[44], where \(bi\) is the bidirectional flag (\(bi=2\) for bi-LSTM). The notations \(n_{i},n_{c}\), and \(n_{o}\) denote the input size, the number of memory cells, and the output size, respectively. As mentioned before, the input and output of the bi-LSTM network include the \(2N_{T}N_{R}\) features. The sequence length for one OFDM symbol can be chosen as \(L=N_{FFT}\). Therefore, the computational complexity of bi-LSTM network is in the order of  
\[\mathcal{C}_{\text{bi-LSTM}}=\mathcal{O}\Big{(}(10N_{T}N_{R}n_{c}+6n_{c}+8n_{ c}^{2})N_{FFT}\Big{)}. \tag{53}\]