**2. The mmWave channel model**

In this section, the mmWave channel model is discussed. **H** can be written as [2, 4, 17].

$$\mathbf{H} = \sqrt{N\_l N\_r / N\_{cl} N\_{n\eta}} \times \sum\_{i}^{N\_{l\bar{l}}} \sum\_{l}^{N\_{n\eta}} \left[ a\_{il} \mathbf{A}\_r \left( \phi\_{il}^r, \theta\_{il}^r \right) \times \mathbf{A}\_t \left( \phi\_{il}^t, \theta\_{il}^t \right) \mathbf{a}\_r \left( \phi\_{il}^r, \theta\_{il}^t \right) \mathbf{a}\_t \left( \phi\_{il}^t, \theta\_{il}^t \right)^\* \right] \tag{1}$$

where *Nt* is the number of antennas at the transmitter and *Nr* is the number of antennas at the receiver. The numbers of clusters and paths are denoted by *Ncl* and *Nray*, respectively. *αil* is the complex gain of the *lth* path in the *ith* cluster. *ϕ<sup>t</sup> il ϕ<sup>r</sup> il* � � and *θt il θ<sup>r</sup> il* � � are the azimuth (elevation) angles of departure and arrival of the *lth* path in the *ith* cluster, respectively. The transmitter and receiver antenna element gains at their departure and arrival angles are denoted by **Λ***<sup>t</sup> ϕ<sup>t</sup> il*, *θ<sup>t</sup> il* � � and **<sup>Λ</sup>***<sup>r</sup> <sup>ϕ</sup><sup>r</sup> il*, *θ<sup>r</sup> il* � �, respectively. **a***<sup>t</sup> ϕ<sup>t</sup> il*, *θ<sup>t</sup> il* � � and **<sup>a</sup>***<sup>r</sup> <sup>ϕ</sup><sup>r</sup> il*, *θ<sup>r</sup> il* � � are the antenna array responses at the transmitter and receiver, respectively. The array response vector in a uniform planar array can be defined as [2, 4, 17].

