This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

New Upper Bounds on the Error Probability under ML Decoding for Spinal Codes and the Joint Transmission-Decoding System Design

Aimin Li ID , Graduate Student Member, IEEE, Shaohua Wu ID , Member, IEEE, Jian Jiao ID , Member, IEEE, Ning Zhang ID , Senior Member, IEEE, and Qinyu Zhang ID , Senior Member, IEEE. A. Li, S. Wu, J. Jiao and Q. Zhang are with the Department of Electronic Engineering, Harbin Institute of Technology (Shenzhen), Guangdong, China. N. Zhang is with the Department of Electrical and Computer Engineering, University of Windsor, Windsor, ON, N9B 3P4, Canada (e-mail: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]).
Abstract

Spinal codes are a type of capacity-achieving rateless codes that have been proved to approach the Shannon capacity over the additive white Gaussian noise (AWGN) channel and the binary symmetric channel (BSC). In this paper, we aim to analyze the bounds on the error probability of Spinal codes and design a joint transmission-decoding system. First, in the finite block-length regime, we derive new upper bounds on the Maximum Likelihood (ML) decoding error probability for Spinal codes over both the AWGN channel and the BSC. Then, based on the derived bounds, we formulate a rate maximization problem. As the solution exhibits an incremental-tail-transmission pattern, we propose an improved transmission scheme, referred to as the thresholded incremental tail transmission (TITT) scheme. Moreover, we also develop a dynamic TITT-matching decoding algorithm, called the bubble decoding with memory (BD-M) algorithm, to reduce the decoding time complexity. The TITT scheme at the transmitter and the BD-M algorithm at the receiver jointly constitute a dynamic transmission-decoding system for Spinal code, improving its rate performance and decoding throughput. Theoretical analysis and simulation results are provided to verify the superiority of the derived bounds and the proposed joint transmission-decoding system design.

Index Terms:
Spinal codes, performance bounds, decoding error probability, ML decoding, rate optimization, transmission-decoding system design, low-complexity decoding, upper bounds, rateless codes.

I Introduction

I-A Background

First proposed by Perry et al. in [1], Spinal codes are a new type of near-Shannon-capacity channel coding techniques that have been theoretically proved to achieve the Shannon capacity over both the additive white Gaussian noise (AWGN) channel and the binary symmetric channel (BSC) [2]. The core idea in this code is applying a sequential of hash functions combing with the random number generators (RNGs) to generate pseudo-random coded symbols: the hash functions provide the coded symbols with the pairwise independent feature, which thereby ensures good resilience to noise and errors; the RNGs inherit from the idea of Shannon random coding, which can generate pseudo-random coded symbols as much as possible to cope with the time-varying channel by nature. Spinal code draws its strength from the excellent code rate performance. It has been shown in [3] that rateless Spinal codes exhibit superiority in rate performance when compared to fixed-rate LDPC codes [4], rateless Raptor codes [5], and the layered rateless coding approach [6] of Strider codes [7], across various channel conditions and message sizes.

In addition to the capacity-approaching code rate performance, a more attractive feature for Spinal codes is that Spinal codes are also a family of rateless codes. Different from conventional fixed-rate codes that should dynamically pre-define the “bit rate”, i.e., a modulation mode, channel code, and code rate, Spinal codes transmit coded symbols in a rateless mode. By rateless transmission, Spinal codes do not need to frequently estimate the time-varying channel state to dynamically adjust the code rate and the modulation mode. Instead, they keep generating and transmitting pseudo-random coded symbols until the transmitted symbols are sufficient for the decoder to decode successfully and an acknowledgment (ACK) is fed back to the transmitter to interrupt the transmission. By this means, Spinal codes themselves are a type of advanced adaptive coding modulation technique, which enables adaptive parameter selection to ensure reliable and efficient end-to-end communication.

I-B Literature Review

Attributed to the near-Shannon-capacity characteristic and the rateless feature, Spinal codes have aroused extensive research interest in both performance optimization and theoretical analysis. One of the most popular and open challenges in facilitating Spinal codes from theory to practice is to design a practical low-complexity decoding algorithm for Spinal codes. Formally, such a challenge exists due to the high-frequency use of hash functions and the multiple rounds of tentative decoding. To circumvent this problem, traditionally, the tree pruning strategies have been extensively explored to design the low-complexity decoding algorithms [1, 9, 10, 11]. In [3], the proposed bubble decoding algorithm is the initial practical decoding algorithm customized for Spinal codes. Then, inspired by the tree-structure feature of Spinal codes, Yang et al. introduce the forward stack decoding (FSD) algorithm, which was first proposed in [8], to implement the decoding process of Spinal codes [9]. By such an implementation, the FSD algorithm showcases much lower decoding time complexity compared to the bubble decoding algorithm without sacrificing rate performance. In [10], the proposed sliding window decoding (SFD) algorithm further reap benefits in much lower decoding time complexity compared to the FSD algorithm. A trade-off between decoding efficiency and decoding reliability is also investigated. In [11], Hu et al. introduces several dynamic parameters in the decoding process Spinal codes. The proposed algorithm, referred to as the block dynamic decoding (BBD) algorithm, also demonstrates superior performance in both the decoding complexity and the decoding error probability. Nevertheless, we notice that the above works mainly focus on designing the pruning strategy to eliminate the calculation required in a single decoding round. For rateless Spinal codes, the transmission and decoding process are both consecutive and not unique. In this regard, we would like to pay attention to investigating the dynamic changes of the decoding tree between adjacent decoding rounds of rateless Spinal codes.

Puncturing on the coded symbols is a commonly adopted transmission design to improve the rate performance of channel coding techniques. In [12], coding schemes that can be punctured to adapt to time-varying channels are known as rate-compatible codes. As the redundant symbols are punctured, the code rate increases by nature. As such, the puncturing technique has drawn extensive interest in the literature, such as punctured LDPC codes [15, 13, 14], punctured Turbo codes [16], and punctured Polar codes [17, 18]. For rateless Spinal codes, uniform puncturing is one of the most commonly used puncturing schemes, where the coarse-grained transmission unit, pass, is refined into some finer-grained sub-passes, and the transmitter only transmits a single symbol in a sub-pass [3]. In [19], uniform puncturing is also adopted in the proposed S-Spinal codes to achieve finer granularity for compression purposes. However, the uniform puncturing implementation is only a general-purpose puncturing method that has been applied extensively in rateless coded systems[20]. In such a case, the puncturing scheme that customizes the unique properties of Spinal codes is expected to be designed.

Performance evaluation of channel codes is another important work in understanding the essence of a coding technique. In addition to Monte Carlo simulations, which require amounts of repeated calculations, the bounding technique is a more straightforward method to evaluate the performance of a coding technique111In most of the cases, to derive the exact closed-form expression to evaluate the performance of a near-Shannon-limit coding technique is intractable, and thus to derive the bound is an alternative.. The recent focus given to the performance bounds of codes is on some near-Shannon-limit performing codes, ranging from the performance bounds on LDPC codes [21, 22], to other advanced tight bounds on Turbo codes[23, 24, 25], and Polar codes[26, 27]. However, for Spinal codes, which are a new family of near-Shannon-capacity codes, the theoretical performance analysis is still in its infancy. One of the first works devoted to the performance of Spinal codes is that of Yu et al.[28], wherein the tree structure of Spinal codes is considered, and some general bounding techniques on pairwise independent random codes, i.e., the Random Coding Union (RCU) bound and a variant of Gallager’s result, are introduced as cores to obtain the closed-form upper bounds on the error probability of Spinal codes. Nevertheless, we notice that derived upper bounds are not customized for Spinal codes, but play as applications of the RCU bound and Gallager’s result. In this regard, the bounds on the error probability exhibit loose performance (see Section VI). In our previous work [29], we analyze the upper bound on the error probability of Spinal codes over the BSC. However, the derived upper bound in [29] remains several static parameters obtained through simulation implementations. Therefore, the bounds in [29] and are not completely explicit. To this end, we would like to derive explicit upper bounds on the error probability of Spinal codes. Instead of taking the general upper bounds of pairwise independent random codes as cores, we consider the coding, decoding and transmission process of Spinal codes in detail to derive the upper bounds on the error probability for Spinal codes in the FBL regime.

I-C Contributions

Motivated by the above, the main contributions of this work are summarized as follows. We begin with deriving the upper bounds on the error probability of ML-decoded Spinal codes over both the BSC and the AWGN channel under the finite block-length (FBL) regime. The derivation leads to the closed-form upper bounds shown in Section III, and demonstrate tighter performance at high SNRs as shown in Section VI. Then, based on the derived closed-form upper bounds, we formulate a rate maximization problem and correspondingly design a customized iterative algorithm to solve it. Notice that the optimal solution to this problem forms an incremental-tail-transmission pattern; heuristically, we propose the thresholded incremental tail transmission (TITT) scheme for Spinal codes. Furthermore, to address the high decoding complexity issue at the receiver, we investigate the dynamic changes of the decoding tree between adjacent decoding tentatives and show that only parts of the decoding tree change during the consecutive decoding process, and thus the tree reconstruction of the unchanged parts can be skipped. To this end, we find that most of the available decoding algorithms for Spinal codes in the literature can be improved by simply introducing an extra memory to restore the unchanged parts of the decoding tree. For the experimental purpose, we take the most commonly used bubble decoding algorithm as an example, and design a bubble-decoding-based dynamic decoding algorithm, referred to as the bubble decoding with memory (BD-M). By combing the proposed TITT scheme at the transmitter with the BD-M algorithm at the receiver, we further observe that the BD-M algorithm can match perfectly with the tail-incremental-transmission property of the TITT scheme, enjoying both higher rate performance and lower decoding complexity.

I-D Organization

The rest of this paper is organized as follows. Section II introduces the preliminaries of Spinal codes. In Section III, the new upper bounds on the error probability of ML-decoded Spinal codes are derived. The details of the transmission scheme design are presented in Section IV. In Section V, the details of the BD-M algorithm and its complexity analysis are presented. In Section VI, simulation results are provided, followed by conclusions in Section VII.

II Preliminaries

II-A Encoding Process of Spinal Codes

Refer to caption
Figure 1: The encoding process of Spinal codes.

As shown in Fig. 1, the encoding process of Spinal codes can be accomplished in four steps:

  1. 1.

    An nn-bit message MM is divided into kk-bit segments, denoted by mim_{i}, where i=1,2,,n/ki=1,2,\ldots,n/k.

  2. 2.

    An iterative process is invoked to generate the series of vv-bit spine values si{s_{i}}:

    si=h(si1,mi),i=1,,n/k,s0=0v.{s_{i}}={\rm{}}h({s_{i-1}},{\rm{}}{m_{i}}),i=1,\ldots,n/k,s_{0}=0^{v}. (1)
  3. 3.

    The vv-bit spine value si{s_{i}} serves as a seed of an RNG to generate a pseudo-random uniform-distributed sequence {xi,j}\left\{{x_{i,j}}\right\}:

    RNG:si{xi,j},j=1,2,3,,{\rm{RNG:}}{s_{i}}\mathop{\to}\left\{{x_{i,j}}\right\},j=1,2,3,\cdots, (2)

    where xi,j{0,1}c{x_{i,j}}\in{\left\{{0{\rm{,}}1}\right\}^{c}}, si{0,1}v{s_{i}}\in{\left\{{0{\rm{,}}1}\right\}^{v}}.

  4. 4.

    The constellation mapper maps each c-bit symbol to a channel input set Ω\Omega:

    f:xi,jΩ,{\operatorname{f}:{x_{i,j}}\mathop{\to}\Omega,} (3)

    where f\operatorname{f} is a constellation mapping function and Ω{\Omega} denotes the channel input set. In this paper, we consider the uniform constellation mapper, where f\operatorname{f} converts each cc-bit symbol xi,jx_{i,j} to a decimal symbol f(xi,j)\operatorname{f}\left(x_{i,j}\right).

Remark 1.

As Perry et al. indicates, the hash function employed by Spinal codes should have pairwise independent property: [3]

(h(s,m)=x,h(s,m)=x)=(h(s,m)=x)(h(s,m)=x)=22v,\begin{array}[]{l}\mathbb{P}\left(h\left(s,m\right)=x,h\left(s^{\prime},m^{\prime}\right)=x^{\prime}\right)\\ =\mathbb{P}\left(h\left(s,m\right)=x\right)\cdot\mathbb{P}\left(h\left(s^{\prime},m^{\prime}\right)=x^{\prime}\right)\\ =2^{-2v},\end{array} (4)

where (s,m)\left(s,m\right) and (s,m)\left(s^{\prime},m^{\prime}\right) are two different inputs of the hash function.

II-B Rateless Transmission

The original transmission scheme for Spinal codes is a pass-by-pass transmission scheme. Denote Xj=[f(x1,j),f(x2,j),,f(xn/k,j)]{\textbf{X}_{j}}=[\operatorname{f}\left(x_{1,j}\right),\operatorname{f}\left(x_{2,j}\right),\ldots,\operatorname{f}\left(x_{n/k,j}\right)] as the jthj^{\rm th} pass of coded symbols. The conventional pass-by-pass transmission scheme will form a transmission process of XjXj+1Xj+2{\textbf{X}_{j}}\to{\textbf{X}_{j+1}}\to{\textbf{X}_{j+2}}\to\cdots. This transmission process ends only when the number of received symbols is enough for successful decoding and an ACK is sent to interrupt the transmission. Note that correct decoding may be completed in any round of transmission, the cumulative transmitted symbols before correct decoding must be a multiple of n/kn/k, belonging to the set {in/k|i+}\left\{in/k|i\in\mathbb{Z}^{+}\right\}.

In [3], the authors propose a uniform-puncturing-based transmission scheme for Spinal codes. Instead of transmitting Spinal codes pass by pass, the uniform-puncturing-based transmission scheme transmits Spinal codes in a symbol by symbol pattern. By this means, the cumulative transmitted symbols before correct decoding belongs to a finer set {i|i+}\left\{i|i\in\mathbb{Z}^{+}\right\}. Take a typical (n,k)(n,k) Spinal codes as an example. Let 𝐠=[g1,g2,,gn/k]{\bf g}=[g_{1},g_{2},\ldots,g_{n/k}] denote the transmission order of the symbols. The uniform-puncturing-based transmission scheme forms a transmission process of f(xg1,j)f(xg2,j)f(xgn/k,j)f(xg1,j+1)f(xg2,j+1)\operatorname{f}\left(x_{g_{1},j}\right)\to\operatorname{f}\left(x_{g_{2},j}\right)\to\cdots\to\operatorname{f}\left(x_{g_{n/k},j}\right)\to\operatorname{f}\left(x_{g_{1},j+1}\right)\to\operatorname{f}\left(x_{g_{2},j+1}\right)\to\cdots. The transmitter will continue the transmission process until an ACK is received.

