Increasing Data Rate through Shaping on Wireless Channels Subject to Mobility and Delay Spread

Extracted source text ยท arXiv 2512.06494

\documentclass[lettersize,journal]{IEEEtran}
\usepackage{amsmath,amsfonts}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{array}
\usepackage[caption=false]{subfig}
\usepackage{textcomp}
\usepackage{stfloats}
\usepackage{url}
\usepackage{verbatim}
\usepackage{graphicx}
\usepackage[noadjust]{cite}
\usepackage{dsfont}
\usepackage{color}
\usepackage{flushend}

\begin{document}

\title{Non-Equiprobable Signaling for Wireless Channels\\Subject to Mobility and Delay Spread}

\author{Sandesh Rao Mattu$^*$, Nishant Mehrotra$^*$, Robert Calderbank~\IEEEmembership{Life Fellow,~IEEE}\vspace{-6mm}
        % <-this % stops a space
\thanks{This work is supported by the National Science Foundation under grants 2342690 and 2148212, in part by funds from federal agency and industry partners as specified in the Resilient \& Intelligent NextG Systems (RINGS) program, and in part by the Air Force Office of Scientific Research under grants FA 8750-20-2-0504 and FA 9550-23-1-0249. \\
The authors are with the Department of Electrical and Computer Engineering, Duke University, Durham, NC, 27708, USA (email: \{sandesh.mattu,~nishant.mehrotra,~robert.calderbank\}@duke.edu). \\
$*$ denotes equal contribution.}% <-this % stops a space
%\thanks{Manuscript received April 19, 2021; revised August 16, 2021.}
}

% The paper headers
%\markboth{Journal of \LaTeX\ Class Files,~Vol.~14, No.~8, August~2021}%
%{Shell \MakeLowercase{\textit{et al.}}: A Sample Article Using IEEEtran.cls for IEEE Journals}

%\IEEEpubid{0000--0000/00\$00.00~\copyright~2021 IEEE}
% Remember, if you use this you must call \IEEEpubidadjcol in the second
% column for its text to clear the IEEEpubid mark.

\maketitle

\begin{abstract}
This letter describes how to improve performance of OFDM systems by combining non-equiprobable signaling with low density parity check (LDPC) coding. We partition a standard QAM constellation into annular subconstellations of equal size, and we implement non-equiprobable signaling through a shaping code which selects subconstellations with large average energy less frequently than subconstellations with small average energy. In equiprobable signaling, the LDPC code selects a signal point from the inner subconstellation. In non-equiprobable signaling this inner signal point has a representative in each subconstellation and the shaping code selects the representative for transmission. It is possible to use standard QAM constellations to achieve any desired fractional bit rate with this method of shaping the energy distribution of the transmitted signal. We describe how to combine coding and shaping by integrating shaping into the calculation of log-likelihood ratios (LLRs) necessary for decoding LDPC codes. We present simulation results for non-equiprobable transmission at $1.5$ bits/symbol on a representative Veh-A channel showing gains of $4$ dB at a bit error rate (BER) of $10^{-3}$. As the transmission rate increases, the gains from non-equiprobable signaling diminish, but we show through simulation that they are still significant for $16$-QAM. 
\end{abstract}

\begin{IEEEkeywords}
OFDM, shaping, non-equiprobable signaling, LDPC.
\end{IEEEkeywords}

\input{intro}

\input{sys_model}

\input{shaping}

\input{results}

\input{conclusions}

\bibliographystyle{IEEEtran}
\bibliography{references}

\end{document}



\section{Introduction}
\label{sec:intro}

In his 1948 paper~\cite{shannon1948a}, Shannon recognized that signals input to a Gaussian channel should themselves be selected with a Gaussian distribution. Wireless channels subject to mobility and delay spread are not Gaussian channels, but we will show that it is still advantageous to select signals with large energy less frequently than signals with small energy. We will transmit some information through our choice of signal energy, and since signaling is no longer equiprobable, it will be necessary to expand the signal constellation.

Section~\ref{sec:sys_model} describes the OFDM system model. Section~\ref{sec:shaping} introduces our method of shaping on rings through a small example, where the baseline system is LDPC-coded OFDM with a $4$-QAM signal constellation. We expand to the $8$-QAM constellation shown in Fig.~\ref{fig:const_4_qam}, and we use a shaping code to select points from the inner and outer subconstellations with different probabilities. Section~\ref{sec:num_results} compares BER performance of non-equiprobable signaling (shaping) with equiprobable signaling (4-QAM) on a representative Veh-A channel~\cite{veh_a}. For the same communication rate ($1.5$ bits per $2$-dim. symbol) we present simulations showing a $4$ dB gain of rate $1/2$ LDPC coding + rate $1/2$ shaping over rate $3/4$ LDPC coding. The cost is a modest increase in Peak to Average Power Ratio (PAPR). As the transmission rate increases, the possible shaping gains diminish, but we are still able to present an example in Section~\ref{subsec:16_qam_23_shap} showing significant gains for $16$-QAM. We would also argue that $4$-QAM is the most important modulation and coding scheme.