$$\mathbf{a}\_{\text{UPA}(\phi,\theta)} = \frac{\mathbf{1}}{\sqrt{\mathbf{N}\_{\text{t}}}} \begin{bmatrix} \mathbf{1}, \dots, \mathbf{e}^{\text{jkd(x\sin(\phi)\sin(\theta) + y\cos(\theta))}, \dots, \mathbf{e}^{\text{jkd((w-1)\sin(\phi)\sin(\theta) + (h-1)\cos(\theta))} \end{bmatrix}^{\text{T}} \tag{2}$$

where *<sup>k</sup>* <sup>¼</sup> <sup>2</sup>*<sup>π</sup> <sup>λ</sup>* , 1<sup>≤</sup> *<sup>x</sup>*≤ð Þ *<sup>w</sup>* � <sup>1</sup> , and 1≤*y*≤ð Þ *<sup>h</sup>* � <sup>1</sup> . *<sup>d</sup>* <sup>¼</sup> *<sup>λ</sup>* 2 , *w*, and *h* are the interantenna spacing, width, and height of the antenna array, respectively. The transmitter's array size is *Nt* ¼ *wh*. In this chapter, we assume perfect channel estimation at the transmitter and receiver.

### **3. Full array architecture system model**

#### **3.1 FA architecture**

This subsection presents a discussion on the system model of the FA architecture. First, the baseband digital precoder **PD** is applied to the signal at the transmitter, after which it is precoded by the FA analog precoder **PAFA**. At the receiver's end, the FA analog combiner **WAFA** and the digital combiner **WD** are both applied. The structure

*Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

**Figure 1.**

*Hybrid precoding at the base station (BS). (a) Full array (FA) architecture. (b) Subarray (SA) architecture.*

of the hybrid precoding for FA architecture is depicted in **Figure 1(a)**. The received signal in the FA architecture can be expressed as [4].

$$\mathbf{y} = \sqrt{\rho} \mathbf{W\_D}^{\text{H}} \mathbf{W\_{FA}}^{\text{H}} \mathbf{H} \mathbf{P\_{FA}} \mathbf{P\_D} \mathbf{s} + \mathbf{n} = \sqrt{\rho} \mathbf{W\_{FA}}^{\text{H}} \mathbf{H} \mathbf{P\_{FA}} \mathbf{s} + \mathbf{n} \tag{3}$$

The channel matrix is represented by **H ∈** *Nr*�*Nt* , and ρ denotes the average power of the received signal. **PAFA** and **PD** are *Nt* � *NtRF* and the *NtRF* � *Ns* matrices of analog and digital precoding matrices, respectively. Similarly, **WAFA** and **WD** are *Nr* � *NrRF* and *NrRF* � *Ns* matrices, respectively, and represent the FA analog and digital combiner matrices. The transmitted signal is represented by the *Ns* � 1 vector **s**, with **ss** <sup>∗</sup> ½ �¼ <sup>1</sup> *Ns* **I***Ns* . The additive white Gaussian noise **n** is represented by the *Ns* � 1 vector of independent and identical distribution. The matrices **PFA** ¼ **PAFAPD** and **WFA** ¼ **WAFAWD**. All the elements in **PAFA** and **WAFA** have a constant amplitude, which is equal to 1*=* ffiffiffiffiffi *Nt* <sup>p</sup> and 1*<sup>=</sup>* ffiffiffiffiffiffi *Nr* <sup>p</sup> , respectively [4]. The digital precoder and combiner satisfy the total power constraint and are normalized as k k **PAFAPD** 2 *<sup>F</sup>* ¼ *Ns* and k k **WAFAWD** 2 *<sup>F</sup>* ¼ *Ns*. The spectral efficiency of the FA architecture can be written as [4]

$$R = \log\_2\left( \left| \mathbf{I}\_{\mathbf{N}\_\tau} + \frac{\rho}{N\_\varepsilon} \mathbf{Q}\_\mathbf{k}^{-1} \mathbf{W}\_\mathbf{B}^{\mathbf{k}^\mathrm{H}} \mathbf{W}\_{\mathbf{A}\mathbf{F}\mathbf{A}}^{\mathrm{H}} \mathbf{H} \mathbf{F}\_{\mathbf{A}\mathbf{F}\mathbf{A}} \mathbf{F}\_\mathbf{B} \mathbf{P}\_\mathbf{B}^{\mathbf{H}} \mathbf{P}\_\mathbf{A} \mathbf{H}\_\mathbf{k}^{\mathrm{H}} \mathbf{W}\_\mathbf{A}^{\mathbf{k}} \mathbf{W}\_\mathbf{B}^{\mathbf{k}} \right| \right) \tag{4}$$

where **<sup>Q</sup>***<sup>k</sup>* <sup>¼</sup> *<sup>σ</sup>*<sup>2</sup> *n***W<sup>k</sup> B H Wk AFA H Wk AFAW<sup>k</sup> <sup>B</sup>**. To optimize the spectral efficiency in (4), it is important to take into account both the total transmitted power constraint and the constraints on **FAFA** and **WAFA** during the hybrid precoder/combiner design process.

max *R*

$$\begin{aligned} \mathbf{P\_{AFA}, P\_D, W\_{AFA}, W\_D} \\ \text{s.t.} & \mathbf{P\_{AFA}} \in \mathcal{F}\_{\text{AFA}} \text{ and } \mathbf{W\_{AFA}} \in \mathfrak{I}\_{\text{AFA}} \\ & \left\| \mathbf{P\_{AFA}} \mathbf{P\_D} \right\|\_{\mathcal{F}}^2 = N\_\sharp \end{aligned} \tag{5}$$

where **F** AFA and **I**AFA contain all possible precoding and combining matrices, respectively, that fulfill the amplitude constraint. The maximization of the objective function of the precoding in Eq. (5) can be expressed in a more concise manner as [4].

$$\begin{aligned} \left(\mathbf{P}\_{\text{AFA}}^{\text{opt}}, \mathbf{P}\_{\text{D}}^{\text{opt}}\right) &= \qquad \text{arg} \qquad \min \left\| \mathbf{P}\_{\text{FA}}^{\text{opt}} - \mathbf{P}\_{\text{AFA}} \mathbf{P}\_{\text{D}} \right\|\_{\text{F}}^{2} \\ & \qquad \mathbf{P}\_{\text{AFA}}, \qquad \mathbf{P}\_{\text{D}} \\ & \qquad \text{st.} \mathbf{P}\_{\text{AFA}} \in \mathcal{F}\_{\text{AFA}}, \\ & \qquad \left\| \mathbf{P}\_{\text{AFA}} \mathbf{P}\_{\text{D}} \right\|\_{\text{F}}^{2} = N\_{\text{}} \end{aligned} \tag{6}$$

Clearly, the optimization problem in Eq. (6) is non-convex and finding its optimal solution is challenging. Nonetheless, the optimal unconstrained hybrid precoding can be determined by setting **Popt FA** equal to **V1**, which represents the first *Ns* column of the matrix **<sup>V</sup>** obtained through singular value decomposition (SVD) of **<sup>H</sup>**, i.e., **<sup>H</sup>** <sup>¼</sup> **<sup>U</sup>ΣVH**. Similarly, the optimal unconstrained hybrid combiner can be obtained by setting optimal precoding equal to **U1**, which represents the first *Ns* column of the matrix **U** [2, 4].

#### **3.2 Subarray architecture system model**

This subsection presents a system model of the SA architecture. The structure of the hybrid precoding for SA architecture is depicted in **Figure 1(b)**. The received signal of the SA is given by

$$\mathbf{y} = \sqrt{\rho} \mathbf{W\_D}^{\text{H}} \mathbf{W\_{ASA}}^{\text{H}} \mathbf{H} \mathbf{P\_{ASA}} \mathbf{P\_D} \mathbf{s} + \mathbf{n} = \sqrt{\rho} \mathbf{W\_{SA}}^{\text{H}} \mathbf{H} \mathbf{P\_{SA}} \mathbf{s} + \mathbf{n} \tag{7}$$

where **PASA** and **PD** are the analog and the digital precoding matrices of the SA architecture, respectively, and **WASA** and **WD** are the analog and the digital combining matrices, respectively. **PASA** and **WASA** can be expressed as

$$\mathbf{P\_{ASA}} = \begin{bmatrix} \mathbf{p\_{A1}} & \mathbf{0\_{N\_{SA}\times 1}} & & \dots & \mathbf{0\_{N\_{SA}\times 1}} \\ \mathbf{0\_{N\_{SA}\times 1}} & \mathbf{p\_{A2}} & & \dots & \vdots \\ \vdots & \vdots & \ddots & \mathbf{0\_{N\_{SA}\times 1}} \\ \mathbf{0\_{N\_{SA}\times 1}} & \dots & \mathbf{0\_{N\_{SA}\times 1}} & \mathbf{p\_{AN\_{SA}}} \end{bmatrix} \tag{8}$$

and

$$\mathbf{W\_{ASA}} = \begin{bmatrix} \mathbf{w\_{A1}} & \mathbf{0\_{N\_{SA}\times1}} & \dots & \mathbf{0\_{N\_{SA}\times1}} \\ \mathbf{0\_{N\_{SA}\times1}} & \mathbf{w\_{A2}} & \dots & \vdots \\ \vdots & \vdots & \ddots & \mathbf{0\_{N\_{SA}\times1}} \\ \mathbf{0\_{N\_{SA}\times1}} & \dots & \mathbf{0\_{N\_{SA}\times1}} & \mathbf{w\_{AN\_{SA}}} \end{bmatrix} \tag{9}$$

*Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

In Eq. (8), the *NtSA* � 1 analog precoding vector for the *lth* subarray (*<sup>l</sup>* <sup>¼</sup> 1, 2, … *::*, *NtRF*) is denoted as **<sup>p</sup>**Al. Its elements have equal amplitude of 1*<sup>=</sup>* ffiffiffiffiffiffiffiffiffi *NtSA* <sup>p</sup> , but varying phases. In Eq. (9), the *NrSA* � 1 analog combining vector for the lth subarray (*l* ¼ 1, 2, … *::*, *NrRF*) is represented by **w**Al. Its elements have equal amplitude of 1*=* ffiffiffiffiffiffiffiffiffiffi *NrSA* <sup>p</sup> , but varying phases. Here, *NtSA* <sup>¼</sup> *Nt=NtRF* and *NrSA* <sup>¼</sup> *Nr=NrRF* denote the number of elements in each subarray at the transmitter and receiver, respectively. The optimization problem of the *lth* subarray can be written as [17].

$$\begin{aligned} \left(\mathbf{p}\_{\text{Al}}^{\text{opt}}, \mathbf{p}\_{\text{Dl}}^{\text{opt}}\right) &= \underset{\mathbf{P}\_{\text{Al}}, \quad \mathbf{p}\_{\text{Dl}}}{\text{arg min}} \left\| \mathbf{P}\_{\text{l}}^{\text{opt}} - \mathbf{p}\_{\text{Al}} \mathbf{p}\_{\text{Dl}} \right\|\_{\text{F}}^{2} \\ &\text{st.} \mathbf{p}\_{\text{Al}} \in \overline{\mathcal{F}}\_{\text{A}}, \\ \left\| \mathbf{P}\_{\text{ASA}} \mathbf{P}\_{\text{Dl}} \right\|\_{\text{F}}^{2} &= \mathbf{N}\_{\text{s}} \end{aligned} \tag{10}$$

where **P***opt <sup>l</sup>* ¼ **V1**ð Þ ð Þ ð*l* � 1 *NtSA* þ 1 : *lNtSA* , :Þ denotes the optimum unconstrained hybrid precoding solution of the *lth* subarray. **pDl**, the *lth* row of the **PD**. **F <sup>A</sup>**, and includes all possible *NtSA* � 1 vectors satisfying the amplitude constraint.

#### **3.3 Hybrid architecture system model**

In this subsection, we discuss the system model for hybrid precoding and combining in mmWave MIMO systems with HA architecture. The structure of the hybrid precoding for HA is depicted in **Figure 2**. Antennas are divided into subarrays and grouped with RF chains. *Ntg* and *Nrg* groups are assumed for transmitter and receiver, respectively, with *NtSAg* ¼ *NtSA=Ntg* and *NrSAg* ¼ *NrSA=Nrg* being the number of

**Figure 2.**

*The proposed hybrid array (HA) architecture at the base station (BS). (a) Block diagram of the hybrid precoding in the HA architecture. (b) The structure of analog precoding in the ngth group.*

subarrays in each group. The chapter assumes the same number of RF chains and subarrays in all groups and the number of groups must not exceed the number of RF chains but acknowledges that future work may explore cases with different numbers. In HA, the received signal can be expressed as

$$\mathbf{y} = \sqrt{\rho} \mathbf{W}\_{\mathrm{D}}{}^{\mathrm{H}} \mathbf{W}\_{\mathrm{AHA}}{}^{\mathrm{H}} \mathbf{H} \mathbf{P}\_{\mathrm{AHA}} \mathbf{P}\_{\mathrm{D}} \mathbf{s} + \mathbf{n} = \sqrt{\rho} \mathbf{W}\_{\mathrm{HA}}{}^{\mathrm{H}} \mathbf{H} \mathbf{P}\_{\mathrm{HA}} \mathbf{s} + \mathbf{n} \tag{11}$$

where **P**AHA is the matrix of the HA analog precoding, with dimension *Nt* � *NtRF*. **W**AHA is the matrix of the HA analog combining and has dimensions *Nr* � *NrRF*. The amplitudes of all elements in **P**AHA and **W**AHA are 1*=* ffiffiffiffiffiffiffiffiffiffiffiffiffiffi *Nt=Ntg* p and 1*=* ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi *Nr=Nrg* p , respectively. Note that **P**HA and **W**HA must satisfy k k **P**HA 2 *<sup>F</sup>* ¼ *Ns* and k k **W**HA 2 *<sup>F</sup>* ¼ *Ns*, where **P**HA ¼ **P**AHA**P**<sup>D</sup> and **W**HA ¼ **W**AHA**W**D**.** The general structure of **P**AHA in the HA architecture can be expressed as

$$\mathbf{P}\_{\text{AHA}} = \begin{bmatrix} \mathbf{P}\_{\text{G}\_1} & \mathbf{0} & \dots & \mathbf{0} \\ \mathbf{0} & \mathbf{P}\_{\text{G}\_2} & \dots & \mathbf{0} \\ \vdots & \vdots & \vdots & \vdots \\ \mathbf{0} & \mathbf{0} & \dots & \mathbf{P}\_{\text{G}\_{\text{N}\_{\text{g}}}} \end{bmatrix} \tag{12}$$

where **<sup>P</sup>**Gng is an *Nt=Ntg* � � � *NtRF=Ntg* � � matrix representing the analog precoding matrix of the *ngth* group, where 1<sup>≤</sup> *ng* <sup>≤</sup> *Ntg* . *Ntg* <sup>¼</sup> <sup>2</sup>*<sup>n</sup>*, where *<sup>n</sup>* <sup>¼</sup> 0, 1, … , log <sup>2</sup>*NtSA*. Note that, *Ntg* ¼ 1 when *n* ¼ 0, resulting in an FA structure [4], and *Ntg* ¼ *NtSA* when *n* ¼ log <sup>2</sup>*NtSA*, resulting in a conventional SA structure [17]. For the HA architecture, <sup>1</sup>≤*<sup>n</sup>* <sup>≤</sup> log <sup>2</sup>*NtSA* � � � 1. Similarly, **<sup>W</sup>**AHA can be expressed as

$$\mathbf{W}\_{\text{AHA}} = \begin{bmatrix} \mathbf{W}\_{\text{G}\_1} & \mathbf{0} & \dots & \mathbf{0} \\ \mathbf{0} & \mathbf{W}\_{\text{G}\_2} & \dots & \mathbf{0} \\ \vdots & \vdots & \vdots & \vdots \\ \mathbf{0} & \mathbf{0} & \dots & \mathbf{W}\_{\text{G}\_{\text{N}\_{\text{F}}}} \end{bmatrix} \tag{13}$$

where **<sup>W</sup>**Gng is an *Nr=Nrg* � � � *NrRF=Nrg* � � matrix representing the analog combining matrix of the *ngth* group, 1≤*ng* ≤ *Nrg*. *Nrg* can be computed by the same method as *Ntg* , by only replacing *NtSA* by *NrSA*. The hybrid precoding optimization problem of the HA architecture can be written as

$$\begin{aligned} \left(\mathbf{P}\_{\text{AHA}}^{\text{opt}}, \mathbf{P}\_{\text{D}}^{\text{opt}}\right) &= \qquad \text{arg} \qquad \min \ ||\mathbf{P}^{\text{opt}} - \mathbf{P}\_{\text{AHA}} \mathbf{P}\_{\text{D}}||\_{\text{F}}^{2} \\ & \qquad \qquad \mathbf{P}\_{\text{AHA}}, \qquad \mathbf{P}\_{\text{D}} \\ & \qquad \text{st.} \mathbf{P}\_{\text{AHA}} \in \mathcal{F}\_{\text{AHA}}, \\ & \qquad ||\mathbf{P}\_{\text{AHA}} \mathbf{P}\_{\text{D}}||\_{\text{F}}^{2} = \mathbf{N}\_{\text{s}} \end{aligned} \tag{14}$$

where **F** AHA includes all possible precoding matrices that satisfy the amplitude constraint of the HA structure. **<sup>P</sup>**opt <sup>¼</sup> **<sup>V</sup>**<sup>1</sup> is the optimal solution of the unconstrained *Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

hybrid precoding. Similarly, the hybrid combining optimization problem of the HA architecture can be expressed as that given in Eq. (14). However, the problem in Eq. (14) is non-convex with a difficult optimal solution. Due to the block nature of the hybrid precoding matrix in the HA architecture, **P**HA can be written as

$$\mathbf{P}\_{\rm HA} = \mathbf{P}\_{\rm AHA} \mathbf{P}\_{\rm D} = \begin{bmatrix} \mathbf{P}\_{\rm AG\_1} & \mathbf{0} & \dots & \mathbf{0} \\\\ \mathbf{0} & \mathbf{P}\_{\rm AG\_2} & \dots & \mathbf{0} \\\\ \vdots & \vdots & \vdots & \vdots \\\\ \mathbf{0} & \mathbf{0} & \dots & \mathbf{P}\_{\rm AG\_{N\_{\rm g}}} \end{bmatrix} \begin{bmatrix} \mathbf{P}\_{\rm DG\_1} \\\\ \mathbf{P}\_{\rm DG\_2} \\\\ \vdots \\\\ \mathbf{P}\_{\rm DG\_{N\_{\rm g}}} \end{bmatrix} \\\\ = \begin{bmatrix} \mathbf{P}\_{\rm AG\_1}\mathbf{P}\_{\rm DG\_1} \\\\ \mathbf{P}\_{\rm AG\_2}\mathbf{P}\_{\rm DG\_{N\_{\rm g}}} \\\\ \vdots \\\\ \mathbf{P}\_{\rm He\_{N\_{\rm g}}}\mathbf{P}\_{\rm DG\_{N\_{\rm g}}} \end{bmatrix} = \begin{bmatrix} \mathbf{P}\_{\rm He\_1} \\\\ \mathbf{P}\_{\rm He\_2} \\\\ \vdots \\\\ \mathbf{P}\_{\rm He\_{N\_{\rm g}}} \end{bmatrix} \end{aligned} \tag{15}$$

where **<sup>P</sup>**DGng is an *NtRF=Ntg* � � � *Ns* matrix representing the digital precoder of the *ngth* group and **<sup>P</sup>**HAng is an *Nt=Ntg* � � � *Ns* matrix denoting the hybrid precoding of the *ngth* group. Furthermore, the optimal hybrid precoding can be decomposed according to the HA architecture as

$$\mathbf{P}^{\text{opt}} = \begin{bmatrix} \mathbf{P}\_{\text{G}\_1}^{\text{opt}} \\ \mathbf{P}\_{\text{G}\_2}^{\text{opt}} \\ \vdots \\ \mathbf{P}\_{\text{G}\_{\text{N}\_{\text{tg}}}}^{\text{opt}} \end{bmatrix} \tag{16}$$

where **P**opt Gng is the optimal digital precoding of the *ngth* group in the HA architecture. Based on Eqs. (15) and (16), the problem in Eq. (8) can be decomposed into a series of *Ntg* independent subproblems as

$$\left\|\left\|\mathbf{P}^{\rm opt} - \mathbf{P}\_{\rm AHA}\mathbf{P}\_{\rm D}\right\|\right\|\_{\rm F}^{2} = \sum\_{\rm ng=1}^{N\_{\rm g}} \left\|\mathbf{P}\_{\rm G\_{\rm ng}}^{\rm opt} - \mathbf{P}\_{\rm AG\_{\rm ng}}\mathbf{P}\_{\rm DG\_{\rm ng}}\right\|\_{\rm F}^{2} \tag{17}$$

Now, minimizing the objective function in Eq. (8) can be performed by optimizing the *Ntg* subproblems as

$$\begin{pmatrix} \left(\mathbf{P}\_{\text{AG}\_{\text{ug}}}^{\text{opt}}, \mathbf{P}\_{\text{DG}\_{\text{ug}}}^{\text{opt}}\right) \\ \left(\mathbf{P}\_{\text{AG}\_{\text{ug}}}, \mathbf{P}\_{\text{DG}\_{\text{ug}}}\right) \\ \mathbf{P}\_{\text{AG}\_{\text{ug}}}, \quad \mathbf{P}\_{\text{DG}\_{\text{ug}}} \\ \text{st.} \mathbf{P}\_{\text{AG}\_{\text{ug}}} \in \mathcal{F}\_{\text{AHA}}, \\ \left\|\mathbf{P}\_{\text{AG}\_{\text{ug}}} \mathbf{P}\_{\text{DG}\_{\text{ug}}}\right\|\_{\text{F}}^{2} = N\_{\text{s}} / N\_{\text{tg}} \end{pmatrix} \tag{18}$$

The optimal combining matrices can be achieved by optimizing the *Nrg* subproblems in a similar fashion.

### **4. Proposed hybrid precoding and combining algorithms**

In this section, the proposed IFA, ISA, and IHA hybrid precoding and combining algorithms for mmWave MIMO system will be derived and discussed. We only derive the equations that relate to the precoder since the derivation of the combiner is similar.

#### **4.1 Iterative full array (IFA) algorithm**

In this subsection, we propose the low-complexity IFA hybrid precoding algorithm with equal power allocation per stream. In addition, we do not assume any constraint on the optimization problem, which is related to Eq. (6). The derivation of the combiner is similar. The optimization problem in Eq. (6) is not convex and its solution is NP-hard. Therefore, we propose an iterative solution to solve the problem in Eq. (6). Specifically, we solve the following optimization problem iteratively, which is related to Eq. (6):

$$\mathbb{P}\left(\mathbf{P}\_{\mathbf{D}}^{\text{opt}}\right) = \text{arg min}\_{\mathbf{P}\_{\mathbf{D}}} \left\| \left| \mathbf{P}\_{\mathbf{FA}}^{\text{opt}} - \mathbf{P}\_{\mathbf{A}\text{IFA}} \mathbf{P}\_{\mathbf{D}} \right| \right\|\_{F}^{2} \tag{19}$$

where **PAIFA** is the proposed IFA analog precoder. The objective function can be expanded as

$$\begin{aligned} \left\| \mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}} - \mathbf{P}\_{\mathbf{A}\mathbf{IFA}} \mathbf{P}\_{\mathbf{D}} \right\|\_{F}^{2} &= \text{tr}\left( \mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}\mathbf{H}} \mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}} \right) - 2 \text{tr}\left( \mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}} \mathbf{P}\_{\mathbf{D}} \right) \\ &+ \text{tr}\left( \mathbf{P}\_{\mathbf{D}}^{\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}}^{\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}} \mathbf{P}\_{\mathbf{D}} \right) \\ &= N\_{S} - 2 \text{tr}\left( \mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}} \mathbf{P}\_{\mathbf{D}} \right) + \text{tr}\left( \mathbf{P}\_{\mathbf{D}}^{\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}}^{\mathbf{H}} \mathbf{P}\_{\mathbf{A}\mathbf{IFA}} \mathbf{P}\_{\mathbf{D}} \right) \end{aligned} \tag{20}$$

