Codebook Designs for Millimeter-Wave Communication Systems in Both Low- and High-Mobility: Achievements and Challenges

More connectivity, higher data rates, more reliability, massive network capacity, higher performance and fewer delays are required in the fifth generation (5G) of cellular networks. The last ten years have contained explosive growth in mobile data traffic due to the rapid proliferation of Internet-connected smart devices. For 5G mobile and wireless networks, one of the challenges is to discover how to solve the dilemma between capacity requirements and spectrum shortage. Millimeter-wave communication is therefore a key enabler for 5G technologies. Due to the high path and penetration losses at millimeter wavelengths, antenna beamforming assumes a pivotal role in establishing and maintaining a robust communication link. Recently, codebook-based beamforming has been proposed to achieve a fair balance between complexity and performance and to eliminate the overheads. In this paper, we track the techniques of codebook-based beamforming for millimeter-wave communications in the context of the distinct requirements for low-mobility channel and high-mobility channel scenarios. Subsequently, we will provide a comparison of existing codebook-based beamforming techniques in terms of their respective benefits and shortcomings. Finally, some open directions of research are discussed, and challenges that need to be met are pointed out.


1D
One 5G technologies promise faster connections, lower latency, higher reliability, more capacity and wider coverage [1]. In fact, wireless communication application categories are projected to increase significantly in the foreseeable future [2]. In order to meet this challenging demand, the issue of the capacity enhancement of wireless links needs to be addressed. Against this backdrop, millimeter-wave (mmWave) technology for indoor and outdoor wireless communications has emerged as a new frontier in deploying high-speed data links. It is recognized as a promising candidate for next-generation wireless cellular communications that can alleviate the bandwidth shortage [3]. Equipping transmitters and receivers with multiple-input multipleoutput (MIMO) capabilities can achieve increased diversity and multiplexing gains. In fact, the usage of multiple antennas at both sides of the wireless link can increase the transmit power efficiency [4]. The seminal work [5] presented the capacity results of MIMO systems in Gaussian channels, which sparked great interest in academia and industry.
Compared to present communication systems, which operate using lower frequencies, a major impediment to mmWave communications is the high path loss and attenuation [9]. Fortunately, the much smaller wavelength in the mmWave band enables many more antennas to be packed into a compact platform, which can compensate for the path loss using highly directional beamforming. Analog or radio frequency (RF) beamforming is usually adopted to overcome high path loss, achieve good link quality and reduce the cost and power consumption of the systems. In fact, the resultant beams need to be well aligned between the base station (BS) and user to compensate for the severe path loss and to increase the antenna gain. Due to a large number of antenna elements (typically required to achieve a reasonable gain), optimal beamforming towards the receiver is hard to achieve. The estimation overhead and complexity of the complete channel state information matrix become impractical as the number of antenna elements increases [10].
Recently, codebook-based beamforming has been proposed to eliminate such overhead, and it is shown to achieve a fair balance between complexity and performance. Also, transmit beamforming can considerably improve the performance of MIMO systems [11]- [13].

A. RELATED SURVEYS
In the literature, there are some brief surveys on beamforming for mmWave communication systems, e.g., [6]- [8]. For instance, the third and fourth sections in [6] were dedicated VOLUME 10, 2022 TABLE 1. Summary and comparison of existing surveys related to codebook-based beamforming. The symbol indicates that a survey includes little information in the scope of a domain. The symbol indicates that the survey includes more information in the scope of a domain. The symbol X indicates that a survey did not review the scope of a domain.
to give a brief overview of beamforming techniques for single-user and multiple-user communications in networks where relays with MIMO capabilities are deployed. Beamforming schemes for single-user and multi-user communications were presented. Various cases have been discussed, such as single and multiple relay topologies with and without relay selection. Likewise, in [7], the authors presented a comprehensive survey of antenna beamforming for mmWave communications. This survey does not cover the details of beamforming in general. Nevertheless, it does include a brief overview which encompasses certain fundamental concepts and beamforming techniques. Finally, [8] presents a comprehensive survey of hybrid beamforming architecture and signal processing. Table 1 provides a comparison between the existing surveys and our paper.

B. SCOPE AND OBJECTIVE OF THE SURVEY
This survey aims to provide a comprehensive view of state-of-the-art codebook design and beam selection technique practices in mmWave communication systems for both low-mobility channels and high-mobility channels. In this survey, a detailed and fair comparison between codebook-based beamforming techniques is provided by presenting their limitations and key advantages. Each method is presented in a clear and concise manner. However, there are several evaluation parameters that must be considered when designing the codebook-based beamforming techniques. These parameters have critical impacts on designing a codebook and choosing the right beam selection technique to be adapted to mmWave communication systems. Additionally, the training overhead is a key parameter for comparing beam selection techniques since it demonstrates whether the task of selection is simple or complicated. Equally, the mean square error (MSE) and the signal-to-noise ratio (SNR) are frequently used to select the best beam pattern. In addition, most codebook design methods are based on the maximization of the data rate. Ultimately, all of these parameters can affect the performance of codebook-based beamforming techniques and, thus, should be pointed out. To the best of our knowledge, a comprehensive survey that describes and compares codebook designs and beam selection techniques for mmWave communication systems in both low-and high-mobility does not exist in the literature. This article fills this gap by containing a comprehensive up-to-date survey of research in these domains. Beyond reviewing the most relevant literature, we discuss the feasibility of various codebook-based beamforming techniques in the resolution of mmWave communication issues. At the end of this paper, we provide potential future research directions along with open challenges that need more investigation. Hence, our ultimate objective is to provide future affiliated researchers who plan to take advantage of codebook designs to resolve problems with a definite guide that answers the following key questions: • How can mmWave communication systems be modelled?
• What are the most recent codebook designs and beam selection techniques for low-mobility and high-mobility cases?
• What should be considered when designing codebookbased beamforming methods?
• What are the most important and promising directions worthy of further investigation?

C. CONTRIBUTIONS OF THE SURVEY
The aforementioned surveys provide partial answers to some of these questions. This survey goes beyond these previous studies and covers a wide range of codebook-based beamforming techniques that have not been explicitly discussed in earlier surveys. Unlike such existing surveys, we also review the MIMO architectures, evaluation parameters against the • We provide an inclusive review of the existing codebook-based beamforming techniques for mmWave communication systems for both types of channels, instead of briefly discussing the main codebook designs and beamforming protocols and focusing on lowmobility channels, like, e.g., [6], [7] and [8].
• We particularly discuss the most recent codebook designs, focusing on their applicability in mmWave communications and their structures and performances. To the best of our knowledge, this is the first time that codebook-based beamforming is inclusively reviewed for both low-mobility channels and high-mobility channels.

D. ORGANIZATION OF THE SURVEY
This paper is structured in a top-down manner as shown in Figure 1. The outline of this paper can be summarized as follows: • First, we begin, in section II, by presenting a basic background; this is followed by a description of the basic mmWave communication keys to illustrate the main concepts required to understand the rest of this article.
• Then, in section III, a brief overview of the mmWave communication process and MIMO architectures is provided.
• Then, in section IV, we present the codebook designs and beam selection techniques for mmWave communication systems for low-mobility channels.
• Then, codebook-based beamforming techniques are introduced in section V for three types of mmWave communications in high-mobility channel scenarios: unmanned aerial vehicle (UAV) communications, device-to-device communications and vehicular communications.
• Finally, we wrap up this article by providing open challenges and potential research directions along with concluding remarks in sections VI and VII, respectively. In Figure 1, a chart of the overall organisation of the paper is provided.

E. NOTATION
Lightface letters denote scalars. Lower-and upper-case letters denote column vectors and matrices, respectively. A n,m and x i stand for the entries of matrix A and vector x, respectively. The M × M identity matrix is I M . The Kronecker product of matrix A and matrix B is expressed as A ⊗ B. A H is the Hermitian (conjugate transpose) of matrix A. E is the statistical expectation. The letter j is the imaginary unit, i.e., j 2 = −1. An ellipsis ''. . . '' refers to the continuation of an equation. Finally, x denotes the ceiling function and mod (x, y) refers to the remainder after x is divided by y.

