Method for enabling analog precoding and analog combining

11374642 · 2022-06-28

Assignee

Inventors

Cpc classification

International classification

Abstract

The invention comprising: jointly determining an analog precoding matrix F.sub.RF and a plurality of multi-user groups G.sub.l, each multi-user group G.sub.l being associated to a respective subcarrier l, each multi-user group G.sub.l containing a plurality of receivers to be jointly served for a data transmission on the respective subcarrier l; and using the analog precoding matrix F.sub.RF for processing at least one signal to transmit; characterized in that the joint determination comprises: /a/ optimizing a beamforming function ƒ(F.sub.RF, G.sub.1 . . . , G.sub.L) with respect to the analog precoding matrix F.sub.RF, the multi-user groups G.sub.l being fixed; /b/ optimizing a scheduling function g(G.sub.l,F.sub.RF) with respect to the multi-user groups G.sub.l, a value of the analog precoding matrix F.sub.RF being fixed; wherein /a/ and /b/ are iteratively repeated.

Claims

1. A hybrid analog/digital method implemented by a computer for enabling analog and digital precoding in a millimeter wave communication system comprising a transmitter being able to serve a plurality of receivers over a plurality of subcarriers, the method comprising: jointly determining an analog precoding matrix F.sub.RF and a plurality of multi-user groups custom character.sub.1, each multi-user group custom character.sub.l being associated to a respective subcarrier l among the plurality of subcarriers, each multi-user group custom character.sub.l containing a plurality of receivers among the plurality of receivers to be jointly served for a data transmission on the respective subcarrier l; for each subcarrier l among the plurality of subcarriers, processing N.sub.s(l) data streams I.sub.1, . . . I.sub.N.sub.S.sub.(l) by a digital base band precoder F.sub.BB [l]; processing the outputs of the digital base band precoders F.sub.BB [l] with transmitting RF chains; and processing the outputs of the transmitting RF chains using the analog precoding matrix F.sub.RF to obtain at least one signal to transmit to at least one receiver among the plurality of receivers on a subcarrier among the plurality of subcarriers; wherein the joint determination of the analog precoding matrix F.sub.RF and the plurality of multi-user groups custom character.sub.l comprises: /a/ optimizing a beamforming function ƒ(F.sub.RF, custom character.sub.1, . . . , custom character.sub.L) of the analog precoding matrix F.sub.RF and the multi-user groups custom character.sub.l with respect to the analog precoding matrix F.sub.RF, the multi-user groups custom character.sub.l being fixed; /b/ optimizing a scheduling function g(custom character.sub.1,F.sub.RF) of the analog precoding matrix F.sub.RF and the multi-user groups custom character.sub.l with respect to the multi-user groups custom character.sub.l, a value of the analog precoding matrix F.sub.RF being fixed; wherein /a/ and /b/ are iteratively repeated until a stopping criterion is met.

2. The method of claim 1, wherein /b/ is performed after /a/, wherein in /a/ the multi-user groups custom character.sub.l are obtained in a previous iteration of the joint determination, and wherein in /b/ the value of the analog precoding matrix F.sub.RF is obtained in a current iteration of /a/.

3. The method of claim 1, wherein /b/ is performed before /a/, wherein in /a/ the multi-user groups custom character.sub.l are obtained in a current iteration of /b/, and wherein in /b/ the value of the analog precoding matrix F.sub.RF is obtained in a previous iteration of the joint determination.

4. The method of claim 1, wherein the analog precoding is performed by using a set custom character.sub.prec of analog precoding codewords, wherein /a/ comprises: determining a first matrix F*.sub.RF that optimizes the beamforming function ƒ(F.sub.RF, custom character.sub.1, . . . , custom character.sub.L) without supposing that columns of the first matrix F*.sub.R belong to the set custom character.sub.prec of analog precoding codewords; determining at least one analog precoding codewords, each determined analog precoding codeword minimizing a distance to a column of the first matrix F*.sub.RF; determining the analog precoding matrix F.sub.RF whose columns are equal to the determined at least one analog precoding codewords.

5. The method of claim 4, further comprising: receiving a plurality of transmitting matrices A.sub.T,π(l,k).sup.[l], each transmitting matrix among the plurality of transmitting matrices being associated to a receiver π(l,k) among the plurality of receivers and to a subcarrier l among the plurality of subcarriers, wherein columns of each transmitting matrix among the plurality of transmitting matrices belong to the set custom character.sub.prec of analog precoding codewords; determining, based on the plurality of transmitting matrices A.sub.Tπ(l,k).sup.[l], a plurality of receiver sets custom character.sub.i, each receiver set custom character.sub.i comprising one or more receiver among the plurality of receivers, each receiver among the one or more receiver being associated to a subcarrier among the plurality of subcarriers; wherein /a/ comprises: determining a plurality of analog precoding submatrices F.sub.RF,k, each analog precoding submatrix F.sub.RF,k corresponding to a part a the analog precoding matrix F.sub.RF associated to receivers of a respective receiver set custom character.sub.k.

6. The method of claim 5, wherein each transmitting matrix among the plurality of transmitting matrices is an analog precoding codeword and is associated to a respective subcarrier among the plurality of subcarriers and to a respective receiver among the plurality of receivers.

7. The method of claim 6, wherein each transmitting matrix corresponds to a respective significant communication path between the transmitter and the respective receiver on the respective subcarrier.

8. The method of claim 5, wherein the plurality of receiver sets custom character.sub.i are determined based on a similarity measure between at least two transmitting matrices among the plurality of transmitting matrices A.sub.T,π(l,k).sup.[l].

9. The method of claim 1, further comprising determining at least one analog combining matrix W.sub.RF,π(l,k); wherein the beamforming function and the scheduling function are further function of the at least one analog combining matrix W.sub.RF,π(l,k ); wherein the optimization in /a/ is a joint optimization of the beamforming function with respect to the analog precoding matrix F.sub.RF and the at least one analog combining matrix W.sub.RF,π(l,k ); wherein the optimization in /b/ is performed with a value of an analog combining matrix among the at least one analog combining matrix W.sub.RF,π(l,k ) being fixed; wherein at least one determined analog combining matrix W.sub.RF,π(l,k ) is further used for processing at least one signal to transmit to at least one receiver among the plurality of receivers on a subcarrier among the plurality of subcarriers.

