Code Design Principles for Ultra-Reliable Random Access with Preassigned Patterns

05/07/2019 ∙ by Christopher Boyd, et al. ∙ Helsingin yliopisto aalto 0

We study medium access control layer random access under the assumption that the receiver can perform successive interference cancellation, without feedback. During recent years, a number of protocols with impressive error performance have been suggested for this channel model. However, the random nature of these protocols causes an error floor which limits their usability when targeting ultra-reliable communications. In very recent works by Paolini et al. and Boyd et. al., it was shown that if each user employs predetermined combinatorial access patterns, this error floor disappears. In this paper, we develop code design criteria for deterministic random access protocols in the ultra-reliability region, and build codes based on these principles. The suggested design methods are supported by simulations.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

We consider contention-based multiple access in a situation where ultra-reliable low latency communication (URLLC) is required. Contention between accessing users makes achieving ultra-reliability particularly challenging. Guaranteeing grant-free access for uncoordinated machine-type users with near certainty necessitates the reconsideration of classical methods from the position of optimising for errors rather than throughput. This entails the design of new coding schemes, exploration of the trade-offs involved, and the acceptance of strict limitations.

Modern variations on classical random access protocols have been recently introduced, including contention resolution diversity slotted ALOHA (CRDSA) [1] and irregular repetition slotted ALOHA (IRSA) [2]. As in classical diversity slotted ALOHA (DSA) [3, 4], these medium access control (MAC) layer techniques consider synchronous communication on the random access channel (RACH) organised into frames of sequential time slots, with users transmitting their access packets along with a number of repetitions inside a frame. The protocols exploit successive interference cancellation (SIC) with repetition coding diversity to improve RACH throughput.

In these protocols, the positions and/or the number of access packet replicas in a frame are selected at random, effectively allowing them to support an infinitely large user population

. However, this randomness guarantees an irreducible error floor caused by a non-zero probability of collisions, which jeopardises ultra-reliability. In 

[5, 6] it was shown that a deterministic code can yield repetition patterns that reduce this error floor significantly, while maintaining a reasonably large (but fixed) population. It was suggested that these codes be designed such that, as long as the number of simultaneously active users is below a given threshold , decoding will always succeed. We denote this property as -interference cancelling or -IC. In [5], this criterion was found through a link between LDPC parity-check matrices and random access code design, originally presented in [2], while in [6] it was discovered through combinatorial reasoning.

In this paper, we design deterministic random access codes for the ultra-reliability region, targeting a packet loss rate less than . We begin by considering simple deterministic variations on CRDSA (D-CRDSA), where the number of repetitions is fixed, and compare them to their original random versions. Such deterministic codes are always -IC, and were considered in [6] with repetition factor . Here, we show that larger code weights might maximise the user population and minimise the packet loss rate.

More complex coding strategies are then considered, that can guarantee -IC for . We first show how the classical LDPC design principles used in [5], avoiding small loops in the graph corresponding to the parity check matrix, leads to RACH codes that can only support small user populations. This result underlines that, while LDPC and RACH code design problems are to some extent equivalent [2], the rate, block length and error probability regions of interest make some of the classical LDPC criteria less effective, or even counter-productive.

We then study how the limitations of LDPC based code design for URLLC can be overcome by using a combinatorial approach. In [6], we suggested the use of superimposed codes [7] as RACH codes that guarantee -IC for . A large class of such codes can be build from Steiner systems. Here, we study Steiner systems as URLLC RACH codes and discuss how their usage differs from how they are classically used in LDPC code design. We also point out the limitations of any approach that is based on superimposed codes.

Finally, we study the trade-off between guaranteed decodability threshold and the supportable user population , in the case where .

Ii System Model

Consider a fixed population of machine-type users, who randomly access the channel resources and transmit an information packet to a central receiver in an uncoordinated and grant-free manner. This occurs during synchronized MAC frames of time slots, each accommodating a single access packet. Users sporadically generate a packet and become active, attempting to transmit it during the next frame interval, along with repetitions arranged according to a codeword or pattern. It is assumed that these patterns may be preallocated to the users, and that each access packet contains pointers to the locations of its replicas. The collection of access patterns can thus be understood as a code consisting of

binary vectors of length

, where 1’s correspond to slots containing a copy of the transmitted packet.