For the uniform-puncturing-based transmission scheme, the punctured redundant symbols are from the last pass of transmission. For example, assuming that only in/k+1in/k+1 symbols need to be sent for successful decoding of uniform-puncturing-based transmission scheme, then under the same condition, the traditional pass-by-pass transmission scheme needs to send additional n/k1n/k-1 symbols in the i+1{i+1} pass to decode correctly since its transmission unit is pass. Compared with the traditional pass-by-pass transmission scheme, the uniform-puncturing-based transmission scheme punctured out n/k1n/k-1 symbols, thus improving the rate performance of Spinal codes. To conclude, the uniform-puncturing-based transmission scheme reduces the transmission of redundant symbols in the last pass and improves the code rate of Spinal codes by refining the unit of each transmission from the coarse-grained pass to the finer-grained symbol.

Although the uniform-puncturing-based transmission scheme indeed improves the rate performance of Spinal codes, there are still some shortcomings that can be improved. First, the uniform-puncturing-based transmission scheme needs to completely transmit a whole pass of symbols before continuing to transmit the subsequent pass, which limits its puncturing coverage to the last transmitted pass only. A more flexible transmission scheme without this limitation has yet to be proposed. Second, the symbol-by-symbol transmission pattern increases the decoding attempts at the receiver and thus reduces the decoding throughput of Spinal codes. To resolve this issue, we design a dynamic decoding framework for Spinal codes. The proposed decoder can dynamically store the decoding information in each decoding process and utilize it to assist subsequent decoding.

II-C Decoding Process of Spinal Codes

For Spinal codes over the AWGN channel, the optimal decoding algorithm is maximum likelihood (ML) decoding. In ML decoding, the decoder adopts the shared knowledge of the same hash function, the same initial spine value s0s_{0} and the same RNG to replay the coding process over the set of received symbols. By adopting the shared knowledge, the decoder aims to find the best matching sequence M^{0,1}n\hat{M}\in{\left\{{0,1}\right\}^{n}} whose coded vector x(M^)\textbf{x}(\hat{M}) is closest to the received vector y in Euclidean distance.

For conventional pass-by-pass transmission scheme, let LL denote the number of transmitted passes for Spinal codes, the ML decoding rule can be expressed as:

M^=argminM{0,1}nyx(M)2=argminM{0,1}ni=1n/kj=1L(yi,jf(xi,j(M)))2,\hat{M}=\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\|\textbf{y}-\textbf{x}(M^{\prime})\|^{2}=\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\sum_{i=1}^{n/k}\sum_{j=1}^{L}({y}_{i,j}-\operatorname{f}\left({x}_{i,j}({M}^{\prime})\right))^{2}, (5)

where M^\hat{M} is the decoding result, MM^{\prime} represents the candidate sequence.

For puncturing symbol-by-symbol transmission scheme, let i\ell_{i} denote the number of transmitted symbols generated from the ithi^{\rm th} spine value sis_{i}, the ML decoding rule should be slightly

M^=argminM{0,1}nyx(M)2=argminM{0,1}ni=1n/kj=1i(yi,jf(xi,j(M)))2.\hat{M}=\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\|\textbf{y}-\textbf{x}(M^{\prime})\|^{2}\\ =\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\sum_{i=1}^{n/k}\sum_{j=1}^{\ell_{i}}({y}_{i,j}-\operatorname{f}\left({x}_{i,j}({M}^{\prime}\right)))^{2}. (6)

For the BSC, the only difference is that the Euclidean distance should be replaced with Hamming distance.

However, traversing all candidate sequences MM^{\prime} results in an exponential increase in complexity. The serial coding structure of Spinal codes determines that Spinal codes are a type of tree code. As a result, the bubble decoding algorithm proposed in [3] can be applied to decrease the decoding complexity. Instead of searching the entire decoding tree, a bubble decoder calculates the cost CλC_{\lambda} for the nodes at each layer and sorts them to retain only the BB best candidate nodes with the lowest cost at each layer. The reserved nodes are then expanded to B2kB2^{k} child nodes. This repeats until the bubble decoder ends up with a list of BB messages at the last layer, from which the best one is selected as the decoding output. The cost at each layer can be calculated as:

Cλ=i=1λj=1iyi,jf(xi,j(M))2,\begin{split}C_{\lambda}=\sum_{i=1}^{\lambda}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}-\operatorname{f}({x}_{i,j}({M}^{\prime}))\|^{2},\end{split} (7)

where λ\lambda denotes the currently expanded number of layers.

III Upper bounds on the error Probability

III-A Upper Bounds Based on General Bounding Techniques

Here we simply review the upper bounds obtained in [28], where the authors have derived the upper bounds on the error probability of ML decoding for Spinal codes over the AWGN channel and the BSC, respectively.

III-A1 The Bound Based on Gallager’s Result

Theorem 1.

(The upper bound on the error probability over the AWGN channel [28]) Consider Spinal codes with message length nn and segmentation parameter kk transmitted over an AWGN channel with noise variance σ2\sigma^{2}. Let LL be the number of transmitted passes. The average error probability under ML decoding can be upper bounded by

Pe1a=1n/k(1ϵA(La,Ua)),P_{e}\leq 1-\prod_{a=1}^{n/k}(1-\epsilon_{A}(L_{a},U_{a})), (8)

with

ϵA(La,Ua)=2La(Eo(𝒬)logUaLa),\epsilon_{A}(L_{a},U_{a})=2^{-L_{a}(E_{o}(\mathcal{Q})-\frac{\log U_{a}}{L_{a}})}, (8a)

where La=L(n/ka+1)L_{a}=L(n/k-a+1), Ua=2k(n/ka+1)U_{a}=2^{k(n/k-a+1)}, 𝒬\mathcal{Q} denotes the probability distribution of the channel input and

E0(𝒬)=log2{12πσ2×(xΩ𝒬(x)exp((yx)24σ2))2𝑑y}.E_{0}\left(\mathcal{Q}\right)=-\log_{2}\left\{\frac{1}{\sqrt{2\pi\sigma^{2}}}\times\int_{\mathbb{R}}{\left(\sum_{x\in\Omega}\mathcal{Q}\left(x\right)\cdot\exp\left(-\frac{\left(y-x\right)^{2}}{4\sigma^{2}}\right)\right)^{2}dy}\right\}. (8b)

The core of Theorem 1 is to apply a general bounding technique developed by Gallager’s result in [30]. That is Pe2La(E0(𝒬)R){P_{e}}\leq{2^{-L_{a}\left({{E_{0}}\left(\mathcal{Q}\right)-R}\right)}}, where R=n/LaR=n/L_{a} represents the code rate. In this regard, Eq. (8a) is obtained to evaluate the error upper bound on Spinal codes.

Note that [28] neglects the specific approach to evaluate the right-hand side (RHS) of Eq. (8b) for Spinal codes, we also complemented a detailed approach to calculate it in Appendix A.

III-A2 The Bound Based on RCU Bound

Theorem 2.

(The upper bound on the error probability over the BSC [28]) Consider Spinal codes with message length nn and segmentation parameter kk transmitted over a BSC with crossover probability ff. Let LL be the number of passes the receiver has received. The average error probability under ML decoding can be upper bounded by

Pe1a=1n/k(1ϵB(La,Ua)),P_{e}\leq 1-\prod_{a=1}^{n/k}(1-\epsilon_{B}(L_{a},U_{a})), (9)

with

ϵB(La,Ua)=d=0La{(Lad)fd(1f)Lad×min[1,(Ua1)t=0d(Lat)2La]},\epsilon_{B}(L_{a},U_{a})=\sum_{d=0}^{L_{a}}\left\{\tbinom{L_{a}}{d}f^{d}\left(1-f\right)^{L_{a}-d}\times\min\left[1,\left(U_{a}-1\right)\sum_{t=0}^{d}\tbinom{L_{a}}{t}2^{-L_{a}}\right]\right\}, (9a)

where La=L(n/ka+1)L_{a}=L(n/k-a+1), Ua=2k(n/ka+1)U_{a}=2^{k(n/k-a+1)}.

Theorem 2 utilizes the RCU bound to evaluate the performance of Spinal codes over the BSC. First proposed in [31], RCU bound is a significant general bounding technique that requires the property of pairwise independent property. As Spinal codes are also a type of pairwise independent random codes, the RCU bound is introduced to obtain Eq. (9a), thereby leading to the upper bound on the error probability of Spinal codes.

III-B A New Upper Bound over the AWGN Channel

Different from the analysis in [28], which investigates the performance of Spinal codes by introducing general bounding techniques on random codes, we pay attention to Spinal code itself to obtain the new characterized upper bounds. Specifically, we systematically consider the coding structure, the decoding rule and the pairwise independent property of Spinal codes to conduct performance analysis for Spinal codes.

Theorem 3.

(The new upper bound on the error probability over the AWGN channel) Consider Spinal codes with message length nn, segmentation parameter kk and modulation parameter cc transmitted over an AWGN channel with noise variance σ2\sigma^{2}. The average error probability under ML decoding can be upper bounded by

Pe1a=1n/k(1min{1,Ra}),P_{e}\leq 1-\prod_{a=1}^{n/k}(1-\min\left\{{1,R_{a}}\right\}), (10)

with

Ra=(2k1)2nakπLa/2LaΓ(1+La2)(0𝒟r2La1er22σ2𝑑r(2c1)LaΓ(1+La2)(2σ2)La+𝒟rLa1er22σ2𝑑r(2πσ2)La),R_{a}=\left({{2^{k}}-1}\right){2^{n-ak}}\frac{{{{\pi}^{{L_{a}}/2}}}{L_{a}}}{{\Gamma\left({1+\frac{{{L_{a}}}}{2}}\right)}}\left({\frac{{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}}{{{{\left({{2^{c}}-1}\right)}^{{L_{a}}}}\Gamma\left({1+\frac{{{L_{a}}}}{2}}\right){{\left({\sqrt{2{\sigma^{2}}}}\right)}^{{L_{a}}}}}}+\frac{{\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{{L_{a}}}}}}}\right), (10a)
𝒟=(2c1)Γ(1+La/2)1/Laπ,\mathcal{D}=\frac{{\left({{2^{c}}-1}\right)\Gamma{{\left({1+{L_{a}}/2}\right)}^{1/{L_{a}}}}}}{{\sqrt{\pi}}}, (10b)
La=i=an/ki,L_{a}={\sum\limits_{i=a}^{n/k}{{\ell_{i}}}}, (10c)

where Γ()\Gamma(\cdot) denotes the Gamma function, and i\ell_{i} is the number of transmitted symbols generated from the spine value sis_{i}.

Note that the right-hand side (RHS) of (10a) can be immediately calculated by solving the integrals 0𝒟r2La1er22σ2𝑑r{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr} and 𝒟rLa1er22σ2𝑑r{\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}:

Lemma 1.

0𝒟r2La1er22σ2𝑑r{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}.
Let ij=1i2(Laj)\mathcal{I}_{i}\triangleq\prod\limits_{j=1}^{i}{2\left({L_{a}-j}\right)}, the integral is calculated by:

