CRC-Assisted Channel Codes for Integrated Passive Sensing and Communications

Extracted source text · arXiv 2411.05531

\documentclass[journal]{IEEEtran}

\IEEEoverridecommandlockouts
\usepackage{graphicx, subcaption}
\usepackage{amsmath,amssymb}
\usepackage{cite, soul}
\usepackage{url}
\usepackage{bm}
\usepackage{amsthm}

\DeclareMathOperator*{\argmax}{argmax}
\usepackage[usenames,dvipsnames]{color}
\usepackage{comment}
\usepackage{tabularx}

\usepackage[linesnumbered,vlined,ruled]{algorithm2e}
\usepackage{algpseudocode}

%\addtolength{\textheight}{0.1in} % longer
%\addtolength{\voffset}{-0.05in}

%\addtolength{\textwidth}{0.1in} % wider
%\addtolength{\hoffset}{-0.05in}
\newtheorem{proposition}{Proposition}

\newtheorem{remark}{Remark} % 定义 remark 环境

% Title.
% ------
\title{CRC-Assisted Channel Codes for Integrated Passive Sensing and Communications}
%
% Single address.
% ---------------

\author{Chenghong Bian, Kaitao Meng, Huihui Wu, Yumeng Zhang, Deniz G{\"u}nd{\"u}z
\thanks{C. Bian and D. G{\"u}nd{\"u}z are with the Department of Electrical and Electronic Engineering, Imperial College London (E-mails: \{c.bian22, d.gunduz\}@imperial.ac.uk). K. Meng is with the Department of Electronic and Electrical Engineering, University College London, London, UK (email: kaitao.meng@ucl.ac.uk). H. Wu is with Biren Tech Research, Shanghai, China (email: huihui.wu@ieee.org). Y. Zhang is with the Department of Electrical and Computer Engineering, Hong Kong University of Science and Technology, Hong Kong (E-mail: eeyzhang@ust.hk).
}
}


\begin{document}



%\input{figure.tex}
\maketitle
%
\begin{abstract}
We propose a novel coded integrated passive sensing and communication (CIPSAC) system with orthogonal frequency division multiplexing (OFDM), where a multi-antenna base station (BS) passively senses the parameters of the targets and decodes the information bit sequences transmitted by a user.  
The transmitted signal is comprised of pilot and data OFDM symbols where the data symbols adopt cyclic redundancy check (CRC)-assisted channel codes to facilitate both the decoding and sensing procedures. In the proposed scheme, CRC not only enhances the reliability of communication but also provides guidance to the parameter sensing procedure at the BS.
In particular, a novel iterative parameter sensing and channel decoding (IPSCD) algorithm is proposed, where the correctly decoded codewords that pass CRC are utilized for sensing to improve the parameter estimation accuracy, and in return, more accurate parameter estimates lead to a larger number of correctly decoded data symbols. Conventional sensing algorithms rely only on the received pilot signals, while we utilize both the data and pilot signals for sensing. We provide a detailed analysis of the optimal strategy, in which the wrongly decoded data packets are replaced by zero codewords. 
To further improve the performance, we introduce learning-based near-orthogonal superposition (NOS) codes, which exhibit superior error correction capability especially in the short block length regime. NOS codes are trained using a weighted loss function, where a hyper parameter is introduced to balance the sensing and the communication losses.
Simulation results show the effectiveness of the proposed CIPSAC system and the IPSCD algorithm, where both the sensing and decoding performances are significantly improved with a few iterations. We also carry out extensive ablation studies for a comprehensive understanding of the proposed scheme.
\end{abstract}

\begin{IEEEkeywords} 
Integrated sensing and communication (ISAC), CRC-assisted channel codes, Deep learning, Iterative decoding, Sensing and communication trade-offs. \end{IEEEkeywords} 


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

Integrated sensing and communications (ISAC) has been gaining significant research interest \cite{isac0, isac1, isac2}. {ISAC  can enhance spectrum and energy efficiency, reduce hardware costs, and address the bandwidth congestion problem in upcoming 6G  networks \cite{network_level, isac_6g}.} ISAC systems can be catagorized as active or passive sensing. In ISAC with active sensing, the transmitted information carrying signal (typically from the BS) serves also for sensing by utilizing its echo to estimate parameters of interest \cite{sense_irs, isac_ris, doa_isac, duplex_isac, liu2021dual}. In passive sensing, on the other hand, the BS uses the received signals from other users to perform joint sensing and decoding without transmitting signals of its own \cite{two_stage_ipsac, isac_learn}.

\begin{figure}
%\vspace{.2in}
\centering
\includegraphics[width=\columnwidth]{Figs/system_model.pdf}
\caption{In the considered CIPSAC system, the user transmits both pilot and coded data packets to the BS using OFDM. We assume $L$ mobile targets/scatterers, where the $\ell$-th one, $\ell \in [1, L]$, is characterized by its radar cross section (RCS), $\alpha_\ell$, delay, $\tau_\ell$, Doppler, $\mu_\ell$, and AoA, $\theta_\ell$, parameters.}
\label{fig:fig_system}
\end{figure}


{Existing works focus mainly on the theoretical bounds for the mean square error (MSE) of the estimated parameters and the achievable communication rate \cite{isac0, isac1}. However, these communication rates cannot be realized without well-designed channel codes \cite{isac_code, isac_svc, lisac, learn_isac}.} When operating under the finite block length regime, the packet error rate (PER) of the uncoded ISAC system remains at a high level  even in high signal-to-noise ratio (SNR) regimes \cite{crc_isac}. Thus, it is essential to show that the promised gains of ISAC systems holds also with coded signals.  The authors in \cite{isac_code} reveal that satisfactory (active) sensing performance can be achieved if low density parity check (LDPC)-coded signals are utilized for sensing. In \cite{isac_svc}, the authors consider sparse vector codes (SVCs) can be a candidate for active sensing, and show that they outperform convolutional codes in terms of both error correction and sensing performance. In \cite{lisac},  coded waveform design is studied for an active ISAC system with OFDM, where the encoder and decoder are parameterized by recurrent neural networks (RNNs) and are optimized in an end-to-end fashion. All the aforementioned works focus on active sensing, and to the best of our knowledge, no prior work considers coded passive sensing within the ISAC framework. We emphasize that it is not possible to naively apply the code design in \cite{isac_svc, lisac} for active sensing to the considered passive sensing system. Our goal in this paper is to employ coding in ISAC with passive sensing framework. The most relevant works in the current study are \cite{two_stage_ipsac} and \cite{isac_learn}, both of which consider the transmission of uncoded quadrature amplitude modulation (QAM) symbols. {{In particular, in \cite{two_stage_ipsac}, the authors adopt a transformer-based neural network to first detect the QAM symbols and the detected symbols are used for parameter sensing. However, the QAM symbols in \cite{two_stage_ipsac} are uncoded and a considerable amount of symbol errors occur even under a relatively high SNR. These symbol errors will degrade the sensing performance, which further hinders the subsequent communication performance.}} Although the authors of \cite{isac_learn} propose an advanced learning-based iterative data detection and sensing algorithm, the performance is limited due to the lack of error correction. 


To the best of our knowledge, we are the first to consider the channel coded integrated passive sensing and communication (CIPSAC) system with OFDM which is a general solution to different setups. In our implementation, illustrated in Fig. \ref{fig:fig_system}, user transmits both pilot and channel coded data packets to a base station over a time-varying multi-path fading channel. The goal of BS is both to decode data packets, and to estimate certain channel parameters, which in turn provide information about targets in the environment. 
The proposed IPSCD algorithm improves the parameter estimation performance despite insufficient number of pilot symbols by treating the correctly decoded data packets as extra pilots.
%In particular, for each data OFDM symbol, the CRC-assisted channel decoding algorithm is adopted which outputs the decoded bit sequence as well as an error flag indicating whether the decoded bit sequence passes the CRC or not. Then, the successfully decoded bit sequences will be re-encoded and fed into the proposed sensing algorithm.
One challenge that stems from this approach is the potential destructive effect of wrongly decoded packets. This is mitigated by employing CRC in the channel code. In particular, we employ the CRC-assisted sparse regression codes \cite{SPARC2014, HDM2018, nos} with a $K$-best decoding algorithm \cite{mimo_nos} and Polar codes with successive list (SCL) decoding \cite{polar_code, scl_polar} due to their superior performances for short and long data packet transmissions, respectively.

%The sensing algorithm adopted in this paper is carefully designed to be consistent with the CRC-assisted channel decoding outputs. In a big picture, it follows the same routine of the standard sensing algorithm where the MUSIC algorithm is first applied to determine the angle of arrival (AoA) estimates, the spatial filtering followed by the 2D-FFT algorithm estimate the delay and Doppler parameters corresponding to each of the AoA estimate and finally, the minimum mean squared error (MMSE) estimator is adopted for the radar cross section (RCS) parameters.
%However, the standard sensing approach utilizes pilot signal which is known at the receiver. In our CIPSAC system, however, there are wrongly decoded data packets which should be carefully processed to avoid significant performance degradation.
%We provide detailed derivation to determine the optimal signal processing methods where zero codeword is introduced to replace the wrongly decoded one.
%Moreover,  the learning-based NOS code \cite{nos} with a $K$-best decoding algorithm is adopted for the considered scenario to achieve a superior performance. By training the NOS codes using loss functions parameterized  by different hyper parameters, different decoding and communication trade-offs are obtained which adds to the flexibility of the CIPSAC system.  
%It is shown in our experiments that both the sensing and communication performances can be significantly improved within a few iterations in terms of PER and the MSE, respectively. Extensive simulations are carried out to show the comparable performance between different channel codes, different trade-offs achieved by the NOS code and the effectiveness to replace the wrongly decoded codeword using zero codeword, e.t.c. 
The main contributions of this paper are summarized as follows:

\begin{itemize}
    \item We present a novel IPSCD algorithm for CIPSAC with OFDM, where a user transmits both pilot and data symbols to the BS over a channel induced by multiple targets in the environment. The proposed algorithm is iterative, and the sensing performance can be improved at each iteration by treating the correctly decoded data packets in the previous iteration as pilots, and in return, the more accurate parameter estimates will allow decoding new data packets that could not decoded before. Significant improvements in both the sensing and communication performances  are shown to be achieved within a few iterations.

    \item We provide a theoretical analysis of the parameter sensing procedure, which serves as the core component of the IPSCD algorithm. 
    %In particular, we adopt the MUSIC algorithm to provide AoA estimates followed by 2D-FFT to determine the delay and Doppler parameters for each of the estimated AoA values. Finally, the RCS value for each target is obtained via MMSE estimator. 
    Compared to the conventional sensing algorithm that relies only on pilot symbols, the core innovation of the proposed sensing algorithm is to replace the wrongly decoded codewords (indicated by CRC flags) using zero codewords for the subsequent processing. We further proved that the proposed solution with zero codewords is optimal for the overall system performance. 

    \item To further improve the performance, we introduce learning-based NOS codes \cite{nos} with a $K$-best decoding algorithm. The flexibility of the CIPSAC system is enhanced by training different NOS codes using loss functions parameterized  by different hyper parameters to achieve different sensing and communication trade-offs.


    \item Rigorous numerical experiments are carried out under different setups and different channel codes. Experimental results demonstrate the effectiveness of the proposed CIPSAC framework over the standard ISAC system. Ablation studies are also carried out  to provide a comprehensive understanding of the proposed CIPSAC system.
    
\end{itemize}


{\it Notations:} Throughout the paper, normal-face letters (e.g., $x$) represent scalars, while uppercase letters (e.g., $X$) represent random variables. Matrices and vectors are denoted by bold {upper} and {lower} case letters (e.g., $\bm{X}$ and $\bm{x}$), respectively.   
%{A set is denoted by the double stroke font, e.g., $\mathbb{S}$}. 
$\Re(x)$ ($\Im(x)$) denotes the real (imaginary) part of {a complex variable} $x$.
Transpose and Hermitian operators are denoted by $(\cdot)^\top$, $(\cdot)^\dagger$, respectively. $\text{vec}(\cdot)$ represents the vectorization operation and $\text{diag}(\cdot)$ outputs the diagonal elements of an matrix. {Finally, $\|\bm{S}\|_F$  denotes the Frobneous norm of the matrix $\bm{S}$.}


\section{System Model}\label{sec:System_Model}
In this section, we introduce the standard approach for target sensing and data transmission for the passive ISAC system. The evaluation metric of both the sensing and communication performances are also provided.
%In particular, the user transmits pilot OFDM  symbols followed by data packets to the BS. The BS first estimates the sensing parameters using the received pilot signal, generates the CSI for the data packets, and finally decodes the data packets using the reconstructed CSI. The processing at the BS is detailed as follows.

\subsection{Pilot Transmission}

We consider the passive ISAC scenario depicted in Fig. \ref{fig:fig_system}, where a user with a single antenna communicates with the BS equipped with $N_r$ antennas via an $L$-tap multi-path fading channel. The $L$ targets can either be static or mobile, and each of them is characterized by its radar cross section (RCS), $\alpha_\ell$, delay, $\tau_\ell$, Doppler, $\mu_\ell$ and angle of arrival (AoA), $\theta_\ell$.

The user adopts OFDM transmission with $N$  OFDM subcarriers and $N_G$ guard subcarriers. We denote the signal bandwidth by $B$, with a delay resolution of $\Delta \tau = \frac{1}{B}$, and the time duration of an OFDM symbol is expressed as $T_{\text{OFDM}} = \frac{N+N_G}{B}$. Note that we assume that the maximal delay of the multi-path channel is shorter than the cyclic prefix (CP) duration.

OFDM signals from the user consist of the pilot and data signals, as detailed below \cite{isac_waveform_design}.
We denote the pilot signal by $\bm{X}_p \in \mathbb{C}^{N\times M_p}$, which consists of $M_p$ consecutive  OFDM symbols. We assume a uniform linear array (ULA) is adopted at the receiver with half-wavelength spacing, i.e., $d = \frac{\lambda}{2}$, where $\lambda$ denotes the wavelength of the transmitted signal.
The Doppler resolution achieved by the pilot signal, $\bm{X}_p$, can be determined as $\Delta f_D =  \frac{1}{M_p T_{\text{OFDM}}}$.  As a result, $N_G$ different delay parameters, $\tilde{\tau}_\ell$, and $M_p$ different Doppler parameters, $\tilde{\mu}_\ell$, can be estimated via $\bm{X}_p$ where we assume $M_p$ is even:
\begin{align}
    \tilde{\tau}_\ell = n_\ell \Delta \tau, \quad &n_\ell \in \{0, \ldots, N_G - 1\}, \notag \\
    \tilde{\mu}_\ell = m_\ell \Delta f_D, \quad &m_\ell \in \{-M_p/2, \ldots, -M_p/2 - 1\}.
    \label{equ:est_dd}
\end{align}
%where $N_G, M_p$ denote the sizes of the support sets for the delay and Doppler parameters that can be correctly estimated. 
The true delay and Doppler parameters, denoted as $\tau_\ell$ and $\mu_\ell$, lie on the delay-Doppler grid with units $(\Delta \tau', \Delta f_D')$, respectively. Without loss of generality, we assume that the unit of the true delay parameter is identical to $\Delta \tau$ yet the unit of the true Doppler parameter may deviate from $\Delta f_D$:
$$\Big\{\Delta \tau', \Delta f_D'\Big\} = \Big\{\Delta \tau, \frac{1}{M T_{\text{OFDM}}}\Big\},$$
where $M$ stands for the minimum number of OFDM symbols to achieve the required Doppler resolution, $\Delta f_D'$.\footnote{The assumption is well suited for the proposed CIPSAC system in Section \ref{sec:CIPSAC}, in which more correctly decoded OFDM data symbols serve as pilot signals leading to a higher Doppler resolution, $\Delta f_{D}$.} Given the resolution and the maximum detectable delay and Doppler ranges of the pilot OFDM signal, $\bm{X}_p$, indicated by \eqref{equ:est_dd}, the support sets for the true delay and Doppler parameters can be expressed as:\footnote{If the real $\tau, \mu$ parameters exceed the maximum values in \eqref{equ:real_dd}, then, we need to adjust the bandwidth, $B$ and the duration of the OFDM symbol, $T_{\text{OFDM}}$ to enable satisfactory sensing performance.}
\begin{align}
    \tau_\ell = n_\ell \Delta \tau, \quad &n_\ell \in \{0, \ldots, N_G - 1\}, \notag \\
    \mu_\ell = m_\ell \Delta f_D', \quad &m_\ell \in \{-M/2, \ldots, M/2-1\}.
    \label{equ:real_dd}
\end{align}

To achieve accurate delay and Doppler estimation, it is required that the number of OFDM symbols, $M_p$, should be larger than $M$. 
Notice that the number of pilot symbols, $M_p$, is adjustable, and we set $M_p = r M$ with $r\in \mathbb{Z}^+$ to achieve accurate Doppler estimation. It will be shown in Section \ref{sec:CIPSAC} that the condition $M_p = r M$ can be relaxed thanks to additional correctly decoded data OFDM symbols.

The received pilot signal at the receiver in the frequency domain, denoted by $\bm{Y}_p \in \mathbb{C}^{N_r\times N \times M_p}$, can be expressed as:
\begin{comment}
\begin{align}
    \bm{Y}_p[r,n,m] = & \underbrace{\sum_{\ell=1}^L  \alpha_\ell {X}_p[n,m] e^{-j 2\pi \frac{n_\ell n}{N}} e^{j 2\pi \frac{m_\ell m}{M_p}} e^{j \pi r\cos(\theta_\ell)}}_{\bm{S}_p} \notag \\ 
    &+ {W}_p[r,n,m],
    \label{equ:simo_channel}
\end{align}
\end{comment}
\begin{align}
    {Y}_p[r,n,m] = & \underbrace{\sum_{\ell=1}^L  \alpha_\ell {X}_p[n,m] \underbrace{e^{-j 2\pi \frac{n_\ell n}{N}}}_{\text{delay}} \underbrace{e^{j 2\pi \frac{m_\ell m}{M}}}_{\text{Doppler}} \underbrace{e^{j \pi r\cos(\theta_\ell)}}_{\text{AoA}}}_{{S}_p[r, n, m]} \notag \\ 
    &+ {W}_p[r,n,m],
    \label{equ:simo_channel}
\end{align}
where $r \in [0, N_r-1], n \in [0, N-1], m \in [0, M_p-1]$, $n_\ell, m_\ell$ are the delay and Doppler parameters introduced in \eqref{equ:real_dd}, $\bm{S}_p \in \mathbb{C}^{N_r \times N \times M_p}$ is the  noiseless received signal and $W_p[r, n, m] \sim \mathcal{CN}(0, \sigma_p^2)$ denotes the independent and identically distributed (i.i.d.) additive white Gaussian noise (AWGN) term. 
The SNR of the pilot signal is defined as
\begin{equation}
    \mathrm{SNR}_p \triangleq \frac{\mathbb{E}(\|\bm{S}_p\|_F^2)}{\mathbb{E}(\|\bm{W}_p\|_F^2)} = 1/\sigma_p^2.
    \label{equ:def_snr}
\end{equation}
Note that the second equation holds as we assume $\mathbb{E}(\|\bm{X}_{p,m}\|_2^2) = N$  and $\alpha_\ell \sim \mathcal{CN}(0, \frac{1}{L}), \ell \in [1, L]$, where $\bm{X}_{p, m}$ is defined as $\bm{X}_{p, m} \triangleq \bm{X}_{p}[:, m]$.

The parameters, $\{\alpha_\ell, \tau_\ell, \mu_\ell, \theta_\ell\}, \ell \in [1, L]$ of the targets can be estimated from the received pilot, $\bm{Y}_p$, via the sensing algorithm presented in Section \ref{sec:CIPSAC}. Let the resultant estimates be denoted by $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}, \ell \in [1, L]$. We also note that, given fixed $\Delta \tau'$ and $\Delta f'_D$, $\hat{\tau}_\ell, \hat{\mu}_\ell$ can be determined by $\hat{n}_\ell, \hat{m}_\ell$, which will be used interchangeably in the following discussions.
%These estimated parameters are then applied to synthesis the CSI of the data packets for successful decoding.

\subsection{Data Transmission}\label{sec:data_trans}
First, we present the transmission and decoding of the data packets.
We consider $M_d$ OFDM symbols, each containing information bit sequence, $\bm{b}_b \in \{0, 1\}^{N_b}, b \in [0, M_d-1]$, which is coded and modulated to generate $\bm{x}_{b} \in \mathbb{C}^N$ with a power constraint, $\|\bm{x}_{b}\|^2 \le N$. The modulated codeword is transmitted over the channel\footnote{{We assume the parameters for each of the $L$ targets keep constant for the $M_p$ OFDM symbols for the pilot signal and the subsequent $M_d$ OFDM symbols for the data signal.}} with the same parameters, $\{\alpha_\ell, \tau_\ell, \mu_\ell, \theta_\ell\}, \ell \in [1, L]$ to generate the received signal, $\bm{Y}_d \in \mathbb{C}^{N_r\times N \times M_d}$:
\begin{align}
    {Y}_d[r,n,m] = & \sum_{\ell=1}^L  \alpha_\ell {X}_d[n,m] e^{-j 2\pi \frac{n_\ell n}{N}} e^{j 2\pi \frac{m_\ell m}{M}} e^{j \pi r\cos(\theta_\ell)} \notag \\ 
    &+ {W}_d[r,n,m],
    \label{equ:real_yd}
\end{align}
where $\bm{X}_d$ is obtained by concatenating all the OFDM data symbols, $\bm{X}_d \triangleq [\bm{x}_1, \ldots, \bm{x}_{M_d}]$, while $W_d[r, n, m] \sim \mathcal{CN}(0, \sigma_d^2)$ denotes the i.i.d. AWGN for data transmission and the SNR of the data signal follows the same definition of the pilot signal in \eqref{equ:def_snr}.
After obtaining the estimates of the sensing parameters, $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}$, via the pilot signal, we generate the channel estimate $\hat{\bm{H}}_d \in \mathbb{C}^{N_r \times  N \times M_d}$ as follows:
\begin{align}
    \hat{{H}}_d[r,n,m] & =  \sum_{\ell=1}^L  \hat{\alpha}_\ell  e^{-j 2\pi \frac{\hat{n}_\ell n}{N}}e^{j 2\pi \frac{\hat{m}_\ell m}{M}} e^{j \pi r\cos(\hat{\theta}_\ell)},
    \label{equ:def_csi}