In this paper, we consider a collision channel model, along with a receiver capable of performing perfect successive interference cancellation. This involves the receiver observing an entire frame; decoding any available interference-free packet; obtaining the location of its replicas; removing that users contribution to the frame; and iterating this process as many times as possible. We are interested in -IC access codes, which means that any set of at most distinct codewords can be successfully recovered by the interference cancelling receiver. Ideally, these codes would be designed such that a large population of users may operate in an uncoordinated fashion with some certainty of limited interference. As such, we concentrate on the low activity scenario, where it is probable that the number of active users during a frame is . We analyse the decoding performance of the SIC receiver under Poisson arrivals, where the expected number of users active in a slot is given by the access intensity . The codes are compared with respect to the packet error rate, i.e. the fraction of the total number of transmitted packets that could not be decoded.

Iii CRDSA vs D-CRDSA: the impact of pattern weights

CRDSA is a RACH scheme wherein each active user randomly places some fixed number of repetitions of their access packet into the frame. A surprising result, observed for example in [8], is that such a simple strategy can sometimes outperform more complicated irregular coding schemes in the ultra-reliability region. However, such schemes still suffer from an error floor. The limiting factor in the performance of such codes in the ultra-reliability region is a result of the birthday paradox, i.e. a higher than intuitively expected probability that at least two active users simultaneously generate the same pattern [6].

In [6], we suggested a simple way of avoiding this error floor by using deterministic codes (D-CRDSA), where each user is uniquely allocated a weight access pattern. Such codes always satisfies the -IC condition and can support at maximum of users. From this perspective, CRDSA can be viewed as a method where the active users are randomly choosing their access patterns from the selection of choose patterns, with the possibility that two or more users choose the same pattern. In the paper, the error performance of D-CRDSA and CRDSA with repetition factor was compared, and the superior performance of the deterministic approach was confirmed. However, there is no reason why should be the optimal number of repetitions. Additionally, it is not obvious if the gains observed in [6] would remain considerable when the number of repetitions in D-CRDSA and CRDSA is optimised. Intuitively, if the weight of the patterns is increased, then will also increase, and the effects of the birthday paradox can be expected to diminish along with the gains for D-CRDSA.

Fig. 1: Simulated performance of D-CRDSA (solid) and CRDSA (dashed) in frames of 24 timeslots, under Poisson arrivals, for various uniform weights.

Figure 1 compares the packet decoding failure probabilities of deterministic and random codes of different weights, in access frame of timeslots. It can be observed that D-CRDSA outperforms the corresponding random codes in the ultra-reliability region, as expected. Also of note is that increasing the number of repetitions in D-CRDSA to improves the packet error rate, but beyond that the performance deteriorates. On the other hand, the error performance of CRDSA continues to improve with increasing repetition factor. This can be contributed to the fact that, when and , the effect of birthday paradox begins to fade. However, as the error performance of D-CRDSA is always better or equivalent to that of the corresponding CRDSA [6], we can not improve beyond the performance of D-CRDSA with repetitions in the ultra-reliability region.

Both the error probability region and the frame size affect the optimal number of repetitions for D-CRDSA. As far as we know, there does not yet exist a proper theory for predicting this number. Finally, we note that when using D-CRDSA, in selecting the optimal number of repetitions from an error probability point of view, we also implicitly decide the number of supportable users. In the above example, the optimal repetitions can support users.

Iv Code Design for URLLC RACH

In [6], the most simple deterministic and uniform weight codes were discussed. Here, we consider more developed code designs and compare LDPC based and combinatorial approaches to the problem. Earlier, we saw how the weight of the patterns impacted the performance of RACH codes. However, the crucial difference between D-CRDSA and CRDSA is not related to the weight, but the fact that D-CRDSA codes always satisfy the -IC condition. As suggested in [5, 6], an obvious next step is to find codes that guarantee -IC for .

In [6], we provided the following sufficient and necessary condition for a RACH code to be -IC.

Definition 1 ([6]).

Let us suppose we have a random access code with length binary patterns (vectors), and let us denote by the -binary matrix formed by these vectors. Then, if each sub matrix formed of or less columns of has the property that at least one of its rows has weight one, then guarantees correct decoding as long as there is at most active users.

Remark 1.

This type of combinatorial structure has appeared in the literature elsewhere. In [9], these codes are called -locally thin codes. As we will see, this definition can also be used to describe the stopping sets of a LDPC code. We note also related research concerning non-adaptive collision resolution algorithms [10].

Iv-a RACH codes from classical LDPC designs