0𝒟r2La1er22σ2𝑑r=σ2La(e𝒟22σ2i=1La𝒟2(Lai)σ2(Lai)i1+La1).{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}={\sigma^{2L_{a}}}\left({-{e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{L_{a}}{\frac{{{\mathcal{D}^{2\left({L_{a}-i}\right)}}}}{{{\sigma^{2\left({L_{a}-i}\right)}}}}}\mathcal{I}_{i-1}+\mathcal{I}_{L_{a}-1}}\right). (11)
Proof.

Please See Appendix B. ∎

Lemma 2.

𝒟rLa1er22σ2𝑑r{\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}.
Let 𝒦ij=1i(La2j)\mathcal{K}_{i}\triangleq\prod\limits_{j=1}^{i}{\left({L_{a}-2j}\right)}, the integral is calculated by:

𝒟rLa1er22σ2𝑑r={σLae𝒟22σ2i=1La/2𝒟(La2i)σ(La2i)𝒦i1,if La is evenσLa(2πQ(𝒟/σ)𝒦(La3)/2+e𝒟22σ2i=1(La1)/2𝒟La2iσLa2i𝒦i1),if La is odd.{\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}=\left\{\begin{array}[]{*{20}{c}}{{\sigma^{L_{a}}}{e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{{L_{a}}/2}{\frac{{{\mathcal{D}^{\left({{L_{a}}-2i}\right)}}}}{{{\sigma^{\left({{L_{a}}-2i}\right)}}}}}\mathcal{K}_{i-1}},&\text{if }L_{a}\text{ is even}\\ {{\sigma^{L_{a}}}\left({\sqrt{2\pi}Q\left({\mathcal{D}/\sigma}\right)\mathcal{K}_{\left(L_{a}-3\right)/2}+{e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{\left({{L_{a}}-1}\right)/2}{\frac{{{\mathcal{D}^{{L_{a}}-2i}}}}{{{\sigma^{{L_{a}}-2i}}}}}\mathcal{K}_{i-1}}\right)},&\text{if }L_{a}\text{ is odd}\end{array}\right.. (12)

where Q()Q\left(\cdot\right) is the QQ function defined as Q(x)x+12πet22𝑑tQ\left(x\right)\triangleq\int_{x}^{+\infty}{\frac{1}{{\sqrt{2\pi}}}}{e^{-\frac{{{t^{2}}}}{2}}}dt.

Proof.

Please See Appendix C. ∎

The proof of Theorem 3 is given as follows:

Proof.

Suppose message M=(m1,m2,mn/k){0,1}nM=\left({{m_{1}},{m_{2}}\ldots,{m_{n/k}}}\right)\in\left\{0,1\right\}^{n} is encoded to Spinal code words f(xi,j(M))\operatorname{f}\left({x}_{i,j}\left(M\right)\right) to be transmitted through an AWGN channel. Let yi,jy_{i,j} denote the corresponding received symbol at the receiver, and denote ni,jn_{i,j} as the AWGN with variance σ2\sigma^{2}. The received symbol yi,jy_{i,j} is:

yi,j=f(xi,j(M))+ni,j.{y_{i,j}}=\operatorname{f}\left(x_{i,j}(M)\right){\rm{+}}{n_{i,j}}. (13)

The ML decoding process is to select the one with the lowest decoding cost from the candidate sequence space {0,1}n\left\{0,1\right\}^{n}. In this regard, we simply divide the candidate sequence space into two categories: ii) the correct decoding sequence, i.e., MM; iiii) the wrong decoding sequences M=(m1,m2,mn/k)𝒲M^{\prime}=\left({{m^{\prime}_{1}},{m^{\prime}_{2}}\ldots,{m^{\prime}_{n/k}}}\right)\in\mathcal{W}, which are not unique and will form a set 𝒲\mathcal{W}. The core idea of the ML decoding process is to distinguish theses two categories by their decoding costs. Thus, we begin with analyzing the decoding costs of them.

The cost of the correct decoding sequence MM is defined as D(M)D\left(M\right), calculated by

D(M)i=1n/kj=1i(yi,jf(xi,j(M))=2i=1n/kj=1ini,j2.D(M)\triangleq\sum\limits_{i=1}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{({y_{i,j}}}}-\operatorname{f}\left({{x_{i,j}}\left({M}\right)}\right){{}^{2}}\\ =\sum\limits_{i=1}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{{n^{2}_{i,j}}}}. (14)

Similarly, the cost of a wrong decoding sequence M𝒲M^{\prime}\in\mathcal{W} is defined as D(M)D\left(M^{\prime}\right):

D(M)i=1n/kj=1i(yi,jf(xi,j(M)).2D\left(M^{\prime}\right)\triangleq\sum\limits_{i=1}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{({y_{i,j}}}}-\operatorname{f}\left({{x_{i,j}}\left({M^{\prime}}\right)}\right){{}^{2}}. (15)

Denote EaE_{a} as the event that there exists an error in the atha^{\rm th} segment of Spinal codes and E¯a\bar{E}_{a} as the opposing event of EaE_{a}. The error probability of Spinal codes is:

Pe\displaystyle{P_{e}} =(a=1n/kEa)=1(a=1n/kEa¯)\displaystyle={\mathbb{P}}\left(\bigcup_{a=1}^{n/k}{{E_{a}}}\right)=1-{\mathbb{P}}\left(\bigcap_{a=1}^{n/k}{\bar{E_{a}}}\right) (16)
=1a=1n/k[1(Ea|E¯1,,E¯a1)].\displaystyle=1-\prod\limits_{a=1}^{n/k}\left[{1-{\mathbb{P}}\left({{{E}_{a}}|{{\bar{E}}_{1}},\cdots,{{\bar{E}}_{a-1}}}\right)}\right].

Define 𝒲a{(m1,,mn/k):m1=m1,,ma1=ma1,mama}𝒲\mathcal{W}_{a}\triangleq\left\{(m^{\prime}_{1},\dots,m^{\prime}_{n/k}):m^{\prime}_{1}=m_{1},\dots,m^{\prime}_{a-1}=m_{a-1},m^{\prime}_{a}\neq m_{a}\right\}\subseteq\mathcal{W}, which consists of wrong candidate sequences MM^{\prime} with condition that event {Ea|E¯1,,E¯a1}\{{{{E}_{a}}|{{\bar{E}}_{1}},\cdots,{{\bar{E}_{a-1}}}}\} is true.

Within these notations, (Ea|E¯1,,E¯a1)\mathbb{P}\left({{{E}_{a}}|{{\bar{E}}_{1}},\cdots,{{\bar{E}}_{a-1}}}\right) is given as:

(Ea|E¯1,,E¯a1)\displaystyle\mathbb{P}\left({{{E}_{a}}|{{\bar{E}}_{1}},\cdots,{{\bar{E}}_{a-1}}}\right) =(M𝒲a:D(M)D(M)).\displaystyle=\mathbb{P}\left({\exists{M^{\prime}\in\mathcal{W}_{a}}:D\left(M^{\prime}\right)\leq D\left(M\right)}\right). (17)

Note that the RHS of (17) can be upper bounded by the union bound of probability, which yields the inequality:

(M𝒲a:D(M)D(M))M𝒲a(D(M)D(M)).\mathbb{P}\left({\exists{M^{\prime}\in\mathcal{W}_{a}}:D\left(M^{\prime}\right)\leq D\left(M\right)}\right)\leq\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}{\mathbb{P}\left({D\left({M^{\prime}}\right)\leq D\left(M\right)}\right)}. (18)

Next, we turn our attention back to the the iterative process that si=h(si1,mi),s0=𝟎vs_{i}=h\left(s_{i-1},m_{i}\right),s_{0}=\mathbf{0}^{v}, which has been given in (1), to further analyze the RHS of (18). Denote the spine values of MM^{\prime} and MM as 𝐬=(s1,,sn/k)\mathbf{s}^{\prime}=\left(s^{\prime}_{1},\dots,s^{\prime}_{n/k}\right) and 𝐬=(s1,,sn/k)\mathbf{s}=\left(s_{1},\dots,s_{n/k}\right), respectively. Since M𝒲aM^{\prime}\in\mathcal{W}_{a}, we obtain that si=sis^{\prime}_{i}=s_{i} for any i<ai<a. This leads to a further conclusion that f(xi,j(M))=f(xi,j(M))\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right)=\operatorname{f}\left(x_{i,j}\left(M\right)\right) for any i<ai<a. Denote 𝐲La\mathbf{y}^{L_{a}} as the vector consisted of yi,jy_{i,j} with ain/k,1jia\leq i\leq n/k,1\leq j\leq\ell_{i}. Similarly defining 𝐱La(M)\mathbf{x}^{L_{a}}\left(M^{\prime}\right) as the vector consisted of f(xi,j(M))\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right) and 𝐍La\mathbf{N}^{L_{a}} as the vector consisted of ni,jn_{i,j} with ain/k,1jia\leq i\leq n/k,1\leq j\leq\ell_{i}, we have

M𝒲a(D(M)D(M))\displaystyle\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}{\mathbb{P}\left({D\left({M^{\prime}}\right)\leq D\left(M\right)}\right)} (19)
=M𝒲a(i=1n/kj=1i(yi,jf(xi,j(M)))2i=1n/ki=1ini,j2)\displaystyle=\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\mathbb{P}\left(\sum\limits_{i=1}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{({y_{i,j}}}-\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right){)^{2}}}\leq\sum\limits_{i=1}^{n/k}{\sum\limits_{i=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)
=M𝒲a(i=an/kj=1i(yi,jf(xi,j(M)))2i=an/kj=1ini,j2)\displaystyle=\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\mathbb{P}\left(\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{({y_{i,j}}}-\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right){)^{2}}}\leq\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)
=M𝒲aLa(i=an/kj=1i(yi,jf(xi,j(M)))2i=an/kj=1ini,j2|𝐍La)i=an/kj=1if(ni,j)i=an/kj=1idni,j\displaystyle={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\underbrace{\int_{\mathbb{R}}\dots\int_{\mathbb{R}}}_{L_{a}}\mathbb{P}\left(\left.{\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}{({y_{i,j}}}-\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right){)^{2}}}\leq\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}}\right|\mathbf{N}^{L_{a}}\right)}\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}f\left(n_{i,j}\right)\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}
=M𝒲aLa(𝐲La𝐱La(M)2i=an/kj=1ini,j2|𝐍La)i=an/kj=1if(ni,j)i=an/kj=1idni,j.\displaystyle={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\underbrace{\int_{\mathbb{R}}\dots\int_{\mathbb{R}}}_{L_{a}}\mathbb{P}\left(\left.{\|\mathbf{y}^{L_{a}}-\mathbf{x}^{L_{a}}\left(M^{\prime}\right)\|^{2}\leq\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}}\right|\mathbf{N}^{L_{a}}\right)}\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}f\left(n_{i,j}\right)\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}.

where ni,jn_{i,j} is the AWGN with distribution that

f(ni,j)=12πσ2eni,j22σ2.f\left({{n_{i,j}}}\right)=\frac{1}{{\sqrt{2\pi{\sigma^{2}}}}}\cdot{e^{-\frac{{n_{i,j}^{2}}}{{2{\sigma^{2}}}}}}. (20)

Also, as M𝒲aM^{\prime}\in\mathcal{W}_{a} and because of the pairwise independent property of hash functions, the atha^{\rm th} spine value of the wrong decoding sequence sa=h(ma,sa1)s^{\prime}_{a}=h(m^{\prime}_{a},s^{\prime}_{a-1}) is independent with the atha^{\rm th} spine value of the correct decoding sequence s1=h(ma,sa1)s_{1}=h(m_{a},s_{a-1}). Note that the spine values of Spinal codes are iteratively obtained with si=h(mi,si1)s_{i}=h(m_{i},s_{i-1}). This leads to the pairwise independence of sis_{i} and sis^{\prime}_{i} for all ain/ka\leq i\leq n/k. Thereby, the symbols generated by the RNG seeded with sis^{\prime}_{i} are also independent with the symbols generated by the RNG seeded with sis_{i} for ain/ka\leq i\leq n/k, which yields that f(xi,j(M))\operatorname{f}\left(x_{i,j}\left(M^{\prime}\right)\right) is independent with f(xi,j(M))\operatorname{f}\left(x_{i,j}\left(M\right)\right) and follows the uniform distribution 𝒰(0,2c1)\mathcal{U}(0,2^{c}-1) for ain/ka\leq i\leq n/k. As such, the probability in (19) is upper bounded by:

(𝐲La𝐱La(M)2i=an/kj=1ini,j2|𝐍La)\displaystyle\mathbb{P}\left(\left.{\|\mathbf{y}^{L_{a}}-\mathbf{x}^{L_{a}}\left(M^{\prime}\right)\|^{2}\leq\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}}\right|\mathbf{N}^{L_{a}}\right) (21)
Vol(𝔹La(i=an/kj=1ini,j2))Vol(La(2c1))=(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2).\displaystyle\leq\frac{{\rm Vol}\left(\mathbb{B}^{L_{a}}\left(\sqrt{\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}}\right)\right)}{{\rm Vol}\left(\mathbb{C}^{L_{a}}\left(2^{c}-1\right)\right)}=\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}.

where

𝔹n(r)={(x1,x2,,xn)n|x12+x22++xn2r2},\displaystyle\mathbb{B}^{n}\left(r\right)=\left\{\left(x_{1},x_{2},\cdots,x_{n}\right)\in\mathbb{R}^{n}\left|x_{1}^{2}+x_{2}^{2}+\cdots+x_{n}^{2}\leq r^{2}\right.\right\},
n(l)={(x1,x2,,xn)n|0xil,for i=1,,n},\displaystyle\mathbb{C}^{n}\left(l\right)=\left\{\left(x_{1},x_{2},\cdots,x_{n}\right)\in\mathbb{R}^{n}\left|0\leq x_{i}\leq l,\text{{\rm for} }i=1,\cdots,n\right.\right\},

Vol(𝔹n(r))=πn/2Γ(1+n2)rn{\rm Vol}\left(\mathbb{B}^{n}\left(r\right)\right)=\frac{\pi^{n/2}}{\Gamma\left(1+\frac{n}{2}\right)}r^{n} represents the volume of the nn-ball with radius rr [32], and Vol(n(l))=ln{\rm Vol}\left(\mathbb{C}^{n}\left(l\right)\right)=l^{n} denotes the volume of the nn-cube with side length ll.

Note that the volume of the nn-ball in (21) might be larger than the volume of the nn-cube, while the probability is up to 11, the function min{1,}\min\left\{{1,\mathchoice{\mathbin{\vbox{\hbox{\scalebox{0.5}{$\displaystyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.5}{$\textstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.5}{$\scriptstyle\bullet$}}}}}{\mathbin{\vbox{\hbox{\scalebox{0.5}{$\scriptscriptstyle\bullet$}}}}}}\right\} can be applied to yield a further tightened inequality as follows:

(𝐲La𝐱La(M)2i=an/kj=1ini,j2|𝐍La)min{1,(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)}.\mathbb{P}\left(\left.{\|\mathbf{y}^{L_{a}}-\mathbf{x}^{L_{a}}\left(M^{\prime}\right)\|^{2}\leq\sum\limits_{i=a}^{n/k}{\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}}\right|\mathbf{N}^{L_{a}}\right)\leq\min\left\{1,\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}\right\}. (22)

Substituting (20) and (22) into (19) results in the bound:

M𝒲a(D(M)D(M))\displaystyle\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}{\mathbb{P}\left({D\left({M^{\prime}}\right)\leq D\left(M\right)}\right)} (23)
M𝒲aLamin{1,(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)}1(2πσ2)Laei=an/kj=1ini,j22σ2i=an/kj=1idni,j.\displaystyle\leq{\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\underbrace{\int\dots\int_{\mathbb{R}}}_{L_{a}}\min\left\{1,\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}\right\}\frac{1}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{L_{a}}}}}e^{\frac{-\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}{2\sigma^{2}}}\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}}.

Note that the RHS of (22) is a piecewise function. Let

(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)=1,\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}=1,

we have

i=an/kj=1ini,j2=(2c1)Γ(1+La/2)1/Laπ.\sqrt{\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}=\frac{{\left({{2^{c}}-1}\right)\Gamma{{\left({1+{L_{a}}/2}\right)}^{1/{L_{a}}}}}}{{\sqrt{\pi}}}. (24)

Denote the RHS of (24) as 𝒟\mathcal{D}, and we obtain a piecewise form as follows:

min{1,(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)}={1if i=an/kj=1ini,j2𝒟,(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)if i=an/kj=1ini,j2<𝒟.\min\left\{1,\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}\right\}=\left\{\begin{array}[]{*{20}{c}}{1}&\text{\rm if }\sqrt{\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\geq\mathcal{D},\\ \frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}&\text{\rm if }\sqrt{\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}<\mathcal{D}.\end{array}\right. (25)

Plug (25) in (23), we obtain the overall bound:

M𝒲a(D(M)D(M))\displaystyle\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}{\mathbb{P}\left({D\left({M^{\prime}}\right)\leq D\left(M\right)}\right)} (26)
M𝒲a1(2πσ2)La∫⋯∫i=an/kj=1ini,j2𝒟2(πi=an/kj=1ini,j2)La/2(2c1)LaΓ(1+La2)ei=an/kj=1ini,j22σ2i=an/kj=1idni,j\displaystyle\leq{\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{1}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{L_{a}}}}}\idotsint\limits_{\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}\leq\mathcal{D}^{2}}\frac{{{{\left({\pi\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}\right)}^{{L_{a}}/2}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}e^{\frac{-\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}{2\sigma^{2}}}\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}}
+M𝒲a1(2πσ2)La∫⋯∫i=an/kj=1ini,j2𝒟2ei=an/kj=1ini,j22σ2i=an/kj=1idni,j.\displaystyle+{\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{1}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{L_{a}}}}}\idotsint\limits_{\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}\geq\mathcal{D}^{2}}e^{\frac{-\sum\limits_{i=a}^{n/k}\sum\limits_{j=1}^{{\ell_{i}}}n_{i,j}^{2}}{2\sigma^{2}}}\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}}.