It is also possible to change the distribution of transmitted signal energy by warping a standard QAM constellation so that points closer to the origin are closer together and points closer to the periphery are further apart~\cite{hoydis2020joint}. Shaping on rings makes it possible to achieve bit error rate (BER) improvements with standard QAM signal constellations.

The method of shaping on rings is quite general. We partition a QAM constellation into annular subconstellations of equal size by scaling a basic circular region, and we realize shaping gain through a shaping code which selects the subconstellations with different probabilities. It is possible to achieve any desired fractional bit rate through this method of shaping on rings.

Calderbank and Ozarow~\cite{calderbank2002nonequiprobable} proposed non-equiprobable signaling for the Gaussian channel, and the combination of trellis coding and shaping was essential to the V.34 voiceband modem standard~\cite{forney1989multidimensional, ungerboeck1982channel}. Wireless communication employs LDPC codes rather than trellis codes, and Section~\ref{subsec:ldpc_dec} describes how we integrate shaping into the calculation of log-likelihood ratios (LLRs) necessary for decoding. 


\textit{Notation:} $x$ denotes a complex scalar, $\mathbf{x}$ denotes a vector with $n$th entry $\mathbf{x}[n]$, and $\mathbf{X}$ denotes a matrix with $(n,m)$th entry $\mathbf{X}[n,m]$. $(\cdot)^{\top}$ denotes transpose, and 
$(\cdot)^{\mathsf{H}}$ denotes complex conjugate transpose. $\mathbb{C}$, $\mathbb{R}$, $\mathbb{Z}$, $\mathbb{R}_+$, and $\mathbb{Z}_+$ respectively denote the set of complex numbers, real numbers, integers, positive real numbers, and  positive integers. $\star$ denotes the convolution operation. $\mathbb{E}$ denotes the expectation operator. $\mathsf{vec}(\cdot)$ denotes the column-wise vectorization operation and $\mathsf{diag}(\cdot)$ of a matrix returns a vector of its diagonal entries, $\Vert\cdot\Vert$ denotes the $2$-norm of a vector, and $\vert\cdot\vert$ denotes the cardinality of a set or absolute value of a complex number. $\otimes$ denotes the Kronecker product of matrices. $\mathcal{CN}(a, b)$ denotes circularly symmetric complex Gaussian random variable with mean $a$ and variance $b$. $\mathsf{U}[a, b)$ denotes a uniform random variable with limits $a$ (inclusive) and $b$ (exclusive).

% , $\mathbb{Z}_{+}$ the set of positive integers and $\mathbb{Z}_{N}$ the set of integers modulo $N$. 
% $(a,b)$ denotes the greatest common divisor of two integers $a,b$, $\lfloor \cdot \rfloor$ denotes the floor function,
% $(\cdot)_N$ denotes the modulo $N$ operation.
% , and $(\cdot)^{-1}_N$ denotes the inverse computed modulo $N$. 
% $\delta[\cdot]$ denotes the Kronecker delta function.
% $a~ *_\sigma~ b$ denotes the twisted convolution between the DD functions $a$ and $b$. 
% , $\delta(\cdot)$ denotes the Dirac delta function, 
% $\vert\cdot\vert$ denotes the cardinality.
% $\mathds{1}_{\{\cdot\}}$ denotes the indicator function, and $\Vert\cdot\Vert_2^2$ denotes the 2-norm of a vector or Frobenius norm of a matrix. $U[a, b)$ denotes a uniform random variable with limits $a$ (inclusive) and $b$ (exclusive), $a<b$.
\vspace{-1mm}
\section{System Model}
\label{sec:sys_model}
Consider an OFDM frame with $M$ subcarriers and $N$ symbols. Let $\Delta f$ be the subcarrier spacing. The OFDM frame occupies bandwidth $B=M\Delta f$ and time $T = N/\Delta f$. Each OFDM symbols occupies time $T_\mathsf{s} = 1/\Delta f$. Let $\mathbf{X}\in \mathbb{C}^{M\times N}$ denote the matrix of information symbols. At the transmitter, the information symbols are converted to time domain as:
\begin{align}
    \label{eq:sys_model1}
    \mathbf{x} = \mathsf{vec}(\mathbf{F}_M^{\mathsf{H}}\mathbf{X}) = (\mathbf{I}\otimes\mathbf{F}_M^{\mathsf{H}})\mathsf{vec}(\mathbf{X}),
