Angle domain codebook design method and device based on power weighted GMM clustering
By using the power-weighted GMM clustering method, a codebook with non-uniformly distributed codewords is generated, which solves the problem of mismatch between traditional codebooks and sparse channels, improves beamforming gain and spectral efficiency, reduces computational complexity, and enhances the robustness of codebook generation.
Patent Information
- Application Number
- CN202511866576.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-11
- Publication Date
- 2026-02-24
AI Technical Summary
In existing technologies, traditional DFT codebooks are mismatched with the spatially sparse channels of large-scale MIMO systems, resulting in wasted quantization resources in the low-power direction and low beamforming gain; while adaptive codebooks are prone to discarding multipath information or have high complexity in high-dimensional processing, making them difficult to adapt to large-scale MIMO systems.
The power-weighted Gaussian Mixture Model (GMM) clustering method is adopted. By obtaining the path power and angle information of the channel observation data, a training set reflecting the channel energy distribution is generated. The Gaussian mixture model is used to identify angle clusters, and codewords are not uniformly distributed to generate an accurate codebook.
It improves beam matching accuracy and spectral efficiency, reduces computational complexity, ensures the robustness and reliability of codebook generation, and enhances downlink transmission quality and system capacity.
Smart Images

Figure CN121567166A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication multi-antenna transmission technology, and in particular to an angle domain codebook design method and apparatus based on power-weighted GMM clustering. Background Technology
[0002] Massive Multiple-Input Multiple-Output (MIMO) technology is the core support for achieving ultra-high throughput and ultra-low latency communication requirements. However, wireless channels (especially high-frequency bands) have the characteristics of high path loss and susceptibility to obstruction, which makes massive MIMO systems rely on highly directional beamforming to ensure signal transmission quality. Accurate downlink channel state information (CSI) is the key prerequisite for achieving highly directional beamforming.
[0003] In typical Frequency Division Duplex (FDD) massive MIMO systems, downlink Channel Information Sequence (CSI) needs to be estimated at the User Equipment (UE) and then fed back to the Base Station (BS). However, due to the limited number of elements in a massive MIMO array, full instantaneous CSI feedback incurs significant channel overhead, becoming a major bottleneck restricting system performance improvement. To overcome this bottleneck, existing technologies generally employ a limited feedback scheme: the user does not need to feed back complete channel information, but only needs to select the codeword index with the highest matching degree from the base station's predefined codebook, significantly reducing feedback overhead.
[0004] In related technologies, codebook design is mainly divided into two categories: one is scene-independent traditional codebooks (such as codebooks based on Discrete Fourier Transform (DFT)), and the other is adaptive codebooks. Among them, traditional DFT codebooks provide beam direction through uniform angular coverage, but actual large-scale MIMO channels have significant spatial sparsity, and channel energy is often concentrated in a few angular clusters, resulting in a serious mismatch between traditional codebooks and actual channel characteristics: not only does uniformly distributing beamforming resolution across the entire angular domain cause a large number of codewords to be wasted in directions with low power contribution, resulting in inefficient allocation of quantization resources; it also significantly reduces the achievable average beamforming gain and spectral efficiency of the system under fixed feedback overhead.
[0005] While adaptive codebooks attempt to fit channel characteristics, they still have limitations: angle-domain methods, although achieving lightweight design, easily discard rich information from multipath channels and fail to fully utilize channel resources. Therefore, how to design a codebook that fits the spatial sparsity of large-scale MIMO channels, can accurately allocate quantization resources to the high-energy angle domain, and simultaneously achieves lightweight implementation and statistical performance remains an urgent problem to be solved in current finite feedback techniques for large-scale MIMO systems. Summary of the Invention
[0006] The purpose of this invention is to solve the problems in the prior art where traditional scene-independent codebooks (such as DFT codebooks) are wasted on quantization resources in low-power directions and have low beamforming gain due to uniform angle coverage and mismatch with the spatially sparse channels of large-scale MIMO systems; existing adaptive codebooks either have lightweight designs that discard multipath information or have high complexity in high-dimensional processing that makes them difficult to adapt to large-scale MIMO systems.
[0007] To achieve the above objectives, the present invention adopts the following technical solution:
[0008] An angle domain codebook generation method based on power-weighted GMM clustering, characterized by comprising:
[0009] Acquire channel observation data, extract the angle and power information of each propagation path, and perform weighted sampling of the angle information based on the path power to generate a power-weighted training set that reflects the channel energy distribution;
[0010] A Gaussian mixture model is used to model the probability density of the training set to identify the optimal number of angle clusters and obtain the weight, mean, and covariance of each cluster.
[0011] Based on the weight of each angle cluster, the total number of codewords is non-uniformly distributed to each cluster;
[0012] Based on the mean and covariance of each angle cluster, a corresponding number of codeword directions are generated;
[0013] The codeword direction is converted into a turning vector and normalized to construct the final angle domain codebook;
[0014] In this process, power-weighted sampling and non-uniform codeword allocation concentrate the codebook in the high-energy angle region, thereby improving beam matching accuracy and spectral efficiency.
[0015] Preferably, the steps for acquiring channel observation data are as follows:
[0016] Send a channel sounding signal to the space region and receive the reflected signal of the sounding signal after multipath propagation;
[0017] The power attenuation value of each propagation path is extracted from the reflected signal as the path power, and the angle between each propagation path and the antenna array is extracted as the angular direction.
[0018] The path power and angle direction of multiple paths are integrated to form the path parameters of the multiple channel observations.
[0019] Preferably, the steps for using a Gaussian mixture model to model the probability density of the training set are as follows: calculate the model fit under different numbers of angle clusters by minimizing the Bayesian Information Criterion (BIC), and select the number of angle clusters with the best fit as the optimal number of angle clusters.
[0020] Preferably, the steps for generating the corresponding number of codeword directions are as follows:
[0021] If the number of codewords assigned to this angle cluster is greater than 0, the mean of this angle cluster is used as the basic codeword direction;
[0022] The corresponding number of codeword directions are generated by sampling from the probability distribution of the angle cluster using a multivariate normal random sampling function;
[0023] If sampling fails due to a singularity in the covariance matrix during the sampling process, the remaining required codeword directions are repeatedly generated using the mean vector of that angle cluster.
[0024] Preferably, the step of converting the codeword direction into a turning vector is as follows:
[0025] Obtain the number of elements and the spacing between elements in a large-scale MIMO antenna array;
[0026] Based on the number of array elements, the spacing between array elements, and the direction of each codeword, the turning vector corresponding to the direction of each codeword is calculated using the array signal processing formula. The dimension of the turning vector is consistent with the number of antenna array elements.
[0027] The calculated steering vectors are normalized to ensure that the magnitude of each steering vector is 1.
[0028] This application also provides an apparatus for generating an angle domain codebook based on power-weighted GMM clustering. The apparatus is used to implement the aforementioned method for generating an angle domain codebook based on power-weighted GMM clustering. The apparatus includes:
[0029] The path parameter acquisition module is used to acquire path parameters of multiple channel observations associated with a spatial region, the path parameters including path power and angular direction;
[0030] The training set generation module is used to perform weighted sampling of the angle direction based on the path power to generate a power-weighted angle training set.
[0031] The density modeling module is used to perform probability density modeling on the power-weighted angle training set using a Gaussian mixture model to identify the optimal number of angle clusters and output the weight, mean, and covariance corresponding to each angle cluster.
[0032] The codeword allocation module is used to allocate the total number of codewords to the number of codewords corresponding to each angle cluster based on the weight corresponding to each angle cluster.
[0033] The direction generation module is used to generate the codeword direction corresponding to the number of codewords for each angle cluster. The direction includes the mean of the angle cluster and an additional direction generated based on the principal eigenvector of the covariance of the angle cluster.
[0034] The codebook construction module is used to convert all codeword directions into turning vectors to construct the final codebook;
[0035] The rollback module is used to automatically invoke the DFT codebook generation logic in scenarios such as insufficient data, modeling failure, and sampling anomalies, ensuring the robustness of the codebook generation process.
[0036] Preferably, the density modeling module is further configured to: calculate the model fit under different numbers of angle clusters by minimizing the Bayesian Information Criterion (BIC), and select the number of angle clusters with the best fit as the optimal number of angle clusters.
[0037] Preferably, the steering vector conversion submodule is used for:
[0038] Obtain the number of elements and the spacing between elements in a large-scale MIMO antenna array;
[0039] Based on the number of array elements, the spacing between array elements, and the direction of each codeword, the turning vector corresponding to the direction of each codeword is calculated using the array signal processing formula;
[0040] The steering vectors are normalized to ensure that the magnitude of each steering vector is 1.
[0041] This application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the above-described beam geometry-based codebook generation method.
[0042] This application also provides a computer-readable storage medium storing a computer program thereon, characterized in that the computer program, when executed by a processor, implements the steps of the above-described beam geometry-based codebook generation method.
[0043] This invention provides a codebook generation method, apparatus, computer device, and storage medium based on power-weighted GMM clustering in the angle domain. The core of this invention is to mine the geometric and energy characteristics of the channel path and guide non-uniform codeword allocation with probabilistic clustering, thereby maximizing beamforming gain and spectral efficiency with limited feedback overhead.
[0044] Compared with the prior art, this application has the following beneficial effects:
[0045] 1. By performing power-weighted sampling on the channel path, the training set accurately reflects the actual spatial distribution of channel energy. Then, the Gaussian Mixture Model (GMM) is used to automatically identify high-energy angle clusters in the channel, fundamentally solving the problem of mismatch between traditional uniform codebooks and actual sparse channels.
[0046] 2. In this application, the total number of codewords is allocated according to the weight (i.e. energy percentage) of each angle cluster, which concentrates more beamforming quantization resources (codewords) in high-power, high-value angle regions, significantly reducing resource waste in low-energy directions, thereby maximizing the beamforming gain and spectral efficiency of the system with limited feedback overhead.
[0047] 3. The method provided in this application uses only the angle and power information of the channel for clustering and allocation, eliminating the need to process the high-dimensional full-channel matrix, thus significantly reducing computational complexity and implementation overhead. Furthermore, the optimal number of clusters is automatically determined using the BIC criterion, avoiding biases from manual experience-based settings and achieving an intelligent and lightweight adaptive codebook design.
[0048] 4. This application incorporates a multi-layered backoff mechanism (such as DFT codebook backoff, mean vector substitution sampling, etc.) to automatically switch to alternative schemes in cases of insufficient data, model fitting failure, or sampling anomalies, ensuring that the codebook generation process is never interrupted and enhancing the reliability and robustness of the algorithm in practical systems.
[0049] 5. The method provided in this application optimizes codeword direction generation based on the principal eigenvector of the cluster's covariance matrix, making the beam pointing more closely match the channel angle cluster's true spatial expansion. The resulting codebook can more accurately match the user channel, thereby improving downlink transmission quality, system capacity, and edge user coverage performance. Attached Figure Description
[0050] Figure 1 This is a flowchart illustrating an angle domain codebook generation method based on power-weighted GMM clustering in one embodiment of this application.
[0051] Figure 2 This is a block diagram of an angle domain codebook generation device based on power-weighted GMM clustering in one embodiment of this application;
[0052] Figure 3 This is an internal structural diagram of a computer device in one embodiment of this application;
[0053] Figure 4 This is a comparison diagram of beamforming gain between the codebook of the present invention and a conventional codebook in one embodiment of this application. Detailed Implementation
[0054] The present invention will be further described in detail below with reference to specific embodiments.
[0055] This application provides a method for generating an angle domain codebook based on power-weighted DMM clustering, the steps of which are as follows:
[0056] S1: Obtain path parameters of multiple channel observations associated with a spatial region, the path parameters including path power and angular direction;
[0057] By acquiring channel observation data of multiple users within the coverage space of a large-scale MIMO system, the transmit direction angle (azimuth angle, zenith angle) and corresponding path power of all propagation paths are extracted from the channel parameter set of each user. The angle information (all in degrees) is converted into a three-dimensional spatial unit vector. The path unit vectors and path power of all users are aggregated to form the original path dataset.
[0058] Specifically, in one embodiment, the steps for obtaining path parameters are as follows:
[0059] First, a channel sounding signal is sent into the space region, and the reflected signal after the sounding signal has been propagated through multiple paths is received;
[0060] The power attenuation value of each propagation path is extracted from the reflected signal as the path power, and the angle between each propagation path and the antenna array is extracted as the angular direction.
[0061] Finally, the path power and angle direction of multiple paths are integrated to form the path parameters of the multiple channel observations.
[0062] S2: Weight the angle direction based on the path power to generate a power-weighted angle training set;
[0063] In one implementation, the resampling scale is determined (which can be adjusted according to the requirements of clustering accuracy and computational efficiency), and a weighted sampling algorithm is used to allocate sampling probabilities according to path power, ultimately generating a power-weighted training set;
[0064] Specifically, in one implementation, the channel parameter sets of all users are traversed, and only user parameters containing the path power field and whose field is not empty are retained;
[0065] For each valid user parameter, the transmission direction angle is converted from degrees to radians, and then a three-dimensional unit vector is generated through trigonometric function operations;
[0066] We employ data sampling to perform weighted sampling with replacement on the original path dataset, with the sampling weights being the power values of each path, and finally output a power-weighted training set.
[0067] S3: Use a Gaussian Mixture Model (GMM) to model the probability density of the power-weighted angle training set, set the cluster number test range (which can be adjusted according to the channel angle distribution scenario), and construct the GMM model using the full covariance matrix, a preset number of repeated fittings, and a preset regularization process. Determine the optimal number of angle clusters by calculating the Bayesian Information Criterion (BIC) value of the model; in order to identify the optimal number of angle clusters, where each angle cluster corresponds to a weight, a mean, and a covariance;
[0068] In one embodiment, the model fit is calculated for different numbers of angle clusters by minimizing the Bayesian Information Criterion (BIC), and the number of angle clusters with the best fit is selected as the optimal number of angle clusters.
[0069] Specifically, in one embodiment, the GMM fitting parameters are set as follows: maximum number of iterations, regularization value, and number of repeated fittings.
[0070] For each test cluster k, try to build a GMM model and calculate the BIC value; if an anomaly occurs during the fitting process, set the BIC value of the corresponding k value to infinity;
[0071] Filter all non-infinite BIC values and find the cluster number corresponding to the minimum value, which is the optimal angle cluster number. If all BIC values are infinite, use the default cluster number to continue the subsequent steps.
[0072] S4: For each angle cluster, based on the mean and covariance of the angle cluster, the codeword direction corresponding to the number of codewords in the angle cluster is generated by multivariate normal random sampling.
[0073] In one implementation, the total number of codewords is non-uniformly distributed to each angular cluster based on the component ratio of each angular cluster. First, the ideal number of codewords for each cluster is calculated and rounded to obtain the basic allocation amount. Then, the unallocated remaining codewords are allocated in descending order of the decimal part of the ideal codeword number to ensure that the cluster with the larger component ratio receives more codewords.
[0074] For each angle cluster, the mean vector and covariance matrix of the GMM of the cluster are extracted. The multivariate normal random sampling function (mvnrnd) is used to sample from the probability distribution of the cluster to generate the corresponding number of codeword directions. If the covariance matrix is singular and sampling fails, the codeword directions are generated again using the mean vector of the cluster.
[0075] If the covariance matrix is invalid, the codeword direction is generated repeatedly using the mean of the angle cluster;
[0076] If the number of codewords assigned to this angle cluster is greater than 0, the mean of this angle cluster is used as the basic codeword direction;
[0077] The corresponding number of codeword directions are generated by sampling from the probability distribution of the angle cluster using a multivariate normal random sampling function;
[0078] If sampling fails due to a singularity in the covariance matrix during the sampling process, the remaining required codeword directions are repeatedly generated using the mean vector of that angle cluster.
[0079] In one embodiment, step S4 specifically includes:
[0080] Calculate the ideal number of codewords for each cluster, and round down the ideal number of codewords to obtain the basic allocation.
[0081] Calculate the number of remaining codewords. If the number of remaining codewords is greater than 0, calculate the fractional part of the ideal codeword count for each cluster.
[0082] Sort the fractional part in descending order, take the first few remaining codeword clusters, and add 1 to the base allocation of each cluster to obtain the final codeword allocation.
[0083] Specifically, for each cluster k, if the codeword allocation for that cluster is 0, then skip that cluster;
[0084] If the allocation is greater than 1, the covariance matrix is decomposed using the feature vector extraction method to obtain the main feature vector representing the dominant direction of the spatial distribution of the angle cluster, and the distributed generation range of the codeword is constructed by combining it with the mean vector.
[0085] The vector magnitude calculation method is adopted to solve the 2-norm of all generated codeword direction vectors by row, and normalization is completed by element-level division to ensure that the magnitude of each direction vector is strictly 1, thus ensuring the consistency of spatial orientation.
[0086] S5: Convert all codeword directions into turning vectors to construct the final codebook.
[0087] Normalize the direction of all generated codewords according to the 2-norm;
[0088] Obtain the element arrangement parameters and element spacing of the transmitting antenna. Through a robust steering vector constructor, map the direction of each normalized codeword to a complex value vector matching the number of antenna elements. Integrate all steering vectors to construct the final codebook.
[0089] If the number of samples in the original path dataset is less than the target codebook size, or if the GMM fitting for all clusters fails, the system will automatically switch to the DFT codebook generation logic to ensure that the codebook generation process is not interrupted.
[0090] In one embodiment, the number of elements and the spacing between elements of the massive MIMO antenna array are first obtained;
[0091] Then, based on the number of array elements, the spacing between array elements, and the direction of each codeword, the turning vector corresponding to each codeword direction is calculated using the array signal processing formula. The dimension of the turning vector is consistent with the number of antenna array elements.
[0092] Finally, the calculated steering vectors are normalized to ensure that the magnitude of each steering vector is 1.
[0093] Specifically, the normalized codeword direction is used as input and substituted into the formula for constructing the steering vector: for each antenna element, the phase offset corresponding to the element is calculated based on its array row and column index, the ratio of the element spacing to the wavelength, and the spatial coordinates of the codeword direction.
[0094] The phase offset is converted into a complex exponential form to form the steering vector corresponding to the codeword direction. The dimension of the steering vector is the same as the total number of antenna elements.
[0095] The magnitude of the generated steering vectors is normalized to ensure that the energy of all steering vectors is consistent, thus avoiding affecting the power distribution of beamforming.
[0096] The above content will be described below with reference to specific embodiments:
[0097] like Figure 1 As shown, an angle domain codebook generation method based on power-weighted GMM clustering is provided. The method is applied to the base station of a large-scale MIMO system and includes the following steps:
[0098] Step S101: Obtain path parameters including angle and power, and generate a power-weighted angle training set.
[0099] Specifically, channel observation data of multiple users within the coverage space of a large-scale MIMO system is obtained. This data comes from the DeepMIMO dataset generated based on Raytracing technology. It is a standardized channel simulation dataset adapted to large-scale MIMO scenarios. The multipath effect of wireless signal propagation is accurately reproduced through ray tracing technology. The complete channel features of multiple users within the coverage space are stored in advance. Each channel observation data contains core feature information of at least one propagation path (including azimuth angle, zenith angle and other angle parameters, as well as corresponding path power parameters). It does not require additional measurement through base station receiving uplink pilot signals or real-time channel estimation algorithms. It can be directly used for subsequent path parameter extraction and training set construction. The transmission direction angle (including azimuth angle in the horizontal plane and zenith angle in the vertical plane) and corresponding path power of all propagation paths are extracted from the channel parameter set of each user. Invalid path data that does not contain the path power field or whose field is empty are removed (to ensure the reliability of the energy basis for subsequent weighted sampling). Preprocessing is performed on the angle information of the effective path (initial unit is degrees): first convert it to radians, and then generate a three-dimensional vector through the mapping logic from spherical coordinates to Cartesian coordinates. The mapping relationship is shown in Equation (1):
[0100] (1)
[0101] in, For the first The zenith angle of the path, For the first The azimuth (in radians) of the path. The mapped three-dimensional direction vector is then normalized using the 2-norm to obtain the three-dimensional unit vector. The three-dimensional unit vectors of all users' paths and their corresponding path powers are aggregated to form the original path dataset. A power-weighted sampling algorithm is used to allocate sampling probabilities according to path power (the higher the path power, the greater the probability of being selected), as shown in equation (2).
[0102] (2)
[0103] in, The direction vector of the l-th path The probability of being selected. For the first Power values of each path, This represents the total number of valid paths in the original path dataset. The sum of the power of all valid paths is used to perform sampling with replacement with this probability until the training set size reaches the preset resampling size, generating a power-weighted angle training set. This training set can accurately reflect the channel energy distribution and avoid model bias caused by oversampling of low-power paths. If the amount of original path data is less than the target codebook size, the DFT codebook backoff logic is triggered, and subsequent modeling steps are not executed.
[0104] In one embodiment, the specific implementation of generating the power-weighted angle training set in step S101 includes:
[0105] Step (1) Traverse the channel parameter set of all users within the target coverage area, and aggregate the data by user location to avoid training set bias caused by excessive concentration of local user data;
[0106] Step (2) Transform the angle of the valid path data and add abnormal angle filtering: remove invalid data with azimuth angles exceeding 0~360° and zenith angles exceeding 0~90° within the physically reasonable range to ensure the spatial orientation of the three-dimensional unit vector is legal;
[0107] Step (3) Set the target size of the training set (which can be adjusted according to the modeling accuracy and computing resources; the example size is the sample size that meets the requirements of GMM clustering). Use weighted sampling logic with replacement to perform sampling. The sampling weight is the power value of each path (weight normalization process to ensure that the sum of the weights is 1).
[0108] Step (4) Dynamically monitor the total number of samples during the sampling process: If the number of samples does not reach the preset scale after the first sampling, automatic supplementary sampling is triggered, and high-power paths are sampled first to maintain the energy distribution characteristics of the training set.
[0109] Step S102: Use a Gaussian mixture model to model the training set and identify the optimal number of angle clusters.
[0110] Specifically, a Gaussian Mixture Model (GMM) is used to model the probability density of the power-weighted training set. The number of clusters for the test range is set, a full covariance matrix is employed to accommodate the spatial distribution diversity of clusters at different angles, a preset number of repeated fitting iterations is used to reduce the risk of the model getting trapped in local optima, and pre-defined regularization is applied to avoid singularities in the covariance matrix. This model assumes that the angle distribution is determined by… It is composed of a superposition of Gaussian components, and each Gaussian component corresponds to an angle cluster. The probability density expression is shown in equation (3):
[0111] (3)
[0112] in, This is the complete parameter set for the GMM model. To test the number of clusters, For the first The weights of the Gaussian components, For the first The weights of the Gaussian components, For the first The weights of each Gaussian component.
[0113] The optimal number of angular clusters is determined by calculating the Bayesian Information Criterion (BIC) value of the model. The BIC value comprehensively considers the model fitting accuracy and complexity, and the minimum value corresponds to the number of clusters that best matches the high-energy angular distribution of the channel. The formula for calculating the BIC value is shown in equation (4):
[0114] (4)
[0115] in, The number of clusters is Maximizing the likelihood value of the GMM model at that time. The number of clusters is The number of free parameters of the model. If abnormalities such as data divergence or iteration non-convergence occur during the fitting process, the BIC value of the corresponding cluster number is set to infinity (marked as an invalid model); if the BIC value of all cluster numbers is infinity, the preset default cluster number (which can be adjusted according to engineering experience) is used to continue the subsequent steps to ensure that the process is not interrupted.
[0116] In one embodiment, the specific implementation method of using a Gaussian mixture model to model the training set and identify the optimal number of angle clusters in step S102 includes:
[0117] Step (1) Set the core parameters for GMM fitting: maximum number of iterations (to avoid excessive iteration time), regularization value (to adapt to the sparsity of the data), and number of repeated fittings (to reduce the risk of local optima).
[0118] Step (2) uses parallel computing logic to start multi-task parallel fitting (fitting task based on base station multi-core processor resource allocation) for each cluster within the cluster number test range, reducing the overall modeling time;
[0119] Step (3) For each test cluster k, try to build a GMM model one by one: if the number of iterations reaches the maximum number of iterations during the fitting process but still does not converge, or the model likelihood function value is negative infinity, then set the BIC value of the k value to infinity (mark it as invalid).
[0120] After the fitting is completed in step (4), all non-infinite BIC values are filtered out, sorted by the number of clusters, and the number of clusters corresponding to the minimum value is the optimal number of angle clusters.
[0121] Step (5) If all BIC values are infinite, then the preset default number of clusters is enabled (which can be adjusted according to the actual fitting requirements), and a fitting failure alarm message is output to facilitate subsequent optimization of modeling parameters.
[0122] Step (6) synchronously outputs the cluster component ratio, mean vector and covariance matrix of each effective model (BIC value is not invalid), reserving multiple sets of optional parameters for subsequent codeword allocation and direction generation, so as to facilitate flexible selection according to the actual channel scenario.
[0123] Step S103: Based on the weight of each angle cluster, the total number of codewords is proportionally allocated to the number of dedicated codewords for each cluster.
[0124] Specifically, based on the proportion of each angle cluster component output by the GMM (characterizing the energy proportion of the corresponding angle cluster), the ideal number of codewords for each cluster is calculated, and the basic allocation formula is shown in Equation (5):
[0125] (5)
[0126] Round down the ideal codeword count to obtain the basic allocation for each cluster; calculate the remaining codeword count (the difference between the total codeword count and the sum of the basic allocations for all clusters); if the remaining codeword count is greater than 0, calculate the decimal part of the ideal codeword count for each cluster, sort them in descending order of the decimal part, take the first few clusters with remaining codeword counts, add 1 to the basic allocation for each cluster, and finally obtain the exclusive codeword count for each cluster. This allocation method ensures that clusters with a larger component ratio receive more codewords, concentrates quantified resources in high-value areas, and reduces resource waste in low-energy areas.
[0127] In one embodiment, the specific implementation of allocating the total number of codewords proportionally to the number of dedicated codewords for each cluster in step S103 includes:
[0128] Step (1) Obtain the system's preset total number of codewords;
[0129] Step (2) Read the proportions of each angle cluster output by GMM and ensure that the sum of the proportions of all clusters is 1 (if there is a calculation error, perform normalization correction).
[0130] Step (3) Calculate the ideal number of codewords for each cluster = component ratio × total number of codewords, and round down the ideal number of codewords to obtain the basic allocation for each cluster;
[0131] Step (4) Calculate the remaining codewords = total codewords - ∑ basic allocation for each cluster;
[0132] Step (5) If the number of remaining codewords is 0, then the basic allocation is the final number of dedicated codewords; if the number of remaining codewords is > 0, calculate the fractional part of the ideal number of codewords for each cluster.
[0133] Step (6) Sort all clusters in descending order of their fractional parts, take the first number of remaining codewords from each cluster, and add 1 to the base allocation for each cluster to obtain the final number of exclusive codewords;
[0134] Step (7) Verify the allocation result: If the number of dedicated codewords of a certain cluster is 0 (the component ratio is too small), then merge the cluster into the adjacent high-energy cluster to avoid the lack of angle coverage caused by the lack of codeword allocation.
[0135] Step S104: For each cluster, determine the beam direction reference based on the cluster mean, optimize the direction accuracy by combining the main eigenvector of the cluster covariance, and generate the corresponding exclusive codeword direction.
[0136] Specifically, for each angular cluster, the GMM mean vector (representing the cluster center direction, i.e., the angular direction where the energy of the cluster is most concentrated) and covariance matrix (representing the spatial distribution range and dispersion of the cluster) of that cluster are extracted. If the number of dedicated codewords for a cluster is greater than 1, a multivariate normal random sampling function is used to sample and generate the corresponding number of codeword directions from the probability distribution of that cluster. During the sampling process, the principal eigenvector of the covariance matrix (obtained through eigenvalue decomposition, representing the dominant direction of the cluster's spatial distribution) is combined to optimize the sampling accuracy, ensuring that the generated codeword directions closely match the actual distribution of the cluster. If the covariance matrix is singular (e.g., the angular distribution data is extremely sparse, causing the matrix to be non-invertible), sampling is abandoned, and codeword directions are directly generated repeatedly using the cluster mean vector (ensuring the continuity of codeword generation). Normalization is performed on all generated codeword directions: the magnitude of each direction vector is calculated according to the 2-norm, and the magnitude is unified to 1 through element-wise division, ensuring that the energy reference of each codeword is consistent during subsequent steering vector conversion, without affecting the power allocation of beamforming.
[0137] In one embodiment, the specific implementation of generating and normalizing the corresponding dedicated codeword direction in S104 includes:
[0138] Step (1) For each cluster, if its unique codeword count is 0, skip the cluster; if the unique codeword count is ≥1, extract the GMM mean vector and covariance matrix of the cluster.
[0139] Step (2) If the covariance matrix is non-singular (determinant value is greater than the preset minimum value), then the multivariate normal sampling function is used to sample from the probability distribution of the cluster to generate the corresponding number of codeword directions. During the sampling process, the sampling range is optimized by combining the main eigenvectors of the covariance matrix (the first two main eigenvectors are obtained through eigenvalue decomposition) to ensure that the generated codeword directions cover the dominant distribution area of the cluster.
[0140] Step (3) If the covariance matrix is singular (determinant value ≤ preset minimum value), then automatically switch to mean vector generation mode and repeatedly generate the corresponding number of codeword directions with the mean vector of the cluster;
[0141] Step (4) Normalize all generated codeword directions: solve the 2-norm by row, and correct the magnitude of each direction vector to 1 by element-wise division;
[0142] Step (5) Add codeword direction validity check: If the modulus of a codeword direction is less than the preset threshold due to calculation error, it is automatically replaced with the mean vector of the corresponding cluster; calculate the angle between any two codeword directions. If the angle is less than the preset angle threshold, one of the directions is resampled to ensure the direction diversity of the codebook and avoid excessive beam pointing overlap.
[0143] Step S105: Integrate the codewords of all clusters to construct the final codebook.
[0144] Specifically, the array element arrangement parameters and element spacing of the transmitting antenna are obtained; using a robust steering vector construction method, each normalized codeword direction (three-dimensional unit vector) is mapped to a complex numerical steering vector matching the number of antenna elements: for each antenna element, based on its row and column index, combined with the ratio of element spacing to wavelength and the spatial coordinates (x, y, z) of the codeword direction, the phase offset corresponding to that element is calculated; the phase offset is converted into a complex exponential form to form the steering vector corresponding to that codeword direction; amplitude normalization is performed on all steering vectors (ensuring that the energy of each steering vector is consistent), and all steering vectors are integrated to obtain the final codebook, which can be directly used for downlink beamforming of the base station to provide users with accurate signal transmission direction.
[0145] In one embodiment, step S105, while constructing the final codebook, also includes the execution of a multi-scenario rollback mechanism, specifically implemented as follows:
[0146] Scenario 1: If the sample size of the original path dataset is insufficient, or if the weighted sampling still cannot meet the requirements of GMM modeling, the DFT codebook generation logic is automatically invoked to generate a DFT codebook adapted to the current antenna array, ensuring that the system can provide beamforming services normally.
[0147] Scenario 2: GMM fitting fails for all cluster numbers (BIC values are all invalid), and modeling still fails even after enabling the default cluster number. Switch to DFT codebook rollback and record the exception information for subsequent optimization.
[0148] Scenario 3: When sampling codeword direction, more than 50% of the clusters fail to sample due to the singularity of the covariance matrix. The mean vector is used to generate codeword direction for all singular clusters. If this still cannot meet the codebook size requirement, DFT codebook rollback is triggered.
[0149] Scenario 4: During the steering vector conversion process, if the amplitude of the steering vector corresponding to a certain codeword direction fluctuates beyond the preset range, the phase offset and complex exponential conversion of that codeword direction are recalculated. If the conversion is still abnormal after multiple conversions, the steering vector of the adjacent codeword is replaced.
[0150] Based on the above-described angle domain codebook generation method using power-weighted GMM clustering, please refer to... Figure 2 Furthermore, a codebook generation device based on beam geometry is provided, comprising: a path parameter extraction module 201, a training set construction module 202, a GMM modeling module 203, a codeword allocation module 204, a direction generation module 205, a codebook construction module 206, and a backoff module 207.
[0151] The path parameter extraction module 201 is used to acquire channel observation data of multiple users within the coverage space of the large-scale MIMO system, extract the transmission direction angle (including azimuth angle and zenith angle) and corresponding path power of all propagation paths from the channel parameter set of each user, remove invalid path data, convert the angle information into a three-dimensional unit vector, and aggregate to form the original path dataset.
[0152] The training set construction module 202 is used to perform power-weighted sampling on the original path dataset, allocate sampling probabilities according to path power, and generate a power-weighted angle training set; if the amount of original path data is less than the target codebook size, the DFT codebook back-off logic is triggered.
[0153] The training set construction module 202 further includes:
[0154] The partition aggregation submodule is used to partition and aggregate channel parameter sets according to user location, avoiding excessive concentration of local data;
[0155] The anomaly filtering submodule is used to remove angle data that exceeds the physically reasonable range, ensuring the validity of the three-dimensional unit vector;
[0156] The weighted sampling submodule is used to employ weighted sampling logic with replacement, allocate sampling weights according to path power, and dynamically supplement sampling to the target scale.
[0157] The data validation submodule is used to determine whether the amount of original path data meets the training set size and triggers the corresponding rollback logic or modeling process.
[0158] The GMM modeling module 203 is used to perform probability density modeling on the power-weighted training set using a Gaussian mixture model, set the cluster number test range and fitting parameters, and determine the optimal angle cluster number through the BIC value; if the fitting fails, the default cluster number is enabled or the fallback logic is triggered.
[0159] The GMM modeling module 203 further includes:
[0160] The parameter configuration submodule is used to set core parameters such as the maximum number of iterations for GMM fitting, regularization value, and number of repeated fittings.
[0161] The parallel fitting submodule is used to perform GMM fitting one by one for each cluster number within the cluster number test range using multi-task parallel logic.
[0162] The model filtering submodule is used to calculate the BIC value corresponding to each cluster number, filter effective models, and determine the optimal number of angle clusters;
[0163] The exception handling submodule is used to enable the default number of clusters or trigger rollback logic when the fitting fails, and to record exception information.
[0164] The codeword allocation module 204 is used to calculate the ideal number of codewords and the basic allocation amount for each cluster based on the component ratio of each angle cluster, allocate the remaining codewords in descending order of the decimal part, and output the exclusive number of codewords for each cluster.
[0165] The direction generation module 205 is used to generate a corresponding number of codeword directions for each angle cluster through multivariate normal sampling or mean vector, and to perform normalization processing on all codeword directions to ensure uniform modulus.
[0166] The direction generation module 205 further includes:
[0167] The vector extraction submodule is used to extract the mean vector and covariance matrix of each cluster and determine whether the covariance matrix is singular.
[0168] The sampling generation submodule is used to perform multivariate normal sampling on non-singular clusters and enable mean vector generation mode on singular clusters;
[0169] The normalization submodule is used to normalize all codeword directions according to the 2-norm, correcting the abnormal modulus caused by calculation errors;
[0170] The diversity verification submodule is used to calculate the angle between codeword directions to avoid excessive overlap of directions and ensure codebook diversity.
[0171] The codebook construction module 206 is used to obtain the array element parameters of the transmitting antenna, map the codeword direction to a complex value turning vector through a robust turning vector construction method, and integrate all turning vectors to construct the final codebook.
[0172] The rollback module 207 is used to automatically invoke the DFT codebook generation logic in scenarios such as insufficient data, modeling failure, and sampling anomalies, thereby ensuring the robustness of the codebook generation process.
[0173] In addition, please see Figure 3 This application also provides a computer device, which is a base station or a server. In one embodiment, the internal structure of the computer device is as follows: Figure 3The computer device includes a processor, memory, and network interface connected via a system bus. The processor provides computational and control capabilities to support the execution of the entire codebook generation process. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system, computer programs, and a database, while the internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores codebook generation-related data (such as channel observation data, raw path datasets, GMM model parameters, and final codebook data). The network interface connects to external user terminals via a wireless communication network to receive uplink pilot signals sent by the user terminals. When the processor executes the computer program, it implements the aforementioned beam geometry-based codebook generation method.
[0174] It should be noted that the user information (including but not limited to user terminal location information, channel observation data, etc.) and data (including but not limited to original path datasets, training sets, GMM model parameters, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and comply with relevant laws, regulations and industry standards.
[0175] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0176] In summary, this application breaks through the traditional design concept of uniform angular coverage of the codebook. By extracting all channel paths and performing power-weighted sampling, the training set accurately reflects the channel energy distribution, solving the codebook-channel mismatch problem at its source. Utilizing GMM probabilistic modeling and BIC optimal cluster number selection, it can automatically locate high-energy angular regions of the channel, avoiding the bias of manually setting the cluster number. Based on non-uniform codeword allocation according to cluster component ratios, quantization resources are concentrated in high-power directions, significantly reducing resource waste in low-energy regions. In large-scale MIMO systems, please refer to [link to relevant documentation]. Figure 4 Compared to conventional DFT codebooks, the beamforming performance and spectral efficiency of this scheme are effectively optimized.
Claims
1. A method for generating an angle domain codebook based on power-weighted GMM clustering, characterized in that, include: Acquire channel observation data, extract the angle and power information of each propagation path, and perform weighted sampling of the angle information based on the path power to generate a power-weighted training set that reflects the channel energy distribution; A Gaussian mixture model is used to model the probability density of the training set to identify the optimal number of angle clusters and obtain the weight, mean, and covariance of each cluster. Based on the weight of each angle cluster, the total number of codewords is non-uniformly distributed to each cluster; Based on the mean and covariance of each angle cluster, a corresponding number of codeword directions are generated; The codeword direction is converted into a turning vector and normalized to construct the final angle domain codebook; In this process, power-weighted sampling and non-uniform codeword allocation concentrate the codebook in the high-energy angle region, thereby improving beam matching accuracy and spectral efficiency.
2. The angle domain codebook generation method based on power-weighted GMM clustering according to claim 1, characterized in that, The steps to obtain channel observation data are as follows: Send a channel sounding signal to the space region and receive the reflected signal of the sounding signal after multipath propagation; The power attenuation value of each propagation path is extracted from the reflected signal as the path power, and the angle between each propagation path and the antenna array is extracted as the angular direction. The path power and angle direction of multiple paths are integrated to form the path parameters of the multiple channel observations.
3. The angle domain codebook generation method based on power-weighted GMM clustering according to claim 1, characterized in that, The steps for using a Gaussian mixture model to model the probability density of the training set are as follows: calculate the model fit under different numbers of angle clusters by minimizing the Bayesian Information Criterion (BIC), and select the number of angle clusters with the best fit as the optimal number of angle clusters.
4. The angle domain codebook generation method based on power-weighted GMM clustering according to claim 1, characterized in that, The steps to generate the corresponding number of codeword directions are as follows: If the number of codewords assigned to this angle cluster is greater than 0, the mean of this angle cluster is used as the basic codeword direction; The corresponding number of codeword directions are generated by sampling from the probability distribution of the angle cluster using a multivariate normal random sampling function; If sampling fails due to a singularity in the covariance matrix during the sampling process, the remaining required codeword directions are repeatedly generated using the mean vector of that angle cluster.
5. The angle domain codebook generation method based on power-weighted GMM clustering according to claim 1, characterized in that, The steps to convert the codeword direction into a steering vector are as follows: Obtain the number of elements and the spacing between elements in a large-scale MIMO antenna array; Based on the number of array elements, the spacing between array elements, and the direction of each codeword, the turning vector corresponding to the direction of each codeword is calculated using the array signal processing formula. The dimension of the turning vector is consistent with the number of antenna array elements. The calculated steering vectors are normalized to ensure that the magnitude of each steering vector is 1.
6. A device for generating an angle domain codebook for power-weighted GMM clustering, characterized in that, The generating apparatus is used to implement the angle domain codebook generation method based on power-weighted GMM clustering as described in any one of claims 1-5, and the generating apparatus includes: The path parameter acquisition module is used to acquire path parameters of multiple channel observations associated with a spatial region, the path parameters including path power and angular direction; The training set generation module is used to perform weighted sampling of the angle direction based on the path power to generate a power-weighted angle training set. The density modeling module is used to perform probability density modeling on the power-weighted angle training set using a Gaussian mixture model to identify the optimal number of angle clusters and output the weight, mean, and covariance corresponding to each angle cluster. The codeword allocation module is used to allocate the total number of codewords to the number of codewords corresponding to each angle cluster based on the weight corresponding to each angle cluster. The direction generation module is used to generate the codeword direction corresponding to the number of codewords for each angle cluster. The direction includes the mean of the angle cluster and an additional direction generated based on the principal eigenvector of the covariance of the angle cluster. The codebook construction module is used to convert all codeword directions into turning vectors to construct the final codebook; The rollback module is used to automatically invoke the DFT codebook generation logic in scenarios such as insufficient data, modeling failure, and sampling anomalies, ensuring the robustness of the codebook generation process.
7. The apparatus for generating an angle domain codebook for power-weighted GMM clustering according to claim 6, characterized in that, The density modeling module is further configured to: calculate the model fit under different numbers of angle clusters by minimizing the Bayesian Information Criterion (BIC), and select the number of angle clusters with the best fit as the optimal number of angle clusters.
8. The apparatus for generating an angle domain codebook for power-weighted GMM clustering according to claim 6, characterized in that, The steering vector conversion submodule is used for: Obtain the number of elements and the spacing between elements in a large-scale MIMO antenna array; Based on the number of array elements, the spacing between array elements, and the direction of each codeword, the turning vector corresponding to the direction of each codeword is calculated using the array signal processing formula; The steering vectors are normalized to ensure that the magnitude of each steering vector is 1.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the codebook generation method based on beam geometry as described in any one of claims 1 to 5.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the codebook generation method based on beam geometry as described in any one of claims 1 to 5.