\end{align}
where $\quad r \in [0, N_r-1], n \in [0, N-1], m \in [0, M_d-1]$.
We then decode each one of the $M_d$ information bit sequences $\bm{\hat{b}}_b$, by feeding ${\bm{Y}}_{d, b} \in \mathbb{C}^{N_r \times N}$ and $\hat{\bm{H}}_{d, b} \in \mathbb{C}^{N_r \times N}$ defined as ${\bm{Y}}_{d, b}, \hat{\bm{H}}_{d, b} \triangleq {\bm{Y}}_{d}[:, :, b], \hat{\bm{H}}_{d}[:, :, b]$ to the decoding algorithm detailed in Section \ref{sec:codes_cisac}. 
%using the estimated channel, $\hat{\bm{H}}_d$ and the received signal, ${\bm{Y}}_d$. In particular, the bit sequence output, $\bm{\hat{b}}_b$ is produced by feeding ${\bm{Y}}_{d, b} \in \mathbb{C}^{N_r \times N}$ and $\hat{\bm{H}}_{d, b} \in \mathbb{C}^{N_r \times N}$ to the detection and decoding algorithm which is detailed in Section \ref{} where ${\bm{Y}}_{d, b}, \hat{\bm{H}}_{d, b} \triangleq {\bm{Y}}_{d}[:, b, :], \hat{\bm{H}}_{d}[:, b, :]$.


\subsection{Performance Metrics} \label{sec:sense_para}
After applying the parameter sensing and channel decoding algorithms detailed in Section \ref{sec:CIPSAC} and \ref{sec:codes_cisac}, respectively, to the received pilot and data signals, we obtain the estimated sensing parameters, $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}$, and the decoded bit sequences, $\hat{\bm{b}}_b, b \in [0, M_d-1]$.
For the communication performance, we adopt the  packet error rate (PER) defined as:
\begin{equation}
\text{PER} = \mathbb{E} \left( \frac{1}{M_d} \sum_{b=0}^{M_d-1}  \bm{1}(\bm{{b}}_b \neq \bm{\hat{b}}_b) \right),
\label{equ:per_define}
\end{equation}
where $\bm{1}(\cdot)$ denotes the indicator function, which is 1 if the two bit sequences are identical, and 0 otherwise.

Since the range, velocity and direction of a target can be uniquely determined by the delay, Doppler and the AoA parameters, we use the mean square error (MSE) of these parameters to evaluate the overall sensing performance. Since they are defined similarly, we take the MSE of the delay as an example:
\begin{align}
    \text{MSE}_{\tau} &= \mathbb{E} \left( \sum_{\ell = 1}^L \|n_\ell - \hat{n}_\ell\|^2/N_G^2 \right),
    \label{equ:individual_mse}
\end{align}
where $\tau_\ell = n_\ell \Delta \tau$.
\begin{comment}

    \begin{align}
    \text{MSE}_{\tau} &= \mathbb{E} \left( \sum_{\ell = 1}^L \|n_\ell - \hat{n}_\ell\|^2/N_G^2 \right); \notag \\
    \text{MSE}_{\mu} &= \mathbb{E} \left( \sum_{\ell = 1}^L \|m_\ell - \hat{m}_\ell\|^2/M^2 \right); \notag \\
    \text{MSE}_{\theta} &= \mathbb{E} \left( \sum_{\ell = 1}^L \|\theta_\ell - \hat{\theta}_\ell\|^2/\pi^2 \right);
    \label{equ:individual_mse}
\end{align}
\end{comment}
Note that all the three parameters are normalized within the range of [0, 1) to calculate their MSE values. 
%The MSE of the RCS parameter is defined as follows
We also define the overall MSE as the summation of these three  MSE values:
\begin{equation}
    \text{MSE} \triangleq \text{MSE}_{\tau} + \text{MSE}_{\mu} + \text{MSE}_{\theta},
    \label{equ:overall_mse}
\end{equation}
where $\text{MSE}_{\mu}$ and $\text{MSE}_{\theta}$ denote the MSE of the Doppler and AoA parameters, respectively.
It is worth noting that we can directly sum up the MSE values of different parameters in \eqref{equ:overall_mse} thanks to the normalization in \eqref{equ:individual_mse}. 


\begin{figure*}[t]
\centering
\includegraphics[width=\linewidth]{Figs/flowchart.pdf}\\
\caption{Illustration of the proposed CIPSAC system. At the encoder, $M_d$ bit sequences are first CRC encoded followed by channel encoding and modulation to generate the data symbols. At the decoder, we run the proposed IPSCD algorithm where for the $n$-th iteration, the channel decoder produces both the decoded bit sequence, $\hat{\bm{c}}_b$ and the CRC flag, $T_b$.  The decoded bit sequence $\bm{\hat{c}}_b$ with $T_b = 1$ are re-encoded yet the failed ones with $T_b = 0$ are replaced by randomly generated signals for the next round of parameter sensing process.}
%Finally, we obtain the decoded bit sequences, $\hat{\bm{c}}_b$ and the estimated sensing parameters, $(\hat{\alpha}_\ell^{N_i}, \hat{\tau}_\ell^{N_i}, \hat{\mu}_\ell^{N_i}, \hat{\theta}_\ell^{N_i}), \forall \ell \in [1, L]$ as output.}
\label{fig:ICED}
\end{figure*}





\section{The Proposed CIPSAC Framework}\label{sec:CIPSAC}
In this section, we illustrate the proposed CIPSAC framework where we implement the channel coding and modulation at the transmitter and iterative parameter sensing and channel decoding (IPSCD) algorithm at the receiver. We consider a scenario where a single antenna user communicates with a multi-antenna BS over the corresponding time-varying single input multiple output (SIMO-OFDM) channel characterized by mobile targets/scatterers.

%We consider the CRC-assisted SPARC due to its superior performance with respect to (w.r.t.) the state-of-the-art Polar codes for short packet transmission over AWGN and MIMO channels \cite{nos, mimo_nos}. The encoding and decoding of SPARC over an OFDM channel are detailed next.
\subsection{CRC-assisted Channel Encoding and Modulation}
The overall encoding process is comprised of two parts, namely, the CRC encoding and the subsequent channel coded modulation. To start with, the input bit sequence, $\bm{b} \in \{0, 1\}^{N_b}$, is fed to the CRC encoding block, where $N_{crc}$ extra CRC bits are appended to $\bm{b}$ to produce a CRC-encoded bit sequence, $\bm{c} \in \{0, 1\}^{N_b+N_{crc}}$, for the subsequent channel encoding and modulation process, denoted by $f(\cdot)$. The transmitted codeword, $\bm{x} \in \mathbb{C}^N$, can be expressed as:
\begin{equation}
\bm{x} = f(\bm{c}),
\label{equ:channel_enc}
\end{equation}
where $\bm{x}$ satisfies the power constraint in Section \ref{sec:data_trans}. We note that different $f(\cdot)$ realizations correspond to different coded modulation schemes. In this paper, we will consider Polar codes with QPSK modulation, sparse regression  code (SPARC) \cite{SPARC2014} and learning-based NOS codes \cite{nos} as detailed in Section \ref{sec:codes_cisac}. 


\subsection{Iterative Parameter Sensing and Channel Decoding (IPSCD) Algorithm}
Here, we present the proposed IPSCD algorithm adopted at the receiver, where both the communication and sensing performances can be significantly improved with a few iterations. In the standard ISAC algorithm presented in Section \ref{sec:System_Model}, the BS estimates the parameters, $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}$, and reconstructs the estimated channel matrix, $\hat{\bm{H}}_d$, for the OFDM data symbols using  the $M_p$   OFDM pilot symbols, and the subsequent $M_d$  data symbols are decoded using $\hat{\bm{H}}_d$. However, this will result in a poor performance especially when $M_p$ is less than the minimum number of OFDM symbols to achieve the actual Doppler resolution, $\Delta f'_D$, i.e., $M_p < M$. In this case, each of the Doppler estimates, $\hat{\mu}_\ell$, deviates significantly from the ground truth, $\mu_\ell$, leading to less satisfactory sensing and decoding performances. To mitigate this, in the IPSCD algorithm, we treat the successfully decoded data packets as pilot signals, and use them to generate more accurate parameter estimates, which will help improve the decoding performance. The overall flowchart of the proposed scheme is shown in Fig. \ref{fig:ICED} and is detailed as follows.



As shown in the left hand side of Fig. \ref{fig:ICED}, $M_d$  transmitted symbols, $\bm{x}_b, b\in [0, M_d-1]$, are generated according to \eqref{equ:channel_enc}.  After passing through the SIMO-OFDM channel, the receiver has access to $\bm{Y}_{d, b} \in \mathbb{C}^{N_r\times N}, b \in [0, M_d-1]$, as well as the received pilot signal, $\bm{Y}_p \in \mathbb{C}^{N_r\times N \times M_p}$. 
The IPSCD algorithm starts by initializing the CRC flag and the decoded bit sequence for each of the $M_d$ data packets to $\{T_b = 0, \hat{\bm{c}}_b = \bm{0}\}_{b \in [0, M_d-1]}$, respectively, where $T_b \in \{0, 1\}$ is the CRC flag. 
The BS  estimates the sensing parameters, $\{\hat{\alpha}^0_\ell, \hat{\tau}^0_\ell, \hat{\mu}^0_\ell, \hat{\theta}^0_\ell\}, \ell \in [1, L]$ as follows:
\begin{equation}
    \{\hat{\alpha}^0_\ell, \hat{\tau}^0_\ell, \hat{\mu}^0_\ell, \hat{\theta}^0_\ell\}_{\ell \in [1, L]} = h(\bm{Y}_p, \bm{Y}_d, \bm{X}_p, \hat{\bm{X}}_d^{0}, \bm{T}),
    \label{equ:para_sensing}