To minimize over **PD**, we set the derivative of Eq. (20) with respect to **PD** equal to zero, which yields the following minimized proposed baseband precoder **PD** (leastsquares solution)

$$\mathbf{P\_D} = \left(\mathbf{P\_{AIFA}^H P\_{AIFA}}\right)^{-1} \mathbf{P\_{AIFA}^H P\_{FA}^{opt}} \tag{21}$$

Then, we keep **PD** fixed and solve the same optimization problem but now minimizing over **PAIFA**

$$\mathbb{P}\left(\mathbf{P}\_{\text{AIFA}}^{\text{opt}}\right) = \arg\min\_{\mathbf{P}\_{\text{AIFA}}} \left\| \mathbf{P}\_{\text{FA}}^{\text{opt}} - \mathbf{P}\_{\text{AIFA}} \mathbf{P}\_{\text{D}} \right\|\_{F}^{2} \tag{22}$$

Similar to Eq. (20), expanding the objective function yields:

$$\left\|\mathbf{P}\_{\mathbf{FA}}^{\mathbf{opt}} - \mathbf{P}\_{\mathbf{A}\mathbf{IFA}}\mathbf{P}\_{\mathbf{D}}\right\|\_{F}^{2} = N\_{\mathrm{S}} - 2\mathrm{tr}\left(\mathbf{P}\_{\mathbf{FA}}^{\mathrm{opt}\mathbf{H}}\mathbf{P}\_{\mathbf{A}\mathbf{IFA}}\mathbf{P}\_{\mathbf{D}}\right) + \mathrm{tr}\left(\mathbf{P}\_{\mathbf{D}}^{\mathrm{H}}\mathbf{P}\_{\mathbf{A}\mathbf{IFA}}^{\mathrm{H}}\mathbf{P}\_{\mathbf{A}\mathbf{IFA}}\mathbf{P}\_{\mathbf{D}}\right) \tag{23}$$