10. The method of claim 9, wherein the analog combining is performed by using a set custom character.sub.comb,π(l,k) of analog combining codewords, wherein /a/ comprises: determining a second matrix W*.sub.RF,π(l,k ) that optimizes the beamforming function without supposing that columns of the second matrix W*.sub.RF,π(l,k ) belong to the set custom character.sub.comb,π(l,k) of analog combining codewords; determining at least one analog combining codewords, each determined analog combining codeword minimizing a distance to a column of the second matrix W*.sub.RF,π(l,k ); determining an analog combining matrix W.sub.RF,π(l,k ) whose columns are equal to the determined at least one analog combining codewords.

11. A transmitter of a millimeter wave communication system enabling analog precoding and analog combining, the transmitter being able to serve a plurality of receivers over a plurality of subcarriers, the transmitter comprising: a circuit for jointly determine an analog precoding matrix F.sub.RF and a plurality of multi-user groups custom character.sub.l, each multi-user group custom character.sub.l being associated to a respective subcarrier l among the plurality of subcarriers, each multi-user group custom character.sub.l containing a plurality of receivers among the plurality of receivers to be jointly served for a data transmission on the respective subcarrier l; at least a circuit for processing, for each subcarrier l among the plurality of subcarriers, N.sub.s (l) data streams I.sub.1, . . . , I.sub.Ncustom character.sub.(l) by a digital base band precoder F.sub.BB[l]; and processing the outputs of the transmitting Rf chains a circuit for processing the outputs of the transmitting RF chains, by using the analog precoding matrix F.sub.RF, to obtain at least one signal to transmit to at least one receiver among the plurality of receivers on a subcarrier among the plurality of subcarriers; and wherein the circuit for jointly determine the analog precoding matrix F.sub.RF and the plurality of multi-user groups custom character.sub.l, is configured to: /a/ optimize a beamforming function ƒ(F.sub.RF, custom character.sub.1, . . . , custom character.sub.L) of the analog precoding matrix F.sub.RF and the multi-user groups custom character.sub.l with respect to the analog precoding matrix F.sub.RF, the multi-user groups custom character.sub.l being fixed; /b/ optimize a scheduling function g(custom character.sub.l, F.sub.RF) of the analog precoding matrix F.sub.RF and the multi-user groups custom character.sub.l with respect to the multi-user groups custom character.sub.l, a value of the analog precoding matrix F.sub.RF being fixed; iteratively repeat /a/ and /b/ until a stopping criterion is met.

12. A millimeter wave communication system enabling analog precoding and analog combining, the system comprising a transmitter according to claim 11 being able to serve a plurality of receivers over a plurality of subcarriers.

13. A non-transitory computer readable storage medium, having stored thereon a computer program comprising program instructions, the computer program being loadable into a data-processing unit and adapted to cause the data-processing unit to carry out the method of claim 1 when the computer program is run by the data-processing device.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements and in which:

(2) FIG. 1 represents user scheduling, resource allocation and user grouping in a wideband multi-user system.

(3) FIG. 2A represents an example of a transmitter in a hybrid wideband wireless system.

(4) FIG. 2B represents an example of a receiver in a hybrid wideband wireless system.

(5) FIG. 3 is a flow chart describing a joint determination, at the transmitter, of MU groups, RF precoder F.sub.RF and RF combiners W.sub.RF,π(l,k) in a possible embodiment of the invention.

(6) FIG. 4 is a flow chart describing a joint determination of MU groups, RF precoder F.sub.RF and RF combiners W.sub.RF,π(l,k) based on the determined user sets custom character.sub.1, . . . , custom character.sub.K in a possible embodiment of the invention.

(7) FIG. 5 is a possible embodiment for a device that enables the present invention.

DESCRIPTION OF EMBODIMENTS

(8) Expressions such as “comprise”, “include”, “incorporate”, “contain”, “is” and “have” are to be construed in a non-exclusive manner when interpreting the description and its associated claims, namely construed to allow for other items or components which are not explicitly defined also to be present. Reference to the singular is also to be construed in be a reference to the plural and vice versa.

(9) In the following, it is assumed that the analog precoding matrix F.sub.RF is selected from a finite-size RF precoding codebook custom character.sub.prec and that the analog combining matrices W.sub.RF,π(l,k) are selected from a finite-size RF combining codebook custom character.sub.comb,π(l,k). The RF combining codebook may be the same for all receivers, or may be different for the different receivers. Any types of codebooks may be chosen for custom character.sub.prec and custom character.sub.comb,π(l,k) for instance, Grassmannian or beamsteering codebooks. Elements of a codebook are referred to as codewords. A codeword of custom character.sub.prec is referred to as “RF precoding codeword”, and a codeword of custom character.sub.comb,π(l,k) is referred to “RF combining codeword”.

(10) In one embodiment, the precoding codebook custom character.sub.prec are based on an oversampled Discrete Fourier Transform, DFT, matrix, i.e. a matrix constructed by re-normalizing a sub-matrix selected from a DFT matrix. Such matrix may algorithmically be obtained as follows:
W.sub.1=FFT(eye(N.sub.os*N.sub.t))/sqrt(N.sub.t)
W.sub.2=norm(W.sub.1)
W=W.sub.2(1:N.sub.t,1:N.sub.os*N.sub.t)

(11) where N.sub.os is the oversampling ratio, FFT(X) returns the discrete Fourier transform of X, eye(sz) returns an array of size sz×sz with ones on the main diagonal and zeros elsewhere, sqrt(x) returns the square root of a number x and norm(A) returns a normalized matrix obtained from A (i.e., for each column of A, all coefficients of the column are divided by the norm of the column; therefore, each column of the obtained matrix has a norm equal to 1). The final matrix W is a submatrix of W.sub.2 obtained by selecting only the first 1 to N.sub.t rows, and the first 1 to N.sub.os*N.sub.t columns of W.sub.2. Each column of the resulting matrix W corresponds to a codeword of the precoding codebook. The codebook precoding has N.sub.os*N.sub.t codewords of size N.sub.t×1 each.