II. BACKGROUND
In order to further illustrate the integration of codebook designs and beamforming into mmWave communication systems, we begin this section by presenting some basic background information on codebook-based beamforming. Then, we provide the differences between low-mobility channels and high-mobility channels and the impact of these differences on the beamforming solutions.
A. CODEBOOK-BASED BEAMFORMING CONCEPTS 1) BEAMFORMING OVERVIEW Beamforming, also known as spatial filtering, is a technique used in array processing to receive a signal radiating from a specific direction and suppress signals emerging from other directions [14]. The beamforming protocol is composed of 2 stages: beam sweeping and beam management.
• Beam sweeping stage: This is the operation of covering a spatial area with beams transmitted and/or received during a time interval in a predetermined way [15]. New initial access techniques use beam sweeping to create multiple beams between the BS and user equipment (UE) and then to establish a communication link [16], [17].
• Beam management stage: It is central in the operation of beamformed wireless cellular systems such as 5G New Radio (NR) networks [18]. Beam management procedures can be categorized into beam determination, beam measurement and reporting, beam switching, beam indication and beam recovery.
-Beam measurement and reporting: Efficient beam measurement and reporting procedures are important for ensuring low overhead and UE complexity [19]. -Beam determination: After device-to-device linking, a beam searching algorithm is used in order to allow any two devices that intend to communicate to be able to find each other by finding the best quasi-omni pattern pair for command transmission and reception [20]. -Beam indication: It is necessary for the transmitreceive point (TRP) to tell the UE which beams are used for data transmission so that the UE can use the corresponding proper receive beam for data reception [15]. -Beam tracking: The direction in which a signal is sent is calculated dynamically by the base station, effectively following the user. -Beam switching: If a beam cannot track a user, the UE may switch to another beam. -Beam recovery: This refers to a recovery procedure that occurs when a link between the BS and the UE can no longer be maintained. In fact, for the UE to identify new beam(s) after detecting beam failure, the TRP must request the new candidate beam(s).
Different beamforming procedures are presented in Figure 2.

2) BEAM PATTERNS
There are generally 3 kinds of beam patterns: the quasi-omni pattern, sector and beam.
• The term quasi-omni is used to refer to a direction of an array pattern that covers a very broad region of interest around devices. It is the lowest-resolution pattern specified in codebooks.
• The sector pattern is used to refer to a direction of an array pattern that covers a relatively broad area of multiple beams. A sector can cover a set of consecutive or non-consecutive beams. In fact, different sectors can overlap. Sector is the second-highest-resolution pattern specified in the codebooks.
• The beam pattern is the highest-resolution pattern specified in the codebooks.

3) CODEBOOK OVERVIEW
A codebook is a collection of beams where each beam covers a specific direction in space and all beams collectively exhaust the entire space. More specifically, it is actually an N ×K matrix, where N is the number of antenna elements and K is the number of beam patterns. The k − th column vector w k in the codebook contains the weights of the elements that direct the beam to a certain direction in the azimuth/elevation domain.

B. DIFFERENCE BETWEEN LOW-MOBILITY CHANNELS AND HIGH-MOBILITY CHANNELS IN TERMS OF BEAMFORMING PROCESS
High-mobility channels differ from low-mobility channels due to their quickly varying characteristics, which are caused by high user mobility, dual mobility or quick changes in the channel propagation conditions. The existing codebook-based beamforming techniques for low-mobility communication systems cannot be directly applied in the case of high-mobility channels for many reasons: -They have growing complexity in high movements and rotations. In fact, due to the Doppler effect caused by the mobility of users, such as unmanned aerial vehicles, high-speed trains and autonomous vehicles, the mmWave channel changes rapidly [21]. -The mobility of channels affects the beamforming process. Unlike static mmWave communications, in the case of a mobile channel, once an initial beam pair has been established, there is a need to regularly re-evaluate the selection of the transmitter-side and receiver-side beam directions due to the movements and rotations of the mobile device [22]. -As discussed in [23], the mobility of the user generally causes channel variation and reduces the coherent block length, thus making the beam training overhead more severe even when a hierarchical codebook is utilised. -Sharp beams are susceptible to beam misalignment due to mobility or blockage. In fact, mmWave communications incur a high beam alignment cost in mobile scenarios. Therefore, in this case, an efficient beam alignment mechanism should be required to mitigate the resulting overhead [24]. -The beam-sweeping protocol should account for the uncertainty of the location, the speed of the mobile user and the temporal overhead of beam sweeping [24].

III. mmWAVE COMMUNICATION SYSTEMS
mmWave communication systems need to employ a large number of antennas on the transmitter and receiver sides.
In this section, we will present different MIMO architectures and their characteristics. Then, we will discuss the mathematical modulation of mmWave communication systems. The symbols representing the scalar parameters used in this section are summarized in Table 2.

A. MODULATION OF MMWAVE COMMUNICATION SYSTEMS
If we consider a narrow-band system model for a hybrid architecture, the N T × 1 received signal vector at the UE is given by where H DL is the N T × N B Down-link (DL) matrix for the narrowband system, s B is the D B × 1 normalized transmitted symbol vector, F B = F RF,B F BB,B is the N B × D B precoding matrix of the BS, which combines the baseband precoder F BB,B ∈ C M B ×D B and the RF precoder F RF,B ∈ C N B ×M B and n is the additive white Gaussian noise (it is a N T × 1 array). Then, the received vector r is processed at the UE and the output is the D T × 1 array: where W T = W RF,T W BB,T is the N T ×D T combiner matrix of the mobile terminal (MT) which is assumed to consecutively apply the RF combiner W RF,B ∈ C N T ×M T , and the baseband combiner W BB,T ∈ C M T ×D T . For wideband systems, the received signal is expressed at each subcarrier k by: In Figure 3, we present the signal processing for mmWave communication systems.

B. IMPACT OF MIMO ARCHITECTURE IN CODEBOOK-BASED BEAMFORMING PROCESS 1) DIGITAL BEAMFORMING
Each antenna has a dedicated RF signal and path [25]. Phases and amplitudes are digitally controlled by baseband processing. Therefore, digital beamforming provides the best beam control. In addition, in this architecture, each antenna element has its own transceiver and data converters [3]. This makes it possible to generate several sets of signals and apply them to the antenna elements. Therefore, the antenna array is able to handle multiple data streams and form multiple directed beams at the same time [26]. As a result, this architecture is able to serve multiple users in a highly efficient manner, but it requires more hardware and power consumption [27], [28].

2) ANALOG BEAMFORMING
It uses a single common RF source split among multiple antenna elements. Therefore, the beam is controlled by adjusting analog phase shifters along the RF path [29]. In this architecture, there is only a single set of data converters for the entire antenna, and only a single data stream is handled [3]. Unlike in digital beamforming, only one beam per set of antenna elements can be formed. This beam will be controlled by adjusting the analog phase shifters. The analog architecture is the simplest and most cost-effective implementation of beamforming since it uses minimal hardware and software overhead [30], [31]. However, it is still limited in performance since only one beam per set of antenna elements can be formed.

3) HYBRID BEAMFORMING
The hybrid beamforming architecture has been widely considered as a potential solution to perform precoding and provide diversity in mmWave systems [32], [33]. It is divided into the analog beamformer and the digital beamformer. More specifically, it represents a compromise between the fully digital architecture (where the number of RF chains equals that of the antennas) and the fully redanalog architecture (where only one RF chain is employed) [3]. The analog beamformer is controlled by a group of analog phase shifters (APSs) to manipulate the signals from each antenna into a directional beam, and it is connected to the digital precoder via a reduced number of RF chains [34].
In addition, it has attracted much attention recently for its flexible trade-off between power consumption and performance [35]. The hybrid architecture with a small number of RF chains and a phase shift network utilizes the combination of full-dimension analog processing and lowdimensional digital (baseband) processing to achieve a better trade-off between performance and hardware cost [36].

4) LENS ARRAY BEAMFORMING
mmWave massive MIMO solutions relying on lens antenna arrays have become popular because of their ability to reduce the number of RF chains [37]- [39]. The beam-space channel created by the lens is sparse [40]. Consequently, by exploiting the energy-focusing capability of the lens, we can use a beam selector to select only a small number of energy-focusing beams and reduce both the MIMO dimension and the number of RF chains. There are a few codebook designs for mmWave massive MIMO systems relying on lens array architectures, like the codebook presented in [41]. In addition, as discussed in [42], the lens array can be used in a hybrid beamforming architecture to reduce the beam squint impairment by providing the true time delay.

5) FEW BIT ANALOG-TO-DIGITAL CONVERTERS BEAMFORMING
Digitizing RF signals using few-bit Analog-to-Digital Converters (ADCs) can provide system advantages in terms of reduced power dissipation, wider sampling bandwidth and decreased demand for digital throughput [43].
In [44], the authors have proved that hybrid analog/digital architectures and receivers with few-bit ADCs are two solutions that can reduce the beamforming cost and power consumption. In the following sections, we will present codebook designs and beam selection techniques for mmWave communication systems in both low-and highmobility channels.