\end{align}
where $\mathbf{x} \in \mathbb{C}^{MN \times 1}$ is the time-domain vector corresponding to the information symbols and $\mathbf{F}_M$ is the $M$-point discrete Fourier transform (DFT) matrix\footnote{In OFDM systems, a cyclic prefix is required for avoiding interference from neighboring OFDM symbols. We assume that it is added at the transmitter in time domain and removed at the receiver in the time domain and does not influence the system model.}. The time domain signal is mounted on a pulse $p(t)$:
\begin{align}
    \label{eq:sys_model2}
    s(t) = \sum_{n=0}^{MN-1}\mathbf{x}[n]p(t-nT_0),
\end{align}
where $T_0 = 1/B$ is the sampling interval. The time domain signal is transmitted through a doubly-selective channel whose representation in the delay-Doppler domain given by:
\begin{align}
    \label{eq:sys_model3}
    h(\tau, \nu) = \sum_{p=0}^{P-1}h_p\delta(\tau-\tau_p)\delta(\nu-\nu_p),
\end{align}
where $h_p, \tau_p, \nu_p$ respectively denote the channel gain, the delay, and the Doppler of the $p$th path of the $P$ path channel. The received time domain signal can be represented as:
\begin{align}
    \label{eq:sys_model4}
    r(t) &= \int_{\tau}\int_{\nu}h(\tau, \nu)s(t-\tau)e^{j2\pi\nu(t-\tau)}d\tau d\nu + n(t) \nonumber \\
    &= \sum_{p=0}^{P-1}h_ps(t-\tau_p)e^{j2\pi\nu_p(t-\tau_p)} + n(t),
\end{align}
where $n(t)$ is the additive while Gaussian noise with distribution $\mathcal{CN}(0, N_0)$. The delay and the Doppler of each path can be expressed in terms of the corresponding indices as:
\begin{align}
    \label{eq:sys_model5}
    \tau_p = \frac{k_p}{B}, \nu_p = \frac{l_p}{T},
\end{align}
where $k_p \in \mathbb{R}_+$ and $l_p\in \mathbb{R}$ are the delay and Doppler indices, respectively, corresponding to each channel path. Note that since both $k_p$ and $l_p$ can take real values (and not limited to integers), the channel model has \textit{fractional} delay-Doppler indices, which is practical. At the receiver, the received time domain signal is passed through a pulse $p^\ast(-t)$ matched to the transmit pulse:
\begin{align}
    \label{eq:sys_model6}
    y(t) 
    % &= r(t)\star p^\ast(-t) \nonumber \\
    &= \sum_{p=0}^{P-1}\sum_{n=0}^{MN-1}h_pe^{j\frac{2\pi}{MN}l_pn}\mathbf{x}[n]g(t-(k_p+n)T_0) + w(t),
\end{align}
where $g(t) = p(t)e^{j2\pi\nu_p t}\star p^\ast(-t)$, and $w(t) = n(t) \star p^\ast(-t)$. Sampling~\eqref{eq:sys_model6} at $t = mT_0, m = 0, 1, \cdots, MN-1$:
\begin{align}
    \label{eq:sys_model7}
    \mathbf{y}[m] = \sum_{p=0}^{P-1}\sum_{n=0}^{MN-1}h_pe^{j\frac{2\pi}{MN}l_pn}\mathbf{x}[n]\mathbf{g}[m-(k_p+n)] + \mathbf{w}[m],
\end{align}
which can be expressed in matrix vector form as:
\begin{align}
    \label{eq:sys_model8}
    \mathbf{y} = \mathbf{H}\mathbf{x} + \mathbf{w},
\end{align}
where $\mathbf{y}, \mathbf{x}, \mathbf{n} \in \mathbb{C}^{MN\times 1}$ are the received, transmitted, and noise vector, respectively, and $\mathbf{H}\in \mathbb{C}^{MN \times MN}$ is the effective channel matrix which encompasses the effect of pulse shaping and the physical channel. The $m$th row and $n$th column of the channel matrix is:
\begin{align}
    \label{eq:sys_model9}
    \mathbf{H}[m, n] = \sum_{p=0}^{P-1}h_pe^{j\frac{2\pi}{MN}l_pn}\mathbf{g}[m-(k_p+n)].
