Get Complete Project Material File(s) Now! »

## Hypercube shaping

First, we consider the hypercube shaping based on Tomlinson-Harashima precoding [83]. This method uses a hypercube shaping domain, and it finds the vectors bs such that the components of the shaped codewords xs are uniformly distributed. The shap-ing operation is: bsi = bi − Liki i = 1, 2, · · · , n. (2.3).

### Nested shaping

Nested lattice Let’s consider two lattices Λ and Λs such that Vol(Λs) ≥ Vol(Λ). Λs is called the coarse lattice and Λ is called the fine lattice. If Λ and Λs are nested lattices, it means that Λs is a sublattice of Λ (Λs ⊂ Λ): ∀ x ∈ Λs, x ∈ Λ.

A simple choice for Λs is to take a scaled version of the lattice Λ of factor L. An example of two nested lattices is shown in Figure 2.5, where the fine lattice Λ is the hexagonal lattice A2 (blue dots) and the coarse lattice Λs is a scaled version of A2 of factor three (black squares). Using vector notations for (2.3), the new vector of integers bs is written as: bs = b − Lk. (2.4).

Applying linear encoding to Equation (2.4) yields to: xs = x − LGk. (2.5).

The nested shaping mechanism is explained as follows: The operation consists in minimizing the amplitude of the transmitted symbol xs, which is equivalent to minimizing the amplitude of (x − LGk). In order to do so, we must find the closest coarse lattice point LGk to the fine lattice point x, which can be done by applying a sphere decoder on x in the lattice having the generator matrix LG, which is the coarse lattice Λs. As a result, the transmitted lattice points will be uniformly distributed along the Voronoi region of the coarse lattice. In conclusion, the resulting scheme is equivalent to nested lattice coding [30], [25], where the shaping domain of a lattice is chosen to be the Voronoi region of the coarse lattice, that is a scale version of the fine lattice.

#### Influence of the list size

The complexity and the performance of the proposed decoder depend on the list size ls. The influence of the list size is depicted in Figure 2.9, where list sizes of 1, 3, 5, 10 and 15 are applied to an E8 lattice with η = 1 bit/dim. Note that parameter ls has a major influence for low spectral eﬃciencies. Note also that ls = 1 corresponds to the naive lattice decoder. It is clear from the simulation results that the higher the list size, the better the error rate. However, as from a certain size (here equal to 10), the performances stop improving, showing that opting for a longer size is unnecessary. Note also that the increase in complexity induced by implementing a LSD instead of a single output sphere decoder is not a major issue since in all our simulations, the search radius is such that a much higher number of lattice points than ls were collected.

**Shaping on the Rayleigh fading channel**

We now assume that the lattice code is used over a fast Rayleigh fading channel, with perfect channel state information at the receiver. The received vector is then: y = Hx + w.

where H = diag(hi) for i = 1, · · · , n is the matrix of random independent fading components hi. As already pointed out in Section 1.5.2, when dealing with lattice codes over fading channels, the decoding process can simply be carried out over the new lattice Λc having the generator matrix: Gc = H.G = diag(h1, · · · , hn) × G.

Still taking lattice E8 as an example, the simulation results are shown in Figure 2.10, where the WER per 2 dimensions is plotted as a function of the channel SNR. We notice a diﬀerence in each curve’s behaviour between a low (η = 1) and a high (η = 4) spectral eﬃciency. For η = 4 bits/dim, lattice codes with nested shaping at the encoder begin to outperform the lattice with no shaping, which does not happen for lower spectral eﬃciencies. This can be due to the fact that for low spectral eﬃciencies, a fewer number of E8 lattice points is considered for transmission, i.e., the points are more bounded, in a way that nested shaping does not have a lot to add to the system’s performances.

**Table of contents :**

List of abbreviations

List of symbols

Introduction

**1 Lattices **

1.1 Introduction

1.2 Lattices in digital communications: A Brief History

1.3 Definitions and Parameters

1.4 Lattice Construction

1.4.1 Construction A

1.4.2 Construction B

1.4.3 Construction D

1.4.4 Construction D’

1.4.5 Barnes-Wall lattices and Reed-Muller codes

1.5 The Sphere Decoder algorithm

1.5.1 The sphere decoding algorithm

1.5.2 The sphere decoder with fading

1.6 Infinite lattices on the AWGN channel

1.7 Conclusion

**2 Lattice Shaping **

2.1 Introduction

2.2 Shaping mechanisms

2.2.1 Hypercube shaping

2.2.2 Nested shaping

2.2.3 Comparison

2.3 Proposed receiver algorithm

2.3.1 Proposed algorithm

2.3.2 Simulation results

2.3.3 Influence of the list size

2.3.4 Shaping on the Rayleigh fading channel

2.3.5 Comparison with short packets LTE

2.4 Conclusion

**3 Multilevel Lattice Coding **

3.1 Introduction

3.2 Lattice partitions and construction D

3.3 Appropriate code choice: Capacity Rule

3.4 Multilevel Lattice construction using Reed-Muller codes

3.4.1 One-dimensional lattice partitions

3.4.2 Two-dimensional lattice partitions

3.4.3 Four-dimensional lattice partitions

3.5 LLR estimation using the von Mises distribution

3.5.1 The von Mises distribution

3.5.2 Simulation results

3.6 Conclusion

**4 Multilevel Code Design for Rayleigh Block Fading Channels **

4.1 Introduction

4.2 Modulation diversity and product distance

4.3 Algebraic Number Theory

4.3.1 Algebraic number fields

4.3.2 Integral basis and Canonical Embedding

4.3.3 Totally real algebraic number fields

4.3.4 Ideal lattices

4.3.5 Construction of Zn lattices

4.4 Multilevel Construction using binary Reed-Muller codes

4.4.1 Two-dimensional lattice partition chain

4.4.2 Four-dimensional lattice partition chain

4.5 Conclusion

Conclusions and perspectives

A The |u|u + v| construction

B Soft-input decoding for Reed-Muller codes

C Commands in Sage

**Bibliography**