We again set the derivative of (23) with respect to **PAIFA** as equal to zero, which yields the following equation:

$$\nabla\_{\boldsymbol{f}}(\mathbf{P\_{AIFA}}) = -\mathbf{P\_{FA}^{\rm opt}}\mathbf{P\_D^H} + \mathbf{P\_{AIFA}}\mathbf{P\_D}\mathbf{P\_D^H} = \mathbf{0} \tag{24}$$

Since **PDP<sup>H</sup> <sup>D</sup>** cannot be inverted when *NS* < *NtRF*, we used the gradient descent method to obtain:

*Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

$$\mathbf{P\_{AIFA}}^{k+1} = \mathbf{P\_{AIFA}}^{k} - a\nabla\_f \left(\mathbf{P\_{AIFA}}^{k}\right)$$

$$\mathbf{P\_{AIFA}}^{k+1} = \mathbf{P\_{AIFA}}^{k} + a\left(\mathbf{P\_{FA}}^{\text{opt}} \cdot \mathbf{P\_{AIFA}}^{k}\mathbf{P\_D}\right)\mathbf{P\_D^H}$$

$$\mathbf{P\_{AIFA}}^{k+1} = \mathbf{P\_{AIFA}}^{k} + a\mathbf{P\_{res}}\mathbf{P\_D^H} \tag{25}$$

