Patent Description:
In wireless communication, it is known to utilize multi-antenna transmission for enhancing performance, e.g., in terms of throughput and/or capacity. For example, in a wireless communication network based on the LTE (Long Term Evolution) or the NR (New Radio) technology specified by 3GPP (<NUM>rd Generation Partnership Project), multi-user MIMO (MU-MIMO) communication may be used for serving several users simultaneously with the same time and frequency resource. In this case, an access node of the wireless communication network, in the LTE technology referred to as "eNB" and in the NR technology referred to as "gNB", and/or the user terminals, referred to as UEs (UE: user equipment), are equipped with multiple antennas. The multiple antennas enable spatial diversity for transmission of data in both an uplink (UL) direction from the UEs to the network and a downlink (DL) direction from the network to the UEs. The spatial diversity significantly increases the capacity of the network. Accordingly, the MU-MIMO technology may allow for a more efficient utilization of the available frequency spectrum. Moreover, the MU-MIMO technology can reduce inter-cell interference which in turn may allow for more frequency re-use. As the electromagnetic spectrum is a scarce resource, the MU-MIMO technology may constitute a valuable contribution when aiming at extension of the capacity of the wireless communication network.

One important aspect for an effective deployment of the MU-MIMO technology is the availability of an accurate estimate of channel responses between the access node and the UEs in the associated network cell. These channel responses may relate to both DL transmissions and UL transmissions and help to form the beams from the access node toward the targeted UEs and vice versa. The channel from a UE to the access node is typically referred to as UL channel, while the channel from the access node to the UE is typically termed DL channel. In some scenarios, the UL channel may be estimated based on pilot signals sent from the UEs to the access node, assuming reciprocity of the UL channel and the DL channel. These pilot signals are also referred to as "sounding". In the LTE and NR technology the pilot signals are referred to as Sounding Reference Signals (SRS).

Algorithms used for controlling MU-MIMO transmission are typically based on calculating a precoding matrix on the basis of channel estimates. One class of such algorithms, referred to as minimum mean square error (MMSE) algorithms, typically uses a matrix inversion to compute the precoding matrix from a channel matrix representing the channel estimate. Since the size of the matrix to be inverted depends on the number of utilized transmitter antennas, the matrix inversion becomes computationally expensive in terms of both a number of required mathematical operations and required memory needed when the number of transmitter antennas increases. This may render application of the MMSE algorithm infeasible.

"<NPL>), describes an iteration method for speeding up convergence rate and guaranteeing bit error rate in calculation of a precoding matrix.

Accordingly, there is a need for techniques which allow for efficiently determining a precoding matrix for multi-antenna transmission.

According to an embodiment, a method of controlling multi-antenna transmission is provided.

The method comprises determining a channel matrix. The channel matrix represents characteristics of a multi-path channel between a transmitter device equipped with multiple transmitter antennas and at least one receiver device equipped with one or more receiver antennas. The channel matrix is organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas. Further, the method comprises applying an iterative optimization algorithm to determine a precoding matrix from the channel matrix. In the method, at least one step size of the iterative optimization algorithm is set depending on a vector norm of at least one of the one or more channel vectors. Further, the method comprises controlling multi-antenna transmission by the transmitter device based on the determined precoding matrix.

According to a further embodiment, a device for controlling multi-antenna transmission is provided. The device is configured to determine a channel matrix. The channel matrix represents characteristics of a multi-path channel between a transmitter device equipped with multiple transmitter antennas and at least one receiver device equipped with one or more receiver antennas. The channel matrix is organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas. Further, the device is configured to apply an iterative optimization algorithm to determine a precoding matrix from the channel matrix. Further, the device is configured to set at least one step size of the iterative optimization algorithm depending on a vector norm of at least one of the one or more channel vectors. Further, the device is configured to control multi-antenna transmission by the transmitter device based on the determined precoding matrix.

According to a further embodiment, a device for controlling multi-antenna transmission is provided. The device comprises at least one processor and a memory. The memory contains instructions executable by said at least one processor, whereby the device is operative to determine a channel matrix. The channel matrix represents characteristics of a multi-path channel between a transmitter device equipped with multiple transmitter antennas and at least one receiver device equipped with one or more receiver antennas. The channel matrix is organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas. Further, the memory contains instructions executable by said at least one processor, whereby the device is operative to apply an iterative optimization algorithm to determine a precoding matrix from the channel matrix. Further, the memory contains instructions executable by said at least one processor, whereby the device is operative to set at least one step size of the iterative optimization algorithm depending on a vector norm of at least one of the channel vectors. Further, the memory contains instructions executable by said at least one processor, whereby the device is operative to control multi-antenna transmission by the transmitter device based on the determined precoding matrix.

