Publication number | US7036071 B2 |

Publication type | Grant |

Application number | US 10/214,630 |

Publication date | Apr 25, 2006 |

Filing date | Aug 7, 2002 |

Priority date | Aug 7, 2002 |

Fee status | Paid |

Also published as | US20040030979 |

Publication number | 10214630, 214630, US 7036071 B2, US 7036071B2, US-B2-7036071, US7036071 B2, US7036071B2 |

Inventors | Yaron Shany, David Ben-Eli, Ilan Sutskover |

Original Assignee | Intel Corporation |

Export Citation | BiBTeX, EndNote, RefMan |

Patent Citations (3), Non-Patent Citations (4), Referenced by (1), Classifications (20), Legal Events (9) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US 7036071 B2

Abstract

A communication system includes a lattice interfered channel to transmit data from a transmitter to a receiver. In one embodiment, an encoding-modulation scheme having a rich signal constellation is used to encode data at a total rate of 0.7 bit/dimension or less before transmission into the lattice interfered channel. In another embodiment, decoding metric approximation techniques are used to process signals received from the lattice interfered channel. In still another embodiment, multilevel code (MLC) decoding is used to jointly decode an error correction code component and a lattice/MLC component of a received signal. The error correction code component may then be extracted from the decoded signal.

Claims(32)

1. A communication system comprising:

an encoder-modulator to map input data into a signal constellation having more than 2^{k }signal points in k dimensions; and

a lattice interfered channel having an underlying channel together with at least one of the following: addition of at least one lattice vector at an input of the underlying channel and addition of at least one lattice vector at an output of the underlying channel,

wherein said mapped input data is transmitted through said lattice interfered channel at a rate of no greater than 0.7 bits/dimension.

2. The communication system of claim 1 , wherein:

said encoder-modulator includes a separate modulator and a separate encoder.

3. The communication system of claim 1 , wherein:

said encoder-modulator maps said input data into said signal constellation as part of a single integrated mapping.

4. The communication system of claim 1 , wherein:

said lattice interfered channel includes a modulo lattice unit to perform a modulo lattice operation on said mapped input data before said mapped input data reaches said underlying channel.

5. The communication system of claim 1 , wherein:

said lattice interfered channel includes a modulo lattice unit to perform a modulo lattice operation on output data of said underlying channel.

6. A transmitter comprising:

an encoder-modulator to map input data into a k-dimensional signal constellation having greater than 2^{k }signal points at a rate of no more than 0.7 bits/dimension; and

a modulo lattice unit to perform a modulo lattice operation on the mapped input data.

7. The transmitter of claim 6 , wherein:

said encoder-modulator includes a separate modulator and a separate encoder.

8. The transmitter of claim 6 , wherein:

said encoder-modulator maps said input data into said signal constellation as part of a single integrated mapping.

9. A method for transmitting data in a communication system, comprising:

encoding and modulating data according to a signaling scheme having a rich constellation to generate a communication signal; and

transmitting said communication signal into a lattice interfered channel at a rate of no more than 0.7 bits/dimension.

10. The method of claim 9 , wherein:

said lattice interfered channel includes an underlying channel and a modulo lattice unit to perform a modulo lattice operation on a signal flowing toward said underlying channel.

11. The method of claim 9 , wherein:

said lattice interfered channel includes an underlying channel and a modulo lattice unit to perform a modulo lattice operation on a signal flowing out of said underlying channel.

12. The method of claim 9 , wherein:

said lattice interfered channel includes an underlying channel, a first modulo lattice unit to perform a modulo lattice operation on a signal flowing toward said underlying channel, and a second modulo lattice unit to perform a modulo lattice operation on a signal flowing out of said underlying channel.

13. A method for use in processing a received signal in a communication system having a lattice interfered channel, said lattice interfered channel having an associated lattice Λ, comprising:

identifying a point in the lattice Λ that is closest to a received vector;

obtaining a difference between the identified point and the received vector; and

approximating a bit likelihood measure using the difference between the identified point and the received vector, wherein approximating includes calculating a sum of probabilities associated with a subset of lattice points within lattice Λ,

wherein prior to transmission, input data is mapped into a signal constellation having more than 2^{k }signal points in k dimensions for transmission through the lattice interfered channel at a rate of no greater than 0.7 bits/dimension.

14. The method of claim 13 , wherein:

said subset of lattice points includes points within Λ having a norm no greater than a predetermined value ρ.

15. A method for use in processing a received signal in a communication system having a lattice interfered channel, said lattice interfered channel having an associated lattice Λ, comprising:

identifying a point in the lattice Λ that is closest to a received vector;

