The discrete Fourier transform (DFT)-based codebook is currently among the mostly commonly adopted codebooks for beamforming using arrays of different shapes and sizes, including the large-scale two-dimensional uniform planar array (UPA). DFT-based codevectors can be easily generated in arbitrary angle resolutions and apply well to millimeter-wave (mmWave) channels due to their directive nature of resulting beams. However, a fixed set of codevectors is applied regardless of the user distributions and the propagation environment, which may exhibit limited beamforming performance under certain transmission scenarios. In this paper, we propose a new way of generating a set of beamforming vectors for multiple-input multiple-output (MIMO) transmission using massive arrays under the limited feedback of the channel state information (CSI). Precoder matrix indicator (PMI) and channel quality indicator (CQI) reports from the users have become the sources for the generation of a new set of codevectors, which are autonomously determined by the deep learning (DL) module at the base station (BS). The process is operated in an iterative fashion to produce updated versions of the codebook with the reduced return of the loss function at the deep neural network (DNN). The time-varying codebook for each BS automatically reflects the characteristics of a given wireless environment to adapt to its channel and traffic conditions. The reference signal (RS) at the BS is periodically transmitted in the form of beamformed CSI-RS, thus the operation is transparent to the users of the system and no significant specification changes are necessary. A simple plug-and-play type of BS installation suffices to achieve the potential gain of the proposal, which is demonstrated by the implementation details of the DL engine and the corresponding performance simulation results.

1. Introduction

With the development of advanced mobile devices and related multimedia applications such as ultra-high-definition (UHD) and virtual reality (VR), an ever-increasing throughput demand has rapidly made the sub-6 GHz band crowded [1, 2]. Upper frequency bands including the millimeter-wave (mmWave) with rich spectrum availability are successfully supplementing the existing wireless spectrum [3, 4]. Despite the severe attenuation of the mmWave signals, well-designed beamforming strategies using large-scale antenna arrays render reliable multiple-input multiple-output (MIMO) transmission possible [57]. Since the massive MIMO transmission of mmWave signals is enabled by highly directional beams, the accuracy of beam alignment has a significant influence on the link quality and reliability [8]. To acquire the knowledge of the channel state information (CSI) for beamforming, the base station (BS) periodically transmits the reference signal (RS) using the CSI-RS in preallocated time and frequency resources [9]. Upon the observation of the received RS, the user equipment (UE) determines which codevector is best suited for beamforming at what level of the preference degree. The notification of this determination is reported back to the BS by sending the precoding matrix indicator (PMI) and the channel quality indicator (CQI) [10].

For MIMO transmission under the constraint of the limited CSI feedback, beamforming performance heavily depends on the specific codebook in use. Different design criteria can be applied for the codebook construction, such as Grassmannian line packing [11], the generalized Lloyd algorithm [12], and the random vector quantization (RVQ) [13]. Performance comparison of these codebooks together with the discrete Fourier transform (DFT)-based codebook has been reported in [14]. The DFT-based codebook is known to approximately match the optimal beamforming vectors [15, 16] and is well suited to the mmWave channel with the sparsity nature. Despite the wide adoption of the DFT-based codebook including the 3GPP specifications [9, 10], it does not reflect the geographical characteristics of the cell or adapt to time-varying UE distributions. Some of the codevectors within the codebook may be rarely utilized, thereby diminishing the beamforming efficiency per each feedback bit.

Deep learning (DL) techniques possess a large potential to enhance and optimize the beamforming codevectors. Motivated by successes in classification and image processing applications [17], the deep neural network (DNN) with its ability to learn hidden characteristics of data has been applied to many areas of physical layer wireless communications [18]. By extracting high-dimensional features of physical layer aspects, the performance very close to that of conventional algorithms is achievable with a fraction of computational complexity [19]. In [20], a convolutional neural network (CNN) technique is applied to allocate beams to users by modeling their positions as a gray-scale image. A beam training scheme that matches the combination of beams to the strongest channel paths was proposed in [21], producing larger beam gains and improved signal coverage. However, all aforementioned algorithms perform supervised learning which requires labels and thus are not inherently environment adaptive. Upon the change of surroundings or channel conditions, a substantial amount of offline data may be needed to reproduce the labels for learning. Such supervised nature of learning is also found in [22], where a codebook update scheme is proposed by using the neural network which adapts to the channel. The network takes the channel matrix as the input to produce the beamforming vectors as weights of the DNN. The codebook generation scheme is further enhanced in [23], by eliminating the need to use the full channel information as the DNN input and employing the self-supervised learning process for the channel. Authors in [24] apply DL for the system sum-rate maximization to obtain the beamformer power allocation parameters with the channel matrix as the DNN input. A beam design technique without using the CSI knowledge is proposed in [25] by utilizing the Bayesian statistical learning, which significantly reduces the search time compared to exhaustive beam training.