\end{align}
Finally, the time domain system model in~\eqref{eq:sys_model8} can be represented in the frequency domain as:
\begin{align}
    \label{eq:sys_model10}
    \mathbf{y}_{\mathsf{F}} = (\mathbf{I}\otimes \mathbf{F}_M)\mathbf{H}(\mathbf{I}\otimes\mathbf{F}_M^\mathsf{H})\mathbf{x}_{\mathsf{F}} + \mathbf{w}_{\mathsf{F}} = \mathbf{H}_{\mathsf{F}}\mathbf{x}_{\mathsf{F}} + \mathbf{w}_{\mathsf{F}},
\end{align}
where $\mathbf{y}_{\mathsf{F}} = (\mathbf{I}\otimes \mathbf{F}_M)\mathbf{y}$, $\mathbf{x}_{\mathsf{F}} = \mathsf{vec}(\mathbf{X})$, and $\mathbf{w}_{\mathsf{F}} = (\mathbf{I}\otimes \mathbf{F}_M)\mathbf{w}$.

\subsection{Channel estimation}
\label{subsec:chan_est}
In practice, systems are required to estimate the channel at the receiver. To estimate the channel, a reference symbol or pilot is transmitted. In this paper, we consider the Kronecker pilot pattern (also called the Type-2 demodulation reference signal (DMRS))~\cite{3gpp_ts_38_211, 3gpp_ts_38_212}. In this setting pilots are placed on specific subcarriers in an OFDM symbol. The estimates at the pilot locations are obtained using a least squares estimator~\cite{nee_prasad_ofdm_2000} and to get the estimate at the rest of the locations a two-dimensional interpolation is carried out. For the two-dimensional interpolation, the (pre-computed) time and frequency covariance matrices are used, which are computed as:
\begin{align}
    \label{eq:sys_model11}
    \mathbf{C}_\mathsf{t} = \mathbb{E}[\mathsf{diag}(\mathbf{H}_{\mathsf{F}}^{\mathsf{H}})\mathsf{diag}(\mathbf{H}_{\mathsf{F}})], \mathbf{C}_\mathsf{f} = \mathbb{E}[\mathsf{diag}(\mathbf{H}_{\mathsf{F}})\mathsf{diag}(\mathbf{H}_{\mathsf{F}}^{\mathsf{H}})],
\end{align}
respectively\footnote{Here, we consider the diagonal values when we compute the covariance matrices. This is because under fractional delay-Doppler channel, the channel matrix is not strictly diagonal due to inter-carrier interference (ICI) in OFDM. Taking the whole matrix introduces ICI effects into the time and frequency covariance matrix.}. A linear minimum mean squared error (LMMSE) interpolator is used for the two-dimensional interpolation of the channel values~\cite{hoeher1997two-dimensional} which gives the estimate of the diagonals of $\mathbf{H}_{\mathsf{F}}$. This forms the estimated channel matrix which is used for equalization.


\section{Shaping}
\label{sec:shaping}

\begin{figure}
    \centering
    \includegraphics[width=\linewidth]{block_dia.eps}
    \caption{Block diagram of the OFDM communication scheme with shaping.}
    \label{fig:blk_dia}
    \vspace{-5mm}
\end{figure}
Figure~\ref{fig:blk_dia} shows the block diagram of the overall communication scheme. At the transmitter, information bits are encoded through a low-density parity check (LDPC) encoder, followed by mapping to constellation symbols (4-QAM, for example). The symbols are then passed through a shaping encoder. The resulting constellation symbols are modulated using OFDM and transmitted over a doubly-selective channel. At the receiver, the received symbols are OFDM demodulated. This includes channel estimation and equalization. This is followed by a shaping decoder. The OFDM demodulated symbols are passed to the LLR computation block and then finally to the LDPC decoder to get the decoded information bits. In the following, we describe the shaping encoder and decoder in detail.

\vspace{-3mm}
\subsection{Shaping Encoder}
\vspace{-1mm}
\label{subsec:shap_enc}
\begin{figure}
    \centering
    \includegraphics[width=0.5\linewidth]{shaping_const.eps}
    \caption{Constellation points used for communication in the shaping scheme.}
    \label{fig:const_4_qam}
    % \vspace{-2mm}