According to a further embodiment of the invention, a computer program or computer program product is provided, e.g., in the form of a non-transitory storage medium, which comprises program code to be executed by at least one processor of a device for controlling multi-antenna transmission. Execution of the program code causes the device to determine a channel matrix. The channel matrix represents characteristics of a multi-path channel between a transmitter device equipped with multiple transmitter antennas and at least one receiver device equipped with one or more receiver antennas. The channel matrix is organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas. Further, execution of the program code causes the device to apply an iterative optimization algorithm to determine a precoding matrix from the channel matrix. Further, execution of the program code causes the device to set at least one step size of the iterative optimization algorithm depending on a vector norm of at least one of the one or more channel vectors. Further, execution of the program code causes the device to control multi-antenna transmission by the transmitter device based on the determined precoding matrix.

In the following, concepts in accordance with exemplary embodiments of the invention will be explained in more detail and with reference to the accompanying drawings. The illustrated embodiments relate to controlling of multi-antenna transmission in a wireless communication network. The wireless communication network may be based on the LTE radio technology or the NR radio technology and in particular involve DL MU-MIMO transmission from an access node of the wireless communication network, e.g., an eNB or a gNB, to multiple UEs. However, it is noted that the illustrated concepts could also be applied to other radio technologies and/or or other communication scenarios, e.g., beamformed transmission in the UL direction and/or usage of a WLAN (Wireless Local Area Network) technology.

In the illustrated examples, the multi-antenna transmission involves applying a precoding matrix to control beamforming characteristics. An iterative optimization algorithm is utilized for calculating the precoding matrix from a channel matrix. For example, the iterative optimization algorithm may be applied in an MMSE based algorithm. In order to achieve reliable and quick convergence of the iterative optimization algorithm, a step size of the iterative optimization algorithm is adapted depending on the channel matrix. A further acceleration of the algorithm may be achieved by a specific initialization of the algorithm. As a result, in some scenarios only two iterations may be sufficient to calculate the precoding matrix. Without specific initialization, four iterations may be sufficient to calculate the precoding matrix.

<FIG> illustrates exemplary wireless communication network structures. In particular, <FIG> shows multiple UEs <NUM> in a cell <NUM> of the wireless communication network. The cell <NUM> is assumed to be served by an access node <NUM>, e.g., an eNB of the LTE technology or a gNB of the NR technology. Further, <FIG> illustrates a core network (CN) <NUM> of the wireless communication network. As illustrated by double-headed arrows, the access node <NUM> may send DL transmissions to the UEs, and the UEs may send UL transmissions to the access node <NUM>. The DL transmissions and UL transmissions may be used to provide various kinds of services to the UEs, e.g., a voice service, a multimedia service, or a data service. Such services may be hosted in the wireless communication network. By way of example, <FIG> illustrates a service platform <NUM> provided in the core network <NUM>. The service platform <NUM> may for example be based on a server or a cloud computing system. Further, <FIG> illustrates a service platform <NUM> provided outside the wireless communication network. The service platform <NUM> could for example connect through the Internet or some other wide area communication network to the wireless communication network. Also the service platform <NUM> may be based on a server or a cloud computing system. The service platform <NUM> and/or the service platform <NUM> may provide one or more services to the UEs <NUM>, using data conveyed by DL transmissions and/or UL transmissions between the access node <NUM> and the respective UE <NUM>.