(12) Another example of, a precoding codebook custom character.sub.prec that may be used in the present invention is given below:
custom character.sub.prec={c.sub.1, . . . ,c.sub.N.sub.os.sub.*N.sub.t}

(13) where the t-th component (with t=1, . . . , N.sub.t) of a codeword vector c.sub.i is equal to

(14) c i , t = 1 N t e - j 2 π λ ( t - 1 ) d V cos θ i

(15) The beam direction for the i-th (for i=1, . . . , N.sub.os*N.sub.t) codeword is

(16) θ i = π N o s * N t ( i - 1 2 ) ,
where λ is the wavelength and d.sub.v is the antenna spacing.

(17) In both case, each codeword in the codebook is a length N.sub.t vector, where the oversampling rate is N.sub.os>1, custom character.sub.prec is a N.sub.t×(N.sub.os*N.sub.t) matrix with each column serving as a precoding codeword.

(18) Of course, other precoding codebooks may be used.

(19) The present invention proposes to jointly perform user MU grouping (i.e. determining the MU groups custom character.sub.l={π(l,k); k=1, . . . , K} of K UEs that will be jointly served on the different subcarriers l=1 . . . L) and RF beamforming design (i.e. determining RF precoder F.sub.RF, and eventually the combiner W.sub.RF,π(l,k)). The base band beamforming design (i.e. the determination of digital precoding and combining matrices) is not addressed here. Once the user groups and the RF beamforming matrices have been determined, any method may be used for determining the base band beamforming matrices. More specifically, the present invention proposes a joint determination of custom character.sub.l|.sub.l=1.sup.L={custom character.sub.l; l=1, . . . , K}, W.sub.RF,π(l,k) and F.sub.RF by an alternate optimization between the user scheduling and RF beamforming design.

(20) FIG. 3 is a flow chart describing a joint determination, at the transmitter, of MU groups custom character.sub.l|.sub.l=1.sup.L, RF precoder F.sub.RF and RF combiners W.sub.RF,π(l,k) in a possible embodiment of the invention. According to this embodiment, this determination may be performed by using an iterative procedure in which each iteration comprises two steps:

(21) 1/ A first step 302 during which the RF precoder F.sub.RF and the RF combining matrices W.sub.RF,π(l,k) are determined by optimizing a predefined RF beamforming design criterion ƒ(F.sub.RF, W.sub.RF,π(l,k), custom character.sub.l|.sub.l=1.sup.L), the MU groups custom character.sub.l|.sub.l=1.sup.L being fixed according to a previous iteration.

(22) Such optimization may be a maximization or a minimization:

(23) ( F RF , W R F , π ( l , k ) ) = arg max F RF , W RF , π ( l , k ) f ( F RF , W R F , π ( l , k ) , l | l = 1 L ) or ( F R F , W R F , π ( 1 , k ) ) = arg min F RF , W RF , π ( l , k ) f ( F R F , W R F , π ( l , k ) , l | l = 1 L ) ;

(24) 2/ A second step 303 during which the MU groups custom character.sub.l|.sub.l=1.sup.L are determined by optimizing a predefined scheduling design criterion gπ(l,k), F.sub.RF, W.sub.RF,π(l,k), the RF beamforming matrices W.sub.RF,π(l,k) and F.sub.RF being fixed to the values determined in the first step.

(25) Such optimization may be a maximization or a minimization:

(26) l | l = 1 L = g ( π ( l , k ) , F R F , W RF , π ( l , k ) ) or l | l = 1 L = g ( π ( l , k ) , F RF , W R F , π ( l , k ) )

(27) Before the first iteration of the above procedure, the MU groups custom character.sub.l|.sub.l=1.sup.L may be initialized 301, for instance by a random draw among the user sets custom character.sub.1, . . . , custom character.sub.K. Another possible strategy may consist in choosing the users having the largest amount of packets in the UE buffer (for Uplink transmission) or the largest amount of dedicated packets in BS buffer (for Downlink transmission).

(28) Steps 1/ and 2/ may be alternatively repeated until a predefined convergence criterion 304 is met. This convergence criterion 304 may be, for instance, based on a mathematical distance between a matrix at a current iteration and the corresponding matrix at the previous iteration. If the distance is lower a predefined threshold, the convergence criterion is met, and custom character.sub.l|.sub.l=1.sup.L, F.sub.RF, W.sub.RF,π(l,k) are outputted 305.

(29) For instance, the optimization problem of step 1/ may be first solved without codebook constraints, i.e. by choosing F*.sub.RF and W*.sub.RF,π(l,k) that optimize ƒ(F.sub.RF, W.sub.RF,π(l,k), custom character.sub.l|.sub.l=1.sup.L) without supposing that they belong to RF precoding and combining codebooks custom character.sub.prec and custom character.sub.comb,π(l,k). The problem is then a quadratically constrained (due to power constraint) quadratic program, which may be solved for instance by a semidefinite relaxation and randomization procedure. Then, F.sub.RF (resp. W.sub.RF,π(l,k)) may be defined as being equal to the codeword of the RF precoding codebook custom character.sub.prec (resp. the RF combining codebook custom character.sub.comb,π(l,k)) that is the closest, according to a mathematical distance, to each column of F*.sub.RF (resp. W*.sub.RF,π(l,k)).

(30) Of course, steps 1/ and 2/ may be performed in a different order. In some embodiments, 2/ may be performed before 1/.

(31) It has to be noticed that the RF combiners W.sub.RF,π(l,k) may be decided and reported to the transmitter in the selected beam pairs. Actually, this may lead to performance degradation, but that case is more aligned with the 3GPP NR Rel. 15 specification. In that case, the RF combiner W.sub.RF,π(l,k) are not determined during the above joint optimization, which is only performed between custom character.sub.l|.sub.l=1.sup.L and F.sub.RF. Hence, the determination of W.sub.RF,π(l,k) may be dropped in some embodiments.