We solve each of the terms in the above separately by introducing the hyperspherical coordinates:

na,1=rcosϕ1,\displaystyle n_{a,1}=r\cos\phi_{1}, (27)
na,2=rsinϕ1cosϕ2,\displaystyle n_{a,2}=r\sin\phi_{1}\cos\phi_{2},
na,3=rsinϕ1cosϕ2cosϕ3,\displaystyle n_{a,3}=r\sin\phi_{1}\cos\phi_{2}\cos\phi_{3},
\displaystyle\vdots
nn/k,n/k1=rsinϕ1sinϕLa2cosϕLa1,\displaystyle n_{n/k,\ell_{n/k}-1}=r\sin\phi_{1}\cdots\sin\phi_{L_{a}-2}\cos\phi_{L_{a}-1},
nn/k,n/k=rsinϕ1sinϕLa2sinϕLa1,\displaystyle n_{n/k,\ell_{n/k}}=r\sin\phi_{1}\cdots\sin\phi_{L_{a}-2}\sin\phi_{L_{a}-1},

taking

dV\displaystyle dV =i=an/kj=1idni,j=|det(ni,j(r,ϕκ))|1κLa1dri=1La1dϕi,\displaystyle=\prod_{i=a}^{n/k}\prod_{j=1}^{\ell_{i}}dn_{i,j}=\left|\det\left(\frac{\partial n_{i,j}}{\partial\left(r,\phi_{\kappa}\right)}\right)\right|_{1\leq\kappa\leq L_{a}-1}dr\prod_{i=1}^{L_{a}-1}d\phi_{i}, (28)
=rLa1i=1La2sinLa1i(ϕi)dri=1La1dϕi,\displaystyle=r^{L_{a}-1}\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)dr\prod_{i=1}^{L_{a}-1}d\phi_{i},
0ϕiπ,for i=1,2,,La2,\displaystyle 0\leq\phi_{i}\leq\pi,{\rm\text{for }}i=1,2,\cdots,L_{a}-2,
0ϕLa12π.\displaystyle 0\leq\phi_{L_{a}-1}\leq 2\pi.

Denote the first term in the RHS of (26) as 𝒥1\mathcal{J}_{1} and the second term as 𝒥2\mathcal{J}_{2}, applying (27) and (28) in 26 yields the following equations:

𝒥1=M𝒲a1(2σ2)La02π0π0𝒟r2La1(2c1)LaΓ(1+La2)er22σ2𝑑r(i=1La2sinLa1i(ϕi)dϕi)𝑑ϕLa1,\displaystyle\mathcal{J}_{1}={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{1}{{{{\left({\sqrt{2{\sigma^{2}}}}\right)}^{L_{a}}}}}\int_{0}^{2\pi}\int_{0}^{\pi}\dots\int_{0}^{\mathcal{D}}\frac{{{{r}^{{2L_{a}-1}}}}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}e^{\frac{-r^{2}}{2\sigma^{2}}}dr\left(\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)d\phi_{i}\right)d\phi_{L_{a}-1}},
𝒥2=M𝒲a1(2πσ2)La02π0π𝒟rLa1er22σ2𝑑r(i=1La2sinLa1i(ϕi)dϕi)𝑑ϕLa1.\displaystyle\mathcal{J}_{2}={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{1}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{L_{a}}}}}\int_{0}^{2\pi}\int_{0}^{\pi}\dots\int_{\mathcal{D}}^{\infty}r^{L_{a}-1}e^{\frac{-r^{2}}{2\sigma^{2}}}dr\left(\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)d\phi_{i}\right)d\phi_{L_{a}-1}}.

Note that the integrals above can be decomposed as in

𝒥1=M𝒲a0𝒟r2La1er22σ2𝑑r(2σ2)La(2c1)LaΓ(1+La2)02π0π0π(i=1La2sinLa1i(ϕi)dϕi)𝑑ϕLa1,\displaystyle\mathcal{J}_{1}={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{\int_{0}^{\mathcal{D}}{r}^{{2L_{a}-1}}e^{\frac{-r^{2}}{2\sigma^{2}}}dr}{{{{\left({\sqrt{2{\sigma^{2}}}}\right)}^{L_{a}}{{{{\left({{2^{c}}-1}\right)}^{L_{a}}}\Gamma\left({1+\frac{L_{a}}{2}}\right)}}}}}\int_{0}^{2\pi}\int_{0}^{\pi}\dots\int_{0}^{\pi}\left(\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)d\phi_{i}\right)d\phi_{L_{a}-1}}, (29)
𝒥2=M𝒲a𝒟rLa1er22σ2𝑑r(2πσ2)La02π0π0π(i=1La2sinLa1i(ϕi)dϕi)𝑑ϕLa1,\displaystyle\mathcal{J}_{2}={\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}\frac{\int_{\mathcal{D}}^{\infty}r^{L_{a}-1}e^{\frac{-r^{2}}{2\sigma^{2}}}dr}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{L_{a}}}}}\int_{0}^{2\pi}\int_{0}^{\pi}\dots\int_{0}^{\pi}\left(\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)d\phi_{i}\right)d\phi_{L_{a}-1}},

wherein the multiple integrals on the RHS is given by [32]:

02π0π0π(i=1La2sinLa1i(ϕi)dϕi)𝑑ϕLa1=πLa/2LaΓ(1+La2).\int_{0}^{2\pi}\int_{0}^{\pi}\dots\int_{0}^{\pi}\left(\prod_{i=1}^{L_{a}-2}\sin^{L_{a}-1-i}\left(\phi_{i}\right)d\phi_{i}\right)d\phi_{L_{a}-1}=\frac{{{{\pi}^{{L_{a}}/2}}}{L_{a}}}{{\Gamma\left({1+\frac{{{L_{a}}}}{2}}\right)}}. (30)

Applying (30) in (29) and substituting (29) into (26) yields that

M𝒲a(D(M)D(M))\displaystyle\sum\limits_{M^{\prime}\in\mathcal{W}_{a}}{\mathbb{P}\left({D\left({M^{\prime}}\right)\leq D\left(M\right)}\right)} (31)
=|𝒲a|πLa/2LaΓ(1+La2)(0𝒟r2La1er22σ2𝑑r(2c1)LaΓ(1+La2)(2σ2)La+𝒟rLa1er22σ2𝑑r(2πσ2)La),\displaystyle=\left|\mathcal{W}_{a}\right|\frac{{{{\pi}^{{L_{a}}/2}}}{L_{a}}}{{\Gamma\left({1+\frac{{{L_{a}}}}{2}}\right)}}\left({\frac{{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}}{{{{\left({{2^{c}}-1}\right)}^{{L_{a}}}}\Gamma\left({1+\frac{{{L_{a}}}}{2}}\right){{\left({\sqrt{2{\sigma^{2}}}}\right)}^{{L_{a}}}}}}+\frac{{\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}}{{{{\left({\sqrt{2\pi{\sigma^{2}}}}\right)}^{{L_{a}}}}}}}\right),

where |𝒲a|\left|\mathcal{W}_{a}\right| denotes the size of set 𝒲a\mathcal{W}_{a} with |𝒲a|=(2k1)2nak\left|\mathcal{W}_{a}\right|=\left({{2^{k}}-1}\right){2^{n-ak}}. Now, by applying (31) in (17) and (18) and denoting the RHS of (31) as RaR_{a}, we have the inequality that

(Ea|E¯1,,E¯a1)min{1,Ra},\mathbb{P}\left({{{E}_{a}}|{{\bar{E}}_{1}},\cdots,{{\bar{E}}_{a-1}}}\right)\leq\min\left\{1,R_{a}\right\}, (32)

Eventually, substituting (32) into (16) results in the derived bound. ∎

III-C A New Upper Bound over the BSC

Theorem 4.

(The new upper bound on the error probability over the BSC) Consider Spinal codes with message length nn and segmentation parameter kk transmitted over a BSC with crossover probability pp. Let ljl_{j} be the number of symbols generated from the jthj^{th} spine value of the nn-bit message sequence. The FER of Spinal codes under ML decoding can be upper bounded by

Pe1a=1n/k(1ϵa),P_{e}\leq 1-\prod_{a=1}^{n/k}(1-\epsilon_{a}), (33)

with

ϵa=d=0La((Lad)pd(1p)Ladmin{1,Ra,d}).{\epsilon_{a}}=\sum\limits_{d=0}^{{L_{a}}}{\left({\left({\begin{array}[]{*{20}{c}}{{L_{a}}}\\ d\end{array}}\right){p^{d}}{{\left({1-p}\right)}^{{L_{a}}-d}}\cdot\min\left\{{1,{R_{a,d}}}\right\}}\right)}. (33a)

Note that

Ra,d=(2k1)2nakt=0d(Lat)2La,{R_{a,d}}=\left({{2^{k}}-1}\right){2^{n-ak}}\sum\limits_{t=0}^{d}{\left({\begin{array}[]{*{20}{c}}{{L_{a}}}\\ t\end{array}}\right)}{2^{-{L_{a}}}}, (33b)

where

La=i=an/ki.{L_{a}}=\sum\limits_{i=a}^{n/k}{{\ell_{i}}}. (33c)
Proof.

Please refer to Appendix D. ∎

IV Transmission Scheme Design

This section aims to optimize the transmission scheme of Spinal codes. We begin with formulating and solving a rate maximization problem under ML decoding, wherein the derived upper bounds in Section III are adopted as a constraint. The results show that the maximum rate can be achieved by the incremental tail transmission scheme under ML decoding. Then, heuristically, we focus on the more practical near-ML bubble decoding algorithm. Under the bubble decoding algorithm, we design an improved transmission scheme named TITT scheme. The simulation results given in Section VI show that the proposed TITT scheme enables further rate improvement for Spinal codes.

IV-A Problem Formulation and Solution

We establish a rate maximization model under a sufficiently small error probability constraint. Two related fundamental parameters are emphasize here:

  • Code rate: Consider Spinal codes with message length nn and segmentation parameter kk transmitted over a channel. Let j\ell_{j} be the number of symbols generated from the jthj^{th} spine value of the nn-bit message sequence. The code rate can be calculated as

    R=nj=1n/kj.R=\frac{n}{\sum_{j=1}^{n/k}{\ell_{j}}}.
  • Error Probability: The error probability can be upper bounded by the results given in Theorem 3 and Theorem 4 over the AWGN channel and the BSC respectively.

The rate maximization problem can be expressed as follows:

1) Objective function: To maximize the code rate RR.

2) Constraint: To ensure that the transmitted symbols can meet a prescribed requirement on successful decoding level that PeδP_{e}\leq\delta, we hold a stronger setting that:

Peupper=1a=1n/k(1ϵa)δ,P_{e}^{upper}=1-\prod_{a=1}^{n/k}(1-\epsilon_{a})\leq\delta,

where PeupperP_{e}^{upper} denotes the upper bound on the error probability for ML decoded Spinal codes, the value of δ\delta can be preset according to specific application requirements.

3) Decision variables: The number of symbols generated from each spine value, 𝐋=[1,2,,n/k]\mathbf{L}=[\ell_{1},\ell_{2},\dots,\ell_{n/k}].

To sum up, the overall optimization problem can be formulated as follows.

Problem 1.

For Spinal codes transmitted over the AWGN channel:

max𝐋\displaystyle\max_{\mathbf{L}} R\displaystyle R
s.t. c1:i+,i=1,2,,n/k,\displaystyle c1:{{\ell_{i}}\in{\mathbb{Z}^{+}}},i=1,2,\dots,n/k,
c2:Peupper=1a=1n/k(1ϵa)δ,\displaystyle c2:{P_{e}^{upper}=1-\prod\limits_{a=1}^{n/k}{\left({1{\rm{-}}{\epsilon_{a}}}\right)\leq{\delta}}},
c3:ϵa=min{1,Ra}.\displaystyle c3:{{\epsilon_{a}}=\min\left\{1,R_{a}\right\}}.

where RaR_{a} is given in Theorem 3 and +{\mathbb{Z}^{+}} stands for the positive integer set.

Problem 2.

For Spinal codes transmitted over the BSC:

max𝐋\displaystyle\max_{\mathbf{L}} R\displaystyle R
s.t. c1:i+,i=1,2,,n/k,\displaystyle c1:{\ell_{i}}\in{\mathbb{Z}^{+}},i=1,2,\dots,n/k,
c2:Peupper=1a=1n/k(1ϵa)δ,\displaystyle c2:{P_{e}^{upper}=1-\prod\limits_{a=1}^{n/k}{\left({1{\rm{-}}{\epsilon_{a}}}\right)\leq{\delta}}},
c3:ϵa=d=0La((Lad)fd(1f)Ladmin{1,Ra,d}).\displaystyle c3:{{\epsilon_{a}}=\sum\limits_{d=0}^{{L_{a}}}{\left({\left({\begin{array}[]{*{20}{c}}{{L_{a}}}\\ d\end{array}}\right){f^{d}}{{\left({1-f}\right)}^{{L_{a}}-d}}\cdot\min\left\{{1,{R_{a,d}}}\right\}}\right)}}.

where Ra,dR_{a,d} and LaL_{a} are provided in Theorem 4.

The above problems can be solved using nonlinear integer programming techniques. The Branch-Bound algorithm is a general method to solve this type of problem. However, the iterative mode of the Branch-Bound method suffers from high complexity and is likely to converge to a locally optimal solution. Motivated by the above, we design an algorithm customized for the problems above, which can solve the problem globally.

The general idea is to consider the dual problems rather than solve them directly. The dual problem of Problem 1 (or Problem 2) is as follows.

Problem 3.

The dual problem of Problem 1 (or Problem 2) :

min𝐋\displaystyle\min_{\mathbf{L}} Peupper\displaystyle P_{e}^{upper}
s.t. c1:i=1n/ki=N,\displaystyle c1:{\sum_{i=1}^{n/k}\ell_{i}{{=N}}},
c2:i+,i=1,2,,n/k.\displaystyle c2:{{\ell_{i}}\in{\mathbb{Z}^{+}}},i=1,2,\dots,n/k.