where the residual precoding matrix, denoted as **Pres**, is obtained by subtracting the product of **PAIFA** and **PD** from the optimized **Popt FA** , and *α* is the step size. This approach is valid even when *NS* equals *NtRF*. However, if *NS* is less than *NtRF*, the **PAIFA** matrix with dimensions of *Nt* x *NtRF* needs to be completed after initialization. In each iteration, the column that results in the largest reduction of the residual is added to **PAIFA**. This column is chosen from the basis of the range of the residual, which is obtained by normalizing the first singular vector of the residual elementwise. Algorithm 1 provides the pseudo-code for the proposed IFA hybrid precoder, denoted as **PIFA**. In a mmWave system that employs hybrid precoding, the base station (BS) or mobile station (MS) can support up to minð*NtRF*, *NrRF*Þ [2]. The inputs to the algorithm 1 are **Popt FA** ∈*CNt*<sup>x</sup> *NS* and the maximum number of iterations *K*. When *N*<sup>S</sup> < *NtRF*, *K* should be greater than or equal to *NtRF* - *NS* to compute the *N*<sup>t</sup> x *NtRF***PAIFA** matrix. When *NtRF* = *NS*, *K* should be greater than or equal to 1.

In the general case where *NS* ≥1 and *NS* ≤ *NtRF*, the algorithm initializes **PAIFA** by normalizing the first *N*<sup>s</sup> columns of **Popt FA** element-wise, i.e., **PAIFA** <sup>¼</sup> **Popt FA** <sup>⊘</sup> **Popt FA** � � � � ffiffiffiffiffi *Nt* � � <sup>p</sup> . Next, step 2 calculates **PD** using least squares. Steps 3 and 4 compute the residual precoding matrix **Pres** and the proposed IFA analog precoder **PAIFA**, respectively. Step 5 ensures that the constant-magnitude entries in **PAIFA** can be applied at radio frequency (RF) using analog phase shifters.

In steps 7 and 8, when *NS* < *NtRF*, the *Nt* x *NtRF***PAIFA** needs to be completed by adding the element-wise normalization of the first singular vector of **Pres** to **PAIFA**. After *K* iterations, the algorithm finds the *Nt*x *NtRF* proposed IFA analog precoding matrix **PAIFA** and the *NtRF* x *NS* baseband precoder **PD**, such that **Popt FA** � **PAIFAPD** � � � � *F* is minimized. In steps 12 and 13, the algorithm ensures that the transmit power constraint is satisfied and returns the proposed IFA hybrid precoder **PIFA** ¼ **PAIFAPD**. The proposed hybrid combiner **WIFA** can be calculated in the same manner.

Remark 1 - Convergence of the proposed IFA hybrid precoder to local minimum points: Note that when *NS* ¼ *NtRF* or *NS* < *NtRF*, **PD** is a square matrix that is approximately unitary **P<sup>H</sup> DPD**≈**PDP<sup>H</sup> <sup>D</sup>**≈**INS** or a non-square matrix that is approximately semiunitary **P<sup>H</sup> DPD**≈**INs** , respectively [2].

Algorithm 1. Proposed IFA Hybrid Precoding.

**Input**: The optimum unconstrained solution **Popt FA** ∈*C<sup>N</sup>*tx *NS :* and the maximum number of iterations *K* **Output**: Analog **PAIFA** ∈*C<sup>N</sup>*tx *<sup>N</sup>*tRF *:* with the element-wise normalization and baseband **PD** ∈*C<sup>N</sup>*tRFx *NS* such that **Popt FA** � **PIFA** � � � � *<sup>F</sup>* is reduced and k k **PIFA** 2 *<sup>F</sup>* ¼ *NS*, where **PIFA** ¼ **PAIFAPD** Initialization: analog precoder **PAIFA** <sup>1</sup> <sup>¼</sup> **Popt FA** <sup>⊘</sup> **<sup>P</sup>opt FA** � � � � ffiffiffiffiffi *Nt* � � <sup>p</sup> *:* 1: for *k* ¼ 1 : *K* do 2: Update: **PD** <sup>¼</sup> **PH AIFA** *k* **PAIFA** *k* � ��**<sup>1</sup> P<sup>H</sup> AIFA** *k* **Popt***:* **FA** 3: Update the residual: **Pres** <sup>¼</sup> **<sup>P</sup>opt FA** - **PAIFA** *k* **PD**

4: Update: **PAIFA** *<sup>k</sup>*þ<sup>1</sup> <sup>¼</sup> **PAIFA** *<sup>k</sup>* <sup>þ</sup> *<sup>α</sup>***PresP<sup>H</sup> D** 5: Element-Wise Normalization:

$$\mathbf{P\_{AIFA}}^{k+1} = \mathbf{P\_{AIFA}}^{k+1} \mathcal{Q} \left( \left| \mathbf{P\_{AIFA}}^{\mathbf{R}+1} \right| \sqrt{N\_t} \right),$$


$$\mathbf{P\_{AIFA}}^{k+1} = \left[ \mathbf{P\_{AIFA}}^{k+1} (\mathbf{U})\_1 \mathcal{Q} \left( \left| (\mathbf{U})\_1 \right| \sqrt{N\_t} \right) \right]^k$$

9: end if 10: end for 11: **PD** <sup>¼</sup> **<sup>P</sup><sup>H</sup> AIFAPAIFA** � ��**<sup>1</sup> PH AIFAPopt FA** 12: **PD** <sup>¼</sup> ffiffiffiffiffiffi *NS* p **PD** k k **PAIFAPD** *<sup>F</sup>* 13: return **PIFA** ¼ **PAIFAPD**

