Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR BEAMFORMING USING DATA RATE MAXIMISATION
Document Type and Number:
WIPO Patent Application WO/2012/120379
Kind Code:
A1
Abstract:
The present invention relates to a method of transmitting a signal carrying data in a multiple-input multiple-output (MIMO) communication system involving a plurality of users, said method comprising the steps of: determining (A) at least one beamforming vector for at least one of said users; precoding (B) said data in accordance with the beamforming vector prior to the transmission (C) of the signal from a plurality of transmitting antennas of a transmitting apparatus; wherein the beamforming vector is determined for said user (uk) by computing the beamforming vector (wk) which maximizes the difference between the sum data rate throughput (U) achieved by said user (uk) and at least one other user (u1,u2) and the sum data rate throughput achieved by said at least one other user (u1,u2) without said user. The present invention also relates to a transmitting apparatus for performing this method and a multiple-input multiple-output (MIMO) communication system comprising such a system.

Inventors:
SHI ZHENNING (CN)
LUO YAJUAN (CN)
GU DAQING (CN)
Application Number:
PCT/IB2012/000600
Publication Date:
September 13, 2012
Filing Date:
March 09, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
SHI ZHENNING (CN)
LUO YAJUAN (CN)
GU DAQING (CN)
International Classes:
H04L25/03; H04B7/06
Domestic Patent References:
WO2009088328A12009-07-16
WO2009023860A12009-02-19
Other References:
SADEK ET AL.: "A Leakage-Based Precoding Scheme for Downlink Multi-user MIMO channels", IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS, May 2007 (2007-05-01)
Attorney, Agent or Firm:
FRANCE TELECOM/FTR&D/PIV/BREVETS (38-40 Rue du Général Leclerc, Issy Moulineaux Cedex 9, FR)
Download PDF:
Claims:
CLAIMS

1 . A method of transmitting a signal carrying data in a multiple-input multiple-output (MIMO) communication system involving a plurality of users, said method comprising: determining (A) at least one beamforming vector for at least one of said users;

precoding (B) said data in accordance with the beamforming vector prior to the transmission (C) of the signal from a plurality of transmitting antennas of a transmitting apparatus;

wherein the beamforming vector is determined for said user (UK) by computing the beamforming vector (wk) which maximizes the difference between the sum data rate throughput (U) achieved by said user (Uk) and at least one other user (ui,u2) and the sum data rate throughput achieved by said at least one other user (ui ,u2) without said user.

2. The method according to claim 1 , wherein a plurality of beamforming vectors are progressively determined respectively for each one of the plurality of users, and wherein the determination step consists in a progressive determination step A(i) which comprises the following steps, performed for each user of said plurality of users:

selecting (A1 (i)) one of said users;

computing (A3(i)) a beamforming vector for the selected user which maximizes the difference between the sum data rate throughput (U) achieved by the selected user (Uk) and users belonging to a beamforming user set (L) and the sum data rate throughput achieved by users belonging to said beamforming user set without the selected user.

3. The method according to claim 2, wherein the selected user is selected among users of plurality of users (Ltot) which do not belong to the beamforming user set (L), and wherein the method further comprises adding (A5(i)) the selected user to the beamforming user after the computing step.

4. The method according to any one of claims 2 or 3, wherein each progressive determination step A(i) is followed by the verification (A7(i)) of at least a first condition, the beamforming determination being interrupted if the first condition is not verified, wherein said first condition comprises the condition that the number (i) of computed beamforming vectors is less than the number (Nt) of transmitting antennas of the transmitting apparatus.

5. The method according to claim 4, wherein the first condition further comprises that the number (i) of computed beamforming vectors is less than the number (K) of users multiplied by the number (Nr) of receiving antennas per user in the communication system.

6. The method according to claim 4 or 5, wherein a second condition is verified during the verification step, said second condition being that the difference between the sum data rate throughput (U) achieved by said user (UK) and at least one other user (ui ,u2) and the sum data rate throughput achieved by said at least one other user (ui,u2) without said user is positive.

7. The method according to any one of claims 1 to 6, wherein the computed beamforming vector is obtained by computing the eigenvector corresponding to the largest eigenvalue of an optimisation matrix depending on the matrixes of the covariance of interference received by the users, the channel matrixes and the computed beamforming vector with respect to the users.

8. The method according to claim 7, wherein the optimisation matrix M is defined according to the following equation:

wherein:

- 1 is the identity matrix;

- Gk is the eigenspace of the matrix Rk covariance of the interference received by the k-th user, such as Gk = Hj R^Hk , wherein Hk is the channel matrix with respect to the k-th user ; and

9. The method according to any one of claims 2 to 8, wherein the determination step comprises, prior to the computation step, an initial calculation step (A(1 )) comprising : based on the computation of MRT beamforming vectors (W^ RT) for a plurality of users of the set, the selection (A1 (1 )) of a first user (UM) whose MRT beamforming maximizes the receive power;

the determination (A3(1 )) of a first beamforming vector ( wkl) corresponding to the