In essence, the dual problem above is to determine the decision variables 𝐋=[1,2,,n/k]\mathbf{L}=[\ell_{1},\ell_{2},\dots,\ell_{n/k}] under the constraint of a fixed code rate n/Nn/{N}, so as to minimize the error probability of the transmission scheme. Though the difference between the dual problem and the original problem is just a simple exchange of the constraint and the objective function, the constraint corresponding to the decision variables in the dual problem is a linear constraint, which is much simpler than the original problem.

We devise an on-the-fly algorithm to solve Problem 1 or Problem 2 by leveraging their dual problems (see Algorithm 1). By ‘on-the-fly’, the minimum error probability is found by repeatedly solving Problem 3 with an increasing number of transmitted symbols. The on-the-fly process is terminated to output 𝐋\mathbf{L} once the upper bound on the error probability meets the condition that PeupperδP_{e}^{upper}\leq\delta. As the upper bound on the error probability of Spinal codes is monotonically decreasing with NN, the output 𝐋\bf L also maps to a minimum number of cumulative transmission symbols NN such that PeupperδP_{e}^{upper}\leq\delta. Note that the minimum number of transmission symbols corresponds to the maximum code rate, the problem of rate maximization under the constraint of a prescribed small error probability δ\delta is thereby solved out.

Input: Initial number of transmitted passes rr; Preset reliability target δ\delta;
Output: The number of symbols generated from each spine value 𝐋=[1,2,,n/k]\mathbf{L}=[\ell_{1},\ell_{2},\dots,\ell_{n/k}];
1 while PeupperδP_{e}^{upper}\geq{\delta}  do
2       Update the number of transmitted symbols: NN+1N\leftarrow N+1;
3       Solve the Problem 3 to find out the minimum FER Pe,NupperP_{e,N}^{upper};
4       Update the minimum FER upper bound PeupperPe,NupperP_{e}^{upper}\leftarrow P_{e,N}^{upper};
5      
return 𝐋\bf L
Algorithm 1 The optimal algorithm for solving Problem 1 (or Problem 2)

We initially used Algorithm 1 to obtain the optimal solution to Problem 1. With these results in hand, we try to design a greedy baseline algorithm to solve this problem, which significantly reduces the calculations caused by repeatedly solving problem 3. Our experiments showed no difference in solution results between these two algorithms. Specifically, the greedy baseline algorithm always determines the current most error-prone symbol, that is, the symbol that can minimize the current FER to transmit. The details of the greedy baseline algorithm are given in Algorithm 2.

Input: Initial number of transmitted passes rr; Preset reliability target δ\delta;
Output: The number of symbols generated from each spine value 𝐋=[1,2,,n/k]\mathbf{L}=[\ell_{1},\ell_{2},\dots,\ell_{n/k}];
1 Initialization: 𝐋=[r,r,,r,r]\mathbf{L}=[r,r,\ldots,r,r], N=rn/kN=rn/k;
2 Calculate PeupperP_{e}^{upper} by applying Theorem 3 (for problem 1) or Theorem 4 (for problem 2);
3 while PeupperδP_{e}^{upper}\geq{\delta}  do
4       Update the number of transmitted symbols: NN+1N\leftarrow N+1;
5       for i1i\leftarrow 1 to n/kn/k do
6             Update the decision variable: ii+1\ell_{i}\leftarrow\ell_{i}+1;
7             Calculate and store the corresponding FER Pe,iupperP_{e,i}^{upper};
8             Restore the decision variable: ii1\ell_{i}\leftarrow\ell_{i}-1;
9            
10      Search for the minimum Pe,iupperP_{e,i}^{upper} and the corresponding index dd;
11       dd+1\ell_{d}\leftarrow\ell_{d}+1, PeupperPe,dupperP_{e}^{upper}\leftarrow P_{e,d}^{upper};
12      
return 𝐋\bf L
Algorithm 2 The greedy baseline algorithm for solving Problem 1 (or Problem 2)
Remark 2.

The value of δ\delta can be preset based on specific application requirements. For example, typical ultra-reliable and low latency communication (URLLC) systems commonly require the error probability lower than 10510^{-5}. In our simulations, we set δ=105\delta=10^{-5}.

IV-B Improved Transmission Scheme under ML Decoding

Consider Spinal codes with n=32n=32 and k=4k=4, initially sending several passes is generally used for the decoder to construct an integral decoding tree. In this paper, we set r=2r=2 and r=3r=3 as case studies. By using both Algorithm 1 and Algorithm 2, we obtain exactly the same solutions as shown in Table I.

TABLE I:

Solutions to the Rate Maximization Problem
(a) Transmission Scheme over the BSC
Crossover probability r=2r=2 r=3r=3 0.05 𝐋=[2,2,2,2,2,2,2,49]{\bf L}=[2,2,2,2,2,2,2,49] 𝐋=[3,3,3,3,3,3,3,42]{\bf L}=[3,3,3,3,3,3,3,42] 0.01 𝐋=[2,2,2,2,2,2,2,40]{\bf L}=[2,2,2,2,2,2,2,40] 𝐋=[3,3,3,3,3,3,3,33]{\bf L}=[3,3,3,3,3,3,3,33] 0.005 𝐋=[2,2,2,2,2,2,2,34]{\bf L}=[2,2,2,2,2,2,2,34] 𝐋=[3,3,3,3,3,3,3,28]{\bf L}=[3,3,3,3,3,3,3,28] 0.001 𝐋=[2,2,2,2,2,2,2,27]{\bf L}=[2,2,2,2,2,2,2,27] 𝐋=[3,3,3,3,3,3,3,21]{\bf L}=[3,3,3,3,3,3,3,21]
(b) Transmission Scheme over the AWGN channel
SNR (dB) r=2r=2 r=3r=3 7 𝐋=[2,2,2,2,2,2,2,34]{\bf L}=[2,2,2,2,2,2,2,34] 𝐋=[3,3,3,3,3,3,3,29]{\bf L}=[3,3,3,3,3,3,3,29] 8 𝐋=[2,2,2,2,2,2,2,25]{\bf L}=[2,2,2,2,2,2,2,25] 𝐋=[3,3,3,3,3,3,3,21]{\bf L}=[3,3,3,3,3,3,3,21] 9 𝐋=[2,2,2,2,2,2,2,19]{\bf L}=[2,2,2,2,2,2,2,19] 𝐋=[3,3,3,3,3,3,3,17]{\bf L}=[3,3,3,3,3,3,3,17] 10 𝐋=[2,2,2,2,2,2,2,16]{\bf L}=[2,2,2,2,2,2,2,16] 𝐋=[3,3,3,3,3,3,3,14]{\bf L}=[3,3,3,3,3,3,3,14]

It can be observed from Table I that with ML decoding algorithm, the transmitter tends to continuously transmit the tail symbols, i.e., the symbols generated from the (n/k)th{(n/k)}^{\rm th} spine value. This ‘incremental-tail-transmission’-pattern result can be explained and generalized universally by the serial coding structure of Spinal codes. Due to the serial coding structure with si=h(si1,mi)s_{i}=h(s_{i-1},m_{i}), the symbols generated from the ithi^{\rm th} spine value sis_{i} is related to the block message mim_{i} and the previous spine value si1s_{i-1}. Since sis_{i} is related to si1s_{i-1} and si1s_{i-1} is related to the block message mi1m_{i-1}, we can conclude that the symbols generated from the ithi^{\rm th} spine value sis_{i} is related to all mam_{a} with aia\leq i, which also means that for Spinal codes, tail symbols generated from sn/ks_{n/k} are more relevant to the whole message sequence, i.e., mam_{a} with an/ka\leq n/k, and hence carries more information.

Through empirical observations and qualitative analysis, we can conclude that the transmitting tail symbols can further improve the code rate of ML decoded Spinal codes.

Remark 3.

The ML decoding algorithm is difficult to be applied in a practical communication system due to its high complexity. Though not applicable, it provides an ideal benchmark performance of Spinal codes. Furthermore, the related analysis and transmission scheme design can serve as an inspirational basis for the transmission scheme design with some near-ML decoding algorithms.

IV-C Improved Transmission Scheme under Bubble Decoding

In this subsection, inspired by the incremental tail transmission scheme for ML decoding, we propose an improved transmission scheme named thresholded incremental tail transmission scheme (TITT scheme). The TITT scheme combines uniform puncturing with incremental tail transmission scheme for the practical Spinal codes using bubble decoding algorithm.

As introduced in Section II-C, bubble decoding is a kind of near-ML decoding algorithm. It prunes the branch at each layer and retains only BB nodes with the lowest cost. It is obvious that the decoding will succeed only if the decoder prunes the branch correctly at every layer of the decoding tree.

Recall that the cost can be calculated in (7). Since the calculation of the cost at each layer is only related to the preceding received symbols, i.e., yi,jy_{i,j} with iλi\leq\lambda, the inadequate transmission of the preceding symbols may result in an incorrect pruning, and thus directly leads to a decoding error. Therefore, for bubble decoding algorithm, merely transmitting the tail symbols without considering the sufficiency of transmission of preceding symbols is not rational. In addition, in the pruning process of the bubble decoding algorithm, the previous layer will retain BB candidate sequences, while the last layer will retain only one candidate sequence, which means that the pruning of the bubble algorithm in the last layer is more prone to errors.

Input: The transmission order vector 𝐠=[g1,g2,,gn/k]{\bf g}=[g_{1},g_{2},\ldots,g_{n/k}]; The switch threshold TrT_{\rm r};
1 Transmit a complete pass for the decoder to build an integral decoding tree: j1j\leftarrow 1, Nn/kN\leftarrow n/k;
2 while not receiving an ACK do
3       jj+1j\leftarrow j+1;
4       if NTrN\leq{T_{r}} then
5             i1i\leftarrow 1;
6             while in/ki\leq n/k and N<TrN<T_{r}  do
7                   Transmit coded symbol f(xgi,j(M))\operatorname{f}(x_{g_{i},j}(M));
8                   NN+1N\leftarrow N+1;
9                   ii+1i\leftarrow i+1;
10                  
11            
12      else
13            Transmit tail symbol f(xn/k,j(M))\operatorname{f}(x_{n/k,j}(M));
14      
Algorithm 3 The TITT scheme for bubble decoding

Considering the analysis above, we propose an improved transmission scheme for bubble decoding in Algorithm 3. It combines uniform puncturing with incremental tail transmission, forming a two-stage scheme. The first stage adopts the uniform-puncturing-based transmission, aiming to refine the code rate granularity and more importantly, to ensure the pruning at the preceding levels of the decoding tree is correct. After sufficient symbols having been sent, the transmitter switches to the second stage, which adopts the incremental tail transmission scheme, aiming to improve the probability that the correct candidate sequence is selected within the BB-node list at the last layer. Let TrT_{r} denote the switch-over threshold of the number of transmitted symbols. The detailed procedures of the improved transmission scheme for bubble decoding are described in Algorithm 3.

The value of the switch-over threshold TrT_{r} in Algorithm 3 can be set according to the following inferences: with increasing number of transmitted symbols NN, the instantaneous code rate of the rateless code R=n/NR=n/N decreases; when the instantaneous code rate approaches the channel capacity CC, it is highly probable that the previous pruning is correct. Therefore, we can set Trn/CT_{r}\approx n/C. In this work, we provide the following heuristic settings, by which we have obtained satisfactory simulation performance, as will be shown in Section VI.

  • For the AWGN channel,

    Tr=nCAWGNnk.{T_{r}}=\left\lfloor{\frac{n}{{{C_{AWGN}}}}-\frac{n}{k}}\right\rfloor.
  • For the BSC,

    Tr=nCBSC.{T_{r}}=\left\lfloor{\frac{n}{{{C_{BSC}}}}}\right\rfloor.

V Bubble Decoding with Memory (BD-M)

In essence, both uniform puncturing and the proposed TITT scheme improve the rate performance by refining the code rate granularity of Spinal codes. However, one trade-off is that the refinement of code rate granularity increases the number of decoding attempts at the receiver, resulting in extensive calculations. To address this issue, we investigate the dynamic changes of the decoding tree between adjacent decoding rounds of rateless Spinal codes and find that only parts of the decoding tree will change during the dynamic transmission-decoding process (see Theorem 5). Therefore, the conventional full-tree updating process can be improved as a partial-tree updating one.

Theorem 5.

If a symbol yi,jy_{i,j} is newly received at the decoder, then only the decoding tree with layer λi\lambda\geq i will change in the decoding process.

Proof.

Please refer to Appendix E. ∎

Based on Theorem 5, we know that if the receiver end introduces an extra memory to dynamically store and partially update the decoding tree of Spinal codes, the calculations required for the unchanged parts of the decoding tree can be eliminated, thereby reducing the decoding complexity. Inspired by this idea, we take the most commonly used bubble decoding algorithm as an example, and propose the bubble decoding with memory (BD-M) algorithm here. An interesting issue is that the proposed BD-M algorithm matches the proposed TITT scheme well. The combination of the TITT scheme at the transmitter and the BD-M algorithm at the receiver constitutes an improved transmission-decoding system, which not only exhibits good rate performance but also improves the decoding efficiency of Spinal codes.

V-A Decoding Process of the BD-M Algorithm

Conventional bubble decoding is a full-tree-updating based algorithm, i.e., it needs to repeatedly reconstruct the integral decoding tree once receiving any new sub-passes or symbols. However, by introducing a decoding tree memory to the receiver, the decoder can store the constructed decoding tree and updates only a part of it. Based on this finding, we design the BD-M algorithm, which is a partial-tree-updating based algorithm.

The primary decoding process of the BD-M algorithm can be summarized in four steps:

  1. 1.

    Construct a pruned decoding tree according to the received integral pass. The pruning strategy is referred to the original bubble decoding algorithm [3].

  2. 2.

    Store the pruned decoding tree.

  3. 3.

    If the decoder receives symbol yi,jy_{i,j}, it will retain the top i1i-1 layers of the decoding tree and update the information after it according to the pruning strategy of bubble decoding algorithm.

  4. 4.

    Repeat steps 2) and 3) until the decoding process is finished.

It can be observed that the proposed BD-M algorithm does not change the bubble decoding-based pruning decision at each layer since the cost of each node calculated by (7) remains unchanged. The core idea of the BD-M algorithm is to restore the unchanged tree information and reduce the cost recalculation of the unchanged part.

Remark 4.