IV. CODEBOOK-BASED BEAMFORMING IN THE CASE OF LOW-MOBILITY CHANNELS
Beamforming is essentially a spatial filtering operation. It uses an array of radiators to capture or radiate energy in a specific direction over its aperture. All codebook-based beamforming techniques operate in the same way: First, the antenna weight vectors are continuously updated to steer the main beam dynamically in the desired direction. Then, the optimal weight vectors are determined based on a specified error minimisation criterion. These techniques use beamforming matrices at the transmitters and the receivers, which form the antennas' beam patterns in such a way as to optimise a specific design criterion, such as MSE or SNR.

A. CODEBOOK DESIGN FOR LOW MOBILITY
A codebook is a matrix where each column specifies the beamforming weight vector. It specifies a pattern or direction. The set of columns spans the entire space, which is 360 degrees around a device. In this section, we will detail the codebook designs for low-mobility channels.  [45].
where m = 0, 1, . . . , M − 1, k = 0, 1, . . . , K − 1, m is the element index, k is the beam pattern index, M is the number of elements and K is the number of beams with K ≤ 2M .

2) DISCRETE FOURIER TRANSFORM CODEBOOK DESIGN
The discrete Fourier transform (DFT) codebook is a Fourierbased codebook. The B-bits DFT codebook is obtained by truncating the top M rows of the DFT matrix at the size of K = 2B. As shown in [46], a DFT codebook W = (w 1 , . . . , w K ), it can be computed as: Note that every entry of the DFT codebook is divided by √ M to normalise each codeword vector. In addition, the DFT codebook is another form of codebook defined by RF angle quantization. More specifically, both the number of phase shifts and the number of beam patterns are equal to the number of elements M [45]. Hence, the DFT-based codebook of size M ×K is generated by extracting M rows of the K ×K DFT matrix [47], and it takes the following form: where the positive integers u m ∈ {0, 1 . . . , K − 1} and u m = u n , ∀i = j with n = 1, . . . , M and m = 1, . . . , M . The selection of u = (u 1 , . . . , u M ) is meant to lower the cross-correlation between the codewords. The DFT-based codebook is often generated by searching for the u corresponding to the largest minimum distance between any two codewords as presented in [47].
According to the virtual representation discussed in [48], the DFT codebook can effectively represent the antenna correlation. Therefore, the DFT codebook is more suitable for a strongly correlated channel. As shown in [49], the phase-shifted version of a DFT matrix can be used to design a multi-resolution codebook that seems similar to the ideal beam patterns, and the combination of this multi-resolution codebook with a multi-level beamforming technique can provide an efficient way to improve the data rate performance in mmWave MIMO systems. The average training overheads of a DFT codebook designed for interleaved training-based hybrid precoding can be reduced using the codebook rearrangement method [36]. The DFT codebook is therefore motivated by the possibility of lower complexity hardware. However, if this codebook is used in multi-user multipleinput multiple-output (MU-MIMO) mode, the beams it generates have high side lobe levels, which can cause high interference [50].

3) NON-UNIFORM CODEBOOK DESIGNS
The 3rd Generation Partnership Project (3GPP) for a full-dimension MIMO channel model [51] shows that the non-uniform amplitude arrays can give a significantly higher rate compared to the DFT codebook in MU-MIMO settings. In addition, these codebooks are designed offline based on simple amplitude tapering and are therefore not complex to implement [50]. The power transmitted in any antenna in the non-uniform amplitude codebook designs is less than or equal to the power transmitted in the uniform codebook designs. However, in the case of single-user transmission, the side lobe levels do not affect the rate performance. Hence, the DFT works best, as it has the maximum main lobe gain. As the number of users increases, interference becomes higher for the DFT codebook, and therefore its sum rate is less than that of non-uniform amplitude codebooks. Thus, non-uniform amplitude beamforming vectors allow control over the side lobes, making them a good choice in the case of MU-MIMO [52]- [54]. Now, we will explain two non-uniform codebook designs, namely the Dolph-Chebyshev and Taylor codebook designs.

a: DOLPH-CHEBYSHEV CODEBOOK DESIGN
The Chebyshev array gives the narrowest main lobe for a given side lobe level. This leads to equal side lobes. The different steps of this codebook design are explained in [50].

b: TAYLOR CODEBOOK DESIGN
The Taylor codebook uses the Kaiser window. The expression of this codebook is found in [50].
In [52], the authors explain that the maximum per-antenna power for the Taylor codebook should be less than or equal to that of the DFT codebook. Thus, the transmit power using the Taylor codebook is less than the transmit power for the DFT codebook.

4) HADAMARD CODEBOOK DESIGN
The Hadamard matrix can be considered as a complex matrix with only two phases {0, π}, and its entries have only two values {−1, 1}. The real Hadamard matrix can be written in several ways: as a tensor Kronecker product form, via a recursion or via its matrix elements. Assume that N is a power of 2, i.e. N = 2 k , for some integer k.
In terms of the tensor Kronecker product form, the Hadamard matrix W H N takes the following structured form: With In terms of matrix elements, the (n, k) t h element of W H N can be written as: where n = 0, . . . , N − 1, k = 0, . . . , N − 1, and a n and b k are vectors whose entries are the binary expansions VOLUME 10, 2022 of the matrix position (n, k), where n = L l=1 a n (l)2 l−1 and The sequency-ordered complex Hadamard transform (SCHT) matrices are generated based on the products of the row vectors of complex Rademacher matrices and Hadamard matrices. They can be used to approximate the array response gain of the Fourier matrices but with a lower bit resolution for the APS.
As discussed in [55], the Hadamard transform can be used in RF beam steering to achieve better performance in terms of the average achievable spectral efficiency (SE) and a low hardware cost using 1-bit or 2-bit resolution APSs. With only one-or two-bit-resolution, phase shifters (PSs) can achieve a performance close to the optimal unconstrained singular value decomposition (SVD)-based precoding scheme. However, this is possible only if the number of RF chains is increased.

5) BEAM-STEERING CODEBOOK DESIGN
Beam-steering codebooks have the same form as array response vectors and can be parameterised by a simple angle. For this codebook, the angle is generated by quantizing the RF angle with several bits [45]. The (m, k) − th element in a beam-steering codebook is defined as where m = 0, 1, . . . , M − 1, k = 1, 2, . . . , 2 Bits and Bits is the number of quantized bits. The analog beam-steering codebook collects the candidate precoders, which are generated by sampling array response vectors of the BS array in interesting directions. Thus, the vectors in the RF precoder codebook at the BS are composed of the array response vectors [36] with quantized angles [17], [56].
The angles of the beam-steering codebook are uniformly sampled from [0, π]. However, the Angle-of-Arrival (AoA) and Angle-of-Departure (AoD) may not be located exactly at these sampled angles [57].
According to [36], this codebook design is provided as a solution for interleaved training-based hybrid precoding. More specifically, for an mmWave massive DL channel, the beam-steering codebook can reduce the training overhead of the interleaved training-based transmission scheme compared with the original DFT codebook.

6) TWO-STAGE 3D CODEBOOK DESIGN
The two-stage 3D codebook consists of a primary codebook and an auxiliary codebook. The primary codebook creates the basic directional beams by using only a limited number of antenna phase shifts to maintain a low hardware complexity, while the small auxiliary codebook generates the finer beams centred on each primary beam and improves the beams' resolution.
The simulation results in [45] show that the proposed codebook outperforms other existing solutions in beamforming gain and SE for MU-MIMO systems with hybrid beamforming.

a: PRIMARY CODEBOOK
In the azimuth domain, by setting N x as the finite number of phase shifts. We obtain the set of phase shifts Given the number of beam patterns K x and the number of elements M x , the (m x , k x ) − th element of primary codebook matrix in azimuth domain W PC x is derived as follows: With This design ensures that each antenna element has N x possible states, and the resultant codebook spans the entire azimuth range.
Similarly, the (m y , k y ) − th element in the primary beam codebook matrix in the elevation domain W PC y is given by: With m y = 0, 1, . . . , M y − 1; k y = 0, 1, . . . , K y − 1, M y is the number of elements, K y is the number of beam patterns and N y is the finite number of phase shifts. As discussed in [58], the primary codebook consists of wide beams pointing in different spatial directions with a lower resolution but larger spatial coverage, which enables a hierarchical search with fast beam training.

