---
abstract: 'A new coded modulation scheme is proposed. At the transmitter, the concatenation of a distribution matcher and a systematic binary encoder performs probabilistic signal shaping and channel coding. At the receiver, the output of a bitwise demapper is fed to a binary decoder. No iterative demapping is performed. Rate adaption is achieved by adjusting the input distribution and the transmission power. The scheme is applied to bipolar amplitude shift keying (ASK) constellations with equidistant signal points and it is directly applicable to two-dimensional quadrature amplitude modulation (QAM). The scheme is implemented by using the DVB-S2 low-density parity-check (LDPC) codes. At a frame error rate of $10^{-3}$, the new scheme operates within less than 1 dB of the AWGN capacity $\frac{1}{2}\log_2(1+{\ensuremath{\mathsf{SNR}}\xspace})$ at any spectral efficiency between 1 and 5 bits/s/Hz by using only 5 modes, i.e., 4-ASK with code rate 2/3, 8-ASK with 3/4, 16-ASK and 32-ASK with 5/6 and 64-ASK with 9/10.'
author:
- 'Georg Böcherer,  Patrick Schulte, and Fabian Steiner[^1]'
bibliography:
- 'IEEEabrv.bib'
- 'confs-jrnls.bib'
- 'references.bib'
title: |
    Bandwidth Efficient and Rate-Matched\
    Low-Density Parity-Check Coded Modulation
---

Introduction
============

Reliable communication over the additive white Gaussian noise (AWGN) channel is possible if the transmission rate per real dimension does not exceed the capacity-power function $$\begin{aligned}
\capacity({\mathsf{P}})=\frac{1}{2}\log_2(1+{\mathsf{P}}/1)\label{eq:cpf}\end{aligned}$$ where ${\mathsf{P}}$ is the transmission power and ${\mathsf{P}}/1$ is the *signal-to-noise ratio* (SNR). An important consequence of is that to achieve power and bandwidth efficient transmission over a substantial range of SNR, a communication system must adapt its transmission rate to the SNR. Contemporary standards such as DVB-S2 @etsi2009dvb support input constellations of different sizes and forward error correction (FEC) at various code rates. The combination of a constellation size with a code rate forms a transmission mode. By choosing the appropriate mode, the system adapts to the SNR. In Fig. \[fig:rateadaption\] we display the operating points where a frame error rate (FER) less or equal to $10^{-3}$ can be achieved by bipolar *amplitude-shift keying* (ASK) constellations and the DVB-S2 *low-density parity-check* (LDPC) codes. Observe that the SNR gap between the operating points and the capacity-power function varies with the SNR. At the upper corner points, the gap is between 2 and 2.5 dB. Two factors contribute to this gap: first, the LDPC codes have finite length (coding gap) and second, the input distribution is uniform (shaping gap). At the lower corner points, the gap can be as large as 4.5 dB because the system resorts to one of the supported transmission modes.

![Comparison of rate-matching by non-equiprobable signaling to conventional equiprobable signaling. Both schemes use LDPC codes from the DVB-S2 standard. Gains of up to 4 dB (at a spectral efficiency of 4.6 bits/s/Hz) are obtained. The rate-matched scheme uses two modes, namely 64-ASK with a rate 9/10 code and 32-ASK with a rate 5/6 code. Equiprobable signaling uses 12 modes, which combine $\{16,32,64\}$-ASK with $\{3/4,4/5,5/6,8/9,9/10\}$ rate codes. The two schemes are evaluated at a frame error rate (FER) of $10^{-3}$. For comparison, the operating points of the turbo coded modulation schemes with probabilistic shaping suggested in @raphaeli2004constellation (red $\times$) and @yankov2014rate (red $+$) are displayed. The operating points of @raphaeli2004constellation [@yankov2014rate] have a bit error rate (BER) of $10^{-3}$. Since $\text{BER}\leq\text{FER}$, our rate-matched scheme is more energy efficient than the schemes suggested in @raphaeli2004constellation [@yankov2014rate], see Sec. \[sec:gallager\] for a further discussion.<span data-label="fig:rateadaption"></span>](pdf_figures/153dB-figure0)

To provide modes with a finer granularity, we can increase the number of code rates and constellation sizes. This approach is taken in the extension DVB-S2X @etsi2014dvb of DVB-S2. The system complexity increases with the number of supported code rates, which suggests the use of rate-compatible codes @hagenauer1988rate. In @li2002rate [@ha2004rate; @nguyen2012design; @chen2015protograph], rate-compatible LDPC codes are designed.

In this work, we take a different approach and propose a new coded modulation scheme that uses probabilistic shaping to solve the problem of coarse mode granularity and to remove the shaping gap. With ASK constellations and only one LDPC code rate per constellation size, our scheme operates within less than 1 dB of capacity over the whole considered range of SNR, see Fig. \[fig:rateadaption\]. For the transmitter, we propose a new scheme, which we call *probabilistic amplitude shaping* (PAS). At the receiver, bit-metric decoding @ifabregas2008bit [@martinez2009bit; @bocherer2014achievable] is used. No iterative demapping is required. Our scheme directly applies to two-dimensional *quadrature amplitude modulation* (QAM) constellations by mapping two real ASK symbols to one complex QAM symbol.

This work is organized as follows. In Sec. \[sec:ps\], we give an overview of the related literature on coded modulation with probabilistic shaping. In Sec. \[sec:channel\], we review the information theoretic limits of the AWGN channel and we discuss optimal signaling for ASK constellations. We introduce PAS in Sec. \[sec:ps:encoding\] and we show in Sec. \[sec:dm\] how PAS can be implemented by distribution matching. In Sec. \[sec:bmd\], we combine PAS at the transmitter with bit-metric decoding at the receiver. We discuss in Sec. \[sec:code\] the code design problem posed by our scheme and present a bit-mapper optimization heuristic. We propose a rate adaption scheme in Sec. \[sec:adaption\] and we discuss numerical results in Sec. \[sec:numerical\]. The work is concluded in Sec. \[sec:conclusions\].