<FIG> schematically illustrates multi-antenna transmission between a transmitter device <NUM> and multiple receiver devices <NUM>, <NUM>, <NUM>. Assuming DL transmissions in a wireless communication network like illustrated in <FIG>, the transmitter device <NUM> may correspond to the access node <NUM>, and the receiver devices <NUM>, <NUM>, <NUM> may correspond to the UEs <NUM>. As illustrated in <FIG>, the transmitter device <NUM> is equipped with a plurality of transmitter antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. In the following explanations, the number of the transmitter antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM> is denoted by n. As further illustrated, each of the receiver devices <NUM>, <NUM>, <NUM> is equipped with a number of receiver antennas. Specifically, the receiver device <NUM> is equipped with receiver antennas <NUM>, <NUM>, the receiver device <NUM> is equipped with receiver antennas <NUM>, <NUM>, and the receiver device <NUM> is equipped with receiver antennas <NUM>, <NUM>. In the following explanations, p denotes the number of the considered receiver devices <NUM>, <NUM>, <NUM>. For simplicity, it is assumed that the number of receiver antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> is the same for each of the receiver devices <NUM>, <NUM>, <NUM>. The number of receiver antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> per receiver device <NUM>, <NUM>, <NUM> is denoted with m. It is noted that the illustrated number n of the transmitter antennas, the illustrated number p of the receiver devices, and the illustrated number m of the receiver antennas in each receiver device are merely exemplary and that other numbers of n, p, and m could be utilized as well, including the case of only one receiver antenna per receiver device, i.e., m = <NUM>.

With the above assumptions, the channel matrix ĤDL[(pm) × n] estimated for the DL transmission direction can be written as follows: <MAT>.

As can be seen, the channel matrix may be regarded as being composed of channel vectors (in the illustrated example corresponding to the rows of the channel matrix ĤDL). Each channel vector corresponds to a specific one of the multiple receiver antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and has multiple vector components, each corresponding to a different one of the transmitter antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>.

A general closed-form formula for calculation of the precoding matrix, W, for an MMSE based precoding algorithms can be written as: <MAT> where λ is a regularization parameter and R is a matrix that depends on the particular type of the utilized MMSE based precoding algorithm. For example, R can include interference and/or channel estimation error covariance matrices. The precoding matrix may be regarded as being composed of one ore more weight vectors each being associated with a corresponding one of the receiver antennas. In the illustrated example, the weight vectors correspond to columns of the precoding matrix W.

For the sake of simplicity, the illustrated example assumes a single-site scenario, with R including the channel estimation covariance matrix and intra-cell interference. As can be seen in relation (<NUM>), finding the precoding matrix W may require a matrix inversion of size n × n. This means that if n is large, which is a commonly assumed scenario in the NR technology with up to <NUM> antennas at the gNB, the computational complexity of the matrix inversion may be significant.

In the illustrated concepts, the computational complexity may be relaxed by utilizing an iterative optimization algorithm. With HDL = ĤDL + H̃DL denoting a true DL channel matrix, where ĤDL denotes the estimated channel matrix and H̃DL denotes the channel estimation error, a cost function which is to be minimized with the MMSE based precoding algorithm may be written as <MAT> where <IMG> denotes an expectation with respect to channel estimation noise, I is an identity matrix of appropriate size, and ∥. ∥F represents the Frobenius norm of a matrix. This yields: <MAT>.

From relation (<NUM>), the above closed-form solution may be obtained by setting ∇FW = <NUM>, where ∇FW denotes the gradient of F with respect to W.

Relation (<NUM>) can be solved by applying the iterative optimization algorithm. For example, a gradient descent algorithm can be applied to solve: <MAT> in which W(j) denotes the j-th column of W and ∥. ∥ represents the ℓ<NUM> norm of a vector. More specifically, with Wi denoting the solution at the i-th iteration and W<NUM> representing the initial state of W, then updating of W can be accomplished according to: <MAT> where µ denotes a step size of the iterative optimization algorithm. As can be seen from (<NUM>), the gradient ∇FW, defined by <MAT> is calculated at W = Wi-<NUM> and then used in a projection step to calculate the solution Wi at iteration i. As can be seen, since ( ĤDL ĤDL + R) may be calculated once and can then be used for all the iterations, the gradient ∇FW can be calculated on the basis of a single matrix multiplication per iteration, i.e., a requirement of multiple matrix multiplications per iteration can be avoided. Accordingly, the MMSE based precoding algorithm can be implemented with low computational complexity.

In the illustrated concepts, the step size µ of the iterative optimization algorithm is set depending on the estimated channel matrix ĤDL. This is accomplished by using one or more step sizes depending on the ℓ<NUM> norm of at least one of the above-mentioned channel vectors, i.e., the rows of ĤDL. Here, one possibility is to select one of the channel vectors and, depending on the ℓ<NUM> norm of this channel vector, set a single step size µ which is then used for updating all columns of Wi. For example, the single step size µ could be set depending on channel vector with the largest value of the ℓ<NUM> norm. However, it may be preferable to set the step size individually for each column of Wi: If µ(j) denotes the step size for updating <MAT>, i.e., the j-th column of Wi, the step sizes may be set according to: <MAT> where <MAT> denotes the j-th row of <MAT>, i.e., the channel vector for the j-th receiver antenna <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. Updating of W can then be performed per columns according to: <MAT>.