\end{figure}
At the transmitter, an augmented constellation is generated. An example is shown for 4-QAM, in Fig.~\ref{fig:const_4_qam}. The augmented constellation is a combination of an inner (or the original) constellation and an outer constellation\footnote{In this paper, although we divide the constellation into two regions, inner and outer, the shaping idea is very general. For example, the constellation could be divided into multiple partitions as shown in~\cite{calderbank2002nonequiprobable}.}. Each symbol from the inner constellation is mapped to a point on the outer constellation. Such pairs have the same bit representation. In the example, if the point $1+1j$ is represented by the binary vector $[0 \ 0]^\top$ then so is the point $-3+1j$. In the Figure, each constellation point on the 4-QAM shown by a square, circle, triangle, or star, is mapped to a point on the outer constellation represented by the corresponding shaded shape. The choice between the inner and outer constellation is provided by the shaping code. Note that the shaping code is not actually transmitted, the extra information bits are conveyed through power during transmission.

\begin{figure}
    \centering
    \includegraphics[width=\linewidth]{shaping_enc.eps}
    \caption{Block diagram showing a shaping encoder. Uncoded bits are provided as input. A shaping code $[1\ 0\ 0]^\top$ (length $3$) is used.}
    \label{fig:shap_enc_block_dia}
    \vspace{-4mm}
\end{figure}

A shaping code is a collection of binary vectors of length $z$ which have a certain sparsity. For example, a $1$-sparse shaping code of length $z$ would have $z+1$ vectors, where $z$ vectors have sparsity $1$ and one vector has $0$ sparsity. The constellation symbols that are to be transmitted are divided into vectors $\mathbf{s}$ of length $z$ at the transmitter. The shaping encoder picks a $z$-length codeword, say $\mathbf{c}$, at random from the codebook. Let $f$ be a function that maps each constellation point in the inner constellation to the corresponding point on the outer constellation. Then the operation performed by the shaping encoder is given by:
\begin{align}
    \label{eq:shap_enc1}
    \bar{\mathbf{s}}[i] = \begin{cases}
        \mathbf{s}[i] \quad\quad~ \mathrm{if} \ \mathbf{c}[i] = 0\\
        f(\mathbf{s}[i]) \quad \mathrm{if} \ \mathbf{c}[i] = 1
    \end{cases},
\end{align}
for $i=0, 1, \cdots, z-1$ and $\bar{\mathbf{s}}\in \mathbb{C}^{z\times 1}$ is the encoded $z$-length vector that is transmitted. The encoder transmits information symbols from the inner constellation whenever the shaping code at the corresponding index is $0$ and from the outer constellation otherwise. Note that, the all $0$ shaping codeword corresponds to no shaping.

The encoder operation is shown in Fig.~\ref{fig:shap_enc_block_dia}. For the example, the $z=3$ and the shaping code is $[1\ 0\ 0]^\top$. A point from the outer constellation is transmitted at the first location and points from the inner constellation are transmitted at the second and third locations.

These constellation symbols are OFDM modulated and transmitted over a channel. At the receiver, the channel estimation and equalization are carried out. The equalized symbols are passed to a shaping decoder, the details of which are presented below.
\vspace{-4mm}
\subsection{Shaping Decoder}
\label{subsec:shap_dec}
Let $\mathcal{S}$ denote the set of all constellation points, including both the outer and inner constellation points. The equalized symbols are divided into vectors $\mathbf{y}$ of length $z$. The receiver computes the minimum distance metric:
\begin{align}
    \label{eq:shap_dec1}
    \mathbf{d} = \underset{s\in\mathcal{S}}{\min} \ \Vert \mathbf{y} - s\Vert,
\end{align}
where $\mathbf{d} \in \mathbb{R}_+^{z \times 1}$ is the vector of minimum distances. Let $g$ be a function defined as:
\begin{align}
    \label{eq:shap_dec2}
    e(\mathbf{s}[i]) = \begin{cases}
        1\quad\quad \mathrm{if} \ \mathbf{s}[i] \in \mathcal{S}_{\mathsf{o}} \\
        0\quad\quad \mathrm{if} \ \mathbf{s}[i] \in \mathcal{S}_{\mathsf{i}}
    \end{cases},
\end{align}
where $\mathcal{S}_{\mathsf{o}}$ and $\mathcal{S}_{\mathsf{i}}$ respectively denote the set of points on the outer and inner constellation ($\mathcal{S} = \mathcal{S}_{\mathsf{o}} \cup \mathcal{S}_{\mathsf{i}}$). Define a function $e$ that returns $1$ if the constellation point is picked from outer constellation and $0$ otherwise. The receiver detects each $z$-length information symbols as:
\begin{align}
    \label{eq:shap_dec3}
    \hat{\mathbf{s}}[i] = \underset{s\in \mathcal{S}}{\arg \min} \ \Vert \mathbf{y} - s\Vert.