b: AUXILIARY CODEBOOK
The auxiliary codebook is a set of codewords corresponding to the beams with high angular resolution but very limited spatial coverage [58].
The beam patterns of the auxiliary codebook can be defined as the rotated versions of a primary beam, and the introduction of these rotated beams significantly increases the beam resolution. Since more primary patterns means a narrower distance between adjacent primary beams, it is easy to determine the resolution of auxiliary beams using the number of primary patterns k x or k y . Therefore, the more primary patterns there are, the finer the auxiliary beam [45].
In the azimuth domain, by defining the number of beam patterns as the rotating factor L x , K x as the number of primary beams and M x as the number of elements in the azimuth domain, the (m x , l x ) − th element of auxiliary codebook W AC x is given by: where Similarly, the (m y , l y ) − th element of the auxiliary codebook matrix in the elevation domain W AC y is: where m y = 0, 1, . . . , M y − 1, l y = 0, 1, . . . , L y − 1, K y is the number of primary beams, M y is the number of elements in the elevation domain and L y is the number of auxiliary beam patterns at each primary beam. As shown in [58], for a hierarchical beam search, the codewords in the auxiliary codebook are used after the codewords in the bottom layer of the primary codebook have been properly selected.

7) GRASSMANNIAN CODEBOOK DESIGN
In [47], the authors explain that the design criterion of the Grassmannian codebook W = (w 1 , w 2 , . . . , w 2B ) is meant to maximize the minimum distance of the packing, which is the sine of the minimum angle between any two lines and is expressed as where B is the number of quantized bits. More specifically, as designed in the Grassmannian manifold [59], a Grassmannian codebook is a codebook such that the minimum distance between codeword pairs is maximized [60]. Therefore, to find the Grassmannian codebook offline, we need to solve this problem: where d(w k , w l ) is a measure of the distance between the subspaces spanned by its arguments of codewords w k and w l , with k = 1, . . . , 2 B and l = 1, . . . , 2 B . The solution of problem (17) can be obtained via algebraic techniques [61]- [63].

8) 16e CODEBOOK DESIGN
The 16e codebook is based on Grassmannian line packing [64], which is determined by maximizing the minimum distance between any pair of codewords. For a 16e codebook W = (w 1 . . . , w N ) at the size of N = 2B, where B is the number of quantized bits, the square distance between two codewords e m and e n , with m = 1, . . . , N and n = 1, . . . , N , is defined as: Like the Grassmannian codebook, the 16e codebook is also close to an optimal codebook [47].

9) RANDOM VECTOR QUANTIZATION CODEBOOK DESIGN
Random vector quantization (RVQ) codebooks are first introduced in the context of signature matrix quantization for code-division multiple access (CDMA) systems, which is reported in [64]. As explained in [47], each quantized codeword of the RVQ codebook is independently and randomly generated based on the idea that the optimal beamforming vector which maximizes the capacity is the principal right singular vector of the channel matrix, and this vector is random and isotopically distributed.
RVQ codebooks are then instantiations of random constructions, and the beamforming vectors are isotropic and i.i.d. over the ambient space. Thus, RVQ codebooks can be designed for all combinations, and they are of low complexity in terms of design. The intuition behind an RVQ codebook design has been extended to the multiuser setting (with i.i.d. fading) in many recent works [65]- [68].

10) LLOYD CODEBOOK DESIGN
This codebook is updated at every iteration. Each iteration is comprised of the following two steps, which are based on the nearest neighbourhood condition and the centroid condition, respectively.
Step 1: Based on the nearest neighbourhood condition, each input training vector h is assigned to its nearest codeword.
Given the codebook {w i ; i = 1, . . . , 2 B }, the optimum partition region (Voronoi cell) of the i − th codeword is: Step 2: For the partition regions {R i ; i = 1, . . . , 2 B }, the optimum codewords are updated using the centroid condition.
where u(·) denotes the principal right singular vector corresponding to the largest eigenvalue of the matrix. The generalised Lloyd algorithm that is employed in [69] can solve this problem and find the optimal codebook for the correlated Rayleigh fading channels. The quantized beamforming capacity comparison, in [47], which is associated with the LIoyd, Grassmannien, DFT and RVQ codebooks, is provided for various numbers of transmit antennas and feedback bits. It is shown that the Lloyd iterative algorithm produces better codebooks in general.

11) ADAPTIVE CODEBOOK DESIGN
According to [46], the adaptive codebook is designed to get pretty good performance in both correlated and uncorrelated channels. It obviously outperforms both the 16e and DFT codebooks in any channel distribution, with only a negligible increase in overhead. The construction of this codebook is composed of two steps: codebook design and further compression.
Step 1: Codebook design To construct an adaptive codebook at the size of N 1 = 2 B 1 , we suppose that B 1 is the number of bits for the 16e codebook and B 2 is the number of bits for the DFT codebook. In [46], a particular case has been explained; this construction has been specified for a MIMO orthogonal frequency division (OFDM) system with a fast Fourier transform (FFT) size of N FFT , and one OFDM symbol lasts for the time duration T u . Therefore, each user may adopt the adaptive codebook W defined by: is the 16e matrix, N 2 = 2 B 2 , d i is the i-th codeword in the DFT codebook for i = 1, . . . , N 2 , e j is the j-th codeword in the 16e codebook for j = 1, . . . , N 1 , P k = diag (p k (1), . . . , p k (N 2 )) is the estimated correlation matrix, is the set of channels which select the n-th DFT codeword and L = T R T u with T R is the duration for which the correlation matrix remains static.
Step 2: Further compression The overall feedback may be costly, especially when we choose a DFT codebook with a large size. For this reason, the authors of [46] present a simple compression scheme. Indeed, the matrix P k can be regenerated through: With p k (i) is the i − th largest element in [P k (1) . . . , P k (A)] and it is located in the q i − th diagonal position in P k , which is defined as q i = [n|p k (n) = p k (i), n = 1, . . . , N 2 ], and A represents the number of the first big elements in P k that will be feedbacked.

12) FLAT TOPPED CODEBOOK DESIGN
This codebook design is provided as a solution for interleaved training-based hybrid precoding [36]. The ideal beam pattern of the flat-topped codebook w i (ψ) is computed by: where w 0 is the constant beamforming gain of each flattopped beam, ψ = 0.5 sin φ is the spatial frequency,ψ i = i−1 N T , 1 ≤ i ≤ N T , N T is the number of antennas and φ is the channel path.
The simulation results in [36] show that the flat-topped design can achieve a better average beamforming gain than DFT beams, and with a codebook rearrangement method, the average training overheads of this codebook design for interleaved training-based hybrid precoding can be reduced.
The simulation results in [70] show that the performance achieved by the Radix-4 beam training is better than that of the Radix-2 beam training. In addition, the overhead for this scheme is significantly reduced. Also, the Radix-4 simultaneous hierarchical beam training effectively alleviates interference impacts.

14) REDUCED-DIMENSIONAL SUBSPACE CODEBOOK DESIGN
To the best of our knowledge, there are no other dedicated codebook designs for channel feedback in mmWave massive MIMO systems relying on lens array architectures (LAAs). To fill this gap and since the equivalent channels in mmWave massive MIMO systems using LAAs are distributed in a reduced-dimensional channel subspace [41], a reduceddimensional subspace codebook (RDSC) has been proposed in [41]. This codebook is used to quantize the equivalent channel, which was feedbacked to the BS. More specifically, The k − th user will quantize the equivalent channel h k based on the proposed RDSC by finding the w k,F k that is closest to h k , where the index F k is computed as whereh e k = h e k ||h e k || represents the direction of the equivalent channel; w k,i ∈ C N RF ×1 and it can be expressed as w k,i = S H Uc k,i where S is the beam selector. It can be designed based on the AoDs during the angle coherence time [71], c k,i represents the large-dimensional vectors in the channel subspace and U is the spatial-domain DFT matrix, k designs the index of the user and i = 1, . . . 2 B is the index of the codeword. Finally, w k = (w k,1 , . . . , w k,2 B ) is the RDSC.
The performance analysis of the proposed RDSC in [41] shows that the feedback overhead using the proposed RDSC is only proportional to the number of dominant paths per user, which is small. Also, the authors of this paper proved that the RDSC outperforms the conventional RVQ-based codebook and direct feedback of path gains.

15) STATISTICAL BEAM CODEBOOK DESIGN
In [72], the authors explain that statistical beam codebooks are designed according to the statistical distribution of the channels' angles of departure. In order to efficiently sweep the angular space covered by the beams, they exploit the statistical distribution of the channels' directional angles to construct closed-form non-uniform beam codebooks with an arbitrary cumulative distribution function to enhance the SE of transmission.