Since µ(j) does not change with i, the update process can be implemented with low complexity.

In the above iterative process of calculating the precoding matrix W, the speed of convergence is a function of the initial state W<NUM> used as a starting point of the iterative process. Accordingly, the convergence can be further accelerated by appropriate selection of the initial state W<NUM>.

According to one example, the initial state W<NUM> can be selected based on a result of calculating the precoding matrix W for another frequency. Here, it can be utilized that in many practical implementations the calculation of the precoding matrix is accomplished for multiple frequencies, typically with a frequency granularity of one physical resource block (PRB) or even finer. However, a coarser frequency granularity of a few PRB or more is possible as well. This may result in a strong correlation between the precoding matrices W calculated for adjacent PRBs or PRBs otherwise close to each other. In other words, the difference between the precoding matrices W for adjacent PRBs is typically rather small because the coherence bandwidth of the radio channel is typically larger than a PRB. Accordingly, the precoding matrix W calculated for one frequency may constitute a good choice to be used as the initial state W<NUM> when calculating the precoding matrix for a another, e.g., neighboring, frequency. As a general rule, the difference between the two frequencies should be as small as possible. For example, when calculating the precoding matrix W with a certain frequency granularity, e.g., of one PRB or finer, the two frequencies could correspond to adjacent frequencies defined according to this frequency granularity. However, it is noted that in some scenarios the two frequencies could also be non-adjacent. For example, when calculating the precoding matrix W for a given frequency, the initial state W<NUM> for the iterative process could be set according to the precoding matrix W<NUM> as already calculated for another frequency which is within a certain frequency window around the given frequency. The size of the frequency window may be set according to an estimate of the coherence bandwidth of the radio channel. Further, the initial state W<NUM> could also be set according to the result of calculating the precoding matrix W at an earlier time. The process of selecting the initial state W<NUM> depending on existing results of calculating the precoding matrix W may also be referred to as "warm initialization". The warm initialization may help to significantly reduce the required number of iterations, e.g., to a number of four or less iterations, typically to only two iterations. Further, the warm initialization may also help to reduce the risk of the iterative process getting trapped in a local minimum.

The warm initialization may for example be used when calculating the precoding matrix W in a serial manner for multiple frequencies: After calculating the precoding matrix Wf<NUM> for a first frequency f<NUM>, the result obtained for the first frequency f<NUM> is utilized as the initial state W<NUM> when calculating the precoding matrix Wf<NUM> for the next frequency f<NUM>, e.g., an adjacent frequency according to a given frequency granularity, and so on. Accordingly, starting with a first frequency, the precoding matrices W can be calculated for other frequencies, using the previously calculated precoding matrix W as the initial state W<NUM> when calculating the precoding matrix W for the next frequency. This process could also be parallelized, e.g., when using multi-core or multi-thread computational processes: If a number of K parallel computational processes is available, each of these parallel computational processes could start with a different first frequency and then continue to calculate the precoding matrices W for other frequencies, using the previously calculated precoding matrix W as the initial state W<NUM> when calculating the precoding matrix W for the next frequency. If no warm initialization is used, W<NUM> = <NUM> may be used as the initial state in the iterative process.

Various stopping criteria may be used in the iterative process. Since due to the above-mentioned setting of the step size the convergence of the iterative process is very fast, and the speed of convergence can be even further increased by using the above-described warm initialization, reaching of a preconfigured number of iterations may be used as a stopping criterion. For example, if the warm initialization is used, the iterative process may be stopped after the second iteration. If the warm initialization is not used, the iterative process may be stopped after the fourth iteration. No further criteria, such as checking a relative difference between two consecutive iterations, need to be checked, thereby enabling a low complexity implementation of stopping the iterative process. However, it is noted that such criteria could be utilized as well. For example, the iterative process could be stopped if the relative difference between two consecutive iterations falls below a threshold, e.g., of <NUM>-<NUM>.

<FIG> schematically illustrates a precoding controller <NUM> which may be used to implement the illustrated concepts. The precoding controller <NUM> could be implemented by the transmitter device <NUM> and provide the precoding matrices utilized by the transmitter device <NUM> when performing the multi-antenna transmissions. However, it is noted that at least a part of the precoding controller <NUM> could also be implemented separately from the transmitter device <NUM>, e.g., by a standalone node and/or by one or more of the receiver devices <NUM>, <NUM>, <NUM>.

