Channel state information compression via joint beam / lag selection
Through the improved channel state information compression technology, the beam and hysteresis pairs are jointly selected, which solves the problem of efficient compression of channel state information feedback in cellular communication systems, and achieves high spectrum efficiency and accurate channel reconstruction.
Patent Information
- Application Number
- CN202380087762.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-21
- Filing Date
- 2023-12-07
- Publication Date
- 2025-07-29
AI Technical Summary
In cellular communication systems, especially in 5G and large-scale MIMO wireless networks, it is difficult for the prior art to efficiently compress the uplink communication overhead of channel state information feedback, resulting in frequent feedback demand and waste of resources.
Through improved channel state information compression technology, beam and hysteresis pairs are selected from the corresponding dictionary, and the number of feedback bits of channel state information is reduced using sparse representation and mixed list/arithmetic coding schemes.
It realizes efficient compression of channel state information under high spectrum efficiency, reduces feedback overhead and improves the accuracy of channel reconstruction, and is suitable for large-scale MIMO systems.
Smart Images

Figure CN120391036A_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims the benefit of GB national application No. 2219323.9, filed on 21 December 2022. The entire content of the above application is incorporated herein by reference. Field of the Invention
[0003] This specification relates to telecommunications systems. Background Art
[0004] A communication system can be a facility enabling communication between two or more nodes or devices, such as fixed or mobile communication devices. Signals can be carried on wired or wireless carriers.
[0005] An example of a cellular communication system is an architecture standardized by the 3rd Generation Partnership Project (3GPP). Recent developments in this field are often referred to as the Long-Term Evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio access technology. E-UTRA (Evolved UMTS Terrestrial Radio Access) is the air interface for the 3GPP's LTE upgrade path for mobile networks. In LTE, base stations or access points (APs), which are referred to as enhanced node APs (eNBs), provide wireless access within a coverage area or cell. In LTE, a mobile device, or mobile station, is referred to as a user equipment (UE). LTE has included a number of improvements or developments.
[0006] For example, the global bandwidth shortage faced by wireless network operators has driven the consideration of the under-utilized millimeter wave (mmWave) spectrum for future broadband cellular communication networks. mmWave (or extremely high frequency) can include, for example, the frequency range between 30 and 300 gigahertz (GHz). Radio waves in this band can have, for example, wavelengths ranging from ten to one millimeter, named the millimeter band or millimeter waves. The amount of wireless data is likely to increase significantly in the coming years. Various techniques have been used to try to address this challenge, including: obtaining more spectrum, having smaller cell sizes, and using techniques enabling more bits / s / Hz. One element that can be used to obtain more spectrum is to move to higher frequencies, for example, above 6 GHz. For the fifth generation wireless system (5G), an access architecture for the deployment of cellular radio devices using the mmWave radio spectrum has been proposed. Other example spectra can also be used, such as the cmWave radio spectrum (e.g., 3 - 30 GHz). Summary of the Invention
[0007] According to an example implementation, a method includes a user equipment of a wireless network receiving a request for channel state information feedback from a network node of the wireless network. The method further includes the user equipment generating an array of downlink channel coefficients. The method further includes the user equipment making a selection of at least one beam of a plurality of beams and at least one lag of a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by at least one beam and at least one lag, the selection of at least one beam and at least one lag being made jointly. The method further includes the user equipment generating a binary message by encoding at least one identifier of at least one beam and at least one lag and the sparse representation of the array of downlink channel coefficients. The method further includes the user equipment sending the binary message to the network node as a response to the request for channel state information feedback.
[0008] According to an example implementation, an apparatus includes at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: receive, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network; generate, by the user equipment, an array of downlink channel coefficients; make, by the user equipment, a selection of at least one beam of a plurality of beams and at least one lag of a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by at least one beam and at least one lag, the selection of at least one beam and at least one lag being made jointly; generate, by the user equipment, a binary message by encoding at least one identifier of at least one beam and at least one lag and the sparse representation of the array of downlink channel coefficients; and send, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
[0009] According to an example implementation, an apparatus includes means for receiving, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network. The apparatus further includes means for generating, by the user equipment, an array of downlink channel coefficients. The apparatus further includes means for making, by the user equipment, a selection of at least one beam from a plurality of beams and at least one lag from a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by the at least one beam and the at least one lag, the selection of the at least one beam and the at least one lag being made jointly. The apparatus further includes means for generating, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and the sparse representation of the array of downlink channel coefficients. The apparatus further includes means for transmitting, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
[0010] According to an example implementation, a computer program product includes a computer-readable storage medium and stores executable code that, when executed by at least one processor, is configured to cause the at least one processor to: receive, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network; generate, by the user equipment, an array of downlink channel coefficients; make, by the user equipment, a selection of at least one beam from a plurality of beams and at least one lag from a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by the at least one beam and the at least one lag, the selection of the at least one beam and the at least one lag being made jointly; generate, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and the sparse representation of the array of downlink channel coefficients; and transmit, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
[0011] According to an example implementation, a method includes a network node of a wireless network sending a request for channel state information feedback to a user equipment in the wireless network. The method further includes the network node receiving a binary message from the user equipment. The method further includes the network node performing a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding, from a first field of the binary message, the number of beams of at least one beam of the plurality of beams and the number of lags of at least one lag of the plurality of lags used in the sparse representation of the array of downlink channel coefficients. The method further includes the network node performing a second decoding of the binary message to generate values of a sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag. The method further includes the network node reconstructing the array of downlink channel coefficients for use in channel state information.
[0012] According to an example implementation, an apparatus includes at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: send, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; receive, by the network node, a binary message from the user equipment; perform, by the network node, a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding, from a first field of the binary message, the number of beams of at least one beam of the plurality of beams and the number of lags of at least one lag of the plurality of lags used in the sparse representation of the array of downlink channel coefficients; perform, by the network node, a second decoding of the binary message to generate values of a sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; and reconstruct, by the network node, the array of downlink channel coefficients for use in channel state information.
[0013] According to an example implementation, an apparatus includes means for a network node of a wireless network to send a request for channel state information feedback to a user equipment in the wireless network. The apparatus further includes means for the network node to receive a binary message from the user equipment. The apparatus further includes means for the network node to perform a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding, from a first field of the binary message, the number of beams of at least one beam of the plurality of beams and the number of lags of at least one lag of the plurality of lags used in the sparse representation of the array of downlink channel coefficients. The apparatus further includes means for the network node to perform a second decoding of the binary message to generate values of a sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag. The apparatus further includes means for the network node to reconstruct the array of downlink channel coefficients for use in channel state information.
[0014] According to an example implementation, a computer program product includes a computer-readable storage medium and stores executable code that, when executed by at least one processor, is configured to cause the at least one processor to: send, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; receive, by the network node, a binary message from the user equipment; perform, by the network node, a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding, from a first field of the binary message, the number of beams of at least one beam of the plurality of beams and the number of lags of at least one lag of the plurality of lags used in the sparse representation of the array of downlink channel coefficients; perform, by the network node, a second decoding of the binary message to generate values of a sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; and reconstruct, by the network node, the array of downlink channel coefficients for use in channel state information.
[0015] Details of one or more examples of the implementation are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Figure 1 is a block diagram of a digital communication network according to an example implementation.
[0017] Figure 2 is a signaling diagram illustrating a process of compressing channel state information according to an example implementation.
[0018] Figure 3It is a flowchart of a process for compressing channel state information implemented according to an example.
[0019] Figure 4 It is a flowchart of the first stage of channel state information compression implemented according to an example.
[0020] Figure 5 It is a signaling diagram of the second stage of channel state information compression implemented according to an example.
[0021] Figure 6 It is a signaling diagram of the third stage of channel state information compression implemented according to an example.
[0022] Figure 7 It is a flowchart of a process for compressing channel state information implemented according to an example.
[0023] Figure 8 It is a flowchart of a process for compressing channel state information implemented according to an example.
[0024] Figure 9 It is a block diagram of a node or a wireless station (e.g., a base station / access point, a relay node, or a mobile station / user equipment) implemented according to an example. Detailed implementation
[0025] Now, the principles of the present disclosure will be described with reference to some example embodiments. It should be understood that the description of these embodiments is for illustrative purposes only and helps those skilled in the art to understand and implement the present disclosure, without implying any limitation on the scope of the present disclosure. The present disclosure described herein can be implemented in various ways other than those described below.
[0026] The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the example embodiments. Unless the context clearly indicates otherwise, as used herein, the singular forms "a", "an", and "the" are also intended to include the plural forms. It should also be understood that the terms "comprises", "comprising", "has", "having", "includes", and / or "including" when used herein, specify the presence of the stated features, elements, and / or components, etc., but do not preclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.
[0027] Figure 1 It is a block diagram of a digital communication system implemented according to an example, such as wireless network 130. In Figure 1In the wireless network 130, user devices 131, 132, and 133 (which may also be referred to as mobile stations (MS) or user equipment (UE)) can be connected to (and communicate with) a base station (BS) 134 (which may also be referred to as an access point (AP), evolved node (eNB), gNB (which may also be a 5G base station) or network node). At least some of the functions of the access point (AP), base station (BS) or (evolved) Node B (eNB) can also be implemented by any node, server or host that can be operatively coupled to a transceiver (such as a remote radio head). The BS (or AP) 134 provides wireless coverage within a cell 136 (including user devices 131, 132, and 133). Although only three user devices are shown as being connected or attached to the BS 134, any number of user devices or BSs can be provided. The BS 134 is also connected to a core network 150 via an interface 151. This is just a simple example of a wireless network, and other examples can also be used.
[0028] A user equipment (user terminal, user device (UE)) may refer to a portable computing device that includes a wireless mobile communication device operating with or without a subscriber identity module (SIM). By way of example, it includes, but is not limited to, the following types of devices: mobile station (MS), mobile phone, cellular phone, smart phone, personal digital assistant (PDA), earphone, device using a wireless modem (such as an alarm or measuring device), laptop computer and / or touch screen computer, tablet computer, phablet, game console, notebook computer, vehicle, and multimedia device. It should be understood that the user equipment can also be an almost exclusively uplink device, an example of which is a camera or video camera that uploads images or video clips to the network.
[0029] In LTE (by way of example), the core network 150 may be referred to as an evolved packet core (EPC), which may include: a mobility management entity (MME) that can handle or assist with the mobility / service cell change of user equipment between BSs, one or more gateways that can forward data and control signals between the BS and a packet data network or the Internet, and other control functions or blocks.
[0030] Various example implementations can be applied to a wide variety of wireless technologies, wireless networks such as LTE, LTE-A, 5G (New Radio, or NR), cmWave, and / or mmWave band networks, or any other wireless network or use case. LTE, 5G, cmWave, and mmWave band networks are provided only as illustrative examples, and various example implementations can be applied to any wireless technology / wireless network. Various example implementations can also be applied to a variety of different applications, services, or use cases such as, for example, ultra-reliable low-latency communication (URLLC), Internet of Things (IoT), time-sensitive communication (TSC), enhanced mobile broadband (eMBB), massive machine type communication (MMTC), vehicle-to-vehicle (V2V), vehicle-to-device, etc. Each of these use cases, or type of UE, can have its own set of requirements.
[0031] Future generations of 5G and massive MIMO wireless networks employ a large number of serving antennas at the base station to achieve precise downlink beamforming, which relies on accurate downlink channel state information. Through downlink pilots, this downlink channel state can be estimated at the UE and fed back to the base station for downlink beamforming. For massive MIMO with many serving antennas, the channel state information includes large matrices, and frequent feedback is needed to keep up with changing channel conditions in mobile applications. The 3GPP standards seek to minimize the uplink communication overhead required to convey this channel state information feedback using compression techniques. The higher the compression and the less the loss, the better.
[0032] Multimedia data streams can be sent to each UE. Each data stream within the UE is called a layer. Downlink transmission performs beamforming on each layer based on channel state information (CSI). The CSI corresponding to a layer is given as an M×K complex matrix H, where M is the number of transmit antennas at the base station and K is the number of frequency subbands used in the transmission. The CSI matrix H is estimated by the UE and needs to be fed back to the base station so that the base station can perform beamforming. The problem is to find a method that can encode the matrix H using as few bits as possible to minimize the feedback overhead. If a UE has multiple receive antennas, the CSI associated with that UE can include multiple such matrices.
[0033] In the 3GPP standards, CSI compression techniques have evolved over time. The current best method is called enhanced type II CSI compression (e-type II). The essential components of this method are:
[0034] · Model the channel variations on the antenna ports as a linear combination of "beams" selected from a dictionary.
[0035] ·Divide the subcarriers into subbands, and use the average singular vector of the channel on the subband to replace the channel information in each subband.
[0036] ·Model the change of the singular vector in frequency as a linear combination of the selected "lags" (rows) of the DFT matrix.
[0037] ·Quantize the linear combination coefficients through a bitmap, and separate the amplitude and phase quantization.
[0038] After performing these steps, the UE sends overhead information indicating: the index of the selected beam, the index of the selected DFT lag, the coefficient bitmap, and the bits indicating the quantized amplitude and phase of each non-zero coefficient.
[0039] After receiving this information, the base station can use the known dictionary of beams and lags to reconstruct an approximation of the channel singular vector. Then these can be used to design a downlink beamforming matrix, such as based on maximum ratio transmission or zero-forcing.
[0040] Compared with the previously standardized method, conventional enhanced Type II compression gives much improved performance for a given number of overhead bits. However, for achieving high spectral efficiency by using large antenna arrays, further improvements are expected.
[0041] Improved techniques for compressing channel state information include jointly selecting beam / lag pairs from the corresponding dictionary. This is different from conventional compression, in which the beam is selected from the dictionary during compression and then the lag is selected from another dictionary at a later time. Further comparisons with conventional compression schemes include: 1) the network node sending configurable oversampling parameters to the UE, 2) the presence of a noise-aware stopping criterion in selecting beam / lag pairs for sparse matrix determination, and 3) a hybrid list / arithmetic coding scheme to represent the selected set of beam / lag pairs in the binary message sent from the UE to the gNB.
[0042] Improved compression uses large antenna arrays to achieve high spectral efficiency.
[0043] Define the following symbols in this article.
[0044] ·N t : The number of gNB antenna positions, not counting polarization;
[0045] ·N f : The number of frequencies at the estimated channel (usually PRBs, which can be subcarriers or subbands depending on the context);
[0046] ·N′ f : The number of frequencies used to calculate the eigenvector;
[0047] ·N r : The number of UE antennas;
[0048] ·N l ≤N r : The number of layers selected by the UE;
[0049] ·H (p,r) : The N t ×N f channel matrix for polarization p and receiving antenna r;
[0050] · The N t ×N′ f eigenvector matrix for polarization p and layer l (i.e., eigenvector l). Each column of is the N f <N f associated with a given frequency (or the range of frequencies when N′ t ×N r th singular vector of the channel subarray.
[0051] ·H: The entire N t ×N′ f ×2×N l array representing the channel coefficients (note that "2" symbolizes two polarizations);
[0052] ·W2: The entire N t ×N′ f ×2×N l array representing the eigenvector components (note that "2" symbolizes two polarizations);
[0053] ·H: The superscript H symbolizes the Hermitian (complex conjugate transpose) of the matrix;
[0054] · The element-by-element complex conjugate of matrix B;
[0055] · The number of elements in the set .
[0056] The intention is for the UE to use a small number of bits to compress H or W2, send the compressed representation to the gNB, and then obtain the decompressed approximation or which is then used by the gNB to design the precoding / beamforming weights for downlink transmission.
[0057] The dictionary matrix predefined herein is as follows.
[0058] ·Bt : Grid of beams, dimension N t ×(Ω t N t ) matrix, where Ω t is spatial oversampling;
[0059] ·B f : Grid of lags, dimension N f ×(Ω f N f ) Fourier transform submatrix, where Ω f is temporal oversampling;
[0060] · B t submatrix of, retaining only the columns indexed by the set of size ; columns;
[0061] · B f submatrix of, retaining only the columns indexed by the set of size ; columns;
[0062] Selected columns of B t are called "beams", and selected columns of B f are called "lags" because these are driven by the spatial beam pattern and lags in the channel impulse response respectively.
[0063] The following is an overview of conventional E-Type II compression for the purpose of comparison with the improved technique. The conventional compression method is as follows.
[0064] · Parameters configured by the gNB include the number of beams K t , the number of lags K f , and the number of non-zero elements in the bitmap.
[0065] · The set of beams is selected and constrained such that has orthogonal columns.
[0066] · For each polarization p and receive port r, the K t ×N f coefficient matrix is calculated (such that ).
[0067] · For each frequency and polarization, the Nl singular vectors of the corresponding K t ×N r sub-arrays of D are calculated to form K t ×N f ×2×Nl An array W′2, where each column is a singular vector.
[0068] · Hysteresis A set of which is selected from a unified dictionary without oversampling (Ω f = 1).
[0069] · For each polarization p and layer l, K t × N f Coefficient matrix is calculated (such that ).
[0070] · For each polarization p and layer l, the coefficient matrix C (p,l) is quantized as follows.
[0071] ο The matrix is normalized (divided by a complex scalar) such that the largest element has unit magnitude and zero phase.
[0072] ο The smallest coefficients (a pre-specified portion) are set to zero.
[0073] ο The positions of the non-zero coefficients are encoded by a K t × k f bitmap.
[0074] ο According to a fixed quantization, the non-zero coefficients are quantized in amplitude and phase.
[0075] The compressed representation indicates each set of coefficients and the bitmap, and the quantized amplitudes and phases. To reconstruct the singular vectors, the gNB performs the following operations.
[0076] · Use the bitmap and the quantized coefficients to construct an approximate coefficient matrix
[0077] · For each polarization p and layer l, an N t × N f singular vector matrix is constructed as
[0078] While the improved technique also utilizes pre-defined dictionaries B t and B f at the same time, the improved technique is contrasted with conventional compression in terms of how the beam and hysteresis are selected and how the coefficients are calculated and quantized.
[0079] In the improved technique, in the case of Ω f ≥ 1., the "hysteresis grid" B fIt can be oversampled. In addition, it is not required that the selected set of lags or the set of beams be orthogonal to each other. The advantage of oversampling is that the features can fit the real channel more precisely, such that fewer features need to be selected to achieve an approximate given level. In such a case, it is more difficult to select features than having orthogonal features, thus driving the bidirectional orthogonal matching pursuit (OMP) method.
[0080] Improved techniques can be used to approximate H for each polarization and receive port (p,r) , or improved techniques can be used to approximate In each case, the matrix has dimension N t ×N f . For the sake of unified notation, the general matrix G (q) is used hereinafter, where G represents H or W, and q is the index in the set of all possible pairs (p, r) (for H) or (p, l) (for W).
[0081] If working with singular vectors, the singular vectors can be calculated for each N t ×N r sub-array of the channel, and set Otherwise, G can be set (q) = H (p,r) .
[0082] According to the improved technique, a method for compressing each G (q) is now described. The motivation for this method comes from the fact that if the left channel is multiplied by the transpose of the grid of beam matrices and the right channel is multiplied by the grid of lag matrices B f , a relatively sparse matrix is obtained.
[0083] Figure 2 is a signaling diagram illustrating the process 200 of compressing channel state information (CSI).
[0084] At 201, the network node (gNB) requests CSI feedback.
[0085] At 202, the UE calculates (estimates) the array of downlink (DL) channel sparsity. The UE will compress these channel coefficients into a binary message for transmission to the gNB.
[0086] At 203, the UE calculates the sparse approximation to the DL channel coefficients and encodes the set of indices (identifying beam / lag pairs) and the quantized coefficients in the binary message.
[0087] At 204, the UE sends the binary message to the gNB.
[0088] At 205, the gNB decodes the binary message to obtain a set of indices corresponding to beam / lag pairs and the quantized coefficients.
[0089] At 206, the gNB reconstructs an array of DL channel coefficients from the set of indices and the quantized coefficients.
[0090] Figure 3 FIG. 300 is a flowchart illustrating the process of compressing CSI.
[0091] At 301, the gNB requests CSI feedback via a control message that specifies feedback parameters. In some implementations, the feedback parameters include a lag oversampling factor Ω f . In some implementations, the control message may include a beam oversampling factor, a target accuracy, and / or a variance multiplier.
[0092] At 302, the UE calculates an array of estimated DL channel coefficients G (q) ( or H (p,r) ).
[0093] At 303, stage 1 of the improved technique occurs: the UE uses the lag oversampling factor Ω f and other parameters to calculate a sparse approximation of the channel coefficients.
[0094] At 304, stage 2 of the improved technique occurs: the UE encodes a set of indices identifying beam / lag pairs and the quantized channel coefficients in a binary message.
[0095] At 305, the UE sends the binary message to the gNB.
[0096] At 306, stage 3 of the improved technique occurs: the gNB decodes the binary message to obtain the set of indices and the quantized coefficients, and uses the lag oversampling factor Ω f and other parameters to reconstruct the decompressed channel coefficient array.
[0097] At 307, the gNB uses the decompressed channel coefficient array for DL beamforming / precoding.
[0098] The purpose of stage 1 is to approximate the channel matrix using a sparse collection of beam-lag pairs. Generally, each matrix is approximated as
[0099] For each where C (q) is a large Ω t N t ×Ω f N f matrix.
[0100] Compress from selection C (q) is a sparse matrix with only a few non-zero entries. Define \(a = \text{vec}(A)\) as the operation of stacking the columns of matrix \(A\) into a single column vector, and \(A=\text{vec}\) -1 (a) as the inverse operation mapping from a vector to a matrix. For \(\text{vec}\) -1 (·), assume the dimensions of matrix \(A\) are given.
[0101] Using the properties of the Kronecker product, the following terms can be written.
[0102]
[0103] where denotes the element-wise complex conjugate of matrix \(B\) f .
[0104] Define Equivalently, the following terms can be written.
[0105]
[0106] In this form, the problem is considered a traditional sparse estimation problem: find the sparse vector \(c(q)\) to minimize \(\|g\) (q) - B tf c (q) \| 2 .
[0107] Let denote the set of indices of non-zero \(c\) (q) , let be the vector containing only those non-zero components, and be the submatrix of \(B\) containing only the corresponding columns tf . With this set fixed, the optimal coefficients can be found by least squares minimization, minimizing with solution (where \(B\) + denotes the Moore - Penrose pseudoinverse).
[0108] In some implementations, the orthogonal matching pursuit (OMP) algorithm is used to find the sparse \(c\) (q) , to minimize the approximation error. The algorithm effectively sequentially adds (beam, lag) pairs to the approximation to minimize the error as much as possible at each step. It performs better than conventional methods (where the set of beams is chosen and then the set of lags is chosen) in algorithms where beam and lag pairs are added jointly. Due to the Kronecker product structure of the problem, some computational simplifications are available.
[0109] Figure 4It is a flowchart of the first stage (stage 1) 400 of channel state information compression shown in the figure.
[0110] At 401, the channel array and control parameters are input into the algorithm.
[0111] At 402, there is an initialization: for each Set and n = 1.
[0112] At 403, (step 1) for Calculate and find
[0113] At 404, (step 2) add the selected index to the set, that is, set
[0114] At 405, (step 3) solve the least squares problem and calculate the residual
[0115] At 406, (step 4) if is not small enough, and the noise stop criterion has not been reached, and has not exceeded the preset limit, then set n ← n + 1 and repeat from step 1. Otherwise, stop in the result and for each of case.
[0116] At 407, the output is the set of indices used in the best approximation from step 3 and the coefficients
[0117] In some implementations, some computational simplifications can be made. For example, since is a Kronecker product, the calculation in step 1 can be performed with reduced complexity using the following equation.
[0118]
[0119] As another simplification, it is not necessary to generate the large matrix B tf in order to extract the submatrix required for step 3
[0120] For the mapping between the indices in matrix A and the corresponding indices of a = vec(A) (i.e., the mapping between k and (i, j) such that a k = Ai,j ) to define the symbols. Specifically, if A is an N×M matrix and if indices starting from 0 are used, then k = veci(i, j) = i + jN is defined, and Then each column of f and B t can be constructed as the Kronecker product of the corresponding columns of B, i.e.,
[0121] In stage 2, the goal is to efficiently encode the set of indices and quantize the coefficients into information containing a small number of bits; this is outlined in Figure 5 .
[0122] It should be noted that a bitmap of length N can be directly represented by N bits. Alternatively, the bitmap can be represented by annotating the number n of non-zero elements and then encoding the bitmap using an arithmetic code with probability n / N. The average length of the encoded version will be the number of bits required to express n plus where h(p) = -p log2 p - (1 - p) log2(1 - p) is the binary entropy function. When n << N, then the length of the encoded bitmap is much less than N (the length of the non-encoded bitmap).
[0123] Figure 5 is a signaling diagram of the second stage (stage 2) 500 of channel state information compression.
[0124] At 501, the set of indices for each of the coefficients and the parameter Ω t , N t , Ω f , N f are input.
[0125] At 502, the integer is encoded in a binary message including a fixed field.
[0126] At 503, each index is mapped to the (beam, lag) pair defined by (i k , j k ) = veci -1 (k). The indices i k and j k are the row and column indices of the sparse matrix C (q) = vec -1 (c (q) ). By The minimum set of columns involved is defined as where (i k , j k ) = veci -1 (k).
[0127] At 504, in some implementations, it is assumed that non-zero columns will be used; this is not always the case, and any number of columns can be used. In such implementations, however, 4 bits are used to represent the value 0 ≤ K f ≤ 15, and bits are used to list the index set
[0128] At 505, a bitmap with length Ω t N t K f is identified within a sub-matrix of size Ω t N t × K f In some implementations, 7 bits are used to represent the index set size
[0129] At 506, lossless (e.g., arithmetic or run-length) coding is used to express the bitmap.
[0130] At 507, a quantization scheme is used to represent coefficients with an average of b avg bits per coefficient
[0131] At 508, a binary message is output. Then, the typical overhead in bits for the entire message is as follows.
[0132]
[0133] A hybrid method of encoding the set by listing the columns and then using an encoded bitmap that identifies the bitmap limited to those columns is extremely effective because in a practical channel, the number of different lags (columns) tends to be relatively small compared to the number of different beams (rows).
[0134] The quantization of coefficients is described in a little more detail herein. Although there are various ways to approach quantization, the following is preferred.
[0135] In the absence of quantization, the above scheme in stage 2 would achieve a total squared error If instead, quantized coefficients are used, the square root of the squared error is as follows.
[0136]
[0137] The last inequality holds if the quantization scheme we design satisfies
[0138]
[0139] For example, by setting α = 0.1 and the quantization coefficients to satisfy the quantization step will increase the total squared error by no more than (1 + α) 2 = 1.21.
[0140] As an example of the quantization scheme, the following items can be performed:
[0141] 1. Select the granularity
[0142] 2. Convert the coefficients to integers, such as where it is rounded to the nearest complex integer.
[0143] 3. Use lossless compression to convert the list of integers to bits.
[0144] This ensures the desired accuracy of the quantization coefficients, up to a scaling factor δ unknown to the decompression algorithm. If the gNB processing ignores the scaling (e.g., if the access point normalizes the received CSI), then this scaling factor does not need to be known by the decompression algorithm. If desired, an approximation of the scaling factor δ can also be included in the compressed bits, e.g., using a floating-point representation.
[0145] In stage 3, the channel state information is decoded by the gNB from the binary message. Herein, the decoder at the gNB receives the binary message from the UE.
[0146] Figure 6 is a flowchart of the third stage (stage 3) 600 of the channel state information compression.
[0147] At 601, the gNB receives the binary message, which includes
[0148] · the bits encoding the quantized coefficients and
[0149] · the bits encoding the elements of the set.
[0150] The gNB has the values of the parameters Ω t , N t , Ω f , N f (which have been sent to the UE in the original request for CSI feedback) and the set Q.
[0151] The decoder also has an available matrix B tf whose definition allows the sub-matrix to be constructed.
[0152] At 602, the decoder decodes an integer from the first field in the binary message (e.g., seven bits).
[0153] At 603, the decoder decodes an integer K from the subsequent binary field f (e.g., four bits) to obtain the number of columns. Then the decoder decodes bits to obtain the elements of (i.e., the list of columns).
[0154] At 604, the decoder uses an arithmetic code with probability parameter to decode approximately bits to obtain Ω t N t K f a string of bits. Then the decoder reshapes this string into a bitmap matrix of dimension Ω t N t ×K f .
[0155] At 605, the decoder converts each "1" in the bitmap matrix into an index pair (i, j). From this pair, it obtains the elements of the index set , i.e., the beam / lag pairs added to the index set .
[0156] At 606, for each the decoder decodes each subsequent binary string to obtain the quantized coefficients
[0157] At 607, for each the gNB calculates and then reconstructs the channel coefficients as
[0158] At 608, for each the output is represented as
[0159] In the calculation simplification, since B t f is a Kronecker product, the calculation can also be expressed in an alternative form. For each index we define the beam-lag pair index (i k , j k ) = veci-1 (k). Then the channel can be reconstructed as a linear combination of rank-one matrices, where each rank-one matrix is from the columns of the beam dictionary B t ({i k}) and the columns of the transpose of the lag dictionary B f ({j k}) H formed by the outer product.
[0160] In stage 1 at step 4, the algorithm decides whether to stop the current index set or whether to continue adding another element to the index set. In fact, the estimated channel coefficient g at the UE (q) is affected by additive noise and thus the coefficient v obtained after beam-lag transformation (q) = B tf g (q) . In some implementations, the true channel is sparse and the non-zero values are concentrated at relatively few (beam-lag) pairs. The additive noise is uniform. In a noisy situation, the most important transformed coefficients v (q) stand out from the noise, yet the small coefficients in the noise are "lost". Since the coefficients dominated by noise are useless, it is best to add only the beam-lag pairs for which the corresponding entries of V (q) are significantly greater than the noise.
[0161] Returning to step 1 of stage 1, the next feature index is selected based on feature i that maximizes the sum and where is the residual coefficient for feature i at polarization / receiver / layer index q. Assuming each is an independent complex Gaussian random variable with variance σ 2 . Then y i / σ 2 will be a chi-square random variable with degrees of freedom. For example, if includes two polarizations, it will be 4 degrees of freedom, or if includes two polarizations on 4 different receive antennas, it will be 16 degrees of freedom, etc. Since i covers N feat = Ω f N f Ω t N t features, the maximum value of y i under this uniform Gaussian model is likely to be approximately
[0162]
[0163] where is the CDF of a chi-squared variable with degrees of freedom.
[0164] If we have a good estimate of σ 2 , if we can modify the OMP algorithm to break after step 1. That is, when the maximum residual feature is not sufficiently prominent from the noise, stop adding more features.
[0165] The remaining problem is to determine a robust estimate for σ 2 . Under the assumption that the true channel in the beam-lag representation is very sparse, the vast majority of the values of y i are dominated by noise, and thus regardless of the strength of the true channel, the median of y i / σ 2 should be fairly close to the median of a chi-squared random variable. A good approximation for the median of a chi-squared variable with k degrees of freedom is known to be
[0166] Therefore, the noise variance can be robustly estimated as
[0167]
[0168] In summary,
[0169] · When step 4 of phase 1 is first executed:
[0170] ο The noise variance in the channel measurement is estimated as
[0171] ο The stopping threshold is calculated as
[0172] · At each time during step 4 of phase 1, if then end phase 1.
[0173] Above, β is a constant of approximately 1. Empirically, for example, good results have been found using β = 2.25. Using a higher β value corresponds to earlier stopping to avoid including untrustworthy coefficients, while using a lower β value corresponds to later stopping, which takes bits if sufficient accuracy needs to be ensured.
[0174] In some use cases, the noise can be non-uniform. For example, due to the presence of out-of-cell interference or other interference sources, the noise variance can depend on frequency. In such cases, the noise variance can be estimated separately in each of several sub-bands using the method described in this section to obtain a frequency-dependent threshold τ f .
[0175] Example 1-1:Figure 7 is a flowchart of a process 700 for compressing channel state information. Operation 710 includes receiving, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network. Operation 720 includes generating, by the user equipment, an array of downlink channel coefficients. Operation 730 includes making, by the user equipment, a selection of at least one beam out of a plurality of beams and at least one lag out of a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation whose non-zero entries are identified by the at least one beam and the at least one lag, and the selection of the at least one beam and the at least one lag being made jointly. Operation 740 includes generating, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and a sparse representation of the array of downlink channel coefficients. Operation 750 includes sending, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
[0176] Example 1-2: According to the example implementation of Example 1-1, wherein the request includes a value of a beam and / or lag oversampling parameter; and wherein the sparse representation of the array of downlink channel coefficients is generated using the value of the beam and / or lag oversampling parameter.
[0177] Example 1-3: According to the example implementation of Examples 1-1 to 1-2, wherein generating the array of downlink channel coefficients includes: forming, from columns of a matrix of coefficients of a sparse approximation of the array of downlink channel coefficients, a vector that is the sparse approximation of the array of downlink channel coefficients, the vector being equal to the product of a beam / lag matrix and the sparse representation.
[0178] Example 1-4: According to the example implementation of Example 1-3, wherein the beam / lag matrix is equal to the Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
[0179] Example 1-5: According to the example implementation of Examples 1-1 to 1-4, wherein the threshold is based on an estimated variance of additive noise in the array of downlink channel coefficients.
[0180] Example 1-6: According to the example implementation of Example 1-5, wherein the sum of the absolute value squared of additive noise on one or more slices is modeled as a chi-squared random variable.
[0181] Example 1-7: Implement according to the examples of Examples 1-1 to 1-6, wherein generating a binary message includes: encoding a plurality of identifiers of at least one beam and at least one lag in the binary message; determining a set of unique lags and a number of unique lags from each identifier of the at least one beam and the at least one lag; and including in the binary message (i) an encoding of each unique lag in the set of unique lags, and (ii) an encoding of the number of unique lags.
[0182] Example 1-8: Implement according to the example of Example 1-7, wherein generating the binary message further includes: generating a bitmap based on non-zero entries of a sparse representation of an array of downlink channel coefficients identified by the at least one beam and the at least one lag; encoding the bitmap using lossless encoding to produce an encoded bitmap; and including the encoded bitmap in the binary message.
[0183] Example 1-9: An apparatus includes components for performing the method of any of Examples 1-1 to 1-8.
[0184] Example 1-10: A computer program product includes a non-transitory computer-readable storage medium and stores executable code that, when executed by at least one data processing device, is configured to cause the at least one data processing device to perform the method of any of Examples 1-1 to 1-8.
[0185] Example 2-1: Figure 8 is a flowchart illustrating a process 800 for compressing channel state information. Operation 810 includes a network node of a wireless network sending a request for channel state information feedback to a user equipment in the wireless network. Operation 820 includes the network node receiving a binary message from the user equipment. Operation 830 includes the network node performing a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding a number of beams of at least one beam of the plurality of beams and a number of lags of at least one lag of the plurality of lags used in the sparse representation of the array of downlink channel coefficients from a first field of the binary message. Operation 840 includes the network node performing a second decoding of the binary message to produce values of a sparse representation of an array of downlink channel coefficients for the identified at least one beam and at least one lag. Operation 850 includes the network node reconstructing the array of downlink channel coefficients for use in channel state information.
[0186] Example 2-2: Implementing according to the example of Example 2-1, where performing the first decoding includes: decoding the following items from subsequent binary fields of a binary message: (i) the number of unique lags, and (ii) the identifiers of the unique lags; and performing arithmetic decoding of a subsequent sequence of bits from a subsequent sequence of bits of the binary message to obtain a bitmap that identifies the beams and lags used in the sparse representation of an array of downlink channel coefficients.
[0187] Example 2-3: Implementing according to the example of Example 2-2, where performing the second decoding includes: decoding a code from a binary string to obtain quantized coefficients of a sparse representation of an array of downlink channel coefficients.
[0188] Example 2-4: Implementing according to the example of Example 2-3, where reconstructing an array of downlink channel coefficients includes: evaluating the product of a sparse representation of an array of downlink channel coefficients and a beam / lag matrix, the beam / lag matrix being equal to the Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
[0189] Example 2-5: An apparatus comprising components for performing the method of any of Examples 2-1 to 2-4.
[0190] Example 2-6: A computer program product comprising: a non-transitory computer-readable storage medium and storing executable code that, when executed by at least one data processing device, is configured to cause the at least one data processing device to perform the method of any of Examples 2-1 to 2-4.
[0191] List of example abbreviations:
[0192] 5G – Fifth Generation
[0193] UE – User Equipment
[0194] 3GPP – Third Generation Partnership Project
[0195] CSI – Channel State Information
[0196] OMP – Orthogonal Matching Pursuit
[0197] NMSE – Normalized Mean Square Error
[0198] SoA – State of the Art
[0199] SEP – Standard Essential Patent
[0200] DFT – Discrete Fourier Transform
[0201] Figure 9Block diagram of a wireless station (e.g., AP, BS, e / gNB, NB-IoT UE, UE, or user equipment) 900 implemented according to an example. The wireless station 900 may include, for example, one or more (two in this illustration) RF (radio frequency) or wireless transceivers 902A, 902B, where each wireless transceiver includes a transmitter for transmitting signals (or data) and a receiver for receiving signals (or data). The wireless base station also includes a processor or control unit / entity (controller) 904 that executes instructions or software and controls the transmission and reception of signals, and a memory 906 that stores data and / or instructions.
[0202] The processor 904 may also make decisions or determinations, generate time slots, sub-frames, packets, or messages for transmission, decode received time slots, sub-frames, packets, or messages for further processing, and other tasks or functions described herein. The processor 604 (which may be a baseband processor) may, for example, generate messages, packets, frames, or other signals for transmission via the wireless transceiver 902 (902A or 902B). The processor 904 may control the transmission of signals or messages on the wireless network and may control the reception of signals or messages via the wireless network (e.g., after being down-converted by the wireless transceiver 902). The processor 904 may be programmable and capable of executing software or other instructions stored in the memory or other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above. The processor 904 may be (or may include) hardware, programmable logic, a programmable processor that executes software or firmware, and / or any combination thereof. Using other terms, for example, the processor 904 and the transceiver 902 (902A or 902B) together may be considered a wireless transmitter / receiver system.
[0203] In addition, with reference to Figure 9 , the controller (or processor) 908 may execute software or instructions and may provide overall control for the station 900 and may provide control for other systems not shown in Figure 9 , such as controlling input / output devices (e.g., display, keys), and / or executable software for one or more applications that may be provided on the wireless station 900, such as, for example, an email program, an audio / video application, a word processor, an IP voice application, or other applications or software.
[0204] In addition, a storage medium including stored instructions may be provided, and when executed by the controller or processor, may cause the processor 904 or other controller or processor to perform one or more of the functions or tasks described above.
[0205] According to another example implementation, the RF or wireless transceiver(s) 902A / 902B can receive signals or data, and / or transmit or send signals or data. The processor 904 (and possibly the transceiver(s) 902A / 902B) can control the RF or wireless transceiver 902A or 902B to receive, send, broadcast, or transmit signals or data.
[0206] However, the embodiments are not limited to the systems given as examples, but those skilled in the art can apply the solutions to other communication systems. Another example of a suitable communication system is the 5G concept. 5G uses multiple-input multiple-output (MIMO) antennas, far more base stations or nodes than LTE (the so-called small cell concept), including macro stations operating in cooperation with smaller base stations, and may also employ various radio technologies for better coverage and enhanced data rates.
[0207] It should be understood that future networks will most likely utilize network function virtualization (NFV), which is a network architecture concept that proposes virtualizing network node functions into "building blocks" or entities that can be operatively connected or linked together to provide services. Virtualized network functions (VNFs) can include one or more virtual machines that run computer program code using standard or general-purpose type servers instead of custom hardware. Cloud computing or data storage can also be utilized. In radio communication, this can mean that node operations can be performed at least partially in servers, nodes operatively coupled to remote radio heads. Node operations can also be distributed among multiple servers, nodes, or hosts. It should also be understood that the division of labor between core network operations and base station operations can be different from that of LTE, or even non-existent.
[0208] Implementations of the various techniques described herein can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. The implementation can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier (e.g., in a machine-readable storage device or in a propagated signal) for execution or control of the operations by a data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). The implementation can also be provided on a computer-readable medium or computer-readable storage medium, which can be a non-transitory medium. Implementations of the various techniques can also include implementations provided via transient signals or media, and / or downloadable programs and / or software implementations via the Internet or other network(s) (wired network and / or wireless network). In addition, the implementation can be provided via machine type communication (MTC), and also via the Internet of Things (IoT).
[0209] A computer program can be in source code form, object code form, or some intermediate form, and it can be stored in some carrier, distribution medium, or computer-readable medium, which can be any entity or device capable of carrying the program. Such carriers include, for example, recording media, computer memories, read-only memories, optical and / or electrical carrier signals, telecommunication signals, and software distribution packages. Depending on the required processing power, the computer program can be executed on a single electronic digital computer, or it can be distributed among multiple computers.
[0210] In addition, the implementation of the various techniques described herein can use cyber-physical systems (CPSs) (systems of collaborative computing elements that control physical entities). CPSs can enable the implementation and development of a large number of interconnected ICT devices (sensors, actuators, processors, microcontrollers,...) embedded in physical objects at different locations. Mobile cyber-physical systems are a subclass of cyber-physical systems, where the physical system under discussion has inherent mobility. Examples of mobile physical systems include mobile robots and electronic devices transported by humans or animals. The popularity of smartphones has increased the interest in the field of mobile cyber-physical systems. Thus, the various implementations of the techniques described herein can be provided by one or more of these technologies.
[0211] A computer program (such as the (multiple) computer programs described above) can be written in any form of programming language (including compiled or interpreted languages), and can be deployed in any form (including as a stand-alone program or as a module, component, subroutine, or other unit or part suitable for use in a computing environment). The computer program can be deployed to execute on one computer or on multiple computers at one site, or distributed among multiple sites and interconnected via a communication network.
[0212] Method steps can be performed by one or more programmable processors executing a computer program or a part of a computer program to perform a function by operating on input data and generating output. Method steps can also be performed by dedicated logic circuitry, and the apparatus can be implemented as dedicated logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0213] Processors suitable for the execution of a computer program include, for example, both general and special purpose microprocessors, and any one or more processors of any type of digital computer, chip, or chip set. In general, a processor will receive instructions and data from a read only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer may also include, or be operatively coupled to, one or more mass storage devices (such as, for example, magnetic disks, magneto-optical disks, or optical disks) for storing data from which it receives data, or to which it transfers data, or both. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including, for example: semiconductor memory devices, such as, for example, EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.
[0214] For providing interaction with a user, an implementation may be realized on a computer having a display device (such as, for example, a cathode ray tube (CRT) or a liquid crystal display (LCD) monitor) for displaying information to the user and a user interface, where the user may provide input to the computer via, for example, a keyboard and a pointing device (such as a mouse or a trackball). Other kinds of devices may also be used for providing interaction with the user; for example, feedback provided to the user may be any form of sensory feedback (such as, for example, visual feedback, auditory feedback, or tactile feedback); and input received from the user may be in any form (including auditory, speech, or tactile input).
[0215] An implementation may be realized in a computing system that includes a backend component (such as, for example, a data server), or includes a middleware component (such as, for example, an application server), or includes a frontend component (such as, for example, a client computer having a graphical user interface or a web browser through which a user may interact with the implementation), or any combination of such backend, middleware, or frontend components. The components may be interconnected by any form or medium of digital data communication (such as, for example, a communication network). Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as, for example, the Internet.
[0216] Although certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. Accordingly, it is to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the various embodiments.
Claims
1. An apparatus, comprising: at least one processor, and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: receive, by a user equipment in a wireless network, from a network node of the wireless network, a request for channel state information feedback; generate, by the user equipment, an array of downlink channel coefficients; make, by the user equipment, a selection of at least one beam of a plurality of beams and at least one lag of a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by the at least one beam and at least one lag, the selection of the at least one beam and the at least one lag being made jointly; generate, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag, and the sparse representation of the array of downlink channel coefficients; and send, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
2. The apparatus according to claim 1, wherein the request includes values of beam and / or lag oversampling parameters; and wherein the sparse approximation of the array of downlink channel coefficients is generated using the values of the beam and / or lag oversampling parameters.
3. The apparatus according to claim 1, wherein generating the array of downlink channel coefficients includes: forming, from columns of a matrix of coefficients of the sparse approximation of the array of downlink channel coefficients, a vector that is the sparse approximation of the array of downlink channel coefficients, the vector being equal to the product of a beam / lag matrix and the sparse representation.
4. The apparatus according to claim 3, wherein the beam / lag matrix is equal to the Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
5. The apparatus according to claim 1, wherein the threshold is based on an estimated variance of additive noise in the array of downlink channel coefficients.
6. The apparatus according to claim 5, wherein the sum of the absolute value squared of the additive noise on one or more slices is modeled as a chi-squared random variable.
7. The apparatus according to claim 1, wherein generating the binary message includes: encoding a plurality of identifiers of the at least one beam and the at least one lag in the binary message; determining, from each identifier of the at least one beam and the at least one lag, a set of unique lags and a number of unique lags; and including in the binary message (i) an encoding of each unique lag of the set of unique lags, and (ii) an encoding of the number of unique lags.
8. The apparatus according to claim 7, wherein generating the binary message includes: Generate a bitmap based on the non-zero entries of the sparse representation of the array of downlink channel coefficients identified by the at least one beam and at least one lag; Encode the bitmap using lossless coding to produce an encoded bitmap; and Include the encoded bitmap in the binary message.
9. A method, comprising: Receiving, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network; Generating, by the user equipment, an array of downlink channel coefficients; Making, by the user equipment, a selection of at least one beam of a plurality of beams and at least one lag of a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, the non-zero entries of the sparse representation being identified by the at least one beam and at least one lag, the selection of the at least one beam and the at least one lag being made jointly; Generating, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and the sparse representation of the array of downlink channel coefficients; and Sending, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
10. The method according to claim 9, wherein the request includes a value of a beam and / or lag oversampling parameter; and wherein the sparse approximation of the array of downlink channel coefficients is generated using the value of the beam and / or lag oversampling parameter.
11. The method according to claim 9, wherein generating the array of downlink channel coefficients comprises: Forming, from columns of a matrix of coefficients of the sparse approximation of the array of downlink channel coefficients, a vector that is the sparse approximation of the array of downlink channel coefficients, the vector being equal to the product of a beam / lag matrix and the sparse representation.
12. The method according to claim 11, wherein the beam / lag matrix is equal to the Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
13. The method according to claim 9, wherein the threshold is based on the variance of uniform additive noise in the array of downlink channel coefficients.
14. The method according to claim 13, wherein the sum of the absolute value squared of the additive noise on one or more slices is modeled as a chi-squared random variable.
15. The method according to claim 9, wherein generating the binary message comprises: Encoding a plurality of identifiers of the at least one beam and the at least one lag in the binary message; Determining, from each identifier of the at least one beam and the at least one lag, a set of unique lags and a number of unique lags; and Including in the binary message (i) an encoding of each unique lag in the set of unique lags, and (ii) an encoding of the number of unique lags.
16. The method according to claim 15, wherein generating the binary message further comprises: generating a bitmap based on non-zero entries of the sparse representation of the array of downlink channel coefficients identified by the at least one beam and at least one lag; encoding the bitmap using lossless coding to produce an encoded bitmap; and including the encoded bitmap in the binary message.
17. An apparatus, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least: send, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; receive, by the network node, a binary message from the user equipment; perform, by the network node, a first decoding of the binary message to jointly identify at least one beam of a plurality of beams and at least one lag of a plurality of lags used in a sparse representation of an array of downlink channel coefficients by: decoding, from a first field of the binary message, the number of beams of the at least one beam of the plurality of beams used in the sparse representation of the array of downlink channel coefficients, and the number of lags of the at least one lag of the plurality of lags; perform, by the network node, a second decoding of the binary message to produce values of the sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; and reconstruct, by the network node, the array of downlink channel coefficients for use in channel state information.
18. The apparatus according to claim 17, wherein performing the first decoding comprises: decoding, from subsequent binary fields of the binary message: (i) the number of unique lags, and (ii) identifiers of the unique lags; and performing arithmetic decoding of a subsequent sequence of bits from the subsequent sequence of bits of the binary message to obtain a bitmap that identifies the beams and the lags used in the sparse representation of the array of downlink channel coefficients.
19. The apparatus according to claim 18, wherein performing the second decoding comprises: decoding a code from a binary string to obtain quantization coefficients of the sparse representation of the array of downlink channel coefficients.
20. The apparatus according to claim 19, wherein reconstructing the array of downlink channel coefficients comprises: evaluating a product of the sparse representation of the array of downlink channel coefficients and a beam / lag matrix, the beam / lag matrix being equal to the Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
21. A method, comprising: sending, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; receiving, by the network node, a binary message from the user equipment; The network node performs a first decoding of the binary message to jointly identify at least one beam among a plurality of beams used in a sparse representation of an array of downlink channel coefficients and at least one lag among a plurality of lags as follows: decoding, from a first field of the binary message, the number of beams of the at least one beam among the plurality of beams used in the sparse representation of the array of downlink channel coefficients and the number of lags of the at least one lag among the plurality of lags; The network node performs a second decoding of the binary message to generate values of the sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; and The network node reconstructs the array of downlink channel coefficients for use in channel state information.
22. The method according to claim 21, wherein performing the first decoding includes: decoding from subsequent binary fields of the binary message: (i) the number of unique lags, and (ii) identifiers of the unique lags; and performing arithmetic decoding of a subsequent sequence of bits from the subsequent sequence of bits of the binary message to obtain a bitmap that identifies the beams and the lags used in the sparse representation of the array of downlink channel coefficients.
23. The method according to claim 22, wherein performing the second decoding includes: decoding a code from a binary string to obtain quantization coefficients of the sparse representation of the array of downlink channel coefficients.
24. The method according to claim 23, wherein reconstructing the array of downlink channel coefficients includes: evaluating a product of the sparse representation of the array of downlink channel coefficients and a beam / lag matrix, the beam / lag matrix being equal to a Kronecker product of a predefined grid of a beam dictionary matrix and a predefined grid of a lag dictionary matrix.
25. A computer program product comprising a non-transitory computer-readable storage medium and storing executable code that, when executed by at least one processor, is configured to cause the at least one processor to perform: receiving, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network; generating, by the user equipment, an array of downlink channel coefficients; making, by the user equipment, a selection of at least one beam among a plurality of beams and at least one lag among a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation whose non-zero entries are identified by the at least one beam and at least one lag, the selection of the at least one beam and the at least one lag being made jointly; generating, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and the sparse representation of the array of downlink channel coefficients; The binary message is sent from the user equipment to the network node as a response to the request for channel state information feedback.
26. An apparatus, comprising components for performing the following: Receiving, by a user equipment in a wireless network, a request for channel state information feedback from a network node of the wireless network; Generating, by the user equipment, an array of downlink channel coefficients; Making, by the user equipment, a selection of at least one beam from a plurality of beams and at least one lag from a plurality of lags such that a residual between the array of downlink channel coefficients and a sparse approximation of the array of downlink channel coefficients is less than a threshold, the sparse approximation being based on a sparse representation, non-zero entries of the sparse representation being identified by the at least one beam and the at least one lag, the selection of the at least one beam and the at least one lag being made jointly; Generating, by the user equipment, a binary message by encoding at least one identifier of the at least one beam and the at least one lag and the sparse representation of the array of downlink channel coefficients; And Sending, by the user equipment, the binary message to the network node as a response to the request for channel state information feedback.
27. A computer program product, comprising a non-transitory computer-readable storage medium and storing executable code that, when executed by at least one processor, is configured to cause the at least one processor to perform: Sending, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; Receiving, by the network node, a binary message from the user equipment; Performing, by the network node, a first decoding of the binary message to jointly identify at least one beam from a plurality of beams and at least one lag from a plurality of lags used in a sparse representation of an array of downlink channel coefficients: decoding, from a first field of the binary message, the number of beams of the at least one beam from the plurality of beams and the number of lags of the at least one lag from the plurality of lags used in the sparse representation of the array of downlink channel coefficients; Performing, by the network node, a second decoding of the binary message to generate values of the sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; And Reconstructing, by the network node, the array of downlink channel coefficients for use in channel state information.
28. An apparatus, comprising components for performing the following: Sending, by a network node of a wireless network, a request for channel state information feedback to a user equipment in the wireless network; Receiving, by the network node, a binary message from the user equipment; The network node performs a first decoding of the binary message as follows to jointly identify at least one beam among a plurality of beams and at least one lag among a plurality of lags used in a sparse representation of an array of downlink channel coefficients: decoding, from a first field of the binary message, the number of beams of the at least one beam among the plurality of beams used in the sparse representation of the array of downlink channel coefficients, and the number of lags of the at least one lag among the plurality of lags; The network node performs a second decoding of the binary message to generate values of the sparse representation of the array of downlink channel coefficients for the identified at least one beam and at least one lag; and The network node reconstructs the array of downlink channel coefficients for use in channel state information.