Coded Modulation
Introduction:
It is a technology of combining bandwidthefficient modulation and coding to achieve coding gain without bandwidth expansion or reducing data rate.The basic concept of this technology is to perform coding onto an expanded modulation signal set (relative to that needed for uncoded transmission). The redundancy needed for error control comes from signal expansion (or from both signal expansion and coding). Coding is used to from structured signal sequences with large minimum Euclidean distance. This combination of coding and modulation into an integral part in called coded modulation.
There are five elements required to generate the coded-modulation
- A binary encoder E, block or convolutional, that operates on k uncoded data bits to produce k r coded bits.
- A subset selector, which uses the coded bits to choose one of 2k r subsets from a partition of the N dimensional signal constellation.
- A point selector, which uses n − k additional uncoded bits to choose one of the 2n−k signal points in the selected subset.
- A constellation map, which maps the selected point from N-dimensional space to a sequence of N/2 points in two-dimensional space.
- An MQAM modulator (or otherM-ary modulator).
- The first two steps described above are the channel coding, and the remaining steps are the modulation.
- The receiver reverses the modulation and coding steps: after MQAM demodulation and an inverse 2/N constellation mapping
- Decoding is done in two stages: first, the points within each subset that are closest to the received signal point are determined; then, the maximum-likelihood subset sequence is calculated
- When the encoder E is a convolutional encoder, this coded-modulation scheme is referred to as a trellis code; for E a block encoder, it is called a lattice (or block) code.
Figure coded-modulation |
- The channel coding gain results from a selection of all possible sequences of signal points.we consider a sequence of N input bits as a point in N-dimensional space (the sequence space), then this selection is used to guarantee some minimum distance d_{min} in the sequence space between possible input sequences
- The effective power gain of the channel code is the minimum squared distance between allowable sequence points (the sequence points obtained through coding), multiplied by the density of the allowable sequence points.
- If the minimum distance and density of points in the sequence space are denoted by d_{0} and Δ_{0}, respectively, and if the minimum distance and density of points inthe sequence space obtained through coding are denoted by d_{min }and Δ, respectively, then maximum-likelihoodsequence detection yields a channel coding gain of
- The second bracketed term in this expression is also referred to as the constellation expansion factor, and equals 2^{−r} (per N dimensions) for a redundancy of r bits in the encoder
- Some of the nominal coding gain is lost due to correct sequences having more than one nearest neighbor in the sequence space, which increases the possibility of incorrect sequence detection. This loss in coding gain is characterized by the error coefficient
- Channel coding is done using set partitioning of lattice
- Lattice is a discrete set of vectors in real Euclidean N-space that forms a group under ordinary vector addition, so the sum or difference of any two vectors in the lattice is also in the lattice. A sub-lattice(coset) is a subset of a lattice that is itself a lattice
- If we let dp denote the minimum distance between points within a coset, and ds denote the minimum distance between the coset sequences, then the minimum distance code is dmin = min(dp, ds). The effective coding gain is given by
where 2^{−2r/N} is the constellation expansion factor
- For a data rate of m bits/symbol, the four lattice subsets must each have 2^{m−1} points4.