As illustrated, the precoding controller <NUM> includes a precoding matrix calculator <NUM>. The precoding matrix calculator <NUM> is configured to calculate the precoding matrix using the MMSE based precoding algorithm together with an iterative optimization algorithm as explained above. As further illustrated, the precoding controller <NUM> includes a channel estimator <NUM>. The channel estimator <NUM> may be configured to provide the above-mentioned estimate of the channel matrix. For example, the channel estimator could apply channel reciprocity and estimate the channel matrix from signals, e.g., sounding or reference signals, transmitted from the receiver devices <NUM>, <NUM>, <NUM> to the transmitter device <NUM>. This option may be particularly useful when using a TDD mode of the transmissions between the transmitter device <NUM> and the receiver devices <NUM>, <NUM>, <NUM>. Alternatively or in addition, the channel estimator <NUM> could estimate the channel matrix from signals, e.g., sounding or reference signals, transmitted from the transmitter device <NUM> to the receiver devices <NUM>, <NUM>, <NUM>. The estimation process could then further involve reporting of measurements from the receiver devices <NUM>, <NUM>, <NUM> to the transmitter device <NUM>.

As further illustrated, the precoding controller <NUM> includes a step size controller <NUM>. As input, the step size controller <NUM> receives the estimated channel matrix from the channel estimator <NUM> and uses the channel vectors forming the channel matrix as a basis to set the above-mentioned step size µ or µ(j) utilized by the precoding matrix calculator <NUM>, e.g., by determining the step sizes according to (<NUM>). The step size controller <NUM> provides the determined setting of the step size(s) to the precoding matrix calculator <NUM>, which controls the iterative optimization algorithm accordingly.

As further illustrated, the precoding controller <NUM> includes an initialization controller <NUM>. The initialization controller <NUM> is responsible for initializing the iterative optimization algorithm applied by the precoding matrix calculator <NUM>. As explained above, this may involve a warm initialization based on an initial state which depending on existing results of calculating the precoding matrix, e.g., for another frequency.

<FIG> and <FIG> show results of exemplary numerical simulations which demonstrate effectiveness and performance of the above-described precoding matrix calculation algorithm. The simulations assume utilization of the NR technology for DL transmissions from the gNB to the UE, with eight antennas at the gNB and two antennas at the UE. The particular MMSE based precoding algorithm which was considered in the simulations minimizes the cost function as given in (<NUM>). In <FIG>, a metric referred to as precoding SNR loss is used to compare the performance of the precoding matrices from the illustrated concepts assuming a channel matrix dependent setting of the step size µ and stopping the iterative process after two iterations, denoted by "A", to precoding matrices from conventional iterative implementations of the same MMSE based algorithm, denoted by "B" and "C". The conventional iterative implementation assumed for plot "B" uses a fixed step size of µ = <NUM> and a stopping criterion involving stopping the iterative process when the relative difference of two consecutive iterations is below <NUM>-<NUM>. The conventional iterative implementation assumed for plot "C" uses a fixed step size of µ = <NUM> and a stopping criterion involving stopping the iterative process when the relative difference of two consecutive iterations is below <NUM>-<NUM>. The precoding SNR loss denotes the loss that a practical precoder would have as compared to a precoder that knows the true channel as a function of UL SNR. In <FIG>, plot "A" is almost coincident with plot "C". <FIG> shows the average number of iterations that the MMSE based precoding algorithm needs to converge.

As can be seen, the precoding matrices obtained by the inventive concepts offer a better performance than the precoding matrices obtained by the conventional iterative implementation of plot "B" and substantially the same performance as the conventional iterative implementation of plot "C", however with a significantly lower number of iterations. Further, it was found that the precoding matrices obtained by the inventive concepts offer substantially the same performance as precoding matrices obtained by non-iterative calculation using a matrix inversion, however with significantly lower computational complexity. Further, it can be seen that the conventional iterative processes require a lot of iterations to converge, <NUM> to <NUM> iterations at medium and high SNR in the case of plot "B", and even <NUM> to <NUM> iterations in the case of plot "C".

<FIG> shows a flowchart for illustrating a method of controlling multi-antenna transmission, which may be utilized for implementing the illustrated concepts. The method of <FIG> may be used for implementing the illustrated concepts in a device for controlling multi-antenna transmission, e.g., corresponding to any of the above-mentioned entities <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>.