Thus, each iteration in Algorithm 1 minimizes the objective function **Popt FA** � **PAIFAPD** � � � � *<sup>F</sup>* and the error term decreases monotonically with each iteration. Since the objective function has a lower bound, the proposed method must converge to local optimum points.

#### **4.2 Iterative subarray (ISA) algorithm**

In this subsection, the proposed ISA hybrid precoding is derived and discussed. The optimization problem of the *lth* subarray in Eq. (10) can be solved for each subarray in a similar way as in Eq. (22), and the following iterative solution can be obtained:

$$\mathbf{p}\_{Al}^{k+1} = \mathbf{p}\_{Al}^{k} + \mathbf{P}\_{res}\mathbf{p}\_{Dl}^{H} \tag{26}$$

The residual precoding matrix for the *lth* subarray, **P***res*, is calculated as **<sup>P</sup>***res* <sup>¼</sup> **<sup>P</sup>***opt <sup>l</sup>* � **p***Al***p***Dl*. Eq. (26) shows that the updated value of **p***Al <sup>k</sup>*þ<sup>1</sup> for the lth subarray can be obtained by adding **P***res***p***<sup>H</sup> Dl* to the value of **p***Al <sup>k</sup>* from the previous iteration. Once initial values of **p***Al* and **p***Dl* have been obtained, these can be used to iteratively solve the optimization problem given in Eq. (26). After convergence, the resulting **p***Al* of the lth subarray must be normalized to satisfy the constraint in Eq. (10).

Algorithm 2. Proposed ISA Hybrid Precoding scheme

1. Input **V**1,*K*

2.Decompose **V1** as **<sup>V</sup>**<sup>1</sup> <sup>¼</sup> **<sup>V</sup>**<sup>~</sup> <sup>1</sup>**V**<sup>~</sup> <sup>2</sup> … **<sup>V</sup>**<sup>~</sup> Lt � �<sup>T</sup>

3.For 1≤*l* ≤*Lt* 4.Find **p***initial Al* <sup>¼</sup> <sup>1</sup>ffiffiffiffiffiffiffi *NtSA* <sup>p</sup> *e jangle* **<sup>V</sup>**<sup>~</sup> ð Þ*<sup>l</sup>* 5.Find **p***initial Dl* <sup>¼</sup> **<sup>p</sup>***Al* � �*<sup>H</sup>* <sup>∗</sup> **<sup>V</sup>**<sup>~</sup> *<sup>l</sup>* 6. Initial **p***Al <sup>k</sup>* <sup>¼</sup> **<sup>p</sup>***initial Al* 7. Initial **<sup>p</sup>***Dl* <sup>¼</sup> **<sup>p</sup>***initial Dl* 8.For 1≤*k*≤*K* 9.Compute the residual **<sup>P</sup>***res* <sup>¼</sup> **<sup>V</sup>**<sup>~</sup> *<sup>l</sup>* � **<sup>p</sup>***Al <sup>k</sup>***p***Dl* 10.Update **p***Al <sup>k</sup>*þ<sup>1</sup> <sup>¼</sup> **<sup>p</sup>***Al <sup>k</sup>* <sup>þ</sup> **<sup>P</sup>***res***p***<sup>H</sup> Dl* 11.Normalize **p***Al <sup>k</sup>*þ<sup>1</sup> <sup>¼</sup> **<sup>p</sup>***Al <sup>k</sup>*þ<sup>1</sup>*=* **p***Al <sup>k</sup>*þ<sup>1</sup> � � � � <sup>∗</sup> ffiffiffiffiffiffiffiffiffiffi *NtSA* � � <sup>p</sup> 12.**p***Dl* ¼ **p***Al <sup>k</sup>*þ<sup>1</sup> � �*<sup>H</sup>* <sup>∗</sup> **<sup>V</sup>**<sup>~</sup> *<sup>l</sup>* 13.end for 14.end for 15.Construct **P***<sup>D</sup>* and **P***AISA* 16.Normalize **<sup>P</sup>***<sup>D</sup>* as **<sup>P</sup>***<sup>D</sup>* <sup>¼</sup> ffiffiffiffi *Ns* p k k **P***AISA***P***<sup>D</sup> <sup>F</sup>* **P***<sup>D</sup>* 17.Return **P***ISA*=**P***AISA***P***<sup>D</sup>*

The normalized **p***Al <sup>k</sup>*þ1can be expressed as

$$\mathbf{p}\_{AI}^{\;k+1} = \mathbf{p}\_{AI}^{\;k+1} / \left( \left| \mathbf{p}\_{AI}^{\;k+1} \right| \* \sqrt{N\_{tSA}} \right) \tag{27}$$

In summary, the pseudo-code of the proposed ISA hybrid precoding can be summarized in Algorithm 2, which can be explained as follows. First, the initial values of **p***Al* and **p***Dl* of the *lth*subarray must be obtained. Then, the iterative solution for the *lth* subarray is applied to obtain the optimal **p***Al* and **p***Dl* and this operation will be repeated for all subarrays. Finally, **P***<sup>D</sup>* and **P***<sup>A</sup>* are constructed. Note that the initial solution of **p***Al* and **p***Dl* for each subarray can be obtained as follows:

$$\mathbf{p}\_{Al}^{initial} = \frac{\mathbf{1}}{\sqrt{N\_{tSA}}} e^{\text{angle}\left(\mathbf{V}\_{\text{l}}\right)} \tag{28}$$

and

$$\mathbf{p}\_{Dl}^{initial} = \left(\mathbf{p}\_{Al}^{initial}\right)^H \ast \tilde{\mathbf{V}}\_1 \tag{29}$$

where **<sup>V</sup>**<sup>~</sup> <sup>1</sup> is an *NtSA* � *Ns* matrix that represents the optimal precoder of the *lth* subarray.

The algorithm can be summarized as follows:

1.Obtain the initial values **p***initial Al* and **p***initial <sup>D</sup><sup>l</sup>* for the *lth* subarray.

2.Apply an iterative solution for the *lth* subarray to acquire the optimal **p***Al* and **p***Dl*.

3.Repeat the above operation for all subarrays.

4.Construct the proposed ISA analog precoder, **P***AISA*, and digital precoder, **P***D*.

5.Construct the hybrid precoder of the proposed ISA as **P***ISA* ¼ **P***AISA***P***D*.

Eq. (26) satisfies the property of the gradient descent method as it minimizes the objective function **P***opt <sup>l</sup>* � **p***Al***p***Dl* 2 *<sup>F</sup>* in each iteration from step 8 to 13 of Algorithm 2. This guarantees the convergence of **p***Al <sup>k</sup>*þ<sup>1</sup> to a local optimal point.

Note that the proposed ISA algorithm in this subsection differs from the proposed IFA algorithm in the previous subsection in its approach. The proposed ISA algorithm independently obtains hybrid precoding for each subarray and then combines them to find the hybrid precoding for the entire system. This makes the proposed ISA algorithm simpler than the IFA algorithm, which computes the hybrid precoding directly for the entire system.

#### **4.3 Iterative hybrid array (IHA) algorithm**