It is known that the design of good random access codes and parity-check matrices for LDPC codes are equivalent problems [5]. Matrix in Lemma 1 can be viewed as a parity-check matrix of a LDPC code in a binary erasure channel, and the performance of the LDPC code under iterative decoding is equivalent to that of the corresponding RACH code with a SIC receiver [2]. In LDPC literature it is typical to present matrix as a bi-partiate graph. Using this language, classical LDPC code design suggests that a good code should not have small stopping sets. This condition was also used for RACH code design in  [5]. In the language of Definition 1, if a set of columns of matrix does not satisfy the condition given, these vectors form a stopping set. The -IC condition is met when the smallest stopping set is of size .

A universal design criterion used to build LDPC codes that limit small stopping sets is to construct parity-check matrices that avoid small loops in the corresponding bi-partiate graph [11]. This criterion is based on a result in [12] where it was proven that if the graph does not have small loops, then neither can it have small stopping sets. It was shown that if the parity-check matrix of an LDPC code has columns of weight at least , and the corresponding graph is -loop free, then the smallest stopping set has at least elements. For our purposes, this translates to the corresponding RACH code being at least -IC. However, as the following result shows, the approach of eliminating small loops places strict limitations on the number of possible users for small frames.

Consider access frames of size and random access code with codewords having weight at least and supporting users, whose corresponding graph does not contain -loops. From [12, Prop. 2.1] we have that , which implies that eliminating all loops of size or smaller significantly reduces the number of possible users. For example, when the maximum supportable user population is only . In order to support large numbers of users, a different method of guaranteeing the -IC condition for is required.

The reason for this partial failure of classical LDPC code design methods in small frames is related to the unusual rate region. Consider the matrix in Definition 1. The corresponding LDPC code would have rate at least . For example, if the frame size is and weight D-CRDSA is used, the corresponding LDPC code would have rate at least . This rate region is atypical for error correcting codes. For comparison, in [5] the case of and was considered, leading to a rate region which is still reasonable for classical LDPC methods.

Iv-B RACH codes from superimposed codes

Consider the matrix whose columns are weight binary codewords of length . The no -loops condition can be seen to be equivalent to the condition that any pair of columns (or rows) of the matrix share a on at most one position. This last condition is called the row-column (RC) condition [13] and, as mentioned previously, it guarantees that the code is -IC.

In [6], it was suggested that more general superimposed codes that guarantee -IC could be employed as RACH codes. Using the notation of Definition 1, we have

Definition 2 ([7]).

The set of patterns is a -superimposed code if any matrix formed from columns of has a submatrix consisting of an permutation matrix.

Let us now present some known constructions of superimposed codes and assess their performance as RACH codes. In order to do this, we first move to set theoretical notation. Consider a random access code of frame-size . By forming an index set the code can be seen as a collection of (different) subsets of , where a subset corresponding a binary vector consist of all the elements of , where the vector has . We will denote the corresponding collection of such subsets by . In this notation, superimposed codes can be defined in a set theoretic language.

Definition 3 ([14]).

A collection of sets is -covering free if it satisfies the following condition. Given any subset , there does not exist sets such that

Where .

We now provide a few examples of known superimposed code constructions and contrast them to codes satisfying the RC-condition.

Proposition 1 ([14]).

Let us suppose we have a collection of subsets , each having at least elements and satisfying

when . Then we have that the RACH code corresponding to is -superimposed.

When translated into the language of binary vectors, for we recover the RC-condition. For larger , this condition guarantees that given two codewords, they can have 1’s on at most common positions. When the weight of the codewords is large enough, this condition is sufficient for guaranteeing the -IC property. However, we note that while this condition does guarantee that the corresponding graph does not have small stopping sets, it will typically have -loops when . This simple result enables the use of known combinatorial constructions in code design for the RACH.

Definition 4.

A Steiner system with parameters , written , is an -element set together with a set of -element subsets of S (called blocks) with the property that each -element subset of is contained in exactly one block.

Consider a Steiner system with blocks and . We have that , as otherwise and would have at least elements in common. Together with Proposition 1, this suggests the following.

Corollary 1 ([14]).

Steiner system is -superimposed.

Note that -designs (with ) have been used in LDPC code design, as they guarantee avoiding -loops in the corresponding graph [16]. Designs with have also been used, but they have been modified to also meet the no -loops condition.