\end{align}
The shaping codeword is decoded as:
\begin{align}
    \label{eq:shap_dec4}
    \hat{\mathbf{c}} = e(\hat{\mathbf{s}}).
\end{align}
However, since the shaping codeword has a pre-defined structure (for example, sparsity) the decoded codeword may not always be a valid codeword. In such cases, the index of the dirtiest symbol is computed as:
\begin{align}
    \label{eq:shap_dec5}
    i = \underset{i=0, 1, \cdots, z-1}{\arg\max} \  \mathbf{d}[i],
\end{align}
and the bit at $\hat{\mathbf{c}}[i]$ is flipped. If this results in a valid codeword, the process is stopped else the process is continued to find the next dirtiest symbol index and so on. This procedure gives the decoded shaping codeword. 

Wireless systems employ LDPC codes. The LDPC decoder requires log-likelihood ratios (LLRs) for decoding. In the following Subsection we describe how to compute the LLRs for the OFDM system with shaping.
\vspace{3mm}
\subsection{LDPC Decoding}
\label{subsec:ldpc_dec}
% \vspace{-4mm}
\setlength{\textfloatsep}{1pt}
\begin{algorithm}
    \caption{Compute LLRs from equalized OFDM symbols with shaping.}
    \label{alg:llrs}
    \begin{algorithmic}[1]
        \STATE \textbf{Inputs:}
          Equalized received symbols $\mathbf{y} \in \mathbb{C}^{n_{\mathsf{sym}}\times 1}$ , constellation points $\mathcal{S}$ with $q = \vert\mathcal{S}\vert$, $\mathcal{S}_{\mathsf{i}}, \mathcal{S}_{\mathsf{o}}$, with $l=\vert\mathcal{S}_{\mathsf{i}}\vert = \vert\mathcal{S}_{\mathsf{o}}\vert$, label map $\ell:\{0,\cdots,q-1\}\to\{0,\dots,l-1\}$, noise variance $N_0>0$, log-priors $\log \boldsymbol{\pi}_i$ for $i=0,\cdots,q-1$, and small constant $\varepsilon>0$ for numerical stability.
        \STATE \textbf{Set} $n_b = \lceil\log_2 l\rceil, \mathbf{u} = \mathbf{d} = \mathbf{0}_{q\times 1}, \mathbf{\Lambda} = \mathbf{0}_{l\times 1}, \mathrm{LLR} = []$
        \FOR{$s = 0$ \textbf{to} $n_{\mathsf{sym}}-1$}
          \STATE \textbf{Set} $y = \mathbf{y}[s]$
          %
          % \STATE \textbf{Physical-symbol metrics:}
          \FOR{$i = 0$ \textbf{to} $q-1$}
            \STATE $\mathbf{d}[i] = \Vert y - \mathcal{S}_i \Vert^2$, $\mathcal{S}_i$ is the $i$th symbol in $\mathcal{S}$
            \STATE $\mathbf{u}[i] = -\frac{d_i}{N_0}$
            \STATE $\mathbf{u}_i = \mathbf{u}_i + \log \boldsymbol{\pi}_i$
          \ENDFOR
          %
          \FOR{$\ell_{\mathsf{val}} = 0$ \textbf{to} $l-1$}
            \STATE $\mathcal{T}_\ell = \{ i \mid \ell(i)=\ell_{\mathsf{val}} \}$
            \STATE $m_\ell = \underset{i \in \mathcal{T}_\ell}{\max} \  \mathbf{u}[i]$
            \STATE $s_\ell = \sum_{i\in \mathcal{T}_\ell} \exp\big(\mathbf{u}[i] - m_\ell\big)$
            \STATE $\mathbf{\Lambda}[\ell] = m_\ell + \log\big(s_\ell + \varepsilon\big)$
          \ENDFOR
          %
          \STATE $\mathbf{l}_{\mathsf{sym}} = \mathbf{0}_{n_b\times 1}$
          \FOR{$b= 0$ \textbf{to} $n_b-1$}
            \STATE Define $\mathcal{L}_0^{(b)} = \{\ell : \text{bit } b \text{ of label } \ell = 0\}, \mathcal{L}_1^{(b)} = \{\ell : \text{bit } b \text{ of label } \ell = 1\}.
            $
            \STATE $m_0 = \underset{k\in\mathcal{L}_0^{(b)}}{\max} \mathbf{\Lambda}[k]$, $m_1 = \underset{k\in\mathcal{L}_1^{(b)}}{\max} \mathbf{\Lambda}[k]$
            \STATE $s_0 = \sum_{\ell\in\mathcal{L}_0^{(b)}} e^{(\mathbf{\Lambda}[\ell] - m_0)}, s_1 =\sum_{\ell\in\mathcal{L}_1^{(b)}} e^{(\mathbf{\Lambda}[\ell] - m_1)}$
            \STATE $\mathbf{l}_{\mathsf{sym}}[b] = \big(m_0 + \log(s_0 + \varepsilon)\big)-\big(m_1 + \log(s_1 + \varepsilon)\big)$
          \ENDFOR
          %
          \STATE $\mathrm{LLR} = [\mathrm{LLR} \ \mathbf{l}_{\mathsf{sym}}]$
        \ENDFOR
        \STATE \textbf{Return:} $\mathrm{LLR}$
    \end{algorithmic}