In this paper, we propose an autonomous codebook generation strategy using DL which improves aforementioned schemes by eliminating many of their limitations. The generated codebook is automatically updated by using the feedback data from the UEs as the input to the neural network software at the BS. The input consisting of the PMI and CQI is a part of conventional uplink report data in existing wireless systems and therefore required specification changes for this proposed operation so that it can be kept at a minimal level. The codebook is continuously updated via unsupervised learning using the system report data without additional offline training. While conventional codebook generation methods such as the VQ require and the UE location information determine codevectors, the DNN continuously produces the updated codebook which reflects the UE mobility and geographical characteristics of the cell. The real-time interaction between the neural network and the system signaling data produces the environment-aware codebook which is autonomously customized to the transmission condition at given time and location. To demonstrate the effectiveness of the proposed method, we evaluate the transmission performance including the signal correlation and the sum-rate. The evaluation result is compared to performance of existing codebooks, and the amount of gain is quantified.

Key advantages of the proposed method which differentiate it from earlier related works include the following: (1) The codebook generation is based on unsupervised learning, enabling an adaptive operation for changing mobile traffic conditions as well as environmental variations. The BS can be simply installed in a conventional manner with expected beamforming performance enhancement regardless of the time and space of operation. (2) The DNN uses a small set of parameters as its input and output, without the need to handle a huge amount of complex data such as the full CSI which can significantly slow down the learning process. (3) No specific hardware constraints including the existence of phase shifters are imposed in utilizing the DL method which autonomously produces the codebook with progressively improving accuracy. (4) Perhaps most importantly, the proposal is 3 GPP standard compliant and hence can be put into use without changing the control signaling. It is also user transparent in the sense that the UE can report back the conventional PMI and CQI reports for the received beamformed CSI-RS. The rest of this paper is organized as follows: In Section 2, the system model is described and the DL-based codebook generation strategy is explained including the details of the neural network parameters. In Section 3, performance evaluation results as well as specific simulation scenarios are presented. Conclusions are given in Section 4. Symbol denotes the space of complex matrices of rows and columns, and represents the complex Gaussian random variable with mean and variance . Also, denotes the Frobenius norm and is the expectation operator.

2. Materials and Methods

2.1. System Setting

We consider multiuser (MU)-MIMO downlink transmission from the BS with antenna elements to UEs, each equipped with antenna elements. The received signal vector for the -th UE is expressed aswhere is the average received power, is the channel matrix such that

, and is the beamforming vector for data symbol with power constraint . Noise vector includes independent and identically distributed (i.i.d.) complex Gaussian Using the combining vector , the UE combines the signal as . The corresponding signal-to-interference-plus-noise ratio (SINR) is

The achievable sum-rate for all UEs becomes

Using the extended Saleh−Valenzuela model for multipath wireless transmission, channel matrix can be written as [26, 27]where is the number of propagation paths, is the complex gain of the -th path, and are its azimuth (zenith) angle of arrival and departure, respectively. The complex gain follows the following distribution:where and represent the directional gains of antenna elements at corresponding arrival and departure angles, respectively, and denotes the average power of the -th path. Vectors and are receive and transmit array response vectors, respectively. For a uniform linear array (ULA) with horizontal elements, the array response vector without the zenith angle argument is given bywhere is the wave number, is the carrier wavelength, and is the interelement spacing. In the case of a uniform planar array (UPA) with horizontal elements and vertical elements, the array response vector is expressed as [28]

For and . The total number of antenna elements in the UPA is .

2.2. DFT Codebook

