MIMO DETECTOR SELECTION
20220182111 · 2022-06-09
Inventors
Cpc classification
International classification
Abstract
Embodiments can include receiving transmissions over a channel at a receiver of a MIMO communication system; the transmissions are received from a plurality of transmitters in communication with the receiver. Each communication is a separate communication having a modulation and coding scheme. An estimate of the channel is converted into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate for each of a plurality of MIMO detectors. The estimated bit-metric decoding rate for each of the transmitters for each of the MIMO detectors is converted into an estimated bit error rate for each of the MIMO detectors for each of the transmitters. One of the MIMO detectors is selected for use in generating log-likelihood ratios for bits transmitted from the transmitters to the receiver. The one of the MIMO detectors is selected based on the estimated bit-error rates and a target block error rate.
Claims
1. An apparatus, comprising: at least one processor; and at least one memory including computer program code, the at least one memory and computer program code being configured, with the at least one processor, to cause the apparatus to perform: receiving transmissions over a channel at a receiver of a Multiple-Input Multiple-Output (MIMOA communication system, the transmissions being received from a plurality of transmitters in communication with the receiver, wherein each communication is a separate communication having a modulation and coding scheme; converting an estimate of the channel into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate for each of a plurality of available MIMO detectors; converting the estimated bit-metric decoding rate for each of the plurality of transmitters for each of the available MIMO detectors into an estimated bit error rate for each of the plurality of available MIMO detectors for each of the plurality of transmitters; and selecting one of said available MIMO detectors for use in generating log-likelihood ratios for bits transmitted from said plurality of transmitters to said receiver, wherein said one of said available MIMO detectors is selected based on the estimated bit-error rates and a target block error rate.
2. The apparatus as claimed in claim 1, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: using a machine learning model to convert the estimate of the channel into said bit-metric decoding rate estimates.
3. The apparatus as claimed in claim 2, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: obtaining an upper triangular matrix based on a QR decomposition of a channel matrix, wherein the channel matrix is the estimate of the channel; and using said machine learning model to convert the upper triangular matrix into said bit-metric decoding rate estimates.
4. The apparatus as claimed in claim 2, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: training the machine learning model based, at least in part, on estimated bit-metric decoding rate and corresponding bit error rate values computed during a plurality of system simulations.
5. The apparatus as claimed in claim 1, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: determining whether, for a particular one of the plurality of available MIMO detectors, the target block error rate is met for each transmission and, if so, determining that said MIMO detector meets said target block error rate.
6. The apparatus as claimed in claim 5, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: determining whether the particular one of the plurality of available MIMO detectors meets the target block error rate for a particular transmission based on whether an estimated bit-metric decoding rate is above a threshold.
7. The apparatus as claimed in claim 5, wherein the selecting one of said available MIMO detectors includes selecting one of said available MIMO detectors that meets said target block error rate for each of said transmissions.
8. The apparatus as claimed in claim 7, wherein the selecting one of said available MIMO detectors includes selecting a simplest one of said available MIMO detectors that meets said target block error rate for each transmission.
9. The apparatus as claimed in claim 1, wherein the converting bit-metric decoding rate data into bit error rate data comprises using a lookup table.
10. The apparatus as claimed in claim 9, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform: determining a configuration of the MIMO system; and selecting said lookup table from a plurality of available lookup tables based on said determined configuration.
11. The apparatus as claimed in claim 3, wherein the at least one memory and computer program code are further configured, with the at least one processor, to cause the apparatus to perform receiving or generating said channel matrix.
12. The apparatus as claimed in claim 1, wherein the selecting said one of said available MIMO detectors includes updating said selection each time the channel estimate is updated.
13. A method, comprising: receiving transmissions over a channel at a receiver of a Multiple-Input Multiple-Output (MIMOA communication system, the transmissions being received from a plurality of transmitters in communication with the receiver, wherein each communication is a separate communication having a modulation and coding scheme; converting an estimate of the channel into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate for each of a plurality of available MIMO detectors; converting the estimated bit-metric decoding rate for each of the plurality of transmitters for each of the available MIMO detectors into an estimated bit error rate for each of the plurality of available MIMO detectors for each of the plurality of transmitters; and selecting one of said available MIMO detectors for use in generating log-likelihood ratios for bits transmitted from said plurality of transmitters to said receiver, wherein said one of said available MIMO detector is selected based on the estimated bit-error rates and a target block error rate.
14. A computer program embodied on a non-transitory computer-readable medium, said computer program comprising instructions for causing an apparatus to perform at least the following: receive transmissions over a channel at a receiver of a Multiple-Input Multiple-Output (MIMOA communication system, the transmissions being received from a plurality of transmitters in communication with the receiver, wherein each communication is a separate communication having a modulation and coding scheme; convert an estimate of the channel into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate for each of a plurality of available MIMO detectors; convert the estimated bit-metric decoding rate for each of the plurality of transmitters for each of the available MIMO detectors into an estimated bit error rate for each of the plurality of available MIMO detectors for each of the plurality of transmitters; and select one of said available MIMO detectors for use in generating log-likelihood ratios for bits transmitted from said plurality of transmitters to said receiver, wherein said one of said available MIMO detector is selected based on the estimated bit-error rates and a target block error rate.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Example embodiments will now be described, by way of example only, with reference to the following schematic drawings, in which:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
DETAILED DESCRIPTION
[0035] The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments and features, if any, described in the specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.
[0036] In the description and drawings, like reference numerals refer to like elements throughout.
[0037]
[0038] The system 1 comprises a transmitter section 2, a channel 3 and a receiver section 4.
[0039] The transmitter section 2 comprises a first channel coding module 10a, a first modulation module 11a and a first transmitter 12a. Similarly, the transmitter section comprises a second channel coding module 10b, a second modulation module 11b and a second transmitter 12b. Further, the transmitter section 2 comprises a third channel coding module 10c, a third modulation module 11c and a third transmitter 12c.
[0040] A first data stream is received from a first user equipment UE.sub.1, a modulation and coding scheme is applied to the first data stream by the first channel coding module 10a and the first modulation module 11a, the encoded data stream is transmitted by the first transmitter 12a to the receiver section 4 over the channel 3.
[0041] Similarly, a second data stream is received from a second user equipment UE.sub.2, a modulation and coding scheme is applied to the second data stream by the second channel coding module 10b and the second modulation module 11b, the encoded data stream is transmitted by the second transmitter 12b to the receiver section 4 over the channel 3.
[0042] Finally, a k-th data stream is received from a k-th user equipment UE.sub.k, a modulation and coding scheme is applied to the k-th data stream by the third channel coding module 10c and the third modulation module 11c, the encoded data stream is transmitted by the third transmitter 12c to the receiver section 4 over the channel 3.
[0043] Of course, the system 1 could be provided with any number of data streams.
[0044] As shown in
[0045] On the basis of the signal vector y.sub.r and the channel estimate H.sub.est, the MIMO detector 15 generates log-likelihood ratios (LLRs) for each transmitted bit. The channel decoder 17 converts the generated LLRs into estimates of the bits transmitted by the user devices UE.sub.1, UE.sub.2 . . . UE.sub.k.
[0046] There are several candidate detectors that may be used as the MIMO decoder 15, including the linear MMSE (LMMSE) detector, K-best detector, and the sphere detector (SD). The skilled person will be aware of further candidate detectors.
[0047] The LMMSE detector generally has the least complexity among the three but is also usually the least reliable in general. The sphere detector (SD) is a maximum-likelihood detector (MLD) and is generally the most complex but also the most reliable detector. The K-best detector is generally in between the two in terms of both complexity and reliability. However, depending on the channel realization, the LMMSE detector can perform nearly as well as MLD while the K-best detector can perform as well as MLD for a significant percentage of the time in practice. Moreover, many times it may be beneficial to trade-off error performance for ease of detection. For example, an application might be content with a block-error rate (BLER) of only 10.sup.−3 while MLD might offer a BLER of 10.sup.−6 for the signal-to-noise ratio (SNR) in context. In such a case, it might be prudent to use the LMMSE detector if it offers a BLER≤10.sup.−3. The performance of each detector is dependent on the instantaneous channel realization and the SNR.
[0048]
[0049] As discussed further below, the algorithm 20 may be used to select a detector from a suite of available detectors for the purpose of decoding data from N.sub.u multiple multi-antenna users (UEs) at a multi-antenna 5G base station. Variants of the algorithm 20 can be used in other circumstances. For example, although the algorithm 20 applies to the uplink transmission scenario, similar principles can be applied to downlink transmissions.
[0050] The algorithm 20 starts at operation 21, where transmissions are received over a channel (such as the channel 3) at a receiver (such as the receiver 14) of a MIMO communication system, the transmissions being received from a plurality of transmitters in communication with the receiver, wherein each communication is a separate communication having a modulation and coding scheme. The receiver may be a base station of a MIMO communication system. Alternatively, for example, the transmissions may be received at a user device (e.g. a UE) with multiple antenna. Similarly, although the plurality of transmitters may be a plurality of user devices. Alternatively, for example, the plurality of transmitters may include a single user device (perhaps with multiple antennas) and/or a base station (perhaps with multiple antennas). Thus, the principles described herein are applicable to many variants of the transmission system 1.
[0051] At operation 22, an estimate of the channel is obtained. In the example system 1, the channel estimate may be generated by the channel estimator 16, but many alternative arrangements are possible. Indeed, the operation 22 may be omitted if a channel estimate is already available.
[0052] At operation 23, the estimate of the channel is converted into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate (BMDR) for each of a plurality of available MIMO detectors, as discussed in detail below.
[0053] At operation 24, the estimated bit-metric decoding rate (BMDR) for each of the plurality of transmitters for each of the available MIMO detectors is converted into an estimated bit error rate (BER) for each of the plurality of available MIMO detectors for each of the plurality of transmitters.
[0054] At operation 25, one of said available MIMO detectors is selected for use in generating log-likelihood ratios (LLRs) for bits transmitted from said plurality of transmitters to said receiver. The MIMO detector is selected based on the estimated bit-error rates and a target block error rate. As discussed further below, the least complex detector of the available MIMO detectors may be selected (e.g. the least complex detector that meets a number of requirements).
[0055] As discussed further below, the algorithm 20 may be applied to the system 1 described above; however, alternative implementations of the algorithm 20 are possible.
[0056] In the system 1, let {UE.sub.1, UE.sub.2, . . . , UE.sub.N.sub.
[0057] Each UE performs a channel coding of the information bits and then maps the coded bits to modulation symbols. This is done according to the Modulation and Coding Scheme (MCS) for uplink transmissions (e.g. using the coding modules 10 and the modulation modules 11 described above). Each UE transmits a block of modulated symbols over spatial streams and this block of modulated symbols is received at the receiver 14. The notation described below is applicable for every received symbol within a code block.
[0058] Without loss of generality, we can assume that UE.sub.k transmits N.sub.t.sup.(k) number of modulated data streams (which we also refer to as “layer”). We assume that N.sub.r≥N. In this document, we assume that all the UEs employ the same QAM constellation , but a generalization to the case where each constellation size is different is not difficult. The size of
is M and its value is known at the BS.
is a Cartesian product of two PAM constellation of size √M each, denoted by
.
[0059] Let H.sub.k be the N.sub.r×N.sub.t.sup.(k) channel matrix representing the channel between UE.sub.k and the BS. Let
y.sub.r=Hs+n.sub.int+n.sub.AWGN (1)
Where:
[0060] y.sub.r∈.sup.N.sup.
.sup.N.sup.
.sup.N×1 is the cumulative signal vector transmitted by all the N.sub.u UEs.
[0065] The signal-to-interference-noise ratio (SINR) is given by:
[0066] The pre-processing stage may consist of: noise whitening; complex-to-real conversion and QR decomposition, as discussed further below.
[0067] Noise-whitening is performed to whiten the AWGN+co-channel interference. The result is
where, due to whitening, the effective noise and interference term
where P is the average energy of the QAM constellation and ∥H∥.sub.F is the Frobenius norm of
[0068] The model in (2) is converted to its real equivalent (in the complex-to-real conversion) to obtain:
{tilde over (y)}={tilde over (H)}{tilde over (s)}+ñ (4)
where {tilde over (y)}∈.sup.2N.sup.
.sup.2N.sup.
.sup.2N×1, ñ∈
.sup.2N.sup.
[0069] The QR decomposition of {tilde over (H)} is performed to obtain {tilde over (H)}=QR where Q∈.sup.N.sup.
.sup.2N×2N is upper-triangular matrix (as discussed further below). Next, we obtain y
Q.sup.T
y=Rs+n, y∈.sup.2N×1, R∈
.sup.2N×2N, s∈
.sup.2N×1, n∈
.sup.2N×1 (5) [0070] where n=Q.sup.Tñ continues to be white due to the orthogonality of Q.
[0071] As discussed above, the algorithm 20 generates an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate (BMDR) for each of a plurality of available MIMO detectors. Bit-metric decoding rate is discussed further below.
[0072] Since User k transmits N.sub.t.sup.(k) symbols from an M-QAM, it encodes n.sub.kN.sub.t.sup.(k) log.sub.2 M bits per transmission. Let the vector of these bits be denoted by b.sub.k=[b.sub.1,k b.sub.2,k, . . . , b.sub.n.sub.
for User k at an SINR of ρ is defined as:
Where:
[0073] (b.sub.i,k, ρ, H) is the LLR for the i.sup.th bit of User k using the detector
[0074] σ(.) is the sigmoid function
[0075] CE(.) is the binary cross-entropy function, respectively given as;
[0076] In (6), .sub.n,b.sub.
k20 log.sub.10(
.sub.L/
.sub.N) dB (10)
where .sub.L and
.sub.N are respectively the maximum and minimum non-zero singular values of H (assuming a full column rank of N).
[0080] Well-conditioned channels have k≤10 dB while channels with k≥20 dB are considered ill-suited for MIMO transmission.
[0081] Off-diagonal elements of R: Since R is upper-triangular, its upper off-diagonal elements capture the amount of inter-symbol interference, and consequently play a decisive role in the resulting BMDR for each user.
[0082] Constellation size M: The size of the constellation influences the LLR and hence, the BMDR.
[0083] In the algorithm 20, the estimated bit-metric decoding rate (BMDR) for each of the plurality of transmitters for each of the available MIMO detectors is converted into an estimated bit error rate (BER) for each of the plurality of available MIMO detectors for each of the plurality of transmitters. The relationship between BMDR and achievable BER is discussed further below.
[0084]
[0085]
[0086] Suppose that a channel code (r.sup.(k)) of rate r.sup.(k) is used for User k. Let ρ.sub.min.sup.(k) (
, x) be the minimum (infimum) SNR (or SINR) at which
(ρ, H) is at least x, for some x∈(0,1). That is,
(ρ,H)<x, ∀ρ<ρ.sub.min.sup.(k) (
, x). Then, a lower bound on the minimum SNR ρ.sub.thrsh.sup.(k) (
,
(r.sup.(k))) required to achieve a BER arbitrarily close to o with
(r.sup.(k)) is ρ.sub.min.sup.(k) (
, r.sup.(k)). Therefore,
ρ.sub.thrsh.sup.(k)(,
r.sup.(k)))≥ρ.sub.min.sup.(k)(
, r.sup.(k)). (11)
[0087] Typically, for every (r.sup.(k)), there exists a margin δ(
(r.sup.(k)))≥0 for the BMDR such that
ρ.sub.min.sup.(k)(,r.sup.(k)+δ(
(r.sup.(k)))=ρ.sub.thrsh.sup.(k)(
,
(r.sup.(k))). (12)
[0088] For an ideal outer code *(r.sup.(k)) with infinite block length, it follows that δ(
(r.sup.(k)))=0. It is clear that the BMDR is a good predictor of the performance of a code with a detector
, and this is further illustrated in
ρ.sub.thrsh(MLD, (2/3))≈0.4 dB, ρ.sub.thrsh(LMMSE,
(2/3))≈1.2 dB, δ(
(2/3))≈0.4
[0089]
[0090] The system 50 comprises a receiver module 51, a BMDR generator 52 and a decision-making module 53. The decision-making module 53 selects one of a plurality of detectors indicated generally by the reference numeral 54.
[0091] The plurality of detectors 54 comprise N.sub.u detectors N.sub.d (detectors {(i)}.sub.i−1.sup.N.sup.
[0092] The receiver module 51 receives the signal vector y transmitted over the channel of the MIMO communication system and also obtains information relating the modulation and coding scheme (MCS) used. The receiver module 51 obtains the channel estimate, perform a QR decomposition of the channel estimate and provides the upper-triangular R matrix to the BMDR generator 52. An example R matrix 55 is shown in
[0093] The BMDR generator 52 includes a machine learning (ML) module selector 56a and a selected machine learning module in the form of a trained convolutional neural network (CNN) 56b. The CNN 56b is used to predict the bit-metric-decoding rate (BMDR) for each user and for each available detector. Mechanisms for training the CNN 56b are discussed further below.
[0094] The ML module selector 56a receives data relating to a configuration of the relevant MIMO system. For example, as shown in the system 50, the ML module selector may receive (from the receiver module 51) information such as constellation size M of the MCS, a number of user devices N.sub.u and details of the Tx-antenna combination being used.
[0095] Based on the MIMO system configuration, one of a number of trained ML modules may be used to implement the CNN 56b.
[0096] The CNN 56b uses a machine learning model converting an estimate of the channel into an estimate, for each of a plurality of transmitters, of a bit-metric decoding rate (BMDR) for each of a plurality of available MIMO detectors. Specifically, as shown in the system 50, the CNN 56b converts the upper triangular matrix 55 into said bit-metric decoding rate estimates. Using the upper-triangular R matrix of the channel estimate as an input to a CNN captures all the features required to accurately predict the BMDR. However, it should be noted alternatives to QR decomposition (such as QL decomposition) are possible.
[0097] The decision-making module 53 comprises a look-up table (LUT) 57 and receives BLER requirements (e.g. a target BLER). The look-up-table 57 may be used to convert the estimated bit-metric decoding rate for each of the plurality of transmitters for each of the available MIMO detectors into an estimated bit error rate for each of the plurality of available MIMO detectors for each of the plurality of transmitters.
[0098] Based on the predicted BMDRs, the decision-making module 53 make use of the look-up table 57 to select a detector from the plurality of available detectors 54. The selected detector may, for example, be the least complex detector that meets the BLER requirements. There is a strong relationship between BMDR and the BLER of a detection algorithm in the presence of a channel code. So, using BMDR as the defining feature for detector selection may lead to better accuracy.
[0099] An offline training phase may be used to train at least some of the elements of the system 50, as discussed further below.
[0100] A set of MIMO channel realizations (N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
(N,n.sub.u,{N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
[0101] Every element of (N,n.sub.u,{N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
is obtained with P being the average energy of M-QAM. From (3), the scalar √{square root over ((N.sub.r10.sup.(ρ/10)/P))} ensures that the SNR (dB) when √{square root over ((N.sub.r10.sup.(ρ/10)/P))}H is the effective channel for transmission and the noise variance is unity per complex dimension is ρ dB. We have used the notation (N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
[0102] For every set (N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
(N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
(i), i∈{1, 2, . . . , N.sub.d} by averaging over several realizations of AWGN noise (with unit variance) and input bit-streams according to the channel model given in (2). We denote this resulting set of BMDRs by
(N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
(N, n.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
[0103] To be clear, each BMDR(H.sub.i) is a tuple of N.sub.D elements denoted by ((H.sub.i), . . . ,
(H.sub.i)), and each element of the tuple is given as
(H.sub.i)=[
(H.sub.i), . . . ,
(H.sub.i)]∈(0,1).sup.N.sup.
[0104] We have omitted the usage of ρ to parameterize (H.sub.i) because the noise variance is unity and ρ is completely determined by ∥H.sub.i∥.sub.F*
[0105] Every element H.sub.i∈(N, n.sub.u, N.sub.t.sup.(k), M) is a complex matrix of size (N.sub.r, N) and may be converted to a real-valued matrix
e(H.sub.i)∈
.sup.2N.sup.
where (H.sub.i) and
(H.sub.i) respectively generate the entry-wise real and imaginary parts of H.sub.i. Next, the QR decomposition of
e(H.sub.i) is performed to obtain
e(H.sub.i)=Q.sub.iR.sub.i where Q.sub.i∈
.sup.N.sup.
.sup.N×N is upper-triangular. The inputs of the training dataset for a combination of N, n.sub.u, N.sub.t.sup.(k), M given by:
X.sub.train={R.sub.i|e(H.sub.i)=Q.sub.iR.sub.i,∀H.sub.i∈
(N, n.sub.u, N.sub.t.sup.(k), M)}.(13)
[0106] The labels are
Y.sub.train={BMDR(R.sub.i), ∀R.sub.i∈X.sub.train} (14)
where BMDR(R.sub.i)=BMDR(H.sub.i) when e(H.sub.i)=Q.sub.iR.sub.i with Q.sub.i orthogonal. Each training sample is the pair (R.sub.i,BMDR(R.sub.i)) and the entire labelled dataset is given by
={(R.sub.i,BMDR(R.sub.i), ∀R.sub.i∈X.sub.train}.
[0107] We note that the BMDR(R.sub.i) is the same as BMDR(D.sub.1R.sub.iD.sub.2), where D.sub.1 and D.sub.2 are arbitrary diagonal matrices with ±1 entries. The invariance due to D.sub.2 is because of the symmetry of PAM constellations (whose effect is evident from (5) and (6)), and the invariance due to D.sub.1 is because if Q.sub.i is orthogonal, so is Q.sub.iD.sub.1, and e(H.sub.i)=Q.sub.iR.sub.i=Q.sub.iD.sub.1D.sub.1R.sub.i. This property may be used while training the CNN 56b for increasing the speed of training and for increased robustness in making predictions.
[0108] We denote the CNN to be trained by f.sub.θ where θ denotes the vector of trainable parameters of the CNN. Likewise, let f.sub.θ (R) denote the output of the CNN when its input is R. The CNN has N.sub.DN.sub.u outputs that predict the BMDRs of each user and for each detector, and let (R) denote the output associated with the BMDR prediction of User k and Detector
(j). At the beginning of each training epoch,
is randomly shuffled and split into several mini batches of size B (except possibly the last mini batch which can have smaller size). Every mini batch
.sub.B⊂
is then used to perform one step of optimization of the CNN. For every (R.sub.i,BMDR(R.sub.i))∈
.sub.B, we also consider (D.sub.1,iR.sub.i,BMDR(R.sub.i)) and (R.sub.iD.sub.2,i,BMDR(R.sub.i)) in the same optimization step of the CNN with its trainable parameters unaltered. The diagonal matrices D.sub.1,i and D.sub.2,i with random ±1 entries are chosen independently of other samples at random. The training loss (which is based on the normalized mean absolute deviation) for the labelled pair (R.sub.i,BMDR(R.sub.i)) in the mini batch is
[0109] The overall loss for the mini batch is
[0110] An optimization step is performed on the loss .sub.B and the parameters θ of the CNN are updated after which the next mini batch is considered for training. This is repeated until all the mini batches have been used up and subsequently, the next epoch commences.
[0111] In some example embodiments, separate CNNs might be trained for each user (and may be selected for use by the module 56a), and for each combination of N, N.sub.u, {N.sub.t.sup.(k)}.sub.k=1.sup.N.sup.
[0112]
[0113] The algorithm 60 starts at operation 62, where a determination is made regarding whether, for a particular one of a plurality of available MIMO detectors, the target block error rate is met for each transmission (e.g. for each user) and, if so, determining that said MIMO detector meets said target.
[0114] At operation 64, a determination is made regarding which of a number of candidate MIMO detectors (such as the detectors 54) meets a block error rate target.
[0115] At operation 66, one of the MIMO detectors that has been determined in the operation 64 to meet the block error rate target is selected. In the specific example algorithm 60, the simplest MIMO detector to meet the target is selected for use.
[0116] The detector selection may be performed (in real-time) once every few symbols N.sub.s, and the same chosen detector is used for a few consecutive subcarriers N.sub.f. This means that the same detector can be used for a grid of N.sub.fN.sub.s resource elements in an OFDM subframe. The choices of N.sub.f and N.sub.s may be dependent respectively on the delay spread and the Doppler shift. One can use a neural network to predict the optimal values of N.sub.f and N.sub.s. Or alternatively, the delay-spread and Doppler shift can be estimated, and a look-up table can be used to determine the optimal values of these.
[0117] Upon receiving the signal vector y.sub.r as given in (1), the sequence of steps from (2)-(5) is performed. The noise variance is estimated, and a normalization is performed to get
y=Rs+n, y∈.sup.2N×1, R∈
.sup.2N×2N, s∈
.sup.2N×1, n∈
.sup.2N×1
where n is real AWGN with variance 0.5 due to normalization. This normalization is necessary because the CNN was trained with such an assumption on the noise variance. Next, the upper-triangular matrix R is input to the trained CNN which outputs the BMDR estimates for each user and for each detector, denoted by (R), i∈{1, 2, . . . , N.sub.d}, k∈{1, . . . , N.sub.u}. In particular,
(R)
.
[0118] As before, let r.sup.(k) denote the rate of the LDPC code used for User k. Both r.sup.(k) and M are defined by the MCS level. A look-up table will have the stored values of δ((r.sup.(k))) which are estimated apriori using the definition given in (12) for LDPC code rate r.sup.(k).
[0119]
[0120] The margin values are those corresponding to the required BLER. As mentioned before, the detectors are arranged in the increasing order of complexity, so (i) is less complex than
(j) if i<j (and less reliable as well).
[0121] If there exists at least one k∈{1, 2, . . . , N.sub.u} such that for some (i),
(R)≥r.sup.(k)+δ(
(r.sup.(k))), then choose the least complex
(i) for which the highest number of users satisfy
(R)≥r.sup.(k)+δ(
(r.sup.(k))). In other words, choose
({circumflex over (z)}) where
[0123] If no such k exists, then there are two possibilities to choose the detector. Choose (1): This means that the least complexity detector is chosen since no detector is useful anyway.
[0124] Choose (N.sub.d): This means that the most complex decoder with the best BMDRs for each user is selected. This could potentially be useful in the case of HARQ retransmissions.
[0125]
[0126] A number of simulations have been used to investigate the principles described herein, as discussed further below.
[0127] For the purpose of simulations, we have considered a 4×16 single user MIMO system (4 Tx, 16 Rx). We considered a training dataset of 100000 channel realizations with conditions numbers uniformly ranging from 0-25 dB. An SNR range of −4 to 1 dB (at intervals of 0.1 dB) was considered for 4-QAM and MATLAB's Rate-2/3 dvbs2ldpc code of length 64800. The test dataset consists of 25000 channel realizations. In the CNN that we used for the simulation, we considered 4 convolutional layers followed by 4 dense layers, all with ReLU activation. Below is the summary of the model.
TABLE-US-00001 Layer (type) Output Shape Param # input_1 (InputLayer) [(None, 8, 8, 1)] 0 Conv2D_1 (Conv2D) (None, 8, 8, 128) 640 Conv2D_2 (Conv2D) (None, 8, 8, 64) 32832 Conv2D_3 (Conv2D) (None, 7, 7, 32) 8224 Conv2D_4 (Conv2D) (None, 6, 6, 16) 2064 Flatten (Flatten) (None, 576) 0 Dense_1 (Dense) (None, 64) 36928 Dense_2 (Dense) (None, 32) 2080 Dense_3 (Dense) (None, 8) 264 Dense_4 (Dense) (None, 2) 18 Total params: 83,050 Trainable params: 83,050 Non-trainable params: 0
[0128]
[0129] Next, we simulate the real-time detection selection scenario. For our purpose, we use the following rule: if the target BLER is not met by either detector or if met by the LMMSE detector, the default choice is the LMMSE detector (because of less complexity in the former case). Otherwise, the MLD detector is the optimal choice.
[0130]
[0131] We consider a particular channel with condition number 17.92 dB whose BER curves and BMDRs are shown in
[0132] Precision and recall metrics may be used for gauging the performance of a particular selection method. These metrics are well-known in the literature and are as given below.
[0133]
[0134]
[0135] For the LMMSE detector, a precision of 1 is reached between 0.7 and 0.71 which means that the LMMSE was never chosen when the MLD was ideal. On the other hand, for the MLD, a recall of 1 is reached (equivalent to a precision of 1 for the LMMSE) but a precision of 0.82 means that there were instances when the MLD was chosen when the LMMSE should have been. The accuracy of choosing the LMMSE detector when it was indeed enough to meet the target BLER was found to be 1 at a BMR threshold between 0.70-0.71 for both target rates, as shown in
[0136] Table 1 below provides a summary of observations based on simulated data.
TABLE-US-00002 TABLE 1 Target BLER = 0.01 Target BLER = 0.001 Proposed Proposed Method Method (optimal (optimal BMDR BMDR Threshold = Threshold = Ideal 0.7) Ideal 0.705) % of instances 24.4 24.4 23.4 23.4 LMMSE detector was selected and BLER target met % of instances 40 40 38.3 38.3 MLD was selected and BLER target met % of instances 35.6 30 38.3 30 neither is good enough to meet BLER target and LMMSE detector is selected % of instances 0 5.6 0 8.3 neither is good enough to meet BLER target and MLD is selected
[0137]
[0138]
TABLE-US-00003 TABLE 2 Normalized % of number of time computations target (normalized by BLER LMMSE Scheme 0.01 met computations) LMMSE only 24.4 1 MLD only 64.4 5 Proposed Scheme 64.4 2.82
[0139] For completeness,
[0140] The processing system 300 may have a processor 302, a memory 304 closely coupled to the processor and comprised of a RAM 314 and a ROM 312, and, optionally, a user input 310 and a display 318. The processing system 300 may comprise one or more network/apparatus interfaces 308 for connection to a network/apparatus, e.g. a modem which may be wired or wireless. The network/apparatus interface 308 may also operate as a connection to other apparatus such as device/apparatus which is not network side apparatus. Thus, direct connection between devices/apparatus without network participation is possible.
[0141] The processor 302 is connected to each of the other components in order to control operation thereof.
[0142] The memory 304 may comprise a non-volatile memory, such as a hard disk drive (HDD) or a solid state drive (SSD). The ROM 312 of the memory 304 stores, amongst other things, an operating system 315 and may store software applications 316. The RAM 314 of the memory 3o4 is used by the processor 302 for the temporary storage of data. The operating system 315 may contain code which, when executed by the processor implements aspects of the algorithms 20, 60, 70 and 80 described above. Note that in the case of small device/apparatus the memory can be most suitable for small size usage i.e. not always a hard disk drive (HDD) or a solid state drive (SSD) is used.
[0143] The processor 302 may take any suitable form. For instance, it may be a microcontroller, a plurality of microcontrollers, a processor, or a plurality of processors.
[0144] The processing system 300 may be a standalone computer, a server, a console, or a network thereof. The processing system 300 and needed structural parts may be all inside device/apparatus such as IoT device/apparatus i.e. embedded to very small size.
[0145] In some example embodiments, the processing system 300 may also be associated with external software applications. These may be applications stored on a remote server device/apparatus and may run partly or exclusively on the remote server device/apparatus. These applications may be termed cloud-hosted applications. The processing system 300 may be in communication with the remote server device/apparatus in order to utilize the software application stored there.
[0146]
[0147] Embodiments of the present invention may be implemented in software, hardware, application logic or a combination of software, hardware and application logic. The software, application logic and/or hardware may reside on memory, or any computer media. In an example embodiment, the application logic, software or an instruction set is maintained on any one of various conventional computer-readable media. In the context of this document, a “memory” or “computer-readable medium” may be any non-transitory media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer.
[0148] Reference to, where relevant, “computer-readable medium”, “computer program product”, “tangibly embodied computer program” etc., or a “processor” or “processing circuitry” etc. should be understood to encompass not only computers having differing architectures such as single/multi-processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices/apparatus and other devices/apparatus. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device/apparatus as instructions for a processor or configured or configuration settings for a fixed function device/apparatus, gate array, programmable logic device/apparatus, etc.
[0149] If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Similarly, it will also be appreciated that the flow diagrams of
[0150] It will be appreciated that the above described example embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present specification.
[0151] Moreover, the disclosure of the present application should be understood to include any novel features or any novel combination of features either explicitly or implicitly disclosed herein or any generalization thereof and during the prosecution of the present application or of any application derived therefrom, new claims may be formulated to cover any such features and/or combination of such features.
[0152] Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described example embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.
[0153] It is also noted herein that while the above describes various examples, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.