\end{algorithm}
LLR computation for LDPC decoding is presented in Algorithm~\ref{alg:llrs}. The algorithm takes as input the equalized symbols, the constellation points, the label map which corresponds to the labels for both inner and outer constellation (each label is mapped to exactly two symbols), noise variance, and the prior probabilities of the constellation points in the log scale. From Steps 3 -- 9, a minimum distance metric is computed and the prior probabilities are introduced. From Steps 10 -- 15, the Algorithm combines the metrics for all the points that have the same label using the log sum exponential approximation for improving numerical stability~\cite{bishop2006pattern}. Combining metrics is essential since more than one constellation point is mapped to the same index (see Sec.~\ref{subsec:shap_enc}). Steps 16 through 22 compute the logits to LLR conversion in the usual way.

\begin{figure}
    \centering
    \includegraphics[width=0.85\linewidth]{4_qam_15_len_shap.eps}
    \caption{Coded bit-error performance comparison between OFDM modulation with and without shaping. $4$-QAM, $15$-length shaping with $1$ sparsity.}
    \label{fig:4_qam_15_len_shap}
    \vspace{2mm}
\end{figure}

\vspace{-2mm}
\subsection{Rate, PAPR, and Complexity Considerations}
\label{subsec:rate_papr}
The extra rate introduced by the shaping code is through power modulation. The rate is a function of number of codewords that are present in the shaping code. Let $\mathcal{C}$ denote the set of $z$-length shaping codewords (or the codebook). Then the rate achieved by the shaping codebook is:
\begin{align}
    \label{eq:rate_papr_comp1}
    r = \frac{\log_2\vert\mathcal{C}\vert}{z},
\end{align}
where the division by $z$ indicates that $\log_2\vert\mathcal{C}\vert$ bits are transmitted in $z$ channel uses. This rate is in addition to the rate achieved by the system without shaping.

In practice, PAPR is an important consideration. A high PAPR requires an amplifier with large linear operating region~\cite{nee_prasad_ofdm_2000}, which may not always be realizable in practice. When the constellation is augmented, we increase the peak power of the constellation. The average energy of the augemented constellation is:
\begin{align}
    \label{eq:rate_papr_comp2}
    P_{\mathsf{avg}} = \pi_{\mathcal{S}_{\mathsf{i}}}P_{\mathsf{i}} + \pi_{\mathcal{S}_{\mathsf{o}}}P_{\mathsf{o}},
\end{align}
where $\pi_{\mathcal{S}_{\mathsf{i}}}$ ($\pi_{\mathcal{S}_{\mathsf{o}}}$) denotes the probability of picking a point from the inner (outer) constellation, and $P_{\mathsf{i}}$ ($P_{\mathsf{o}}$) is the average power of the inner (outer) constellation. The PAPR can be written as:
\begin{align}
    \label{eq:rate_papr_comp3}
    \mathrm{PAPR} = \frac{\underset{s\in\mathcal{S}}{\max}\ \vert s \vert^2}{P_{\mathsf{avg}}}.
\end{align}
For example, for a 4-QAM system in Fig.~\ref{fig:const_4_qam}, with $3$-length shaping with sparsity $1$, $P_{\mathsf{avg}} = 0.75\cdot2 + 0.25\cdot 10 = 4$ and the $\mathrm{PAPR} = 2.5$.

At the transmitter, to encode the shaping codeword, the transmitter needs to implement~\eqref{eq:shap_enc1}, which is a look-up table based operation and does not incur computational complexity. At the receiver, the minimum distance (in~\eqref{eq:shap_dec3}) needs to be computed for all the constellation points (twice as many times without shaping) and incurs additional complexity $\mathcal{O}(\vert\mathcal{S}_{\mathsf{o}}\vert)$. In the LLR computation, the complexity involving combining the LLRs incurs complexity $\mathcal{O}(\vert\mathcal{S}_{\mathsf{o}}\vert)$ (since insider the for loop, all computations can be carried out in one clock cycle and incur complexity $\mathcal{O}(1)$). The additional complexity introduced by shaping is only linear in the number of additional constellation points and \textit{does not} scale with the frame dimensions.