Related Literature {#sec:ps}
==================

On the additive white Gaussian noise (AWGN) channel, uniformly distributed inputs can be up to 1.53 dB less power efficient than Gaussian inputs @forney1984efficient [Sec. IV.B], see also Sec. \[subsec:shapinggain\] of this work. Coded modulation with probabilistic shaping uses a non-uniform distribution on equidistant signal points to overcome the shaping gap. For works with a theoretical focus on the topic, see for example @ling2014achieving [@mondelli2014achieve] and references therein. Here, we review some of the existing works that address the practical implementation of probabilistic shaping.

Gallager's Scheme {#sec:gallager}
-----------------

Gallager proposes in @gallager1968information [p. 208] to use a many-to-one mapping to turn a channel with non-uniform inputs into a super channel with uniform inputs. This approach is combined with turbo coding in @raphaeli2004constellation and @yankov2014rate. In @schreckenbach2005signal, Gallager's scheme is combined with convolutional codes. Optimal mappings are investigated in @bocherer2013optimal, see also @bocherer2014optimal [Sec. I.B]. When Gallager's scheme is combined with binary *forward error correction* (FEC), undoing the many-to-one mapping at the receiver is challenging. In @raphaeli2004constellation [@yankov2014rate; @schreckenbach2005signal], this inversion is achieved by iterative demapping, which increases the system complexity compared to uniform signaling. In @yankov2014rate, the authors choose the many-to-one mapping according to the desired transmission rate. The resulting rate granularity is coarse. To achieve a finer granularity, more bits must be mapped to the same signal point, which increases the system complexity further.

Trellis Shaping
---------------

Trellis shaping is proposed in @forney1992trellis and it is discussed in detail in @tretter2002constellation [Chap. 4] and @fischer2002precoding [Sec. 4.4]. The transmitter first selects a set of sequences. A shaping code then selects from this set the sequence of minimum energy for transmission. The authors of @fischer1998combination combine multilevel coding with trellis shaping using convolutional codes, see also @wachsmann1999multilevel [Sec VIII.]. *Bit-interleaved coded modulation* (BICM) @zehavi1992psk [@caire1998bit] is used in @smith2012pragmatic for lower bit levels and a convolutional shaping code selects the two highest bit-levels for energy minimization. LDPC codes were used as shaping codes in @kaimalettu2007constellation. Since shaping is achieved by the decoder of a shaping code, it is difficult to make trellis shaping flexible to support different shaping rates.

Shell Mapping
-------------

Shell mapping @khandani1993shaping was proposed independently by several groups around the same time, see @kschischang1994optimal [Sec. VII.],@tretter2002constellation [Chap. 8]. In shell mapping, the transmitter first selects a shell, which is a set of low energy input sequences. It then selects a sequence within the selected shell for transmission. Shell mapping combined with trellis coding is used in the ITU-T Recommendation V.34 @itut1998modem. The main challenge is to efficiently index the shells.

Superposition Coding
--------------------

Superposition coding was proposed in @duan1997approaching. The transmitter uses several encoders. Each encoder maps its output to a signal point. The selected signal points are then superposed and transmitted. The receiver uses multistage decoding. Turbo codes are considered in @duan1997approaching and variations of superposition coding are proposed and analyzed in @ma2004coded. The author of @cronie2010signal uses LDPC codes and proposes signal constellations that reduce the number of decoding stages. Superposition coding requires sequential decoding of the individual codes or iterative demapping.

Concatenated Shaping
--------------------

The authors of @legoff2005bit concatenate BICM encoding with shaping. A turbo encoder is followed by a one-to-one shaping block code. The scheme is improved in @legoff2007constellation by iterative demapping. A variation of this scheme is presented in @khoo2006bit, where the one-to-one shaping block code is followed by a many-to-one mapping reminiscent of Gallager's scheme. The shaping scheme @legoff2007constellation is used in @valenti2012constellation with LDPC codes on *amplitude and phase-shift keying* (APSK) constellations. Since the shaping decoder is placed before the FEC decoder, only limited gains are observed in @legoff2005bit. The works @legoff2007constellation [@khoo2006bit; @valenti2012constellation] therefore use iterative demapping.

Bootstrap Scheme
----------------

A bootstrap scheme is proposed in @bocherer2011operating,@bocherer2012capacity [Chap. 7], which separates shaping and FEC by first shaping the data and then systematically encoding the shaped data. The generated check bits are also shaped and embedded in the shaped data of the next transmission block. The bootstrap scheme is implemented in @bocherer2011operating,@bocherer2012capacity [Chap. 7] using Geometric Huffman Coding @bocherer2011matching for shaping and LDPC codes from the DVB-S2 standard for FEC. Since shaping is done prior to FEC encoding, the bootstrap scheme borrows from the reverse concatenation proposed in @bliss1981circuitry [@blaum2007high] for magnetic recording. The authors in @mondelli2014achieve call the bootstrap scheme *chaining construction* and prove that it is capacity-achieving for any discrete memoryless channel. The drawback of the bootstrap scheme is that shaping is done over several consecutive transmission blocks, which have to be decoded in reverse (bootstrapped). This increases the latency and is prone to error propagation over blocks.

Optimal Signaling over the AWGN Channel {#sec:channel}
=======================================

  --------------- --------------------------- ----------------- ------------ ------------ ------------ ------------
                                                ${X^\clubsuit}$                                        
    constellation   rate \[bits/channel use\]        SNR \[dB\]   SNR \[dB\]   gap \[dB\]   SNR \[dB\]   gap \[dB\]
             4ASK                           1            4.8180       5.1181      -0.3001       4.7712       0.0468
             8ASK                           2           11.8425      12.6187      -0.7761      11.7609       0.0816
            16ASK                           3           18.0910      19.1681      -1.0772      17.9934       0.0975
            32ASK                           4           24.1706      25.4140      -1.2434      24.0654       0.1052
            64ASK                           5           30.2078      31.5384      -1.3307      30.0988       0.1090
  --------------- --------------------------- ----------------- ------------ ------------ ------------ ------------

The discrete time AWGN channel at time instance $i$ is described by the input-output relation $$\begin{aligned}
Y_i=X_i+Z_i\end{aligned}$$ where the noise terms $Z_i$, $i=1,2,3,\dotsc$ are independent and identically distributed (iid) according to a zero mean Gaussian distribution with variance one. For ${n_{\!\text{c}}}$ channel uses, the input is subject to the power constraint $$\begin{aligned}
\frac{\expop\left[\sum_{i=1}^{{n_{\!\text{c}}}} |X_i|^2\right]}{{n_{\!\text{c}}}}\leq{\mathsf{P}}\end{aligned}$$ where $\expop[\cdot]$ denotes expectation.

AWGN Capacity
-------------

Let $\hat{X}^{{n_{\!\text{c}}}}=\hat{X}_1,\hat{X}_2,\dotsc,\hat{X}_{{n_{\!\text{c}}}}$ be the output of the decoder that estimates the input $X^{{n_{\!\text{c}}}}$ from the output $Y^{{n_{\!\text{c}}}}$. The block error probability is $P_e=\Pr(\hat{X}^{{n_{\!\text{c}}}}\neq X^{{n_{\!\text{c}}}})$. The channel coding theorem @gallager1968information [Theorem 7.4.2] states that by choosing ${n_{\!\text{c}}}$ large enough, $P_e$ can be made as small as desired if the transmission rate $R$ is smaller than the channel capacity $\capacity({\mathsf{P}})$. The goal of this work is to design a modulation scheme that achieves reliable transmission close to the capacity-power function , i.e., for **any** average signal power ${\mathsf{P}}$, we want to reliably transmit data over the AWGN channel at a rate that is close to $\capacity({\mathsf{P}})$.

Amplitude Shift Keying
----------------------

Let $X$ be distributed on some finite alphabet $\setx$ of signal points and suppose $\expop[|X|^2]={\mathsf{P}}$. The channel coding theorem states that reliable transmission at rate $R$ with average power ${\mathsf{P}}$ is possible if $$\begin{aligned}
R<\miop(X;Y)\end{aligned}$$ where $\miop(\cdot;\cdot)$ denotes the mutual information in bits. The first step in designing a coded modulation system is thus to choose an alphabet $\setx$ and a distribution $P_X$ on $\setx$ such that $\miop(X;Y)$ is close to the maximum value $\capacity({\mathsf{P}})$. As input alphabet, we use an ASK constellation with $2^m$ signal points, namely $$\begin{aligned}
\setx=\{\pm 1,\pm 3,\dotsc,\pm (2^m-1)\}.\label{eq:signaling:setx}\end{aligned}$$ We scale $X$ by the *constellation scaling* $\Delta>0$ and the resulting input/output relation is $$\begin{aligned}
Y=\Delta X+Z.\label{eq:ps:model}\end{aligned}$$ The power constraint for $X$ is now $$\begin{aligned}
\expop[|\Delta X|^2]\leq{\mathsf{P}}\label{eq:ps:askpower}.\end{aligned}$$

Optimization of the ASK Input {#subsec:optimizedinput}
-----------------------------

We use signal point $x\in\setx$ with probability $$\begin{aligned}
\begin{split}
P_{X_\nu}(x)=A_\nu e^{-\nu |x|^2},\qquad
A_\nu=\frac{1}{\sum_{x'\in\setx} e^{-\nu |x'|^2}}.
\end{split}\label{eq:ps:em}\end{aligned}$$ The scalar $A_\nu$ ensures that the probabilities assigned by $P_{X_\nu}$ add to $1$. Distributions of the form are called *Maxwell-Boltzmann distributions*, see, e.g., @kschischang1993optimal. For a fixed constellation scaling $\Delta$ and power constraint ${\mathsf{P}}$, we choose the input distribution $$\begin{aligned}
P_{X_\Delta}(x)=&P_{X_\nu}(x)\text{ with }\nu\colon \expop[|\Delta X_\nu|^2]={\mathsf{P}}.\label{eq:ps:embisection}\end{aligned}$$ The distribution $P_{X_\Delta}$ maximizes entropy subject to the power constraint , see @cover2006elements [Chapter 12]. Some basic manipulations show that $\expop[|X_\nu|^2]$ is strictly monotonically decreasing in $\nu$. Thus, the value of $\nu$ for which the condition is fulfilled can be found efficiently by using the *bisection method*. For each constellation scaling $\Delta$, the distribution $P_{X_\Delta}$ satisfies the power constraint. We now maximize the mutual information over all input distributions from this family, i.e., we solve $$\begin{aligned}
\max_\Delta \miop(X_\Delta;\Delta X_\Delta+Z).\label{eq:ps:spacingoptimization}\end{aligned}$$ The mutual information $\miop(X_\Delta;\Delta X_\Delta+Z)$ is a unimodal function of $\Delta$ and the optimization problem can be solved efficiently by using the *golden section method*. We denote the maximizing scaling by ${\Delta^\clubsuit}$ and the corresponding distribution by $P_{{X^\clubsuit}}$.

Shaping Gap {#subsec:shapinggain}
-----------

In Table \[tab:ps:shapinggains\], we display the shaping gains of our input ${X^\clubsuit}$ as compared to a uniformly distributed input. For increasing rates and constellation sizes, the shaping gain increases and approaches the upper bound of $10\log_{10}\frac{\pi e}{6}\approx 1.53$ dB @forney1984efficient [Sec. IV.B]. The bound can also be derived by probabilistic arguments, see @ozarow1990capacity [Comment 4)]. For 64-ASK and a rate of 5 bits per channel use, the shaping gain is $\SI{1.33}{\decibel}$.

The distribution $P_{{X^\clubsuit}}$ is suboptimal in general. The optimal distribution $P_{X^*}$ can be approximated numerically by using the Blahut-Arimoto algorithm @blahut1972computation [@arimoto1972algorithm]. However, there is no analytical expression of $P_{X^*}$. For the operating points in Table \[tab:ps:shapinggains\], the energy efficiency of ${X^\clubsuit}$ is within 0.1 dB of capacity $\capacity({\mathsf{P}})$, so the gain from optimizing further is bounded by 0.1 dB.

Input Distribution: Operational Meaning
---------------------------------------

Suppose we use the channel ${n_{\!\text{c}}}$ times, i.e., we transmit length ${n_{\!\text{c}}}$ codewords. We use codeword $x^{{n_{\!\text{c}}}}$ with probability $P_{X^{{n_{\!\text{c}}}}}(x^{{n_{\!\text{c}}}})$. If our transmission rate $R$ is larger than the average mutual information between input and output, i.e., if $$\begin{aligned}
R>\frac{\sum_{i=1}^{{n_{\!\text{c}}}}\miop(X_i;Y_i)}{{n_{\!\text{c}}}}\label{eq:converse}\end{aligned}$$ then the probability of error $\Pr(\hat{X}^n\neq X^n)$ is bounded away from zero for any decoder. This result follows as a corollary of the converse of the channel coding theorem @gallager1968information [Theorem 7.3.1]. The mutual information terms $\miop(X_i;Y_i)$ are calculated according to the marginal distributions $P_{X_i}$. We call the condition the *Coded Modulation Converse*. The insight we take from is that building a transmitter with marginal input distributions $$\begin{aligned}
P_{X_i}\approx P_{{X^\clubsuit}}\label{eq:ps:condition}\end{aligned}$$ is necessary to achieve reliable transmission close to the rates displayed for ${X^\clubsuit}$ in Table \[tab:ps:shapinggains\].

Probabilistic Amplitude Shaping {#sec:ps:encoding}
===============================

We now develop a transmitter with property .

Preliminaries {#subsec:pas:preliminaries}
-------------

\[subsec:ucba\] We make the following two observations:

### Amplitude-Sign Factorization

We can write ${X^\clubsuit}$ as $$\begin{aligned}
{X^\clubsuit}=A\cdot S\end{aligned}$$ where $A=|{X^\clubsuit}|$ is the *amplitude* of the input and where $S=\operatorname{sign}({X^\clubsuit})$ is the *sign* of the input. By , the amplitudes take values in $$\begin{aligned}
\seta:=\{1,3,\dotsc,2^m-1\}.\end{aligned}$$ We see from that the distribution $P_{{X^\clubsuit}}$ is symmetric around zero, i.e., we have $$\begin{aligned}
P_{{X^\clubsuit}}(x)=P_{{X^\clubsuit}}(-x)\end{aligned}$$ and therefore, $A$ and $S$ are stochastically independent and $S$ is uniformly distributed, i.e., we have $$\begin{aligned}
&P_{{X^\clubsuit}}(x)=P_{A}(|x|)\cdot P_S(\operatorname{sign}(x)),\quad \forall x\in\setx\label{eq:pas:pa}\\
&P_S(1)=P_S(-1)=\frac{1}{2}.\end{aligned}$$

### Uniform Check Bit Assumption

![Uniform check bit assumption @bocherer2012capacity [Sec. 7.1.3]: Data bits $D^k=D_1D_2\dotsb D_k$ with some arbitrary distribution $P_{D^k}$ (the data bits are possibly dependent and non-uniformly distributed) are encoded by a systematic generator matrix $[\mati_k|\matp]$ of an $(n,k)$ binary code. The encoder copies the data bits $D^k$ to the output, which preserves the probability distribution of $D^k$. The encoder calculates $n-k$ redundancy bits $R^{n-k}$ by multiplying $D^k$ with the parity matrix $\matp$. Since each $R_i$ is a modulo two sum of several data bits, we assume that the redundancy bits $R^{n-k}$ are approximately uniformly distributed.<span data-label="fig:ucba"></span>](pdf_figures/153dB-figure1)

The second observation is on systematic binary encoding. A systematic generator matrix of an $(n,k)$ binary code has the form $$\begin{aligned}
\matg=[\mati_k|\matp]\end{aligned}$$ where $\mati_k$ is the $k\times k$ identity matrix and $\matp$ is a $k\times(n-k)$ matrix. $\matp$ is the *parity matrix* of the code. The generator matrix $\matg$ maps $k$ data bits $D^k$ to a length $n$ codeword via $$\begin{aligned}
D^k\matg=(D^k R^{n-k})\end{aligned}$$ where $R^{n-k}$ are redundant bits that are modulo-two sums of data bits. See Fig. \[fig:ucba\] for an illustration. The distribution of the modulo two sum of a large enough number of bits is close to uniform, by a central limit theorem kind of argument. The *uniform check bit assumption* @bocherer2012capacity [Sec. 7.1.3] states that the marginal distributions $P_{R_i}$ are uniform for a large class of data distributions $P_{D^k}$.

Encoding Procedure {#subsec:encoding}
------------------

![image](pdf_figures/153dB-figure2)

Consider block transmission with ${n_{\!\text{c}}}$ symbols from a $2^m$-ASK constellation. Since we use binary error correcting codes, we label each of the $2^{m-1}$ amplitudes by a binary string of length $m-1$ and we label each of the signs $\pm 1$ by a bit, i.e., we use $$\begin{aligned}
A&\mapsto\vecb(A)\in\{0,1\}^{m-1}\\
S&\mapsto b(S)\in\{0,1\}.\end{aligned}$$ For the sign, we use $b(-1)=0$ and $b(1)=1$. We discuss the choice of $\vecb(A)$ in Sec. \[subsec:labeling\]. We use a rate $k/n=(m-1)/m$ binary code with systematic generator matrix $\matg=[\mati_k|\matp]$. For block transmission with ${n_{\!\text{c}}}$ channel uses, the block length of the code is $n={n_{\!\text{c}}}m$ and the dimension of the code is $k={n_{\!\text{c}}}(m-1)$. The encoding procedure is displayed in Fig. \[fig:encoder\]. It works as follows.

1.  A *discrete memoryless source* (DMS) ${\setlength\fboxsep{1pt}\boxed{P_A}}$ outputs amplitudes $A_1,A_2,\dotsc,A_{{n_{\!\text{c}}}}$ that are iid according to $P_A$. We explain in Sec. \[sec:dm\] how the DMS ${\setlength\fboxsep{1pt}\boxed{P_A}}$ can be emulated from binary data by distribution matching.

2.  Each amplitude $A_i$ is represented by its label $\vecb(A_i)$.

3.  The resulting length $(m-1){n_{\!\text{c}}}=k$ binary string is multiplied by the parity matrix $\matp$ to generate $n-k={n_{\!\text{c}}}$ sign labels $b(S_1),b(S_2),\dotsc,b(S_{{n_{\!\text{c}}}})$.

4.  Each sign label $b(S_i)$ is transformed into the corresponding sign $S_i$.

5.  The signal $X_i=A_i\cdot S_i$ is scaled by $\Delta$ and transmitted.

We call this procedure *probabilistic amplitude shaping* (PAS). Since the signs $S^{{n_{\!\text{c}}}}$ are a deterministic function of the amplitudes $A^{{n_{\!\text{c}}}}$, the input symbols $X_1,X_2,\dotsc,X_{{n_{\!\text{c}}}}$ are correlated. Let's check if the marginal distributions $P_{X_i}$ fulfill condition . We have $$\begin{aligned}
P_{X_i}(x_i)&=P_{A_iS_i}(|x_i|,\operatorname{sign}(x_i))\\
&\approx P_{A_i}(|x_i|)P_{S_i}(\operatorname{sign}(x_i))\label{eq:independence}\\
&=P_{A}(|x_i|)P_{S_i}(\operatorname{sign}(x_i))\\
&\approx P_{A}(|x_i|)\frac{1}{2}\label{eq:uniformity}\\
&=P_{{X^\clubsuit}}(x)\end{aligned}$$ where we used the uniform check bit assumption in . We discuss when we have equality in and .

-   We have equality in if $A_i$ and $S_i$ are independent. This is the case if the redundant bit $b(S_i)$ does not depend on the binary label of $A_i$ (the bit $b(S_i)$ can still depend on other $A_j$, $j\neq i$). On the other hand, if $b(S_i)$ is determined by the binary index of $A_i$ only, then $A_i$ and $S_i$ are dependent and we will not have equality in .

-   Recall that $b(S_i)$ is the modulo two sum of binary random variables. If one of these binary random variables is independent of the others and uniformly distributed, then a basic probability calculation shows that $b(S_i)$ is exactly uniformly distributed and we have equality in .

For the rest of this work, we assume that our scheme achieves equality in and . Our numerical results support this assumption. Of course, if the empirical results deviate from what theory predicts, we should check the assumptions of equality in and .

PAS is a special case of the bootstrap scheme @bocherer2011operating [@mondelli2014achieve]. After encoding, the redundancy bits are uniformly distributed. However, instead of transforming them into a sequence of symbols with a non-uniform distribution and transmitting them in the next block as is done in the bootstrap scheme, they can be used directly as sign labels in the same block, since the uniform distribution is already optimal.

PAS can be seen as a probabilistic version of shell mapping. By the weak law of large numbers, $$\begin{aligned}
\frac{\sum_{i=1}^{{n_{\!\text{c}}}}A_i^2}{{n_{\!\text{c}}}}\approx {\mathsf{P}}\end{aligned}$$ with high probability, i.e., the source $P_A$ selects an amplitude sequence in a shell in the ${n_{\!\text{c}}}$-dimensional space that contains the sequences of energy $\approx{n_{\!\text{c}}}{\mathsf{P}}$. Multiplying the amplitudes by signs does not change the power, i.e., the transmitted signal $X^{{n_{\!\text{c}}}}$ remains in the shell selected by the amplitude source $P_A$.

Optimal Operating Points {#subsec:pas:ops}
------------------------

![The mutual information curves (solid) and the transmission rate curves (dashed) for ASK. The optimal operating points for rate $(m-1)/m$ codes are indicated by dots.<span data-label="fig:ops"></span>](pdf_figures/153dB-figure3)

We study the rates at which reliable transmission is possible with our scheme. By , reliable communication at rate $R$ is achievable only if $$\begin{aligned}
R<\frac{\sum_{i=1}^{{n_{\!\text{c}}}} \miop(X_i;Y_i)}{{n_{\!\text{c}}}}=\miop(X;Y)=\miop(AS;Y).\label{eq:encoderconverse}\end{aligned}$$ Since $A^{{n_{\!\text{c}}}}$ represents our data, our transmission rate is $$\begin{aligned}
R=\frac{\entop(A^{{n_{\!\text{c}}}})}{{n_{\!\text{c}}}}=\entop(A)\quad\left[\frac{\text{bits}}{\text{channel use}}\right]\end{aligned}$$ and condition becomes $$\begin{aligned}
\entop(A)<\miop(AS;Y).\end{aligned}$$ In Fig. \[fig:ops\], both the mutual information $\miop(AS;Y)$ (solid lines) and transmission rate $\entop(A)$ (dashed lines) are displayed for $4,8,16,32$, and $64$-ASK. For high enough SNR, the mutual information saturates at $m$ bits and the transmission rate saturates at $m-1$ bits. Optimal error correction for block length ${n_{\!\text{c}}}\to\infty$ would operate where the transmission rate curve crosses the mutual information curve. These crossing points are indicated by dots in Fig. \[fig:ops\]. How to operate at other transmission rates is the topic of rate adaption and we discuss this in detail in Sec. \[sec:adaption\].

PAS for Higher Code Rates {#sec:ps:op}
-------------------------

![Optimal operating points of $8$-ASK for PAS ($c=2/3$) and extended PAS ($c=3/4$).<span data-label="fig:ops_extended"></span>](pdf_figures/153dB-figure5)

![image](pdf_figures/153dB-figure4)

We observe in Fig. \[fig:ops\] that the ASK mutual information curves stay close to the capacity $\capacity({\mathsf{P}})$ over a certain range of rates above the optimal operating points. We therefore extend our PAS scheme to enable the use of code rates higher than $(m-1)/m$ on $2^m$-ASK constellations. We achieve this by using some of the signs $S_i$ for uniformly distributed data bits. We illustrate this extension of the PAS scheme in Fig. \[fig:encoderAdapted\]. Let $\gamma$ denote the fraction of signs used for data bits. We interpret $\gamma{n_{\!\text{c}}}$ uniformly distributed data bits as sign labels $b(S_1)\dotsb b(S_{\gamma{n_{\!\text{c}}}})$. These $\gamma{n_{\!\text{c}}}$ bits and the $(m-1){n_{\!\text{c}}}$ bits from the amplitude labels are encoded by the parity matrix of a rate $c$ code, which generates the remaining $(1-\gamma){n_{\!\text{c}}}$ sign labels. The code rate can be expressed in terms of $m$ and $\gamma$ as $$\begin{aligned}
c=\frac{m-1+\gamma}{m}.\end{aligned}$$ For a given code rate $c$, the fraction $\gamma$ is given by $$\begin{aligned}
\gamma = 1-(1-c)m\label{eq:gammaofc}.\end{aligned}$$ Since a fraction $\gamma$ of the signs now carries information, the transmission rate of the extended PAS scheme is given by $$\begin{aligned}
R=\frac{\entop(A^{{n_{\!\text{c}}}})+\entop(S^{\gamma{n_{\!\text{c}}}})}{{n_{\!\text{c}}}}=\entop(A)+\gamma\;\left[\frac{\text{bits}}{\text{channel use}}\right].\end{aligned}$$ The optimal operating point is then given by the crossing of the rate curve $\entop(A)+\gamma$ and the mutual information. In Fig. \[fig:ops\_extended\], we display for $8$-ASK the optimal operating points for $c=2/3$ and $c=3/4$.

Distribution Matching {#sec:dm}
=====================

![The matcher transforms uniform data blocks of length ${k_{\!\text{c}}}$ into ${n_{\!\text{c}}}$ amplitudes that are approximately distributed according to the desired distribution $P_A$. By replacing the amplitude source $P_A$ in the PAS diagrams in Fig. \[fig:encoder\] and Fig. \[fig:encoderAdapted\] by a matcher, our scheme provides a binary interface to the source coding part of a digital communication system.<span data-label="fig:emulator"></span>](pdf_figures/153dB-figure6)

In a digital communication system, usually a binary interface separates the source coding part from the channel coding part @gallager2008principles [Chap. 1]. Up to now, our scheme does not have such a binary interface, since some of our data is output by an amplitude source ${\setlength\fboxsep{1pt}\boxed{P_A}}$. We therefore add a device that takes as input ${k_{\!\text{c}}}$ uniformly distributed independent bits $U^{{k_{\!\text{c}}}}$ and outputs ${n_{\!\text{c}}}$ amplitudes $\tilde{A}^{{n_{\!\text{c}}}}$. We illustrate this in Fig. \[fig:emulator\]. We require the following properties for our device:

-   The input provides a binary interface to the source coding part of the digital communication system.

-   The output is approximately the output of a DMS ${\setlength\fboxsep{1pt}\boxed{P_A}}$.

-   The input can be recovered from the output, i.e., the mapping is invertible.

A device with such properties is called a *distribution matcher* @bocherer2011matching. Variable length distribution matchers were proposed in @forney1984efficient [Sec. IV.A], @kschischang1993optimal [Sec. VII] and @ungerboeck2002huffman and their design was studied in @kschischang1993optimal [@cai2007probabilistic; @bocherer2011matching; @bocherer2012capacity; @amjad2013fixed; @baur2015arithmetic].

Variable length matchers can lead to buffer overflow, synchronization loss and error propagation, see, e.g., @kschischang1993optimal [Sec. 1]. We therefore use the fixed length distribution matcher proposed in @schulte2015constant. This matcher, called *constant composition distribution matcher* (CCDM), has the properties P1 and P3. To address property P2, we need to say what we mean by "matcher output $\tilde{A}^{{n_{\!\text{c}}}}$ is approximately the output of a DMS ${\setlength\fboxsep{1pt}\boxed{P_A}}$". By @wyner1975common [Theorem 1.2], a good measure for similarity in the context of channel coding is the normalized informational divergence (also known as *Kullback-Leibler divergence* or *relative entropy* @cover2006elements [Sec. 2.3]) of the output distribution $P_{\tilde{A}^{{n_{\!\text{c}}}}}$ and the memoryless distribution $P_{A}^{{n_{\!\text{c}}}}$. The normalized informational divergence is $$\begin{aligned}
\frac{\kl(P_{\tilde{A}^{{n_{\!\text{c}}}}}\Vert P_A^{{n_{\!\text{c}}}})}{{n_{\!\text{c}}}}=\frac{\displaystyle\sum_{a^{{n_{\!\text{c}}}}\in\operatorname{supp}P_{\tilde{A}^{{n_{\!\text{c}}}}}}P_{\tilde{A}^{{n_{\!\text{c}}}}}(a^{{n_{\!\text{c}}}})\log_2\frac{P_{\tilde{A}^{{n_{\!\text{c}}}}}(a^{{n_{\!\text{c}}}})}{P_A^{{n_{\!\text{c}}}}(a^{{n_{\!\text{c}}}})}}{{n_{\!\text{c}}}}\label{eq:id}\end{aligned}$$ where $\operatorname{supp}P_{\tilde{A}^{{n_{\!\text{c}}}}}$ is the support of $P_{\tilde{A}^{{n_{\!\text{c}}}}}$. The CCDM has property P2 in the following sense:

1.  As ${n_{\!\text{c}}}\rightarrow \infty$, the normalized informational divergence approaches zero.

2.  As ${n_{\!\text{c}}}\rightarrow \infty$, the rate approaches $\entop(A)$, i.e., we have $$\begin{aligned}
    \frac{{k_{\!\text{c}}}}{{n_{\!\text{c}}}}\to\entop(A).\end{aligned}$$

We use the CCDM to emulate the amplitude source ${\setlength\fboxsep{1pt}\boxed{P_A}}$. The output length ${n_{\!\text{c}}}$ is finite, and we use the actual rate ${k_{\!\text{c}}}/{n_{\!\text{c}}}$ for performance evaluations.

Bit-Metric Decoding {#sec:bmd}
===================

The receiver estimates the transmitted codeword $X^{{n_{\!\text{c}}}}$ from the channel outputs $Y^{{n_{\!\text{c}}}}$. In this section, we show how this can be implemented by a bit-metric decoder.

Preliminaries: Binary Labeling and Decoding
-------------------------------------------

Consider a coded modulation system where the input $X$ takes values in a $2^m$-ASK constellation. An optimal decoder uses the symbol-metric $p_{Y|X}$ @martinez2009bit [Sec. II.B] and can achieve the rate $$\begin{aligned}
{\mathsf{R}_\textnormal{SMD}}=\miop(X;Y)\label{eq:cm}\end{aligned}$$ where SMD stands for *symbol-metric decoding* (SMD). We are interested in successfully decoding at a transmission rate close to ${\mathsf{R}_\textnormal{SMD}}$ by using a *binary* decoder. Recall that our PAS scheme labels the amplitude $A=|X|$ by a length $m-1$ binary string $\vecb(A)$ and the sign $S=\operatorname{sign}(X)$ by one bit $b(S)$. The length $m$ binary string $$\begin{aligned}
\vecB=B_1B_2\dotsb B_m:=b(S)\vecb(A)\end{aligned}$$ thus assigns to each signal point $x\in\setx$ a label via $$\begin{aligned}
\text{label}(x)=\text{label}(\operatorname{sign}(x))\text{label}(|x|)=b_1b_2\dotsb b_m.\end{aligned}$$ Since the labeling is one-to-one, we can also select a signal point for transmission by choosing the label $\vecB$, i.e., we use $$\begin{aligned}
X=x_{\vecB}=\{x\in\setx\colon \text{label}(x)=\vecB\}.\end{aligned}$$ We can interpret $\vecB$ as the channel input and the input/output relation of our channel as $$\begin{aligned}
Y=\Delta x_{\vecB}+Z.\label{eq:labelchannel}\end{aligned}$$

Using the chain rule, we expand the mutual information of $\vecB$ and $Y$ as $$\begin{aligned}
\miop(\vecB;Y)&=\sum_{i=1}^m \miop(B_i;Y|B^{i-1})\\
&=\miop(B_1;Y)+\miop(B_2;Y|B_1)+\dotsb
\nonumber\\&\qquad\qquad
+\miop(B_m;Y|B_1\dotsb B_{m-1}).\end{aligned}$$ This expansion suggests the following binary decoding:

1.  Use the channel output $Y$ to calculate an estimate $\hat{B_1}$.

2.  Successively use the output $Y$ and the estimates $\hat{B_1}\dotsb\hat{B}_{i-1}$ to calculate the next estimate $\hat{B}_i$.

This approach is called *multistage decoding* (MD). It requires *multilevel coding* (MLC) at the transmitter, i.e., on each bit-level, an individual binary code with block length ${n_{\!\text{c}}}$ is used. MLC/MD was first introduced in @imai1977new and it is discussed in detail, e.g., in @wachsmann1999multilevel. To use MLC/MD, we would need to modify our PAS scheme. A simpler approach is to ignore the estimates $\hat{B}_j$, $j\neq i$ when estimating $B_i$. This reduces the mutual information, which can be seen as follows $$\begin{aligned}
\miop(\vecB;Y)&=\sum_{i=1}^m \miop(B_i;Y|B^{i-1})\\
&=\sum_{i=1}^m \entop(B_i|B^{i-1})-\entop(B_i|YB^{i-1})\\
&\ogeq{a}\sum_{i=1}^m \entop(B_i|B^{i-1})-\entop(B_i|Y)\\
&\oeq{b}\entop(\vecB)-\sum_{i=1}^m\entop(B_i|Y)\label{eq:bmd:yrate}\end{aligned}$$ where (a) follows because conditioning does not increase entropy @cover2006elements [Theorem 2.6.5] and where we used the chain rule for entropy in (b). The expression in the last line of can be approached as follows. We jointly encode all bit-levels by a single binary code of block length $m{n_{\!\text{c}}}$. This idea was introduced in @zehavi1992psk and is now usually called *bit-interleaved coded modulation* (BICM) @ifabregas2008bit [@caire1998bit]. Since our PAS transmitter encodes all bit-levels by a single binary code $\matg=[\mati_k|\matp]$, our transmitter is a BICM encoder. At the receiver, we use a *bit-metric decoder*.

Bit-Metric Decoding {#bit-metric-decoding}
-------------------

A soft-demapper calculates for each bit-level $i$ the soft-information $$\begin{aligned}
L_i=\underbrace{\log\frac{P_{B_i}(0)}{P_{B_i}(1)}}_\text{a-priori information}+\underbrace{\log\frac{p_{Y|B_i}(Y|0)}{p_{Y|B_i}(Y|1)}}_\text{channel likelihood}.\label{eq:lvalue}\end{aligned}$$ The distribution $P_{B_i}$ and the conditional density $p_{Y|B_i}$ in can be calculated as $$\begin{aligned}
&P_{B_i}(b_i)=\sum_{\veca\in\{0,1\}^m\colon a_i=b_i}P_{\vecB}(\veca)\\
&p_{Y|B_i}(y|b_i)=\sum_{\veca\in\{0,1\}^m\colon a_i=b_i}p_{Y|\vecB}(y|\veca)\frac{P_{\vecB}(\veca)}{P_{B_i}(b_i)}.\label{eq:pby}\end{aligned}$$ The soft-information $L_i$ forms a sufficient statistic to estimate bit level $B_i$ from the channel output $Y$ @gallager2013stochastic [Sec. 8.2.1], i.e., we have $\miop(B_i;Y)=\miop(B_i;L_i)$. A bit-metric decoder uses the soft information $L_1,L_2,\dotsc,L_m$ to estimate the transmitted data and achieves the rate @bocherer2014achievable [Theorem 1] $$\begin{aligned}
\mathsf{R}_{\text{BMD}}=\entop(\vecB)-\sum_{i=1}^m \entop(B_i|Y).\label{eq:bmd:rate}\end{aligned}$$ Note that is equal to the expression we derived in .

If the bit levels are independent, the rate becomes the "BICM capacity" @martinez2009bit [Theorem 1] $$\begin{aligned}
\sum_{i=1}^m \miop(B_i;Y).\label{eq:rbicm}\end{aligned}$$ Using non-uniform distributions for the independent bit-levels results in bit-shaping, which was introduced in @ifabregas2010bit and is discussed in @bocherer2014achievable. The authors in @kayhan2012constellation [Eq. (1)] call the "pragmatic capacity".

From a coding perspective, bit-metric decoding transforms the channel into $m$ parallel binary input channels $p_{L_i|B_i}$, $i=1,2,\dotsc,m$.

1.  The bit channels $p_{L_i|B_i}$ are different for different bit levels. This is important in Sec. \[sec:code\], where we optimize the parity matrix $\matp$ for bit-metric decoding.

2.  By , the distribution of the bits $B_j$, $j\neq i$ influences the channel transition probabilities $p_{L_i|B_i}$ of the $i$th bit-channel, i.e., for each bit level, the other bit-levels act as interference.

3.  The rate can take on different values for different labelings of the signal points. We discuss this next.

Optimizing the Labeling {#subsec:labeling}
-----------------------

           Amplitude  7    5    3    1
  ------------------ ---- ---- ---- ----
    natural labeling  00   01   10   11
                BRGC  00   01   11   10

  : Two labelings for the amplitudes of 8-ASK and the resulting signal point labelings<span data-label="tab:labelings"></span>

    Signal point  -7    -5    -3    -1     1     3     5     7
  -------------- ----- ----- ----- ----- ----- ----- ----- -----
      Labeling 1  000   001   010   011   111   110   101   100
            BRGC  000   001   011   010   110   111   101   100

  : Two labelings for the amplitudes of 8-ASK and the resulting signal point labelings<span data-label="tab:labelings"></span>

![Comparison of ${\mathsf{R}_\textnormal{BMD}}$ for the two labelings from Table \[tab:labelings\].<span data-label="fig:labelings"></span>](pdf_figures/153dB-figure8)

    constellation   rate   SNR(${\mathsf{R}_\textnormal{SMD}}$) \[dB\]   SNR(${\mathsf{R}_\textnormal{BMD}}$) \[dB\]   Gap \[dB\]
  --------------- ------ --------------------------------------------- --------------------------------------------- ------------
            4-ASK      1                                        4.8180                                        4.8313       0.0133
            8-ASK      2                                       11.8425                                       11.8481       0.0056
           16-ASK      3                                       18.0911                                       18.0951       0.0039
           32-ASK      4                                       24.1708                                       24.1742       0.0034
           64-ASK      5                                       30.2078                                       30.2110       0.0032

  : Comparison of SNRs needed by symbol-metric decoding and bit-metric decoding to achieve a certain rate<span data-label="tab:bmdgap"></span>

We choose the labeling of the $m-1$ amplitudes; the label of the sign is already defined by construction. We evaluate ${\mathsf{R}_\textnormal{BMD}}$ for $8$-ASK and two different amplitude labelings. Labeling 1 is a *natural labeling* and Labeling 2 is the *Binary Reflected Gray Code* (BRGC), see @gray1953pulse. The two labelings are listed in Table \[tab:labelings\]. We have ordered the amplitudes in descending order so that the actual signal points are labeled from left to right. The resulting labelings of the signal points are also displayed in Table \[tab:labelings\]. Note that the natural labeling of the amplitudes does not lead to a natural labeling of the signal points. In contrast, the BRGC labeling of the amplitudes also leads to the BRGC of the signal points. We display in Fig. \[fig:labelings\] ${\mathsf{R}_\textnormal{BMD}}$ for Labeling 1 and the BRGC labeling. The BRGC labeling is better than Labeling 1 and very close to the capacity $\capacity({\mathsf{P}})$, which is consistent with the results presented in @bocherer2014achievable. In Table \[tab:bmdgap\], bit-metric decoding with BRGC is compared to symbol-metric decoding. The SNRs needed to achieve a given rate are listed.

The bit-metric decoding gaps in Table \[tab:bmdgap\] show how much we can gain by using multilevel coding with multistage decoding or by iteratively exchanging extrinsic information between the soft-demapper and the soft-decoder (BICM-ID, @li1997bit). This gain is negligible and not worth the increased complexity for the considered scenario.

LDPC Code Design {#sec:code}
================

In principle, our scheme works for any binary code with a systematic encoder and a decoder that can process the soft-output of the binary demappers. In this section, we discuss the deployment of LDPC codes.

LDPC Codes and Bit-Channels
---------------------------

LDPC codes are linear block codes with a sparse $(n-k)\times n$ check matrix $\mathh$. The matrix $\mathh$ can be represented by a Tanner graph @tanner_graph consisting of variable nodes and check nodes. The variable node degree of the $i$th coded bit is given by the number of ones in the $i$th column of $\mathh$ and the degree of the $j$th check node is given by the number of ones in the $j$th row of $\mathh$. The variable and check node degrees influence the decoding threshold of the LDPC code @richardson2001design.

Good LDPC codes are often irregular, i.e., not all coded bits have the same variable node degree @luby2001improved [@richardson2001design]. At the same time, the coded bits are transmitted over different bit-channels. This suggests that the bit-mapper, which decides which coded bit is transmitted over which bit-channel, influences the performance. The example shown in Fig. \[fig:mapping\_influence\] confirms this. The optimized bit-mapper is 0.6 dB more energy efficient than a randomly chosen bit-mapper.

Bit-mapper optimization was considered, e.g., in @li2005bit [@lei2008; @gong2011improve; @cheng2012exit; @hager2014optimized]. An alternative approach is to jointly optimize the node degrees and the bit-mapper. This is done in @zhang_MET_journal and @steiner_boecherer_2015. In this work, we consider bit-mapper optimization.

Bit-Mapper Optimization for the DVB-S2 Codes {#sec:bitmapper}
--------------------------------------------

![Influence of the bit-mapping on the performance. The DVB-S2 rate 2/3 LDPC code is used with uniform inputs on an 8-ASK constellation. An optimized bit-mapper (blue curve) and a random bit-mapper (red curve) are used.<span data-label="fig:mapping_influence"></span>](pdf_figures/153dB-figure9)

We use LDPC codes from the DVB-S2 standard. In Table \[tab:dvbs2\_degrees\], we display the variable node degree distributions of the DVB-S2 codes, e.g., the rate 2/3 code has 4320 coded bits of variable node degree 13, and it has 38880, 21599, and 1 bits of degrees 3, 2, and 1, respectively. All codes have four different variable node degrees, which decrease from left to right. By Sec. \[subsec:encoding\], our PAS scheme places the uniformly distributed bits of bit-level $B_1$ at the end of the codeword in the systematic encoding process. For the bit-levels $B_2\dotsb B_m$, we use the following heuristic.

-   A bit interleaver $\pi_\text{b}$ sorts the bit stream by bit-levels, i.e., $$\begin{aligned}
    \vecb(A_1)\dotsc\vecb(A_{{n_{\!\text{c}}}})\overset{\pi_\text{b}}{\longrightarrow}\vecB_2\vecB_3\dotsb\vecB_m\end{aligned}$$ where $\vecB_i$ is a string of ${n_{\!\text{c}}}$ bits of level $i$.

-   A bit-level interleaver permutes the bit-level strings. We compactly represent the bit-level interleaver by listing the bit-levels in the order in which they should occur in the codeword, e.g., for $m=4$, the bit-level interleaver $(4,2,3)$ is $$\begin{aligned}
    \vecB_2\vecB_3\vecB_4\overset{(4,2,3)}{\longrightarrow}\vecB_4\vecB_2\vecB_3.\label{eq:blexample}\end{aligned}$$

We keep the bit interleaver fixed and represent the complete bit-mapping by appending a $1$ to the bit-level interleaver, e.g., $\operatorname{\pi}=(4,2,3,1)$ stands for the composition of $\pi_\text{b}$ with bit-level interleaver $(4,2,3)$. We optimize the bit-level interleaver. There are $(m-1)!$ possibilities, among which we choose the one with the best error performance. The largest considered constellation is 64-ASK, for which we need to choose among $(6-1)!=120$ bit level interleavers. This optimization is still feasible. We display in Table \[tab:interleaver\] the optimized bit-mappers for uniform inputs and rate $(m-1)/m$ codes.

\[t\]<span>0.48</span>

  ------ ------ ------ ------ ------ ------- ------- ---
                                                     
  rate   13     12     11     4      3       2       1
  2/3    4320                        38880   21599   1
  3/4           5400                 43200   16199   1
  4/5                  6480          45360   12959   1
  5/6    5400                        48600   10799   1
  9/10                        6480   51840   6479    1
  ------ ------ ------ ------ ------ ------- ------- ---

  : Optimal bit-level interleaver for uniform inputs and DVB-S2 codes

\[tab:dvbs2\_degrees\]

\

\[t\]<span>0.48</span>

    constellation  code rate    bit-mapper $\pi$
  --------------- ----------- ------------------
             8ASK     2/3              $(3,2,1)$
            16ASK     3/4            $(3,4,2,1)$
            32ASK     4/5          $(3,2,5,4,1)$
            64ASK     5/6        $(4,2,5,3,6,1)$

  : Optimal bit-level interleaver for uniform inputs and DVB-S2 codes

\[tab:interleaver\]

Rate Adaption {#sec:adaption}
=============

Practical Operating Points {#subsec:practicalops}
--------------------------

We use PAS at the transmitter and bit-metric decoding at the receiver. The transmission rate and the achievable rate are given by the respective $$\begin{aligned}
R=\entop(A)+\gamma,\qquad{\mathsf{R}_\textnormal{BMD}}&=\entop(\vecB)-\sum_{i=1}^m H(B_i|L_i)\end{aligned}$$ where $\vecB=b(S)\vecb(A)$. For each transmit power ${\mathsf{P}}$, we choose the amplitude distribution $P_A$ and the constellation scaling $\Delta$ to maximize the achievable rate. In this way, we obtain a transmission rate curve $R$ and an achievable rate curve ${\mathsf{R}_\textnormal{BMD}}$. In analogy to our discussion in Sec. \[subsec:pas:ops\], the optimal operating point for our scheme is where $R$ crosses ${\mathsf{R}_\textnormal{BMD}}$. We illustrate this in Fig. \[fig:backoff\] for 8-ASK and code rate $c=2/3$ ($\gamma=0$). When we use practical codes of finite block length ${n_{\!\text{c}}}$, we must back off from the optimal operating point and tolerate a positive FER. We back off along the transmission rate curve $R$. As we increase the transmission power ${\mathsf{P}}$, the *rate back-off* $$\begin{aligned}
{\mathsf{R}_\textnormal{BMD}}-R\end{aligned}$$ increases and we expect that the error probability decreases. This intuition is confirmed by the practical operating points of the 2/3 DVB-S2 LDPC code shown in Fig. \[fig:backoff\].

Transmission Rate Adaption
--------------------------

![Operating points for 8-ASK and rate $2/3$ codes. The optimal point is where the rate curve $R({\mathsf{P}})$ crosses the achievable rate curve ${\mathsf{R}_\textnormal{BMD}}({\mathsf{P}})$. By backing off from the optimal point along the rate curve, the rate back-off (given by the distance between the rate curve and the achievable rate curve) increases. For the rate 2/3 DVB-S2 LDPC code, the FER $P_e$ is decreased from $\num{1.1e-1}$ to $\num{2.8e-3}$ by increasing the rate back-off.<span data-label="fig:backoff"></span>](pdf_figures/153dB-figure10)

Suppose we achieve a transmission rate $R^\circ$ at a FER $P_e$ by the procedure described in Sec. \[subsec:practicalops\]. Suppose further that this *reference operating point* is achieved by amplitude distribution $P_A$ and constellation scaling $\Delta$. With the same code, we now want to transmit at a rate $\tilde{R}\neq R^\circ$ and achieve the same error probability.

Recall that for some optimized $\nu$ (see Sec. \[subsec:optimizedinput\]), the input distribution $P_{{X^\clubsuit}}$ is given by $$\begin{aligned}
P_{{X^\clubsuit}}(x)=\frac{e^{-\nu |x|^2}}{\sum_{x'\in\setx} e^{-\nu |x'|^2}},\quad x\in\setx.\end{aligned}$$ By , we can write the amplitude distribution $P_A$ of our reference point as $$\begin{aligned}
P_{A}(a)=2P_{{X^\clubsuit}}(a),\quad a\in\seta.\end{aligned}$$ Now define $$\begin{aligned}
P_{A^\lambda}(a)=\frac{P_A(a)e^{\lambda a^2}}{\sum_{\tilde{a}\in\seta}P_A(\tilde{a})e^{\lambda \tilde{a}^2}},\quad a\in\seta.\label{eq:mbscaling}\end{aligned}$$ The distribution $P_{A^\lambda}$ has the following properties:

-   $P_A$ and $P_{A^\lambda}$ are Maxwell-Boltzmann distributions. In particular, the set of Maxwell-Boltzmann distributions is closed under the mapping $P_A\mapsto P_{A^\lambda}$ as defined by .

-   For $\lambda=0$, we have $P_{A^\lambda}=P_A$.

-   For $\lambda\to \nu$, $P_A$ approaches the uniform distribution on $\seta$ whose entropy is $\log_2|\seta|=m-1$.

-   For $\lambda\to-\infty$, $P_{A^\lambda}$ approaches the distribution that chooses the smallest amplitude with probability $1$. The resulting entropy is zero.

From these properties, we see that we can use $P_{A^\lambda}$ to adapt the transmission rate. The range of feasible rates is $$\begin{aligned}
\gamma\leq \entop(A^\lambda)+\gamma\leq m-1+\gamma.\end{aligned}$$ For $\gamma=0$, the rate is between $0$ and $m-1$. To transmit at a feasible rate $R$, we proceed as follows.

-   Choose the amplitude distribution such that the desired transmission rate is achieved, i.e., choose $$\begin{aligned}
    P_{\tilde{A}}=P_{A^\lambda}\colon \entop(A^\lambda)+\gamma=\tilde{R}.\end{aligned}$$

-   Choose the constellation scaling $\tilde{\Delta}$ such that the resulting error probability $\tilde{P}_e$ is the same as for the reference point, i.e., choose $$\begin{aligned}
    \tilde{P}_e\overset{!}{=}P_e.\end{aligned}$$

Adaption for Universal Codes {#sec:universal}
----------------------------

The procedure described in the previous section requires to search for the right constellation scaling $\Delta$ by repeatedly performing Monte Carlo simulations. We now show how this can be simplified significantly for universal codes. We say a code is *universal*, if $P_e$ depends only on the rate back-off ${\mathsf{R}_\textnormal{BMD}}-R$. Suppose for $P_A$ and $\Delta$ of our reference point, the achievable rate evaluates to ${\mathsf{R}_\textnormal{BMD}}^\circ$. We can now adapt the constellation scaling as follows.

-   Choose the constellation scaling $\tilde{\Delta}$ such that $$\begin{aligned}
    {\mathsf{R}_\textnormal{BMD}}(\tilde{\Delta},P_{\tilde{A}})-\tilde{R}={\mathsf{R}_\textnormal{BMD}}^\circ-R^\circ.\label{eq:adaption strategy}\end{aligned}$$

For PAS and bit-metric decoding, we can write the rate back-off as $$\begin{aligned}
{\mathsf{R}_\textnormal{BMD}}-R=1-\gamma-\sum_{i=1}^m H(B_i|L_i).\end{aligned}$$ The term $1-\gamma$ is constant, so $P_e$ is determined by the sum of the conditional entropies $\sum_{i=1}^m H(B_i|L_i)$.

For a uniformly distributed binary input $B$ and a rate $c$ code, the transmission rate is $R=c$ and the achievable rate is $R^*=\miop(B;Y)$. The rate back-off becomes $$\begin{aligned}
R^*-R=\miop(B;Y)-c.\label{eq:universal:mi}\end{aligned}$$ Since $c$ is constant, this shows that $P_e$ is determined by the mutual information $\miop(X;Y)$. This property was observed for practical LDPC codes in @franceschini2006performance.

![Transmission rate adaption for 8-ASK. The rate 3/4 DVB-S2 code is used. The triangles mark the operating points calculated under the assumption that the code is universal. The reference operating point is the triangle on the rate $\entop(A)+\frac{1}{4}$ curve. In Table \[tab:8ask\], we display the FER of the adapted operating points. For comparison, we display an operating point of the 2/3 DVB-S2 code.<span data-label="fig:adaption"></span>](pdf_figures/153dB-figure11)

Numerical Results {#sec:numerical}
=================

We assess the performance of our scheme by Monte Carlo simulation. For each block, ${k_{\!\text{c}}}$ uniformly distributed data bits are transmitted in ${n_{\!\text{c}}}$ channel uses. $\gamma{n_{\!\text{c}}}$ of the data bits $U^{{k_{\!\text{c}}}}=U_1U_2\dotsb U_{{k_{\!\text{c}}}}$ are used for bit-level 1 (see Fig. \[fig:encoderAdapted\]). The remaining ${k_{\!\text{c}}}-\gamma{n_{\!\text{c}}}$ data bits are transformed by a CCDM matcher (see Sec. \[sec:dm\]) into a sequence of ${n_{\!\text{c}}}$ amplitudes. Encoding is then done according to Fig. \[fig:encoderAdapted\]. At the receiver, bit-metric decoding is performed (see Sec. \[sec:bmd\]) and the amplitude estimates are transformed back into ${k_{\!\text{c}}}-\gamma{n_{\!\text{c}}}$ data bit estimates by a CCDM dematcher, see @schulte2015constant. The dematcher output together with the other $\gamma{n_{\!\text{c}}}$ data bit estimates form the data estimate $\hat{U}^{{k_{\!\text{c}}}}=\hat{U_1}\hat{U_2}\dotsb\hat{U_{{k_{\!\text{c}}}}}$. We estimate the end-to-end FER $\Pr\{\hat{U}^{{k_{\!\text{c}}}}\neq U^{{k_{\!\text{c}}}}\}$. For each FER estimate, we also provide the corresponding 95% confidence interval (CI). The spectral efficiency is $R=\frac{{k_{\!\text{c}}}}{{n_{\!\text{c}}}}$. We use the DVB-S2 LDPC codes and we decode with 100 iterations. We optimize the bit-mappers using the heuristic proposed in Sec. \[sec:bitmapper\]. For each considered (constellation, code rate) mode, we first determine the practical operating point with $\text{FER}\approx\num{1e-3}$ following the procedure described in Sec. \[subsec:practicalops\]. We then use the rate adaption to operate the same (constellation, code rate) mode over a range of SNRs and spectral efficiencies. The results are displayed in Table \[tab:64ask\]–\[tab:4ask\]. In the first line of each table, the practical operating point is displayed and separated from the rest of the displayed values by a horizontal line. For 8-ASK, we display the resulting operating points in Fig. \[fig:adaption\].

### Spectral Efficiency

In Table \[tab:64ask\]—\[tab:4ask\], we display the SNR gap of our scheme to capacity $\capacity({\mathsf{P}})=\frac{1}{2}\log_2(1+{\mathsf{P}}/1)$. Over a range of 1 bit/s/Hz to 5 bit/s/Hz, our scheme operates within 1 dB of capacity. The rate 5/6 code with 16-ASK has a gap of only 0.61 to 0.69 dB, while the rate 9/10 code with 64-ASK has a gap of 1 dB. This indicates that the spectral efficiency can be improved further by using optimized codes. The work @steiner_boecherer_2015 confirms this.

### Universality

The results in Table \[tab:64ask\]—\[tab:4ask\] show that the DVB-S2 codes are universal in the sense of Sec. \[sec:universal\], since over the whole considered range, the resulting FER is within the waterfall region. Some configurations show a "more universal" behavior than others, e.g., the FER of the rate 3/4 code with 8-ASK (Table \[tab:8ask\]) is almost the same for the spectral efficiencies from 1.3 to 2.0 bits/s/Hz, while for the rate 5/6 code with 16-ASK, the FER changes by almost two orders of magnitude. Note that the listed operating points were found by . The operating points that result in a too low (too high) FER could be corrected by decreasing (increasing) the transmission power.

### Rate

Since all considered codes have the same block length of 64800 bits, the number of channel uses ${n_{\!\text{c}}}$ gets smaller for larger constellations. As discussed in Sec. \[sec:dm\], the CCDM matcher that we use to emulate the amplitude source $P_A$ has a rate close to $\entop(A)$ when the output length ${n_{\!\text{c}}}$ is large. For the smaller constellations 4, 8 and 16-ASK, the effective rate is equal to $\entop(A)$ with a precision of two decimal places. For the larger constellations 32 and 64-ASK, we observe a slight decrease of the effective rate, e.g., instead of the target rate $5.00$ we observe an effective rate $R=4.98$. See also @schulte2015constant for a discussion of this phenomenon. We calculate the SNR gap with respect to the effective rate.

### Error Floor

The DVB-S2 codes are designed to get the FER down to a reasonable value and an outer code then lowers the error probability further @etsi2009dvb. Since the CCDM dematcher performs a non-linear transformation, one corrupted symbol at the dematcher input can lead to various corrupted bit-errors at the dematcher output, so in-block error propagation can occur. In our scheme, an outer encoder should therefore be placed between the matcher and the inner encoder and the outer decoder should be placed between the inner decoder and the dematcher. To preserve the amplitude distribution imposed by the matcher, a systematic outer encoder has to be used.

Conclusions {#sec:conclusions}
===========

We proposed a practical rate-matched coded modulation scheme that adapts its transmission rate to the SNR. At the transmitter, a distribution matcher is concatenated with a systematic encoder of a binary LDPC code. At the receiver, bit-metric decoding is used. No iterative demapping is required. The reported numerical results show that on the complex baseband AWGN channel, any spectral efficiency between 2–10 bit/s/Hz can be achieved within 1 dB of capacity $\log_2(1+{\mathsf{P}}/1)$ by using the off-the-shelf DVB-S2 LDPC codes of rate 2/3, 3/4, 4/5 and 9/10 together with QAM constellations with up to 4096 signal points. Future work should investigate rate-matched coded modulation for short block lengths and for multiple-input multiple-output channels.

[^1]: G. Böcherer and P. Schulte are with the Institute for Communications Engineering, Technische Universität München (TUM). F. Steiner was with the Institute for Communications Engineering, TUM. He is now with the Institute for Circuit Theory and Signal Processing, TUM.

    This work was supported by the German Ministry of Education and Research in the framework of an Alexander von Humboldt Professorship. Emails: `douglas77@example.net`, `douglas77@example.net`, `douglas77@example.net`.

{'source': 'arXiv_out/1502'}