The BD-M algorithm can be applied to both uniform puncturing and the proposed TITT scheme to reduce decoding complexity, matches better with the proposed TITT scheme. As described in Algorithm 3, the TITT scheme tends to transmit more tail symbols. Correspondingly, the BD-M algorithm at the decoder only needs to update the last layer of the decoding tree when receiving tail symbols. By this means, this algorithm dramatically eliminates the need for repeatedly calculating the decoding cost, as the only thing for the decoder is to update the last layer of the decoding tree.

V-B Qualitative Complexity Comparison

During the decoding process, the computation involved at each layer of the decoding tree mainly includes the cost calculating and the bubble sorting for all the nodes at the layer. Let xx denote the number of nodes at a particular layer and g(x)g(x) represent the associated computation amount.

First, we analyze the number of nodes at each decoding tree layer. According to the decoding process, the branch pruning starts if 2ikB{2^{ik}}\geq B, where ii denotes the layer index of the decoding tree. Thus, we have

xi={2ik1ilog2BkB2klog2Bk<ink,\displaystyle{x_{i}}=\left\{{\begin{array}[]{*{20}{c}}{{2^{ik}}}&{1\leq i\leq\left\lceil{\frac{{{{\log}_{2}}B}}{k}}\right\rceil}\\ {B{2^{k}}}&{\left\lceil{\frac{{{{\log}_{2}}B}}{k}}\right\rceil<i\leq\frac{n}{k}}\end{array}}\right.,

where xix_{i} denotes the number of nodes at the ithi^{\rm th} layer.

Let oio_{i} denote the amount of calculations required to update the decoding tree from the ithi^{\rm th} layer, we have:

oi=j=in/kg(xj).{o_{i}}=\sum\limits_{j=i}^{n/k}{g\left({{x_{j}}}\right)}.

It is obvious that o1>o2>on/k{o_{\rm{1}}}>{o_{2}}\ldots>{o_{n/k}}. o1o_{1} denotes the computation amount required to reconstruct the full decoding tree.

Next, we analyze the total computation amount required by different transmission-decoding pairs and compare them.

1) Uniform Puncturing with Bubble Decoding vs. Uniform Puncturing with BD-M:

For uniform puncturing (UP) with the original bubble decoding (BD) algorithm, the decoder needs to reconstruct the full decoding tree when receiving any sub-passes or symbols, so the total computation amount can be expressed as

OUPBD=i=1n/kio1,{O_{{\rm{UP}}\to{\rm{BD}}}}=\sum\limits_{i=1}^{n/k}{{\ell_{i}}}{o_{1}}, (34)

where i\ell_{i} is the number of transmitted symbols generated from the ithi^{\rm th} spine value required to successfully recover the message when using the uniform-puncturing-based transmission scheme.

For uniform puncturing with the BD-M algorithm, the decoder will not reconstruct the full decoding tree but retain the existing decoding tree in memory and update only a part. The corresponding total computation amount can be expressed as

OUPBDM=i=1n/kioi.{O_{{\rm{UP}}\to{\rm{BD-M}}}}=\sum\limits_{i=1}^{n/k}{{\ell_{i}}}{o_{i}}. (35)

Since o1>o2>on/k{o_{\rm{1}}}>{o_{2}}\ldots>{o_{n/k}}, we can subtract (34) from (35) and obtain that OUPBD>OUPBDM{O_{{\rm{UP}}\to{\rm{BD}}}}>{O_{{\rm{UP}}\to{\rm{BD-M}}}}, showing that the proposed BD-M algorithm requires less computation than the original bubble decoding.

2) Uniform Puncturing with BD-M vs. TITT with BD-M:

Refer to caption
Figure 2: Upper bounds on the error probability of Spinal codes with n=8n=8, v=32v=32, Pass=6Pass=6, c=8c=8 and k=2k=2 over the AWGN channel.

Let i\ell_{i}^{\prime} denote the number of transmitted symbols generated from the ithi^{\rm th} spine value required to successfully recover the message when using the proposed improved transmission scheme. The total computation amount of the TITT with BD-M can be expressed as

OTITTBDM=i=1n/kioi,{O_{{\rm{TITT}}\to{\rm{\ BD-M}}}}=\sum\limits_{i=1}^{n/k}{{\ell_{i}}^{\prime}{o_{i}}}, (36)

Compare (35) with (36), we can prove that (see Appendix F)

i=1n/kioii=1n/kioi,\sum\limits_{i=1}^{n/k}{{\ell_{i}}{o_{i}}}\geq\sum\limits_{i=1}^{n/k}{{\ell_{i}}^{\prime}{o_{i}}}, (37)

which demonstrates the superiority of the proposed transmission scheme. As a result, the transmitter’s improved transmission scheme and the matching BD-M algorithm at the decoder consist of an optimized transmission system for Spinal codes.

VI Simulation Results

In this section, we conduct Monte Carlo simulations to verify the upper bounds derived in Section III and demonstrate the gain of rate performance obtained by leveraging the TITT scheme. Also, we would show that the BD-M algorithm proposed in Section V matches well with the proposed TITT scheme.

Refer to caption
Figure 3: Upper bounds on the error probability of Spinal codes with n=8n=8, v=32v=32, Pass=8Pass=8, c=1c=1 and k=2k=2 over the BSC.

VI-A Bounding Performance

Fig. 2 is conducted over the AWGN channel model, which demonstrates the comparison among the upper bound proposed in [28], the upper bound given in (10), and the Monte Carlo simulation results. Considering that the decoding complexity of ML decoding increases exponentially with nn, we select nn as short as n=8n=8 for the simulation setup. We set the the Monte Carlo Simulation sample size as 10410^{4} and obtain the simulated error probability as in Fig. 2. From Fig. 2, we can observe that compared to the available bounds in [28], the proposed upper bound draws its strength from the tightness at high SNRs. However, at low SNRs, the proposed bound performs poor tightness. This phenomenon are mainly due to (21), where the bound on the probability is given as the volume of a LaL_{a}-ball divided by the volume of a LaL_{a}-cube. Note that the radius of the hypersphere is exactly the 2\ell_{2}-norm of the noise vector, while the volume of the cube is a fixed value. In such a case, if the SNR is low, i.e., the noise variance is high, the RHS of (21) may exceed 11 and the bound will degenerate into an invalid one, with the LHS of (21) upper bounded by 11. However, in the high-SNR regime, the RHS of (21) remains far away from 11, thereby exhibiting the tightened bounding performance as shown in Fig. 2.

Refer to caption
(a) Rate performance over the AWGN channel with c=8c=8.
Refer to caption
(b) Rate performance over the BSC with c=1c=1.
Figure 4: Rate performance of different transmission schemes with n=32n=32, v=32v=32, k=4k=4 and B=64B=64.

Fig. 3 is obtained over the BSC model, which provides the numerical comparison among the upper bound proposed in [28], the upper bound given in (33), and the Monte Carlo simulation results. For the simulation setup, we also select nn as short as n=8n=8 and set the Monte Carlo Simulation sample size as 10410^{4} to obtain the simulated error probability. From Fig. 3, we can see a superior bounding performance of the proposed upper bound with wide ranges of SNR. That is, the proposed upper bound remains a closer gap with the Monte Carlo Simulation results compared to that in [28]. As the proposed bound further narrows the gap with the simulated results, it can provide a more exact performance approximation for Spinal codes.

VI-B Rate Performance

Fig. 4 shows the rate performance comparisons among the proposed TITT transmission scheme, the uniform-puncturing-based transmission scheme (referred to as UP scheme), and the pass-by-pass transmission scheme. The simulation results in Fig. 4 (a) are conducted over the AWGN channel model, while those in Fig. 4 (b) are obtained over the BSC model. Here we leverage the bubble decoding algorithm with B=64B=64 for the simulation setup. It can be seen that the proposed TITT scheme outperforms the UP scheme and the pass-by-pass transmission scheme over both the BSC and the AWGN channel.

VI-C Decoding Complexity

Refer to caption
Figure 5: The average normalized decoding time of different ‘transmission scheme - decoding algorithm’ pairs.

Fig. 5 gives the average normalized decoding time of different ‘transmission scheme - decoding algorithm’ pairs. For the comparison purpose, we count the elapsed time required for successfully decoding 10410^{4} packets and obtain the relative decoding time as in Fig. 5. From Fig. 5, we can observe that the proposed TITT scheme exhibits lower complexity than the uniform-puncturing-based transmission scheme. The reason is that the TITT scheme requires fewer coded symbols for successful decoding, thereby reducing the decoding attempts at the decoder.

Furthermore, we can also observe that the proposed BD-M algorithm reduces the decoding time for both the UP scheme and the proposed TITT scheme, demonstrating its superiority of decoding efficiency compared to the original bubble decoding algorithm. In comparison, the reduced decoding time for TITT scheme is more evident than that for the UP, verifying the compatibility between the proposed BD-M algorithm and the TITT transmission scheme. Combining the simulation results given in Fig. 4 and Fig. 5, we find that the designed TITT scheme at the transmitter and the proposed BD-M algorithm at the receiver jointly constitute a dynamic transmission-decoding system for Spinal codes. With this combination implementation, both the rate performance and the decoding complexity of Spinal codes are improved.

VII Conclusions

This paper analyzed the error probability of Spinal codes over both the BSC and the AWGN channel and derived new upper bounds on the ML decoding error probability. Based on the derived upper bounds, the improved transmission scheme is designed to increase the code rate of Spinal codes further. Furthermore, to address the issue of decoding complexity, we prove that the decoding tree only changes partially during the dynamic transmission-decoding process. Inspired by this idea, we design a partial-tree-updating BD-M algorithm, which matches the TITT scheme perfectly.

The work in this paper may also stimulate further research interests and efforts in related topics. The derived upper bounds can provide theoretical support and guidance for designing other high-efficiency coding-associated techniques, such as unequal error protection and concatenation with outer codes. In addition, the idea of partial-tree-updating decoding also provides a framework to further improve the decoding efficiency of other state-of-the-art decoding algorithms in the literature. For example, the FSD with memory and the SFD with memory algorithms may also be invented.

Appendix A An approach to calculate E0(𝒬)E_{0}\left({\mathcal{Q}}\right)

For our considered Spinal codes based system, the channel input set is Ω={0,1,2,,2c1}\Omega=\left\{0,1,2,\cdots,2^{c}-1\right\}, wherein each coded symbol follows the uniform distribution with 𝒬(x)=2c\mathcal{Q}\left(x\right)=2^{-c}. Applying these in (8b) results in the equality:

E0(𝒬)\displaystyle{E_{0}}\left(\mathcal{Q}\right) =log{12πσ2×(iΩ2cexp((yi)24σ2))2𝑑y}\displaystyle=-\log\left\{{\frac{1}{{\sqrt{2\pi{\sigma^{2}}}}}\times\int_{\mathbb{R}}{{{\left({\sum\limits_{i\in\Omega}{{2^{-c}}\cdot\exp\left({-\frac{{{{\left({y-i}\right)}^{2}}}}{{4{\sigma^{2}}}}}\right)}}\right)}^{2}}dy}}\right\}
=log{22c2πσ2×(iΩexp((yi)24σ2))2𝑑y}\displaystyle=-\log\left\{{\frac{{{2^{-2c}}}}{{\sqrt{2\pi{\sigma^{2}}}}}\times\int_{\mathbb{R}}{{{\left({\sum\limits_{i\in\Omega}{\exp\left({-\frac{{{{\left({y-i}\right)}^{2}}}}{{4{\sigma^{2}}}}}\right)}}\right)}^{2}}dy}}\right\}
=log{22c2πσ2×(jΩiΩexp((yi)24σ2(yj)24σ2))𝑑y}\displaystyle=-\log\left\{{\frac{{{2^{-2c}}}}{{\sqrt{2\pi{\sigma^{2}}}}}\times\int_{\mathbb{R}}{\left({\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\exp\left({-\frac{{{{\left({y-i}\right)}^{2}}}}{{4{\sigma^{2}}}}-\frac{{{{\left({y-j}\right)}^{2}}}}{{4{\sigma^{2}}}}}\right)}}}\right)dy}}\right\}
=log{22c2πσ2×jΩiΩexp((yi)24σ2(yj)24σ2)𝑑y}\displaystyle=-\log\left\{{\frac{{{2^{-2c}}}}{{\sqrt{2\pi{\sigma^{2}}}}}\times\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\int_{\mathbb{R}}{\exp\left({-\frac{{{{\left({y-i}\right)}^{2}}}}{{4{\sigma^{2}}}}-\frac{{{{\left({y-j}\right)}^{2}}}}{{4{\sigma^{2}}}}}\right)dy}}}}\right\}
=log{22c2πσ2×jΩiΩexp(2(yi+j2)2+12(ij)24σ2)𝑑y}\displaystyle=-\log\left\{{\frac{{{2^{-2c}}}}{{\sqrt{2\pi{\sigma^{2}}}}}\times\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\int_{\mathbb{R}}{\exp\left({-\frac{{2{{(y-\frac{{i+j}}{2})}^{2}}+\frac{1}{2}{{\left({i-j}\right)}^{2}}}}{{4{\sigma^{2}}}}}\right)dy}}}}\right\}
=log{22c2πσ2×jΩiΩexp((ij)28σ2)exp((yi+j2)22σ2)𝑑y}\displaystyle=-\log\left\{{\frac{{{2^{-2c}}}}{{\sqrt{2\pi{\sigma^{2}}}}}\times\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\exp\left({-\frac{{{{\left({i-j}\right)}^{2}}}}{{8{\sigma^{2}}}}}\right)\int_{\mathbb{R}}{\exp\left({-\frac{{{{\left({y-\frac{{i+j}}{2}}\right)}^{2}}}}{{2{\sigma^{2}}}}}\right)dy}}}}\right\}
=log{22c×jΩiΩexp((ij)28σ2)}.\displaystyle=-\log\left\{{{2^{-2c}}\times\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\exp\left({-\frac{{{{\left({i-j}\right)}^{2}}}}{{8{\sigma^{2}}}}}\right)}}}\right\}.

By calculating jΩiΩexp((ij)28σ2)\sum\limits_{j\in\Omega}{\sum\limits_{i\in\Omega}{\exp\left({-\frac{{{{\left({i-j}\right)}^{2}}}}{{8{\sigma^{2}}}}}\right)}}, one can obtain the numerical result of E0(𝒬)E_{0}\left(\mathcal{Q}\right).

Appendix B Proof of Lemma 1

We notice that if we let r=σxr=\sigma x and compute the differential dr=σdxdr=\sigma dx, we can obtain that

