Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TECHNIQUES FOR PRECODING BEAMFORMING DATA BASED ON EIGENVALUES APPROXIMATION
Document Type and Number:
WIPO Patent Application WO/2018/082772
Kind Code:
A1
Abstract:
The disclosure relates to a wireless communication device (300), comprising: a processor (301), configured: to precode beamforming data for transmission over a multiple input multiple output (MIMO) channel, the precoding based on an estimated channel matrix (C), and to adjust the precoding based on decomposition, in particular singular value decomposition of the channel matrix (C), comprising: transforming the channel matrix (C) to a bi-diagonal matrix (R); and zeroing off-diagonal elements of the bi-diagonal matrix (R), wherein the zeroing comprises deriving a transform matrix (T) from the bi-diagonal matrix (R) and approximating eigenvalues of the transform matrix (T) by elements on the main diagonal of the transform matrix (T).

Inventors:
TSODIK GENADIY (DE)
SHILO SHIMON (DE)
EZRI DORON (DE)
BEN-ARIE YARON (DE)
REDLICH ODED (DE)
Application Number:
PCT/EP2016/076505
Publication Date:
May 11, 2018
Filing Date:
November 03, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
TSODIK GENADIY (DE)
International Classes:
H04B7/06; H04B7/0413; H04L25/00
Other References:
SENNING C ET AL: "Hardware-efficient steering matrix computation architecture for MIMO communication systems", CIRCUITS AND SYSTEMS, 2008. ISCAS 2008. IEEE INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 18 May 2008 (2008-05-18), pages 304 - 307, XP031391970, ISBN: 978-1-4244-1683-7
GENE H: GOLUB ET AL: "Computing SVD", MATRIX COMPUTATIONS, 1 January 1996 (1996-01-01), BALTIMORE, USA, pages 448 - 460, XP055359445, ISBN: 978-0-8018-5413-2, Retrieved from the Internet [retrieved on 20170328]
Attorney, Agent or Firm:
KREUZ, Georg (DE)
Download PDF:
Claims:
CLAIMS:

1 . A wireless communication device (300), comprising: a processor (301 ), configured: to precode beamforming data for transmission over a multiple input multiple output

(MIMO) channel, the precoding based on an estimated channel matrix (C), and to adjust the precoding based on decomposition, in particular singular value decomposition of the channel matrix (C), comprising: transforming the channel matrix (C) to a bi-diagonal matrix (R); and zeroing off-diagonal elements of the bi-diagonal matrix (R), wherein the zeroing comprises deriving a transform matrix (T) from the bi- diagonal matrix (R) and approximating eigenvalues of the transform matrix (T) by elements on the main diagonal of the transform matrix (T).

2. The wireless communication device (300) of claim 1 , wherein the processor (301 ) is configured to derive the transform matrix (T) based on a matrix product of the transposed bi-diagonal matrix (R) and the bi-diagonal matrix (R).

3. The wireless communication device (300) of claim 1 or 2, wherein the processor (301 ) is configured to approximate the eigenvalues by elements on the main diagonal of a sub-matrix of the transform matrix (T).

4. The wireless communication device (300) of claim 3, wherein the processor (301 ) is configured to determine the sub-matrix as a 2x2 submatrix of the transform matrix (T), in particular formed by the last and second to last rows and columns of the transform matrix (T). 5. The wireless communication device (300) of claim one of the preceding claims, wherein the processor (301 ) is configured to zero the off-diagonal elements of the bi-diagonal matrix (R) in an iterative manner and to apply the approximation of the eigenvalues in at least one iteration.

6. The wireless communication device (300) of claim 5, wherein the processor (301 ) is configured to apply a Givens rotation in each iteration.

7. The wireless communication device (300) of claim 6, wherein the processor (301 ) is configured to apply the Givens rotation in a first iteration as a Wilkinson shift operation. 8. The wireless communication device (300) of claim 7, wherein the Wilkinson shift operation comprises: denoting the bi-diagonal matrix as R ; calculating T = RTR ; obtaining χ12 = eig{T{N_l:NtN_l:N)} which are the eigenvalues of the matrix T , and choosing y = argmin | yl 2 - TN N | ; computing vl = Ry - y , v2 = RuRn ; and