If a processor-based implementation of the device is used, at least some of the steps of the method of <FIG> may be performed and/or controlled by one or more processors of the device. Such device may also include a memory storing program code for implementing at least some of the below described functionalities or steps of the method of <FIG>.

At step <NUM>, a channel matrix is determined. The channel matrix represents characteristics of a multi-path channel between a transmitter device, such as the above-mentioned access node <NUM> or the above-mentioned transmitter device <NUM>, and at least one receiver device, such as the above-mentioned UEs <NUM> or receiver devices <NUM>, <NUM>, <NUM>. Accordingly, the transmitter device may be an access node of a wireless communication network and the at least one receiver device may be a wireless communication device connected to the wireless communication network.

The transmitter device is equipped with multiple transmitter antennas, such as the above-mentioned transmitter antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. The at least one receiver device is equipped with one or more receiver antennas, such as the above-mentioned antennas <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>. The channel matrix is organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas. As explained in the above example, the channel vectors may correspond to rows of the channel matrix. However, depending on the way of defining the channel matrix, the channel vectors could also correspond to columns of the channel matrix.

The channel matrix may be determined based on measurements on signals transmitted from the receiver device to the transmitter device, e.g., based on assuming channel reciprocity. Alternatively or in addition, the channel matrix may be determined based on measurements on signals transmitted from the transmitter device to the at least one receiver device. The latter option may additionally involve reporting of measurements from the at least one receiver device to the transmitter device.

At step <NUM>, one or more step sizes of an iterative optimization algorithm are set depending on a vector norm of at least one of the channel vectors. The iterative optimization algorithm has the purpose of determining a precoding matrix from the channel matrix. The precoding matrix is composed of one or more weight vectors each being associated with a corresponding one of the one or more receiver antennas. The weight vectors may correspond to columns of the precoding matrix. However, depending on the way of defining the precoding matrix, the weight vectors could also correspond to rows of the precoding matrix.

In some scenarios, if there are multiple receiver antennas and corresponding channel vectors and associated weight vectors, multiple step sizes of the iterative optimization algorithm may be set individually for each of the weight vectors, depending on the vector norm of the associated channel vector.

The at least one step size can be set to be inversely proportional to the vector norm of the at least one channel vector. The vector norm may correspond to the ℓ<NUM> norm, i.e., Euclidian norm, of the at least one channel vector. However, it is noted that another type of vector norm could be used as well.

At step <NUM>, the iterative optimization algorithm may be initialized by setting an initial state of the iterative optimization algorithm. This may involve selecting the initial state depending on existing results of calculating the precoding matrix, e.g., the precoding matrix as calculated for another frequency.

At step <NUM>, the iterative optimization algorithm is applied with the step size(s) of step <NUM> to determine the precoding matrix from the channel matrix. Step <NUM> may involve determining the precoding matrix by an MMSE based algorithm.

In some scenarios, step <NUM> may involve determining a precoding matrix for each of multiple different frequencies. In this case, for at least one of the frequencies in a first iteration of the iterative optimization algorithm an initial state of the precoding matrix may be based on a precoding matrix as previously determined for another frequency, e.g., an adjacent frequency or frequency within a certain frequency window. This initial state may be set at step <NUM>.

In some scenarios, the iterative optimization algorithm may be stopped in response to reaching a preconfigured number of iterations. This preconfigured number of iterations may be four or less, in particular two. In some scenarios, the preconfigured number may depend on the way of initializing the iterative optimization algorithm. For example, the preconfigured number could be lower when using a warm initialization based on a previously determined precoding matrix, e.g., for another frequency.

In some scenarios, each iteration of the iterative optimization algorithm may involve calculating an adjustment matrix based on the at least one step size, the present state of the precoding matrix, and the channel matrix, and updating the present state of the precoding matrix by subtracting the adjustment matrix, e.g., by updating the precoding matrix according to relation (<NUM>) or (<NUM>). As explained above, in each iteration of the iterative optimization algorithm calculating the adjustment matrix may involve only a single matrix multiplication, i.e., the number of matrix multiplications required in each iteration is no more than one.

As illustrated, steps <NUM>, <NUM>, <NUM>, and <NUM> may be repeated, e.g., to calculate the precoding matrix for multiple different frequencies.