16) COMMON CODEBOOK MMWAVE BEAM DESIGN
This codebook is designed for both channel sounding and data transmission. The iterative algorithm orthogonal matching pursuit (OMP) is proposed in [73] to construct small beam alignment codebooks for mmWave systems. In this algorithm, each beamformer is constructed to minimize the MSE between its actual beam pattern and the corresponding ideal beam pattern. In fact, the hybrid beamforming setups are formed by combining an analog beam steering matrix and a baseband beamformer. The idea of this codebook design is to construct a set of analog beam steering matrices and a baseband beamformer that minimizes the MSE between the ideal beam pattern and the actual beam pattern. The numerical results in [73] show that using Uniform Planar Array (UPA) structures, these codebooks outperform previously reported codebooks for mmWave channels. show that, using Uniform Planar Array (UPA) structures, the common codebook outperform previously reported codebooks for mmWave channels.

17) TIME-DELAY CODEBOOK DESIGN
Multi-resolution time-delay codebooks are proposed in [74] to support effective communications over a large bandwidth for mmWave and sub-Terahertz (THz) communication systems with an array-of-subarrays architecture.
The construction of the time-delay codebook is detailed in [74]. It is generated with beam adaptation. For this codebook, codewords are built on the adaptively combined physical beam directions of subarrays, and to further exploit the cooperation among subarrays, the codebook design is sought with dynamic approximation. In this codebook, the whole antenna gain is exploited, and the beam gain could be effectively increased.
As shown in [74], the codebook with beam adaptation is more robust to beam squint over a large bandwidth, while the codebook with dynamic approximation offers more balanced beam gain across.

18) MULTI-PATTERN FOR DIFFERENT ZONES CODEBOOK DESIGN
To better support users from different zones with varying path losses and angular speeds, codebooks with different beam patterns, including beamwidth and beam power, are designed in [75] to increase the beam serving period. More specifically, users in the same zone are served by the same subarray and frequency carrier, and the number of subarrays of the antenna determines the number of beams generated by the codebook for the zone. The spatial frequency-based codebook for the l − th zone is designed as follows: where m = 1, . . . , N T with N T is the total number of antennas.
The beam power increases with N T . Therefore, the subarrays with large numbers of antennas should be allocated to generate codebooks for outer zones.

19) 3GPP CODEBOOK DESIGN
In the 3GPP specification, analog beamforming is not a new feature in 5G NR. Dating from long term evolution (LTE) full-dimension MIMO (FD-MIMO), 3D beamforming in both the vertical (elevation) and horizontal (azimuth) directions has already been proposed for a 2D structured antenna array. The analog beamforming in 3GPP is based on the transmit-receive unit (TXRU) virtualisation, where the TXRU is better known as an RF chain and the TXRU virtualisation defines the mapping between RF chains and antenna elements. Based on whether each TXRU is connected to all the antenna elements or to only a subset of antenna elements, TXRU virtualisation can be further categorized into full-connection models and sub-array partition models [76]. A full-connection model provides potentially higher array gain, with all subarrays participating in the transmission. However, it requires higher power consumption and hardware complexity. A subarray partition model offers more flexible beamforming at the cost of limited array gain. Another feature of TXRU virtualisation is the 1D or 2D virtualisation [76]. Transceivers with multiple TXRUs form a TXRU plenary array, which is similar to the uniform plenary array (UPA) [77]. Depending on the TXRU virtualization, weight vector per column (per row) can be different for different TXRUs. 1D or 2D virtualisation can be applied. More details can be found in [76] and [78].
In 3GPP 5G NR specifications, there is no standardized analog beam codebook. However, some examples of analog beam codebooks, such as the two-dimensional discrete Fourier transform (2D-DFT) beam codebook, can be found in [79], [80], and [76] for LTE FD-MIMO or 5G NR. In [79], a beam codebook for the purpose of IMT-2020 self-evaluation with a beam defined in the direction (φ s , θ o ) is given as follows, where φ s is the beam direction in the azimuth domain and θ o is the beam direction in the elevation domain, the length of VOLUME 10, 2022 w s is the horizontal virtualization weight vector for s = 1, . . . , N p given by The use cases, advantages of each codebook design are summarized in table 3.

B. BEAM SELECTION TECHNIQUES
During beamforming and after the codebook design step, the transmitter-receiver beam pattern pair that optimizes a certain cost function is searched for according to a chosen criterion, such as the SNR.
In this section, we will present some beam selection methods.

1) EXHAUSTIVE SEARCH
Exhaustive search algorithm takes as input the channel matrix, and the codebooks in the transceiver and receiver sides.
Then, It calculates the chosen criterion, such as the SNR, for each pair of beams. Finally, it selects the optimal pair of beams that optimizes this criterion. The complexity of this method is equal to K t K r with K t and K r are the numbers of 3D beams in the transceiver and the receiver sides respectively.

2) IEEE BEAMFORMING PROTOCOL
The transmitter sends packets on several beams and uses feedback to identify the best beam for transmission. Next, the receiver identifies the best beam for reception. If the transmitter and/or the receiver can support more refined sets of beams, then extra iterations follow the same process [84]. This process is used to select the transmit/receive beam pair that maximizes the SNR.
As presented in [85], this protocol consists of a two-level training mechanism: the sector level and the beam level training. There are two types of IEEE beamforming protocol: 802.15.3c protocol and IEEE 802.11.ad protocol.

3) NON-INTERLEAVED TRAINING TRANSMISSION SCHEME
Most of the hybrid precoding schemes adopt the noninterleaved training. The typical non-interleaved training includes hierarchical training [32] and sequential training [86].
Both training methods may result in heavy training overhead in a hybrid massive antenna DL, but they cannot adapt to the channel realization.

4) INTERLEAVED TRAINING-BASED TRANSMISSION SCHEME
According to [36], In the interleaved training-based hybrid precoding, training of beams in the analog codebook with a predetermined order and information feedback are interleaved to monitor the training status. Once the already trained beams can avoid outage, training is stopped and data transmission starts with the corresponding hybrid precoding. In [87], two interleaved schemes were provided for singleuser and multi-users case, respectively. More details about the case of single-user can be referred to the Algorithm 1 in [36].
The scheme for MU case is similar except for some distinctive operations. In fact, in this case the selection is no longer based on a single-user utility function but a joint optimization of multiple users. Therefore, it is more complicated [36].

5) MULTILEVEL BEAMFORMING TECHNIQUE
Much of the prior work considers a multilevel beamforming framework aimed at searching for the dominant channel direction in a bisection approach on the angular interval [16], [32].
As shown in [49], The multi-resolution codebook is designed by {F m } 1≤m≤M with M is the number of stages of the training phase. For 1 ≤ m ≤ M , we denote the set of selected codewords by {f Finally, at level m + 1, the best beam will be selected from the set of high resolution codewords from the codebook F m+1 that covers the founded angular interval AoD m,v .

6) ANGLE-BASED BEAMFORMING SCHEME
An angle-based beamforming scheme in multi-zone areas has been discussed in [75]. The extremely high carrier frequency of mmWave dramatically reduces the channel coherence time which leads to frequent channel estimation and substantially increased overhead for the conventional channel information based beamforming. This method has been proposed to serve users for a long serving time while avoiding the adjacent interference. The different steps of this method are detailed in Algorithm 1 in [75].
According to [75], the objective of the angle-based beamforming scheme is to reduce the beamforming overhead by reducing the update times of beamforming. This scheme is shown to have a close maximum throughput, while the real minimum serving time can be up to hundreds of times the coherence time.

7) PARTIAL INTERFERING BEAM FEEDBACK
During the codebook-based training phase, each user estimates the SNR for each transmit-receive beam pair. Then, each user determines the best transmit-receive beam pair and sends feedback about the top N transmitter beams.
Based on this feedback from all users, the BS performs beam selection and user selection. Then, in order to reduce  inter-beam interference in MU-MIMO, a beam grouping algorithm is proposed in [52] to select p out of N beams for simultaneous MU-MIMO. After that, as shown in [52], for K -user transmission, the BS selects one group from the set of beam groups. For a given beam group, there are three scheduling schemes that can be used for user selection: Round-Robin (RR), Proportional Fair (PF) and SNR-based scheduling.

8) FAST BEAM TRAINING SCHEME BASED ON TWO-STAGE HIERARCHICAL CODEBOOK
This is a multi-user hierarchical beam training that contains a hierarchical search in the primary codebook and then an exhaustive search in the auxiliary codebook.
As discussed in [45] and [58], once the wide beams in each layer of the primary codebook have been created, the hierarchical beam search in the primary codebook can be conducted. After that, the optimal beam within the primary beams is determined, which indicates that the possible optimal beams are located within a very small spatial area. As this area can be fully covered by the auxiliary codebook, an exhaustive search algorithm is executed for a more precise beam training result. This scheme not only reduces the beam training overhead but is also applicable to the scenario where there exist multiple propagation paths for one mobile station.