performing Givens rotation according to vector

9. The wireless communication device (300) of one of claims 5 to 8, wherein the processor (301 ) is configured to zero the off-diagonal elements of the bi-diagonal matrix (R) based on a Golub-Kahan iterative algorithm.

10. The wireless communication device (300) of one of claims 5 to 9, wherein the processor (301 ) is configured to apply the approximation of the eigenvalues in each iteration.

1 1 . The wireless communication device (300) of one of claims 5 to 9, wherein the processor (301 ) is configured to calculate the eigenvalues according to a deterministic scheme, in particular by solving a quadratic equation, in a first number of iterations; and to apply the approximation of the eigenvalues in a second number of iterations.

12. The wireless communication device (300) of claim 1 1 , wherein the first number and the second number of iterations are predefined.

13. The wireless communication device (300) of claim 1 1 , wherein the first number includes iterations in which a threshold criterion holds and the second number includes the remaining iterations.

14. The wireless communication device (300) of claim 13, wherein the threshold criterion is based on a ratio between an off-diagonal element and a main-diagonal element of the transform matrix (T).

15. The wireless communication device (300) of claim 14, wherein the processor (301 ) is configured to apply the approximation of the eigenvalues when the off-diagonal element is a fraction of a smallest main-diagonal element.

16. A precoding method (800), comprising: precoding (801 ) beamforming data for transmission over a multiple input multiple output (MIMO) channel, the precoding based on an estimated channel matrix (C); and adjusting (802) the precoding (801 ) based on decomposition, in particular singular value decomposition of the channel matrix (C), comprising: transforming the channel matrix (C) to a bi-diagonal matrix (R); and zeroing off-diagonal elements of the bi-diagonal matrix (R), wherein the zeroing comprises deriving a transform matrix (T) from the bi-diagonal matrix (R) and approximating eigenvalues of the transform matrix (T) by elements on the main diagonal of the transform matrix (T).

Description:
Techniques for precoding beamforming data based on eigenvalues approximation

TECHNICAL FIELD

The present disclosure relates to a wireless communication device and a precoding method for precoding beamforming data based on channel matrix decomposition, in particular singular value decomposition of the channel matrix based on eigenvalues approximation. The present disclosure particularly relates to wireless communication devices according to the 802.1 1 ax WiFi standard or according to the 3GPP LTE (Long Term Evolution) standard.

BACKGROUND Singular Value Decomposition (SVD) is widely used in wireless communication. A very popular application of SVD is the calculation of the optimal precoder for the case of beamforming, based on the estimated channel matrix. This application is adopted by many wireless communication standards including the 802.1 1 family of standards. Recent versions of 802.1 1 , including 802.1 1 ax, support high-order MIMO schemes, up to 8x8, with a very large number of frequency tones. This requires the development of up to 8x8 SVD with reasonable complexity in terms of latency and required chip area.

Most of the efficient SVD solutions involve two main steps: bi-diagonalization and zeroing of the non-diagonal elements. The first step 102 transforms a general matrix 101 (with complex entries, marked in Figure 1 as 'C') to a real-valued bi-diagonal matrix 103 as shown in Figure 1 (with real entries on the main diagonal and the off-diagonal above it, marked in Figure 1 as 'R').

The second step 104 (shown in Figure 2) minimizes the off-diagonal elements of the real- valued bi-diagonal matrix 103 in an iterative manner, where at each iteration 104 the elements of resulting matrix 105 become smaller and the same algorithm is re-run until all the elements are zero or smaller than some pre-defined threshold. A very popular technique is based on the basic operation that is performed at every step of SVD algorithm. This operation is called Givens Rotation, where the 2x1 vector is transformed to on real value and zero entry.

The second step 104 can be implemented by several techniques, where the most common is the Golub-Kahan method. The main idea of this method is to run a number of Givens rotations that result in minimizing a specific off-diagonal element. The Golub- Kahan algorithm starts from a very special Givens rotation that is followed by regular Givens rotations.

The first (a special) Givens rotation is called Wilkinson shift and it is performed by the ollowing steps:

Denote the bi-diagonal matrix R ;

Calculate T = R T R ;

