## 3 Problem Formulation and Solutions
### Solution: Hybrid Precoder
#### 3.2.2. Digital Precoder (DP)  
In contrast to traditional ZF [47] and RZF [47] precoders, as studied in Mostafa, 2021, the CRZF [48] greatly enhances system performance. Nevertheless, similar to ZF as well as RZF, it ultimately incorporates an inversion of the matrix. Such computation becomes practically hard to realise in the case of the MIMO system. The authors of this work suggest the SSOR-CRZF DP for the system shown in (1). Without resorting to matrix inversion, the suggested approach, as in Algorithm 3, creates a CRZF matrix using the iterative SSOR technique. In the proposed HP approach, a lower-dimensional baseband DP (SSOR-CRZF) has been developed while taking the effective channel (\(\tilde{\mathbf{H}}\)) into consideration following the construction of the AP (\(\mathbf{F}^{RF}\)). In Algorithm 3, as an initial step, the CRZF filtering matrix (\(\mathbf{P}_{crzf}\)) is first calculated, which may be conveyed as follows:  
\[\mathbf{P}_{crzf}=\left(\tilde{\mathbf{H}}\tilde{\mathbf{H}}^{H}+\alpha \mathbf{I}_{N_{RF}\times N_{RF}}\right) \tag{18}\]  
wherein \(\alpha\) constitutes a parameter of complex valued regularization [48] related to the complex AWGN noise. However, because it is necessary to take the pseudo-inverse, the computing cost rises. The authors in [40, 42] have advocated SSOR-reliant precoding via making use of the wireless channel's asymptotically orthogonality characteristic in mMIMO with the goal of mitigating complexity. As stated in [40], for the CRZF precoder, the transmitted signal (\(\mathbf{x}\)),  
\[ \begin{split}\mathbf{s}=\mathbf{F}_{CRZF}^{BB}\mathbf{x}=\beta_ {CRZF}\mathbf{H}^{H}\Big{(}\mathbf{H}\tilde{\mathbf{H}}^{H}+\alpha\mathbf{I}_ {N_{RF}\times N_{RF}}\Big{)}^{-1}\mathbf{x}\\ =\beta_{CRZF}\tilde{\mathbf{H}}^{H}\mathbf{P}_{crzf}^{-1} \mathbf{x}=\beta_{CRZF}\tilde{\mathbf{H}}^{H}\mathbf{t}.\end{split}  \tag{19}\]  
where the power normalisation factor is denoted by \(\beta_{CRZF}\). The key purpose of utilising the SSOR technique in this approach aims to build the precoder matrix \(\mathbf{t}\), avoiding any inversion of the matrix (\(\mathbf{P}_{crzf}^{-1}\)). The SSOR method begins by decomposing the matrix \(\mathbf{P}_{crzf}\), which can then be articulated as \(\mathbf{P}_{crzf}=\mathbf{D}+\mathbf{L}+\mathbf{L}^{H}\), wherein \(\mathbf{D}\), \(\mathbf{L}\), and \(\mathbf{L}^{H}\) symbolise the matrix of a diagonal, matrix of lower triangular, and the matrix of upper triangular for \(\mathbf{P}_{crzf}\), respectively. The proposed DP algorithm is illustrated in Algorithm 3. As presented in the algorithm, the desired vector \(\mathbf{t}\) can be obtained after a number of iterations. Here, \(\omega\) is the relaxation factor. The ideal \(\omega\) can be found using the formula \(\omega=2/(1+sqrt((1-a^{2})))\), where \(a=[1+\sqrt{(Nr/Nt)}]^{2}-1]\) and \([Nr,Nt]=size(\mathbf{P}_{crzf})\). It is obvious that the relaxation parameter \(\omega\) also becomes fixed once the mMIMO configuration is fixed. To obtain the appropriate precoding matrix, vector \(\mathbf{t}\) and \(\beta_{CRZF}\mathbf{H}^{H}\) must be multiplied. Thus,it is evident that an iterative techniques can be used to accomplish the computationally intensive matrix inversion. ```
Input:\(K(>N_{RF})\); \(N^{rf}\); \(\mathbf{H}=[\mathbf{h}_{1},...,\mathbf{h}_{K}]\); \(\Gamma=[\Gamma_{1},...,\Gamma_{D}]\); \(\mathbf{F}^{RF}\); \(N_{T}\); \(G=N_{RF}\); \(\alpha\); \(N\_iter\) Output:\(\mathbf{F}^{BB}=[\mathbf{f}_{1}^{BB},....,\mathbf{f}_{K}^{BB}]\in\mathbb{C}^{N_{ RF}\times K}\) is the DP matrix
1 Initialize:\(B\)
2\(\hat{\mathbf{H}}=\mathbf{H}^{H}\mathbf{F}^{RF}\)
3\(\hat{\mathbf{H}}\in\mathbb{C}^{N_{RF}\times N_{RF}}=[\hat{\mathbf{H}}_{ \Gamma,1}]\)
4 Calculate \(\mathbf{P}_{crf}\) as in Eqn.