Receiver, a plurality of transmitters, a method of receiving user data from multiple transmitters, and a method of transmitting user data
10693701 ยท 2020-06-23
Assignee
Inventors
- Dong Fang (Blanchardstown, IE)
- Stepan Kucera (Blanchardstown, IE)
- Holger Claussen (Blanchardstown, IE)
Cpc classification
H04L27/3818
ELECTRICITY
H04L5/0026
ELECTRICITY
H04J13/0003
ELECTRICITY
H04B7/0854
ELECTRICITY
H04L27/3422
ELECTRICITY
International classification
H04L27/34
ELECTRICITY
H04L1/00
ELECTRICITY
Abstract
A method is provided of receiving user data from multiple transmitters, the user data from each transmitter having been encoded as a Low Density Lattice codeword, and the multiple Low Density Lattice codewords having been transmitted so as to be received as a combined signal at a receiver, the method of receiving comprising the steps of: (i) receiving the signal, (ii) calculating coefficients of linear combinations of the codewords from the multiple transmitters, (iii) calculating a scaling factor to be applied to the signal based on the coefficients, (iv) applying the scaling factor to the signal to provide a linear combination of the codewords, (v) decoding the linear combination of the codewords based on channel state information to obtain an optimal independent linear combination of user data, (vi) repeating steps (ii), (iii) (iv) and (v) to obtain at least as many optimal independent linear combinations as the number of transmitters, and recovering the user data from the optimal independent linear combinations.
Claims
1. A method of receiving user data from multiple transmitters, the user data from each transmitter having been encoded as a Low Density Lattice codeword, and multiple Low Density Lattice codewords having been transmitted so as to be received as a combined signal at a receiver, the method of receiving comprising: (i) receiving the combined signal, (ii) calculating coefficients of linear combinations of the Low Density Lattice codewords from the multiple transmitters, (iii) calculating a scaling factor to be applied to the combined signal based on the coefficients, (iv) scaling the combined signal with the scaling factor to provide a linear combination of the Low Density Lattice codewords, (v) decoding the linear combination of the Low Density Lattice codewords based on channel state information to obtain an optimal independent linear combination of user data, (vi) repeating the calculating coefficients, calculating a scaling factor, scaling and decoding to obtain at least as many optimal independent linear combinations as the number of transmitters, and recovering the user data from the optimal independent linear combinations; wherein the calculation of the scaling factor comprises applying a minimum mean square error (MMSE) criterion to minimize variance of effective noise by determining the scaling factor according to a coefficient vector determined by maximizing a virtual rate of the linear combinations of the Low Density Lattice codewords.
2. The method according to claim 1, in which the decoding linear combinations comprises iterative cycles, each cycle comprising calculating a variable node message and calculating a check node message.
3. The method according to claim 2, in which obtaining each optimal independent linear combination comprises, after the final iteration, estimating probability density functions of codeword elements.
4. The method according to claim 1, in which the linear combination of codewords is itself a valid codeword of the Low Density Lattice.
5. The method according to claim 1, in which the recovering user data from the optimal independent linear combinations comprises taking a pseudo-inverse of a matrix of coefficients of the optimal independent linear combinations.
6. The method according to claim 1, in which the transmitters are user terminals for cellular wireless telecommunications.
7. A receiver configured to receive user data from multiple transmitters, the user data from each transmitter being encoded as a Low Density Lattice codeword, and multiple Low Density Lattice codewords transmitted so as to be received as a combined signal at the receiver, the receiver comprising: a receiving stage configured to receive the combined signal; an iterative processing stage configured to provide at least as many optimal independent linear combinations as a number of transmitters, the iterative processing stage comprising: a processor configured to calculate coefficients of linear combinations of the Low Density Lattice codewords from the multiple transmitters, a processor configured to calculate a scaling factor to be applied to the combined signal based on the coefficients, wherein the calculation of the scaling factor comprises applying a minimum mean square error (MMSE) criterion to minimize variance of effective noise by determining the scaling factor according to a coefficient vector determined by maximizing a virtual rate of the linear combinations of the Low Density Lattice codewords, a processor configured to scale the combined signal with the scaling factor to provide a linear combination of the Low Density Lattice codewords, and a decoder configured to estimate an optimal linear combination of user data based on channel state information and the linear combination of the Low Density Lattice codewords; and wherein the receiver also comprises a recovery stage configured to recover the user data from the optimal independent linear combinations.
8. The receiver according to claim 7, which is a base station for cellular wireless communications.
9. The receiver according to claim 7, in which the decoder is a Single-Input Single-Output, SISO, decoder.
10. A method of transmitting user data as codewords of a Low Density Lattice, the method comprising: adapting codewords of a shared Low Density Lattice codebook by hypercube shaping for power control; encoding by respective transmitters of a plurality of transmitters respective user data into a respective codeword of the Low Density Lattice codebook for transmissions; and transmitting by the respective transmitters the respective codewords on a carrier signal over air; wherein the plurality of transmitters use the shared Low Density Lattice codebook; whereby coefficients of linear combinations of the Low Density Lattice codewords from the multiple plurality of transmitters can be calculated, and whereby a scaling factor to be applied to a combined signal from the plurality of transmitters can be calculated based on the coefficients, wherein the calculation of the scaling factor comprises applying a minimum mean square error (MMSE) criterion to minimize variance of effective noise by determining the scaling factor according to a coefficient vector determined by maximizing a virtual rate of the linear combinations of the Low Density Lattice codewords.
11. The method of transmitting according to claim 10, in which the transmitters are user terminals for wireless cellular telecommunications.
12. A respective transmitter, the respective transmitter comprising: at least one processor; at least one memory including computer program code, the at least one memory and computer program code configured to, with the at least one processor, cause the respective transmitter to at least transmit towards a receiver respective data as codewords of a Low Density Lattice codebook comprising a set of codewords for encoding, the codebook being shared with other transmitters of an associated plurality of transmitters, wherein the respective transmitter encodes its respective data into a respective codeword for transmission and transmits the codeword via a carrier signal over air; wherein the plurality of the transmitters use the shared Low Density Lattice codebook, whereby coefficients of linear combinations of the Low Density Lattice codewords from the multiple transmitters can be calculated, and whereby a scaling factor to be applied to a combined signal from the plurality of transmitters can be calculated based on the coefficients, wherein the calculation of the scaling factor comprises applying a minimum mean square error (MMSE) criterion to minimize variance of effective noise by determining the scaling factor according to a coefficient vector determined by maximizing a virtual rate of the linear combinations of the Low Density Lattice codewords, and the codewords of the Low Density Lattice are adapted by hypercube shaping for power control.
13. The method according to claim 1, wherein the maximization of the virtual rate of the linear combinations of the Low Density Lattice codewords includes solving a maxlog function, wherein a power of the Low Density Lattice codewords is an input to the maxlog function.
14. The method according to claim 10, wherein the hypercube shaping is based on a lower triangular parity-check matrix, and transfers one integer information vector to another integer vector such that a power constraint is satisfied.
15. A receiver configured to receive user data from multiple transmitters, the at the receiver, the receiver comprising: a receiving stage configured to receive user data from each transmitter of the multiple transmitters encoded as a low density lattice codeword, multiple low density lattice codewords of the multiple transmitters being transmitted so as to be received as a combined signal; at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor cause the receiver to iteratively: calculate coefficients of linear combinations of low density lattice codewords from the multiple transmitters, calculate a scaling factor to be applied to the combined signal based on the coefficients, wherein the calculation of the scaling factor comprises applying a minimum mean square error (MMSE) criterion to minimize variance of effective noise by determining the scaling factor according to a coefficient vector determined by maximizing a virtual rate of the linear combinations of the low density lattice codewords, scale the combined signal with the scaling factor to provide a linear combination of the low density lattice codewords; and estimate an optimal linear combination of user data based on channel state information and the linear combination of the low density lattice codewords; wherein the receiver also comprises a recovery stage configured to recover the user data from the optimal independent linear combinations.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) An embodiment of the present invention will now be described by way of example and with reference to the drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) When considering the known media access method of the SCMA system mentioned above with reference to the Nikopour paper and
(9) Low Density Lattice Multiple Access (LDLMA)
(10) The inventors realised that it is possible to provide multi-user medium access, based on multi-dimensional low density lattice codes (LDLC). We refer to this as the low density lattice multiple access (LDLMA)
(11) Low density lattice codes as such are known from the paper by N. Sommer, M. Feder, and O. Shalvi, Low-density lattice codes, Information Theory, IEEE Transactions on, vol. 54, no. 4, pp. 1561-1585, April 2008.
(12) As shown in
(13) As shown in
(14) In this approach, the individual codewords of distinct network users are detected by estimating the best combination coefficients 14 subject to the knowledge of channel state information and the received combined codeword.
(15) This approach does not require the receiver 6, for example a base station (BS) 7, to distinguish each user's codeword by using joint-multiuser detection. Instead the receiver 6 estimates the best linear combination of users' codewords then retrieves the individual user's data 16 by solving a set of linear equations for the estimated best coefficients. The base station does not need to separate each user's codeword so a Single-Input Single-Output (SISO) decoder 12 is sufficient.
(16) The encoding and decoding scheme may, of course, be implemented in either or both of uplink and downlink. Especially in the downlink (i.e. towards the user terminal), a SISO decoder may be used (having linear complexity), which reduces the hardware complexity of the mobile handset and saves user terminal battery energy.
(17) The above is an outline. More detail is provided below.
(18) Low Density Lattice Code
(19) An n-dimensional lattice, denoted by , is a set of points in R.sup.n such that if x, y, then x+y, and if x, then x. A lattice can always be written in terms of a lattice generator matrix GR.sup.nn
={x=Gv:vZ.sup.n}.
(20) A low-density lattice code (LDLC) is constructed by extending the well-known low-density parity check codes (LDPC); this is done by extending the parity check matrix and syndrome of LDPC from operating over finite field to a real or complex field. An n dimensional LDLC is an n-dimensional lattice code with a non-singular generator matrix G satisfying det|G|=1, for which the parity check matrix H=G.sup.1 is sparse.
(21) The row or column degree of H is defined as the number of nonzero elements in row or column, respectively. An n-dimensional LDLC is regular if all the row degrees and column degrees of the parity check matrix are equal to a common degree d. An n-dimensional regular LDLC with degree d is called Latin square LDLC if every row and column of the parity check matrix has the same nonzero values, except for a possible change of order and random signs. The sorted sequence of these d values is referred to as the generating sequence of the Latin square LDLC.
(22) For example, a parity check matrix of a real LDLC with dimension n=6, row degree 4, column degree 3 and generating sequence {1, 0.8, 0.5} is as follows:
(23)
Encoding
(24) The encoding scheme is shown in more detail in
(25) As shown in
(26) Power Control
(27) In practice, we adopt a power control (i.e. shaping) algorithm so that LDLC codewords meet transmission power constraints. Accordingly, each user terminal 2 uses hypercube shaping, based on a lower triangular parity-check matrix H, to transfer the integer information vector v.sub.l to another integer vector v.sub.l such that x.sub.l=Gv.sub.l satisfies the power constraint.
(28) The hypercube shaping operation is given by
v.sub.l,k=v.sub.l,kMr.sub.l,k,
(29) where r.sub.l,k is calculated as
(30)
(31) Due to the linearity of LDLC, x.sub.l=x.sub.l mod from v.sub.l=v.sub.l mod M, where M is constellation size.
(32) User Data Encoding
(33) During user data transmission, binary user data are grouped to represent integers, and then mapped onto n-dimensional codewords of the LDLC lattice.
(34) Transmission
(35) Each codeword can be mapped onto distinct OFDM subcarriers or single antenna element of MIMO system.
(36) Reception and Decoding
(37) The reception and decoding stages are shown in
(38) As shown in
(39) Reception of Superimposed Codeword (Step a)
(40) Suppose the base station (BS) 7 serves L users such that the received signal at the base station is given by
(41)
where x.sub.l is the transmitted lattice codeword with dimension n; h.sub.l is the channel coefficient; and zCN(0,.sup.2I.sup.n) is the noise.
Signal Processing (Step b, Step c)
(42) In order to form the linear combination of LDLC codewords, the base station 7 scales the received signal by a factor and expands the scaled signal as
(43)
(44) where t is the linear combination of users' codewords and z.sub.eff is the effective noise.
(45) Since the noise depends on the codeword, the optimal scaling factor is obtained for this purpose by applying a minimum mean square error (MMSE) criterion such that the variance of the effective noise is minimized, as given by
(46)
(47) where P is the power of transmitted codeword; and the coefficient vector a=[a.sub.1, . . . , a.sub.L] is determined by maximizing the virtual rate of t, given by
(48)
(49) Substituting .sub.opt into the above equation results in:
(50)
(51) where
(52)
Formally, let M=LL.sup.H be the Cholesky decomposition of M, where L is some lower triangular matrix. (The existence of L follows from the fact that M is Hermitian and positive-definite). This gives aMa.sup.H=aL.sup.2. Hence, the above rate optimization is equivalent to solving the following shortest vector problem:
(53)
Obtaining Linear Combinations of Users' Messages (Step d)
(54) After obtaining a.sub.opt, the base station 7 decodes the desired linear combination t. In order to successfully recover L user's messages, the base station has to decode the K optimal and independent linear combinations, where KL.
(55) To decode the desired t, the proposed LDLMA scheme has to form the following distribution:
(56)
(57) where t.sub.j is the j-th component of t; l is the lattice codeword and l.sub.j is the j-th component of it; d(l,y) denotes the Euclidean distance between y and l; and .sup.2 (,a) is the variance of effective noise, given by
.sup.2(,a)=ha.sup.2P+.sup.2.
(58) One expands t as follows
(59)
(60) where t itself is a valid codeword of LDLC such that r, which is the linear combination of users' messages, is extracted by passing t through the SISO LDLC decoder 12, given by {circumflex over (r)}=LDLCDecoder(y), where {circumflex over (r)} is the estimated signal. This is described in more detail as follows.
(61) The decoder 12 iteratively estimates f.sub.T.sub.
(62) Let t.sub.1, . . . , t.sub.j, . . . , t.sub.n and c.sub.1, . . . , c.sub.j, . . . , c.sub.n denote the variable nodes and check nodes respectively. The SISO decoder 12 for the LDLC lattice combination t essentially operates by applying the following method:
(63) Initialization: the variable node t.sub.1 sends the message
(64)
to all neighbouring check nodes.
(65) Basic iteration of check node message: each check node shares a different message with the neighbouring variable nodes. Suppose there are m (equals the row degree of H) variable nodes connected to the check node c.sub.j. Those variable nodes are denoted by t.sub.j,,{1, . . . ,m} and we have an appropriate check equation
(66)
where Z is the integer set and .sub. is the entry of H. The message that was sent from t.sub.j, to the check node in the previous half-iteration is denoted as f.sub.(t),{1, . . . ,m}. The calculation of the message that the check node c.sub.j sends back to the variable node t.sub.j, follows the three basic steps:
(67) 1) Convolution step: all messages excluding j, (t) are convolved, where
(68)
will be substituted into f.sub.(t), {1, . . . ,m}/{}:
(69)
(70) 2) Stretching step: {tilde over (p)}.sub. (t) is stretched by .sub. to p.sub.(t)={tilde over (p)}.sub.(.sub.t).
(71) 3) Periodic extension step: p.sub.(t) is extended to a periodic function with period
(72)
given by
(73)
(74) where P.sub.(t) is the final message that is sent to the variable node t.sub.j,.
(75) Basic iteration of variable node message: each variable node sends a message to the neighbouring check node.
(76) Suppose there are e (equals to the column degree of H) check nodes connected to the variable node t.sub.j, which are denoted by c.sub.j,, {1, . . . ,e}. The message that the check node c.sub.j, sends back to the variable node t.sub.j in the previous half-iteration is denoted by P.sub.(t). The calculation of the message that is sent from the variable node t.sub.j to the check node c.sub.j, follows the two basic steps:
(77) 1) The product step:
(78)
(79) 2) the normalization step:
(80)
(81) Repetition: The basic iteration is repeated until the iteration threshold is achieved.
(82) Final Decision: To extract the desired linear combination of users' message, r, the final PDF of the codeword elements t.sub.1, . . . , t.sub.j, . . . , t.sub.n should be estimated in the final iteration without excluding any check node message in the product step, given by
(83)
(84) Then, the estimated codeword element can be obtained from {circumflex over (t)}=arg max.sub.t{tilde over (f)}.sub.j,final(t). At last, the desired r is calculated as {circumflex over (r)}=H.Math.t.
(85) Message Recovery (Step e)
(86) Given the channel state information, the base station 7 obtains the best K linear combination {circumflex over (r)}'s, indexed as [{circumflex over (r)}.sub.1, . . . , {circumflex over (r)}.sub.K], namely, at least as many optimal independent linear combinations are obtained as the number of transmitters. The coefficients of these linear combinations form a matrix
(87)
In order to successfully recover the users' messages [v.sub.1, . . . , v.sub.L], the rank of A should be no less than L. As such, the base station takes the pseudo inverse to recover [v.sub.1, . . . , v.sub.L], given by
(88)
Example
(89) Here is a simple example to illustrate the decoding procedure of LDLMA: there are 2 user terminals with access to the base stations. Both user terminals employ the same LDLC codebook , where the codewords are x.sub.1=Gv.sub.1 and x.sub.2=Gv.sub.2, respectively. Assume that the channel coefficient vector is h=[h.sub.1 h.sub.2].sup.T=[1 2.2].sup.T such that the received signal is y=1x.sub.1+2.2x.sub.2+z. Assuming after the rate optimization, the base station selects, say, .sub.1=5 and .sub.2=4 as the best two scale factors such that we have
(90)
(91) where
(92)
as t.sub.1,t.sub.2 , the SISO lattice decoder over A iteratively estimates the distributions f.sub.T.sub.
(93) The present invention may be embodied in other specific forms without departing from its essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
(94) A person skilled in the art would readily recognize that steps of various above-described methods can be performed by programmed computers. Some embodiments relate to program storage devices, e.g., digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, wherein said instructions perform some or all of the steps of said above-described methods. The program storage devices may be, e.g., digital memories, magnetic storage media such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Some embodiments involve computers programmed to perform said steps of the above-described methods.