A codebook of size is a set of beamforming codevectorswhere each vector can be chosen as the preferred codevector by the UE. The index of the preferred codevector for the -th UE is fed back to the BS in the form of the PMI report . For the -bit feedback, the codebook size becomes . Upon the reception of the PMI and CQI reports from the UEs, the BS schedules a set of UEs for simultaneous multiuser transmission at each transmission time instance and determines the precoding matrix. The preferred codevector can either be directly applied as the component vector in the precoding matrix or used as a CSI estimate to compute the matrix as in the case of zero-forcing (ZF) precoding. The CQI provides information on the quality of the transmission link and is determined by channel measurement means such as the SINR estimate.

For the case of the DFT-based codebook, the codevectors for the ULA of horizontal length are expressed as

For , is the horizontal codebook size. Similarly, the DFT codevectors for the ULA of vertical length are given as

For , is the vertical codebook size. Combining (9) and (10), the two-dimensional (2D) DFT codevectors for both horizontal and vertical beam tilting are determined aswhere denotes the Kronecker product. For example, results in the 2D codebook of size , requiring bit feedback for the PMI report. Since the beam directions for the codevectors in (11) are distributed over the entire horizontal and vertical directions, some of them may be more heavily used than others while some may rarely be chosen as the preferred vector. In an illustrative transmission scenario shown in Figure 1, most of the UE traffic is generated by vehicles on the road and pedestrians on the roadside, potentially making a good portion of the codevectors less utilized.

2.3. Codebook Generation Using Deep Learning

We intend to eliminate this problem of inefficient codebook utilization by introducing a new type of the codebook generation method based on deep learning. The proposed method provides the real-time codebook updates by taking the collected statistics of the PMI and CQI from the field operation. Using the interaction between the DNN and the system statistics, the output codebook transforms into a more efficient form as the generation cycles iterate. The system operator can customize the efficiency metric if desired and apply it to the DNN loss function. The traffic condition may change depending on specific time of the day, e.g., more data users are connected inside the office building during the work hours and certain vehicular routes become massive sources of mobile connection during commuting hours. For all these circumstances, the generated codebook adapts itself accordingly to enhance the data transmission efficiency. As this adaptation takes place in an autonomous fashion, no additional efforts are needed for the hardware or software optimization at the time of BS installation.

The codebook update procedure starts with initializing the input to the DNN. The DNN input is composed of the initial codebook and the PMI counts . We assume that the conventional uniform DFT-based codebook is used for the initial input, although other codebooks can also be applied as the input including random codebooks. To limit the size of the input, only the phase information for the codebook is applied as the input to the DNN instead of the full complex vectors. Initial PMI counts is a set of random nonnegative integers. The codebook update procedure is described by the flowchart shown in Figure 2. While the codebook update status is turned on by the system, the DNN is trained online via unsupervised learning in an iterative fashion. The input matrix is composed of the codebook generated from the previous iteration and the PMI counts obtained from the UE feedback data. An updated codebook at current iteration is produced as the DNN output, which is applied for the DL transmission from the BS to the UEs in the form of beamformed CSI-RS. Unlike conventional nonprecoded CSI-RS transmitted from each antenna port, beamformed CSI-RS uses multiple beamforming codevectors in the spatial domain, and the UE chooses the best beam and feeds back its index [29]. Beamformed CSI-RS provides many benefits over nonprecoded CSI-RS transmission, including less feedback and pilot resource overheads as well as the increased signal-to-noise ratio (SNR) for RS [30]. The PMI for the -th UE is chosen to maximize the correlation power between the UE channel and the selected codevector in the codebook of size , as given by [31].

The CQI is determined as the corresponding maximum correlation power

The PMI and CQI reports from the UEs are collected at the BS to form environmental statistics over a preset time duration, which is applied for the codebook generation at the next iteration. Let denote the set of integer values which are the counts of PMI reports for codevectors at the -th iteration. Also, let denote the collected set of CQI reports at the -th iteration. The CQI values averaged over all elements in is referred to as the average correlation power and is denoted by . The loss function at the -th iteration of unsupervised learning is defined to be the negative of the average correlation power

Thus, set is used for computation of the loss function of the DNN, so that the neural network weights are updated to maximize the average CQI. Set is applied as the input to the DNN at the next iteration, together with the updated codebook produced as the DNN output at the current iteration. This iterative learning process involving the interaction between the DNN and the field statistics provides a progressively improving selection of beamforming codevectors while the codebook update status is on. If the codebook update is no longer necessary, the system turns off the codebook update status and the iterative learning process ends.