\end{equation}
where $h(\cdot)$ represents the sensing procedure detailed later in Section \ref{sec:sense_alg}, $\hat{\bm{X}}_d^{0}$ is the estimate of the transmitted data symbols at the receiver, which can be initialized using an arbitrary matrix since none of the $M_d$ data packets has been successfully decoded and the superscript of the parameters denotes the iteration index. To facilitate the following illustrations, we assume the entries of $\hat{\bm{X}}_d^{0}$ are i.i.d., each following a complex Gaussian distribution, $\mathcal{CN}(0, 1)$.
%, and $\bm{0}_{M_d}$ denotes the CRC flags, $\bm{T} = \{T_b\}_{b \in [1, M_d]}$ for the $M_d$ data symbols which is a zero vector since none of the $M_d$ data packets has been successfully decoded. 
%We also note that, as will be illustrated in Section \ref{}, there is no need to specify the exact form of $\hat{\bm{X}}_d^{0}$ as it will not be utilized to estimate the parameters with $\bm{T} = \bm{0}_{M_d}$.
With the estimated sensing parameters in \eqref{equ:para_sensing}, we reconstruct the channel estimate for the data packets,  denoted by $\bm{\hat{H}}_d^{0}$, according to \eqref{equ:def_csi}:
\begin{align}
    \hat{{H}}^0_d[r,n,m] & =  \sum_{\ell=1}^L  \hat{\alpha}^0_\ell  e^{-j 2\pi \frac{\hat{n}^0_\ell n}{N}}e^{j 2\pi \frac{\hat{m}^0_\ell m}{M}} e^{j \pi r\cos(\hat{\theta}^0_\ell)},
    \label{equ:csi_rec}
\end{align}
where $\hat{n}^0_\ell, \hat{m}^0_\ell = \hat{\tau}^0_\ell/\Delta \tau, \hat{\mu}^0_\ell/\Delta f_D'$ as in \eqref{equ:real_dd}.