\begin{figure}
    \centering
    \includegraphics[width=0.85\linewidth]{4_qam_23_len_shap.eps}
    \caption{Coded bit-error performance comparison between OFDM modulation with and without shaping. $4$-QAM, $23$-length shaping with $3$ sparsity.}
    \label{fig:4_qam_23_len_shap}
    \vspace{2mm}
\end{figure}

\section{Numerical Results}
\label{sec:num_results}
In this Section we present the numerical results evaluating the performance of the OFDM scheme with shaping. For all the results presented here, we consider a practical setting where estimated channel is used (per Sec.~\ref{subsec:chan_est}) for equalization along with LDPC encoding. We consider an OFDM system with $M=72, N=14, \Delta f = 30$ kHz. For all the simulations we consider the Vehicular-A channel model~\cite{veh_a} with a maximum Doppler spread $\nu_{\max}$ of $815$ Hz. Each path Doppler is obtained using the Jake's spectrum $\nu_p = \nu_{\max}\cos(\theta)$, where $\theta\sim\mathsf{U}[-\pi, \pi)$.

\subsection{$4$-QAM, $15$-length shaping}
\label{subsec:4_qam_15_shap}
In this Subsection, we consider a $15$-length shaping code with sparsity $1$. We have $16$ codewords in the shaping codebook which convey $4$ bits of information over $15$ channel uses. The additional rate is $\approx 0.25$. We pair this with an LDPC code of rate $0.5$, and the effective rate is $1.25$. For the unshaped performance we consider a rate $5/8$ LDPC code with $4$-QAM that also achieves rate $1.25$. Figure~\ref{fig:4_qam_15_len_shap} compares the bit-error performance of the two systems. It is seen that the performance of the OFDM system with shaping is superior compared to that without shaping and the performance gap increases with increase in signal power. Shaping gain~\cite{calderbank2002nonequiprobable} and lower rate for LDPC with shaping both contribute to this performance improvement.

\subsection{$4$-QAM, $23$-length shaping}
\label{subsec:4_qam_23_shap}
In this Subsection, we consider a $23$-length shaping code with sparsity $3$. We have $2048$ codewords in the shaping codebook which convey $11$ bits of information over $23$ channel uses. The additional rate is $\approx 0.5$. We pair this with an LDPC code of rate $0.5$, and the effective rate is $1.5$. For the unshaped performance we consider a rate $3/4$ LDPC code with $4$-QAM that also achieves rate $1.5$. Figure~\ref{fig:4_qam_23_len_shap} shows the bit-error performance of the shaped and unshaped OFDM systems. The performance gap is wider here, because to match the rate, the unshaped OFDM system uses a higher rate LDPC, which is less capable of correcting errors.

\subsection{$16$-QAM, $23$-length shaping}
\label{subsec:16_qam_23_shap}
In this Subsection, we consider the same $23$-length shaping code. The effective rate is $2.5$ since we use $16$-QAM. For the unshaped performance we consider a rate $5/8$ LDPC code with $16$-QAM that also achieves rate $2.5$. Figure~\ref{fig:16_qam_23_len_shap} shows the bit-error comparison. At high signal energies there is performance gain of about $1$ dB over the unshaped OFDM system.
\begin{figure}
    \centering
    \includegraphics[width=0.85\linewidth]{16_qam_23_len_shap.eps}
    \caption{Coded bit-error performance comparison between OFDM modulation with and without shaping. $16$-QAM, $23$-length shaping with $3$ sparsity.}
    \label{fig:16_qam_23_len_shap}
    \vspace{2mm}
\end{figure}

\section{Conclusions}
\label{sec:conclusions}
We have shown that non-equiprobable signaling provides superior BER performance on wireless channels subject to mobility and delay spread. The advantages are particularly striking for small constellations such as $4$-QAM, and we have presented simulations for a representative Veh-A channel showing gains of $4$ dB at a bit error rate of $10^{-3}$. We have described a method of shaping on rings that can be applied to standard QAM constellations, and is able to achieve any desired fractional bit rate. We have described how to combine LDPC codes with shaping, by integrating shaping into the calculation of log-likelihood ratios (LLRs) necessary for LDPC decoding.