Figure 3 shows the structure of the proposed DNN, consisting of the input layer, multiple hidden layers, and the output layer. The input matrix includes the set of integer values for the PMI counts, and pairs the azimuth and zenith angles for codevectors. Utilization of angular parameters instead of full complex codevectors of length decreases the dimension of the input matrix, which reduces the computational complexity of the DNN. Each of hidden layers includes nodes which are fully-connected and utilizes the rectifier linear unit (ReLU) activation function. The fully-connected output layer using the linear activation function determines the updated codevectors by producing their angular parameters. The input to the DNN for unsupervised learning is the set of codebook parameters and the PMI counts obtained from the previous iteration, as indicated by the solid lines in the figure. The output is the updated codebook , which is subsequently applied for beamformed CSI-RS transmission for the UE CSI estimation. The collected statistics is used to compute the loss function in (14), and is fed back to the DNN as the input for the next iteration.

The operating process of the proposed codebook update algorithm can be described as follows: During the forward propagation step, output of -th hidden layer represents the extracted features and is determined as

For , is the ReLU activation function and is the weight matrix connecting the -th and -th hidden layers. Input to the first hidden layer is the input matrix consisting of the PMI counts and the directional angles for codevectors. The prediction function of the DNN with hidden layers is given by

which produces the output matrix describing the directional angle values for the updated codevectors. The weight matrices are updated at the -th iteration using the online gradient descent (OGD) described in [32] as

For is the learning rate, is the gradient, and is the loss function in (14) determined by using the updated codevectors in (16). The subscript in each symbol denotes the update at the -th iteration.

One of the key features of the proposed learning algorithm is the real-time interaction of the DNN with the field operational data, which provides the practicality and adaptive capability to the algorithm. By properly choosing the time duration for the system feedback collection, the proposed scheme can provide timely adaptation to environmental and traffic condition changes as discussed in the next section.

3. Results and Discussion

The simulation environment for performance evaluation is shown in Figure 4, which models a typical urban intersection with the BS near the crossroad. The BS is located at (−25 m, +25 m) from the intersection center in the figure, with height  m from the ground. The UPA of size is used for MU-MIMO transmission, with the downtilt angle of 12 and the array bearing angle facing the intersection center. The lengths of both horizontal and vertical lanes over which traffic data is collected are set to be 100 m, using 6 lanes each. The width of each lane is 3.5 m. The channel coefficients are generated based on the Saleh−Valenzuela model in (4), with the azimuth and zenith angles of multipath components following the Laplacian distribution. The mean of the distribution corresponds to the line-of-sight (LoS) direction of the target UE, and the standard deviation is determined by the spread angle specified in [33]. Unless otherwise stated, spread angle of 6 degrees is applied to channel. UEs with a single-antenna with isotropic radiation pattern are assumed for performance evaluation in this section.

The mobile user distribution is generated by the simulation of urban mobility (SUMO) package, which is widely adopted open-source traffic simulation software providing useful features including the import capability from map databases [33, 34]. Support tools perform various tasks such as the configuration of the traffic light system, vehicle speed, and lane change settings [35]. By integrating SUMO with the DNN module, the evaluation of learning performance based on traffic data very close to actual mobile movements can be achieved. Figure 5 illustrates the traffic simulation implementation using SUMO. A snap-shot example of the mobile UE generation is depicted in Figure 5(a), and the set of user locations loaded from the SUMO simulator over one iteration period is shown in Figure 5(b). The average number of mobile UEs at a given time instance is set to 15, each moving at the speed in the range of 0 to 60 km/h. The interval between two feedback instances by UEs range from 5 to 80 m·sec [36]. Among the PMI and CQI report values received by the BS, the DNN selectively collects one data pair at every second for locational diversity of feedback data. Then, approximately 3000 PMI and CQI data pairs are accumulated over the period of 200 sec, which is a preset time duration for one training iteration. Thus, the codebook update reflecting the changing UE traffic conditions can be performed in a few-minute time frame.