In this subsection, we introduce a low-complexity IHA hybrid precoding algorithm. The combiner derivation follows a similar approach. We know that the structure of optimal precoder of the *ngth* group **VGng** is non-square semi-unitary, meaning **VH GngVGng** ¼ **INs** when *Ntg* <sup>¼</sup> 1 and **VH GngVGng**≈**INs** when *Ntg* >1. Therefore, the HA precoder design must also be non-square semi-unitary, i.e., **P<sup>H</sup> DGngPH AGngPAGngPDGng** ¼ **INs** . This structure will be used to solve the optimization problem and make the HA precoder **PAGngPDGng** approach the optimal precoder **VGng** as closely as possible. Thus, by assuming the structure of the HA hybrid precoder **PAGngPDGng** as a semi-unitary matrix, we need to solve the following optimization problem:

$$\begin{aligned} \left(\mathbf{P\_{AG\_{\text{ug}}}^{\text{opt}}, \mathbf{P\_{DG\_{\text{ug}}}^{\text{opt}}}\right) &= \text{arg} \min \left\| \mathbf{P\_{G\_{\text{ug}}}^{\text{opt}} - \mathbf{P\_{AG\_{\text{ug}}}} \mathbf{P\_{DG\_{\text{ug}}}} \right\|\_{F}^{2} \\ & \mathbf{P\_{AG\_{\text{ug}}}}, \mathbf{P\_{DG\_{\text{ug}}}} \\ & \text{s.t.} \mathbf{P\_{AG\_{\text{ug}}}} \in \mathcal{F}\_{AHA}, \\ \mathbf{P\_{AG\_{\text{ug}}}^{\text{H}} \mathbf{P\_{AG\_{\text{ug}}}} &= \mathbf{I\_{N\_{\text{BU}}}} \text{ and } \mathbf{P\_{DG\_{\text{ug}}}^{\text{H}} \mathbf{P\_{DG\_{\text{ug}}}} = \mathbf{I\_{N\_{\text{s}}}} \\ & \left\| \mathbf{P\_{AG\_{\text{ug}}} \mathbf{P\_{DG\_{\text{ug}}}}} \right\|\_{F}^{2} = N\_{s} / N\_{\text{fg}} \end{aligned} \tag{30}$$

*Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

The problem in Eq. (30) is a non-convex optimization problem whose solution is mathematically intractable. However, in this subsection, we will use iterative algorithms to solve (30):

$$\mathbf{P}\left(\mathbf{P}\_{\text{AG}\_{\text{ng}}}^{\text{opt}}, \mathbf{P}\_{\text{DG}\_{\text{ng}}}^{\text{opt}}\right) = \qquad \text{arg} \qquad \min \quad \left\| \mathbf{P}\_{\text{G}\_{\text{ng}}}^{\text{opt}} - \mathbf{P}\_{\text{AG}\_{\text{ng}}} \mathbf{P}\_{\text{DG}\_{\text{ng}}} \right\|\_{\text{F}}^{2} \tag{31}$$
 
$$\mathbf{P}\_{\text{AG}\_{\text{ng}}}, \qquad \mathbf{P}\_{\text{DG}\_{\text{ng}}}$$

We first need to find the baseband precoder **PDGng** of the *ngth* group in the HA architecture that minimizes the Euclidean distance using the initialization of the proposed HA precoder **PAGng** of the *ngth* group in the HA architecture, which is calculated by taking the first *NtRF=Ntg* columns from **Popt Gng** and then normalizing them such that each entry has constant magnitude, i.e.,

**PAGng** <sup>¼</sup> **<sup>P</sup>opt Gng**<sup>⊘</sup> **<sup>P</sup>opt Gng** � � � � � � ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi *Nt=Ntg* � � � q� � . We then find the RF precoder **PAGng** such that the IHA hybrid precoder **PAGngPDGng** of the *ngth* group is sufficiently "close" to the optimal unconstrained digital precoder **Popt Gng** of the *ngth* group in the HA architecture. Specifically, we would like to solve the following optimization problem first, which is related to (31):

$$\mathbb{P}\left(\mathbf{P}\_{\mathrm{DGng}}^{\mathrm{opt}}\right) = \arg\min\_{\mathbf{P}\_{\mathrm{DGng}}} \left\| \mathbf{P}\_{\mathrm{G\_{\mathrm{ug}}}}^{\mathrm{opt}} - \mathbf{P}\_{\mathrm{AG\_{\mathrm{ug}}}} \mathbf{P}\_{\mathrm{DG\_{\mathrm{ug}}}} \right\|\_{F}^{2} \tag{32}$$

The objective function can be expanded as

$$\left\| \mathbf{P}\_{\text{G}\_{\text{ng}}}^{\text{opt}} - \mathbf{P}\_{\text{AG}\_{\text{ng}}} \mathbf{P}\_{\text{DG}\_{\text{ng}}} \right\|\_{F}^{2}$$

$$= \text{tr}\left( \mathbf{P}\_{\text{G}\text{ng}}^{\text{opt}} \mathbf{P}\_{\text{G}\text{ng}}^{\text{opt}} \right) - 2 \text{tr}\left( \mathbf{P}\_{\text{G}\text{ng}}^{\text{opt}} \mathbf{P}\_{\text{AG}\_{\text{ng}}} \mathbf{P}\_{\text{DG}\_{\text{ng}}} \right) + \left\| \mathbf{P}\_{\text{AG}\_{\text{ng}}} \mathbf{P}\_{\text{DG}\_{\text{ng}}} \right\|\_{F}^{2} \tag{33}$$

$$= 2N\_{S} - 2 \text{tr}\left( \mathbf{P}\_{\text{G}\text{ng}}^{\text{opt}} \mathbf{P}\_{\text{AG}\_{\text{ng}}} \mathbf{P}\_{\text{DG}\_{\text{ng}}} \right)$$

The solution of this problem, which is to find the maximization of **Popt Gng H PAGngPDGng** , is solved by what is called the orthonormal Procrustes problem [28] as follows:

$$\mathbf{P\_{DG\_{xy}}} = \mathbf{V}\mathbf{U}^{\mathrm{H}} \tag{34}$$

where **Popt Gng H PAGng** <sup>¼</sup> **<sup>U</sup>ΣVH**. Then, we keep **PDGng** fixed and solve the same optimization problem but now minimizing over **PAGng** as follows:

$$\left(\mathbf{P\_{AGng}^{\text{opt}}}\right) = \arg\min\_{\mathbf{P\_{AGng}}} \left\| \mathbf{P\_{G\_{ng}}^{\text{opt}}} - \mathbf{P\_{AG\_{ng}}} \mathbf{P\_{DG\_{ng}}} \right\|\_{F}^{2} \tag{35}$$

Similar to (33), expanding the objective function yields:

$$\left\| \left\| \mathbf{P}\_{\mathrm{G\_{\mathrm{ug}}}}^{\mathrm{opt}} - \mathbf{P}\_{\mathrm{AG\_{\mathrm{ug}}}} \mathbf{P}\_{\mathrm{DG\_{\mathrm{ug}}}} \right\|\_{F}^{2} = 2N\_{S} - 2 \mathrm{tr} \left( \mathbf{P}\_{\mathrm{G\_{\mathrm{ug}}}}^{\mathrm{opt}} \mathbf{P}\_{\mathrm{AG\_{\mathrm{ug}}}} \mathbf{P}\_{\mathrm{DG\_{\mathrm{ug}}}} \right) \tag{36}$$

Assuming that the IHA analog precoder **PAGng** semi-unitary matrix, the solution that maximizes **Popt Gng H PAGngPDGng** in (35), is also solved by the orthonormal Procrustes problem as follows:

$$\mathbf{P\_{AG\_{xy}}} = \mathbf{V}\mathbf{U}^{\mathrm{H}} \tag{37}$$

where **PDGngPopt Gng H** <sup>¼</sup> **<sup>U</sup>ΣVH**. Also, there is another way to maximize **Popt Gng H PAGngPDGng** in (35) as follows:

$$\mathbf{P\_{AG\_{ng}}} = \mathbf{P\_{Gng}^{\text{opt}}} \mathbf{P\_{DGng}^{\text{H}}} \tag{38}$$

Both solutions in (37) and (38) are almost the same because we assume that **PDGng** is a non-square semi-unitary or square unitary matrix in (36) and the singular values of **PDGngPopt Gng <sup>H</sup>** are almost unity when *Ntg* <sup>¼</sup> 1 and close to unity when *Ntg* <sup>&</sup>gt;1.

The main difference between the hybrid design in this chapter and that in [29] is that our design assumes that **PAGng** is non-square semi-unitary matrix, and **PDGng** is nonsquare semi-unitary or square unitary matrix. Our design is more versatile and applicable in various scenarios, including when the number of data streams is equal to or less than the number of RF chains. In contrast, the HD-AM (hybrid design by alternating minimization) technique can only be used when the number of data streams is equal to the number of RF chains [29]. Additionally, our derivation is based on the HA architecture, while HD-AM is only applicable to the FA architecture. Our proposed algorithm is straightforward since it calculates the hybrid precoding for each group in the HA architecture independently before using it to determine that of the entire system. Conversely, the method presented in [29] computes the hybrid precoding directly for the entire system, resulting in higher computational complexity.

Algorithm 3: Proposed IHA Hybrid Precoding

Input: The optimum unconstrained solution **Popt Gng** <sup>∈</sup>*C*ð Þ *Nt=Ntg* <sup>x</sup> *<sup>N</sup>*<sup>S</sup> , initialized analog procoder **PAGng** ∈*C*ð Þ *Nt=Ntg* <sup>x</sup> ð Þ *NtRF=Ntg* with the element-wise normalization, and the maximum number of iterations *K*.

$$\begin{aligned} & \text{Output:} \,\text{Analog}\,\mathbf{P}\_{\text{HA}\_{\text{ug}}} \in C^{\text{V}\_{k}\times\text{N}\_{\text{AG}}} \text{ such that } \left\| \mathbf{P}\_{\text{G}\_{\text{ug}}}^{\text{opt}} - \mathbf{P}\_{\text{HA}\_{\text{ug}}} \right\|\_{F} \text{ is reduced and} \\ & \left\| \mathbf{P}\_{\text{HA}\_{\text{ug}}} \right\|\_{F}^{2} = N\_{\text{S}}/N\_{\text{G}}, \text{ where } \mathbf{P}\_{\text{HA}\_{\text{ug}}} = \mathbf{P}\_{\text{AG}\_{\text{ug}}} \mathbf{P}\_{\text{DG}\_{\text{ug}}}. \\ & \mathbf{1}; \text{for } i = 1: K \text{ do} \\ & \text{2: Update:} \,\mathbf{P}\_{\text{DG}\_{\text{g}}} = \mathbf{U}\mathbf{U}^{\text{H}}, \text{where } \mathbf{P}\_{\text{G}\text{g}}^{\text{opt}} \mathbf{P}\_{\text{AG}\_{\text{g}}} = \mathbf{U}\boldsymbol{\Sigma}\mathbf{V}^{\text{H}} \\ & \text{3: Update:} \,\mathbf{P}\_{\text{AG}\_{\text{g}}} = \mathbf{P}\_{\text{G}\text{g}}^{\text{opt}} \mathbf{P}\_{\text{DG}\_{\text{g}}}^{\text{H}} \\ & \text{4: Element:} \,\text{Wise Normalization:} \,\mathbf{P}\_{\text{AG}\_{\text{ug}}} = \mathbf{P}\_{\text{AG}\_{\text{g}}} \odot \left( \left\| \mathbf{P}\_{\text{AG}\_{\text{g}}} \right\| \sqrt{(N\_{l}/N\_{\text{g}})} \right) \\ & \text{5:end for} \\ & \mathbf{7} \cdot \mathbf{P}\_{\text{DG}\_{\text{g}}} = \mathbf{$$

*Architectures for Hybrid Precoding and Combining Techniques in Massive MIMO Systems… DOI: http://dx.doi.org/10.5772/intechopen.112113*

Algorithm 3 provides the pseudo-code for the proposed IHA precoder. The inputs of the algorithm are **Popt Gng** <sup>∈</sup>*C*ð Þ *Nt=Ntg* <sup>x</sup> *<sup>N</sup>*<sup>S</sup> , initialized analog procoder **PAGng** <sup>∈</sup>*C*ð Þ *Nt=Ntg* <sup>x</sup> ð Þ *NtRF=Ntg* , i.e., **PAGng** <sup>¼</sup> **Popt Gng**<sup>⊘</sup> **<sup>P</sup>opt Gng** � � � � � � ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi *Nt=Ntg* q� � � � � � , and the maximum number of iterations *K*, where *K* ≥1 for *N*<sup>S</sup> < *NtRF=Ntg* � � or *NtRF=Ntg* � �≤ *NS*. In the general case of *NS* ≥1, the algorithm starts by computing the *ngth* group **PDGng** using the orthonormal Procrustes solution in step 2. After that, the algorithm proceeds to update the *ngth* group RF precoder **PAGng** in step 3. Step 4 ensures that the proposed RF precoder **PAGng** is satisfied exactly with constant-magnitude entries, which can be applied at RF using analog phase shifters. After the last iteration of the algorithm, **PDGng** is updated via the maximal ratio combining (MRC), instead of the least solution, which has an impact on the Frobenius norm objective function **Popt Gng** � **PAGngPDGng** � � � � � � 2 *F* ; the least solution becomes MRC after implementing the semi-unitary analog precoder, i.e., **PH AGngPAGng** ¼ **I** ð Þ *NtRF=Ntg* . After *<sup>K</sup>* iterations, the process is completed and the algorithm finds the *Nt=Ntg* � � x *NtRF=Ntg* � � proposed RF precoding matrix **PAGng** and the *NtRF=Ntg* � � x *NS* baseband precoder **PDGng** such that **Popt Gng** � **PAGngPDGng** � � � � � � 2 *<sup>F</sup>* is minimized. In steps 8 and 9, we ensure that the transmit power constraint is satisfied for each *ngth* group and return the proposed *ngth* group IHA precoder **PHAng** ¼ **PAGngPDGng** . The proposed *ngth* group hybrid combiner **WHAng** can be calculated in the same way.
