The present disclosure relates to electronic devices, wireless communication systems, and methods of operation thereof, for facilitating maximum likelihood (ML) detection in multiple-input multiple-output (MIMO) communication systems.
In modern wireless telecommunication systems, digital modulation can be used to transfer digital data over physical channels. By mapping digital data to predefined symbols, where each symbol sets the characteristics of an analog carrier signal, digital data can be transferred long distances. From here, a receiving device attempts to reconstruct the data by extracting the transmitted symbols from the received carrier signal. However, as a transmitted carrier signal is subject to interference and can pick up noise at detector equipment, methods are employed to accurately estimate these symbols despite the changes to the carrier signal. One of the most accurate of these methods is the maximum likelihood (ML) detector.
The throughput and reliability of a wireless system can be improved by using multiple antennas in a multiple-input multiple-output (MIMO) system, where more than one data stream can be sent at the same time. However, the complexity of ML detection increases exponentially with the number of streams used, therefore traditional ML detection is often found to be unsuitable for MIMO systems. Other detectors have been used instead of ML detection, such as minimum mean squared error (MMSE) detectors and zero-forcing (ZF) detectors. However, while requiring fewer resources than an ML detector, the accuracy of these detectors can be substantially worse than an ML detector.
There is therefore a need for a resource-efficient detector, capable of accurately estimating symbols transmitted over a MIMO wireless system. Low complexity detectors are particularly beneficial to mobile devices, as these devices may have stricter computational restrictions to reduce battery usage, maintain safe temperatures and to make the most of limited processing power. It is particularly beneficial to ensure that efficiency improvements are not made at the detriment of accuracy, as an accurate detector reduces the error rate, thereby keeping bandwidth usage low and improving the user experience.
Examples of the present proposed approach will now be described in detail with reference to the accompanying drawings, in which:
In one embodiment, the present disclosure provides a method of performing maximum likelihood detection on spatially-multiplexed streams in a multiple-input multiple-output (MIMO) communication system, the method comprising: receiving plurality of received signals at a plurality of receiver antennas, the plurality of received signals corresponding to a plurality of transmit symbols, each transmit symbol being one of a number M possible symbols, for each of a value k=1 to M: select a first stream candidate symbol, for each receiver antenna, calculate a residual signal, combine said calculated residual signals, select a second stream candidate symbol for said value k based on the result of said combination to form a symbol pair comprising said first stream candidate symbol and said second stream candidate symbol; and calculate a corresponding distance metric for said symbol pair for said value k, selecting one of the symbol pairs based on said calculated distance metrics.
This embodiment provides an improved maximum likelihood (ML) detector that is capable of selecting a most-likely pair of transmitted symbols based on signals received at a detector. By selecting a second stream candidate symbol based on a combining of residual signals, the proposed ML detector is able to reduce the number of distance metrics required to assess which pair of candidates to choose.
In some example embodiments, the calculating a residual signal comprises subtracting a function of said first stream candidate symbol from the received signal corresponding to the receiver antenna.
In some example embodiments, the function of said first stream candidate symbol comprises the first stream candidate symbol multiplied by an element of a channel matrix corresponding to said receiver antenna.
In some example embodiments, prior to combining said calculated residual signals, match-filter said residual signals on each receiver antenna.
In some example embodiments, match-filtering said residual signals comprises multiplying said residual signals by a conjugate of an element of a channel matrix corresponding to each receiver antenna.
In some example embodiments, combining said calculated residual signals comprises a maximum ratio combine (MRC) across said plurality of receiver antennas.
In some example embodiments, the combining further comprises normalising the combination.
In some example embodiments, the result of said combination is of the form
wnere x′1,k is said first stream candidate symbol, ĥc2 is a second column of a channel matrix, and y is a vector of said received signals.
In some example embodiments, selecting a second stream candidate symbol comprises selecting a symbol equal to the result of said combination.
In some example embodiments, selecting a second candidate symbol comprises slicing the result of said combination.
In some example embodiments, selecting the one of the symbol pairs is a hard decision based of the symbol pair with smallest corresponding calculated distance metric.
In some example embodiments, selecting the one of the symbol pairs is a soft decision comprising: performing two minimum searches, each minimum search being performed over half said calculated distance metrics; and calculating a log likelihood ratio ‘LLR’ using said two minimum searches.
In some example embodiments, the LLR is of the form
where 2σ2 is an estimate of a power noise, minkεK
In some example embodiments, at least one of the received signals and a channel matrix are noise whitened using a noise whitening matrix determined from an averaged covariance.
In yet another embodiment, the present disclosure provides an electronic device comprising one or more processors and memory comprising instructions which, when executed by one or more of the processors, cause the device to receive a plurality of received signals at a plurality of receiver antennas, the plurality of received signals corresponding to a plurality of transmit symbols, each transmit symbol being one of a number M possible symbols, for each of a value k=1 to M: select a first stream candidate symbol, for each receiver antenna, calculate a residual signal, combine said calculated residual signals, select a second stream candidate symbol for said value k based on the result of said combination to form a symbol pair comprising said first stream candidate symbol and said second stream candidate symbol; and calculate a corresponding distance metric for said symbol pair for said value k, select one of the symbol pairs based on said calculated distance metrics.
Reference will now be made to
As there is more than one transmit antenna, the eNb 101 may be capable of transmitting more than one data stream over the channel at the same time through spatial multiplexing, thereby increasing the throughput of the data transmission. In this example, two independent pathways for Data1 140 and Data2 141 are shown. In alternative embodiments, only a single data path may be processed but then subsequently split into separate streams for transmission.
To prepare the first data stream 140 for transmission, it is passed through an encoder (for example, a convolution encoder), where input data is encoded into encoded bits. Once encoded, this encoded data may be modulated into data symbols at the symbol mapper 112. The symbol mapper 112 may select from a number of predetermined symbols in order to assign one to the input data 140, and output the symbol x1 151 for the first data stream 140. Similarly a second data stream 141 may be encoded by a separate (or alternatively, the same) encoder 111 and passed through a symbol mapper 113 to form a symbol x2 152. These symbols 151 and 152 may then be transmitted by transmission antennas 130 and 131 to be received at the UE 102 by receiver antennas 132 and 133.
The signal, y1 171 and y2 172, received at the UE may be different from the transmitted symbols x1 151 and x2 152 due to a number of factors, such as the properties of the channel, errors gained in the receiver equipment and interference from other signals. Therefore, the received signals, y1 171 and y2 172, are processed at a detector 120 in the UE, which attempts to determine which symbols were transmitted based on the received signals.
Although there are a number of possible detectors that may be used, the proposed embodiments utilise a reduced-complexity MIMO maximum likelihood (ML) detector 120, capable of accurately and efficiently identifying the transmitted symbols. Unlike brute-force ML detectors, the proposed ML detector 120 has a complexity that scales linearly with constellation order, rather than exponentially, as will be discussed in greater detail in this application.
Once the original symbols x1 151 and x2 152 have been identified by the ML detector 120, they are mapped to the original encoded bits and subsequently decoded at decoders 121 and 122 to form the original data streams 160 and 161.
The block diagram shown in
The ML detector 120 proposed in this application determines what symbols were originally selected in symbol mappers 112 and 113.
In the example shown in
When these symbols are converted to modulated carrier signals, where the phases and amplitudes may be varied in accordance with the symbols chosen, they are transmitted to a receiver UE 102. The UE 102 then measures properties of the carrier signal, for example the phase and amplitude, to determine which symbol was transmitted. However, the signals received at the UE 102 may have been subject to noise and interference from other signals, so that the received signals do not map directly onto any one symbol. A maximum likelihood detector aims to estimate which symbol to choose by selecting a candidate symbol that lies closest to the received signal by calculating a distance metrics for the candidate symbols.
Traditional ML techniques use a brute-force approach, with a complexity that scales with MS, where M is the constellation order (for example, M=4, 16, and 64, for the QPSK, 16-QAM and 64-QAM modulation schemes respectively), and S is the number of spatially multiplexed streams. This exponential relationship arises because the brute-force approach calculates a Euclidian distance metric for every possible combination of symbol. For example, in a single stream system using a 4-QPSK modulation scheme, there are only four possible symbols that can be transmitted, and therefore four Euclidian distance metrics are calculated. However, in an example two-stream system using a 4-QPSK modulation scheme, a pair of symbols are transmitted, each of which can be one of four possible symbols, and therefore sixteen Euclidian distance metrics would have to be calculated for the sixteen possible combinations of symbols.
Such a scenario is illustrated in
At higher constellation orders, such as a 64-QAM modulation scheme with a modulation order of 64, the brute-force approach can result in a infinitively large increase in calculations when using more than one stream. While in a single stream system, 64 distance metrics would need to be calculated, if a two-stream system is used, then the number of distance metrics calculated by a brute-force approach increases to 4096 (642).
In the proposed ML detector of the present disclosure, rather than calculating distance metrics for every possible combination of first and second stream symbols, it goes through each candidate symbol for a first stream and then selects the best candidate symbol in a second stream to accompany that symbol from the first stream. Therefore the number of distance metrics calculated in the proposed solution is limited to the constellation order M, rather than the square (M2) of the constellation order, as is the case in known ML detectors.
This is illustrated in
Unlike existing ML detectors, the proposed solution can select the most appropriate second-stream symbol for a given first-stream symbol. To illustrate how this is achieved, the calculations performed in an example 2-stream 2×2 MIMO system, like that shown in
The symbol x1 151, sent from a first transmitter antenna 130, and the symbol x2 152, sent from a second transmitter antenna 131, arrive at receiver antennas 132 and 133 after being affected by the channel conditions represented by a channel matrix H. At the receiver antennas 132 and 133 there will also be additive Gaussian noise n1 and n2 respectively. Therefore the received signals y1 and y2 can be modelled as:
More generally, this can be written as
y=Hx+n (2)
where y is a 1×Rx vector of signals received at the receiver antennas, x is the 1×S vector of symbols transmitted (where S is the number of streams), and n is the 1×Rx vector of noise components added at the receiver antennas.
Given a local estimate Ĥ of the channel matrix, it is possible to hypothesise what a received signal would be given a hypothetical choice of transmit symbols x′. Such a hypothetical received signal would be given by
y′=Ĥx′+n (3)
The correct choice of hypothetical transmit symbols x′ would be the one that results in hypothetical received signals y′ that match closest to the actual received set of signals y. In other words, hypothetical transmit symbols x′ should be chosen such that the error vector e is the smallest:
e=y−Ĥx′ (4)
As each element of x′ can be any one of k possible symbols (where k is equal to the modulation order M of the modulation scheme), formula (4) can be re-written for 2-stream 2×2 MIMO systems as:
The Euclidian distance metric for each hypothesis can be calculated by squaring the magnitude of the error vector given in equation (5). The overall distance metric Dk for hypothesis k is then equal to the sum of |ei,k|2 over NRx receive antennas, where i is the number of receive antennas:
While a brute-force ML detector would go through all k possible symbols over both streams; the proposed solution approaches the problem differently. Each column of Ĥ in equation (5), corresponding to each stream, is considered separately. By performing a norm2 operation on the Euclidian distance metric of equation (6) while considering the columns separately, effectively breaks the problem into a superposition of the two transmit streams.
This is equivalent to:
where ĥc1 and ĥc2 denote the first and second columns of Ĥ respectively, y is a 2×1 column vector and x1,k′ and x2,k′ are complex scalars containing the two transmit symbols for hypothesis k. In scenarios not limited to a 2×2 MIMO system, equation (7) can be written more generally with receive antenna i and transmit stream j as:
Returning to the 2×2 case, equation (7) can be rearranged such that all of the x′1,k-related terms (denoted here as V1) are grouped, leaving a residual term (V2):
∥y−Ĥx′k∥2=∥ek∥2=∥y−ĥc1x′1,k−ĥc2x′2,k∥2=V1+V2 (9)
Where:
V
1
=∥y∥
2
+∥ĥ
c1∥2|x′1,k|2−2Re{ĥc1Hyx′1,k*} (10a)
V
2
=∥ĥ
c2∥2|x′2,k|2−2Re{ĥc2Hyx′2,k*−ĥc2Hĥc2Hĥc1x′1,kx′2,k*} (10b)
By completing the square, V2 can be restructured to arrive at:
All of the terms in V1 and V2 are a function of x′1,k except for the last term in V2 which is also a function of x′2,k. Therefore, equation (9) can be re-written as:
∥y−Ĥx′k∥2=∥ek∥2=V1+V2=ƒ(x′1,k)+C|g(x′1,k)−x′2,k|2 (12)
The terms C, ƒ(x′1,k) and g(x′1,k) of equation 12 are identified as:
An advantage of bringing the equation (9) into the form ∥ek∥2=ƒ(x′1,k)+C|g(x′1,k)−x′2,k|2 is that the x′2,k term is separated from terms ƒ(x′1,k) and g(x′1,k) which are functions of x′1,k. Because the function ƒ(x′1,k) will always be positive, for a given first stream candidate symbol x′1,k, it is possible to minimise the distance metric by simply finding a second stream candidate x′2,k closest to the function g(x′1,k). Because x′2,k is a constellation point, finding this value can be done quickly and efficiently by performing a simple slicing operation to find the constellation point closest to a calculated g(x′1,k). This avoids having to search over M possible values of x′2,k for each hypothetical value of x′1,k. The complexity of the problem is thereby reduced from a search over M2 hypotheses to a search over M hypotheses, each with some additional comparisons to calculate x′2,k. No approximations are made in bringing the distance metric into the form shown in equation (12), and therefore the answer obtained would be exactly the same as that found through a traditional ML detector method.
Determining an appropriate second stream candidate symbol to pair with a given first stream candidate symbol requires a calculation of function g(x′1,k) be made for a given x′1,k symbol. This function, although arrived at through the maths above, has a physical interpretation that can aid in the calculations, as illustrated in
The term Zk contains an ‘x2-signal-amplitude’ of (|h2,1|2+|h2,2|2+ . . . |h2,Nrx|2) and so is normalised by ∥ĥc2∥−2 to leave g(x′1,k) containing an x2-signal component of magnitude |x2|. As a result, function g(x′1,k) represents a “noisy” constellation (with the hypothetical x′1,k component removed) on which an estimate of x2,k can be made. By using the above physical interpretation of the function g(x′1,k), it may be possible to more efficiently calculate the function using hardware-based calculation means.
Once x′2,k has been determined for a given x′1,k, a number of candidate pairs x′=[x′1,k x′2,k]T, can be hypothesised for each possible first stream candidate. The pair that is eventually selected may be based on a hard or a soft decision. In the case of a hard decision, the pairs generated may be used to form the decision metric Dk via equations (4) and (5). Only one value of Dk (as opposed to M in the brute-force case) is derived for each x′1,k therefore, as mentioned previously, the complexity scales only with M and not with M2 (generally MS).
For a 2×NRx MIMO system, a hard-decision fast-ML process can be viewed as performing the steps:
For performance reasons and to enable HARQ combining, it may be preferable to perform a soft decision ML. Soft outputs are required in the form of log likelihood ratios (LLRs) in order to support turbo decoding.
The LLR of a bit “b” for received signal y is defined as:
Using Bayes rule, (17) may be re-written as:
assuming equal probability of transmission for bit values 0 and 1.
That is, the numerator and denominator may be derived simply via the probability density functions (PDFs) of the received signal y for cases in which a bit value of 1 and 0 were transmitted respectively.
To form such PDFs, the statistics of the signal plus noise and interference at the receiver's output must be known. For linear receivers (such as Zero-Forcing, and Minimum Mean Squared Error), the signal power and variance of the noise and/or interference at the receiver output may be derived by mapping the signal and noise powers at the receiver input to its output via the known transfer function of the receiver.
In the case of BPSK and QPSK modulation, the LLR then simplifies to a simple scaling of the receiver output by a factor proportional to the output SNIR. For higher-order modulations, such as 16-QAM, LLR derivation is slightly more complex, but may still make use of an SNIR estimate at the receiver output.
In contrast to a linear receiver, the ML receiver operates by selecting the modulation symbol that produces the minimum residual error, therefore a PDF of the (hard-decision) output signal does not contain any probability information related to the noise or interference.
Conceptually, the LLR of a ML decision bit can be interpreted as a measure of how close the symbol pair combination to any of the other possible symbol pair combinations in which the value of the bit of interest is inverted. In other words, if the Euclidean distance to another symbol hypothesis having a different bit value is small, the confidence in that bit decision may also be small.
In order to derive an LLR for the bth considered bit in a symbol combination (x′1, x′2), the brute-force ML approach would be to evaluate the error norm distances Dk for each of the possible M2 symbol combinations (each hypothesis “k”), and then for each considered bit, group the M2 distances into two sets:
i) those k (kεK1) corresponding to a bit value of “1” for bit b, and
ii) those k (kεK0) corresponding to a bit value of “0” for bit b
The LLR would then be then:
where Dk is the error norm as per equation (6).
In equation (19), an estimate of the noise power (2σ2) is used in order to transform Euclidean distance into a probability assuming Gaussian additive noise. The correct value for β may adopt either a value of 1 or NRx. However, this may result in a simple scaling of the LLRs and may therefore be ignored.
Due to the inverse exponentiation, the terms within each summation tend to be dominated by just one value, corresponding to the minimum Dk in the set. An approximation commonly known as the “max-log” approximation may be made without much loss in LLR accuracy, wherein it is assumed that:
The max-log approximation to equation (19) then simplifies to:
However, such a brute force approach for soft decision decoding (max-log approximated or otherwise) would suffer from the same aforementioned complexity issues as brute-force hard decision decoding in that that M2 distance metrics Dk would be required. Furthermore, if such a soft decision decode were performed, formation of a subsequent hard decision is trivial, obviating any benefit from the complexity reduction techniques disclosed for hard decision decoding. Methods that allow translation of the hard decision complexity reductions to the problem of soft decoding are therefore required.
For the 2-stream case, the technique employed is to use the low-complexity hard decision process to reduce the search for potential “nearest-distance neighbours” in the numerator and denominator of equation (19), such that the complexity reduces from order M2 to 2M. Due to the fact that equation (19) requires for all M2 distances to be calculated, the complexity simplification may only be used in conjunction with the max-log approximation of (21). In equation (21), it is known that one of the two min(Dk) terms are associated with the originally transmitted symbol pair (x′1,k, x′2,k). Therefore, the result is an identification of the other min(Dk) term without calculating the full set of M2 Dk values, reducing the complexity.
In light of the above, the hard decision method previously described may be modified to perform a soft decision instead. Rather than select the pair (x′1,k, x′2,k) that has the smallest corresponding distance metric to make a hard decision, this step can be replaced in order to achieve a soft decision.
The max-log soft decision extension to this scheme is (for each bit b) is to perform two min searches, each over half of the “M” calculated Dk values, and to form the LLR via equation (21). This works for a first stream (x1) as all possible x1 values are tested (and paired with their best-companion x2), hence the nearest neighbour to the hard decision for a given flip of bit b in x1 lies somewhere within the subset of M evaluated Dk metrics.
However, this may not work for the second stream (x2). As the best-companion x2 values are formed via a slicing operation, the symbol hypothesis corresponding to a given flip of bit b in x2 cannot be guaranteed to have been tested and thus the nearest x2 neighbour may not lie in the subset of “M” evaluated Dk values.
In order to solve this problem, a second set of “M” Dk values are formed, wherein each possible x2 value is tested and paired with its best-companion x1. This is therefore a mirror of the process for stream 1, and results in a new set of Dk within which the nearest x2 neighbour for a given flip of bit b in x2 is known to exist.
This process may be summarised as shown in the pseudo-code of:
As is evident from the above pseudo-code, through the use of this lower-complexity method, the maximum number of Dk metrics that need to be evaluated is 2M, compare with M2 Dk metrics if equations (19) or max-log equivalent (21), were to be implemented directly.
For higher-order modulations such as 64-QAM (M=64), the achieved reduction in the number of Dk metrics that need to be calculated is significant. For example, in this case, and with two streams, the described process is able to reduce 4096 metric calculations to just 128, an approximate saving of 97%.
In the example embodiments provided so far, only a 2-stream 2×2 MIMO system have been provided. However, it would be clear that the improved ML detector may be used in other systems as well. For example,
y=Hx+n (22)
where y is a 1×4 column vector [y1, y2, y3, y4]T, x is a 1×2 column vector [x1, x2]T, n is a 1×4 column vector [n1, n2, n3, n4]T of all the noise components 720 to 723 received at each detector, and H is modified to take into account the precoding 701 step such that the channel matrix is replaced by HW. The modified channel matrix will therefore be a 4×2 matrix, with four rows corresponding to the four receive antennas, and two columns corresponding to the two streams.
The embodiments described above have generally assumed Gaussian, white noise contributions. However, interference from intra-frequency neighbouring cells (coloured noise) may also degrade performance if not taken into account. Therefore, the proposed ML detector may be further improved to compensate for this interference.
In the case where there is no interference and there is equal noise in each receiver path, the maximum likelihood decision may be written as:
However, when taking into account interference and un-equal noise in each receiver path, this equation changes to:
where the noise matrix C is given by the noise covariance matrix estimation:
C=E{nnH}=E{(y−Hxpilot)(y−Hxpilot)H} (25)
A Cholesky decomposition can be performed on the noise matrix, and by doing so it is possible to rewrite the ML equation with noise (23) to be the same form as the ML equation without noise (22), thus reducing the solution to a pre-processing stage prior to ML:
The complexity of the whitening matrix calculation may be reduced by averaging the covariance matrix, thus reducing the number if complex Cholesky decomposition operations to perform.
At step 843 the Cholesky decomposition is performed for each RB, but as this is based on the mean covariance, this decomposition only has to be performed once per resource block. The lower triangular matrix L is then inverted 842 and scaled 841. By scaling with respect to an averaged 830 and square rooted 831 noise, and performing a noise whitening matrix calculation 850, a whitening matrix W 803 may be determined. This may then be used to perform noise whitening 860 on received signal y804 and channel matrix 802. The result of the noise whitening step 860 is to pre-process y and H to form {tilde over (y)}805 and {tilde over (H)} 806 to compensate for the coloured noise. As the y and H can simply be replaced with these modified values, they can be incorporated into the proposed ML detector calculations to improve the results without requiring substantial changes in the calculations.
Embodiments have been described herein by way of example and these embodiments are not intended to be limiting. Rather, it is contemplated that some embodiments may be subject to variation or modification without departing from the spirit and scope of the disclosed solutions.
It is to be understood that the present disclosure includes all permutations of combinations of the optional features set out in the embodiments described above. In particular, it is to be understood that the features set out in the appended dependent claims are disclosed in combination with any other relevant independent claims that may be provided, and that this disclosure is not limited to only the combination of the features of those dependent claims with the independent claim from which they originally depend.