9) PRESELECTION CODEBOOK SCHEME
To improve system performance, a set of shifted codebooks is first created, and then the best codebook will be picked by the selection algorithm. Then, the exhaustive search algorithm or the cross-entropy optimization algorithm [88] can be used for finding the optimal.
To select the best codebook, two algorithms are presented in [57]: the Preselection Codebook Scheme (PCS), in which the inner product is used for the selection metric, and the Advanced Preselection Codebook Scheme (APCS), in which the achievable rate is applied.

10) 3GPP BEAMFORMING SCHEME
In 3GPP 5G NR specifications, beam management is defined as a set of physical layer and medium access control layer procedures to acquire and maintain a set of beam pair links between the BS and UE [19], [89], [90]. As introduced in II-A1, different aspects of the beam have been discussed in the 5G NR standardisation study phase [91]. For beam sweeping, Synchronisation Signal Block (SSB) or reference signals (RSs), such as Channel State Information Reference Signals (CSI-RSs) and Sounding Reference Signals (SRSs), can be used depending on the Radio Resource Control (RRC) status (initial access, connected, etc.) and the communication link direction (UL, DL). Details on the beam sweeping procedure can be found in [19] and [15].
For beam selection based on the CSI-RS in the downlink, CSI-RSs corresponding to different analog beams are transmitted by the BS and the beam selection is done on the UE side after measurement. The beam ID and beam quality measurements, such as the Reference Signal Received Power (RSRP) or Reference Signal Received Quality (RSRQ), are then reported from the UE to inform the BS about the beam selection. It should be noted that the reported beam(s) is(are) not necessarily the beam(s) selected in the end. The BS can determine the beam(s) according to the UE recommendation and use the beam(s) with the best reported measurement for data transmission. However, by considering other perspectives, such as the MU-MIMO transmission, interference coordination and channel reciprocity, the BS can also have the flexibility to change or refine the beam according to its need. In this case, beam indication is required to allow the BS to tell the UE which beams are used for data transmission so that the UE can use the corresponding receiver beam for data reception [15].
For beam selection based on the SRS in the uplink, SRSs corresponding to different analog beams are transmitted by the UE, and the beam selection is done on the BS side after measurement. Beam measurement results from uplink SRSs can be applied to beam selection for downlink analog beams based on channel reciprocity in the time division duplex (TDD) case [15]. Table 4 presents a comparison of the proposed beam selection techniques in terms of complexity and accuracy.

V. CODEBOOK-BASED BEAMFORMING IN THE CASE OF HIGH-MOBILITY CHANNELS
High mobility communications have been incorporated as an integral part of the 5G communications [92]. The next generation of mobile networks (beyond 5G) is expected to provide simultaneous connectivity to a large number of vehicles or UEs moving at a very high speed. The existing technologies cannot support such high data rates for vehicular communications [93]. mmWave is therefore a key enabler to support high-mobility communication systems thanks to its high-bandwidth [94]. In this section, we will present the codebook-based beamforming techniques for high-mobility channels for different communication scenarios.

A. CODEBOOK-BASED BEAMFORMING FOR UAV COMMUNICATIONS
Unmanned Aerial Vehicles (UAVs) are expected to be useful in 5G wireless networks [1]. They have high flexibility compared to conventional BSs. Recently, UAVs have been widely adopted as aerial access points to provide communication services for Internet of Things (IoT) devices [95]. We distinguish two types of UAV communications: UAV-to-UAV communications [96] and UAV-to-ground communications [97].
UAVs have the advantages of high mobility and flexibility: they can potentially be used as aerial BSs to provide millimeter-wave communications with ground users [96]. They are being considered for scenarios demanding high bandwidth and low latency communications for video and sensor data transfer as well as real-time control. In addition, high-data rate connectivity is becoming increasingly important in UAVs to support real-time sensor and camera data transfer, remote control and situations in which the UAV acts as an aerial BS [98].
In many mission-driven scenarios, multiple UAVs are often used to collaboratively accomplish the designated missions, in which real-time sensing information and highdefinition video transmission are usually necessary [102]. Therefore, the high-rate data transmission among UAVs is of great importance to the development of IoT devices with large-scale video data and high-definition image data transmission requirements. UAVs can also be used as flying base stations or mobile relay backhaul nodes to provide onthe-fly high-capacity communication links for the emergency coverage of IoT devices [103], [104].
The mmWave bands including the sub-THz frequencies above 100 GHz, are an attractive technology for high data rate UAV connectivity due to the wide bandwidths available at these frequencies [98]. There are several problems that need to be addressed in UAV mmWave communications: mmWave communications rely on directional beamforming, which is based on codebook designing and beam training. Thus, good codebook design is necessary to obtain good beamforming in all directions of interest.

1) 3D CODEBOOK DESIGN
The existing solutions for communication systems cannot be directly applied in UAV mmWave communications because of the increased complexity in moving and 3D UAV scenarios. In [95], for UAV-based IoT device data collection scenarios, a 3D codebook and related beam training mechanism are designed. The beam pattern of this codebook includes the azimuth and elevation angle domains. More specifically, it includes a weight vector w az (θ) in the azimuth angle domain with a coverage range of (0, 2π) and a weight vector w el (φ) in the elevation angle domain with a coverage range of (0, π).
The proposed codebook sets a large q x as the cycle of array phase shifts, and the set of phase shifts is It is assumed that the codebook generates K x and K y beams in the azimuth angle domain and elevation angle domain, respectively. The (n x , k x ) − th element of the weight matrix in the azimuth angle domain W az is derived as: For n x = 0, . . . , N x − 1; k x = 0, . . . , K x − 1.
where N x is the number of total horizontal antennas. Similarly, the (n x , k x ) − th element of the weight matrix in the elevation angle domain W el is derived as: for n y = 0, . . . , N y − 1; k y = 0, . . . , K y − 1 With N y is the number of vertical antennas and q y is the cycle of array phase shifts in the elevation domain. Finally, the 3D array weight vector is derived as the Kronecker product of the weight vector in the azimuth domain and that in the elevation domain.
As shown in [95], this codebook can provide seamless communication service for a plane area.

2) MULTI-ARRAY CODEBOOK DESIGN
The LIoyd type of codebook design has been extended for multi-arrays. Suppose that W (k) = (w Therefore, the number of codebook vectors is equal to the number of spatial degrees of freedom [98]. The set of codebooks is W = {W (1) , . . . , W (N arr ) }, where N arr is the number of antenna arrays in the UAV.
After the codebook design step, at each time, the UE will select the k-th array associated with the codebook vector that achieves the maximum beamforming gain.
The simulation results in [98] show significant benefits for multi-array configurations with the LIoyd codebook design. This technique can maintain high gain throughout the lower hemisphere.

3) CODEBOOK DESIGN WITH BOTH INSUFFICIENT AND SUFFICIENT BEAM TRAINING CASES
Beam training codebooks are based on the user location distribution. The design of these codebooks is discussed in [96] for two cases: insufficient training and sufficient training.

a: CODEBOOK DESIGN WITH INSUFFICIENT TRAINING
The codebooks that estimate the user location distributions along the u and v axes, respectively, are Where a x and a y are the array response vectors along the x and y axes, respectively; K u and K y are the numbers of beams along the u and v axes, respectively, and {ũ 1 , . . . ,ũ K u } and {ṽ 1 , . . . ,ṽ K v } are the solutions of the probability maximisation problems that are presented in [96].
With insufficient beam training, the main lobes of all the training beams cannot cover the entire region [−1, 1]. Therefore, to find the global maximum, it is necessary to maximize the total probability that the codewords in Wu can cover. Then, a similar method is followed to find the rest of the training beam directions using a greedy approach.

b: CODEBOOK DESIGN WITH SUFFICIENT TRAINING
In this case, the combination of all codewords can successfully cover the region [−1, 1]. To maximise the probability that the received signal power is high, the intuitive idea is to select the beams according to a power threshold. To determine this codebook, as discussed in [96], these steps should be followed: • Calculate the beam width threshold.
• Obtain the maximum number of beams that are allocated within the threshold.
• Maximize the probability that each beam can cover.

