# On Compressed Sensing of Binary Signals for the Unsourced Random Access Channel
## 3 Simulation Results
### End-to-End Performance in Grant-Based Random Access  
As mentioned in the Introduction, the compressed sensing of binary signals problem is an important component of many schemes that have been proposed for communication over the unsourced random access channel. In this model [1], communication is performed in blocks of \(n\) channel uses of a Gaussian multiple access channel  
\[\mathbf{y}=\sum_{i=1}^{K_{\text{tot}}}s_{i}\mathbf{x}_{i}+\sigma\mathbf{z},\]  
where \((s_{1},\ldots,s_{K_{\text{tot}}})\in\{0,1\}^{K_{\text{tot}}}\) is the \"activity pattern\" vector whose Hamming weight is \(k\), \(\mathbf{x}_{i}\in\mathbb{R}^{n}\) is the codeword transmitted by user \(i\) assuming it was active and \(\mathbf{z}\sim\mathcal{N}(\mathbf{0},\mathbf{I})\) is additive white Gaussian noise (AWGN). Note that this channel model implicitly assumes perfect power and phase control, which is often difficult to attain in practice. We further assume that all active users have a message of \(B\) bits to transmit, and that each of these messages is independently and uniformly distributed over \([2^{B}]\). The activity pattern is  
Figure 1: BER vs. \(E_{b}/N_{0}\) for several sparsity levels \(k\). When \(k\) is small to moderate, our proposal achieves state-of-the-art performance, on par with AMP on a dense Gaussian matrix. Each point on a curve is the average BER over a 100 random experiments. Dashed horizontal line: \(\text{BER}=0.05\). Figure 2: Energy and error along a typical trajectory of Glauber dynamics, with \(k=100\) and \(E_{b}/N_{0}=1.0\,\text{dB}\). The dashed horizontal curve correspond to the energy and error respectively of the true signal \(\mathbf{x}\). assumed _unknown_ to the decoder, and known only locally to the transmitters, i.e., each user only knows whether or not it is active, but does not know which of the other users are active. The decoder's goal is to output a list of \(k\) messages that contains as many transmitted messages as possible. The per-user probability of error (PUPE) is defined as the number of transmitted messages that did not enter the list, normalized by \(k\). In this section, we use the scheme developed above for compressed sensing of binary signals as a building block for an end-to-end communication scheme for the unsourced random access channel. We slightly deviate from the mainstream literature on unsourced random access, by allowing for some feedback to be sent from the receiver to all potential users through a broadcast channel. This option was mostly avoided until now, with the exception of [PERSON] and [PERSON] and [PERSON] and [PERSON] (2018), as it was believed that the large number of potential users and the small payloads for each active users renders scheduling too wasteful. Recently, [PERSON] and [PERSON] and [PERSON] (2018) established a connection between scheduling for the unsourced random access channel and _perfect hashing_ and demonstrated that in fact scheduling for the unsourced random access channel can be attained with a very small cost. Based on their observation, we propose the following scheme for the unsourced random access channel with an unbounded number \(K_{\text{tot}}\) of potential users, among which \(k\) are active users that have to send a \(B\) bits message each, over \(n\) channel uses:  
* **Phase 1:** Each active user transmits the first \(J\) bits of its message over \(n_{1}<n\) channel uses. To that end, we use a sensing matrix \(A\) drawn from the \(\mathbf{LDPC}(v,s;M,n_{1})\) ensemble, with \(M=2^{J}\). Each active user chooses one of the \(M=2^{J}\) columns of \(A\), corresponding to the first \(J\) bits in its message, scales it by \(\alpha>0\) and transmits them over the channel. Since there are \(k\) active users, the channel output after \(n_{1}\) uses is \(\boldsymbol{y}_{1}=\alpha A\boldsymbol{x}+\sigma\boldsymbol{z}\). The vector \(\boldsymbol{x}\) consists of entries in \(\mathbb{Z}_{+}\) (all non-negative integers) and satisfies \(\|\boldsymbol{x}\|_{1}=k\).