Obtain χ 12 = eig{T {N _ l:NtN _ l:N) } , which are the eigenvalues of the matrix T ; and choose γ = argmin | y 2 - T N N | ; Compute v 1 = R^ - γ , v 2 = R l 2 R n ;

Perform Givens rotation according to vector

The first step of the Wilkinson shift is calculation of eigenvalues of a 2x2 matrix. This step requires a solution of quadratic equations. This is a very simple mathematical operation which is not so trivial in hardware implementation. In order to solve a quadratic equation one needs to perform a number of products, compute a square root and (most often) a division. All of the above have several disadvantages in hardware: In general those are big blocks which consume a lot of hardware. Specifically in SVD those blocks are different than the Givens rotation. If no such blocks are required then the SVD can be implemented by a single hardware block, which is much simpler. This step is performed multiple times, thus the inefficiency of this step is crucial for overall performance. SUMMARY It is an object of the invention to improve beamforming in MIMO systems, in particular to provide an efficient hardware design for wireless communication devices using singular value decomposition. This object is achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures.

The idea presented in this disclosure provides an approximation for a specific step of SVD calculation that implies more efficient hardware implementation. The main idea is to use the special form of the bi-diagonal matrix to replace the explicit calculation of the eigenvalue by an approximation. The highlights of the disclosed invention are the following: The disclosure presents using the approximate eigenvalues instead of explicit calculation. The approximation can be applied in three different ways: Starting from the first iteration of Golub-Kahan; Starting from the K-th iteration; or depending on a predefined threshold.

The methods and devices described herein may be implemented in wireless

communication networks in particular communication networks based on wireless communication standards including the 802.1 1 family of standards, in particular recent versions of 802.1 1 , including 802.1 1 ax. The methods and devices described below may further be implemented in a station (STA) or a mobile device.

The methods and devices described herein may be implemented in wireless

communication networks, in particular communication networks based on mobile communication standards such as LTE, in particular LTE-A and/or OFDM, as used in 4G and 5G networks, for example. The methods and devices described below may further be implemented in a mobile device (or mobile station or User Equipment (UE)). The described devices may include integrated circuits and/or passives and may be manufactured according to various technologies. For example, the circuits may be designed as logic integrated circuits, analog integrated circuits, mixed signal integrated circuits, optical circuits, memory circuits and/or integrated passives.

The devices described herein may be machine type communication devices. Machine Type Communication (MTC or M2M) enables machines to communicate directly with one another, e.g. according to the requirements of the Internet of Things (loT). Machine to machine (M2M) refers to direct communication between devices using any communications channel, including wired and wireless. Machine to machine

communication can include industrial instrumentation, enabling a sensor or meter to communicate the data it records (such as temperature, inventory level, etc.) to application software that can use it (for example, adjusting an industrial process based on

temperature).

The devices described herein may be configured to transmit and/or receive radio signals. Radio signals may be or may include radio frequency signals radiated by a radio transmitting device (or radio transmitter or sender) with a radio carrier frequency lying in a range of about 3 kHz to 300 GHz. The frequency range may correspond to frequencies of alternating current electrical signals used to produce and detect radio waves.

The devices and methods described hereinafter may be applied in MIMO systems.

Multiple-input multiple-output (MIMO) wireless communication systems employ multiple antennas at the transmitter and at the receiver to increase system capacity and to achieve better quality of service. In spatial multiplexing mode, MIMO systems may reach higher peak data rates without increasing the bandwidth of the system by transmitting multiple data streams in parallel in the same frequency band. Devices and methods described hereinafter may perform precoding in MIMO systems to generate precoded data streams. Precoding may be applied in both directions, upstream and downstream.

The devices and methods described herein may be applied in OFDM and OFDMA systems. OFDM and OFDMA are schemes for encoding digital data on multiple carrier frequencies. A large number of closely spaced orthogonal sub-carrier signals may be used to carry data. Due to the orthogonality of the sub-carriers crosstalk between sub- carriers may be suppressed.

In order to describe the invention in detail, the following terms, abbreviations and notations will be used:

SVD: Singular Value Decomposition

LTE: Long Term Evolution

MIMO: Multiple Input Multiple Output

STA: Station, also referred to as client device AP: Access Point, also referred to as access point device

loT: Internet of Things