The user population supported by -designs is rather limited. For example, Steiner systems and produces -IC codes that support only and users, respectively [15]. However, the more flexible code design principles we have presented here allow for the consideration of other systems of significantly larger size. For example, there exists a Steiner system with elements and Steiner system with elements. According to Corollary 1, these code are still -IC, despite the fact that the corresponding graphs have very large number of -loops. Figure 2 illustrates how a -IC random access code based on Steiner system significantly outperforms D-CRDSA code of all weight codewords and the corresponding CRDSA code in terms of the error rate in the ultra-reliability region. While is limited to only users, it remains a reasonable user population for such small frames (26 timeslots).

Fig. 2: Simulated performance of the Steiner (3,5,26) system as a 3-IC random access code (solid) compared with the equivalent length 2-IC (dashed) and random (dot dashed) codes in frames of 26 timeslots, under Poisson arrivals.

However, already for it becomes difficult to find large superimposed codes. For example, for frames of size , the Steiner system with codewords is the largest we are aware of. A general asymptotic result [17] is that in order to always correctly decode out of possible users, the frames must be of size .

This shows that at most of users may be active when the frame size is . While the cost of additional active users is only in a logarithmic class, having even a modest number of active users forces the use of very large frames. This obviously restricts the usability of superimposed codes in the case of small frames.

We conclude by stating a general code design criterion for uniform weight RACH codes. While we discussed Steiner systems and D-CRDSA codes from the -IC perspective, they also have other properties that make them beneficial as random access codes. These properties may be generalised into the following design principles for URLLC RACH codes. Consider once more the matrix whose columns are the codewords of code . We require that

  • Each column has weight .

  • Each row has weight .

  • Given two columns, they have 1 in at most common positions.

This set of conditions is clearly a relaxation of the classical LDPC code design principle, where in the third condition.

Remark 2.

Access patterns based on Steiner system were already used in [18] by a subset of the authors of this paper, but without theoretical background. The simulations there were performed in a factory environment assuming fading channel conditions and access points.

V Lower bound on the supportable user population for -IC RACH codes

The aforementioned RACH codes which satisfied the -IC condition could only support relatively small user populations. Here, we consider the problem of finding -IC RACH codes in size frames that support the maximum number of users . Let denote the size of such a code. For example, , because we can choose the patterns and it is not possible to construct a code with more patterns.

This can be seen as a combinatorial optimization problem where the maximum-size set of patterns of length

that does not contain any forbidden triplet, i.e., a subset of three patterns where no position has weight one, is sought. For example, is a forbidden triplet. Since the problem of finding a maximum-size subset with no forbidden subsets is equivalent to the NP-hard maximum set cover problem, an efficient algorithm is unlikely to exist and we restrict ourselves to -IC codes instead of general -IC codes.

1 2 3 4 5 6 7 8 9 10
1 2 4 7 11 18 28 44 67 102
TABLE I: Bounds for -IC RACH codes.

Table I includes bounds for for . The values for are exact, but only lower bounds are known for larger values of . While the values for can be determined using a simple backtracking algorithm, the problem becomes much more difficult for larger values of . To discover the codes for and , we used a search algorithm that prunes the search tree by exploiting symmetries in codes. More precisely, we only considered codes where the set of patterns with weight one and two is lexicographically minimal when it is allowed to permute rows and columns.

We noticed that maximum-size codes for can also be generated using the following construction: To create a code for size frame, take a code with slots and for each pattern in that code, add patterns , and to the new code. In addition, add patterns , and where is a zero pattern of length . Finally, add an additional set of patterns of the form where is a pattern of length . There are many ways to choose the last set of patterns; we can always at least include the pattern where is a zero pattern. This construction is an extended version of the Busschbach construction [19] (described in [20]) that only adds patterns , and to the code. Our construction yields bounds , and . However, for , we found a larger code with patterns using our search algorithm.

Given a code for size frame and users, our construction creates a code for size frame and users where is the number of patterns in the last set. Since is always at least one, the construction shows that . This is a small improvement over the earlier Busschbach construction which shows that . In practice, can be larger than one. For example, to create the codes with sizes and , we could add and additional patterns, respectively. However, we do not know how to determine the maximum value of .

As far as we know, at least for small frame sizes these codes are the largest known. However, the suggested codes are not always good RACH codes as the weight distributions of the codes are strongly fluctuating. A natural next step would be to modify (or prune) these codes so that the weights of the corresponding codewords would be roughly equal.