MRT beamforming vector (W|( ,MRT) of said first user; and

the initial definition (A5(1 )) of the beamforming user set (L) as comprising only the selected first user.

10. The method according to any one of claims 2 to 8, wherein the progressive determination step (A(i)) is performed for each user of the plurality of users, and wherein, for each user, the determination step further comprises, prior to the computation step, an initial computation step comprising :

computing a MRT beamforming vector for said user;

defining the beamforming user set as comprising only said user. 1 1 . The method according to any one of claims 2 to 10, wherein the determination step (Α2') is repeated iteratively a predetermined number (n) of times.

1 2. The method according to any one of claims 2 to 10, wherein the determination step (Α2') is repeated iteratively until the value of a metric parameter ξ , depending on the matrixes of the covariance of interference received by the users and the channel matrixes and computed beamforming vectors with respect to the users, is less than a system- defined threshold es¾oM .

1 3. The method according to 1 2, wherein the metric parameter ξΙζ is defined according to the following equation :

Wherein Qk =— and Qk = max eigenvalue I +∑AJ (I + Gj

14. A transmitting apparatus (Tx) for transmitting a signal carrying data, comprising : a plurality of transmitting antennas for transmitting the signal ;

a precoding module (PRECOD), connected to the plurality of antennas and configured to precode the data by using at least one beamforming vector (wk) ;

a beamforming controller module (BF_CTRL), connected to the precoding module and configured to determine said at least one beamforming vector;

wherein the transmitting apparatus is adapted to perform the method of transmitting a signal carrying data according to any one of claims 1 to 1 3.

1 5. A multiple-input multiple-output (MIMO) communication system comprising a transmitting apparatus for transmitting a signal carrying data according to claim 14 and at least one receiving apparatus with a plurality of receiving antennas.

1 6. A computer program comprising instruction codes for implementing the beamforming determination step of the method of transmitting a signal carrying data according to any one of claims 1 to 1 3, when loaded and run on processing means of a beamforming controller module.

Description:
METHOD AND APPARATUS FOR DATA BEAMFORMING

USING DATA RATE MAXIMISATION

FIELD OF THE INVENTION

The invention relates to wireless communication systems, and more particularly to the precoding of data to be transmitted in a multiuser multi-input multi-output (MIMO) wireless communication system.

BACKGROUND OF THE INVENTION

In multiuser MIMO downlink transmissions, multiple users are served at the same time on the same channel. The suppression of co-channel interference can be achieved by using properly configured precoders at the transmitter side, in other words by choosing carefully beamforming vectors, or precoding weights, before the transmission of the signal to multiple users.

Several methods exist currently for choosing such beamforming vectors. For instance, the beamforming vectors are chosen optimally in order to maximize the output signal to interference plus noise ratio (SINR) for each user.

Another scheme consist in using a leakage based criterion to design the transmit beamforming vectors, where a leakage parameter refers to the interference caused by the signal intended for a desired user to other co-channel users. Such a leakage parameter is thus a measure of how much signal power leaks into other users. The corresponding performance criterion to be maximized is the signal to leakage and noise ratio (SLNR) for all users simultaneously. Such a SLNR optimization attempts to balance between desired signal power maximization and co-channel interference mitigation and present a new approach in coordinating interference through beamforming. This scheme can be extended to multi-cell scenario by considering other-cell interference. Alternative schemes called "zero forcing beamforming schemes" seek to perfectly cancel the co-channel interference for each user. In such schemes, the beamforming vector of a user is projected in the null space spanned by the channel of its co-channel users to eliminate the interference. However, all of the above-mentioned schemes present a certain number of drawbacks. In the case of the precoding schemes based on SINR optimization, the optimal precoding vector of a user needs to be determined jointly with those of co-channel users. This in turn leads to a multi-dimensional optimization problem that involves SINR metrics and corresponding precoding vectors of all users. No closed form solutions are available due to the complexity and coupled nature of the resulting optimization problem.

As far as precoding schemes based on SLNR optimization are concerned, maximization of signal-to-leakage-plus-interference ratio at the transmitter side does not necessarily results in optimal SINR at the receive ends. That is, SLNR is an arbitrarily defined metric, which is not directly related to performance metric, e.g., throughput, of the user or its co-channel users. For this reason, a precoding vector determined according to SLNR criterion may outweigh the user performance compared to its co-channel counterparts, or, on the other hand, outweigh the interference generated by users to co-channel users.

Finally, precoding schemes using zero-forcing beamforming eliminates the co- channel interference at the cost of increasing the noise. Besides, zero-forcing schemes impose a restriction on the number of antennas. Indeed, the number of transmit antennas at the base station is required to be larger than the sum of receive antennas of all users. This condition is necessary in order to provide enough degrees of freedom for the zero-forcing solution to force the co-channel interference to zero at each user.

Therefore, there is a need for an alternative precoding scheme which overcomes the drawbacks of the above-mentioned schemes and can offer improved performances in terms of data rate sum throughput without increasing excessively the complexity of the system.

SUMMARY OF THE INVENTION

The object of the present invention is to propose a sum-throughput maximizing beamforming approach for the precoding scheme in Ml MO systems. In order to obtain the optimal beamforming vectors for a large-scale system with low complexity, it is proposed to achieve the optimal sum throughput in a progressive or iterative manner, by maximizing the net sum data rate gain introduced by a user introduced to the MU-MIMO channel. The present invention proposes a method of transmitting a signal carrying data in a multiple-input multiple-output communication system involving a plurality of users, this method comprising the steps of:

determining at least one beamforming vector for at least one of these users; precoding the data in accordance with the beamforming vector prior to the transmission of the signal from a plurality of transmitting antennas of a transmitting apparatus;

wherein the beamforming vector is determined for this user by computing the beamforming vector which maximizes the difference between the sum data rate throughput achieved by this user and at least one other user and the sum data rate throughput achieved by the at least one other user without said user.

According to an aspect of the invention, a plurality of beamforming vectors are progressively determined respectively for each one of the plurality of users, and the determination step consists in a progressive determination step A(i) which comprises the steps, performed for each user of the plurality of users of selecting one of these users and computing a beamforming vector for the selected user which maximizes the difference between the sum data rate throughput achieved by the selected user and users belonging to a beamforming user set and the sum data rate throughput achieved by users belonging to said beamforming user set without the selected user.

In an embodiment of the invention corresponding to a single stream per user implementation, the selected user is selected among users of plurality of users which do not belong to the beamforming user set, and the method further comprises adding the selected user to the beamforming user after the computing step.

In an advantageous embodiment, each progressive determination step is followed by the verification of at least a first condition, the beamforming determination being interrupted if the first condition is not verified, wherein this first condition comprises the condition that the number of computed beamforming vectors is less than the number of transmitting antennas of the transmitting apparatus. In a further embodiment, the first condition further comprises that the number of computed beamforming vectors is less than the number of users multiplied by the number of receiving antennas per user in the communication system. In a further embodiment, a second condition is verified during the verification step, this second condition being that the difference between the sum data rate throughput achieved by said user and at least one other user and the sum data rate throughput achieved by said at least one other user without said user is positive.

According to an embodiment of the invention, the computed beamforming vector is obtained by computing the eigenvector corresponding to the largest eigenvalue of an optimisation matrix depending on the matrixes of the covariance of interference received by the users, the channel matrixes and the computed beamforming vector with respect to the users.

In a particular aspect of this embodiment, this optimisation matrix M is defined according to the following equation:

wherein :

- 1 is the identity matrix;

- G k is the eigenspace of the matrix R k covariance of the interference received by the k-th user, such as G k = H^R^H k , wherein H k is the channel matrix with respect to the k-th user ; and

- Ai is a matrix defined as: A, = G U K

In a further embodiment of the invention, the determination step comprises, prior to the computation step, an initial calculation step comprising the following steps: based on the computation of MRT beamforming vectors for a plurality of users of the set, the selection of a first user whose MRT beamforming maximizes the receive power;

the determination of a first beamforming vector corresponding to the MRT beamforming vector of said first user; and

the initial definition of the beamforming user set as comprising only the selected first user. In another embodiment of the present invention, the progressive determination step is performed for each user of the plurality of users and, for each user, the determination step further comprises, prior to the computation step, an initial computation step comprising the steps of computing a MRT beamforming vector for said user and defining the beamforming user set as comprising only said user.

In another embodiment of the present invention, the determination step is repeated iteratively a predetermined number of times.

In a further embodiment of the present invention, the determination step is repeated iteratively until the value of a metric parameter > depending on the matrixes of the covariance of interference received by the users and the channel matrixes and computed beamforming vectors with respect to the users, is less than a system-defined threshold £ tes¾oM .

In a particular aspect of this embodiment, the metric parameter ξ is defined according to the following equation:

fei

The present invention further proposes a transmitting apparatus for transmitting a signal carrying data, comprising:

a plurality of transmitting antennas for transmitting the signal;

a precoding module, connected to the plurality of antennas and configured to precode the data by using at least one beamforming vector;

a beamforming controller module, connected to the precoding module and configured to determine said at least one beamforming vector;

wherein the apparatus is adapted to perform the above-mentioned method of transmitting a signal carrying.

The present invention also proposes a multiple-input multiple-output communication system comprising the above-mentioned transmitting apparatus for transmitting a signal carrying data according and at least one receiving apparatus with a plurality of receiving antennas. The present invention further proposes a computer program comprising instruction codes for implementing the beamforming determination step of the above- mentioned method of transmitting a signal carrying data, when loaded and run on processing means of a beamforming controller module.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the invention will become apparent from the following description of non-limiting exemplary embodiments, with reference to the appended drawings, in which:

- Figure 1 represents a simplified wireless communication system which illustrates the principle of the invention;

- Figure 2 represents the steps of the method of transmitting a signal carrying data that is the subject of the present invention;

- Figure 3A shows a modelized block diagram of a typical multi-user MIMO system;

- Figure 3B illustrates schematically a transmitting apparatus for transmitting signal carrying data according to the present invention;

- Figure 4A illustrates a first embodiment of the beamforming determination step of the method according to the present invention;

- Figure 4B illustrates an embodiment of the initial determination step of the first embodiment of the beamforming determination step according to the present invention;

- Figure 5A shows simulated curves of various data rate achieved with data layers determined at different scheduling stages for a four-user MIMO system, when using the above-mentioned RAMP scheme according to the present invention;

- Figure 5B shows simulated curves representing the achieved net gain ratio AGNR for data streams precoded at different iteration stages of the above- mentioned RAMP scheme according to the present invention;

- Figure 5C describes another embodiment of the beamforming determination step according to the present invention, which takes into consideration this issue;

- Figures 5D and 5E show simulated curves representing the cumulative distribution of the achieved exponent net gain ratio and of the maximum net gain ratio for different signal-to-noise ratios;

- Figure 5F shows a simulated curve of the sum data rate throughput achieved with the multi-iteration precoding of this embodiment of the method according to the present invention, for a MIMO system involving 4 users;

- Figure 6A describes another embodiment of the beamforming determination step according to the present invention; and

- Figures 6B and 6C show simulated curves of the distribution of the relative exponent of net gain difference ξ ί over iterations for different signal-to-noise ratios, respectively.

DETAILED DESCRIPTION OF THE INVENTION

Figure 1 represents a simplified wireless communication system which illustrates the principle of the invention.

The upper part of figure 1 shows the cell of a wireless system with only two co- channel users ui and u 2 , which achieve individual data rate throughputs r ll k and r 2l k , respectively. Here, the back slash in the subscript of these data rate throughputs parameters denotes that these data rate are achieved without the presence of any third user Uk- The sum data rate throughput for these two users is thus U Vk = r llk + r 2lk in such a cell.

When a new user u k comes into consideration for this cell, as shown in the lower part of figure 1 , the data rate throughputs within the cell are modified. The new data rate throughputs for users u1 and u2 are respectively designated by r x and r 2 , and user u k achieves itself a data rate throughput r k . The sum data rate throughput in this situation becomes U = r k + r l + r 2 in this cell.

The present invention seeks to maximize the sum throughput gain of all three users, when compared to the previous situation with only two users, which is given by the following equation:

(1 ) S = U - U /k = r k + (r l - r llk )+ (r 2 - r 2lk )

In other words, in this equation (1 ), the first part r k is the individual data rate throughput (or gain) realized by the third user Uk and the second part, (r x - r l/ k ) + (r 2 - r 2/ k ) , is the gain caused to co-channel users ui and u 2 by the introduction of user Uk.

Thus, the beamforming vector optimization, for user Uk, consists of maximizing the sum of these two parts such that the total sum data rate throughput is maximized.

Figure 2 represents a flow diagram of the steps of the method of transmitting a signal carrying data that is the subject of the invention.

Such a method is performed in a multiple-input multiple-output (MIMO) communication system involving a plurality of K users U i , ... ,u k , ... ,u K and a transmitting apparatus having N t transmitting antennas. The K users define thus a user set L, ot such that L tot = { k } 1≤k≤K

This method comprises first a beamforming determination step A wherein beamforming vector(s) w k are determined respectively for one or more user(s) belonging to this user set L tot . In particular, the determination of the beamforming vector w k for a user u k of the set Uot comprises the step of computing the beamforming vector w k which maximizes the sum throughput gain S corresponding to the difference between, on the one hand, the sum data rate throughput U achieved by this user u k and one or more other user(s) of the user set L to t, and, on the other hand, the sum data rate throughput achieved by these one or more other users of the user set L tot without said user u k .

Hence, to come back to the example of the figure 1 , the beamforming vector w k for user u k is thus the beamforming vector which maximizes the equation :

S = U - U /k = r k + (r l - r llk )+ (r 2 - r 2lk ) .

Once the beamforming vector(s) have been determined, the data to be transmitted are precoded, during a precoding step B, in accordance with the beamforming vector(s) which have been determined during step A.

Finally, once the data have been precoded, a signal carrying on the precoded data can be transmitted, during a transmission step C, from the plurality of antennas of the transmitting apparatus towards the users U-I -UK.

The maximization of the sum throughput gain S can be reformulated as follows, with reference to figure 3A which shows a modelized block diagram of a typical multi-user MIMO system. In such a multi-user MIMO system involving a transmitter with N t transmitting antennas and users Ui , ...,u k each having a receiving device with N r receiving antennas, the received signal for user u k can be expressed by the following (N r x 1 ) receiving vector y k :

(2) k = H fcXfc +H fc ∑^ +n fc

l≠k

where :

- n k ~ CN(0, N 0 l) is the Gaussian noise vector with white covariance matrix, with N 0 being the noise variance normalized with respect to the transmit power;

x k = , x 2 , · · · , ½ t ] T is the transmitted waveform vector; and

H fc is the (N r x N t ) channel matrix. Assuming that transmit power is uniformly distributed among the users, the transmitted waveform can be expressed as:

(3) x fc = w fc 5 fc where wjs the normalized beamforming vector for the k-th user, i.e., ||wj 2 = 1 , and s k is the transmitted data symbol associated with this k-th user such thatE|s fc | 2 = 1 .

The Covariance Matrix R k of the interferences affecting user u k can be then defined as follows:

(4) H

≠k J and the channel-weighted interference covariance matrix G K for the user u k , is defined as follows:

(5) G k - H f R fc H fc

Here, a beamforming user set L of users is defined which comprises users of L to t which are properly configured, i.e. which are already associated with a beamforming vector. When a new user u k of L to t, which does not belong to such a beamforming user set ( u k £ L ), is taken into consideration, as mentioned before, the sum data rate throughput achieved, on the one hand, by the users of the beamforming user set L and the user Uk (in other words the sum data rate throughput for L u{«J), and the sum data rate throughput achieved, on the other hand, by the users of the beamforming user set L without the user Uk (i.e. the sum data rate throughput for L), are respectively defined as follows:

(6) U = r k +∑r,

fe k L (7) U /k =∑

feL

Where:

- r 1/k is the data rate throughput (i.e. the achievable capacity) of user ui without the presence of user Uk; and

η is the data rate for user ui.

Considering equations (6) and (7), the beamforming vector w k for user Uk is obtained by computing the beamforming vector w pt which maximizes the sum data rate throughput gain introduced by the user u k , in other words which solves the following equation:

In order to solve equation (8), both data rate r k and data rate throughput gains r ! - r 1/k ,l≠k can be reformulated in terms of w k . The former is readily obtained by employing the Shannon capacity formula for the link of user u k as:

(9) r t = log(l + w?G t w t ) The latter is the degradation in the link capacity of user ui caused by user Uk, and can be defined as follows: wf(G z -G z/ Jw z

Through mathematical manipulations, it can be found that:

-Gi / k --Gi /k / k / k G Uk

(11)

With equation (11), equation (10) can be re-formulated as follows: (12) Ί -r l/k =log(l-wf A wJ wherein the matrix AI is defined as being: A,

By replacing equations (8) and (12) into (7), the net gain in sum throughput can be described in terms of the beamforming vector w k for user u k , as follows :

U~U /k =r k +∑(r l -r llk )

G

= ]og(l + w?G t w +∑log(l-w?A I w

G

g(l + wf A, w t )

where the two approximations are based on the assumption that w " «!' '- e > that the throughput loss caused to co-channel users is

small.

Noting that the log function is a monotonic increasing function with respect to the argument, maximizing equation (13) is equivalent to maximizing the exponent of the sum data rate gain, designated by Q k and defined as follows:

The beamforming vector w k that maximizes the above-mentioned ratio Q k in (14) is actually the generalized eigenvector corresponding to the maximum eigenvalue of the two matrixes (i + Gj and fl +∑ z

Since the matrix invertible, the generalized eigenvalue probl reduces down to a standard eigenvalue problem, following an argument similar to the one used in "A Leakage-Based Precoding Scheme for Downlink Multi-user MIMO channels", Sadek et al., IEEE Transactions on Wireless Communications, May 2007.

As a result, the optimal beamforming vector w k for user u k is given by:

(15) W ( P °c max eigenvecto r

where the max eigenvector (z) function denotes the eigenvector corresponding to the largest eigenvalue of the matrix z .

Formula (15) shows that the optimal beamforming vector w° k pt depends on matrixes G k and , which are determined by the channel state information and selected precoders of users ui.

Therefore, the joint multi-user beamforming problem naturally lends itself to a progressive solution: given the user beamforming set L determined in the previous stage, the algorithm maximizes the sum throughput for an enlarged beamforming user set L comprising the former beamforming set and a newly added user Uk by determining the precoder weights for the new user with the formula (15).

Due to the progressive nature of such a calculation, the method of the present invention can bee seen as being a rate-maximizing progressive (RAMP) beamforming method.

Figure 3B illustrates schematically a transmitting apparatus for transmitting signal carrying data according to the present invention.

The transmitting apparatus Tx comprises a channel encoder module ENCOD, a modulator module MOD, a precoder module PRECOD, a modulation and coding scheme (MCS) controller MCS_CTRL, a beamforming controller BM_CTRL, a channel information controller Hk_CTRL and N t transmitting antennas.

Such a transmitting apparatus Tx can be used in a multiple-input multiple-output (MIMO) communication system comprising this transmitting apparatus and one or more receiving apparatus, belonging to users Ui ,...,u K and having a plurality of receiving antennas.

In operation, signals to be transmitted to the receiving users are input in the respective channel encoders ENCOD-i, ...,ENCOD Nt in the encoder module ENCOD, where they are encoded with an associated method before being transmitted to the respective modulators MOD-i ,...,MOD Nt in the modulator module MOD, where they are modulated by data streams in order to output complex symbols.

On the other hand, the channel information controller Hk_CTRL receives channel information and transmit this channel information to the MCS controller MCS_CTRL and the beamforming controller BM_CTRL. The MCS controller MCS_CTRL controls the encoding process of the signal in the channel encoders ENCOD-i, ...,ENCOD Nt , as well as the modulation process of the encoded signal by data in the modulators MOD-i ,...,MOD Nt , depending on the received channel information. The beamforming controller BM_CTRL, on its side, calculates transmission beam vectors to be applied for each antennas by their respective beamforming modules BF-i, ...,BF Nt using, among others, the received channel information. In the case of the present invention, the beamforming controller comprises processing means which carry out the beamforming determination step A described previously, and discussed in more details hereafter, in order to determine the beamforming vectors w k to be used in association with the signal and data scheduled for the users. The processing means can carry out these steps by running instruction codes of a computer program loaded in memory means of the beamforming controller BM_CTRL.

Once the beamforming vectors w k have been computed by the processing means of the beamforming controller BM_CTRL, the beamforming modules BF-i ,...,BF Nt use this beamforming vectors to beam-from the complex symbol outputted by the respective modulators MODi , ...,MOD N t, before that the resulting signals are transmitted by the N t transmitting antennas to the users.

Rate-Maximizing Precoding (RAMP) scheme

Figure 4A illustrates a first embodiment of the beamforming determination step of the method according to the present invention.

In this embodiment, the determination of beamforming vectors is realized by progressively repeating beamforming determination steps A(i) for each one of a plurality of data stream (i.e. layers) to be scheduled to one or more users of a set Ltot of users.

Here, beside the global set L tot of K users, a beamforming user set L is also defined. Such a beamforming user set L comprises all the users of the global set Uot for which a beamforming vector has already been computed. This beamforming user set L is thus included in the global user set L tot , and may be initially emptied (i.e. L = 0 ) at the beginning of the method. An index i may also be introduced here, such an index i being initialized at the zero value and incremented each time a beamforming vector is computed, indicating thus the number of beamforming determination steps A(i) progressively performed at one stage. The beamforming determination step A(i) comprises the selection (sub-step A1 (i)) of one user u k among the set of users L tot .

Once the user u k is selected, the optimal beamforming vector w k is determined (sub-step A3(i)) for this user u k , by computing a beamforming vector for the selected user which maximizes the difference between the sum data rate throughput U achieved by the selected user u k and users belonging to the beamforming user set L and the sum data rate throughput U /k achieved by users belonging to said beamforming user set L without the selected user u k . As seen before, this beamforming vector can be obtained by computing the eigenvector corresponding to the largest eigenvalue of an optimisation matrix depending on the matrixes of the covariance of interference received by the users and the channel matrixes with respect to the users. As seen previously in relation with equation (15), such an optimisation matrix M can be defined as M I + GJ wherein:

- 1 is the identity matrix;

- G k is the eigenspace of the covariance matrix R k of the interference received by the k-th user, such as G k = H^R^H k , wherein H k is the channel matrix with respect to the k-th user ; and

Ai is a matrix defined as: A,

1 +

Once the optimal beamforming vector w k is determined for user u k , the user u k is added (sub-step A5(i)) to the beamforming user set L, in order to indicate that an optimal beamforming vector has been allocated to this user u k . Of course, if the user u k already belongs to the beamforming user set L (because it has already been allocated previously another beamforming vector), such a sub-step can be ignored.

The sub-steps A1 (i) to A5(i) are repeated, for a plurality of data streams to be scheduled to one or more users, the index i being incremented for each occurrence of the beamforming determination step A(i).

In an embodiment where multi-stream allocation is used by the MIMO system, the same user u k can be selected several times during different beamforming steps A(i), allowing spatial diversity to be better utilized.

In another embodiment where single-stream allocation is used by the MIMO system, the selection of a user u k among the users of the user set L tot is limited to users which do not belong to the beamforming user set L, in order to avoid the same user to be scheduled twice for different data streams.

In an advantageous embodiment, the sub-steps A1 (i) to A5(i) are repeated (and the index i is incremented for each occurrence of the beamforming determination step A(i)), until one or more conditions are not verified during a verification step A7(i).

More precisely, during this verification step A7(i), if one or more condition is not verified, the beamforming determination process A is interrupted and the method proceed further directly to precoding step B with the computed beamforming vectors w-i, ...,w k which have been already computed at that stage. A first condition, to be verified during step A7(i), concerns the number i of already allocated computed beamforming vectors, in other words the number of scheduled data streams (i.e. of layers).

This first condition may comprise the condition that the number i of computed beamforming vectors is less than the number N t of transmitting antennas in the MIMO communication system. In other words, the beamforming determination process A interrupts when a number of scheduled data streams (i.e. of layers) reaches the number of transmitting antennas. In addition to this dependence on the number of transmitting antennas, the first condition may further comprise the condition that the number i of computed beamforming vectors is less than the number K of users multiplied by the number N r of receiving antennas per user in the MIMO communication system. In other words, the progressive beamforming determination steps A(i) are carried out repeatedly as long as the condition i<min(N t ,K * N r ) is fulfilled.

In most typical MIMO communication systems, the first part of the condition will apply, since the number of transmitting antennas is usually much smaller than the number of users. For instance, in a typical MIMO cellular network with a base station having N t =8 transmitting antennas and around K=10 active users in a sector, wherein each user device is equipped with 1 or 2 antennas, min(N,,K * N r )=N,. In an embodiment, a second additional condition can be set on the repetition of the beamforming determination steps, in order to possibly interrupt the progressive process if it occurs that the addition of a user u k causes a too large degradation to the other users' throughput. Actually, the progressive determination steps can be stopped if the sum gain throughput corresponding to the difference between the sum data rate throughput U achieved by the selected user u k (for which the beamforming vector has just been computed) and users belonging to the beamforming user set L and the sum data rate throughput U /k achieved by users belonging to said beamforming user set L without the selected user u k is negative.

The second condition, to be verified during verification step A7(i), can then be defined as a condition that the difference between, on the one hand, the sum data rate throughput U achieved by the user u k and one or more user(s) of the beamforming user set L and, on the other hand, the sum data rate throughput achieved by these one or more user(s) of the beamforming user set L without this user u k is positive.

In other words, in order to achieve a positive net gain for including the new user u k , the ratio of the exponent of the sum data rate gain Q k should always be larger than one. Otherwise the rate loss caused by user u k to other users outweighs the achievable data rate of user u k , and this user u k should not be considered for transmission.

Thus, if it appears during one of the beamforming determination step that the ratio of the exponent of the sum data rate gain Q k is less than one, the process should be stopped and the user u k should not be allocated any beamforming vector.

Figure 4B illustrates an embodiment of the initial determination step A(1 ) of the first embodiment of the beamforming determination step according to the present invention. Actually, when considering the iterative determination steps A(i) described in figure 4A, it is possible that none of the users of the global user set have been allocated yet a beamforming vector (i.e. L = 0 ) when the first user u k i is to be selected during the first iterative step A(1 ). In such a case, the selection of the first user u k i cannot be based on other co-channel users' beamforming vectors.

In this embodiment, in order to take into account such a case, the first iterative determination step A(1 ) can be based on the computation of a maximal ratio transmission (MRT) beamforming vector. Here, the selection sub-step A1 (1 ) consists in selecting the user u k whose MRT beamforming vector w kjM RT results in the maximum receive power, in order for the iterative beamforming determination to achieve the best performance. During this selection sub-step A1 (1 ), MRT beamforming vectors W^MRT^ - ^W^MRT are computed for each of the K users in the user set L tot (as shown in figure 4B with the incrementation of the index j). Once all the MRT beamforming vectors have been computed, the user u k i whose MRT beamforming vector achieves the maximum receive power is selected first. In other words, the user u k i is the user for which the following equation applies:

(16) kl = arg max(w" MRT H¾w k.MRT

Once the first user u k i is selected, its beamforming vector w k1 is determined to correspond to its MRT beamforming vector (sub-step A3(1 )), i.e. w k1 =w K1 JM RT, and user Uki is added to the void beamforming user set L (sub-step A5(1 )), i.e. The following beamforming determination steps A(2),A(3), ...,A(K) are then performed progressively, as shown in figure 4A.

Naturally, other alternative methods can be used during this initial determination step A(1 ) for selecting the first user u k i and computing its beamforming vector w k1 .

Iterative Precoding scheme with fixed scheduling

In the RAMP scheme used in the embodiment discussed in figures 4A and 4B, the beamforming determination for users scheduled in early stages of the determination step A do not take into account the influence to the users scheduled in the later stages. In some cases, this may lead to the introduction of excessive interference to later-scheduled data streams.

To illustrate this issue, one may consider a three-user system where users Ui,u 2 and u 3 are scheduled with beamforming vectors in numerical order.

With the above-mentioned method, the beamforming vectors are computed follows with the RAMP scheme: opt

w max eigenvecto r (I + G 35

1/(2,3} (17) wherein A[ =

It can be seen that beamforming vectors w° pt and w may not be completely optimal since they neglect the interference generated to users scheduled afterwards in the iterative process. As a result, data streams scheduled in later stages of the RAMP scheme may be less protected. Figure 5A shows simulation curves of various data rate achieved with data layers determined at different scheduling stages for a four-user MIMO system, when using the above-mentioned RAMP scheme according to the present invention.

In this simulation, the MIMO system comprises a transmitting base station with N t =4 transmitting antennas and a maximum of four user whose receivers have N r =2 receiving antennas each. For each user, at most 1 layer of data is supported.

A block fading channel is employed such that channel state between blocks are assumed to be uncorrelated, while within one block, the entries in the channel state matrix are i.i.d. distributed complex Gaussian.

On this figure 5A, it can be seen that data rate for early-scheduled data streams is much higher than that of the later-scheduled counterparts. On the other hand, the determined beamforming vectors may not be completely optimal, since they may fail to introduce the maximum net throughput to the scheduled set.

To evaluate the beamforming vector in terms of net gain throughput, a parameter called achieved net gain ratio ANGR can be defined as ANGR= , such a

parameter being upper bounded by one.

The larger the value of the ANGR, the closer the beamforming vector is to the optimal precoding vector in (15).

Figure 5B shows simulated curves representing the achieved net gain ratio AGNR for data streams precoded at different iteration stages of the above-mentioned RAMP scheme according to the present invention.

On this figure 5B, degenerating AGNR for data streams scheduled in the first stage indicates that the precoding for early-stage data streams may be suboptimal, because it introduces interference to later-stage layers and may not achieve the maximum net sum throughput.

Figure 5C describes another embodiment of the beamforming determination step according to the present invention, which takes into consideration this issue.

In this embodiment, the beamforming determination is performed in n iterations, where n>2, while in each iteration the i-th user's beamforming vector is updated using the current beamforming vectors of the entire user set L tot , in order to mitigate the issue discussed in the previous section. Such a precoding scheme can be thus designated as being an iterative precoding scheme, with a fixed scheduling (of n iterations).

Denoting the global user set of scheduled users as = {¾ }, index i as the index designating the i-th user, index j as the index for the j-th iteration in the fixed scheduling, and given the beamforming vectors the y ' -th iteration

(with j≤n), the beamforming determination step A' according to this embodiment comprises thus a first beamforming determination sub-step A1 ' wherein the beamforming vector {w^'j^are determined for the K users of the global set L to t.

This can be achieved by performing the progressive beamforming determination as shown in figures 4A and 4B.

At the end of this first sub-step A1 ', the beamforming vectors for the first iteration are the optimal beamforming vectors found with the previously discussed RAMP scheme, i.e. { L = { L-

Based on this initial set of beamforming vectors, a beamforming group determination sub-step A2' is performed, which comprises K beamforming determination sub-steps A3' carried on for each i-th user, wherein the beamforming vector is updated as a function of the currently determined beamforming vectors of the other users.

In other words, during the first iterative stage, for each user Ui, W; 2) is calculated based on the currently determined beamforming vectors of all the other users. The repetition of sub-step A3' for each user is designated, in figure 5C, by the incrementation of the index i until its value reaches the number K of users.

The beamforming group determination sub-step A2' is then iteratively repeated (n- 1 ) times, as shown in figure 5C with the incrementation of the index j until its value reaches the number n of scheduling layers.

Thus, here, at the y-th iteration, the beamforming vectors are computed as follows during the sub-steps A3': w( ) = ( w -i) ; W -i) ; . . . ; W -i) )

( 1 8) W^ = (W« w^- ^ w^ )

where the function F(.) denotes the rate- maximizing beamforming determination operation as defined in the RAMP scheme discussed previously and illustrated in figures 4A and 4B.

Figure 5D shows simulated curves representing the cumulative distribution of the achieved exponent net gain ratio A-ENGR (corresponding to the previously introduced parameter Q k ) and of the maximum (achievable) net gain ratio Max- ENG (corresponding to the previously introduced parameter Q k ) for SNR= 100B.

On this figure 5D, it is observed that these two curves overlap after two iterations.

This is also verified by the evolution of Q k CDF curve, which is shown in the plot at the lower-right corner of figure 5D.

Since large ENGR values correspond to large net gain in sum throughputs, this figure 5D shows that most of the gain is achieved with two iterations. Figure 5E shows simulated curves of the cumulative distribution of the achieved exponent net gain ratio A-ENGR (i.e. parameter Q k ) and of the maximum (achievable) net gain ratio Max-ENG (i.e. parameter Q k ) for SNR= 20 dB.

Here, for such a SNR of 20 dB, it can be seen on figure 5E that more than 4 iterations are needed for the achieved net gain ratio A-ENGR to converge with the maximum net gain ratio Max-ENGR.

Figure 5F shows a simulated curve of the sum data rate throughput achieved with the multiple iterative precoding of this embodiment of the method according to the present invention, for a MIMO system involving 4 users (K=4).

On this figure, it can be seen that the gain achieved by performing multiple iterations is marginal for ,WR≤10 dB. The gain becomes more substantial at higher SNRs, where four to eight iterations are necessary for the proposed scheme to converge towards the optimal value, matching well what is observed in Figure 5E.

Thus, compared to the RAMP scheme of the embodiment discussed in figures 4A and 4B, the iterative precoding scheme illustrated in figure 5C can significantly improve the sum data rate throughput for SNR > 15dB. The sum data rate gain is around 20% at SNR=20 dB.

Iterative RAMP Precoding scheme with adaptive scheduling As shown in the previous section, rate-maximizing RAMP scheme takes multiple iterations to achieve its full benefits. Nevertheless, the number of iterations depends on the link SNR. It is also observed in simulations shown on figures 5D to 5F thatfewer iterations are needed if the number of users increases. Here, another embodiment of the method according to the present invention is proposed, wherein a mechanism is defined for determining the number of iterations for the method to converge and automatically terminate the process when the gain becomes marginal. Figure 6A describes the sub-steps of the beamforming determination step according to this other embodiment.

In this embodiment, a metric parameter ξ Ιζ is defined in order to assess the convergence of the method.

Such a metric parameter ξ Ιζ is named "relative ENG difference" and is defined as follows: (19) ^ = 7ΐ

Obviously, ξ e [θ,ΐ] , and the smaller this metric parameter is, the closer the beamforming vector is to the optimal solution.

This metric parameter ξ can then be compared with a system-defined threshold theshou in order to determine whether to stop, or not, the iterative processing.

In this embodiment, the beamforming determination is performed in multiple iterations, wherein in each iteration the i-th user's beamforming vector is updated using the current beamforming vectors of the user set L, similarly to the determination performed in figure 5C. However, here, the number of iterations is not fixed, but varies according to the convergence of the beamforming vectors towards their optimal values. Such a precoding scheme can be thus designated as being an iterative precoding scheme with a dynamic scheduling.

In operation, the initial beamforming determination sub-step A1 " and the iterative beamforming group determination sub-steps A2" are similar to sub-steps A1 ' and A2' discussed previously.

However, in this embodiment, once an iterative beamforming group determination sub-step A2" is completed, the metric parameter ξ is determined (sub-step A5") by computing equation (21 ). The computed metric parameter ξ is thereafter compared with the system-defined threshold ξ ΑεΛΜ in order to decide if it is necessary to carry out another round of beamforming determination, or if the beamforming vectors are sufficiently close to their optimal values. Thus, when compared with the iterative process of figure 5C, the end of the iterative process is not triggered by reaching a specific number of iterations, but by checking if a sufficient degree of convergence with optimal values has been reached. If the computed metric parameter ξ above the system-defined threshold ξ ΛεΑΜ , the convergence is not yet achieved and the beamforming determination process goes back to another round of iterative group determination sub-step A2", as shown on figure 6A by the incrementation of the index j.

If the computed metric parameter ξ is below, or equal to, the system-defined threshold < theshold , the convergence is considered as being achieved and the beamforming determination process can stop at this j-th iteration. The hereby obtained beamforming vectors can then be used for precoding the data to be transmitted to the users.

Figures 6B and 6C show simulated curves of the distribution of relative ENG difference ξ Ιζ over iterations for SNR=10 and 20 dB, respectively.

On figure 6B, it is observed that for SNR=10 dB, 90% of the data streams have an associated a relative ENGR difference Delow 0.03 at the second iteration, where the precoding converges.

On figure 6C, it is observed that for SNR=20 dB, more than 80% of data streams are associated with a relative ENGR difference ξ below 0.03 for the fourth iteration, where the sum data rate throughput of the system reaches maximum. Hence an efficient threshold value can be defined as = 0.03

Figure 6D shows a simulated curve of the sum data rate throughput for such an iterative precoding scheme with dynamic scheduling.

Here again, the above-discussed RAMP precoding scheme is employed for initialization.

It can be seen that significant gain is achieved over the RAMP scheme, i.e. a one- iteration RAMP scheme as discussed in figures 4A and 4B, at medium and high SNRs.

The iterative precoding scheme with dynamic scheduling also outperforms other advanced precoding schemes, such as BD-schemes and SLNR-schemes. Figure 6E shows simulated distribution curves of the relative ENG difference achieved by the iterative precoding scheme with dynamic scheduling at different SNR. This figure 6E demonstrates a more converged performance when compared to the RAMP scheme and the iterative decoding with fixed schedule scheme.

The invention also covers a computer program product stored on a storage medium for execution by a computer or by a dedicated invocation call server as described in association with the abovementioned figure 13, particularly noteworthy in that this computer program product includes instructions making it possible to execute the method according to figures 5a, 5b, 10a et seq., previously described in the description.