4) CCA CODEBOOK DESIGN
A powerful antenna array is important for offering full-spatial coverage capability and facilitating the mmWave link maintenance for UAV networks. Therefore, the size and shape can be utilised to support a more powerful and effective antenna array than the Uniform Linear Array (ULA) or Uniform Planar Array (UPA). Inspired by this basic consideration, the conformal array (CA) is introduced to UAV communications. The coverage capability of the CA is far stronger than that of the UPA and ULA via proper array designs. This array not only achieves a larger array gain to combat path loss but also sustains full-spatial transmitting/receiving to facilitate fast beam tracking for mobile UAV mmWave networks [97].
A dynamic mission-driven UAV network with UAV-to-UAV mmWave communications has been considered in [97]: each UAV is equipped with a cylindrical conformal array (CCA). The CCA codebook is a hierarchical codebook which exploits the properties of the directional radiating element (DRE)-covered CCA. Each codeword contains both the angular domain beam pattern information and the corresponding subarray pattern information. As presented in [97], driven by this codebook and a specific codeword selection strategy, DRE-covered CCA can significantly improve the sum SE and coverage of the UAV mmWave network over the conventional UPA. In fact, the performance results in this paper validate the performance advantages of the CA-enabled UAV mmWave network over the counterpart employing a conventional UPA.

B. CODEBOOK-BASED BEAMFORMING FOR MOBILE DEVICES COMMUNICATIONS
Due to the highly directional nature of mmWave communications, a 60 GHz link faces frequent outages in the presence of mobility [10], and with the release of the first phase of the 5G cellular standard and the availability of several mmWave bands [94] for commercial use, the focus is now on providing commercial mobile devices that are capable of operating on the mmWave bands and harvesting the promised high data rate gains. When one or both endpoints are mobile, the beamforming is extremely challenging. In fact, the limitation of codebook-based beamforming in the case of mobility is, however, that if there is a significant change in the client's location, the current beam pattern is rendered useless, and a new beam must be established towards the new location of the client. In recent works, various authors tried to design beam adaptation techniques that can retain the efficiency and scalability characteristics of a codebook while keeping a robust link even in the presence of client mobility.

1) MULTI-LEVEL CODEBOOK DESIGN
A separate codebook can be generated for each subset from the antenna array, and the joint codebook of all subsets is referred to as the multi-level codebook. The different beam patterns then cover many different beamforming directions with multiple beamwidths and amplitudes. The phase shift weights are calculated using the DFT-based codebook design.
This codebook can provide richer choices of beamwidths and directive gains in different beamforming directions, and the prediction of location using Sensor-Assisted Multilevel Codebook-based Beam Adaptation (SAMBA) combined with multi-level codebook design can significantly improve the overall connection time [10].

2) CODEBOOK ADAPTATION WITH HAND GRIPS
The authors in [105] proved that codebook design can be influenced by hand grips. In fact, it can be adapted to the scheme. We will discuss this adaptation for three different schemes. VOLUME 10, 2022 • For the grip-aware scheme, which assumes that the mobile phone has a full knowledge of the current user's grip, the codebook design algorithm is the same as it is for designing the codebook for the free space case described in [105], except that the antenna response vectors should be replaced by the antenna response vectors for each grip.
• The semi-aware scheme only assumes the knowledge of the application, the user and the orientation of the phone. For each pair of activity and orientation, the codebook is designed to maximise the weighted mean of the spherical coverage over the common hand grips associated with this activity and orientation.
• For the grip-agnostic scheme, which assumes that the codebooks are designed assuming no blockage and they are not altered based on the hand grip; the codebook is designed exactly as described in [105].

3) LOCAL AND MIXED BEAM SEARCH ALGORITHMS
These algorithms have been proposed in [106] especially for the case of mobile devices.

a: LOCAL SEARCH 1
The algorithm of the Local Search 1 is as following: At time t = t 1 , the exhaustive search process is used only at the beginning of the receiver trajectory to select the initial optimal beam pair index. Next, at time t = t 2 , only the local beams in the vicinity of ±1 beam in both azimuth and elevation directions are considered as beam candidates for the search. So, we have 9 candidate beams in both the transceiver and the receiver sides. Then, the complexity of this search is equal to 9 2 = 81.

b: LOCAL SEARCH 2
The Local Search 2 works in the same way that the Local Search 1. The difference is that, at time t = t 2 , this method takes as candidates of training all the local beams in the vicinity of ±2 beams. Which means that the numbers of candidate beams at the transceiver and the receiver sides are equal to 25, respectively. Therefore, we have 25 2 = 625 measurements.

c: MIXED SEARCH ALGORITHM
This method is characterized by a threshold of the SE denoted by x. It contains 4 stages as following: At stage 1, the same beam pair founded at time t = t 1 is used. If the SE for the selected beams is less than x, then a Local Search 1 will be performed at stage 2. At stage 3, if the SE remains less than x, the Local Search 2 should be used. If Local Search 2 also fails, the exhaustive search will be implemented in stage 4.
According to [106], Local Search 1 and 2 are proposed to reduce the training overhead while achieving adequate data throughput. Furthermore, the mixed beam training strategy can achieve comparable performance to Local Search 2 with less training overhead.

C. CODEBOOK-BASED BEAMFORMING FOR VEHICULAR COMMUNICATIONS
There is a huge interest in enabling high-rate for highlymobile vehicular communication, given its various applications such as safety, online route mapping, along with the infotainment services [107]. With the availability of a large amount of bandwidth, mmWave communications can support massive sensor data sharing in vehicular networks [94], [108], [109].

1) AoA KÄHLER MANIFOLDS PRECODER FEEDBACK SCHEME
The AoA Kähler manifold precoder feedback approach was proposed in [110]. The objective is to quantize the channel matrix. It could estimate the channel's AoA through beam pairs, with a high estimation accuracy of the arrival's direction and a low training overhead due to the angle coherence time.
The performance analysis in this paper shows the ability of the proposed AoA Kähler manifold precoder feedback scheme to significantly improve the vehicle rate and reduce vehicle-to-vehicle (V2V) overhead for channel state information (CSI) exchange.

2) ONLINE LEARNING FOR CS CODEBOOK LEARNING
In [111], the authors propose a novel framework that learns the channel AoD statistics at the BS and uses this information to efficiently acquire channel measurements. This framework integrates online learning for compressive sensing (CS) codebook learning, and the optimized codebook was used for CS-based beam alignment. Indeed, they formulated a convex optimisation problem that uses the learned AoD prior to design a CS matrix that the approximate beam alignment probability.

3) COMBINATORIAL MULTI-ARMED BANDIT FRAMEWORK FOR MULTI-USER VEHICULAR COMMUNICATIONS
To handle the beam selection problem in a vehicular network, the authors in [107] propose a Reinforcement Learning (RL) approach called Combinatorial Multi-Armed Bandit (CMAB) framework.
Suppose the codebook is F = [f 1 , . . . , f m ] where f i is the i-th codeword for i = 1, . . . , m and m is the maximum number of beams available in the codebook. At each time t, the best beam for the vehicle u can be designed by f u,t where u = 1, . . . , U and U is the total number of vehicles. According to [107], first, the problem formulation of maximizing the average network capacity should transformed into a CMAB one as follows: -Each beamforming vector in the codebook F is represented as an arm of the CMAB formulation. Then, the chosen beam vector f u,t is equivalent to the assigned action a u,t for user u at time slot t. -The u-th user's capacity C u,t at time t is equivalent to the individual rewards X u,t .
-The total network capacity at time t is equivalent to the total reward r t . Then, the total reward at time t of the CMAB formulation can be presented as Second, two different approaches for beam selection in a multi-user scenario have been proposed which are the adaptive Combinatorial Thompson Sampling (CTS) algorithm and the sequential Thompson Sampling (TS) algorithm.

a: ADAPTIVE CTS ALGORITHM
This algorithm finds the optimum super arm S t = {a 1,t , . . . , a U ,t } at time t by solving the optimization problem As shown in [107], this scheme embodies for appropriate selection of simultaneous beams in a high-mobility vehicular environment. However, it produces a higher complexity over the search space which increases exponentially with the number of users.

b: TS ALGORITHM
To reduce the computational complexity, this method selects the best beams one-by-one for each UE. According to [107], the proposed sequential approach performs almost similar to the simultaneous adaptive CTS scheme for tracking optimal beams in a multi-vehicular network with much reduced complexity.

VI. DISCUSSION AND OPEN DIRECTIONS OF RESEARCH
This section is devoted to pointing out some potential research directions and open challenges.