In the first iteration, the data symbols are decoded using $\bm{\hat{H}}^{0}_d$ in \eqref{equ:csi_rec}. The decoding process for the $b$-th data packet can be expressed as:
\begin{equation}
\{T_b, \hat{\bm{c}}_b\} = g(\bm{Y}_{d, b},  {\bm{\hat{H}}^{0}_{d, b}}),
\label{equ:channel_dec}
\end{equation}
where $g(\cdot)$ denotes the  CRC-assisted channel decoding algorithm corresponding to the encoding function, $f(\cdot)$ in \eqref{equ:channel_enc}, $T_b$ is the CRC flag and $\bm{Y}_{d, b},  {\bm{\hat{H}}^{0}_{d, b}} \triangleq \bm{Y}_{d}[:,:,b],  {\bm{\hat{H}}^{0}_{d}[:,:,b]}$. It is worth mentioning that having $T_b = 1$ does not guarantee successful decoding of the packet, i.e., there exists a scenario where $T_b = 1$ yet $\hat{\bm{c}}_b \neq \bm{c}_b$. This is because some wrongly decoded data packets may also pass the CRC. We term this event as an `outage' and the outage probability is denoted by $P_o$. Since $P_o$ is typically small, it is plausible to assume that the packet with $T_b = 1$ is correctly decoded and the output bit sequence, $\hat{\bm{c}}_b$, will be used to estimate the parameters for the next iteration.\footnote{It is shown in the experiment that the wrongly decoded packets that pass the CRC have limited effect on the final performance.}

{After decoding, the decoded bit sequence, $\hat{\bm{c}}_b$, with $T_b = 1$ is re-encoded into the transmitted signal, defined as $\hat{\bm{x}}_{b}$. Then, the estimate of the transmitted data packets for the first iteration, $\hat{\bm{X}}_d^{1} \in \mathbb{C}^{N\times M_d}$, can be represented as follows:}
\begin{equation}
    \hat{\bm{X}}_{d, b}^{1} = \left\{
    \begin{aligned}
    \hat{\bm{x}}_{b} & , & T_b = 1, \\
    \mathcal{CN}(\bm{0}, \bm{I}_N) & , & T_b = 0.
    \end{aligned}
    \right.
    \label{equ:def_hat_X}
\end{equation}



After obtaining $\hat{\bm{X}}_d^{1}$, we update the sensing parameters for the first iteration as:
\begin{equation}
    \{\hat{\alpha}^1_\ell, \hat{\tau}^1_\ell, \hat{\mu}^1_\ell, \hat{\theta}^1_\ell\}_{\ell \in [1, L]} = h(\bm{Y}_p, \bm{Y}_d, \bm{X}_p, \hat{\bm{X}}_d^{1}, \bm{T}),
    \label{equ:para_sensing_1}
\end{equation}
which are then adopted to generate the channel estimate $\bm{\hat{H}}_d^{1}$ according to \eqref{equ:csi_rec} for channel decoding of the second iteration. We further note that, for the $i$-th iteration with $i>1$,  we only need to decode the data packets with $T_b = 0$ for reduced decoding complexity. The IPSCD algorithm terminates if the number of iterations reaches $N_{i}$, or all the $M_d$ data packets pass CRC. We summarized the proposed IPSCD algorithm in Algorithm \ref{algorithm:idce}.




\begin{algorithm}
	\caption{The proposed IPSCD algorithm.}
    \label{algorithm:idce}

	\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
	\SetKwFunction{UpdateCodebook}{UpdateCodebook}
	\SetKwFunction{SPARCEncode}{SPARCEncode}
	\SetKwFunction{Construct}{Construct}
	
	\Input{$\bm{X}_p, \bm{Y}_p, \bm{Y}_d, K, {N_{i}}, M_d$}
	\Output{$\{\hat{\bm{c}}_b\}_{b \in [0, M_d-1]}, \{\hat{\alpha}^{N_{i}}_\ell, \hat{\tau}^{N_{i}}_\ell, \hat{\mu}^{N_{i}}_\ell, \hat{\theta}^{N_{i}}_\ell\}_{\ell \in [1, L]}, $} 
	
	\BlankLine
        Initialize the CRC flags and the estimate of the transmitted signals, $\bm{T} \leftarrow  \bm{0}_{M_d}, \hat{{X}}_d^{0}[n, b] \sim \mathcal{CN}(0, 1)$,\\
        Estimate $\{\hat{\alpha}^0_\ell, \hat{\tau}^0_\ell, \hat{\mu}^0_\ell, \hat{\theta}^0_\ell\}_{\ell \in [1, L]} = h(\bm{Y}_p, \bm{Y}_d, \bm{X}_p, \hat{\bm{X}}_d^{0}, \bm{T})$,\\
        Reconstruct the channel estimate, $\hat{{H}}^0_d[r,n,m]  =  \sum_{\ell=1}^L  \hat{\alpha}^0_\ell  e^{-j 2\pi \frac{\hat{n}^0_\ell n}{N}}e^{j 2\pi \frac{\hat{m}^0_\ell m}{M}} e^{j \pi r\cos(\hat{\theta}^0_\ell)}$,\\
	
        \For{$i=1$ \KwTo {$N_i$}}{
            %${\bm{{\cal C}}_{\bm{\hat{h}}^{(n-1)}}} \leftarrow \UpdateCodebook({\bm{{\cal C}}}, \hat{\bm{h}}^{(n-1)}$)\\ \Comment{Equation \eqref{equ:update_Ch}.}\\
            Initialize $\hat{\bm{X}}_d^{i} \leftarrow \bm{0}_{N\times M_d}$, \\
		\For{$b=0$ \KwTo $M_d-1$}{
             \eIf{$T_b = 0$}{
                $\{T_b, \hat{\bm{c}}_b\} = g(\bm{Y}_{d, b},  {\bm{\hat{H}}^{i-1}_{d, b}})$, \\
                \eIf{$T_b=0$}{
                $\hat{\bm{X}}_{d, b}^{i} \leftarrow \mathcal{CN}(\bm{0}, \bm{I}_N)$,\\
                }
                {$\hat{\bm{X}}_{d, b}^{i} \leftarrow f( \hat{\bm{c}}_b)$,\\}}
            {
            $\hat{\bm{X}}_{d, b}^{i} \leftarrow \hat{\bm{X}}_{d, b}^{i-1}$,\\}
		}

        %$\bm{y}_{ext}^{(n)}, \bm{x}_{ext}^{(n)}, \bm{X}_S^{(n)} \leftarrow \Construct(\bm{x}_p, \bm{y}_p, \{\bm{y}_b, \hat{\bm{x}}_b, T_b\}_{b \in [1, B]}$)\\ \Comment{Equation \eqref{equ:xy_ext} and \eqref{equ:conv_S}.}\\
        Estimate $\{\hat{\alpha}^i_\ell, \hat{\tau}^i_\ell, \hat{\mu}^i_\ell, \hat{\theta}^i_\ell\}_{\ell \in [1, L]} = h(\bm{Y}_p, \bm{Y}_d, \bm{X}_p, \hat{\bm{X}}_d^{i}, \bm{T})$,\\
        %$\tilde{\bm{h}}^{(n)} = \bm{R}_h (\bm{R}_h + (\bm{X}_S^{(n)} {\bm{X}_S^{(n)}}^\dagger)^{-1})^{-1} \bm{y}_{ext}^{(n)}/\bm{x}_{ext}^{(n)}$ \\
        %Estimate $(\hat{\tau}_l^{(n)}, \hat{\alpha}_l^{(n)})$ using $\tilde{\bm{h}}^{(n)}$; \\
        Reconstruct $\hat{{H}}^i_d[r,n,m]  =  \sum_{\ell=1}^L  \hat{\alpha}^i_\ell  e^{-j 2\pi \frac{\hat{n}^i_\ell n}{N}}e^{j 2\pi \frac{\hat{m}^i_\ell m}{M}} e^{j \pi r\cos(\hat{\theta}^i_\ell)}$.


	}


	\BlankLine
\end{algorithm}

\begin{comment}
\begin{algorithm}
	\caption{Sensing algorithm for the proposed CIPSAC system under mobile scenario.}
    \SetKwInOut{Input}{Input}
    \SetKwInOut{Output}{Output}
    \SetKwFunction{LConvEncode}{LConvEncode}
    \SetKwFunction{LConvDecode}{LConvDecode}
    \SetKwFunction{Modulate}{Modulate}
    \SetKwFunction{DeModulate}{DeModulate}
    \SetKwFunction{OFDMSymMap}{OFDMSymMap}
    \SetKwFunction{OFDMSymDeMap}{OFDMSymDeMap}
    \label{algorithm:train_lisac}
	
	\Input{$\bm{Y}_p, \bm{Y}_d, \hat{\bm{X}}_d, \bm{T}$}
        \Output{Estimated $\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell, \ell \in [1, L]$}
	
	\BlankLine

	
        Generate $\bm{Y}_r \in \mathbb{C}^{N_r\times (M_p + M_d)N}$ from $\bm{Y}_p, \bm{Y}_d$; \\
        Calculate covariance matrix $\bm{R} \triangleq \frac{1}{N(M_p+M_d)} \bm{{Y}}_r\bm{{Y}}_r^H$; \\
        The spectrum $\text{Spec}(\psi) = \frac{1}{\bm{a}^H(\psi) \bm{E}^H \bm{E} \bm{a}(\psi)}.$ \\
        Determine $\{\hat{\theta}_\ell\}, \ell \in [1, L]$ which are the top-$L$ peaks of $\text{Spec}(\psi)$. \Comment{\textbf{LISAC encoding}.} \\

        \For{$\ell=1$ \KwTo $L$}{
            Generate $\{\bm{b}_b, \bm{p}_b\}_{b\in [1, B]}$ repeating line 4-12. \\
            $\mathcal{L}_c \leftarrow \textit{Eqn.} \; \eqref{equ:bceloss}.$\\
             Optimize $\bm{\Theta}_d$ 
 using $\mathcal{L}_c$.  }
        
            
            Randomly sample $ \bm{b}_b \in \{0, 1\}^{C}, \forall b \in [1, B]; v_\epsilon \sim \mathcal{U}(-1/2, 1/2)$.
             \\
             $\tilde{\bm{x}}_b = \LConvEncode(\bm{b}_b),$ \\
             $\bm{x}_b = \Modulate(\tilde{\bm{x}}_b),$ \\
             $\bm{X} = \OFDMSymMap(\{\bm{x}_b\}_{b \in [1, B]}),$ \\ \Comment{\textbf{LISAC encoding}.} \\

            $(\bm{Y}_c, \bm{Y}_S) \leftarrow \textit{Eqn.} \; 
 \eqref{equ:comm_channel}, \; \textit{Eqn.} \; \eqref{equ:sense_y}$ \\


             $\{\bm{y}_b\}_{b\in [1, B]} \leftarrow \OFDMSymDeMap(\bm{Y}_c),$ \\
             $\tilde{\bm{y}}_b \leftarrow \DeModulate({\bm{y}}_b),$\\
             ${\bm{p}}_b \leftarrow \LConvDecode({\tilde{\bm{y}}}_b),$\\
             \Comment{\textbf{LISAC decoding}.}\\

             $\mathcal{L}_c   \leftarrow \textit{Eqn.} \; \eqref{equ:bceloss}; \quad \mathcal{L}_s \leftarrow \textit{Eqn.} \; \eqref{equ:mse_sense_loss}$ using $v_\epsilon$. \\
             
            $\mathcal{L} = \mathcal{L}_c + \lambda \mathcal{L}_s.$ \\
             Optimize $\bm{\Theta}_e$ 
 using $\mathcal{L}$.
		
            Fix LISAC encoder parameters, $\bm{\Theta}_e$, \\ 
        \\



	\BlankLine
\end{algorithm}

\end{comment}



\subsection{Sensing Algorithm}\label{sec:sense_alg}
Next, we present the sensing function, $h(\cdot)$, which outputs sensing parameters using the original pilot signals as well as the correctly decoded data packets. The sensing algorithm for the static scenario is presented in \cite{crc_isac} and can be understood as a special case of the considered scenario with $L$ mobile targets and the receiver is equipped with $N_r>1$ antennas. As shown in Fig. \ref{fig:sensing_flowchart}, the sensing function, $h(\cdot)$, takes $\bm{Y}_p \in \mathbb{C}^{N_r\times N\times M_p}, \bm{Y}_d \in \mathbb{C}^{N_r\times N\times M_d}, {\bm{X}}_p \in \mathbb{C}^{N\times M_p}, \hat{\bm{X}}_d \in \mathbb{C}^{N\times M_d}$ and $\bm{T} \in \{0, 1\}^{M_d}$ as input, and outputs the estimates of the sensing parameters, $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}_{\ell \in [1, L]}$. We illustrate the estimation process for each sensing parameter as follows.  
%Different realizations of the sensing functions for both the static and the mobile scenarios are detailed as follows. 

\begin{comment}
    \subsubsection{Static scenario}
In this case, all the $M_p + M_d$ OFDM symbols experience the same channel. We further assume the receiver has a single $N_r = 1$ antenna to facilitate the following descriptions.  
For the $i$-th iteration, $i\in [0, N_i]$,  we denote the number of successfully decoded data packets by $n_i = \sum_{b=1}^{M_d} T_b$, with indices $\{I_1, \ldots, I_{n_i}\}$ satisfying $1 \le I_1 < \cdots < I_{n_i} \le M_d$. Each of the $n_i$ decoded bit sequences, $\hat{\bm{c}}_{I_j}, j\in [1, n_i]$ are re-encoded and modulated via $f(\cdot)$ to generate the codeword, $\hat{\bm{x}}_{I_j}$, and $\hat{\bm{x}}_{I_j} = {\bm{x}}_{I_j}$ holds if no outage happens. Then, $\hat{\bm{x}}_{I_j}$, can be treated as pilot signals known by the receiver, and the corresponding received signals, ${\bm{y}}_{I_j}$, are utilized to generate a refined channel estimate, which can be expressed as:
\begin{equation}
\tilde{\bm{h}}^{(i)} = \bm{R}_h (\bm{R}_h + (\bm{X}_S^{(1)} {\bm{X}_S^{(1)}}^\dagger)^{-1})^{-1} \bm{y}_{ext}^{(1)}/\bm{x}_{ext}^{(1)},
\label{equ:lmmse_channel_re_est}
\end{equation}
where $\bm{R}_h$ is the same as in \eqref{equ:lmmse_channel_est}, $\bm{y}_{ext}^{(1)} \in \mathbb{C}^{(n_1 + 1)N}$ is obtained by concatenating the received pilot signal, $\bm{y}_p$, and the received data packets that pass CRC:
\begin{equation}
\bm{y}_{ext}^{(1)} = [\bm{y}_p^\top, \bm{y}_{I_1}^\top, \ldots, \bm{y}_{I_{n_1}}^\top]^\top,
\label{equ:xy_ext}
\end{equation}
and $\bm{x}_{ext}^{(1)}$ is obtained in the same way.
The matrix, $\bm{X}_S^{(1)}$ is defined as:
\begin{equation}
\bm{X}_S^{(1)} = [\bm{x}_p/\sigma_p, \hat{\bm{x}}_{I_1}/\sigma, \ldots, \hat{\bm{x}}_{I_{n_1}}/\sigma],
\label{equ:conv_S}
\end{equation}
where $\sigma$ denotes the noise power for the data packets. 

After obtaining $\tilde{\bm{h}}^{(1)}$ from the LMMSE channel estimator, we update the sensing parameters, $(\hat{\tau}_l^{(n)}, \hat{\alpha}_l^{(n)})$ as in Section \ref{sec:sense_para}. The frequency response, $\hat{\bm{h}}^{(1)}$ corresponding to the updated sensing parameters,  will be used in the second iteration.
%we start the second iteration using the refined CSI.
%further utilize the prior information, i.e., there exists $L$ paths to generate a more accurate channel estimation.
%estimate the channel parameters, $(\tau_l^{(1)}, \alpha_l^{(1)})$ as illustrated in \eqref{eq:para_est}. 

It is worth mentioning that, for the second iteration,  we only need to decode the remaining $(B - n_1)$ data packets using $\hat{\bm{h}}^{(1)}$, while the $n_1$ successfully decoded packets, $(\hat{\bm{c}}_{I_1}, \ldots, \hat{\bm{c}}_{I_{n_1}})$  remain the same. The iterative decoding and sensing process terminates if the number of iterations reaches $N_{i}$, or all the $B$ data packets pass CRC.
\end{comment}



\begin{figure*}[t]
\centering
\includegraphics[width=0.9\linewidth]{Figs/sensing_flowchart.pdf}\\
\caption{Illustration of the sensing procedure of the proposed IPSCD algorithm. In particular, we first apply MUSIC algorithm to the input signal ${\bm{Y}}$ to obtain the AoA estimates, $\hat{\theta}_\ell, \ell \in [1, L]$. Then, for the $\ell$-th AoA estimate, $\hat{\theta}_\ell$, we perform spatial filtering, data substitution, and data equalization detailed in Section \ref{sec:sense_alg} to obtain $\bm{Z}_\ell \in \mathbb{C}^{N \times (M_p + M_d)}$. After applying the 2D-FFT to $\bm{Z}_\ell$, the delay and Doppler parameters, $\hat{\tau}_\ell, \hat{\mu}_\ell$ (or equivalently, $\hat{n}_\ell, \hat{m}_\ell$), associated with the AoA estimate, $\hat{\theta}_\ell$ can be obtained. Finally, the RCS parameters are calculated according to Eqn. \eqref{equ:est_alpha}.}
\label{fig:sensing_flowchart}
\end{figure*}

\subsubsection{AoA estimate}
To start with, the standard multiple signal classification (MUSIC) algorithm is applied to the received signals, $\bm{Y} \in \mathbb{C}^{N_r  \times N \times (M_p+M_d)}$, which is obtained by concatenating the received pilot, $\bm{Y}_p$, and the data signals, $\bm{Y}_d$, along the last dimension regardless of whether the data packets within $\bm{Y}_d$ are successfully decoded or not. We first generate the covariance matrix:
\begin{equation}
    \bm{R} \triangleq \frac{1}{(M_p+M_d)N} \bm{{Y}}_r\bm{{Y}}_r^\dagger,
\end{equation}
where $\bm{{Y}}_r \in \mathbb{C}^{N_r\times (M_p+M_d)N}$ is obtained by reshaping $\bm{Y}$. Then, the eigenvalue decomposition is applied to $\bm{R}$, and the noise subspace, denoted by $\bm{E} \in \mathbb{C}^{(N_r-L)\times N_r}$, is obtained by taking the eigenvectors corresponding to the $N_r-L$ smallest eigenvalues. Denote the array response vector by $\bm{a}(\psi) = [1, e^{j\pi \cos(\psi)}, \ldots, e^{j(N_r-1)\pi \cos(\psi)}]^\top$, the spectrum of the MUSIC algorithm can be expressed as:
\begin{equation}
    \text{Spec}(\psi) = \frac{1}{\bm{a}^\dagger(\psi) \bm{E}^\dagger \bm{E} \bm{a}(\psi)},
    \label{equ:music_alg}
\end{equation}
and the angles corresponding to the largest $L$ peaks of $\text{Spec}(\psi)$ serve as the AoA estimates, $\hat{\theta}_\ell, \ell \in [1, L]$, of the target.

\subsubsection{Delay and Doppler estimates}
We then try to figure out the delay and Doppler parameters for each of the $\hat{\theta}_\ell$ values.
To achieve this, we first apply spatial filtering where the matched filtered output between ${\bm{Y}} \in \mathbb{C}^{N_r \times N \times (M_p + M_d)}$ and the steering vector, $\bm{a}(\hat{\theta}_\ell)$, is computed to obtain the two-dimensional (2D) matrix, $\widetilde{\bm{Z}}_\ell \in \mathbb{C}^{N\times (M_p+M_d)}$:
\begin{equation}
    \widetilde{\bm{Z}}_\ell = \sum_{r = 0}^{N_r-1} {\bm{Y}}[r, :, :]e^{-j\pi r \cos(\hat{\theta}_\ell)},
    \label{eqqu:def_tilde_Z}
\end{equation}
which will be used for subsequent processing.
%which is introduced for the wrongly decoded data packets with $T_b = 0$ as follows.

\textbf{Data substitution}:
However, unlike \eqref{equ:music_alg} where we directly feed $\bm{Y}$ to the MUSIC algorithm for AoA estimation, extra processing for the matrix $\widetilde{\bm{Z}}_\ell$ is required due to the fact that the estimation accuracy of the delay and Doppler parameters strongly depend on the correct decoding of the received data symbols, $\bm{Y}_d$. When $T_b = 0$, i.e., a decoding error happens,   the $b$-th   OFDM data symbol is no longer capable for sensing. In the static scenario illustrated in \cite{crc_isac}, the packet with $T_b = 0$ is directly discarded and the cardinality {of the latent $\widetilde{\bm{Z}}_\ell$ is reduced}. In the mobile case, however, we estimate the delay and Doppler parameters by applying efficient 2D-FFT algorithm\footnote{We can also adopt the maximum likelihood (ML) algorithm, however, its complexity is prohibitive in practice.} to the latent, $\widetilde{\bm{Z}}_\ell$, thus, it is impossible to directly remove the data packets with $T_b = 0$ as the 2D-FFT algorithm fails if the dimensionality of the latent matrix reduces.  To this end, we introduce $\bm{u}_m \in \mathbb{C}^{N}$ to replace the wrongly decoded symbols in $\widetilde{\bm{Z}}_\ell$ as follows:
\begin{equation}
    \widetilde{\bm{Z}}^*_\ell = \left\{
    \begin{aligned}
    \widetilde{\bm{Z}}_{\ell, m}  & , & m \in [0, M_p-1] \; || \; T_{m-M_p} = 1, \\
    %\bm{Y}_{d, m-M_p} & , & m > M_p \; \& \; T_{m-M_p} = 1, \\
    \bm{u}_m & , & m \ge M_p \; \& \; T_{m-M_p} = 0,
    \end{aligned}
    \right.
    \label{equ:def_tilde_Z}
\end{equation}
where $\widetilde{\bm{Z}}_{\ell, m} \triangleq \widetilde{\bm{Z}}_\ell[:, m], m\in [0, M_p+M_d-1]$.



\textbf{Data equalization}:
Before estimating the delay and Doppler parameters, we equalize $\widetilde{\bm{Z}}^*_\ell$ using the pilot signal, $\bm{X}_p$, and the estimated data symbols, $\hat{\bm{X}}_{d, b}$, to generate ${\bm{Z}}_\ell$:
\begin{comment}
    \begin{equation}
    {\bm{Z}}_{\ell, m} = \left\{
    \begin{aligned}
    \widetilde{\bm{Z}}^*_{\ell, m}/\bm{X}_{p, m}  & , & m \in [0, M_p-1], \\
    \widetilde{\bm{Z}}^*_{\ell, m}/\hat{\bm{X}}_{d, m-M_p} & , & m \ge M_p \; \& \; T_{m-M_p} = 1, \\
    {\bm{u}}_{m}/\hat{\bm{X}}_{d, m-M_p} & , & m \ge M_p \; \& \; T_{m-M_p} = 0.
    \end{aligned}
    \right.
    \label{equ:def_Z}
\end{equation}
\end{comment}
\begin{equation}
    {\bm{Z}}_{\ell, m} = \left\{
    \begin{aligned}
    \widetilde{\bm{Z}}^*_{\ell, m}/\bm{X}_{p, m}  & , & m \in [0, M_p-1], \\
    \widetilde{\bm{Z}}^*_{\ell, m}/\hat{\bm{X}}_{d, m-M_p} & , & m \ge M_p.
    \end{aligned}
    \right.
    \label{equ:def_Z}
\end{equation}
It is worth mentioning that different $\bm{u}_m$ realizations make a difference and there exists an optimal solution which is summarized in the next proposition:

\begin{proposition}
Among all randomly chosen $\bm{u}_m$ realizations, $\bm{u}_m = \bm{0}_{N}$ is the optimal solution to achieve the best peak-to-side-lobe-ratio (PSR) for the delay and Doppler estimation.
\label{pro:pro1}
\end{proposition}

\begin{proof}
We refer to Appendix \ref{sec:APPA} for the proof.
\end{proof}



Intuitively, when a decoding error happens, i.e., $T_{m-M_p} = 0$, the estimate of the transmitted signal, $\hat{\bm{X}}_{d, m-M_p}$, may deviate significantly from the actual one. Thus, during the \textbf{data equalization} procedure, $\forall \bm{u}_m \neq \bm{0}_N$ realization may produce outlier ${\bm{Z}}_{\ell, m}$ values due to the wrong $\hat{\bm{X}}_{d, m-M_p}$ estimate which would significantly hinder the subsequent 2D-FFT procedure. Having $\bm{u}_m = \bm{0}_N$, on the other hand, not only mitigates the performance degradation caused by the wrongly decoded signals but also provides an efficient implementation even without the need to generate random signals.



We then apply 2D-FFT to $\bm{Z}_\ell$, and the estimated delay and Doppler parameters, $\hat{n}_\ell, \hat{m}_\ell$ (which are equivalent to $\hat{\tau}_\ell, \hat{\mu}_\ell$ according to \eqref{equ:real_dd}), are determined by finding the indices of the largest absolute value of the 2D-FFT output, $\hat{\bm{Z}}_\ell$:
\begin{equation}
    \hat{n}_\ell, \hat{m}_\ell = \argmax_{n, m} |\hat{\bm{Z}}_\ell|.
    \label{equ:est_tau_mu}
\end{equation}
where $n \in [0, N_G], m \in [-M/2, M/2-1]$.

\begin{remark}
    We note that the estimation of $\hat{m}_\ell$ in \eqref{equ:est_tau_mu} corresponds to the special case where $M = M_p + M_d$. For a more general setup where $M_p + M_d = rM, r\in \mathbb{Z}^+$, $\hat{m}_\ell$ should be scaled by $r$ for its actual range.
\end{remark}

\begin{remark}
    It is worth mentioning that the sensing algorithm mentioned above to obtain the estimates of the AoA, delay and Doppler parameters can be generalized to the case where only $\bm{Y}_p$ is available to the receiver. In this case, even when $M_p < M$,\footnote{Here, if we only use $M_p$ pilot OFDM symbols to perform sensing, the resolution of the estimated Doppler parameter is below the actual one leading to less satisfactory estimation and decoding performance.} it is indicated in \eqref{equ:def_tilde_Z} that by applying zero-padding, we can also obtain $\bm{Z}_\ell$ with dimension $N \times M$ which achieves the required Doppler resolution, $\Delta f_D'$.
\end{remark}

\subsubsection{RCS estimate}
Combining \eqref{equ:music_alg} and \eqref{equ:est_tau_mu}, we obtain the AoA, delay, and Doppler estimates, $\{\hat{\theta}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell\}, \ell \in [1, L]$ for all the $L$ targets. To generate the channel estimate, $\hat{\bm{H}}_d$ in Algorithm \ref{algorithm:idce}, it is essential to estimate the RCS, $\alpha_\ell$, for each of the $\ell$-th target. 

To start with, we first notice that we can re-organize the channel input and output relationship described in \eqref{equ:simo_channel}, and express the received signal $\bm{Y}$ as follows:
\begin{align}
    \bm{Y} = [\bm{S}_1, \ldots, \bm{S}_L] \bm{\alpha}+ \bm{W},
    \label{equ:real_y}
\end{align}
where $\bm{\alpha} \triangleq [\alpha_1, \ldots, \alpha_L]^\top$ and $\bm{S}_\ell \in \mathbb{C}^{N_r \times N \times (M_p + M_d)}$ with
\begin{align}
    {S}_\ell[r, n, m] = {X}[n, m]e^{-j 2\pi \frac{n_\ell n}{N}} e^{j 2\pi \frac{m_\ell m}{M}} e^{j \pi r\cos(\theta_\ell)}.
    \label{equ:gen_s}
\end{align}
Note that $\bm{X} \triangleq [\bm{X}_p, \bm{X}_d]$ is obtained by concatenating the pilot and data OFDM symbols.
%{X}_d[n,m] e^{-j 2\pi \frac{n_\ell n}{N}} e^{j 2\pi \frac{m_\ell m}{M_p}} e^{j \pi r\cos(\theta_\ell)}
Similar to \cite{crc_isac}, we generate the MMSE estimate of $\bm{\alpha}$ based on Eqn. \eqref{equ:real_y}. However, since we have no access to the transmitted codeword, $\bm{X}_{d, b}$, with $T_b = 0$, we remove the corresponding entries from each of $\bm{S}_\ell, \ell \in [1, L]$, the received signal, $\bm{Y}$, and the noise tensor, $\bm{W}$, to obtain $\widetilde{\bm{S}}_\ell$, $\widetilde{\bm{Y}}$ and $\widetilde{\bm{W}}$, respectively. All these tensors are of the same dimension, i.e., $N_r \times N \times (M_p+n)$ where $n = \sum_{b=0}^{M_d-1} T_b$. After vectorizing $\widetilde{\bm{S}}_\ell$, $\widetilde{\bm{Y}}$ and $\widetilde{\bm{W}}$, \eqref{equ:real_y} transforms into:
\begin{equation}
    \tilde{\bm{y}} = \underbrace{[\tilde{\bm{s}}_1, \ldots, \tilde{\bm{s}}_L]}_{\widetilde{\bm{S}}} \bm{\alpha} + \tilde{\bm{w}},
\end{equation}
where $\tilde{\bm{y}}, \tilde{\bm{s}}_\ell, \tilde{\bm{w}} = \text{vec}(\widetilde{\bm{Y}}), \text{vec}(\widetilde{\bm{S}}_\ell), \text{vec}(\widetilde{\bm{W}})$ are the vectorized version of the tensors and $\widetilde{\bm{S}} \in \mathbb{C}^{N_rN(M_p+n)\times L}$. Then, $\bm{\alpha}$ can be estimated via standard MMSE algorithm:
\begin{equation}
    \hat{\bm{\alpha}} = \widetilde{\bm{S}}^\dagger (\widetilde{\bm{S}} \widetilde{\bm{S}}^\dagger + \bm{R}_{\widetilde{\bm{W}}})^{-1} \tilde{\bm{y}},
    \label{equ:est_alpha}
\end{equation}
where $\bm{R}_{\widetilde{\bm{W}}}$ denotes the covariance matrix of $\widetilde{\bm{W}}$ satisfying $$\text{diag}(\bm{R}_{\widetilde{\bm{W}}}) = [\underbrace{\sigma_p^2, \ldots, \sigma_p^2}_{\times N_rNM_p}, \quad \underbrace{\sigma_d^2, \ldots, \sigma_d^2}_{\times N_rN n}].$$
After obtaining \eqref{equ:est_alpha}, all the parameters, $\{\hat{\alpha}_\ell, \hat{\tau}_\ell, \hat{\mu}_\ell, \hat{\theta}_\ell\}, \ell \in [1, L]$ are obtained and the corresponding reconstructed channel estimate is utilized for the next round of channel decoding. The overall flowchart of the sensing algorithm is shown in Fig. \ref{fig:sensing_flowchart}.

%Finally, we evaluate the performance of the proposed IPSCD algorithm by calculating the PER and the MSE defined in \eqref{equ:per_define} and \eqref{equ:overall_mse}, respectively. The entire iterative decoding and sensing procedure is summarized in Algorithm \ref{algorithm:idce}.



\newcommand{\y}{\bm{y}}
\newcommand{\A}{\bm{A}}
\newcommand{\x}{\bm{x}}
\newcommand{\Sig}{{S}}
\newcommand{\HM}{\bm{H}}
%\newtheorem{remark}{Remark}
\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}} 

\begin{algorithm}
	\caption{CRC-assisted $K$-best decoding algorithm for SIMO-OFDM channel.}
    \label{algorithm:decode}

	\SetKwInOut{Input}{Input}\SetKwInOut{Output}{Output}
	\SetKwFunction{KBest}{KBest}
	\SetKwFunction{CRCcorrection}{CRCcorrection}
	\SetKwFunction{IdxToBits}{IdxToBits}
	\SetKwFunction{CRCDecode}{CRCDecode}
	\SetKwFunction{Reorder}{Reorder}
	\SetKwFunction{ChooseLayer}{ChooseLayer}
	\SetKwFunction{SelectNodes}{SelectNodes}
	\SetKwFunction{SelectDistinctNodes}{SelectDistinctNodes}
 \SetKwFunction{LoopedKBest}{LoopedKBest}
	\SetKwData{list}{outputList}
	\SetKwData{idx}{idx}
	\SetKwData{errFlag}{errFlag}
	\SetKwData{decodedBits}{decodedBits}
	\SetKwData{anc}{anc}
	
	\Input{$K, {N_{i}^d}, \bm{y},  {{\{\bm{\mathcal{C}}_{\bm{H}}\}}}$}
	\Output{$T, \bm{\hat{c}}$} 
	
	\BlankLine
	%List $\leftarrow$ \KBest{}\;
% 	\tcp{Initialization}
	\For{$k=1$ \KwTo $K$}{
		$\bm{u}(k), s(k), \idx(k) \leftarrow 0, 0, [\;]$ \\ 
		
	}
    $\mathcal{O} \leftarrow [\;]$ \hfill (empty decoded layer index)\\
    $T \leftarrow 0$ \hfill (CRC flag)\\
% 	\BlankLine
% 	\tcp{K-best tree searching}
        \%\% \textbf{{Original $K$-best decoding:}}\\
	\For{${j}=1$ \KwTo {$V$}}{
	    ${l_j} \leftarrow$ \ChooseLayer{$\overline{\mathcal{O}}$}\\
	    $\mathcal{O} \leftarrow$ $[\mathcal{O}, {l_j}]$\\
		\For{$k=1$ \KwTo $K$}{
			
			 {{$\textbf{s}^{tmp}(k) \leftarrow s(k) - 2\Re(\y^\dagger\bm{{\cal C}}_{l_j,\bm{H}}-\bm{u}^\dagger(k)\bm{{\cal C}}_{l_j,\bm{H}}) + diag(\bm{{\cal C}}_{l_j,\bm{H}}^\dagger\bm{{\cal C}}_{l_j,\bm{H}})$}}\\
		}
		$[\bm{s}, \idx_{new}, \anc] \leftarrow$ \SelectNodes{$\bm{s}^{tmp}, K$}\\
		\For{$k=1$ \KwTo $K$}{
			 {{$\bm{u}(k) \leftarrow \bm{u}(\anc(k)) + \bm{{\cal C}}_{l_j,\bm{H}}[\idx_{new}(k)] $}}\\
			$\idx(k) \leftarrow [\idx (\anc(k)), \idx_{new}(k)]$\\
		}
	}
        \%\% \textbf{{Looped $K$-best decoding:}}\\
	$\idx$ = \LoopedKBest($\idx, \{\bm{u}^{(V)}_k, \bm{s}_k^{(V)}\}_{k \in [1, K]}, \mathcal{O}, N_i^d)$ \\
	%$\idx, \mathcal{L} \leftarrow \idx(:,{N_{i}^d}:end), \mathcal{L}({N_{i}^d}:end)$\\
	\list $\leftarrow$ \Reorder{$\idx$, $\mathcal{O}$}
	
% 	\BlankLine
% 	\tcp{CRC correction}	
	%$\bm{b}$ $\leftarrow$ \CRCcorrection{}\;
% 	\For{$k=1$ \KwTo $K$}{
        \%\% \textbf{CRC decoding:}\\
	\While{$T \neq 1$ and $k \le K$}{
		$\bm{\hat{c}}$ $\leftarrow$ \IdxToBits{\list$(k)$}\\
		$T$ $\leftarrow$ \CRCDecode{$\bm{\hat{c}}$}\\
% 		\If{\errFlag $==0$}
% 		{
% 			break\;
% 		}
	}

	\BlankLine
	\BlankLine
% \label{algorithm}
\end{algorithm}










\section{Learning a Channel Code for CIPSAC}\label{sec:codes_cisac}
%In this section, we introduce the encoding and decoding algorithms for the original SPARC code and the learning-based NOS code \cite{nos} with $K$-best decoding algorithm for the considered CIPSAC system. Moreover, to achieve different sensing and communication trade-offs, we train the NOS code using a loss function parameterized by different hyper parameters.
In this section, we first introduce the training procedure of the learning-based NOS code \cite{nos} for the considered CIPSAC system. In particular, the loss function is parameterized by different hyper parameters to achieve different sensing and communication trade-offs. To further improve the PER performance, the CRC-assisted $K$-best decoding algorithm originally proposed in \cite{nos} is extended to the considered SIMO-OFDM channel.




\begin{figure}
%\vspace{.2in}
\centering
\includegraphics[width=\columnwidth]{Figs/nos_weight_loss.pdf}
\caption{The encoder and decoder of the NOS code parameterized by neural networks over the SIMO-OFDM channel. The overall loss function is a combination of the communication and the sensing losses weighted by a hyper parameter, $\lambda$.}
\label{fig:fig_nos}
\end{figure}



\subsection{Learning-based NOS Code with Communication and Sensing Trade-offs}\label{sec:nos_code}

\subsubsection{Learning a NOS code}
Though it has been shown in \cite{SPARC2014} that adopting the random Gaussian codebook achieves satisfactory decoding performances, there is no guarantee that the codebook is optimal, especially in the short block length regime and for the considered scenario. Thus, we try to improve both the sensing and decoding performances by adopting a codebook obtained via end-to-end training. The neural network architecture of the NOS code over an SIMO-OFDM channel is shown in Fig. \ref{fig:fig_nos} and is illustrated as follows.

\textbf{NOS encoding:}
To start with, we transform the $V$ indices, $d_v \in [1, D]$, into one-hot vectors, {$\bm{o}_v$}, which are fed to the corresponding neural network-based encoders {$f_v$} to generate real-valued vectors {$\tilde{\bm{x}}_v={f_v}(\bm{o}_v)$} of length ${2N}$. Each ${f_v, v\in [1,V]}$ has the same neural network architecture \cite{mimo_nos} that consists of linear layers, batch normalization layers, and non-linear activation functions. Since each {$\tilde{\bm{x}}_v$} conveys the same amount of information,  {we assign the same energy {$||\tilde{\bm{x}}_v||^2_2=\frac{{N}}{V}$} to each {$\tilde{\bm{x}}_v$}.} Instead of transmitting a real-valued signal, we convert the length-${2N}$ real-valued vector {$\tilde{\bm{x}}_v$} into a complex vector {$\bm{x}_v = \tilde{\bm{x}}_v^R + j \tilde{\bm{x}}_v^I$} {where $\tilde{\bm{x}}_v^R$ and $\tilde{\bm{x}}_v^I$ are of dimension-$N$ which correspond to the first and the remaining $N$ elements of $\tilde{\bm{x}}_v$, respectively.} The superimposed signal $\bm{x}$ is obtained by adding all {$\bm{x}_v, v \in [1, V]$}:
\begin{align}
\bm{x} = \sum_{v=1}^{{V}} \bm{x}_v.
\label{equ:trans_x}
\end{align}

Then, the encoded signal, $\bm{x}$ is transmitted over the SIMO-OFDM channel with CSI, $\bm{H}$, generated according to \eqref{equ:def_csi} and the received signal, $\bm{Y} \in \mathbb{C}^{N_r\times N}$, is fed to the NOS decoder which is detailed as follows. 

\textbf{NOS decoding:}
After passing the channel, the receiver first performs MMSE equalization to obtain an estimate, $\hat{\bm{x}}$ of the transmitted signal, $\bm{x}$ using CSI.  The MMSE equalization is performed for each of the OFDM subcarriers and for the $n$-th subcarrier, we have:
\begin{align}
\tilde{x}_n = (\bm{h}_n^\dagger \bm{h}_n + \sigma_d^2)^{-1} \bm{h}_n^\dagger \bm{y}_n,
\label{eq:MMSE_EQU}
\end{align}
where $\bm{y}_n, \bm{h}_n \in \mathbb{C}^{N_r}$ denote the received signal and CSI at the $n$-th OFDM subcarrier, respectively and $\sigma_d^2$ is the noise variance defined in \eqref{equ:real_yd}.
After obtaining the equalized signal, $\tilde{\bm{x}}$, we convert it into a real-valued vector, $\hat{\bm{x}} \in \mathbb{R}^{2N}$ for the subsequent NOS decoder which adopts a set of decoding functions, denoted by $g_v(\cdot), v \in [1, V]$, and each of the function is parameterized by the same neural network architecture which mirrors that of the NOS encoder.   The decoding function, $g_v$ corresponding to a specific $v$ produces a length-$D$ probability vector {$\bm{p}_v = {g_v}(\bm{\hat{x}})$} where {${p}_v[d]$} represents the probability of {${o}_v[d]=1$}.

The training of the encoding and decoding functions, ${f_v}$ and ${g_v}$, of the NOS code, is performed by optimizing the  cross-entropy loss for each pair of the one-hot input {$\bm{o}_v$} and the probability vector {$\bm{p}_v$}. The total loss is the summation of the pairwise losses:
\begin{align}
 \mathcal{L}_c = -\sum_{v=1}^{V} {\sum_{d=1}^{D}{{o}_v[d] \log({p}_v[d])}}.
\label{eq:classify_loss}
\end{align}
{We randomly generate different CRC coded bit sequences $\bm{c}$ and SIMO-OFDM channel realizations $\bm{H}$ in the training phase, and adopt the ADAM optimizer to minimize the loss in \eqref{eq:classify_loss} corresponding to different $\bm{c}$ and $\bm{H}$ realizations to train the proposed neural networks.}


%\textit{Remark 3}: 

\subsubsection{Achieving different trade-offs}
The NOS code discussed above is trained to minimize the decoding error as indicated in the loss function, \eqref{eq:classify_loss}. However, we note that, in the considered CIPSAC scenario, the sensing capability of the designed waveform should also be taken into account. It is shown in \cite{tit_isac} that there is a trade-off between the sensing and communication performances. In particular, deterministic signal with constant amplitude waveform serves as a good candidate for sensing, yet stochastic signal with fluctuating amplitude is more suitable for communications thanks to their capability to carry more information.
Following this intuition, we try to design different NOS codes which achieve different sensing and decoding performances.

To fulfill this, we introduce a loss function corresponding to the sensing loss. In particular, we add a constraint to the transmitted signal, $\bm{x}$, defined in \eqref{equ:trans_x} to have less fluctuated amplitude compared to the constant (unitary) amplitude signals:
\begin{equation}
    \mathcal{L}_s = \sum_{i=1}^N (|{x}[i]|^2 - 1)^2.
    \label{equ:sense_loss}
\end{equation}
To achieve different trade-offs between the sensing and the decoding performances, a hyper parameter, $\lambda$, is introduced and the overall loss function can be expressed as:
\begin{equation}
    \mathcal{L} = \mathcal{L}_c + \lambda \mathcal{L}_s.
    \label{equ:overall_loss}
\end{equation}
It is easy to understand that, the NOS framework with a large $\lambda$ value would focus on producing the codewords with near constant amplitudes leading to superior sensing performance, while the framework with a small $\lambda$ value would mainly focus on the PER performance. 
We train different NOS models with different $\lambda$ values and the training process is identical to the aforementioned NOS code.
We will show in the experiments that adopting a suitable $\lambda$ value is essential for superior sensing and decoding performances.

\begin{remark}
    We note that the design of the sensing loss in \eqref{equ:sense_loss} is largely based on the intuitions which does not guarantee optimality. A more advanced scheme involves directly adopting the MSE defined in \eqref{equ:overall_mse} as $\mathcal{L}_s$ and optimize \eqref{equ:overall_loss} using the updated $\mathcal{L}_s$. However, the acquisition of the updated $\mathcal{L}_s$ also includes non-differential operations and is impossible to optimize in an end-to-end fashion. 
\end{remark}



\subsection{CRC-Assisted NOS Code}\label{sec:crc_sparc}
We illustrate the encoding and decoding processes of the CRC-assisted NOS code with a learned codebook. Note that the processes are the same for the original SPARC code where each entry follows an i.i.d. complex Gaussian distribution.
\subsubsection{NOS encoding}
The encoding process is comprised of two parts, namely, the CRC and NOS encoding. To start with, the input bit sequence, denoted by $\bm{b} \in \{0, 1\}^{N_b}$, is fed to the CRC encoding block where $N_{crc}$ extra CRC bits are appended to $\bm{b}$ to produce a new bit sequence $\bm{c} \in \{0, 1\}^{V\log_2(D)}$ for the subsequent NOS encoding where $V\log_2(D) = N_b + N_{crc}$. Then, $\bm{c}$ is partitioned into $V$ blocks, each is comprised of $\log_2(D)$ bits.\footnote{We assume $D$ is a power of 2.} The NOS code is characterized by its codebook, $\bm{\mathcal{C}} \in \mathbb{C}^{V\times D \times N}$, which is obtained according to \cite{mimo_nos}.
The $\log_2(D)$ bits of the $v$-th block is mapped to an index,  $d_v \in [1, D]$, which corresponds to the length-$N$ sub-codeword, $\bm{\mathcal{C}}_v[d_v]$. By adding up all $V$ sub-codewords, the transmitted codeword is obtained as:
\begin{equation}
\bm{x} = \sum_{v = 1}^V \bm{\mathcal{C}}_v[d_v].
\label{equ:sparc_enc}
\end{equation}
We can easily verify that $\mathbb{E}(\bm{x}^\dagger \bm{x}) = N$ using the i.i.d. property of the elements within the codebook.

\subsubsection{NOS decoding}
Then, we present channel decoding over an SIMO-OFDM channel for the proposed CIPSAC system. We provide a brief overview of the decoding algorithm here, and refer the readers to \cite{mimo_nos} for more details.

\textbf{Codebook update:}
We assume the CSI, denoted as $\bm{H} \in \mathbb{C}^{N_r \times N}$, is perfectly available at the decoder.\footnote{The SPARC decoding algorithm is still valid when there is an estimation error in $\bm{H}$.} The codebook, $\bm{\mathcal{C}}$, is updated w.r.t. $\bm{H}$ as:
\begin{align}
\widetilde{\bm{\mathcal{C}}}_{v, \bm{H}}[d, r] &= \bm{H}[r, :] \odot \bm{\mathcal{C}}_v[d], \quad %\forall v \in [1, V], \forall m \in [1, M],
\notag \\
\bm{\mathcal{C}}_{v, \bm{H}}[d] &= \text{vec}(\widetilde{\bm{\mathcal{C}}}_{v, \bm{H}}[d, :])
\label{equ:update_Ch}
\end{align}
where $\widetilde{\bm{\mathcal{C}}}_{\bm{H}} \in \mathbb{C}^{V\times D \times N_r \times N}$ denotes the intermediate codebook, $\text{vec}(\cdot)$ represents the vectorization operation and the updated codebook, $\bm{\mathcal{C}}_{\bm{H}} \in \mathbb{C}^{V \times D \times N_r N}$.

\textbf{$K$-best decoding:}
We then illustrate the procedure to decode SPARC codeword. To be precise, the posterior probability of the SPARC codeword can be expressed as:
\begin{align}
    P({d_1}&,\ldots, {d_{V}}|\bm{y}, \bm{H}) \propto \notag \\ &\exp\{-\frac{1}{2\sigma_d^2} ||\bm{y}-\sum_{v=1}^{V}{\bm{\mathcal{C}}_{v,\bm{H}}[d_v]}||^2_2\},
\label{eq:joint prob}
\end{align} 
where $\bm{y} = \text{vec}(\bm{Y})$ and is of length $N_r N$.
The decoding objective is to find a combination of indices, $\{d_1, d_2, \ldots, d_V\}$ that maximizes \eqref{eq:joint prob}, or equivalently, minimizes the L2 distance, $||\bm{y}-\sum_{v=1}^{V}{\bm{\mathcal{C}}_{v,\bm{H}}[d_v]}||^2_2$.

Similar with \cite{mimo_nos}, we define the \textit{score metric}, $s^{(l)} = {||\bm{y}-\sum_{i=1}^l{\bm{\mathcal{C}}_{i, \bm{H}}[d_i]}||^2_2}$, which can be expressed recursively as:
\begin{align}
      s^{(l)} &= s^{(l-1)}  + ||\bm{\mathcal{C}}_{l, \bm{H}}[d_l]||_2^2 
  \notag \\  &+ 2\Re(\bm{\mathcal{C}}_{l, \bm{H}}^\dagger[d_l]\bm{u}^{(l-1)}- \bm{\mathcal{C}}_{l, \bm{H}}^\dagger[d_l]\bm{y}),
\label{eq:recursive}
\end{align} 
where {{$\bm{u}^{(l-1)} = \sum_{i=1}^{l-1}{\bm{\mathcal{C}}_{i,\bm{H}}[d_i]}$}} is the \textit{cumulative vector}. It is easy to show that $s^{(V)}$ is the L2 distance of interest, i.e., $s^{(V)} = ||\bm{y}-\sum_{v=1}^{V}{\bm{\mathcal{C}}_{v,\bm{H}}[d_v]}||^2_2$. 

The maximum a posterior (MAP) solution can be obtained by checking all possible $\{d_1, d_2, \ldots, d_V\}$ combinations leading to an overwhelmingly high complexity. To this end, we  introduce the $K$-best decoding algorithm as a low complexity alternative. In particular, for each layer, we only preserve $K$ candidates, and prune the others. The process starts from the root of the tree with a score initialized to $s^{(0)} = 0$. In the $l$-th layer, the $k$-th surviving node in the previous layer with accumulated indices $(d_1^k , \ldots, d_{l-1}^k)$ is extended to $D$ child nodes and the score of its $d_l$-th child, can be calculated as:
\begin{align}
         s^{(l)}_{d^k_1,\ldots,d^k_{l-1},d_l} &= s^{(l-1)}_{d^k_1,\ldots,d^k_{l-1}}  + ||\bm{\mathcal{C}}_{l,\bm{H}}[d_l]||_2^2 \notag \\
   &+ 2\Re({\bm{\mathcal{C}}}^\dagger_{l,\bm{H}}[d_l]\bm{u}^{(l-1)}_k-\bm{\mathcal{C}}^\dagger_{l,\bm{H}}[d_l]\bm{y}),
\label{eq:kbest_metric}
\end{align}
where  {{$\bm{u}^{(l-1)}_k = \sum_{i=1}^{l-1}{\bm{\mathcal{C}}_{i,\bm{H}}[d^k_i]}$}}. After obtaining $KD$ metrics belonging to all the $K$ surviving nodes in the previous layer, we select the $K$ smallest candidates and prune the others. By iteratively extending and pruning the tree, we can obtain $K$ candidates at the final layer, where the $k$-th candidate can be characterized by its accumulated indices denoted by $(d_1^k, \ldots, d_V^k)$. It is also associated with its accumulated vector, $\bm{u}_k^{(V)}$, and the metric, $s_k^{(V)} \triangleq s_{d^k_1,\ldots,d^k_{V}}^{(V)}$.


It is worth mentioning that the decoding order of the layers makes a difference and we adopt the \textit{per-layer} sorting in \cite{mimo_nos}, where the layers with more `reliable' candidates should be decoded earlier to prevent error propagation to the remaining layers. As a result, the true decoding order, $\mathcal{O}$, is a permutation of $[1, 2, \ldots, V]$.
%It is shown in the experiments that adopting the \textit{per-layer} sorting leads to a better decoding performance. 

