The present invention concerns wireless communications apparatus, particularly wireless transmitters and receivers (including combined apparatus, known as transceivers), employing OFDM.
In a system employing preceding, a transmitter uses channel knowledge in order to enhance link quality. Precoding is applied to data streams, on the basis of subcarriers intended for transmission. Each subcarrier can bear one or more data streams. In particular, a subcarrier can be defined in frequency, time, by code or by any other appropriate manner of distinction.
In an OFDM system, a precoding matrix is applied to each individual subcarrier. This preceding matrix is either computed by the transmitter from channel knowledge (fed back or estimated) or is fed back to the transmitter by the receiving station. In practice, the former solution involves feedback of a substantial amount of information, while the latter implicates a large computational burden at the transmitter.
Therefore, it is desirable to reduce the amount of information passed back to the transmitter, or computed at the transmitter. One approach to this is to handle only information relating to a subset of the subcarriers, and to obtain information relating to the remaining subcarriers by interpolation.
In the case wherein information is computed by the transmitter on the basis of channel knowledge, this involves determining information relating to a subset of the subcarriers, on the basis of the channel knowledge, and then interpolating at the transmitter to determine information relating to the remainder of the subcarriers. In the other case, wherein a precoding matrix is fed back from the receiving station to the transmitter, the preceding matrix represents merely a subset of the subcarriers, while the transmitter then reconstructs information relating to other subcarriers by interpolation.
The task of interpolation in a unitary precoder can be implemented in a number of different ways. One of the most suitable ways in which this can be achieved is “geodesic interpolation on the Stiefel manifold”, which originated in robotics to produce trajectories (C. Belta, V. Kumar, “An SVD-based projection method for interpolation on SE(3)”, IEEE Transactions on Robotics and Automation, vol 18, no 3, pp 334-345, June 2002: “Belta et al.”).
This has subsequently been applied to interpolation of unitary precoders (N. Khaled, R. Heath, G. Leus, B. Mondal, F. Petre, “Interpolation-based multi-mode precoding for MIMO-OFDM systems”, EUSIPCO 2005: “Khaled et al.”).
Other techniques involve transformations to allow linear interpolation. It should be noted that linear interpolation of the unitary matrices themselves is not possible, since this will not in general produce a unitary matrix. Hence, a transformation of some sort is necessary.
Although the performance of the interpolation in Khaled et al. is considered to be good, it suffers from high computational complexity. Aspects of the invention provide a simple method with low complexity to perform the interpolation. Aspects of the invention provide such a method with equivalence to Khaled et al. but with significantly lower complexity.
An aspect of the present invention provides a wireless communications station which receives precoder information concerning a subset of employed subcarriers and which then implements an algorithm with low complexity to interpolate the unitary precoders. This can be used to interpolate between, e.g., subcarriers in an OFDM system to avoid computing the actual precoder on every subcarrier.
A first aspect of the invention comprises a method of preceding a plurality of subcarriers in preparation for MIMO transmission, the subcarriers bearing one or more data streams, the number of data streams equating to the number of transmit antennas employed in said MIMO transmission, the method comprising deriving, from respective acquired unitary precoder matrices for two of said subcarriers, interpolated precoder matrices for subcarriers intermediate said two subcarriers, and applying said acquired and interpolated precoder matrices, as the case may be, at the respective subcarriers, the step of deriving said interpolated precoder matrices comprising the steps of determining an overall rotation matrix representing a transformation between said acquired precoder matrices, determining from said overall rotation matrix a further rotation matrix representing a step transformation for interpolation steps between said two subcarriers, and recursively applying said further rotation matrix to derive said interpolated precoder matrices.
A second aspect of the invention comprises a method of precoding a plurality of subcarriers in preparation for MIMO transmission, the subcarriers bearing one or more data streams, the number of data streams being less than the number of transmit antennas employed in said MIMO transmission, the method comprising deriving, from respective acquired rectangular precoder matrices for two of said subcarriers, interpolated precoder matrices for subcarriers intermediate said two subcarriers, and applying said acquired and interpolated precoder matrices, as the case may be, at the respective subcarriers, the step of deriving said interpolated precoder matrices comprising the steps of converting said acquired matrices into square unitary matrices, determining an overall rotation matrix representing a transformation between said converted matrices, determining from said overall rotation matrix a further rotation matrix representing a step transformation for interpolation steps between said acquired subcarriers, and recursively applying said further rotation matrix to derive said interpolated precoder matrices.
According to a third aspect of the invention, there is provided a precoder for precoding a plurality of subcarriers in preparation for MIMO transmission, the subcarriers bearing one or more data streams, the number of data streams equating to the number of transmit antennas employed in said MIMO transmission, comprising interpolation means for deriving, from respective acquired unitary precoder matrices for two of said subcarriers, interpolated precoder matrices for subcarriers intermediate said two subcarriers, and precoder application means for applying said acquired and interpolated precoder matrices, as the case may be, at the respective subcarriers, wherein the interpolation means is operable to determine an overall rotation matrix representing a transformation between said acquired precoder matrices, to determine from said overall rotation matrix a further rotation matrix representing a step transformation for interpolation steps between said acquired subcarriers, and further to apply recursively said further rotation matrix to derive said interpolated precoder matrices.
According to a fourth aspect of the invention, there is provided a precoder for precoding a plurality of subcarriers in preparation for MIMO transmission, the subcarriers bearing one or more data streams, the number of data streams being less than the number of transmit antennas employed in said MIMO transmission, the precoder including interpolation means operable to derive, from respective acquired non-unitary precoder matrices for two of said subcarriers, interpolated precoder matrices for subcarriers intermediate said two subcarriers, and precoder matrix application means operable to apply said acquired and interpolated precoder matrices, as the case may be, at the respective subcarriers, and further including data conversion means operable to convert said acquired matrices into square unitary matrices, said interpolation means being operable to determine an overall rotation matrix representing a transformation between said converted matrices, then operable to determine from said overall rotation matrix a further rotation matrix representing a step transformation for interpolation steps between said acquired subcarriers, and further operable to applying recursively said further rotation matrix to derive said interpolated precoder matrices.
A MIMO transmitter may be provided incorporating the precoder so defined, and further comprising a plurality of transmit antennas, transformation means for transforming the precoded subcarriers into a plurality of time domain signals and antenna driving means for driving respective transmit antennas with said time domain signals.
It will be appreciated that the invention can be embodied by a computer apparatus configured by a computer program executed thereby, to perform any of the methods of the invention, and/or to become configured as apparatus of any aspect of the invention.
In that case, the computer program can be introduced by any practical means, such as by optical or magnetic storage media, by signal received such as through a download implemented by means of the internet, by smartcard, flash memory or other integrated circuit storage means, or by configuration using application specific hardware such as an ASIC.
A specific embodiment of the invention will now be described, by way of example only and with reference to the accompanying drawings, in which:
The precoder 22 encodes symbols on the incoming streams as a plurality of code symbols for simultaneous transmission from a transmitter antenna array 24 comprising a plurality of transmit antennas.
The encoded transmitted signals propagate through a MIMO channel 28 defined between the transmit antenna array 24 and a corresponding receive antenna array 26 of the receiver device 16. The receiver 16 is of generally conventional type, comprising a decoder 30 operable to detect and extract signals received at the antenna array 26.
The decoder 30 uses the channel perceived by the receiver to detect the spatial streams.
The receiver 14 of the specific embodiment is configured with the transmitter 12 in mind. The output of the decoder 30 comprises a plurality of signal streams, one for each transmit antenna 25, each carrying so-called soft or likelihood data on the probability of a transmitted symbol having a particular value. This data is provided to a channel de-interleaver and decoder 32 which reverses the effect of the channel encoder and interleaver 18 and develops convolutional code on the basis of the likelihood data provided by the decoder 30. This convolutional code is then presented to a channel decoding part of the channel decoder and de-interleaver 32. In this example, the channel decoding function comprises a Viterbi decoder, which is operable to decode the convolutional code.
The channel decoder and de-interleaver 32 then passes output data, which may be soft, likelihood information, or hard information, for further processing in an exemplary data sink 36.
Operation of the precoder 22 will now be described with reference to
As illustrated in
The precoder matrices V are developed by a channel information interpolation unit 50 on the basis of received channel information which, in this example, is fed back from a receiver across the MIMO channel 28. It would be possible for the channel information to be estimated by the transmitter in an alternative embodiment of the invention. The channel information interpolation unit 50 takes available channel information, to develop a plurality of precoder matrices V corresponding to the plurality of data streams S to be pre-coded.
The method employed by the channel information interpolation unit 50 as described above will now be described by way of example, with the support of the flow diagram illustrated in
There may of course be other motivations for employing the present embodiment of the invention, and the reader will appreciate that the application of this embodiment is in no way limited to the above discussion.
Hence, it is desirable to interpolate the two unitary precoder matrices to obtain the intermediate ones.
As noted above, in this example the transmitter 12 has J data streams to transmit and M transmit antennas, where M≧J. The precoder on subcarrier k is denoted Vk, which is an M-by-J matrix, and the two subcarriers for which the precoder is known are those denoted k=0 and k=N, respectively. These can be classed as boundary conditions, for the purposes of mathematical derivation of other precoders. The precoder is unitary, i.e. VkHVk=I.
For the avoidance of doubt, interpolated precoders are distinguished from precoders computed on a more robust basis by use of a circumflex (^) to denote an interpolated precoder. A simple approach to interpolation that guarantees that all interpolated precoders {circumflex over (V)}k are unitary (a requirement for maintaining the transmit power) is to set {circumflex over (V)}k=PkV0.
That is, to derive a given precoder {circumflex over (V)}k, an M-by-M rotation matrix P is applied k times to the known precoder V0. If P is unitary, then PkV0 will also unitary. From the boundary conditions, it can be deduced that {circumflex over (V)}0=P0V0=V0 and {circumflex over (V)}N=PNV0=VN, which means that P0=I and PN=VNV0H. The former is true for all matrices P.
The interpolation matrix P should then be found. To demonstrate this, two cases are considered below. In case 1, the number of transmit antennas is equal to the number of data streams received by the precoder unit 22. In case 2, the number of transmit antennas exceeds the number of data streams.
Case 1: M=J
In this case, the constraint PN=VNV0H implies that P should be the N:th root of VNV0H. P can thus be computed from the eigenvalue decomposition VNV0H=UΛUH as P=(VNV0H)1/N=UΛ1/NUH,
where the ath power of a diagonal matrix is defined as Λa=diag(λ1a, . . . , λMa).
Case 2: M>J
In the case where there are more transmit antennas than data streams, the precoding matrices Vk are rectangular and PN=VNV0H is not unitary (so P is not unitary). In this case, the preceding matrices are augmented with their respective nullspaces {tilde over (V)}0, {tilde over (V)}NεCM×(M-J), i.e.:
PN=[VN{tilde over (V)}NV0{tilde over (V)}0]H, where {tilde over (V)}0HV0={tilde over (V)}NHVN=0.
This ensures that PN is a unitary matrix (and hence also that P is unitary) and that:
PNV0=(VNV0H+{tilde over (V)}N{tilde over (V)}0H)V0=VN
since V0HV0=I and {tilde over (V)}0HV0=0.
The nullspaces can be found by, for example, a simple Gram-Schmidt procedure (e.g. as illustrated in G. Golub, C. van Loan, “Matrix computations”, Johns Hopkins University Press, 3rd ed., 1996: “Golub et al.”).
Finally, it should be noted that Pk=PPk−1 so the interpolation can be implemented recursively to save complexity.
Hence, the interpolation algorithm can be summarised as:
If M=J (Step S1-2)
Compute the rotation matrix P=UΛ1/NUH (Step S1-10)
Interpolate the unitary precoders as {circumflex over (V)}k=P{circumflex over (V)}k−1 for k=1, . . . , N−1 with {circumflex over (V)}=V0 (Step S1-12).
This is illustrated in
The N:th root of a matrix may also be computed in other ways; the eigenvalue decomposition technique above is merely an example.
In the above description, it is assumed that the two precoders V0 and VN have been “preprocessed” to remove any discontinuities. Since the preceding matrix is only unique up to a (complex) scaling, and phase ramps from, for example, cyclic delay diversity, can cause the two precoders to be significantly different, it is important to align them as much as possible. Since there are always several equivalent precoders (in the sense that they have the same performance), it is possible to pre-process the precoders V0 and VN to be as similar as possible. This will ensure that the interpolation produces meaningful results. As this is a known problem with known solutions, (for example as set out in Khaled et al.), no further discussion of this technique is required.
It should be noted that the geodesic interpolation presented in Khaled et al. is in fact equivalent to the above algorithm. Khaled et al. uses the exponential map of the matrix V0H VN=exp(S) to perform the interpolation as
However, this means that the exponential map is interpolated, which needs to be transformed to obtain the unitary precoder. This needs to be done for each interpolated precoder {circumflex over (V)}k. This computationally costly step is avoided in the present embodiment of the invention since all that is needed is to apply the rotation matrix P to the previous precoder {circumflex over (V)}k−1 to obtain the interpolated precoder {circumflex over (V)}k=P{circumflex over (V)}k−1. This represents a significant saving in complexity. It should also be noted that the interpolation in Khaled et al. is not defined for M>J and is thus only available for the case where M=J.
The described embodiment thus allows for high performance precoder interpolation at reduced complexity, certainly in comparison with existing algorithms.
The principle on the basis of which the embodiment of the invention operates is that, in some cases, it is desirable to interpolate precoding/beamforming matrices since they are not available on all subcarriers in a MIMO OFDM system. This is either because of limited feedback or because it is too complex to compute them all. If the precoding matrices are required to be unitary, interpolation is not straightforward since it is difficult to ensure that all interpolated matrices are unitary. The described specific embodiment implements a low complexity method of interpolating unitary matrices while offer the same performance as other, more complex, techniques. The method consists of finding a rotation matrix and applying it recursively, which avoids costly computations of the individual interpolated matrices. It also presents a method of interpolating rectangular precoding matrices, a case which has not been studied in the identified literature.
Results of simulations of the performance of the interpolated precoders are illustrated in
While the above embodiment has been described with reference to subcarriers in a spectrum defined in the frequency domain, it would also be appropriate to consider the implementation of preceding in the context of data streams to be imposed on a channel in other ways. For instance, data streams could be defined by way of time slots in the time domain with regard to a data transmission period. Alternatively, code or space or any other manner of enabling the placement of multiple data streams on a channel can give rise to an opportunity to implement an embodiment of the invention.
Further features and advantages of aspects of the invention will be apparent from the foregoing description. However, the reader will appreciate that no statement made within the specific description should be read as a limitation on the scope of protection, which is defined by the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
0716998.0 | Aug 2007 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
7676007 | Choi et al. | Mar 2010 | B1 |
20060039489 | Ikram et al. | Feb 2006 | A1 |
20080187061 | Pande et al. | Aug 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20090060074 A1 | Mar 2009 | US |