The DL algorithm is performed on Intel i5-9400F CPU with NVIDIA GeForce RTX 2060 GPU and 32 GB RAM using TensorFlow 2.0.0 and Keras 2.3.1 integrated with Python 3.7.6. The Glorot normal initializer is used for weight initialization, and the Adam optimizer with learning rate of 0.001 is applied. The performance of the proposed algorithm is evaluated over different hyperparameters of the DNN as well as operation parameters as shown in Figure6. In Figure 6(a), the average correlation power in (14) is shown for different values of and . As can be observed from the evaluation result, using hidden layers with nodes in each layer provides satisfactory performance while maintaining the computational complexity at a reasonable level. Therefore, these hyperparameter values are adopted for the performance evaluation in the remainder of the discussion. Figure 6(b) indicates the performance variations for different numbers of transmit antennas and codebook size . It is to be noted that the average correlation power tends decrease as increases. This is because the correlation power in (13) is normalized to have the maximum value of 1 and two vectors with more elements results in smaller correlation in general. The evaluation result in the figure confirms the loss function convergence for antenna arrays with various sizes. Figure 6(b) also quantifies the amount of correlation power differences when the codebook size changes.

We assume that three bits are assigned for the PMI feedback for both horizontal and vertical codevectors, and the total of bits are reported to the BS for the 2D codebook of size . The saturation of the average CQI is shown in Figure 7, which compares the correlation power of the iteratively generated codebook with those of existing codebooks. The VQ codebook has been determined using the generalized Lloyd algorithm, based on sufficient UE location samples obtained from SUMO. The proposed algorithm not only outperforms the conventional codebooks as the iteration number increases but it possesses the capability of adaptively producing new codebooks even when traffic and environment conditions vary. The performance and convergence speed of the proposed algorithm does not depend heavily on the initial codebook types, as indicated by the figure for the cases of random and DFT initial codebooks. The figure also shows that near 100% correlation to the channel is achieved using the algorithm for the case of the single-path channel indicated by . The average correlation power tends to decrease for all codebooks as the number of propagation paths increases to . However, a noticeable amount of correlation gain is achieved by using the proposed codebook.

The computational complexity of the proposed algorithm can be compared with that of the conventional VQ codebook generation. The input vector to the DNN of dimension is connected to the hidden layers of nodes, which are then connected to the output layer of dimension . The overall number of weight multiplications required to produce an updated codebook is proportional to , where the first two terms correspond to the computations at hidden layers and the third term is for the output layer. Thus, the computation of order is needed to produce the output codevectors in each iteration. In our case of hidden layers with nodes, the computational order becomes . For a sufficiently large codebook size satisfying , the algorithm complexity can be approximated to . On the other hand, the VQ codebook generation performs the comparison of the beam vector corresponding to each PMI sample in the dataset of size to all existing codevectors to form new clusters in each iteration, requiring the computation of order. In addition, the determination of updated centroids for new clusters performs the averaging of beam vectors of dimension , which requires the complex additions of order . The overall complexity order  +  for the VQ codebook generation becomes significantly larger than that of the proposed algorithm, especially when a sufficient dataset of size and a large array size are in use. The proposed algorithm utilizes the input vector consisting of the accumulated PMI counts in integer numbers and the directional angle information instead of the beam vectors of dimension ; therefore, the computational requirement mainly depends on the codebook size only.

Figure 8 visualizes the changing beam locations for the updated codebooks as the iteration number increases. Four subplots, respectively, show the beamforming directions projected on the ground after 0, 1, 10, and 100 iterations. The beam locations indicated by the cross marks in Figure 8(a) with no iterations is the initial DFT-based codebook with uniform spacing over both horizontal and vertical directions. Codevectors are underutilized due to their concentration near the BS, and only a limited number of beams sparsely exist on the road surface which reduces the average correlation of codevectors to the UE channel. After a single iteration, a significant amount of beam location shifts occur to cover the busy traffic area on the road as indicated in Figure 8(b). The codevectors continue to evolve to increase the CQI experienced by the UEs as illustrated in Figure 8(c), and the codebook represented in Figure 8(d) outperforms the VQ codebook which requires a more complex generation procedure. To further quantify the angular gain of the proposed algorithm, let us define the angular distance as the angle between the UE LoS vector and the closest codevector to it. The distribution of is evaluated and shown in Figure 9, confirming the enhanced angular proximity of the proposed codebook. The average values of angular distance for the uniform DFT-based codebook, the VQ codebook, and the proposed codebook are, respectively, 8.6, 4.6, and 3.5. In terms of the chordal distance defined as [37], its average values for three codebooks are, respectively, 0.15, 0.08, and 0.06.