We also implement `looped $K$-best decoding', proposed in \cite{mimo_nos}, with $N_i^d$ extra iterations to further improve the PER performance. In particular, the looped K-best decoder takes the output of the original K-best decoding algorithm as input and outputs the updated indices of the $K$ candidates, which can be expressed as:
\begin{align}
\{(d_1^k, &\ldots, d_V^k)\}_{k \in [1, K]} = \mathrm{loopedKbest}( \notag \\ 
&\{(d_1^k, \ldots, d_V^k), \bm{u}^{(V)}_k, \bm{s}_k^{(V)}\}_{k \in [1, K]}, \mathcal{O}, N_i^d).
\label{equ:looped_kbest}
\end{align}
We refer the interested readers to \cite{mimo_nos} for more details of the looped K-best decoding procedure. 

Finally, for the $k$-th candidate of the {looped K-best} decoder,  we convert each of its $V$ indices, $(d_1^k, \ldots, d_V^k)$ into a bit sequence, denoted by $\hat{\bm{c}}^v_k, v \in [1, V]$. Then, the overall decoded bit sequence corresponding the the $k$-th candidate is obtained by concatenating all $V$ bit sequences together, $\hat{\bm{c}}_k = (\hat{\bm{c}}_k^1, \ldots, \hat{\bm{c}}_k^V)$. We apply CRC to each of the $K$ bit sequences, $\hat{\bm{c}}_k, k \in [1, K]$, in sequential order and the first bit sequence which passes the CRC will be served as the final decoded output, $\bm{\hat{c}}$. If none of the $K$ bit sequences passes the CRC, we set the error flag, $T$ to 0, otherwise set $T = 1$.
The entire CRC-aided $K$-best decoding algorithm is summarized in Algorithm \ref{algorithm:decode}. Note that we use the notation $\text{idx}(k)$ to represent the indices, $(d_1^k, \ldots, d_V^k)$ in the algorithm.

\begin{remark}
    We note that the NOS decoders illustrated in Section \ref{sec:nos_code} differ from the aforementioned CRC-assisted $K$-best decoding process. This is due to the fact that the CRC-assisted $K$-best decoding involves iteratively extending and pruning the branches of the $K$-best tree which is non-differential for back propagation of the gradients. We leave it as a future work to train a better NOS codebook for superior decoding performance.
\end{remark}


%\subsection{Polar Code}

\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{table}[t]

\caption{{List of key variables.}}
\centering
 \begin{tabularx}{\linewidth}{| p{1.25cm} | Y |} 
 \hline

 Variable & Description \\  \hline

 $N, N_G$ & The number of OFDM subcarriers and guard subcarriers in one OFDM symbol.  \\  \hline
 $M$ & Minimum number of OFDM symbols to achieve the desired Doppler resolution.  \\  \hline
 $M_p, M_d$ & The number of OFDM symbols for the pilot and the data packets.  \\  \hline
 $N_r$ & Number of antennas at the receiver.\\ \hline
 {$L$} & Number of targets/paths.  \\  \hline
 {$N_i$} & Number of iterations for the iterative parameter sensing and channel decoding algorithm.  \\  \hline
 {$K$} & The number of survivors kept in each layer of the $K$-best tree search. \\  \hline
 {$N_i^d$} & Number of additional iterations for the looped $K$-best algorithm.  \\  \hline
 {$V, D$} & Number of encoder-decoder pairs and the dimension for each one-hot input, $\bm{o}_v$, adopted in the NOS scheme.  \\  \hline
 {$N_b, N_{crc}$} & The length of the information bit sequence, $\bm{b}$, and the number of CRC bits.  \\  \hline
 {$\sigma^2_p, \sigma^2_d$} &  The noise variances for the pilot and data OFDM symbols defined in \eqref{equ:def_snr} and \eqref{equ:real_yd}, respectively. \\  \hline


 $\alpha, \tau, \mu, \theta$ & The RCS, delay, Doppler and AoA parameters for a sensing target. \\  \hline 
 $\lambda$ & The hyper parameter to achieve different trade-offs between sensing and communication for NOS code. \\  \hline 
 $\bm{\mathcal{{C}}}$ & The NOS codebook which can be either randomly generated or obtained via end-to-end training. \\  \hline 
 $\bm{X}, \bm{X}_p, \bm{X}_d$ & The entire transmitted signal, $\bm{X}$, is obtained by concatenating the pilot and data signals, $\bm{X}_p$ and $\bm{X}_d$.\\  \hline 
 $\bm{Y}, \bm{Y}_p, \bm{Y}_d$ & The entire received signal, $\bm{Y}$, is obtained by concatenating the received pilot and data signals, $\bm{Y}_p$ and $\bm{Y}_d$. \\  \hline 
 \end{tabularx}
\label{tab:list_variables}

\end{table}





\section{Numerical Experiments}\label{sec:experiment}
We illustrate the effectiveness of the proposed CIPSAC system and the IPSCD algorithm under different experimental setups. Unless otherwise mentioned, we set the entries of the pilot signal $\bm{X}_p$ to unitary and the number of guard subcarriers equals to $N_G = N/4$.
An 11-bit CRC with generator polynomial, $x^{11}+x^{10}+x^9+x^5+1$ is adopted for all coded modulation schemes. Moreover,  we set the number of surviving candidates, $K = 16$ at each layer and the number of extra iterations, $N_i^d = V$, for the SPARC/NOS decoding. Finally, the  training parameters of the NOS code is identical to that in \cite{mimo_nos}.

\subsection{Static SISO}
In the static SISO setup, the scatters are assumed to be static and the receiver is equipped with a single antenna, thus, only two parameters, the RCS, $\alpha_\ell$ and delay, $\tau_\ell$ need to be estimated.  We perform extensive numerical experiment in this simplified setup to justify the gain by introducing channel codes for integrated passive sensing and communications compared with existing uncoded schemes \cite{two_stage_ipsac, isac_learn}. Ablation studies are also carried out to figure out the effect of different system parameters on the sensing and communication performances which guide the parameter selection in the more challenging mobile SISO and mobile SIMO scenarios.
We consider short packet transmission where each data packet is comprised of 13 information bits with the aforementioned 11-bit CRC. The parameters of the SPARC are set to $V = 3, D = 256, N = 32$. The number of OFDM subcarriers is $N = 32$ and $L = 3$ scatters are considered.  Without loss of generality, we assume $\alpha_\ell \in \mathcal{CN}(0, \frac{1}{L}), \ell \in [1, L]$ and $n_\ell = \ell$, i.e., the delay occupies the first $L$ taps. 





\begin{figure*}
     \centering
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/PER_vs_ITER.pdf}
         \caption{}
     \end{subfigure}
     \begin{subfigure}{0.62\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/MSE_vs_ITER.pdf}
         \caption{}
     \end{subfigure}
    %  \vspace{0.1cm}
     \begin{subfigure}{0.66\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/diff_B.pdf}
         \caption{}
     \end{subfigure}
  \caption{Performance evaluation of the proposed CIPSAC system in the statio SISO scenario: (a) \& (b) the PER and MSE performances versus the number of iterations, $N_i$, with different $\mathrm{SNR}_p$ values and $M_d = 6$; (c) the PER performance with different numbers of blocks, $M_d$, where $\mathrm{SNR}_p = 1$ dB and $N_i = 4$.}
\label{fig:final_simu}
\end{figure*}


\begin{figure}
%\vspace{.2in}
\centering
\includegraphics[width=0.9\columnwidth]{Figs/abalation.pdf}
\caption{The PER performance of the proposed CIPSAC system adopting SPARC code  is evaluated with different numbers of CRC bits. We also provide an uncoded benchmark to outline the effectiveness of the channel codes. It is worth emphasizing that we adopt $E_b/N_0$ as the x-axis for a fair comparison of the schemes with different spectrum efficiencies.}
\label{fig:abalation}
\end{figure}

\subsubsection{Performance improvement w.r.t. $N_i$}
We first illustrate the improvement brought by the number of iterations. In this simulation, different pilot SNR values, $\mathrm{SNR}_p \in \{-3, 1, 5, 9\}$ dB are considered with fixed $\mathrm{SNR}_d = 9$ dB and the number of pilot frames and data packets are set to $M_p = 1$ and $M_d = 6$, respectively. The PER and MSE performances are evaluated after collecting enough number of packet errors.   It can be seen from Fig. \ref{fig:final_simu} (a) and (b) that both the PER and the MSE improve significantly w.r.t $N_i$. In particular, Fig. \ref{fig:final_simu} (a) shows for all $\mathrm{SNR}_p$ values, the PER performance converges with merely $3$ iterations. We can also observe that the PER performance of the SPARC with $\mathrm{SNR}_p = 9$ dB and $N_i = 4$ nearly approaches the PER performance of the SPARC with perfect CSI. 

We also provide the PER performance of the Polar baseline to outline the effectiveness of the proposed SPARC. The Polar baseline utilizes the same 11-bit CRC and adopts SCL decoding algorithm \cite{scl_polar}. The decoded bit sequence is obtained after the MMSE equalization and Polar decoding. As can be seen in Fig. \ref{fig:final_simu} (a), the proposed SPARC outperforms the Polar baseline in terms of PER.

Fig. \ref{fig:final_simu} (b) manifests the sensing MSE w.r.t. $N_i$. Note that in this simplified static SISO scenario, the estimated delay $\hat{\tau}$ seldom deviates from the ground truth, ${\tau}$. Thus, we adopt the MSE defined in Eqn. (7) in \cite{crc_isac} which also takes the RCS parameter, $\alpha$, into account. The MSE is large when $N_i = 0$ which is due to the fact that we only use one pilot frame to estimate the parameters. When $N_i$ grows, a larger number of data packets are successfully decoded which are utilized for improved MSE performance.


\subsubsection{The effect of different number of data packets} 
{{we investigate the effect of different number of data packets, $M_d$, on the system performance. In this simulation, the pilot SNR is fixed at $\mathrm{SNR}_p = 1$ dB, while $M_d$ is selected from $M_d \in \{1, 4, 16, 64\}$. Intuitively, increasing $M_d$ enhances the probability of correctly decoding a larger number of data packets, which can then serve as additional pilot symbols, thereby improving the accuracy of parameter estimation. However, a larger $M_d$ also introduces higher latency, as the latency scales proportionally with $M_d$.}}


As can be seen in Fig. \ref{fig:final_simu} (c), the PER performance improves rapidly from $M_d = 0$ to $M_d = 4$ yet it nearly ceases to improve when $M_d \ge 16$. It is also shown in the figure that there is a gap between $M_d = 64$ and the SPARC with perfect CSI which is due to the CRC outage: the wrong SPARC re-encoded codewords would degrade the parameter estimate which hinders the final PER performance. This will be verified in the subsequent simulations concerning the outage probability, $P_o$.

\begin{table}[tbp]
\caption{The outage probabilities, $P_o$, for three CRC settings with different SNR values.}
\begin{center}
\begin{tabular}{c|c|c|c}
\hline

\cline{1-4} 
$\mathrm{SNR}_d$ (dB) & \textbf{3}& \textbf{6}& \textbf{9} \\
\hline

$P_o$ w/ 6-bit CRC & 0.102  & 0.058 & 0.040 \\
$P_o$ w/ 8-bit CRC & 0.028  & 0.015 & 0.009 \\
$P_o$ w/ 11-bit CRC & $2.2\times 10^{-3}$ & $1.7 \times 10^{-3}$  & $1.2\times 10^{-3}$ \\

\hline
\end{tabular}
\label{tab:crc_res}
\end{center}

\end{table}

\begin{figure*}
     \centering
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/siso_2d_PER.pdf}
         \caption{}
     \end{subfigure}
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/siso_2d_MSE.pdf}
         \caption{}
     \end{subfigure}
    %  \vspace{0.1cm}
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/siso_2d_lambda.pdf}
         \caption{}
     \end{subfigure}
  \caption{Performance evaluation of the proposed IPSCD algorithm in the mobile SISO scenario. (a) \& (b) Comparison between the NOS codes trained under different $\lambda$ values and the Polar baseline in terms of PER and MSE. (c) The superiority of the NOS codes compared to the SPARC codes which adopt random Gaussian codebook \cite{SPARC2014}.}
\label{fig:simu_siso_2d}
\end{figure*}


\begin{figure}
%\vspace{.2in}
\centering
\includegraphics[width=0.9\columnwidth]{Figs/u_policy.pdf}
\caption{The PER and MSE performances obtained by two different $\bm{u}$ realizations.}
\label{fig:u_policy}
\end{figure}



\begin{figure*}[t]
\centering
\includegraphics[width=\linewidth]{Figs/comb_visualize.pdf}\\
\caption{Numerical illustration of the sensing algorithm shown in Fig. \ref{fig:sensing_flowchart}. The ground truth parameters are set to $\bm{\theta} = [70, 90, 110], \bm{n} = [4, 5, 3], \bm{m} = [10, 11, 1]$. It is observed from the left figure that accurate $n_1, m_1$ estimation are obtained even if $\hat{\theta}_1 = 71$ slightly deviates from $\theta_1 = 70$.}
\label{fig:sensing_visualize}
\end{figure*}


\begin{figure*}
     \centering
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/simo_3d_polar_vs_sparc.pdf}
         \caption{}
     \end{subfigure}
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/simo_3d_PER.pdf}
         \caption{}
     \end{subfigure}
    %  \vspace{0.1cm}
     \begin{subfigure}{0.64\columnwidth}
         \centering
         \includegraphics[width=\columnwidth]{Figs/simo_3d_MSE.pdf}
         \caption{}
     \end{subfigure}
  \caption{Performance evaluation of the proposed IPSCD algorithm in the mobile SIMO scenario. (a) We show the comparison between the NOS and the Polar baseline in terms of PER and MSE for $N = 32$. (b) \& (c) For larger $N$ values, we adopt the Polar code with QPSK modulation and report its PER and MSE results.}
\label{fig:simu_simo_3d}
\end{figure*}

\subsubsection{Ablation studies} 
Finally, we provide ablation studies for a comprehensive understanding of the proposed IPSCD system under static SISO scenario. In particular, we fix the SPARC parameters, i.e., $(V = 3, D = 256, N = 32)$ and change different CRC settings. In particular, we consider 6-bit and 8-bit CRC with generator polynomials, $x^6 + x^5 + 1$ and $x^8 + x^2 + x + 1$, respectively. The PER performance of the uncoded QPSK symbols with perfect CSI is also provided to show the necessity of introducing the channel codes. For all the schemes, we set the number of blocks, $M_d = 6$ and the pilot SNR, $\mathrm{SNR}_p = 5$ dB. It is worth mentioning that, to provide a fair comparison for the schemes with different CRC lengths (leading to different spectrum efficiencies), we use $E_b/N_0$ instead of $\mathrm{SNR}$ as the x-axis.

As shown in Fig. \ref{fig:abalation}, without the aid of channel codes, the PER of the uncoded QPSK symbols is much higher than that using channel codes.
%Moreover, a significant gain is observed by comparing the PER performance between the LMMSE channel estimator with the ZF counterpart. 
It is also shown that having a shorter CRC would harm the system performance, this is due to the fact that the outage probabilities, $P_o$, for both the 6-bit and 8-bit CRC settings are relatively high as shown in Table \ref{tab:crc_res}. This would lead to wrong SPARC re-encoded symbols, $\bm{\hat{x}}_b$, and harms the subsequent parameter estimation and CSI reconstruction performance. The 11-bit CRC has a much smaller $P_o$, thus, it has the best PER performance.

Finally, we provide the outrage probability, $P_o$, w.r.t. the channel SNR of the data OFDM symbols, $\mathrm{SNR}_d$ which is shown in Table \ref{tab:crc_res}. It can be seen that for all the three different CRC setups,  $P_o$  decreases when  $\mathrm{SNR}_d$ increases which is because the proposed SPARC decoding algorithm produces more reliable bit sequences with higher $\mathrm{SNR}_d$, thus, the bit sequence which passes the CRC would be more likely to be the ground truth.


\subsection{Mobile SISO}
In this scenario, an extra Doppler parameter, $\mu_\ell$, needs to be estimated which is assumed to be randomly distributed, i.e., $m_\ell \in [-\frac{M}{2}, \frac{M}{2}-1]$ where $M = 32$.  The parameters for the SPARC/NOS code are set to $V = 4, D = 256, N = 32$. 

\subsubsection{Performance comparison with different channel codes}
We first evaluate the MSE and PER performances achieved by different channel codes. In this simulation, the Polar code and the NOS code trained at different $\lambda \in \{0, 1\}$ values are considered. The numbers of OFDM symbols for the pilot and data packets are set to $M_p = 4$ and $M_d = 28$, respectively. Moreover, we set the SNR of the pilot signal to $\mathrm{SNR}_p = 7$ dB and vary the SNR of the data signal $\mathrm{SNR}_d \in [5, 12]$ dB. 
Their relative PER and MSE performances are shown in Fig. \ref{fig:simu_siso_2d} (a) \& (b), respectively. As can be seen, for all the considered channel coded modulation schemes, both the communication and sensing performances improve with more iterations $N_i$ and higher $\mathrm{SNR}_d$ values.\footnote{{This is only except for the NOS code trained under $\lambda = 0$ and evaluated at low $\mathrm{SNR}_d = 5$ dB where the MSE increases w.r.t. the sensing performance obtained from the pilot signal (i.e., $N_i = 0$). This can be explained by the fact that the codeword belonging to the NOS code trained under $\lambda = 0$ deviates a lot from the constant amplitude codeword leading to sub-optimal sensing performance.}}  This verifies the effectiveness of the proposed CIPSAC system in the mobile SISO scenario.  
It is also observed that the NOS code with $\lambda = 1$ outperforms the Polar baseline in terms of PER for all $\mathrm{SNR}_d$ and $N_i$ values. As for the MSE metric, it is shown that thanks to the constant amplitude waveform, the Polar baseline slightly outperforms the NOS code with $\lambda = 1$ when $\mathrm{SNR}_d$ is small, yet it is surpassed when $\mathrm{SNR}_d$ becomes larger. This is due to the fact that the NOS code exhibits much lower PER with a high $\mathrm{SNR}_d$ value leading to a larger number of correctly decoded data symbols for a more accurate parameter estimation.  The NOS code with $\lambda = 0$, on the other hand, achieves comparable PER performance w.r.t. that with $\lambda = 1$ yet the worst sensing performance. In particular, the NOS code with $\lambda = 0$ yields superior PER performance with low $\mathrm{SNR}_d$ value compared to that with $\lambda = 1$ because it is optimized to achieve the best decoding performance. However, due to its poor sensing capability, it is eventually outperformed by the $\lambda = 1$ model under high $\mathrm{SNR}_d$ value. As a result, the NOS code with $\lambda = 1$ provides a significantly improved sensing performance without harming the PER performance. Thus, we adopt the NOS code trained under $\lambda = 1$ throughout the paper.

We then show the performance improvement brought by the NOS code over the SPARC code which adopts complex Gaussian codebook. We adopt the same simulation setup in Fig. \ref{fig:simu_siso_2d} (a) \& (b) and set the number of iterations, $N_i = 4$. Both the PER and the MSE performances are shown in Fig. \ref{fig:simu_siso_2d} (c) which correspond to the left and the right part of the figure, respectively. It can be observed that the NOS codes with different $\lambda \in \{0, 1\}$ values outperform the SPARC code in terms of both sensing and decoding performances demonstrating the effectiveness of the end-to-end optimization.


\subsubsection{Evaluation of different $\bm{u}$ implementations}
We then show the effectiveness of the proposed $\bm{u}$ implementation illustrated in Proposition \ref{pro:pro1}. In this simulation, we compare the sensing and decoding performances achieved by the proposed $\bm{u} \leftarrow \bm{0}_N$ to a naive protocol where $\bm{u}$ is replaced by the re-encoded codeword, $\hat{\bm{x}}$, from a wrongly decoded bit sequence, $\hat{\bm{c}}$ with $T = 0$. The simulation setup is identical to that in Fig. \ref{fig:simu_siso_2d}. As can be seen in Fig. \ref{fig:u_policy}, both the PER and the MSE performances of the proposed protocol outperform that of the naive one. It is especially the case in terms of PER where a 4 dB SNR gain can be observed when PER equals to $3\times 10^{-2}$. Thus, we adopt the protocol introduced in Proposition \ref{pro:pro1} throughout the paper.

\subsection{Mobile SIMO}
Finally, we show the effectiveness of the proposed IPSCD algorithm in the mobile SIMO scenario where the generation of the RCS, delay and Doppler parameters are identical to that in the mobile SISO scenario, while the AoA values, $\theta_\ell$, are sampled uniformly within the range of $[\frac{\pi}{6}, \frac{5\pi}{6}]$.

\subsubsection{Illustrations of the sensing procedure}
To start with, we first demonstrate the sensing procedure, $h(\cdot)$, introduced in Section \ref{sec:sense_alg} via numerical experiment. In this simulation, we adopt $M_p = 32$ OFDM symbols each contains $N = 32$ OFDM subcarriers as pilot signal.  Note that only the pilot signal is used for sensing and the number of data symbols is set to $M_d = 0$. Moreover, we set the number of receive antennas to $N_r = 8$, the delay and Doppler resolution to $M = N= 32$ and the pilot SNR to $SNR_p = 0$ dB.

As can be seen in Fig. \ref{fig:sensing_visualize}, the ground truth AoA, delay and Doppler parameters are $\bm{\theta} = \{70, 90, 110\}, \bm{n} = \{4, 5, 3\}, \bm{m} = \{10, 11, 1\}$, respectively.\footnote{Here we assume each entry of $\bm{m}$ ranges from $[1, M]$ for better illustration, which differs from the definition in \eqref{equ:real_dd}.} As illustrated in Section \ref{sec:sense_alg}, we first produce the estimated AoA values, $\bm{\hat{\theta}} = \{71, 90, 110\}$ via MUSIC algorithm as shown in the middle left of the figure. Then, for each of the estimated ${\hat{\theta}}_\ell$, we apply the data substitution, equalization and the 2D-FFT algorithm to produce the corresponding delay and Doppler parameters which are compared with the ground truth shown in the remaining plots. 
%It's worth mentioning that though ${\hat{\theta}}_1$ deviates from the real ${{\theta}}_1$, its corresponding $\hat{\tau}_1$ and $\hat{\mu}_1$ match with the ground truth under very low SNR values.  
It's worth mentioning that, for all the estimated AoA values, the corresponding $\hat{\tau}_\ell$ and $\hat{\mu}_\ell$ match with the ground truth even there is an estimation error where $\hat{\theta}_1 \neq \theta_1$.  This shows the effectiveness of the sensing algorithm in Section \ref{sec:sense_alg}.

\subsubsection{Performance comparison of different channel codes}
We then consider the performance comparison of the Polar code and the NOS code trained under different $\lambda$ values in the mobile SIMO setup. In this simulation, we adopt the same setup as in Fig. \ref{fig:sensing_visualize}  except the number of OFDM symbols for the pilot and data transmission are set to $M_p = 4, M_d = 28$, respectively. The pilot SNR is set to $\mathrm{SNR}_p = 0$ dB and the data SNR, $\mathrm{SNR}_d \in [-3, 3]$ dB. The parameters of the Polar and the NOS code are identical to that in the mobile SISO scenario.

The Polar code and the NOS code trained under $\lambda = 1$ is compared in Fig. \ref{fig:simu_simo_3d} (a) where both channel codes adopt $N_i = 4$. As can be seen, both schemes achieve nearly the same sensing performance, yet the NOS code outperforms the Polar baseline in terms of PER by a small margin. The PER performance of the two channel codes with perfect CSI are shown in the dashed curves. As can be seen, the proposed NOS code outperforms the Polar baseline with an approximately $0.5$ dB SNR gain when $\text{PER} \approx 10^{-3}$.

\subsubsection{Performance evaluation for different block lengths} We then illustrate the sensing and decoding performances of the CIPSAC system with IPSCD algorithm for the channel codes with different block lengths. As illustrated in \cite{nos, mimo_nos}, the SNR gain of the NOS code shrinks w.r.t. the Polar coded modulation under larger block length. Thus, in this simulation, we adopt the rate-1/2 Polar code with QPSK modulation and set the block lengths, $N = 32, 64, 128$ which correspond to the numbers of information bits, $N_b = 21, 53, 117$, respectively. Their relative PER and MSE performances are shown in Fig. \ref{fig:simu_simo_3d} (b) \& (c), respectively. Note that we use $E_b/N_0$ as the x-axis to evaluate PER performance for a fair comparison.

As can be seen, both the PER and MSE performances improve with larger $N$. It aligns with the intuition for the PER performance, as the error correction ability of the channel codes improves w.r.t. the block length. For the sensing performance, the SIMO-OFDM signal with larger block length ($N$) provides more ($N(M_p+M_d)$) data symbols for accurate AoA estimation which further improves the quality of the subsequent delay, Doppler and RCS estimation leading to lower sensing MSE. Finally, we note that though increasing the block length improves both the sensing and communication performances, it also causes higher time delay and computational complexity when performing the channel decoding algorithm.

\section{Conclusion}
In this paper, we propose a novel CIPSAC system with OFDM, where the BS passively senses the channel parameters and decodes the information of the user simultaneously using both the pilot and data symbols from the user. We consider the SIMO-OFDM scenario where the channel is consisted of multiple mobile targets and the BS is equipped with multiple antennas. 
Upon receiving the pilot and data signals, a novel IPSCD algorithm is proposed, where the correctly decoded codewords which pass the CRC are utilized to improve the sensing performance at the BS. Detailed illustrations of the sensing procedure which outputs satisfactory parameter estimates are provided which serves as the core component for the IPSCD algorithm.
To further improve the channel decoding performance, we adopt the learning-based NOS code and introduce a new loss function to train NOS encoder for different sensing and communication trade-offs. 
Simulation results show the effectiveness of the proposed CIPSAC system and the IPSCD algorithm over different experimental setups, where both the sensing and communication performances are significantly improved with a few iterations.  We also carry out ablation studies for a comprehensive understanding of the proposed scheme.




\bibliographystyle{IEEEbib}
\bibliography{refs}

\appendices
\section{On the optimality of the $\bm{u}$ implementation in Proposition \ref{pro:pro1}}\label{sec:APPA}
This appendix provides detailed derivations on the optimality of the proposed data substitution procedure shown in Proposition \ref{pro:pro1} of Section \ref{sec:sense_alg}. We consider a scenario where the total number of transmitted OFDM symbols is identical to the Doppler resolution, i.e., $M_p + M_d = M$, the receiver has a single antenna and the transceiver communicates over the wireless channel induced by a single target with delay $n_0 \in [0, N_G-1]$ and Doppler $v_0 \in [-\frac{M}{2}, \frac{M}{2}-1]$. Note that the proof is also applicable to the multiple target scenario by applying successive interference cancellation (SIC) algorithm. As a result, the channel described in \eqref{equ:simo_channel} degrades to:
\begin{equation}
    Y_{n, m} = a X_{n, m} e^{j 2\pi \frac{n_0 n}{N}} e^{-j 2\pi \frac{v_0 m}{M}} + W_{n, m},
    \label{equ:uni_tgt_channel}
\end{equation}
where $a \sim \mathcal{CN}(0, 1), W_{n, m} \sim \mathcal{CN}(0, \sigma^2)$ denote the complex gain and the i.i.d. AWGN term, respectively.
It is worth mentioning that the transmitted signal $\bm{X} = [\bm{X}_p, \bm{X}_d]$ is comprised of the pilot and data OFDM symbols where the pilot signal, $\bm{X}_p$, has unitary entry, i.e., $\bm{X}_p[n,m] = 1$ and the data signal, $\bm{X}_d[n,m]$ has zero mean and unit variance. We note that this property can be theoretically/numerically verified for the SPARC code adopting random Guassian codebook/learning-based NOS code.
Without loss of generality, we assume $(n_0, v_0) = (0, 0)$.

The peak to side lobe ratio (PSR) defined as
\begin{equation}
    \text{PSR} \triangleq \mathbb{E}\left(|r_{0, 0}|^2 - \sum_{(n_g, v)\neq (0, 0)} |r_{n_g, v}|^2 \right),
    \label{equ:PSR}
\end{equation}
is adopted to evaluate different $\bm{u}$ implementations in \eqref{equ:def_tilde_Z} where $r_{n_g, v}$ is the matched filter output for the $(n_g, v)$-th grid on the delay-Doppler plane given by:
\begin{equation}
    r_{n_g, v} \triangleq \sum_{m,n} Y_{n, m} S^*_{n, m}e^{j 2\pi \frac{n_g n}{N}} e^{-j 2\pi \frac{vm}{M}},
    \label{equ:r_nv}
\end{equation}
where $n_g \in [0, N_G-1], v \in [-\frac{M}{2}, \frac{M}{2}-1]$ while $\bm{S} \in \mathbb{C}^{N\times M}$ is the reference signal for the matched filter.
%Note that $S_{n, m} = X_{n, m}$ holds if the receiver correctly decodes the transmitted signal which is indicated by the CRC flag, $T_b = 1$.


As illustrated in Section \ref{sec:CIPSAC}, due to the decoding error, the receiver might not have full access to $X_{n, m}$. In particular, we consider the scenario where a single packet error occurs in the data OFDM symbols with index $m^* \in [M_p, M-1]$ and the corresponding CRC flag, $T_{m^*} = 0$. After introducing the substituted data packet, $\bm{u} \in \mathbb{C}^{N}$, which is randomly generated at the receiver, the  reference signal, $\bm{S} \in \mathbb{C}^{N \times M}$, is defined as:
\begin{equation}
    S_{n, m} = \left\{
    \begin{aligned}
    X_{n, m}  & , & m \neq m^*, \\
    u_n & , & m = m^*.
    \end{aligned}
    \right.
    \label{equ:def_Skm}
\end{equation}
%where $\bm{u}$ is a function of the $m^*$-th received packet, $\bm{u} = f(\bm{y}_{m^*})$, and different policies are determined by different $f(\cdot)$ realizations.
Substituting \eqref{equ:uni_tgt_channel} and \eqref{equ:def_Skm} into \eqref{equ:r_nv}, and note that $(n_0, v_0) = (0, 0)$, we have:

\begin{align}
    &|r_{n_g, v}|^2 = 
    \left|\sum_{m,n} a X_{n, m} S^*_{n, m} e^{j 2\pi \frac{n_g n}{N}} e^{-j 2\pi \frac{vm}{M}}\right|^2 + \notag \\
    &2\Re\left({\sum_{\substack{n, n' \\ m, m'}} |a|^2 X_{n, m} S^*_{n, m} W^*_{n', m'} S_{n', m'} t_{n_g}(n, n') t^*_v(m, m')}\right) \notag \\
    &+\sum_{\substack{n, n' \\ m, m'}} W_{n, m} S^*_{n, m} W^*_{n', m'} S_{n', m'} t_{n_g}(n, n') t^*_v(m, m'),\label{equ:r_nv_square}
\end{align}
where $t_{n_g}(n, n') \triangleq e^{j 2\pi \frac{n_g(n-n')}{N}}, t_v^*(m, m') \triangleq e^{-j 2\pi \frac{v(m-m')}{M}}$.

Taking expectation over \eqref{equ:r_nv_square}, it can be immediately obtained that the second term in \eqref{equ:r_nv_square} is zero due to $\mathbb{E}(W_{n, m}) = 0$ and $\bm{W}$ is independent with $\bm{X}$ and $\bm{S}$. The expectation of the remaining terms can be expressed as:
\begin{align}
    \mathbb{E} |r_{n_g, v}|^2 & =  \mathbb{E}\left|\sum_{m,n} a X_{n,m} S^*_{n,m} e^{j 2\pi \frac{n_g n}{N}} e^{-j 2\pi \frac{vm}{M}}\right|^2 \notag \\
    & + \sigma^2 (M-1)N + \sigma^2 \sum_{n} \mathbb{E}|u_{ n}|^2,
    \label{equ:E_r_nv}
\end{align}
which is obtained by noticing $\mathbb{E}(W_{n, m}W^*_{n', m'}) = \sigma^2 \delta(n-n', m-m')$ and
\begin{equation}
    \mathbb{E}(S_{n, m}S^*_{n', m'}) = 
    \begin{cases}
    0, & m \neq m', \\
    1, & n=n', m=m'\neq m^*, \\
    \mathbb{E}(|u_n|^2)  , & n=n', m=m'= m^*.
    \end{cases}
    \label{equ:sum_smk}
\end{equation}

The first term in \eqref{equ:r_nv_square} can be further expressed as:
\begin{align}
    &\left|\sum_{n, m\neq m^*} a p_{n, m} e^{j 2\pi \frac{n_g n}{N}} e^{-j 2\pi \frac{vm}{M}} \right. \notag \\
    &+ \left. \sum_n a X_{n, m^*}u_n e^{j 2\pi \frac{n_g n}{N}} e^{-j 2\pi \frac{vm^*}{M}}\right|^2 \notag \\
    =  &\sum_{\substack{n, n' \\ m, m'\neq m^*} }   \underbrace{|a|^2 p_{n, m} p_{n', m'} t_{n_g}(n,n') t_v^*(m, m')}_{\triangleq 
 \; O_{n_g,v}} \notag\\
    &+ 2\Re \left(|a|^2\sum_{\substack{n, n' \\ m\neq m^*}} p_{n, m} X^*_{n', m^*}u^*_{n'} t_{n_g}(n,n') t_v^*(m, m^*) \right) \notag \\
    &  + |a|^2 \left|\sum_{n} X_{n, m^*}u_{n} e^{j 2\pi \frac{n_g n}{N}} \right|^2,
    \label{equ:term1}
\end{align}
where we introduce $p_{n, m} \triangleq |X_{n, m}|^2$ for simplicity.
It can be noticed that the first term is independent w.r.t. different $\bm{u}$ implementations. For the second and the third terms, their expectations are zero and $|a|^2 \sum_n \mathbb{E}|u_n|^2$ using the fact that $X^*_{n', m^*}$ is independent with $p_{n, m}, u^*_{n'}$ and $\mathbb{E}(X^*_{n', m^*}) = 0$.
\begin{comment}
    For the second term, since $m\neq m^*$, $X_{m, k}$ is independent with $z_{k'}$, the term can be simplified as:
\begin{equation}
    2\Re\left(|a|^2 \sum_k e^{j 2\pi \frac{nk}{K}} \sum_{m\neq m^*} t(m, m^*) \mathbb{E}(\sum_{k'} z^*_{k'})\right),
    \label{equ:term_2}
\end{equation}
where $\mathbb{E} |X_{m, k}|^2 = 1$ as $X_{m, k} \sim \mathcal{CN}(0, 1)$. Given that $\sum_k e^{j 2\pi \frac{nk}{K}} = K\delta(n)$, and 
\begin{equation}
    \sum_{m\neq m^*} t^*_v(m, m^*) = \left\{
    \begin{aligned}
    M-1  & , & v = 0, \\
    -1 & , & v \neq 0,
    \end{aligned}
    \right.
    \label{equ:sum_tmm}
\end{equation}
the second term can be expressed as:
\begin{equation}
    O_{n, v} = \left\{
    \begin{aligned}
    2|a|^2K(M-1)\delta(n)\Re(\mathbb{E}(\sum_k z_k))   & , & v = 0, \\
    -2|a|^2K\delta(n)\Re(\mathbb{E}(\sum_k z_k)) & , & v \neq 0,
    \end{aligned}
    \right.
    \label{equ:sum_term2}
\end{equation}
We will show in the following derivations that the term will be eliminated when calculating the PSR defined in \eqref{equ:PSR}.
\end{comment}

By substituting \eqref{equ:term1} and \eqref{equ:E_r_nv} into \eqref{equ:PSR}, we obtain:
\begin{align}
    \text{PSR} &= (O_{0,0} - \sum_{(n_g, v) \neq (0, 0)} O_{n_g, v}) - (MN_G-1)(M-1)N\sigma^2 \notag \\
    & -(N_G M-1)(\sigma^2 + |a|^2) \sum_n \mathbb{E}(|u_n|^2),
\end{align}
where the first and the second terms are independent with $\bm{u}$. It is obvious that to maximize the PSR value, we should set $\bm{u} = \bm{0}_N$ as illustrated in Proposition \ref{pro:pro1} as the third term is  always non-negative. This finishes the proof of Proposition \ref{pro:pro1}.
\end{document}

\begin{thebibliography}{10}

\bibitem{isac0}
F.~Liu, C.~Masouros, A.~P. Petropulu, H.~Griffiths, and L.~Hanzo,
\newblock ``Joint radar and communication design: Applications, state-of-the-art, and the road ahead,''
\newblock {\em IEEE Trans. on Commun.}, vol. 68, no. 6, pp. 3834--3862, 2020.

\bibitem{isac1}
F.~Liu, Y.~Cui, C.~Masouros, J.~Xu, T.~X. Han, Y.~C. Eldar, and S.~Buzzi,
\newblock ``Integrated sensing and communications: Toward dual-functional wireless networks for \textsc{6G} and beyond,''
\newblock {\em IEEE J. on Sel. Areas in Commun.}, vol. 40, no. 6, pp. 1728--1767, 2022.

\bibitem{isac2}
K.~Meng, C.~Masouros, A.~P. Petropulu, and L.~Hanzo,
\newblock ``Cooperative \textsc{ISAC} networks: Opportunities and challenges,''
\newblock {\em IEEE Wireless Commun.}, pp. 1--8, 2024.

\bibitem{network_level}
K.~Meng, C.~Masouros, G.~Chen, and F.~Liu,
\newblock ``Network-level integrated sensing and communication: Interference management and \textsc{BS} coordination using stochastic geometry,''
\newblock {\em IEEE Trans. on Wireless Commun.}, vol. 23, no. 12, pp. 19365--19381, 2024.

\bibitem{isac_6g}
F.~Dong, F.~Liu, Y.~Cui, W.~Wang, K.~Han, and Z.~Wang,
\newblock ``Sensing as a service in \textsc{6G} perceptive networks: A unified framework for \textsc{ISAC} resource allocation,''
\newblock {\em IEEE Trans. on Wireless Commun.}, vol. 22, no. 5, pp. 3522--3536, 2023.

\bibitem{sense_irs}
K.~Meng, Q.~Wu, W.~Chen, and D.~Li,
\newblock ``Sensing-assisted communication in vehicular networks with intelligent surface,''
\newblock {\em IEEE Trans. on Veh. Technol.}, vol. 73, no. 1, pp. 876--893, 2024.

\bibitem{isac_ris}
R.~Liu, M.~Li, Y.~Liu, Q.~Wu, and Q.~Liu,
\newblock ``Joint transmit waveform and passive beamforming design for \textsc{RIS}-aided \textsc{DFRC} systems,''
\newblock {\em IEEE J. Sel. Topics in Signal Process.}, vol. 16, no. 5, pp. 995--1010, 2022.

\bibitem{doa_isac}
R.~Liu, M.~Li, Q.~Liu, and L.~Swindlehurst,
\newblock ``\textsc{DOA} estimation-oriented joint array partitioning and beamforming designs for \textsc{ISAC} systems,''
\newblock {\em IEEE Trans. on Wireless Commun.}, pp. 1--1, 2024.

\bibitem{duplex_isac}
Z.~Wang, X.~Mu, and Y.~Liu,
\newblock ``Bidirectional integrated sensing and communication: Full-duplex or half-duplex?,''
\newblock {\em IEEE Trans. on Wireless Commun.}, vol. 23, no. 8, pp. 8184--8199, 2024.

\bibitem{liu2021dual}
R.~Liu, M.~Li, Q.~Liu, and L.~Swindlehurst,
\newblock ``Dual-functional radar-communication waveform design: A symbol-level precoding approach,''
\newblock {\em IEEE J. Sel. Topics in Signal Process.}, vol. 15, no. 6, pp. 1316--1331, 2021.

\bibitem{two_stage_ipsac}
J.~Hu, I.~Valiulahi, and C.~Masouros,
\newblock ``\textsc{ISAC} receiver design: A learning-based two-stage joint data-and-target parameter estimation,''
\newblock {\em IEEE Wireless Commun. Lett.}, pp. 1--1, 2024.

\bibitem{isac_learn}
W.~Jiang, D.~Ma, Z.~Wei, Z.~Feng, P.~Zhang, and J.~Peng,
\newblock ``\textsc{ISAC-NET}: Model-driven deep learning for integrated passive sensing and communication,''
\newblock {\em IEEE Trans. on Commun.}, pp. 1--1, 2024.

\bibitem{isac_code}
S.~Aditya, O.~Dizdar, B.~Clerckx, and X.~Li,
\newblock ``Sensing using coded communications signals,''
\newblock {\em IEEE Open J. Commun. Soc.}, vol. 4, pp. 134--152, 2023.

\bibitem{isac_svc}
R.~Zhang, B.~Shim, W.~Yuan, M.~D. Renzo, X.~Dang, and W.~Wu,
\newblock ``Integrated sensing and communication waveform design with sparse vector coding: Low sidelobes and ultra reliability,''
\newblock {\em IEEE Trans. on Veh. Technol.}, vol. 71, no. 4, pp. 4489--4494, 2022.

\bibitem{lisac}
C.~Bian, Y.~Zhang, and D.~Gunduz,
\newblock ``\textsc{LISAC}: Learned coded waveform design for \textsc{ISAC} with \textsc{OFDM},''
\newblock in {\em IEEE Wireless Commun. and Netw. Conf.}, 2025.

\bibitem{learn_isac}
M.~Kim, T.~Jahani-Nezhad, S.~Lit, R.~F. Schaefer, and G.~Caire,
\newblock ``Short-length code designs for integrated sensing and communications using deep learning,''
\newblock in {\em IEEE Intl. Conf. on Commun.}, 2024, pp. 3536--3541.

\bibitem{crc_isac}
C.~Bian, K.~Meng, H.~Wu, and D.~Gunduz,
\newblock ``Sparse regression codes for integrated passive sensing and communications,''
\newblock {\em arXiv:2411.05531}, 2024.

\bibitem{SPARC2014}
A.~{Joseph} and A.~R. {Barron},
\newblock ``{Fast Sparse Superposition Codes Have Near Exponential Error Probability for $R < {\cal C}$},''
\newblock {\em IEEE Trans. on Info. Theory}, vol. 60, no. 2, pp. 919--942, 2014.

\bibitem{HDM2018}
H.~{Kim},
\newblock ``{HDM: Hyper-Dimensional Modulation for Robust Low-Power Communications},''
\newblock in {\em 2018 IEEE Intl. Conf. on Commun.}, May 2018, pp. 1--6.

\bibitem{nos}
C.~Bian, M.~Yang, C.-W. Hsu, and H.-S. Kim,
\newblock ``Deep learning based near-orthogonal superposition code for short message transmission,''
\newblock in {\em IEEE Intl. Conf. on Commun.}, 2022, pp. 3892--3897.

\bibitem{mimo_nos}
C.~Bian, C.-W. Hsu, C.~Lee, and H.-S. Kim,
\newblock ``Learning-based near-orthogonal superposition code for \textsc{MIMO} short message transmission,''
\newblock {\em IEEE Trans. on Commun.}, vol. 71, no. 9, pp. 5108--5123, 2023.

\bibitem{polar_code}
E.~Arikan,
\newblock ``Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,''
\newblock {\em IEEE Trans. on Info. Theory}, vol. 55, no. 7, pp. 3051--3073, 2009.

\bibitem{scl_polar}
I.~Tal and A.~Vardy,
\newblock ``List decoding of polar codes,''
\newblock {\em IEEE Trans. on Info. Theory}, vol. 61, no. 5, pp. 2213--2226, 2015.

\bibitem{isac_waveform_design}
Y.~Zhang, S.~Aditya, and B.~Clerckx,
\newblock ``Input distribution optimization in ofdm dual-function radar-communication systems,''
\newblock {\em IEEE Trans. on Signal Process.}, vol. 72, pp. 5258--5273, 2024.

\bibitem{tit_isac}
Y.~Xiong, F.~Liu, Y.~Cui, W.~Yuan, T.~X. Han, and G.~Caire,
\newblock ``On the fundamental tradeoff of integrated sensing and communications under \textsc{G}aussian channels,''
\newblock {\em IEEE Trans. on Info. Theory}, vol. 69, no. 9, pp. 5723--5751, 2023.

\end{thebibliography}