obtaining a difference between the identified point and the received vector; and

approximating a bit likelihood measure using the difference between the identified point and the received vector, wherein approximating includes calculating a sum of probabilities associated with a subset of lattice points within lattice Λ ,

wherein calculating a sum of probabilities includes summing P({overscore ({tilde over (y)}+{overscore (λ)}|{overscore (S)}={overscore (s)}) over the subset of lattice points and a subset of constellation points, where {overscore ({tilde over (y)} is the difference between the identified point and the received vector, {overscore (λ)} is a point within the subset of lattice points, and {overscore (s)} is a possible value of a random transmitted symbol {overscore (S)}.

16. A method for use in processing a received signal in a communication system having a lattice interfered channel, said lattice interfered channel having an associated lattice Λ, comprising:

identifying a point in the lattice Λ that is closest to a received vector;

obtaining a difference between the identified point and the received vector; and

approximating a bit likelihood measure using the difference between the identified point and the received vector, wherein approximating includes calculating a sum of probabilities associated with a subset of lattice points within lattice Λ ,

wherein calculating a sum of probabilities includes summing the probability product P({overscore ({tilde over (y)}+{overscore (λ)}|{overscore (S)}={overscore (s)})P({overscore (λ)}|{overscore (S)}={overscore (s)})P({overscore (S)}={overscore (s)}) over the subset of lattice points, where {overscore ({tilde over (y)} is the difference between the identified point and the received vector, {overscore (λ)} is a point within the subset of lattice points, and {overscore (s)} is a possible value of a random transmitted symbol {overscore (S)}.

17. A method for use in processing a received signal in a communication system having a lattice interfered channel, said lattice interfered channel having an associated lattice Λ, comprising:

identifying a point in the lattice Λ that is closest to a received vector;

obtaining a difference between the identified point and the received vector; and

approximating a bit likelihood measure using the difference between the identified point and the received vector, wherein approximating includes calculating a sum of probabilities associated with a subset of lattice points within lattice Λ,

wherein approximating a bit likelihood measure includes calculating the following bit likelihood approximation:
$P({b}_{l}=0\uf603\stackrel{\_}{y})\cong \frac{\sum _{\stackrel{\_}{s}\in {\Omega}_{0}\left(l\right)}\sum _{\stackrel{\_}{\lambda}\in T\left(\Lambda \right)}P(\stackrel{\stackrel{~}{\_}}{y}+\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})P(\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})P\left(\stackrel{\_}{S}=\stackrel{\_}{s}\right)}{\sum _{\stackrel{\_}{s}\in \Omega}\sum _{\stackrel{\_}{\lambda}\in T\left(\Lambda \right)}P(\stackrel{\stackrel{~}{\_}}{y}+\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})P(\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})P\left(\stackrel{\_}{S}=\stackrel{\_}{s}\right)}$

where {overscore ({tilde over (y)} is the difference between the identified point and the received vector, l is a bit position index, Ω represents an encoding-modulation constellation, Ω_{0}(l) represents a set of constellation points having zero in the lth bit position, T(Λ) is a subset of lattice points within Λ having a norm that is no greater than a predetermined value, and {overscore (S)} is a random transmitted symbol.

18. A method for use in processing a received signal in a communication system having a lattice interfered channel, said lattice interfered channel having an associated lattice Λ, comprising:

identifying a point in the lattice Λ that is closest to a received vector;

obtaining a difference between the identified point and the received vector; and

approximating a bit likelihood measure using the difference between the identified point and the received vector, wherein approximating includes calculating a sum of probabilities associated with a subset of lattice points within lattice Λ ,

wherein approximating a bit likelihood measure includes calculating the following bit likelihood approximation:
$P({b}_{l}=0\uf603\stackrel{\_}{y})\cong \frac{\sum _{\stackrel{\_}{s}\in {\Omega}_{0}\left(l\right)}\sum _{\stackrel{\_}{\lambda}\in T\left(\Lambda \right)}P(\stackrel{\stackrel{~}{\_}}{y}+\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})}{\sum _{\stackrel{\_}{s}\in \Omega}\sum _{\stackrel{\_}{\lambda}\in T\left(\Lambda \right)}P(\stackrel{\stackrel{~}{\_}}{y}+\stackrel{\_}{\lambda}\uf603\stackrel{\_}{S}=\stackrel{\_}{s})}$

where {overscore ({tilde over (y)} is the difference between the identified point and the received vector, l is a bit position index, Ω represents an encoding-modulation constellation, Ω_{0}(l) represents a set of constellation points corresponding to zero in the lth bit position, T(Λ) is a subset of lattice points within Λ having a norm that is no greater than a predetermined value, and {overscore (S)} is a random transmitted symbol.

19. A method for processing a communication signal, comprising:

providing a signal having an error correction codeword component, a translation component, and an additive interference component;

jointly decoding the error correction codeword component and the translation component of the signal using multilevel code (MLC) decoding to generate a decoded signal; and

extracting the error correction codeword component from the decoded signal.

20. The method of claim 19 wherein:

providing a signal includes receiving an error correction codeword from a lattice interfered channel.

21. The method of claim 19 wherein:

said translation component includes an MLC translation.

22. The method of claim 19 wherein:

said translation component includes a lattice code translation.

23. The method of claim 19 wherein:

said error correction codeword component of the signal includes a codeword of a corresponding error correction code; and

said translation component of the signal includes a translation associated with a lattice code; and

said error correction code and said lattice code collectively form an MLC.

24. The method of claim 19 wherein:

said error correction codeword component of the signal includes a codeword of a corresponding error correction code; and

said translation component of the signal includes a translation associated with a first MLC; and

said error correction code and said first MLC collectively form a second MLC.

25. A receiver comprising:

a multilevel code (MLC) decoder to jointly decode an error correction code component and a translation component of a received signal to generate a decoded signal; and

an ECC extraction unit to extract the error correction code component from the decoded signal.

26. The receiver of claim 25 wherein:

said MLC decoder uses iterative decoding techniques.

27. The receiver of claim 25 wherein:

said translation component of said received signal includes an MLC translation.

28. The receiver of claim 25 wherein:

said translation component of said received signal includes a lattice code translation.

29. The receiver of claim 25 wherein:

said error correction code component and said translation component together form a code point of an MLC.

30. A communication device comprising:

a transmitter to generate transmit signals for delivery to a remote receiver through a lattice interfered channel, said transmitter including an error correction encoder to encode input data according to an error correction code, wherein said error correction code is selected so that a multilevel code is formed by the collective action of the error correction coder and the lattice interfered channel during transmitter operation,

wherein the error correction encoder includes a modulator to map the encoded input data into a signal constellation having more than 2^{k }signal points in k dimensions for transmission through the lattice interfered channel at a rate of no greater than 0.7 bits/dimension.

31. The communication device of claim 30 , wherein:

said transmitter includes a modulo lattice unit to perform a modulo lattice operation on a signal, said modulo lattice unit forming a part of the lattice interfered channel.

32. The communication device of claim 30 , wherein:

the remote receiver includes a modulo lattice unit to perform a modulo lattice operation on a signal, said modulo lattice unit forming a part of the lattice interfered channel.

Description

A lattice interfered channel is a channel that includes the addition of one or more lattice vectors. Such a channel may be obtained in a communication system when a transmitter and/or receiver in the system performs the modulo lattice operation on a corresponding communication signal. In one known application, for example, a modulo lattice operation is performed within a transmitter as part of an interference cancellation scheme to cancel known interference in a corresponding communication channel (see, e.g., “Capacity and Lattice-Strategies for Canceling Known Interference,” by Erez et al., *Proc. *2000 *Int. Symp. Inform. Theory Appl.*, Honolulu, Hi., November 2000). The modulo lattice operation has also been used within multistage decoders for decoding multilevel codes. One such use is described in the paper “Sphere-Bound-Achieving Coset Codes and Multilevel Coset Codes,” by Forney, Jr., et al., *IEEE Transactions on Information Theory, *vol. 46, no. 3, pp. 820–850, May 2000. Other applications involving lattice interfered channels also exist. Thus, there is a general need for practical techniques and structures for effectively implementing systems having a lattice interfered channel.

In the following detailed description, reference is made to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention, although different, are not necessarily mutually exclusive. For example, a particular feature, structure, or characteristic described herein in connection with one embodiment may be implemented within other embodiments without departing from the spirit and scope of the invention. In addition, it is to be understood that the location or arrangement of individual elements within each disclosed embodiment may be modified without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In the drawings, like numerals refer to the same or similar functionality throughout the several views.

**100**. The lattice interfered channel **100** is a channel having an arbitrary underlying channel **102** (which may include, for example, an additive white Gaussian noise channel, etc.) with the addition of at least one lattice vector **104**, **106** at the input and/or output of the underlying channel **102**. The lattice vector(s) added at the underlying channel input and/or output may possibly come from different lattices, but are often related to the same lattice.

**10** in accordance with an embodiment of the present invention. As illustrated, the communication system **10** includes: a transmitter **12**, a communication channel **14**, and a receiver **16**. The transmitter **12** receives input data which it uses to generate a transmit signal that is then delivered to the communication channel **14**. The transmit signal propagates through the communication channel **14** to the input of the receiver **16**. The receiver **16** then processes the received signal to recover the original data. As illustrated, either the transmitter **12**, the receiver **16**, or both the transmitter **12** and the receiver **16**, include a modulo lattice unit **20**, **22** for performing a modulo lattice operation on a corresponding signal. The combination of the modulo lattice unit (or units) and the communication channel **14** (i.e., the underlying channel) form a lattice interfered channel in the system **10**. Note that there are other possible realizations for a lattice interfered channel apart from the one illustrated in the system **10** of

A lattice is a discrete infinite collection of points (or vectors) that is created by the repetition of a base or unit cell throughout space. A lattice must satisfy several rules; namely, it is closed under addition, it contains an inverse element for each lattice element, it contains the zero element (i.e., the origin of the coordinate axes is a point of the lattice), and it is discrete. For a given lattice and a given input vector, the modulo lattice operation first finds a point in the lattice that is closest to the input vector and then determines the difference between that point and the input vector. More specifically, let {overscore (ν)} be a real vector in n space (i.e., {overscore (ν)}εR^{n}) and let Λ⊂R^{n }be a lattice. The reduction of {overscore (ν)} modulo Λ (denoted by mod_{Λ}({overscore (ν)})) is then calculated in two stages: (1) a vector {overscore (λ)}εΛ is first found that is closest to {overscore (ν)}, and (2) the vector {overscore (λ)} is substracted from {overscore (ν)} to generate the output of the modulo operation. For example, if Λ=Z is the integer lattice, then mod_{Λ}(1.4)=1.4−1=0.4 and mod_{Λ}(38.7)=38.7−39=−0.3. Similarly, if Λ is the two-dimensional hexagonal lattice, (i.e., Λ={i·(1,0)+j·(1/2,√{square root over (3)}/2)|i,j integers}), then:

mod_{Λ}((0.1,0.1))=(0.1,0.1)−(0,0)=(0.1,0.1) and

mod_{Λ}(0.55,0.8)=(0.55,0.8)−(0.5,0.8660254)=(0.05,−0.0660254).

As described above, a modulo lattice operation may be performed within a communication system for a variety of different reasons.

In addition to the optional modulo lattice unit **20**, the transmitter **12** includes an encoder-modulator **18** to encode and modulate the input data in a predetermined manner for transmission into the channel **14**. The encoding and modulation may be performed jointly by the encoder-modulator **18** as part of a single integrated mapping or the encoding and modulation may be performed separately (e.g., by separate encoder and modulator units within the encoder-modulator **18**). The encoded and modulated data is delivered to the modulo lattice unit **20** (if present) which performs the modulo lattice operation on the signal. Although not shown in **14** for transmission to the receiver **16**. Additional processing functionality (not shown) may also be present within the transmitter **12**. For example, in a wireless implementation, radio frequency (RF) processing functionality (e.g., a frequency converter, an RF power amplifier, etc.) will typically be provided within the transmitter **12**.

In the communication channel **14**, the transmitted signal may be acted upon by additive noise. For example, in at least one embodiment, additive white Gaussian noise (AWGN) is present in the channel **14**. Channel types other than additive noise channels may also be used in accordance with the present invention. Certain forms of signal distortion (e.g., inter-symbol interference or ISI) may also occur in the channel **14**. This noise and distortion may modify the transmitted signal in a manner that makes it more difficult to recover the original data within the receiver **16**.

As described above, the receiver **16** may include a modulo lattice unit **22** to perform a modulo lattice operation on a received signal. As in the transmitter **12**, this modulo lattice operation may be performed as part of a more complex processing function (e.g., as part of a multistage decoding scheme, etc.). In addition, the receiver **16** may include a bit likelihood calculator **24** and a decoder **26**. The bit likelihood calculator **24** calculates, based on the signal received from the channel and the channel statistics, the likelihoods that particular bit values were transmitted by the transmitter **12**. These bit likelihoods are then delivered to the decoder **26** for use in decoding the received signal to recover the original data. In one approach, the bit likelihood calculator **24** determines the following probability vector for delivery to the decoder **26**:

(*P*(*b* _{1}=0*|{overscore (y)}*),*P*(*b* _{2}=0*|{overscore (y)}*), . . . ,*P*(*b* _{k}=0*|{overscore (y)}*))

where {overscore (y)} is the signal received from the lattice interfered channel, k is the number of bits associated with a transmitted symbol, and b_{1}, b_{2}, . . . , b_{k }represent the coded bits (possibly corresponding to several component codes). Other forms of likelihood information may alternatively be developed by the bit likelihood calculator **24** including, for example, likelihood ratios, log likelihood ratios (LLRs), probability differences, and others. Like the transmitter **12**, the receiver **16** may include other functionality that is not illustrated in the figure. For example, in a wireless system, RF processing functionality (e.g., a low noise amplifier, filters, a frequency converter, etc.) may be provided within the receiver **16**. The decoder **26** may include any form of decoder that uses predetermined bit likelihood information during the decoding process.

In accordance with one aspect of the present invention, the encoder-modulator **18** within the transmitter **12** uses a rich constellation in the process of encoding and modulating the input data for transmission into the lattice interfered channel. A rich constellation is a constellation in n-space (R^{n}) that contains more than 2^{n }signal points. Examples of signaling schemes in two dimensions that use a rich constellation include 16-QAM (quadrature amplitude modulation) and 8-PSK (phase shift keying). It was determined that increased capacity can be achieved in a lattice interfered channel by utilizing a rich constellation to encode and modulate the data to be transmitted through the channel, even at low rates (e.g., rates of 0.7 bits/dimension or less). This is in contrast to non lattice interfered channels (e.g., a conventional AWGN channel, etc.) that typically achieve little or no improvement in capacity with the use of a rich constellation at low rates. As used herein, the term “rate” refers to the total rate resulting from the code rate and the corresponding signal constellation.

In accordance with another aspect of the present invention, reduced computational complexity is achieved within a receiver in a system having a lattice interfered channel by approximating the corresponding bit likelihoods developed in the receiver (e.g., within the bit likelihood calculator **24** of _{i}(Λ)(i≧0) are defined that each include the ith smallest norm points of a lattice Λ. The set M_{0}(Λ) thus includes the zero vector as its only element. The set M_{1}(Λ) includes all of the first smallest norm points in the lattice Λ (other than the zero vector), the set M_{2}(Λ) includes the second smallest norm points in the lattice Λ, and so on. The sets M_{i}(Λ) will be referred to herein as the “tiers” of the lattice Λ. The constellation that is used in the process of encoding and modulating the input data will be represented as Ω herein. For each possible bit position l in a transmitted symbol, a set Ω_{o}(l) may be defined as the set of constellation points having zero in the lth bit position (1≦l≦k).

To approximate the bit likelihoods, a decoding accuracy may first be selected. In one approach, for example, this involves the selection of the number of tiers t+1 of the lattice Λ that will be used in the decoding process. A higher number of tiers will often result in a more accurate approximation, but will involve a higher computational complexity. Likewise, a smaller number of tiers may lead to a less accurate approximation, but will involve less computational complexity. In one approach, the lowest number of tiers is selected that will provide a desired decoding performance level. Once the number of tiers has been selected, a set T(Λ) is defined as the set including all relevant tiers (i.e., T(Λ)=M_{0}(Λ)∪M_{1}(Λ)∪ . . . ∪M_{t}(Λ)). Thus, the set T(Λ) will include all lattice points having a norm that is less than or equal to a predetermined value (this predetermined norm being the norm of points within M_{t}(Λ)).

If the receiver **16** does not include a modulo lattice unit **22** at its input, the bit likelihood calculator **24** will first reduce the received signal {overscore (y)} modulo Λ. The output of this operation is defined as {overscore ({tilde over (y)}={overscore (y)}−{overscore ({circumflex over (λ)}, where {overscore (y)} is the signal received from the channel **14** and {overscore ({circumflex over (λ)} is the closest lattice point to {overscore (y)}. If the modulo lattice unit **22** is present, this operation is not necessary in the bit likelihood calculator **24**, and the operation is written simply {overscore ({tilde over (y)}={overscore (y)}. The approximated bit likelihoods may then be approximated as follows:

where {overscore (S)} is the (random) transmitted symbol and P({overscore (y)}′|{overscore (S)}={overscore (s)}) is determined from the channel statistics. For an AWGN channel, for example, the probability P({overscore (y)}′|{overscore (S)}={overscore (s)}) is calculated as follows:

where σ^{2 }is the noise variance, {overscore (y)}′=(y′_{1}, y′_{2}, . . . , y′_{n}) is any real vector, and {overscore (s)}=(s_{1}, s_{2}, . . . , s_{n}). In many applications, both P({overscore (λ)}|{overscore (S)}={overscore (s)}) and P({overscore (S)}={overscore (s)}) may be eliminated from the numerator and denominator as they are not dependent on the specific value of {overscore (s)} and {overscore (λ)}. Thus, in these applications, the approximated likelihood expression reduces to:

The above approximated likelihoods may be calculated for each bit position l associated with the transmitted symbol. The resulting likelihood values may then be delivered to the decoder **26** for use in recovering the original data.

Using the above-described equations, approximations maybe determined for bit likelihoods having the form P(b_{1}=0|{overscore (y)}), 1≦l≦k. In an equivalent manner, approximations can be developed for other forms of likelihood information including, for example, likelihood ratios P(b_{1}=0|{overscore (y)})/Pr(b_{1}=1|{overscore (y)}), log-likelihood ratios (LLR), likelihood differences, and/or similar likelihood measures. The type of likelihood information that is developed will often depend on the specific decoding method being implemented.

An example of the above-described metric approximation technique follows for a signaling scheme having the symbol constellation Ω={−3,−1,1,3} (i.e., 4-PAM). Assume that pairs of input bits are mapped to constellation points in a transmitter as follows: 00

−3,01−1,111,103 (i.e., Gray mapping). Suppose also that the transmitter adds a large dither signal to the transmit symbol and then reduces the result modulo lattice Λ consisting of all integers divisible by 5 (i.e., Λ={5·i|i integer}=5Z). Now suppose that the channel output is y=8.23 and the receiver does not include a modulo lattice unit

where S is the random transmitted symbol, p(y′|S=s) is determined from the channel statistics, and {−3,−1} are the symbols with zero in the first bit. Note that the second summation in both the numerator and the denominator is performed over the entire lattice Λ=5Z (i.e., they are infinite sums). When the dither signal is strong and independent of the transmitted symbol S, then P(λ|S=s) is not a function of λ or s. Also, when S is uniformly distributed over its sample space, then P(S=s) is not a function of s. In this case, the non-approximated value of P(b_{1}=0|y) becomes:

To reduce the complexity of the calculation, y is replaced by mod_{Λ}(y) and the sums are calculated over all lattice points λ with |λ|≦ρ, for some predetermined number ρ (e.g., all tiers having norms less than or equal to ρ). Since y=8.23, {circumflex over (λ)}=10 and mod_{Λ}(y)=8.23−10=−1.77. If ρ=15, for example, then the approximate likelihoods corresponding to the above two equations are, respectively:

By replacing each summation over sε{−3,−1} by a summation over sε{−3,3} in the above expressions, the corresponding expressions for P(b_{2}=0|y) may be obtained, where b_{2 }is the second of the two bits that determine the constellation point.

**30** for processing a received signal in a communication system having a lattice interfered channel. An input vector {overscore (y)} is first received (block **32**). A point is then identified within a lattice Λ (i.e., a lattice associated with the lattice interfered channel) that is closest to the received vector {overscore (y)} (block **34**). A difference {overscore ({tilde over (y)} is next obtained between the identified point and the vector {overscore (y)} (block **36**). If the lattice interfered channel includes a modulo lattice operation at the input of the receiver, the identification of the closest point and the determination of the difference between the point and the received signal is already performed as part of the modulo lattice operation and we write {overscore ({tilde over (y)} for {overscore (y)} itself. Otherwise, the above acts are performed on the signal output by the lattice interfered channel. A bit likelihood measure (e.g., P(b_{1}=0|{overscore (y)})) is next approximated using the difference {overscore ({tilde over (y)} determined above (block **38**). This approximation includes summing together probabilities associated with a subset of points within the lattice Λ. In one approach, the subset of points within the lattice Λ includes all points of the lattice having a norm no greater than a predetermined value ρ. The probabilities that are summed together may include, for example, the probability product P({overscore ({tilde over (y)}+{overscore (λ)}|{overscore (S)}={overscore (s)})P({overscore (λ)}|{overscore (S)}={overscore (s)})P({overscore (S)}={overscore (s)}) described above, for each point {overscore (s)} within an appropriate subset of constellation points, and for each point {overscore (λ)} within the appropriate finite subset of Λ. This summation would need to be determined, for example, during calculation of the approximated bit likelihood:

Similarly, the probability P({overscore ({tilde over (y)}+{overscore (λ)}|{overscore (S)}={overscore (s)}) may be summed over the appropriate subsets of lattice and constellation points. This summation would need to be determined, for example, during calculation of the approximated bit likelihood:

As will be appreciated, other approximated bit likelihood measures may also require calculation of the above identified summations (e.g., likelihood ratios, log likelihood ratios, etc.).

**40** in accordance with an embodiment of the present invention. As illustrated, the communication system **40** includes: a transmitter **42**, an additive lattice interfered channel **44**, and a receiver **46**. The additive lattice interfered channel **44** is comprised of an underlying additive noise channel (which, for example, can include the additive white Gaussian noise channel) together with addition of lattice vectors at the input and/or output of the underlying channel. The lattice vectors possibly added at the input and output of the underlying channel may come from different lattices, but are usually from the same lattice. The receiver **46** includes a multilevel code (MLC) decoder **48** and an ECC extraction unit **50**. The transmitter **42** includes, among other things, an error correction coder (ECC) **52** to encode input data using an error correction code. In one approach, the error correction code has the form:

*C=C* _{1}+2*C* _{2}+4*C* _{3}+ . . . +2^{j−1} *C* _{j}

where C_{i }are binary codes (that may or may not be nested). Such a code may exist when, for example, the ECC is constructed of j independent codes. This code format may also result when a single length n·j code is tiled (e.g., after interleaving) to j tiles of length n, where the individual tiles are denoted by C_{i}; iε{1,2, . . . ,j}. Each codeword output by the ECC **52** is delivered to the additive lattice interfered channel **44** for transmission to the receiver **46**. Each word received by the receiver **46** will thus have the form:

*{overscore (y)}={overscore (c)}+ē+{overscore (λ)}*

where {overscore (c)} is the transmitted ECC codeword, ē is the additive interference, and {overscore (λ)} is a lattice translation. This same received word format will also result if the above-described error correction code is added to a lattice code or a multilevel code (MLC) having the form:

Λ=α(2^{j} *C* _{j+1}+ . . . +2^{k−1} *C* _{k}+2^{k} *Z* ^{n})

where 2^{k}Z^{n }is the translation term, Z is the set of integers, and α≧1 (in the special case where α=1, the total induced MLC is actually a multilevel coset code). The receiver **46** is operative for, among other things, inferring the transmitted ECC codeword {overscore (c)} based on the received word {overscore (y)}.

Initially, the receiver **46** views the received word {overscore (y)} as the sum of a multilevel code point (i.e., {overscore (c)}+{overscore (λ)}) and additive interference (i.e., ē). The MLC decoder **48** jointly decodes {overscore (c)} and {overscore (λ)} from the received word {overscore (y)} and outputs the resulting MLC point {overscore (c)}+{overscore (λ)}. The MLC decoder **48** may use any known MLC decoding technique to perform the joint decoding. The ECC extraction unit **50** receives the decoded MLC code point from the MLC decoder **48** and processes the information to extract the ECC codeword {overscore (c)}. Since the mapping of {overscore (c)} and {overscore (λ)} to the MLC point {overscore (c)}+{overscore (λ)} is typically a bijective function, {overscore (c)} and {overscore (λ)} may be easily recovered when {overscore (c)}+{overscore (λ)} is known. For example, for the code formulation described above, {overscore (c)} and {overscore (λ)} will correspond to specific coordinates of the binary expansion of {overscore (c)}+{overscore (λ)} (i.e., the first coordinates of the binary expansion will correspond to {overscore (c)} and the remaining coordinates will correspond to {overscore (λ)}). Thus, the codeword {overscore (c)} may be recovered by appropriately selecting the coordinates of the expansion. Once the ECC codeword {overscore (c)} has been extracted, the error correction coding may be removed to recover the original data word.

**60** for processing a communication signal in accordance with an embodiment of the present invention. A signal is received that includes an error correction codeword component, a lattice/MLC translation component, and an additive interference component (block **62**). The error correction codeword component and the lattice/MLC translation component of the signal are viewed collectively as a single codeword of a multilevel code. Such a signal may be formed, for example, by the passage of an ECC codeword through an additive lattice interfered channel or by the simple addition of a lattice code or multilevel code to a corresponding error correction code. Using MLC decoding techniques, the error correction codeword component and the lattice/MLC translation component of the signal are jointly decoded (block **64**). The error correction codeword component of the signal is then extracted from the decoded signal (block **66**). The extraction may include, for example, determining a binary expansion of the decoded signal and then selecting coordinates of the expansion that correspond to the error correction codeword component. Other extraction techniques may alternatively be used. Furthermore, the output of the extraction unit need not necessarily be comprised of hard bit values, and soft outputs for the error correction codeword component are allowed. The error correction codeword component may then be output for further processing (block **68**).

The above-described techniques for recovering an ECC codeword maybe used whenever an ECC and a corresponding lattice/MLC type code (e.g., associated with a lattice interfered channel) can be viewed collectively as a single multilevel code. In at least one approach, an ECC is selected for a communication system (e.g., a system having an additive lattice interfered channel) so that the above described techniques can be implemented in a receiver of the system. Using the above-described techniques, maximum a-posteriori decoding may be approximated with relatively low complexity. An additional reduction in complexity may be achieved by performing the joint decoding of the ECC and lattice/MLC using iterative decoding techniques. In at least one implementation, the previously described bit likelihood approximation techniques are used during the joint decoding of the ECC and lattice/MLC. However, as described above, any known method of performing MLC decoding may be used. It should be appreciated that the codes C and Λ do not have to be made up of binary constituent codes to perform the above-described techniques. That is, any small alphabet size may be used.

Minimum probability of error may be achieved when the decisions correspond to

In at least one approach, decoding is simplified by approximating this term using max_{{overscore (λ)}}P({overscore (c)},{overscore (λ)}|{overscore (y)}). This is because the evaluation of max_{{overscore (c)}}max_{{overscore (λ)}}P({overscore (c)},{overscore (λ)}|{overscore (y)})=max_{{{overscore (c)},{overscore (λ)}}}P({overscore (c)}, {overscore (λ)}|{overscore (y)}) is significantly less complex than the evaluation of

Although the present invention has been described in conjunction with certain embodiments, it is to be understood that modifications and variations may be resorted to without departing from the spirit and scope of the invention as those skilled in the art readily understand. Such modifications and variations are considered to be within the purview and scope of the invention and the appended claims.

Patent Citations

Cited Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US4933956 * | Feb 11, 1986 | Jun 12, 1990 | Codex Corporation | Simplified decoding of lattices and codes |

US5297170 * | Aug 21, 1990 | Mar 22, 1994 | Codex Corporation | Lattice and trellis-coded quantization |

US5388124 * | Jun 12, 1992 | Feb 7, 1995 | University Of Maryland | Precoding scheme for transmitting data using optimally-shaped constellations over intersymbol-interference channels |

Non-Patent Citations

Reference | ||
---|---|---|

1 | * | Be'ery et al., Fast decoding of the leech lattice, Aug. 1989, IEEE Journal on Selected areas in Comm. vol. 7, No. 6, p. 956-966. |

2 | Erez, U , et al., "Capacity and Lattice-Strategies for Canceling Known Interference", Proceedings of ISITA 2000, Honolulu, Hawaii, (Nov. 2000), 681-684. | |

3 | Forney Jr., G D., et al., "Sphere-bound-achieving coset codes and multilevel coset codes", IEEE Transactions on Information Theory, 46(3), (May 2000), 820-850. | |

4 | * | Wang et al., Leech lattice coding and modulation for IEEE 802.11A WLAN, 2001, IEEE, p. 38-42. |

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US8307184 * | Aug 5, 2010 | Nov 6, 2012 | Nissani Nissensohn Daniel Nathan | Communication and memory capacity enhancement method and apparatus |

Classifications

U.S. Classification | 714/810, 714/755 |

International Classification | H03M13/39, H03M13/45, H04L1/00, H03M13/00, G06F11/00, H03M5/20, H03M13/25 |

Cooperative Classification | H03M13/25, H04L1/0045, H03M13/09, H03M5/20, H04L1/0058, H03M13/3746 |

European Classification | H03M13/37K, H03M5/20, H04L1/00B5, H03M13/25, H04L1/00B7B1 |

Legal Events

Date | Code | Event | Description |
---|---|---|---|

Aug 7, 2002 | AS | Assignment | Owner name: D.S.P.C. TECHNOLOGIES LTD., ISRAEL Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHANY, YARON;BEN-ELI, DAVID;SUTSKOVER, ILAN;REEL/FRAME:013183/0690;SIGNING DATES FROM 20020805 TO 20020806 |

Nov 8, 2006 | AS | Assignment | Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DSPC TECHNOLOGIES LTD.;REEL/FRAME:018498/0418 Effective date: 20060926 |

Nov 28, 2006 | CC | Certificate of correction | |

Oct 21, 2009 | FPAY | Fee payment | Year of fee payment: 4 |

Jul 4, 2013 | AS | Assignment | Owner name: MICRON TECHNOLOGY, INC., IDAHO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:030747/0001 Effective date: 20111122 |

Sep 25, 2013 | FPAY | Fee payment | Year of fee payment: 8 |

May 12, 2016 | AS | Assignment | Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN Free format text: SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038669/0001 Effective date: 20160426 |

Jun 2, 2016 | AS | Assignment | Owner name: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:038954/0001 Effective date: 20160426 |

Jun 8, 2017 | AS | Assignment | Owner name: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGEN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:043079/0001 Effective date: 20160426 |

Rotate