This work was funded in part by the Academy of Finland (grant 299916) and EIT ICT (HII:ACTIVE).


  • [1] E. Casini, R. D. Gaudenzi, and O. del Rio Herrero, “Contention Resolution Diversity Slotted ALOHA (CRDSA): An Enhanced Random Access Scheme for Satellite Access Packet Networks,” IEEE Trans. Wireless Comm., vol. 6, no. 4, pp. 1408–1419, Apr. 2007.
  • [2] G. Liva, “Graph-Based Analysis and Optimization of Contention Resolution Diversity Slotted ALOHA,” IEEE Trans. Comm., vol. 59, no. 2, pp. 477–487, Feb. 2011.
  • [3] L. G. Roberts, “ALOHA Packet System With and Without Slots and Capture,” SIGCOMM Comput. Comm. Rev., vol. 5, no. 2, pp. 28–42, Apr. 1975.
  • [4] G. Choudhury and S. Rappaport, “Diversity ALOHA - A Random Access Scheme for Satellite Communications,” IEEE Trans. Comm., vol. 31, no. 3, pp. 450–457, Mar. 1983.
  • [5] E. Paolini, G. Liva, and A. G. i Amat, “A Structured Irregular Repetition Slotted ALOHA Scheme with Low Error Floors,” in Proc. Int. Conf. on Comm., May 2017, pp. 1–6.
  • [6] C. Boyd, R. Vehkalahti and O. Tirkkonen, “Interference Cancelling Codes for Ultra-Reliable Random Access,” Int. J. Wireless Inf. Networks, vol. 25, pp. 422–433, Dec. 2018.
  • [7] W. H. Kautz and R. C. Singleton, “Nonrandom Binary Superimposed Codes,” IEEE Trans. Inf. Theory, vol. 10, no. 4, pp. 363–377, Oct. 1964.
  • [8] A. Graell i Amat and G. Liva, “Finite-Length Analysis of Irregular Repetition Slotted ALOHA in the Waterfall Region,” IEEE Comm. Lett., vol. 22, no. 5, pp. 886–889, May 2018.
  • [9] M. Csűrös and M. Ruszinkó, “Single-User Tracing and Disjointly Superimposed Codes,” IEEE Trans. Inf. Theory, vol. 51, no. 4, pp. 1606–1611, Apr. 2005.
  • [10] J. Komlos and A. Greenberg, “An Asymptotically Fast Nonadaptive Algorithm for Conflict Resolution in Multiple-Access Channels,” IEEE Trans. Inf. Theory, vol. 31, no. 2, pp. 302–306, Mar. 1985.
  • [11] C. Di, D. Proietti, I. E. Telatar, T. Richardson, and R. Urbanke, “Finite-Length Analysis of Low-Density Parity-Check Codes on the Binary Erasure Channel,” IEEE Trans. Inf. Theory, vol. 48, no. 6, pp. 1570–1579, June 2002.
  • [12] S. Neuwirth, “The Size of Bipartite Graphs with Girth Eight,” ArXiv Mathematics e-prints, Feb. 2001.
  • [13] R. G. Gallager, “Low Density Parity-Check Codes,” IRE Trans. Inf. Theory, vol. IT-8, p. 21–28, Jan. 1962.
  • [14] P. Erdos, P. Frankl, and Z. Furedi, “Families of Finite Sets in which No Set Is Covered by the Union of Others,” Israel Journal of Math, vol. 51, no. 1-2, pp. 75–89, Dec. 1985.
  • [15] C. J. Colbourn and J. H. Dinitz, The CRC Handbook of Combinatorial Designs, CRC Press, 1996.
  • [16] B. Vasic and O. Milenkovic, “Combinatorial construction of low density parity check codes for iterative decoding,” IEEE Trans. Inf. Theory, vol. 50, no. 6, pp. 1156–1176, Jun. 2004.
  • [17] A. G. Dyachkov and V. V. Rykov, “Bounds on the Length of Disjunctive Codess,” Problemy Peredachi Informatsii, vol. 18, no. 3, pp. 7–13, 1983.
  • [18] C. Boyd, R. Vehkalahti and O. Tirkkonen, “Grant-Free Access in URLLC with Combinatorial Codes and Interference Cancellation”, in Proc. IEEE Global Comm. Conf., Dec. 2018.
  • [19] P. Busschbach, “Constructive methods to solve problems of s-surjectivity, conflict resolution, coding in defective memories”, Rapport Interne ENST 84 D005, Dec. 1984.
  • [20] G. D. Cohen, “Applications of coding theory to communication combinatorial problems”, Discr. Math., vol. 83, pp. 237–248, Aug. 1990.