(32) In case where W.sub.RF,k is determined during the joint optimization procedure at transmitter's side, the transmitter may inform each scheduled UE k the subcarrier(s) it has been assigned and the indices of each column vector of the W.sub.RF,k in the RF combining codebook. Upon receiving these indices, each scheduled UE k may implement the RF combiner accordingly. The transmitter will implement the RF precoder F.sub.RF. Once the RF beamforming matrices at transmitter and receiver have been chosen, the transmitter may send RSs to estimate the equivalent channel H.sub.k.sup.eg[l] for each scheduled user k, where H.sub.k.sup.eq[l]=W.sub.RF,k.sup.HH.sub.k[l]F.sub.RF, at receiver's side.

(33) Each scheduled UE k may then feedback the equivalent channel H.sub.k.sup.eg[l]. The transmitter may therefore calculate the base band precoder F.sub.BB[l] for each subcarrier l. At the receiver's side, the receiver (UE) can implement a base band receive filter W.sub.BB,k[l]. Alternatively, the base band receive filter W.sub.BB,k[l] may be calculated by the transmitter and sent to the receiver by using downlink signaling.

(34) Some embodiments of the above joint determination procedure are now provided. These embodiments exploit the sparsity of the communication channel in mmWave systems. Indeed, in case of a mmWave system with large antenna arrays, many paths are highly attenuated, and the number N.sub.spars of paths with significant gain is expected to be small compared to the size N.sub.t×N.sub.r.sub.π(l,k) of the channel matrix H.sub.π(l,k)[l]. By “significant gain”, it is meant that the gain of the path is greater than a predefined threshold. If the gain is lower than this threshold, it is set to zero. Consequently, and due to the high directivity of antenna arrays, the channel matrices in angular domain between the BS and the UEs are expected to be “sparse”, i.e. to have only a few non-zero entries compared to its size.

(35) The channel matrix H.sub.π(l,k)[l] of the communication link between the BS and the UE π(l,k) on the l-th subcarrier may thus be described with a very small number of parameters:

(36) H π ( l , k ) [ l ] = .Math. i = 1 N spars d b , π ( l , k ) , i [ l ] a R , π ( l , k ) , i [ l ] ( a T , π ( l , k ) , i [ l ] ) H