A. DEEP LEARNING-BASED CODEBOOK DESIGNS
A few recent works have used deep learning algorithms in the codebook design, e.g., [112]- [114]. For example, in [112], a machine learning model has been proposed to adapt the codebook beam patterns based on the surrounding environment and user distribution. The performances of the proposed solution are evaluated for the multi-user case in both outdoor line-of-sight (LOS) and indoor non-line-of-sight (NLOS) communication scenarios.
The simulation results in this paper show the capability of the proposed solution in learning multi-lobe beams and reducing the codebook size, which leads to noticeable gains compared to classical codebook design approaches.
Likewise, in [113], a K -means clustering-based codebook design is presented. The results show that the performance of this codebook degrades as the dimension of the CSI data increases. Therefore, to improve the performance of clustering for massive MIMO systems, a K-clustering codebook was proposed that could adapt to the complex and changing wireless environments [114].

B. DEEP NEURAL NETWORK AIDED BEAMFORMING SCHEME
A Deep Neural Network (DNN) aided beamforming scheme for Frequency-Division-Duplex (FDD) millimeter mmWave massive MIMO systems under multipath has been proposed in [115].
Simulations in [115] suggest that the training process can be further improved through weight compression of the Levenberg-Marquardt algorithm, especially in case of likely flat-spot stalls. In terms of applications, the results of this paper will benefit the performance of 5G and 6G systems.

C. CHANNEL STATISTICS OF MMWAVE VEHICULAR COMMUNICATIONS
mmWave vehicular communications have specific channel statistics that need to be exploited for wireless system design. For future work, the design of the sub-sampling set in 2D-CCS that is well-suited to the AoD prior will be investigated. Another interesting topic is to leverage the potential angular statistics related to the receiver side for fast vehicle beam alignment. As discussed in [111], the AoA prior in the vehicular context can be more complicated due to the highly mobile vehicles and varying traffic conditions. Side information, such as vehicle locations or traffic conditions, can be used as context to improve the online beam codebook optimisation on the receiver side. For example, we can use a contextual bandit-based online learning solution given appropriate side information. Furthermore, investigating other priors that are based on the beam RSRP could be an interesting research direction. In addition to the special street layout and specific channel distribution, more information is already embedded in connected vehicles. With side information such as location-based situational awareness, the number of measurements can further be reduced if the online learning can reveal the AoD distribution conditioned on the observed side information.

D. CODEBOOK BEAMFORMING FOR HIGH-SPEED TRAIN
Trains are entering the era of full automation thanks to wireless sensors and communication systems shifting control functions from the human driver to computers. A high data rate, robustness, high reliability and ultra-low latency are required for wireless communications in the context of autonomous trains and safety critical applications. The Future Railway Mobile Communication System (FRMCS) under development in Europe will be Internet Protocol (IP)based, multi-bearer and resilient to technology evolution and interferences. It will meet all the communication needs foreseen in the rail domain [116]. In this context, spectrum scarcity has motivated the exploration of the mmWave frequencies in order to meet specific needs for railways. Their use is foreseen in well-defined and restricted areas (e.g., train stations, shunting yards, high-speed lines, different terrains), while possibly sharing existing infrastructures, and for specific use cases such as the virtual coupling of trains, platooning, the remote driving of trains, downloading maintenance data, etc.
Railway environments (ballast, cutting, tunnels, high voltage near the antennas, dust, interference, etc.) as well as the constraints (the vibrations of the trains, non-line of sight situations, the crossing of trains, cohabitation with other telecommunication systems, etc.) are very specific [117], [118]. They will impact drastically the design and optimization of codebooks for both Train-to-Infrastructure (T2I) and Train-to-Train (T2T) communication systems.
In [119], the authors proposed two transmit diversity schemes for high-mobility massive MIMO communications with angle domain Doppler compensation in the uplink transmission for T2I communications. In [120], a ray tracing tool is considered to obtain the spatial and temporal characteristics of the T2I propagation channel along a high-speed railway line with a specific antenna model in order to optimise the codebook design. Uniformly spaced codebooks allow one to obtain connectivity with throughputs up to 4.7 Gbps and with an outage probability lower than 10 % even when the mmWave access points are 800 m apart. Non-uniform codebooks have a throughput performance that is comparable to that of high-resolution uniform codebooks but with less complexity [121]. In [122], using the same ray tracing toll used in [120], standardised codebooks are considered to optimise the number of mmWave base stations along the tracks for high-data-rate T2I communications. The results are consolidated with real tests.
In the case of T2T communications, [123] shows the enhancement thanks to hybrid precoding for MIMO communications in the mmWave band in the case of urban trains. Antenna beam misalignment is an important problem to solve in real time as the train is running, particularly along curves. The authors of [124] presented two location-assisted beam alignment methods that utilised the train's position in order to simplify the alignment process. With the development of the virtual coupling of trains, the optimisation of T2T communications is a challenge, particularly with the distance between trains. This distance could reach 1200 m due to the safety constraints related to the braking capabilities of the engines. New adaptable and low complexity codebooks for T2T applications should be designed, taking into account the dynamic radio channel characteristics in railway environments with possible high spatial correlations. New integrated and parametrizable antennas specific to the railway should also be designed [125].

E. BEAMFORMING FOR MU-MIMO SYSTEMS WITH INTELLIGENT REFLECTING SURFACE IN BEYOND 5G
Although the 5G wireless network is still under deployment worldwide, both academia and industry have been enthusiastically looking into future Beyond 5G (B5G) such as the Sixth Generation (6G) wireless network that targets at meeting more stringent requirements than 5G [126]. The B5G migrates to higher frequency bands such as mmWave and even THz frequencies and, in view of the above issues and limitations, it is imperative to develop disruptively new and innovative technologies. Intelligent Reflecting Surface (IRS) has recently emerged as a promising new paradigm to achieve smart and reconfigurable wireless channels/radio propagation environment for B5G/6G wireless communication systems [127]- [129]. According to [126], IRS is capable of dynamically altering wireless channels to enhance the communication performance. It is thus expected that the new IRS-aided hybrid wireless network will be highly promising to achieve a sustainable capacity growth cost-effectively in the future. Despite its great potential, IRS faces new challenges to be efficiently integrated into wireless networks, such as reflection optimization, channel estimation, and deployment from communication design perspectives. To improve the efficiency of Simultaneous Wireless Information and Power Transfer (SWIPT) from the Access Point (AP) to wireless devices, the large aperture of IRS can be leveraged to compensate for the significant power loss over long distance via reflect beamforming to its nearby devices.
In [130], a codebook-based beamforming technique for THz MU-MIMO with IRS aided system has been proposed. In fact, THz communications open a new frontier for the wireless network thanks to their dramatically wider available bandwidth compared to the current micro-wave and forthcoming mmWave communications [131]. However, due to the short length of THz waves, they also suffer from severe path attenuation and poor diffraction [132]. To compensate for the THz induced propagation loss, the authors in [130] propose to combine the massive MIMO and the IRS techniques, in THz multi-user communications, considering their significant beamforming and aperture gains.
Despite its great potential, IRS-aided beamforming faces new and unique challenges. In fact, IRS passive beamforming optimization highly depends on the available CSI. However, due to various practical factors such as channel changing, limited training overhead, and noise effect, it is difficult to acquire perfect CSI in practice [133]. Also, prior works on IRS mainly consider continuous phase shifts at reflecting elements, which are practically difficult to implement due to the hardware limitations [134].

VII. CONCLUSION
Codebook-based beamforming is becoming increasingly popular in mmWave communication systems. Research in this area is still incipient but it has shown outstanding results. In this article, we provided a comprehensive survey of recent work at the junction of mmWave communications, codebook designs and beam selection techniques. We reviewed both codebook designs and beam selection techniques in mmWave communication systems for both high-mobility and lowmobility channels. We discussed the construction of various codebook designs and pointed out the key advantages and limitations of each codebook. We wrapped up this paper by presenting potential research directions and open challenges, which may result in significant future research results.
[132] C. MARION BERBINEAU (Member, IEEE) received the B.E. degree in electrical engineering from Polytech Lille, France, in 1986, and the Ph.D. degree in electrical engineering from the University of Lille, in 1989. She is currently a full time Research Director with the Component and System Department, Université Gustave Eiffel, France. She is also an Associated Researcher with the LEOST Laboratory. She is an expert in the fields of radio wave propagation and signal processing in transport environments (particularly in railway tunnels and high speed lines), electromagnetic modeling, channel characterization and modeling, MIMO, wireless systems for telecommunications, cognitive radio for railways, and GNSS localization-based system for ITS particularly for rail and public transport domains. She is responsible for railway research coordination at university. She is active as an expert for GSM-R and FRMCS, and future systems, such as 5G NR and beyond 5G. She is involved in several national and European research projects. She is the author or coauthor of several publications and patents. She is an expert at the French National Council for the Railway System. She is on the reserve list of the Scientific Council of Shift2rail.