OFDM: Orthogonal Frequency Division Multiplexing

OFDMA: Orthogonal Frequency Division Multiple Access

According to a first aspect, the invention relates to a wireless communication device, comprising: a processor, configured: to precode beamforming data for transmission over a multiple input multiple output (MIMO) channel, the precoding based on an estimated channel matrix (C), and to adjust the precoding based on decomposition, in particular singular value decomposition of the channel matrix (C), comprising: transforming the channel matrix (C) to a bi-diagonal matrix (R); and zeroing off-diagonal elements of the bi- diagonal matrix (R), wherein the zeroing comprises deriving a transform matrix (T) from the bi-diagonal matrix (R) and approximating eigenvalues of the transform matrix (T) by elements on the main diagonal of the transform matrix (T).

A wireless communication device that applies such eigenvalues approximation can be realized with reduced implementation complexity. Applying approximation allows avoiding complex hardware blocks, like square root computations, and reducing a number of multipliers. Applying Eigenvalues approximation simplifies implementation due to using SVD algorithm with a single Givens rotation function.

In a first possible implementation form of the wireless communication device according to the first aspect, the processor is configured to derive the transform matrix (T) based on a matrix product of the transposed bi-diagonal matrix (R) and the bi-diagonal matrix (R).

This provides the advantage that the matrix product can be efficiently computed by using standard multiply-add operations.

In a second possible implementation form of the wireless communication device according to the first aspect as such or according to the first implementation form of the first aspect, the processor is configured to approximate the eigenvalues by elements on the main diagonal of a sub-matrix of the transform matrix (T).

Approximating the eigenvalues by processing a sub-matrix reduces the dimension and thus reduces complexity of the computation. In a third possible implementation form of the wireless communication device according to the second implementation form of the first aspect, the processor is configured to determine the sub-matrix as a 2x2 submatrix of the transform matrix (T), in particular formed by the last and second to last rows and columns of the transform matrix (T).

Approximating the eigenvalues by processing a 2x2 sub-matrix reduces the computational complexity to a processing four elements of the submatrix. In a fourth possible implementation form of the wireless communication device according to the first aspect as such or according to any of the preceding implementation forms of the first aspect, the processor is configured to zero the off-diagonal elements of the bi- diagonal matrix (R) in an iterative manner and to apply the approximation of the eigenvalues in at least one iteration.

Using an iterative processing allows to realize a trade-off between accuracy (using more iterations) and complexity (using less iterations).

In a fifth possible implementation form of the wireless communication device according to the fourth implementation form of the first aspect, the processor is configured to apply a Givens rotation in each iteration.

The Givens rotation is a popular technique that can be easily implemented by using standard procedures.

In a sixth possible implementation form of the wireless communication device according to the fifth implementation form of the first aspect, the processor is configured to apply the Givens rotation in a first iteration as a Wilkinson shift operation. The Wilkinson shift operation is a very simple mathematical operation than can be easily implemented in hardware.

In a seventh possible implementation form of the wireless communication device according to the sixth implementation form of the first aspect, the Wilkinson shift operation comprises: denoting the bi-diagonal matrix as R ; calculating T = R T R ; obtaining = e ig{T(N-i:N,N-i:N) } which are the eigenvalues of the matrix T , and choosing γ = argmin \ γ 1 2 ~ Τ Ν Ν I ; computing v 1 = - γ , v 2 = R 12 R n ', and performing Givens

V l

rotation according to vector

These operations can be performed in a 2x2 dimension, thereby reducing computational complexity.

In an eighth possible implementation form of the wireless communication device according to any of the fourth to the seventh implementation forms of the first aspect, the processor is configured to zero the off-diagonal elements of the bi-diagonal matrix (R) based on a Golub-Kahan iterative algorithm.

The Golub-Kahan iterative algorithm can be easily implemented in hardware.

In a ninth possible implementation form of the wireless communication device according to any of the fourth to the eighth implementation forms of the first aspect, the processor is configured to apply the approximation of the eigenvalues in each iteration.

This is the simplest method, all the iterations can be identical in order to simplify the implementation.