(37) where N.sub.spars corresponds to the number of significant paths; a.sub.T,π(l,k),i.sup.[l] (resp. a.sub.R,π(l,k),i.sup.[l] is a direction vector containing the angle of departure (AoD) (resp. the angle of Arrival (AoA)) information for the corresponding significant path i, and d.sub.b,π(l,k),i.sup.[l][l] is a complex coefficient indicating the strength of the corresponding significant path i.

(38) In one embodiment, the AoD direction vectors a.sub.T,π(l,k),i.sup.[l] can be approximated by codewords of the precoding codebook custom character.sub.prec and the AoA direction vectors a.sub.T,π(l,k),i.sup.[l] can be approximated by codewords of the combining codebook custom character.sub.comb,π(l,k).

(39) It has to be noticed that N.sub.spars is a variable that can be determined or configured according to the channel sparsity, the channel estimation accuracy and the feedback capability.

(40) The channel matrix H.sub.π(l,k)[l] may also be written:
H.sub.π(l,k)[l]=A.sub.R,π(l,k).sup.[l]D.sub.π(l,k)[l](A.sub.T,π(l,k).sup.[l]).sup.H

(41) where A.sub.R,π(l,k),i.sup.[l]∈custom character.sup.N.sup.r.sup.×N.sup.spars is the matrix whose columns are equal to a.sub.R,π(l,k),i.sup.[l], for i=1, . . . , N.sub.spars; A.sub.T,π(l,k).sup.[l]∈custom character.sup.N.sup.t.sup.×N.sup.spars is the matrix whose columns are equal to a.sub.T,π(l,k),i.sup.[l], for i=1, . . . , N.sub.spars; and D.sub.π(l,k)[l]∈custom character.sup.N.sup.spars.sup.×N.sup.spars is a diagonal matrix whose diagonal coefficients are equal to d.sub.b,π(l,k),i[l], for i=1, . . . , N.sub.spars.

(42) Several algorithms of the prior art have been developed for determining the above sparse representation of the channel matrix, and outputting for instance the set of parameters {N.sub.spars, {a.sub.R,π(l,k),i.sup.[l], a.sub.T,π(l,k),i.sup.[l],d.sub.b,π(l,k),i[l]; i=1, . . . , N.sub.spars}}, or equivalently {N.sub.spars, A.sub.R,π(l,k).sup.[l], A.sub.T,π(l,k).sup.[l], D.sub.π(l,k)[l]}. These algorithms are not detailed here, and any of them may be used in the context of the present invention (see for instance the patent application EP16306171.6; “Channel estimation and hybrid precoding for millimeter wave cellular systems”, A. Alkhateeb et al., IEEE Journal of Selected Topics in Signal Processing, vol. 8, no. 5, pp. 831-846, October 2014; or “Compressive channel estimation and tracking for large arrays in mm wave picocells”, Z. Marzi et al., IEEE Journal of Selected Topics in Signal Processing, vol. 10, no. 3, pp. 514-527, April 2016).

(43) According to the 5G NR specification, the beam management procedure comprises the following operations: Beam sweeping: A spatial area is covered with a set of beams transmitted and received according to pre-specified intervals and directions; Beam measurement: Reference Signals (RSs) are transmitted from the BS to the UEs, for all possible BS/UE beam pairs (i.e. for all the possible pairs of a precoding matrix F.sub.RF∈custom character.sub.prec and a combining matrix W.sub.RF,π(l,k)∈custom character.sub.comb,π(l,k)). A quality indicator is calculated, at the UE, for each of the beam pairs (for instance, the quality indicator may be equal to or derived from the Reference Signal Received Power, RSRP, or the Reference Signal Received Quality, RSRQ); Beam determination: At least one beam pair is selected, at the UE, based on its performance metric. For instance, the beam pair(s) that maximize(s) the performance metric, or the P beam pairs (with P a predefined integer) having the P higher performance metrics, may be selected; Beam reporting: The UE may report, to the BS, the index (or the indices) of the selected beam pair(s) and the associated quality indicator(s).

(44) The RF beamforming matrices F.sub.RF,k and W.sub.RF,π(l,k) can then be chosen, at the BS, based on the index (or the indices) of the selected beam pair(s) and the associated quality indicator(s).

(45) In one embodiment of the invention, during the beam reporting operation described above, the UE may feedback the index (indices) in the corresponding codebooks {custom character.sub.prec, custom character.sub.comb,π(l,k)} of the beam pair(s) {a.sub.R,π(l,k),i.sup.[l], a.sub.T,π(l,k),i.sup.[l]} selected during the beam determination operation, together with the associated quality indicator(s). The quality indicator may correspond for instance to the reference signal received power when the RF precoder using a.sub.T,π(l,k),i.sup.[l] is implemented at the transmitter and the RF combiner using a.sub.R,π(l,k),i.sup.[l] is implemented at the receiver:
ξ.sub.π(l,k),i[l]=|(a.sub.R,π(l,k),i.sup.[l]).sup.HH.sub.π(l,k)[l]a.sub.T,π(l,k),i.sup.[l]|.sup.2

(46) The transmitter may therefore collect all the indices of the selected beam pair(s), or equivalently all the matrices (also called “subspaces” hereinafter) A.sub.T,π(l,k).sup.[l], for all active UEs π(l,k)∈custom character (custom character being the set of active UEs of the cell), and for all subcarriers l=1, . . . , L. The transmitter may then perform a clustering of the active UEs π(l,k)∈custom character into K independent sets custom character.sub.1, . . . , custom character.sub.K, based on all the LJ subspaces A.sub.T,π(l,k)[l]. Such clustering makes it possible to limit the interference between the users in case of a random selection, from different sets, of UEs scheduled on the same subcarrier. This random selection can be performed during the initialization of the MU group. For example, if the initialization of the MU groups is based on a random draw, drawing each of the K users in different independent sets leads to lower interference as compared to a complete random selection of K users from the set custom character of all active users.

(47) Performing the clustering based on the LJ received subspaces A.sub.T,π(l,k).sup.[l] advantageously exploits the sparsity of the communication channel in mmWave systems, because it uses only limited feedback information (that is, the selected beam pair(s)).

(48) In one embodiment, the clustering of all the active UEs of the cell and for all the subcarriers into K independent sets is based on a similarity (or “affinity”) measure between the subspaces A.sub.T,π(l,k).sup.[l] (for all π(l,k)∈custom character and l=1, . . . , L). Basically, the principle is that two subspaces associated to a high similarity measure belong to the same cluster, and two subspaces associated to a low similarity measure belong to different clusters. For instance, such clustering may comprise the following steps: Compute the similarity matrix M.sub.S of dimension LJ×LJ (J being the cardinality of custom character), whose (i,j)-th element (i being the row index and j being the column index) is equal to sim (A.sub.T,i.sup.[l.sup.i], A.sub.T,j.sup.[l.sup.j]) if i≠j and equal to zero if i=j; Let D be the diagonal matrix whose (i,i)-th element is equal to the sum of the elements of the i-th row of M.sub.S; construct the matrix Z=D.sup.−1/2M.sub.SD.sup.−1/2; Find the K largest eigenvalues of Z (the corresponding eigenvectors being chosen to be orthogonal to each other in case of repeated eigenvalues) and form the matrix M.sub.1∈custom character.sup.LJ×K by stacking the eigenvectors in the columns; Form the matrix M.sub.2 from M.sub.1 by normalizing each of the rows of M.sub.1 to unit length; Considering each row of M.sub.2 as a point in custom character.sup.K, cluster these rows into K clusters via a clustering algorithm that attempts to minimize distortion (for instance, the K-means algorithm); and Assign the original subspace A.sub.T,i.sup.[l] to cluster j if and only if row i of the matrix M.sub.2 is assigned to cluster j.

(49) In the above, A.sub.T,i.sup.[l.sup.i.sup.] (for i=1, . . . , LJ) corresponds to the subspace A.sub.T,π(l,k).sup.[l] such that π(l,k)=i.Math.l.sub.i is the subcarrier associated to receiver π(l,k)=i.

(50) The above procedure outputs K sets custom character.sub.1, . . . , custom character.sub.k. If A.sub.T,π(l,k).sup.[l]∈custom character.sub.k, that means that, for the subcarrier l, the UEπ(l,k) is in the set custom character.sub.k.

(51) Any mathematical similarity measure can be used. Two examples of similarity measures sim.sub.1 and sim.sub.2 between two subspaces S.sub.1 and S.sub.2 are given below:

(52) 0 s i m 1 ( S 1 , S 2 ) = 1 min ( d 1 , d 2 ) .Math. S 1 H S 2 .Math. F

(53) where d.sub.1 and d.sub.2 are the dimensions of the subspaces S.sub.1 and S.sub.2, respectively;

(54) s i m 2 ( S 1 , S 2 ) = e ( - .Math. m = 1 min ( d 1 , d 2 ) sin 2 ( θ m ) )

(55) where θ.sub.m is the m-th principal angle of the subspaces S.sub.1 and S.sub.2.

(56) Of course, the present invention is not limited to the class of algorithms presented above. Other algorithms may be used. For instance, the sets may be formed by a random draw among the set of subspaces

(57) { A T , i [ l i ] } i = 1 LJ .

(58) In one or several embodiments, the joint determination of MU groups custom character.sub.l|.sub.l=1.sup.L, of the RF precoding matrix F.sub.RF and eventually the RF combining matrices W.sub.RF,π(l,k) may be performed based on the determined user sets custom character.sub.1, . . . , custom character.sub.K. FIG. 4 is a flow chart describing a joint determination of MU groups, RF precoder F.sub.RF and RF combiners W.sub.RF,π(l,k) based on the determined user sets custom character.sub.1, . . . , custom character.sub.K in a possible embodiment of the invention.

(59) In the following, the RF precoder F.sub.RF is viewed as a concatenation of K RF precoding submatrices F.sub.RF,k (for k=1, . . . , K), where F.sub.RF,k is the part of the RF precoder corresponding to the users of the clustering set custom character.sub.k: F.sub.RF=[F.sub.RF,1 . . . F.sub.RF,K].

(60) As detailed above, the transmitter may receive 401, from the UEs, the matrices A.sub.T,j.sup.[l], A.sub.R,j.sup.[l], and D.sub.j[l], for all active users j∈custom character of the cell. The transmitter may then perform a clustering 402 of the subspaces

(61) { A T , i [ l i ] } i = 1 LJ
into K user sets custom character.sub.1, . . . , custom character.sub.K. The joint determination procedure may then begin by initializing 403 the MU groups custom character.sub.l|.sub.l=i.sup.L, for instance by a random draw among all the K user sets custom character.sub.1, . . . , custom character.sub.K. Then, the first step 404 of the optimization procedure (i.e. step 302 of FIG. 3) may comprise a determination of all the RF precoding submatrices F.sub.RF,k (for k=1, . . . , K) (and eventually the RF combining matrices W.sub.RF,π(l,k) for k=1, . . . , K and l=1, . . . , L) by optimizing a predefined RF beamforming design criterion ƒ(F.sub.RF,k, W.sub.RF,π(l,k), custom character.sub.l|.sub.l=1.sup.L), with the MU groups custom character.sub.l|.sub.l=1.sup.L being fixed. Step 405 corresponds to the second step of the optimization procedure presented above (i.e. step 303 of FIG. 3), during which the MU groups custom character.sub.l|.sub.l=1.sup.L are determined by optimizing a predefined scheduling design criterion g(π(l,k), F.sub.RF,k, W.sub.RF,π(l,k)), the RF beamforming matrices W.sub.RF,π(l,k) and F.sub.RF, k being fixed. Steps 404 and 405 may be alternatively repeated until a predefined convergence criterion 406 is met. When the convergence criterion 406 is met, custom character.sub.l|.sub.l=1.sup.L, F.sub.RF,k and W.sub.RF,π(l,k) may be outputted 407.

(62) A first example of such joint determination procedure is presented below, in the case of a maximization of the average wideband sum rate of the system. The user sets custom character.sub.1, . . . , custom character.sub.K and the matrices A.sub.T,j.sup.[l], A.sub.R,j.sup.[l] and D.sub.j[l], for all active users j∈custom character of the cell and for all the subcarriers l=1, . . . , L are supposed to be known at the transmitter.

(63) Due to the information theory duality between an information theory broadcast channel and its dual multiple access channel, the sum rate of the downlink transmission across all the subcarriers may be lower bounded by its dual uplink transmission over all subcarriers with equal power allocation. Therefore, the capacity of the downlink transmission across all subcarriers can be lower bounded by:

(64) 1 L .Math. l = 1 L C R F [ l ] 1 L .Math. l = 1 L log .Math. ρ .Math. k 𝒢 l F R F H H π ( l , k ) H [ l ] W RF , π ( l , k ) W R F , π ( l , k ) H H π ( l , k ) [ l ] F RF + I .Math.

(65) where ρ is a power scaling constant.

(66) Assuming that the clustering reduces the multi-user interference between different cluster sets, we can write that F.sub.RF,i.sup.HA.sub.T,k.sup.[l]≈0, ∀i≠k

(67) Therefore the right-hand side of the above inequality may be approximated by:

(68) 1 L .Math. l = 1 L .Math. k = 1 K log .Math. ρ F RF , k H H π ( l , k ) H [ l ] W R F , π ( l , k ) W RF , π ( l , k ) H H π ( l , k ) [ l ] F RF + I .Math.

(69) According to the sparse representation of the channel matrix, H.sub.π(l,k)[l] may be replaced by A.sub.R,π(l,k).sup.[l]D.sub.π(l,k)[l] (A.sub.T,π(l,k).sup.[l]).sup.H in the previous expression:

(70) 1 L .Math. l = 1 L C R F [ l ] 1 L .Math. l = 1 L .Math. k = 1 K log .Math. ρ F RF , k H A T , π ( l , k ) [ l ] D π ( l , k ) H [ l ] ( A R , π ( l , k ) [ 1 ] ) H W RF , π ( l , k ) W RF , π ( l , k ) H A R , π ( l , k ) [ l ] D π ( l , k ) [ l ] ( A T , π ( l , k ) [ l ] ) H F RF , k + I .Math.

(71) The RF beamforming design criterion may thus be written:

(72) f ( W R F , π ( l , k ) , F R F ) = 1 L .Math. l = 1 L .Math. k = 1 K log .Math. ρ F RF , k H A T , π ( l , k ) [ l ] D π ( l , k ) H [ l ] ( A R , π ( l , k ) [ l ] ) H W RF , π ( l , k ) W RF , π ( l , k ) H A R , π ( l , k ) [ l ] D π ( l , k ) [ l ] ( A T , π ( l , k ) [ l ] ) H F RF , k + I .Math.

(73) The determination of the RF precoder and combiner according to step 1/ of the procedure may thus be performed as follows:

(74) Let custom character={π(l,k); l=1, . . . , L and k=1, . . . , K} and custom character.sub.unique be the set custom character with all repeating elements removed. |custom character.sub.unique| denotes the cardinality of custom character.sub.unique. Define the mapping function:
γ:custom character.sub.unique×{1, . . . ,L}.fwdarw.{1, . . . ,L}
custom character.sub.unique(i),lcustom characterγ(custom character.sub.unique(i),l)

(75) which indicates that receiver custom character.sub.unique(i) is the γ(custom character.sub.unique(i), l)-th user on subcarrier l, for all i=1, . . . , |custom character.sub.unique|;

(76) Initialize RF combiner W.sub.RF,π(l,k).sup.[0] for all scheduled users.

(77) Let Y.sub.RF,π(l,k).sup.[0]=W.sub.RF,π(l,k).sup.[0] (W.sub.RF,π(l,k).sup.[0]).sup.H for all l=1, . . . , L and k=1, . . . , K

(78) Initialize t=0

(79) While a convergence criterion is not met, perform: For k=1, . . . , K, compute

(80) X k [ t ] = argmax t l , X k .Math. l = 1 L t l t r ( X k ) L r s . t . det ( P t o t [ l ] L r X k H π ( l , k ) H [ l ] Y π ( l , k ) [ t ] H π ( l , k ) [ l ] + I ) t l , l = 1 , .Math. , L
where det(M) is the determinant of a matrice M For i=1, . . . ,|custom character.sub.unique|, compute

(81) Y i [ t + 1 ] = argmax u l , Y i .Math. .Math. = 1 L u l tr ( Y i ) L r s . t . det ( P t o t [ l ] L r H i [ l ] X γ ( unique ( i ) , l ) [ t ] H i H [ l ] Y i + I ) u l , l = 1 , .Math. , L t = t + 1

(82) If rank constraints are satisfied, then let X.sub.k.sup.opt=X.sub.k.sup.[t] and Y.sub.π(l,k).sup.opt=Y.sub.i.sup.[t+1], with X.sub.k.sup.[t] and Y.sub.i.sup.[t+1] being obtained in the above maximization problem, and compute, for k=1, . . . , K:
F.sub.RF,k=(X.sub.k.sup.opt).sup.1/2 and W.sub.RF,π(l,k)=(Y.sub.π(l,k).sup.opt).sup.1/2

(83) If rank constraints are not satisfied, then perform the following randomization procedure, for k=1, . . . , K: Generate random Gaussian matrices V.sub.1 and V.sub.2, each component of V.sub.1 and V.sub.2 being independent and identically distributed (i.i.d.) according to a distribution custom character(0,1) Let X.sub.k*=X.sub.k.sup.[t] and Y.sub.π(l,k)*=Y.sub.i.sup.[t+1], with X.sub.k.sup.[t] and Y.sub.i.sup.[t+1] be obtained in the above maximization problem. Perform singular-value decompositions (SVD) of X.sub.k* and Y.sub.π(l,k)*:
X.sub.k*=U.sub.X*.sub.kΛ.sub.X*.sub.kU.sub.X*.sub.k.sup.H
Y.sub.π(l,k)*=U.sub.Y*.sub.π(l,k)Λ.sub.Y*.sub.π(l,k)U.sub.Y*.sub.π(l,k).sup.H Define:
F.sub.RF,k=U.sub.X*.sub.kΛ.sub.X*.sub.k.sup.1/2V.sub.1
W.sub.RF,π(l,k)=U.sub.Y*.sub.π(l,k)Λ.sub.Y*.sub.π(l,k).sup.1/2V.sub.2 Normalize each column of F.sub.RF,k and W.sub.RF,π(l,k) such that they are unit vector.

(84) Repeat N.sub.rand times the above steps of the randomization procedure (N.sub.rand being a predefined integer number), and choose the one that yields to the largest value of the considered RF beamforming design criterion.

(85) Find the codewords in the respective codebooks custom character.sub.prec and custom character.sub.comb,π(l,k) which minimize a distance with the columns of F.sub.RF,k and W.sub.RF,π(l,k).

(86) The initialization of the RF combiner W.sub.RF,π(l,k).sup.[0] for all scheduled users, for example, may be performed by a random selection of each column of W.sub.RF,π(l,k).sup.[0] in the RF combining codebook custom character.sub.comb,π(l,k).

(87) In the above procedure, it is considered that rank constraints are satisfied if the ranks of the matrices F.sub.RF,k and W.sub.RF,π(l,k) are equal to L.sub.r.sub.π(l,k). Indeed, in that case, the ranks of the optimal solutions X.sub.k.sup.opt and Y.sub.π(l,k).sup.opt are also equal to L.sub.r.sub.π(l,k). It is considered that rank constraints are not satisfied if at least one of the matrices F.sub.RF,k and W.sub.RF,π(l,k) have a rank not equal to L.sub.r.sub.π(l,k).

(88) It has to be noticed that the larger N.sub.rand is, the more accurate the randomization procedure is.

(89) Always in the case of a maximization of the average wideband sum rate of the system, the scheduling design criterion to maximize may be:

(90) 0 g ( π ( l , k ) , F R F , W RF , π ( l , k ) ) = 1 L .Math. l = 1 L .Math. k = 1 K log .Math. ρ F R F , k H A T , π ( l , k ) [ l ] D π ( l , k ) H [ l ] ( A R , π ( l , k ) [ l ] ) H W RF , π ( l , k ) W RF , π ( l , k ) H A R , π ( l , k ) [ l ] D π ( l , k ) [ l ] ( A T , π ( l , k ) [ l ] ) H F RF , k + I .Math.

(91) Knowing that the RF precoders and combiners are fixed during the MU grouping design, the above optimization is a discrete optimization which can be solved by simple brute force full search or advanced methods such as genetic algorithm.

(92) A second example of the optimization procedure is now provided, in the case of a maximization of the minimal receive equivalent channel gain. In that case, the RF beamforming design criterion may be written:
ƒ(W.sub.RF,π(l,k),F.sub.RF)=min.sub.l,k∥W.sub.RF,π(l,k).sup.HH.sub.π(l,k)[l]F.sub.RF,k∥.sub.F

(93) The determination of the RF precoder and combiner according to step 1/ of the above procedure may thus be performed as follows:

(94) Let custom character, custom character.sub.unique and γ(custom character.sub.unique(i),l) be defined as above;

(95) Initialize RF combiner W.sub.RF,π(l,k).sup.[0] for all scheduled users.

(96) Let Y.sub.RF,π(l,k).sup.[0]=W.sub.RF,π(l,k).sup.[0] (W.sub.RF,π(l,k).sup.[0]).sup.H for all l=1, . . . , L and k=1, . . . , K.

(97) Initialize t=0.

(98) While a convergence criterion is not met, perform:

(99) - For k = 1 , .Math. , K , compute X k [ t ] = arg max f , X k f t r ( X k ) L r s . t . tr ( X k H π ( l , k ) H [ l ] Y π ( l , k ) [ t ] H π ( l , k ) [ l ] ) f , l = 1 , .Math. , L

(100) where tr(M) is the trace of a matrice M

(101) - For i = 1 , .Math. , .Math. unique .Math. , compute Y i [ t + 1 ] = argmax g , Y i g tr ( Y i ) L r s . t . tr ( H i [ l ] X γ ( unique ( i ) , l ) [ t ] H i H [ l ] Y i ) g , l = 1 , .Math. , L t = t + 1

(102) If rank constraints are satisfied, let X.sub.k.sup.opt=X.sub.k.sup.[t] and Y.sub.π(l,k).sup.opt=Y.sub.i.sup.[t+1], with X.sub.k.sup.[t] and Y.sub.i.sup.[t+1] being obtained in the above maximization problem, and compute, for k=1, . . . , K:
F.sub.RF,k=(X.sub.k.sup.opt).sup.1/2 and W.sub.RF,π(l,k)=(Y.sub.π(l,k).sup.opt).sup.1/2

(103) If rank constraints are not satisfied, then perform the randomization procedure of the first example

(104) Find the codewords in the respective codebooks custom character.sub.prec and custom character.sub.comb,π(l,k) which minimize a distance with the columns of F.sub.RF,k and W.sub.RF,π(l,k).

(105) The initialization of the RF combiner W.sub.RF,π(l,k).sup.[0] for all scheduled users may be performed as in the previous example. The rank constraints of the above procedure are similar to those of the previous example.

(106) Always in the case of a maximization of the minimal receive equivalent channel gain, the scheduling design criterion to maximize may be:

(107) g ( π ( l , k ) , F RF , W RF , π ( l , k ) ) = min l = 1 , .Math. , L k = 1 , .Math. , K .Math. W RF , π ( l , k ) H H π ( l , k ) [ l ] F RF , k .Math. F

(108) Many other RF beamforming/scheduling design criteria may be used.

(109) For instance, in the context of wideband user scheduling (i.e. each scheduled user occupies all the subcarriers and no frequency multiplexing that allocates different users on different subcarriers is allowed), an example of scheduling design criterion to maximize is:

(110) g ( π ( l , k ) , F R F , W RF , π ( l , k ) ) = 1 L .Math. l = 1 L .Math. k = 1 K .Math. j = 1 L r k log ( ρ λ j ( A R , π ( l , k ) [ l ] D π ( l , k ) [ l ] ( A T , π ( l , k ) [ l ] ) H F RF , k F RF , k H A T , π ( l , k ) [ l ] D π ( l , k ) H [ l ] ( A R , π ( l , k ) [ l ] ) H ) + I )

(111) In the context of fairness issue for scheduling, an example of scheduling design criterion to maximize is:

(112) g ( π ( l , k ) , F R F , W RF , π ( l , k ) ) = 1 L .Math. l = 1 L .Math. k = 1 K α π ( l , k ) log .Math. ρ F R F , k H A T , π ( l , k ) [ l ] D π ( l , k ) H [ l ] ( A R , π ( l , k ) [ l ] ) H W RF , π ( l , k ) W RF , π ( l , k ) H A R , π ( l , k ) [ l ] D π ( l , k ) [ l ] ( A T , π ( l , k ) [ l ] ) H F RF , k + I .Math.

(113) where α.sub.π(l,k) are weight scalars associated to receivers π(l,k).

(114) By “in the context of fairness issue for scheduling”, it is meant the following. By optimizing the scheduling criterion, UEs with potentially higher rate are more likely to be scheduled. This is not “fair” from the system operation point of view, because some potentially low rate UEs might never get the chance to transmit. In order to overcome this problem, many techniques can be applied. The above design criterion is an example of such techniques consists, as above, in introducing some positive weighting factors α.sub.π(l,k) to adjust the instantaneous rate of user. For example if one UE has not been scheduled for a long time, its weighting factor may be increased. In this case even if the user has lower rate, it is more likely to be scheduled after some time.

(115) Knowing that the RF precoders and combiners are fixed during the MU grouping design, the above optimization is a discrete optimization which can be solved by simple brute force full search or advanced methods such as genetic algorithm.

(116) FIG. 5 is a possible embodiment for a device that enables the present invention.

(117) In this embodiment, the device 500 comprise a computer, this computer comprising a memory 505 to store program instructions loadable into a circuit and adapted to cause circuit 504 to carry out the steps of the present invention when the program instructions are run by the circuit 504.

(118) The memory 505 may also store data and useful information for carrying the steps of the present invention as described above.

(119) The circuit 504 may be for instance: a processor or a processing unit adapted to interpret instructions in a computer language, the processor or the processing unit may comprise, may be associated with or be attached to a memory comprising the instructions, or the association of a processor/processing unit and a memory, the processor or the processing unit adapted to interpret instructions in a computer language, the memory comprising said instructions, or an electronic card wherein the steps of the invention are described within silicon, or a programmable electronic chip such as a FPGA chip (for «Field-Programmable Gate Array»).

(120) For instance, the device may be comprised in a transmitter, and the computer may comprise an input interface 503 for the reception of channel information, for instance matrices A.sub.T,j.sup.[l], A.sub.R,j.sup.[l] and D.sub.j[l] associated to a sparse representation of the channel, for all active users j∈custom character of the cell and for all subcarriers l=1, . . . , L, according to one embodiment of the invention and an output interface 506 for providing the MU groups, and the RF precoding and combining matrices.

(121) To ease the interaction with the computer, a screen 601 and a keyboard 602 may be provided and connected to the computer circuit 604.

(122) Furthermore, the flow chart represented in FIG. 3 can represent all or part of the steps of a program which may be executed by a processor located in the transmitter. As such, FIG. 3 may correspond to the flow chart of the general algorithm of a computer program within the meaning of the invention.