At step <NUM>, multi-antenna transmission by the transmitter device is controlled based on the determined precoding matrix. This may involve providing the precoding matrix to the transmitter device or using the precoding matrix to generate other control signals for controlling multi-antenna transmission by the transmitter device.

<FIG> shows a block diagram for illustrating functionalities of a device <NUM> which operates according to the method of <FIG>. The device <NUM> may for example correspond to be part of any of the above-mentioned entities <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>. As illustrated, the device <NUM> may be provided with a module <NUM> configured to determine a channel matrix, such as explained in connection with step <NUM>. Further, the device <NUM> may be provided with a module <NUM> configured to determine at least one step size of an iterative optimization algorithm, such as explained in connection with step <NUM>. Further, the device <NUM> may be provided with a module <NUM> configured to initialize the iterative optimization algorithm, such as explained in connection with step <NUM>. Further, the device <NUM> may be provided with a module <NUM> configured to apply the iterative optimization algorithm to determine a precoding matrix, such as explained in connection with step <NUM>. Further, the device <NUM> may be provided with a module <NUM> configured to control multi-antenna transmission, such as explained in connection with step <NUM>.

It is noted that the device <NUM> may include further modules for implementing other functionalities, such as known functionalities of an access node or other type of transmitter device or receiver device. Further, it is noted that the modules of the device <NUM> do not necessarily represent a hardware structure of the device <NUM>, but may also correspond to functional elements, e.g., implemented by hardware, software, or a combination thereof.

<FIG> illustrates a processor-based implementation of a device <NUM> which may be used for implementing the above-described concepts. For example, the structures as illustrated in <FIG> may be used for implementing the concepts in any of the above-mentioned entities <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>.

As illustrated, the device <NUM> includes one or more interfaces <NUM>. In some scenarios, the interfaces <NUM> may include a radio interface for performing the multi-antenna transmissions. Such radio interface could be based on the LTE technology or the NR technology.

Further, the device <NUM> may include one or more processors <NUM> coupled to the interface(s) <NUM> and a memory <NUM> coupled to the processor(s) <NUM>. By way of example, the interface(s) <NUM>, the processor(s) <NUM>, and the memory <NUM> could be coupled by one or more internal bus systems of the device <NUM>. The memory <NUM> may include a Read-Only-Memory (ROM), e.g., a flash ROM, a Random Access Memory (RAM), e.g., a Dynamic RAM (DRAM) or Static RAM (SRAM), a mass storage, e.g., a hard disk or solid state disk, or the like. As illustrated, the memory <NUM> may include software <NUM> and/or firmware <NUM>. The memory <NUM> may include suitably configured program code to be executed by the processor(s) <NUM> so as to implement the above-described functionalities of a device for controlling multi-antenna transmission, such as explained in connection with <FIG> and <FIG>.

It is to be understood that the structures as illustrated in <FIG> are merely schematic and that the <NUM> may actually include further components which, for the sake of clarity, have not been illustrated, e.g., further interfaces or processors. Also, it is to be understood that the memory <NUM> may include further program code for implementing known functionalities of a transmitter device or receiver device, e.g., known functionalities of an access node or of a UE. According to some embodiments, also a computer program may be provided for implementing functionalities of the device <NUM>, e.g., in the form of a physical medium storing the program code and/or other data to be stored in the memory <NUM> or by making the program code available for download or by streaming.

As can be seen, the concepts as described above may be used for efficiently controlling multi-antenna transmission. Specifically, computational complexity of an MMSE based precoding algorithm may be reduced by replacing the matrix inversion in the calculations with one matrix multiplications per iteration. In many cases, two matrix multiplications may be sufficient to calculate the precoding matrix.

Claim 1:
A method of controlling multi-antenna transmission, the method comprising:
determining a channel matrix representing characteristics of a multi-path channel between a transmitter device (<NUM>; <NUM>) equipped with multiple transmitter antennas (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) and at least one receiver device (<NUM>; <NUM>, <NUM>, <NUM>) equipped with one or more receiver antennas (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>), the channel matrix being organized in one or more channel vectors each associated with a corresponding one of the one or more receiver antennas (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>);
applying an iterative optimization algorithm to determine a precoding matrix from the channel matrix; and
controlling multi-antenna transmission by the transmitter device (<NUM>; <NUM>) based on the determined precoding matrix;
the method characterised that it further comprises
setting at least one step size of the iterative optimization algorithm depending on a vector norm of at least one of the one or more channel vectors.