In a tenth possible implementation form of the wireless communication device according to any of the fourth to the eighth implementation forms of the first aspect, the processor is configured to calculate the eigenvalues according to a deterministic scheme, in particular by solving a quadratic equation, in a first number of iterations; and to apply the approximation of the eigenvalues in a second number of iterations.

This provides a higher degree of flexibility. The off-diagonal elements are reduced during each iteration, starting from some iteration, the eigenvalue approximation can be applied without losing accuracy, e.g. as shown below with respect to Fig. 7. In an eleventh possible implementation form of the wireless communication device according to the tenth implementation form of the first aspect, the first number and the second number of iterations are predefined. This provides the advantage that no processing is required for determining the first and second number of iterations, thereby reducing computational complexity.

In a twelfth possible implementation form of the wireless communication device according to the tenth implementation form of the first aspect, the first number includes iterations in which a threshold criterion holds and the second number includes the remaining iterations.

Using a threshold criterion allows to flexibly adjust the accuracy and complexity of the processing.

In a thirteenth possible implementation form of the wireless communication device according to the twelfth implementation form of the first aspect, the threshold criterion is based on a ratio between an off-diagonal element and a main-diagonal element of the transform matrix (T).

This threshold criterion is a one-to-one relation for the accuracy of the Eigenvalue approximation.

In a fourteenth possible implementation form of the wireless communication device according to the thirteenth implementation form of the first aspect, the processor is configured to apply the approximation of the eigenvalues when the off-diagonal element is a fraction of a smallest main-diagonal element.

Such a condition allows to adjust the implementation accuracy of the eigenvalues approximation.

According to a second aspect, the invention relates to a precoding method, comprising: precoding beamforming data for transmission over a multiple input multiple output (MIMO) channel, the precoding based on an estimated channel matrix (C); and adjusting the precoding based on decomposition, in particular singular value decomposition of the channel matrix (C), comprising: transforming the channel matrix (C) to a bi-diagonal matrix (R); and zeroing off-diagonal elements of the bi-diagonal matrix (R), wherein the zeroing comprises deriving a transform matrix (T) from the bi-diagonal matrix (R) and

approximating eigenvalues of the transform matrix (T) by elements on the main diagonal of the transform matrix (T).

A precoding method that applies such eigenvalues approximation can be realized with reduced implementation complexity. Applying approximation allows avoiding complex hardware blocks for implementing the method, like square root computations, and reducing a number of multipliers. Applying Eigenvalues approximation simplifies implementation of the method due to using SVD algorithm with a single Givens rotation function.

BRIEF DESCRIPTION OF THE DRAWINGS

Further embodiments of the invention will be described with respect to the following figures, in which:

Fig. 1 shows a schematic diagram illustrating a first step 100 of a singular value decomposition (SVD) algorithm including bi-diagonalization of a complex matrix;

Fig. 2 shows a schematic diagram illustrating a second step 200 of the SVD algorithm including zeroing the off-diagonal elements of the bi-diagonalized matrix; Fig. 3 shows a block diagram of a wireless communication device 300 according to an implementation form;

Fig. 4 shows a schematic diagram of an SVD algorithm 400 according to an

implementation form applying eigenvalue approximation from the first iteration;

Fig. 5 shows a schematic diagram of an SVD algorithm 500 according to an

implementation form applying eigenvalue approximation from K-th iteration;

Fig. 6 shows a schematic diagram of an SVD algorithm 600 according to an

implementation form applying eigenvalue approximation depending on threshold; Fig. 7 shows a performance diagram 700 of an SVD algorithm applying eigenvalue approximation according to the disclosure; and Fig. 8 shows a schematic diagram illustrating a precoding method 800 according to the disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS In the following detailed description, reference is made to the accompanying drawings, which form a part thereof, and in which is shown by way of illustration specific aspects in which the disclosure may be practiced. It is understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.

It is understood that comments made in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise. Fig. 3 shows a block diagram of a wireless communication device 300 according to an implementation form. The wireless communication device 300 includes a processor 301 for performing operations as described in the following.