An important measure of transmission performance is the user sum-rate. To evaluate the sum-rate using the proposed codebook, we apply the ZF precoder for MU-MIMO transmission at the BS using the PMI reports from UEs. An estimated channel matrix of dimension obtained from these codevector indices can be written aswhere is the codevector chosen by the -th UE. The ZF precoder is then obtained as

The -th column of ZF precoder matrix corresponds to beamforming vector in (1). Using ZF precoding, the sum-rate in (3) is evaluated for increasing values of as shown in Figure 10. The sum-rate initially increases and then decreases as more UEs are scheduled for simultaneous transmission, since adding more user results in higher chances of producing an ill-conditioned channel matrix. The number of UEs maximizing the sum-rate approximately ranges from 5 to 10 depending on SNR and codebook types. It can be observed from the figure that a substantial amount of gain in sum-rate can be achieved by the proposed codebook over the conventional ones for the entire range of UE numbers and SNR values. The channel includes paths for the evaluation results shown in Figures 710.

Performance comparison is extended to a wider class of channels in Figure 11, which shows the average correlation power for varying values of spread angle applied to different numbers of multipaths. The performance advantage of the proposed codebook becomes more obvious when the spread angle decreases, suggesting the scheme works particularly well for near-LoS channels such as the millimeter-wave propagation environments. However, the proposed codebook outperforms others over all ranges spread angles with substantial margins. Different numbers of multipaths are also tested and shown in the figure, demonstrating the usefulness of the proposal in a variety of channel conditions.

The performance comparison can be extended with some of the latest approaches. While the proposed algorithm generates the azimuth and zenith angles of codevectors, an alternative way of producing codevectors of the form

is used to determine the phase values as the DNN output as suggested in [23]. Such codevectors can be generated using the self-supervised learning algorithm and do not depend on specific array structures since arbitrary combinations of phase values can be produced. To obtain this type of “array-independent codebook,” the dimension of the DNN input vector increases to to include the PMI counts and phase values for each of codevectors. Likewise, the output vector including the phase information of the updated codevectors has the increased dimension of . Another latest approach specified in 5G NR is the Type-II codebook [10]. The Type-II codebook enables the simultaneous transmission of multiple codevector beams for efficient coverage of multipath channels with a few significant reflecting clusters. The beamforming vectors for the Type-II codebook are determined by combining multiple PMI-reported codevectors with the highest CQI values.

In Figure 12, the average correlation power performance of the proposed codebook and other existing codebooks is evaluated and compared for channel conditions with varying spread angles. The number of paths is assumed to be . As can be seen from the figure, the proposed codebook outperforms all existing codebooks in the entire range of channel conditions tested. The performance of the array-independent codebook is closed to that of the proposed codebook, especially for small values of the spread angle. Since the operational complexity of the array-independent codebook is proportional to , the proposed codebook achieves the enhanced correlation performance at a reduced computational requirement. The Type-II codebook also exhibit similar performance to the proposed codebook. Nevertheless, there exists a clear performance gap between these two schemes which increases as the channel becomes more dispersive. Figure 13 shows the sum-rate performance comparison among the proposed and existing codebooks under the channel condition 10 multipaths and 10 dB SNR. As can be noted from the figure, latest MU-MIMO transmission strategies such as the array-independent codebook and the Type-II codebook show improved throughput values over the VQ and DFT codebooks. However, the throughput evaluation result confirms that the proposed codebook outperforms all other codebooks regardless of the number of simultaneously transmitted users.

4. Conclusions

By combining the existing channel measurement reports with the DL algorithm, an autonomous codebook generation strategy at the BS is proposed and its performance advantage is verified. Unlike conventional codebooks, beamforming codevectors are adaptively relocated to enhance the coverage efficiency in a time-varying fashion, providing an improved sum-rate as well as increased received power. The proposed strategy can be extended to various channel conditions and environmental settings including the channels with blockage, multi-BS cooperation scenarios, and carrier frequency aggregations.

Data Availability

The data used to support this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.


This work was supported in part by the National Research Foundation (NRF) of Korea, Ministry of Science, ICT and Future Planning (MSIP) under Grant NRF-2020R1A2C1004135, and in part by LG Electronics.