0𝒟r2La1er22σ2𝑑r=r=σxσ2La0𝒟/σx2La1ex22𝑑x.\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr\overset{r=\sigma x}{=}\sigma^{2L_{a}}\cdot\int\limits_{0}^{\mathcal{D/\sigma}}{{x^{2{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx. (38)

We begin with considering the indefinite form of the RHS of (38). Note that the indefinite integral x2La1ex22𝑑r{\int{{x^{2{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dr} is composed by two parts: x2La1x^{2L_{a}-1} and ex22σ2e^{\frac{-x^{2}}{2\sigma^{2}}}, we can do this integral by iteratively introducing the method of integration by parts as:

x2La1ex22𝑑x=x2La2ex22+(2La2)x2La3ex22𝑑x,x2La3ex22𝑑x=x2La4ex22+(2La4)x2La5ex22𝑑x,x3ex22𝑑x=x2ex22+2xex22𝑑x,xex22𝑑x=ex22+C.\begin{array}[]{c}{\int{{x^{2{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx}={-{x^{2L_{a}-2}}{e^{-\frac{{{x^{2}}}}{2}}}}+\left({2L_{a}-2}\right)\int{{x^{2L_{a}-3}}}{e^{-\frac{{{x^{2}}}}{2}}}dx,\\ {\int{{x^{2{L_{a}}-3}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx}={-{x^{2L_{a}-4}}{e^{-\frac{{{x^{2}}}}{2}}}}+\left({2L_{a}-4}\right)\int{{x^{2L_{a}-5}}}{e^{-\frac{{{x^{2}}}}{2}}}dx,\\ \vdots\\ {\int{{x^{3}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx}={-{x^{2}}{e^{-\frac{{{x^{2}}}}{2}}}}+2\int{{x}}{e^{-\frac{{{x^{2}}}}{2}}}dx,\\ {\int{{x}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx}=-e^{-\frac{{{x^{2}}}}{2}}+C.\end{array}

Hence, let an(x)=xnex22𝑑xa_{n}\left(x\right)=\int x^{n}e^{-\frac{x^{2}}{2}}dx and we obtain the recurrence relation that

a2n1(x)=x2n2ex22+(2n2)a2n3(x),n+a1(x)=ex22+C.\begin{array}[]{c}a_{2n-1}\left(x\right)=-x^{2n-2}e^{-\frac{x^{2}}{2}}+\left(2n-2\right)a_{2n-3}\left(x\right),n\in\mathbb{N}^{+}\\ a_{1}(x)=-e^{-\frac{{{x^{2}}}}{2}}+C.\end{array}

With the recursive formula we obtain the explicit expression of a2n1(x)a_{2n-1}\left(x\right) as:

a2n1(x)=ex22i=1nx2(ni)j=1i12(nj)+C1.a_{2n-1}\left(x\right)={-{e^{\frac{{-{x^{2}}}}{2}}}\sum\limits_{i=1}^{n}{{x^{2\left({n-i}\right)}}}\prod\limits_{j=1}^{i-1}{2\left({n-j}\right)}}+C_{1}. (39)

Applying (39) in (38) results in the solution that

0𝒟r2La1er22σ2𝑑r=σ2La(a2La1(𝒟/σ)a2La1(0))\displaystyle\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr=\sigma^{2L_{a}}\left(a_{2L_{a}-1}\left({\mathcal{D}}/{\sigma}\right)-a_{2L_{a}-1}\left(0\right)\right) (40)
=σ2La(e𝒟22σ2i=1La𝒟2(Lai)σ2(Lai)j=1i12(nj)+j=1La12(nj)).\displaystyle={\sigma^{2L_{a}}}\left({-{e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{L_{a}}{\frac{{{\mathcal{D}^{2\left({L_{a}-i}\right)}}}}{{{\sigma^{2\left({L_{a}-i}\right)}}}}}\prod\limits_{j=1}^{i-1}2\left({n-j}\right)+\prod\limits_{j=1}^{L_{a}-1}2\left({n-j}\right)}\right).

Let ij=1i2(Laj)\mathcal{I}_{i}\triangleq\prod\limits_{j=1}^{i}{2\left({L_{a}-j}\right)} and we can simply (40) as

0𝒟r2La1er22σ2𝑑r=σ2La(e𝒟22σ2i=1La𝒟2(Lai)σ2(Lai)i1+La1).{\int\limits_{0}^{\mathcal{D}}{{r^{2{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr}={\sigma^{2L_{a}}}\left({-{e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{L_{a}}{\frac{{{\mathcal{D}^{2\left({L_{a}-i}\right)}}}}{{{\sigma^{2\left({L_{a}-i}\right)}}}}}\mathcal{I}_{i-1}+\mathcal{I}_{L_{a}-1}}\right). (41)

Appendix C Proof of Lemma 2

Let r=σxr=\sigma x and we obtain that

𝒟rLa1er22σ2𝑑r=r=σxσLa𝒟/σxLa1ex22𝑑x.\int\limits_{\mathcal{D}}^{\infty}{{r^{{L_{a}}-1}}}{e^{-\frac{{{r^{2}}}}{{2{\sigma^{2}}}}}}dr\overset{r=\sigma x}{=}\sigma^{L_{a}}\cdot\int\limits_{\mathcal{D}/\sigma}^{\infty}{{x^{{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx. (42)

If LaL_{a} is even, the solution to indefinite integral xLa1ex22𝑑x\int x^{L_{a}-1}e^{-\frac{x^{2}}{2}}dx can be obtained from (39):

xLa1ex22𝑑x=aLa1(x)=La=2na2n1(x)\displaystyle\int x^{L_{a}-1}e^{-\frac{x^{2}}{2}}dx=a_{L_{a}-1}\left(x\right)\overset{L_{a}=2n}{=}{a_{2n-1}\left(x\right)} (43)
=i=1nx2(ni)j=1i12(nj)ex22+C1\displaystyle={-\sum\limits_{i=1}^{n}{{x^{2\left({n-i}\right)}}}\prod\limits_{j=1}^{i-1}{2\left({n-j}\right){e^{\frac{{-{x^{2}}}}{2}}}}}+C_{1}
=n=La2i=1La/2x2(La/2i)j=1i12(La/2j)ex22+C1.\displaystyle\overset{n=\frac{L_{a}}{2}}{=}{-\sum\limits_{i=1}^{L_{a}/2}{{x^{2\left({L_{a}/2-i}\right)}}}\prod\limits_{j=1}^{i-1}{2\left({L_{a}/2-j}\right){e^{\frac{{-{x^{2}}}}{2}}}}}+C_{1}.

Let 𝒦ij=1i(La2j)\mathcal{K}_{i}\triangleq\prod\limits_{j=1}^{i}{\left({L_{a}-2j}\right)}, and the definite integral can be calculated by

𝒟/σxLa1ex22𝑑x=e𝒟22σ2i=1La/2𝒟(La2i)σ(La2i)𝒦i1.\int\limits_{\mathcal{D}/\sigma}^{\infty}{{x^{{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx={e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{{L_{a}}/2}{\frac{{{\mathcal{D}^{\left({{L_{a}}-2i}\right)}}}}{{{\sigma^{\left({{L_{a}}-2i}\right)}}}}}\mathcal{K}_{i-1}. (44)

If LaL_{a} is odd, notice that aLa1(x)=La=2n+1a2n(x)a_{L_{a}-1}\left(x\right)\overset{L_{a}=2n+1}{=}{a_{2n}\left(x\right)}, we can iteratively introduce the method of integration by parts and obtain the recurrence relation that:

a2n(x)=x2n1ex22+(2n1)a2n3(x),n+,a0(x)=ex22𝑑x.\begin{array}[]{c}a_{2n}\left(x\right)=-x^{2n-1}e^{-\frac{x^{2}}{2}}+\left(2n-1\right)a_{2n-3}\left(x\right),n\in\mathbb{N}^{+},\\ a_{0}(x)={\int{e^{-\frac{{{x^{2}}}}{{2}}}}dx}.\end{array}

By solving the above recursive formula, we can obtain the explicit expression of a2n(x)a_{2n}\left(x\right) as:

a2n(x)=i=1nx2(ni)+1j=1i1(2(nj)+1)ex22+j=1n1(2(nj)+1)a0(x).a_{2n}\left(x\right)=-\sum\limits_{i=1}^{n}{{x^{2\left({n-i}\right)+1}}}\prod\limits_{j=1}^{i-1}{\left({2\left({n-j}\right)+1}\right){e^{\frac{{-{x^{2}}}}{2}}}}+\prod\limits_{j=1}^{{n}-1}{\left({2\left({n-j}\right)+1}\right)a_{0}\left(x\right)}. (45)

As such, we have:

xLa1ex22𝑑x=aLa1(x)=La=2n+1a2n(x)\displaystyle\int x^{L_{a}-1}e^{-\frac{x^{2}}{2}}dx=a_{L_{a}-1}\left(x\right)\overset{L_{a}=2n+1}{=}{a_{2n}\left(x\right)} (46)
=ex22i=1nx2(ni)+1j=1i1(2(nj)+1)+j=1n1(2(nj)+1)a0(x)\displaystyle=-{e^{\frac{{-{x^{2}}}}{2}}}\sum\limits_{i=1}^{n}{{x^{2\left({n-i}\right)+1}}}\prod\limits_{j=1}^{i-1}{\left({2\left({n-j}\right)+1}\right)}+\prod\limits_{j=1}^{{n}-1}{\left({2\left({n-j}\right)+1}\right)a_{0}\left(x\right)}
=ex22i=1(La1)/2xLa2i𝒦i1+a0(x)𝒦(La3)/2.\displaystyle=-{e^{\frac{{-{x^{2}}}}{2}}}\sum\limits_{i=1}^{\left(L_{a}-1\right)/2}{{x^{L_{a}-2i}}}\mathcal{K}_{i-1}+a_{0}\left(x\right)\mathcal{K}_{\left(L_{a}-3\right)/2}.

Note that

limxa0(x)a0(𝒟/σ)=2πQ(𝒟/σ),\lim\limits_{x\to\infty}{a_{0}\left(x\right)}-a_{0}\left(\mathcal{D/\sigma}\right)=\sqrt{2\pi}Q\left(\mathcal{D/\sigma}\right), (47)

where Q()Q\left(\cdot\right) is the Q function with Q(x)=x12πet22𝑑tQ\left(x\right)=\int_{x}^{\infty}\frac{1}{\sqrt{2\pi}}e^{-\frac{t^{2}}{2}}dt. The definite integral in the RHS of (42) is then given as:

𝒟/σxLa1ex22𝑑x\displaystyle\int\limits_{\mathcal{D}/\sigma}^{\infty}{{x^{{L_{a}}-1}}}{e^{-\frac{{{x^{2}}}}{{2}}}}dx =e𝒟22σ2i=1(La1)/2𝒟La2iσLa2i𝒦i1+𝒦(La3)/2𝒟/σex22𝑑x\displaystyle={e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{\left({{L_{a}}-1}\right)/2}{\frac{{{\mathcal{D}^{{L_{a}}-2i}}}}{{{\sigma^{{L_{a}}-2i}}}}}\mathcal{K}_{i-1}+\mathcal{K}_{\left(L_{a}-3\right)/2}{\int\limits_{\mathcal{D}/\sigma}^{\infty}{e^{-\frac{{{x^{2}}}}{{2}}}}dx} (48)
=e𝒟22σ2i=1(La1)/2𝒟La2iσLa2i𝒦i1+2πQ(𝒟/σ)𝒦(La3)/2\displaystyle={e^{\frac{{-{\mathcal{D}^{2}}}}{{2{\sigma^{2}}}}}}\sum\limits_{i=1}^{\left({{L_{a}}-1}\right)/2}{\frac{{{\mathcal{D}^{{L_{a}}-2i}}}}{{{\sigma^{{L_{a}}-2i}}}}}\mathcal{K}_{i-1}+{\sqrt{2\pi}Q\left(\mathcal{D/\sigma}\right)}\mathcal{K}_{\left(L_{a}-3\right)/2}

Substitute (48) into (42) and we obtain the solution.

Appendix D Proof of Theorem 4

For ML decoding over the BSC, the Euclidean distance should be replaced by the Hamming distance:

M^=argminM{0,1}nyx(M)=argminM{0,1}ni=1n/kj=1iyi,jf(xi,j(M)).\hat{M}=\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\|\textbf{y}-\textbf{x}(M^{\prime})\|\\ =\mathop{\arg\min}_{M^{\prime}\in\left\{0,1\right\}^{n}}\sum_{i=1}^{n/k}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}\oplus\operatorname{f}({x}_{i,j}({M}^{\prime}))\|.

If the crossover probability of the BSC is pp, we have yi,j=f(xi,j(M))ei,jy_{i,j}=\operatorname{f}({x}_{i,j}({M}))\oplus e_{i,j}, where ei,je_{i,j} obeys the Bernoulli distribution with parameter pp.

Similarly, we can classify the candidate sequence set {0,1}n\left\{0,1\right\}^{n} into categories: the correct sequence and the the wrong sequences. The cost of correct candidate sequences can be calculated as

D(M)=i=1n/kj=1iyi,jf(xi,j(M))=i=1n/kj=1iei,j.D(M)=\sum_{i=1}^{n/k}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}\oplus\operatorname{f}({x}_{i,j}({M}))\|=\sum_{i=1}^{n/k}\sum_{j=1}^{\ell_{i}}e_{i,j}.

Then, it can be shown that D(M)D(M) obeys a binomial distribution with

(D(M)=d)=(L1d)pd(1p)L1d.\displaystyle\mathbb{P}\left({D(M)=d}\right)=\left({\begin{array}[]{*{20}{c}}{{L_{1}}}\\ d\end{array}}\right){p^{d}}{\left({1-p}\right)^{{L_{1}}-d}}. (49)

By similarly adopting the union bound of probability, we have

(E1)M𝒲1(D(M)D(M))=d=0L1(D(M)=d)M𝒲1(D(M)d|D(M)=d).\mathbb{P}\left({{E_{1}}}\right)\leq\sum\limits_{M^{\prime}\in\mathcal{W}_{1}}{\mathbb{P}\left({D\left(M^{\prime}\right)\leq D(M)}\right)}{\rm{=}}\sum\limits_{d=0}^{{L_{1}}}{\mathbb{P}\left({D(M)=d}\right)\sum\limits_{M^{\prime}\in\mathcal{W}_{1}}{\mathbb{P}\left({D\left(M^{\prime}\right)\leq d}|D(M)=d\right)}}. (50)

The cost of wrong candidate sequence D(M)D(M^{\prime}) can be calculated as

D(M)=i=1n/kj=1if(xi,j(M))ei,jf(xi,j(M)).D(M^{\prime})=\sum_{i=1}^{n/k}\sum_{j=1}^{\ell_{i}}\|\operatorname{f}({x}_{i,j}({M}))\oplus e_{i,j}\oplus\operatorname{f}({x}_{i,j}({M^{\prime}}))\|.

Note that W𝒲1W^{\prime}\in\mathcal{W}_{1}, we can verify that all the coded symbols f(xi,j(M))\operatorname{f}(x_{i,j}(M^{\prime})) follows Bernoulli distribution with parameter 1/21/2. Thus, we have

(D(M)d)=t=0d(L1t)2L1.\mathbb{P}\left({D\left(M^{\prime}\right)\leq d}\right)=\sum\limits_{t=0}^{d}{\left({\begin{array}[]{*{20}{c}}{{L_{1}}}\\ t\end{array}}\right)}{2^{-{L_{1}}}}.

It can be noted that the distribution of D(M)D(M^{\prime}) is not related to the noise 𝐞\bf e and the correct encoded symbols generated by 𝐱(M){\bf x}(M). Then, it holds that

(D(M)d|D(M)=d)=(D(M)d)=t=0d(L1t)2L1{\mathbb{P}\left({D\left(M^{\prime}\right)\leq d}|D(M)=d\right)}=\mathbb{P}\left({D\left(M^{\prime}\right)\leq d}\right)=\sum\limits_{t=0}^{d}{\left({\begin{array}[]{*{20}{c}}{{L_{1}}}\\ t\end{array}}\right)}{2^{-{L_{1}}}} (51)

By substituting (49) and (51) into (50), we have

(E1)d=0L1((L1d)pa(1p)L1dmin(1,R1,d)),\displaystyle{\mathbb{P}\left({E_{1}}\right)}\leq\sum\limits_{d=0}^{{L_{1}}}{\left({\left({\begin{array}[]{*{20}{c}}{{L_{1}}}\\ d\end{array}}\right){p^{a}}{{\left({1-p}\right)}^{{L_{1}}-d}}\cdot\min\left({1,{R_{1,d}}}\right)}\right)}, (52)

where R1,dR_{1,d} is calculated using

R1,d=(2k1)2nkt=0d(L1t)2L1.{R_{1,d}}=\left({{2^{k}}-1}\right){2^{n-k}}\sum\limits_{t=0}^{d}{\left({\begin{array}[]{*{20}{c}}{{L_{1}}}\\ t\end{array}}\right)}{2^{-{L_{1}}}}.

The process above can be performed similarly and it holds that

(Ea|E¯1,,E¯a1)d=0i((Lad)pd(1p)Ladmin(1,Ra,d)).\mathbb{P}({E}_{a}|\overline{E}_{1},\ldots,\overline{E}_{a-1})\leq\sum\limits_{d=0}^{{\ell_{i}}}{\left({\left({\begin{array}[]{*{20}{c}}{{L_{a}}}\\ d\end{array}}\right){p^{d}}{{\left({1-p}\right)}^{{L_{a}}-d}}\cdot\min\left({1,{R_{a,d}}}\right)}\right)}.\\ (53)

At last, by substituting (52) and (53) into (16), the proof of Theorem 4 is finished.

Appendix E Proof of Theorem 5

Note that the cost calculation at each decoding tree layer is implemented by

Cλ=i=1λj=1iyi,jf(xi,j(M))2,C_{\lambda}=\sum_{i=1}^{\lambda}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}-\operatorname{f}({x}_{i,j}({M}^{\prime}))\|^{2}, (54)

Provided that ya,a+1y_{a,\ell_{a}+1} is newly received, and denote cost of the updated decoding tree at layer λ\lambda as CλC^{\prime}_{\lambda}, then the costs at layer λ<a\lambda<a remains the same as (54), with

Cλ=i=1λj=1iyi,jf(xi,j(M))2=Cλ,for λ<a.C^{\prime}_{\lambda}=\sum_{i=1}^{\lambda}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}-\operatorname{f}({x}_{i,j}({M}^{\prime}))\|^{2}=C_{\lambda},{\text{\rm for }\lambda<a}. (55)

However, for λa\lambda\geq a, CλC^{\prime}_{\lambda} turns to

Cλ\displaystyle C^{\prime}_{\lambda} =i=1λj=1iyi,jf(xi,j(M))2+ya,a+1f(xa,a+1(M))2\displaystyle=\sum_{i=1}^{\lambda}\sum_{j=1}^{\ell_{i}}\|{y}_{i,j}-\operatorname{f}({x}_{i,j}({M}^{\prime}))\|^{2}+\|{y}_{a,\ell_{a}+1}-\operatorname{f}({x}_{a,\ell_{a}+1}({M}^{\prime}))\|^{2} (56)
=Cλ+ya,a+1f(xa,a+1(M))2,for λa.\displaystyle=C_{\lambda}+\|{y}_{a,\ell_{a}+1}-\operatorname{f}({x}_{a,\ell_{a}+1}({M}^{\prime}))\|^{2},{\text{\rm for }\lambda\geq a}.

Appendix F Proof of (37)

For the improved transmission scheme which combines the uniform puncturing with the incremental tail transmission, it is easy to find that

11,22,,n/k1n/k1,n/kn/k.{\ell^{\prime}_{1}}\leq{\ell_{1}},{\ell^{\prime}_{2}}\leq{\ell_{2}},\dots,{\ell^{\prime}_{n/k-1}}\leq{\ell_{n/k-1}},{\ell^{\prime}_{n/k}}\geq{\ell_{n/k}}. (57)

As the rate corresponding to the improved transmission scheme is higher than the rate when using uniform puncturing, it turns out that

i=1n/kii=1n/ki.\sum\limits_{i=1}^{n/k}{{\ell_{i}}}\geq\sum\limits_{i=1}^{n/k}{{\ell^{\prime}_{i}}}. (58)

According to (57), we assume that i+ri=i{\ell^{\prime}_{i}}+{r_{i}}={\ell_{i}} for 1in/k11\leq i\leq n/k-1 and n/krn/k=n/k{\ell^{\prime}_{n/k}}-{r_{n/k}}={\ell_{n/k}}, where ri0{r_{i}}\geq 0. Substituting them into (58), we can have

i=1n/k1rirn/k.\sum\limits_{i=1}^{n/k-1}{{r_{i}}}\geq{r_{n/k}}. (59)

Therefore, we obtain that

i=1n/k(ii)oi\displaystyle\sum\limits_{i=1}^{n/k}{\left({{\ell_{i}}-{\ell^{\prime}_{i}}}\right){o_{i}}} =i=1n/k1rioirn/kon/k\displaystyle=\sum\limits_{i=1}^{n/k-1}{{r_{i}}{o_{i}}-{r_{n/k}}{o_{n/k}}} (60)
i=1n/k1rioii=1n/k1rion/k\displaystyle\geq\sum\limits_{i=1}^{n/k-1}{{r_{i}}{o_{i}}-\sum\limits_{i=1}^{n/k-1}{{r_{i}}}{o_{n/k}}}
=i=1n/k1ri(oion/k)>0.\displaystyle=\sum\limits_{i=1}^{n/k-1}{{r_{i}}\left({{o_{i}}-{o_{n/k}}}\right)}>0.

References

  • [1] J. Perry, H. Balakrishnan, and D. Shah, “Rateless Spinal Codes,” Proceedings of the 10th ACM Workshop on Hot Topics in Networks, Art. no. 6, 2011.
  • [2] H. Balakrishnan, P. Iannucci, J. Perry, and D. Shah, “De-randomizing Shannon: The design and Analysis of a Capacity-Achieving Rateless Code,” arXiv preprint arXiv:1206.0418, 2012. Available: http://arxiv.org/pdf/1206.0418v1.pdf.
  • [3] J.Perry, P. A. Lannucci, K. Fleming, H. Balakrishnan, “Spinal Codes,” Proceedings of the ACM SIGCOMM 2012 conference, pp. 49-60, 2012.
  • [4] R. Gallager, “Low-Density Parity-Check codes,” IRE Transactions on Information Theory, 8(1):21–28, 1962.
  • [5] A. Shokrollahi, “Raptor Codes,” IEEE Transactions on Information Theory, vol. 52, no. 6, pp. 2551–2567, 2006.
  • [6] U. Erez, M. D. Trott, and G. W. Wornell, “Rateless Coding for Gaussian Ghannels,” IEEE Transactions on Information Theory, vol. 58, no. 2, pp. 530–547, 2012.
  • [7] A. Gudipati and S. Katti, “Strider: Automatic Rate Adaptation and Collision Handling,” Proceedings of the ACM SIGCOMM 2011 conference, 2011.
  • [8] F. Jelinek, “Fast Sequential Decoding Algorithm Using a Stack,” IBM Journal of Research and Development, vol. 13, no. 6, pp. 675-685, 2010.
  • [9] W. Yang, Y. Li, X. Yu and J. Li, “A Low Complexity Sequential Decoding Algorithm for Rateless Spinal Codes,” IEEE Communications Letters, vol. 19, no. 7, pp. 1105-1108, July 2015.
  • [10] S. Xu, S. Wu, J. Luo, J. Jiao and Q. Zhang, “Low Complexity Decoding for Spinal Codes: Sliding Feedback Decoding,” 2017 IEEE 86th Vehicular Technology Conference (VTC-Fall), Toronto, ON, pp. 1-5, 2017.
  • [11] Y. Hu, R. Liu, H. Bian and D. Lyu, “Design and Analysis of a Low-Complexity Decoding Algorithm for Spinal Codes,” IEEE Transactions on Vehicular Technology, vol. 68, no. 5, pp. 4667-4679, 2019.
  • [12] J. Hagenauer, “Rate-Compatible Punctured Convolutional Codes (RCPC codes) and Their Applications,” IEEE Transactions on Communications, vol. 36, no. 4, pp. 389–400, Apr. 1988.
  • [13] J. Ha, J. Kim, and S. W. McLaughlin, “Rate-Compatible Puncturing of Low-Density Parity-Check codes,” IEEE Transactions on Information Theory, vol. 50, no. 11, pp. 2824–2836, 2004.
  • [14] S. Sesia, G. Caire, and G. Vivier, “Incremental Redundancy Hybrid ARQ Schemes Based on Low-Density Parity-Check Codes,” IEEE Transactions on Communications, vol. 52, no. 8, pp. 1311–1321, 2004.
  • [15] D. G. M. Mitchell, M. Lentmaier, A. E. Pusane and D. J. Costello, “Randomly Punctured LDPC Codes,” IEEE Journal on Selected Areas in Communications, vol. 34, no. 2, pp. 408-421, Feb. 2016.
  • [16] R. Garzón-Bohórquez, C. Abdel Nour and C. Douillard, “Protograph-Based Interleavers for Punctured Turbo Codes,” IEEE Transactions on Communications, vol. 66, no. 5, pp. 1833-1844, May 2018.
  • [17] K. Niu, K. Chen and J. Lin, “Beyond turbo codes: Rate-compatible punctured polar codes,” 2013 IEEE International Conference on Communications (ICC), 2013, pp. 3423-3427.
  • [18] R. Wang and R. Liu, “A Novel Puncturing Scheme for Polar Codes,” IEEE Communications Letters, vol. 18, no. 12, pp. 2081-2084, Dec. 2014.
  • [19] Y. Li, J. Wu, B. Tan, M. Wang and W. Zhang, “Compressive Spinal Codes,” IEEE Transactions on Vehicular Technology, vol. 68, no. 12, pp. 11944-11954, 2019.
  • [20] J. Xu, S. Wu, J. Jiao and Q. Zhang, “Optimized Puncturing for the Spinal Codes,” 2019 IEEE International Conference on Communications (ICC), Shanghai, China, pp. 1-5, 2019.
  • [21] I. Sason and S. Shamai (Shitz), “Improved Upper Bounds on the Ensemble Performance of ML Decoded Low Density Parallel Check Codes,” IEEE Communications Letter, vol. 4, pp. 89–91, Mar. 2000.
  • [22] I. Goldenberg and D. Burshtein, “Upper Bound on Error Exponent of Regular LDPC Codes Transmitted Over the BEC,,” IEEE Transactions on Information Theory, vol. 55, no. 6, pp. 2674-2681, June 2009.
  • [23] I. Sason and S. Shamai (Shitz), “Improved Upper Bounds on the Decoding Error Probability of Parallel and Serial Concatenated Turbo Codes via Their Ensemble Distance Spectrum,” IEEE Transactions on Information Theory, vol. 46, no. 1, pp. 1–23, Jan. 2000.
  • [24] T. M. Duman and M. Salehi, “New Performance Bounds for Turbo Codes,” IEEE Transactions on Communications, vol. 46, no. 6, pp. 717–723, June 1998.
  • [25] I. Sason and S. Shamai (Shitz), “On Improved Bounds on the Decoding Error Probability of Block Codes over Interleaved Fading Channels, with Applications to Turbo-like Codes,” IEEE Transactions on Information Theory, vol. 47, no. 6, pp. 2275–2299, Nov. 2001.
  • [26] D. Goldin and D. Burshtein, “Performance Bounds of Concatenated Polar Coding Schemes,” IEEE Transactions on Information Theory, vol. 65, no. 11, pp. 7131-7148, Nov. 2019.
  • [27] B. Shuval and I. Tal, “A Lower Bound on the Probability of Error of Polar Codes over BMS Channels,” IEEE Transactions on Information Theory, vol. 65, no. 4, pp. 2021-2045, April 2019.
  • [28] X. Yu, Y. Li, W. Yang, and Y. Sun, “Design and Analysis of Unequal Error Protection Rateless Spinal Codes,” IEEE Transactions on Communications, vol. 64, no. 11, pp. 4461–4473, 2016.
  • [29] A. Li, S. Wu, Y. Wang, J. Jiao and Q. Zhang, “Spinal Codes over BSC: Error Probability Analysis and the Puncturing Design,” 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring), Antwerp, Belgium, pp. 1-5, 2020.
  • [30] R. G. Gallager, Information theory and reliable communication, New York: Wiley, 1968.
  • [31] Y. Polyanskiy, H. V. Poor, and S. Verdu, “Channel Coding Rate in the Finite Blocklength Regime,” IEEE Transactions on Information Theory, vol. 56, no. 5, pp. 2307–2359, 2010.
  • [32] J. Scott, “82.18 The Volume of the n-ball – I,” The Mathematical Gazette, vol. 82, no. 493, pp. 104-105, 1998.