The processor 301 is configured to precode beamforming data for transmission over a multiple input multiple output (MIMO) channel. The precoding is based on an estimated channel matrix C. The processor 301 is further configured to adjust the precoding based on decomposition, in particular singular value decomposition, of the channel matrix C. The decomposition includes: transforming the channel matrix C to a bi-diagonal matrix R; and zeroing off-diagonal elements of the bi-diagonal matrix R, e.g. as described above. The zeroing includes deriving a transform matrix T from the bi-diagonal matrix R and approximating eigenvalues of the transform matrix T by elements on the main diagonal of the transform matrix T.

The processor 301 may derive the transform matrix T based on a matrix product of the transposed bi-diagonal matrix R and the bi-diagonal matrix R. The processor 301 may approximate the eigenvalues by elements on the main diagonal of a sub-matrix of the transform matrix T. The processor 301 may determine the sub-matrix as a 2x2 submatrix of the transform matrix T, in particular formed by the last and second to last rows and columns of the transform matrix T. The processor 301 may zero the off-diagonal elements of the bi-diagonal matrix R in an iterative manner and may apply the approximation of the eigenvalues in one or more iterations. The processor 301 may apply a Givens rotation operation in each iteration. The processor 301 may apply the Givens rotation in a first iteration as a Wilkinson shift operation. The Wilkinson shift operation may include:

denoting the bi-diagonal matrix as R ; calculating T = R T R ; obtaining

χ 12 = eig{T (N _ l:NtN _ l:N) } which are the eigenvalues of the matrix T , and choosing γ = argmin \ γ 1 2 ~ Τ Ν Ν I ; computing v 1 = R^ - γ , v 2 = R 12 R n ', and performing Givens rotation according to vector

The processor 301 may zero the off-diagonal elements of the bi-diagonal matrix R based on a Golub-Kahan iterative algorithm. The processor 301 may apply the approximation of the eigenvalues in each iteration, e.g. as described below with respect to Fig. 4.

Alternatively, the processor 301 may calculate the eigenvalues according to a

deterministic scheme, in particular by solving a quadratic equation, in a first number of iterations; and may apply the approximation of the eigenvalues in a second number of iterations, e.g. as described below with respect to Fig. 5.

The first number and the second number of iterations may be predefined. Alternatively, the first number may include iterations in which a threshold criterion holds and the second number may include the remaining iterations, e.g. as described below with respect to Fig. 6. The threshold criterion may be based on a ratio between an off-diagonal element and a main-diagonal element of the transform matrix T. The processor 301 may apply the approximation of the eigenvalues when the off-diagonal element is a fraction of a smallest main-diagonal element. In the following, a simple implementation example for processing the SVD algorithm using eigenvalue approximation is described. Starting from a simple example of a diagonal matrix 2x2, the eigenvalues are on the main diagonal:

a 0

{a,b}

0 b

Now looking at an upper triangular 2x2 matrix (similar to a bi-diagonal matrix):

If calculating T = R * R the following results:

Ta Tc

Tc « Ta b

Tc Tb

Note that because in the original matrix R , the off diagonal entry was much smaller than the elements on the diagonal, the same holds for the resulting matrix T . Thus in this case the matrix is similar to a diagonal matrix, where the eigenvalues are known. Bearing in mind that the off-diagonal elements are very small (compared to the diagonal), one can assume the condition above holds and the eigenvalues of matrix T can be approximated by the elements on the main diagonal.

As can be seen from the formulas presented above, the main condition for the approximation to be accurate is that the off-diagonal elements are significantly smaller than the elements on the main diagonal. Those elements are minimized during each iteration of the Golub-Kahan algorithm. Thus if at the first iteration the elements are not small enough, it can be assumed that the condition will hold after additional iterations.

Following this understanding three possible applications of the main idea can be defined as described below with respect to Figures 4, 5 and 6.

Fig. 4 shows a schematic diagram of an SVD algorithm 400 according to an

implementation form applying eigenvalue approximation from the first iteration. The simplest method is to apply the approximation 405 starting from the first Golub-Kahan iteration 402. The motivation is to keep all the iterations to be identical in order to simplify the implementation. After bidiagonalization 401 that may correspond to the first step 102 described above with respect to Fig. 1 , multiple Golub-Kahan iterations 402, 403, 404 are performed, that may implement the second step 104 described above with respect to Fig. 2. The eigenvalue approximation 405 is applied in each of the Golub-Kahan iterations 402, 403, 404. Fig. 5 shows a schematic diagram of an SVD algorithm 500 according to an

implementation form applying eigenvalue approximation from K-th iteration. When applying the approximation starting from the K-th Golub-Kahan iteration 503, the off- diagonal elements are reduced during each iteration. It can be assumed that the main condition holds starting from some iteration. This iteration can be defined per

implementation. After bidiagonalization 401 that may correspond to the first step 102 described above with respect to Fig. 1 , multiple Golub-Kahan iterations 402, 503, 404 are performed, that may implement the second step 104 described above with respect to Fig. 2. In the first Golub-Kahan iterations 402 up to (but not including) the K-th Golub-Kahan iteration 503, the Eigenvalues are calculated 505 in a deterministic manner while from the K-th Golub-Kahan iteration 503 to the last Golub-Kahan iteration 404, the Eigenvalues are approximated 405.

Fig. 6 shows a schematic diagram of an SVD algorithm 600 according to an

implementation form applying eigenvalue approximation depending on threshold. The idea is to check the ratio between the off-diagonal element and the main diagonal to define when the approximation can be applied (e.g. when the off-diagonal element is 25% of the smallest element on the diagonal).

After bidiagonalization 401 that may correspond to the first step 102 described above with respect to Fig. 1 , multiple Golub-Kahan iterations 402, 603, 404 are performed, that may implement the second step 104 described above with respect to Fig. 2. From the first Golub-Kahan iteration 402 up to (but not including) the last Golub-Kahan iteration 404, the Eigenvalues are calculated in a deterministic manner 605 if the ratio between the off- diagonal element and the main diagonal Tc/Tb, Tc/Ta is greater than some threshold Thr. If the ratio is smaller than the threshold Thr, the Eigenvalues are approximated 606. In the last Golub-Kahan iteration 404, the Eigenvalues may be approximated 405 without checking the threshold Thr.

Fig. 7 shows a performance diagram 700 of an SVD algorithm applying eigenvalue approximation according to the disclosure. As can be seen from Fig. 7, the disclosed technique applying Eigenvalue approximation 702 exhibits no degradation of the performance over the theoretical solution 701 where Eigenvalues are calculated in a deterministic manner. Fig. 8 shows a schematic diagram illustrating a precoding method 800 according to the disclosure. The precoding method 800 includes precoding 801 beamforming data for transmission over a multiple input multiple output (MIMO) channel, the precoding based on an estimated channel matrix C. The precoding method 800 further includes adjusting 802 the precoding 801 based on decomposition, in particular singular value

decomposition of the channel matrix C. The decomposition includes: transforming the channel matrix C to a bi-diagonal matrix R; and zeroing off-diagonal elements of the bi- diagonal matrix R, e.g. as described by the two main steps above with respect to Figures 1 and 2. The zeroing includes: deriving a transform matrix T from the bi-diagonal matrix R and approximating eigenvalues of the transform matrix T by elements on the main diagonal of the transform matrix T, e.g. as described above with respect to Figures 3 to 6.

The present disclosure also supports a computer program product including computer executable code or computer executable instructions that, when executed, causes at least one computer to execute the performing and computing steps described herein, in particular the steps of the method 800 described above. Such a computer program product may include a readable non-transitory storage medium storing program code thereon for use by a computer. The program code may perform the performing and computing steps described herein, in particular the method 800 described above. While a particular feature or aspect of the disclosure may have been disclosed with respect to only one of several implementations, such feature or aspect may be combined with one or more other features or aspects of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "include", "have", "with", or other variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprise". Also, the terms "exemplary", "for example" and "e.g." are merely meant as an example, rather than the best or optimal. The terms "coupled" and "connected", along with derivatives may have been used. It should be understood that these terms may have been used to indicate that two elements cooperate or interact with each other regardless whether they are in direct physical or electrical contact, or they are not in direct contact with each other.

Although specific aspects have been illustrated and described herein, it will be

appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific aspects shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein. Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence. Many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the above teachings. Of course, those skilled in the art readily recognize that there are numerous applications of the invention beyond those described herein. While the present invention has been described with reference to one or more particular embodiments, those skilled in the art recognize that many changes may be made thereto without departing from the scope of the present invention. It is therefore to be understood that within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described herein.