Dependence Analysis and Structured Construction for Batched Sparse Code

Jiaxin Qing, Xiaohong Cai, Yijun Fan, Mingyang Zhu, and Raymond W. Yeung J. Qing, X. Cai, and Y. Fan are with the Department of Information Engineering, The Chinese University of Hong Kong, Hong Kong SAR (emails: {jqing, cx021, fy022}@ie.cuhk.edu.hk).M. Zhu is with the Institute of Network Coding, The Chinese University of Hong Kong (email: [email protected])R. W. Yeung is with the Department of Information Engineering, The Chinese University of Hong Kong, Hong Kong SAR. R. W. Yeung is also with the Institute of Network Coding, The Chinese University of Hong Kong, and he is also a Principal Investigator of the Centre for Perceptual and Interactive Intelligence (CPII) Limited (email: [email protected]). The work of R. W. Yeung was supported in part by a fellowship award from the Research Grants Council of the Hong Kong Special Administrative Region, China under Grant CUHK SRFS2223-4S03.
Abstract

In coding theory, codes are usually designed with a certain level of randomness to facilitate analysis and accommodate different channel conditions. However, the resulting random code constructed can be suboptimal in practical implementations. Represented by a bipartite graph, the Batched Sparse Code (BATS Code) is a randomly constructed erasure code that utilizes network coding to achieve near-optimal performance in wireless multi-hop networks. In the performance analysis in the previous research, it is implicitly assumed that the coded batches in the BATS code are independent. This assumption holds only asymptotically when the number of input symbols is infinite, but it does not generally hold in a practical setting where the number of input symbols is finite, especially when the code is constructed randomly. We show that dependence among the batches significantly degrades the code’s performance. In order to control the batch dependence through graphical design, we propose constructing the BATS code in a structured manner. A hardware-friendly structured BATS code called the Cyclic-Shift BATS (CS-BATS) code is proposed, which constructs the code from a small base graph using light-weight cyclic-shift operations. We demonstrate that when the base graph is properly designed, a higher decoding rate and a smaller complexity can be achieved compared with the random BATS code.

I Introduction

The sixth-generation communication (6G) is envisioned to be reliable and intelligent, providing seamless connectivity for global computing and broadband coverage. It will be the key infrastructure that supports an even higher density of connections from a wider variety of devices than 5G, such as mobile phones, vehicles, wireless sensors, and other edge devices, creating a massive wireless network where different nodes are connected and communicating through each other [1, 2]. The wireless multi-hop network is a commonly used model to study data transmission in wireless mesh networks and empowers a wide range of applications, such as integrated ground-air-space networks [3], smart sensing [4], autonomous driving [5, 6], internet-of-things [7] and integrated access-backhaul networks (IAB) [8], etc., which is crucial for providing a seamless, stable and intelligent communication experience for users.

Refer to caption
Figure 1: Graphical Representation of the BATS Code. The input symbols are represented by circles (variable nodes). The batches are represented by squares (check nodes), which consist of several coded symbols.

However, data loss is inevitable in wireless communication because of certain physical phenomena, such as refraction, diffraction, and multipath reflection, as electromagnetic waves propagate through the air. From the upper layer protocols’ perspective, data are represented as packets. An erasure channel can model the data transmission, where a packet is either lost or well-received. In addition to the loss induced in the physical layer, packets can also be lost due to channel congestion and competition or unreliable connections due to the high mobility of devices [9, 10]. As a result, packet loss accumulates exponentially fast as data traverse through the multi-hop network, which can easily exceed the threshold that TCP can handle with packet retransmissions after a few hops.111TCP is based on the assumption that the loss is below an outrage probability. This assumption is always true when the optical fiber or the twisted pair cable is used [11, 12]. Even though some techniques exist to constrain the link-to-link packet loss under a certain threshold, for example, Adaptive Modulation and Coding (AMC), they rely on using either a higher transmission power or a lower data rate [13, 12, 14], which makes reliable and high-throughput communication through a wireless multi-hop network impractical. According to [15], the throughput of a 20 Mbps single-hop network drops to around 1 Mbps when the number of hops increases to 8 using IEEE802.11a.

The Batched Sparse Code (BATS Code) solves this “multi-hop curse” with a network-coded fountain [16], where the intermediate nodes perform coding on the received packets rather than simple forwarding. The end-to-end packet loss asymptotically converges to the single-hop packet loss by employing network coding. Using the BATS code, the network capacity can be approached for unicast networks and certain multicast networks under different network topologies [17].

However, when analyzing the performance [17, 18, 19], an implicit assumption is made that check nodes are independent. But when the number of input symbols (variable nodes) and the number of coded symbols (check nodes) are moderately small, check nodes can be highly dependent. In this paper, we will show that the mutual independence of check nodes is a sufficient condition that achieves an upper bound of the decoding rate; the decoding rate decreases as the dependence strength increases. The dependence among check nodes is not considered in the random BATS code construction, where check nodes are randomly connected to variable nodes according to a designed degree distribution.

Refer to caption
Figure 2: Random code construction complicates circuit routing in hardware implementations (A high-level illustration). Comparision of the circuits between (a) randomly selecting input symbols for encoding and (b) selecting input symbols in a structured way using shift operations. Random selection leads to a fully connected circuit implementation in hardware.

Additionally, in practical adaptations of the BATS code, a hardware implementation, for example, Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC), is usually required to match the increasing demand for throughput and power-consumption efficiency [20, 21]. However, the traditional random construction leads to high complexity in circuit routing and buffer allocations in hardware implementations [22, 23]. An example of added complexity due to random code construction is given in Fig. 2a. To randomly select input symbols for encoding in hardware, a fully connected circuitry is needed to route all possible combinations of the input symbols from the memory to the register buffers for further computations. Furthermore, the number of symbols to select (i.e., degree) is usually determined on the fly according to a probability distribution. This means the register buffers must be sizeable enough to accommodate the maximum degree, even though its occurrence may be low.

To address these issues, we propose constructing the BATS code in a more structured way so that better performance and lower complexity can be achieved, preserving the desired properties of a BATS code simultaneously. We summarize our contributions as follows.

  1. 1.

    We show that the check node dependence degrades the decoding rate222The decoding rate is defined as the number of decoded symbols divided by the total number of source symbols when the decoding stops., and independence is a sufficient condition to achieve the decoding rate upper bound.

  2. 2.

    We propose a new class of BATS codes called the structured BATS, exploiting a new design dimension and reducing node dependence in the construction. In particular, we introduce a hardware-friendly protograph-based Cyclic-Shift construction method (CS-BATS).

  3. 3.

    From exhaustive numerical simulations, we show that CS-BATS is superior not only in implementation complexity but also in decoding rate when the code is well-structured.

The remainder of this paper is organized as follows. Section II and Section III present the related works and preliminaries. Section IV shows that check node dependence degrades the decoding rate of the BATS code from two perspectives: conditional probability and correlation. The Cyclic-Shift BATS code is introduced in Section V. Simulations are performed in Section V to compare the performance and complexity of the CS-BATS and the random BATS. Section VI presents a reduced complexity decoding scheme based on the CS-BATS code for hardware implementations. Finally, our conclusions are offered in Section VII.

II Related Work

The BATS code retains the defining characteristics of the fountain code, including its rateless nature and the low complexity of its encoding and decoding processes. When compared with traditional random linear network coding methods [24, 25, 26], the BATS code offers advantages such as lower complexity in encoding and decoding, reduced overhead for the coefficient vector, and decreased caching requirements at the intermediate nodes. Furthermore, compared with other low-complexity random linear network coding techniques such as the Gamma code [27, 28], EC code [29], and L-chunked code [28], the BATS code consistently delivers a higher transmission rate and can produce an unlimited number of batches. The utilization of the BATS code in various network communication settings has been examined in the studies in [30, 31, 32]. More discussion on the related works of the BATS code and their comparison could be found in [17, 19].

The BATS code can be described and decoded graphically according to the Tanner graph [33], similar to the Low-Density Parity-Check (LDPC) code [34, 35, 36]. Motivated by the protograph LDPC [37, 38, 23, 39, 40, 41], [42] explored the design of a structured BATS code to increase the decoding rate when the number of input symbols is small. The authors in [42] used a reinforcement learning approach to explore the graphical space, trying to find graphs that give a higher decoding rate and coding efficiency than the randomly constructed BATS code. However, this method fails to preserve the rateless property of the BATS code, and the deep learning models add extra overheads for practical implementations. Nonetheless, it shows that random construction is suboptimal regarding the decoding rate and complexity.

Before this work, there were mainly three ways to analyze the performance of BATS codes: differential equation analysis [17], tree analysis [18], and finite-length analysis [19]. Differential equation analysis and tree analysis consider the asymptotic decoding rate as the number of input symbols goes to infinity. The finite-length analysis evaluates the decoding rate for a given number of batches, which is a more practical analysis relaxing the asymptotic assumption in the previous work. However, all these analyses implicitly assume that check nodes are decoded independently. For example, in the finite-length analysis, pt,ssubscript𝑝𝑡𝑠p_{t,s}italic_p start_POSTSUBSCRIPT italic_t , italic_s end_POSTSUBSCRIPT, the probability that a batch is decodable for the first time at time t𝑡titalic_t and has degree s𝑠sitalic_s, is used to derive a recursive formula for calculating the decoding stop** time. In formulating pt,ssubscript𝑝𝑡𝑠p_{t,s}italic_p start_POSTSUBSCRIPT italic_t , italic_s end_POSTSUBSCRIPT, a hypergeometric distribution is used [19], which implicitly assumes check nodes are decoded independently. However, the decodable probability of check nodes can be highly dependent on each other when the number of input symbols (K𝐾Kitalic_K) is small, especially when the Tanner graph is constructed randomly.

III BATS Code Preliminary

The BATS code is a matrix-generalized network-coded fountain code [43] that works on multi-hop networks with erasure channels. It enables an operation called “recoding” at the intermediate nodes, which performs random linear network coding (RLNC) [44] on the received packets. The design of the recoding operation is called the inner code. Careful design of the inner code increases the network throughput in different scenarios [45, 46, 47]. Besides the inner code, the BATS code consists of an outer code that performs encoding and decoding at the source and destination nodes. In this work, we mainly study the outer code, and the recoding is included in this section for the completeness of the discussion.

III-A Encoding

As a matrix generation of the fountain code, the outer code generates encoded packets as “batches” comprising several coded packets. To generate a batch, we first need to randomly select dg𝑑𝑔dgitalic_d italic_g symbols from a total of K𝐾Kitalic_K input symbols, where dg𝑑𝑔dgitalic_d italic_g is a degree sampled from an optimized probability distribution ΨΨ\Psiroman_Ψ. Each symbol is a vector of pk𝑝𝑘pkitalic_p italic_k elements from the Galois field GF(q)𝐺𝐹𝑞GF(q)italic_G italic_F ( italic_q ). Then, we take M𝑀Mitalic_M different linear combinations of the selected symbols to generate a batch of size M𝑀Mitalic_M. This process can be described by the following linear system for generating the i𝑖iitalic_i-th batch,

𝑿i=𝑩i𝑮i,subscript𝑿𝑖subscript𝑩𝑖subscript𝑮𝑖\bm{X}_{i}=\bm{B}_{i}\bm{G}_{i},bold_italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = bold_italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (1)

where 𝑩i𝔽qpk×dgsubscript𝑩𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑑𝑔\bm{B}_{i}\in\mathbb{F}_{q}^{pk\times dg}bold_italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_d italic_g end_POSTSUPERSCRIPT is comprised of dg𝑑𝑔dgitalic_d italic_g selected symbols, and 𝑮i𝔽qdg×Msubscript𝑮𝑖superscriptsubscript𝔽𝑞𝑑𝑔𝑀\bm{G}_{i}\in\mathbb{F}_{q}^{dg\times M}bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d italic_g × italic_M end_POSTSUPERSCRIPT describes the linear combinations to take, resulting in a matrix 𝑿i𝔽qpk×Msubscript𝑿𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑀\bm{X}_{i}\in\mathbb{F}_{q}^{pk\times M}bold_italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_M end_POSTSUPERSCRIPT representing M𝑀Mitalic_M coded symbols. The resulting code can be represented by a Tanner graph as in Fig. 1.

III-B Recoding

The recoding takes random linear combinations of the received packets from the same batch and generates a new batch of size M𝑀Mitalic_M. It can be described by the linear system

𝒀i=𝑿i𝑯i,subscript𝒀𝑖subscript𝑿𝑖subscript𝑯𝑖\bm{Y}_{i}=\bm{X}_{i}\bm{H}_{i},bold_italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = bold_italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (2)

where 𝒀i𝔽qpk×Msubscript𝒀𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑀\bm{Y}_{i}\in\mathbb{F}_{q}^{pk\times M}bold_italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_M end_POSTSUPERSCRIPT is the recoded batch, 𝑿i𝔽qpk×msubscript𝑿𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑚\bm{X}_{i}\in\mathbb{F}_{q}^{pk\times m}bold_italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_m end_POSTSUPERSCRIPT consists of the received packets, 𝑯i𝔽qm×Msubscript𝑯𝑖superscriptsubscript𝔽𝑞𝑚𝑀\bm{H}_{i}\in\mathbb{F}_{q}^{m\times M}bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m × italic_M end_POSTSUPERSCRIPT is called the transfer matrix and m𝑚mitalic_m is the number of received packets. If no packet is lost during the transmission, m𝑚mitalic_m will equal M𝑀Mitalic_M. If m𝑚mitalic_m is smaller than M𝑀Mitalic_M, which means packets are lost during the transmission, the rank of the batch will decrease even though the recoding generates (Mm)𝑀𝑚(M-m)( italic_M - italic_m ) packets. Therefore, we can use a rank distribution to model the end-to-end channel condition from the source node to the destination node. Specifically, the rank distribution is written as h=(h0,,hj,,hM)subscript0subscript𝑗subscript𝑀h=(h_{0},\ldots,h_{j},\ldots,h_{M})italic_h = ( italic_h start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_h start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , … , italic_h start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ), where hjsubscript𝑗h_{j}italic_h start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT represents the probability of receiving a batch with a rank of j𝑗jitalic_j, and j[0,M]𝑗0𝑀j\in[0,M]italic_j ∈ [ 0 , italic_M ].

III-C Decoding

The BATS code is decoded at a destination node where the K𝐾Kitalic_K input symbols need to be recovered. Consider the system of linear equations received at a destination node,

𝒀i=𝑩i𝑮i𝑯i,subscript𝒀𝑖subscript𝑩𝑖subscript𝑮𝑖subscript𝑯𝑖\bm{Y}_{i}=\bm{B}_{i}\bm{G}_{i}\bm{H}_{i},bold_italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = bold_italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (3)

where 𝒀i𝔽qpk×msubscript𝒀𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑚\bm{Y}_{i}\in\mathbb{F}_{q}^{pk\times m}bold_italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_m end_POSTSUPERSCRIPT consists of the received packets, 𝑩i𝔽qpk×dgisubscript𝑩𝑖superscriptsubscript𝔽𝑞𝑝𝑘𝑑subscript𝑔𝑖\bm{B}_{i}\in\mathbb{F}_{q}^{pk\times dg_{i}}bold_italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_p italic_k × italic_d italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUPERSCRIPT consists of selected input symbols and 𝑮i𝑯i𝔽qdgi×msubscript𝑮𝑖subscript𝑯𝑖superscriptsubscript𝔽𝑞𝑑subscript𝑔𝑖𝑚\bm{G}_{i}\bm{H}_{i}\in\mathbb{F}_{q}^{dg_{i}\times m}bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT × italic_m end_POSTSUPERSCRIPT is the product of the generator matrix and the transfer matrix. In (3), 𝒀isubscript𝒀𝑖\bm{Y}_{i}bold_italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and 𝑮i𝑯isubscript𝑮𝑖subscript𝑯𝑖\bm{G}_{i}\bm{H}_{i}bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are known from the received information while 𝑩isubscript𝑩𝑖\bm{B}_{i}bold_italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT comprises the unknown symbols to be solved. For each batch, we need to solve this linear system and recursively substitute the already decoded symbols to other batches according to the underlying Tanner graph. This recursive linear-equation-solving and substituting decoding process is called the belief propagation (BP) decoding for the BATS code. A batch is decodable if and only if the rank of the matrix formed by the received packets (the rank of the received packets for brevity) is equal to the degree of this batch, namely rank(𝑮i𝑯i)=dgiranksubscript𝑮𝑖subscript𝑯𝑖𝑑subscript𝑔𝑖\textrm{rank}(\bm{G}_{i}\bm{H}_{i})=dg_{i}rank ( bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_d italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

However, the performance of BP decoding is not satisfactory when the number of input symbols is small. Thus, a compromise between BP and the Gaussian elimination decoding, called inactivation decoding [17], is usually used for recovering more input symbols at the expense of higher computational complexity. The induced complexity of inactivation decoding increases as the number of inactivation symbols increases. In the extreme case that all the unsolved variables are inactivated, it becomes Gaussian elimination decoding.

III-D Degree Distribution Optimization

Given a rank distribution h=(h0,,hM)subscript0subscript𝑀h=(h_{0},\ldots,h_{M})italic_h = ( italic_h start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_h start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ) at a destination node, the most important step in designing a good BATS code for that destination node is to find the asymptotically optimal degree distribution ΨΨ\Psiroman_Ψ, which can be obtained by solving the following optimization problem,

maxΨsubscriptΨ\displaystyle\max_{\Psi}\quadroman_max start_POSTSUBSCRIPT roman_Ψ end_POSTSUBSCRIPT θ𝜃\displaystyle\thetaitalic_θ (4a)
s.t. Ω(x,Ψ,h)+θln(1x)0, 0xηformulae-sequenceΩ𝑥Ψ𝜃1𝑥0for-all 0𝑥𝜂\displaystyle\Omega(x,\Psi,h)+\theta\ln(1-x)\geq 0,\ \forall\ 0\leq x\leq\etaroman_Ω ( italic_x , roman_Ψ , italic_h ) + italic_θ roman_ln ( 1 - italic_x ) ≥ 0 , ∀ 0 ≤ italic_x ≤ italic_η (4b)
d=1KΨd=1,Ψd0,d=1,,Kformulae-sequencesubscriptsuperscript𝐾𝑑1subscriptΨ𝑑1formulae-sequencesubscriptΨ𝑑0𝑑1𝐾\displaystyle\sum^{K}_{d=1}\Psi_{d}=1,\ \Psi_{d}\geq 0,\quad d=1,...,K∑ start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d = 1 end_POSTSUBSCRIPT roman_Ψ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = 1 , roman_Ψ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ≥ 0 , italic_d = 1 , … , italic_K (4c)

where θ𝜃\thetaitalic_θ is the achievable rate. The definitions of ΩΩ\Omegaroman_Ω and ζrksuperscriptsubscript𝜁𝑟𝑘\zeta_{r}^{k}italic_ζ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT can be found in [17]. From the tree analysis [18] and asymptotic analysis [17] of the BATS code, (4b) gives a sufficient condition for decoding up to ηK𝜂𝐾\eta Kitalic_η italic_K input symbols with probability at least 1exp(cK)1𝑐𝐾1-\exp({-cK})1 - roman_exp ( - italic_c italic_K ).

IV Decoding Rate and Dependence

The decoding rate is defined as the portion of variable nodes decoded by the end of the decoding, which can be analyzed from the decodable probability of an arbitrary variable node. Notably, the decoding rate is not affected by the order in which the batches are decoded [17]. The decodable probability is defined as starting from the initial state, the probability of being decoded when the decoding stops. In this section, we investigate how this probability would change if the dependence relation among its neighboring check node changes.

In this section, we associate each node (variable node and check node) with a Bernoulli random variable as an indicator of its decodability. Firstly, we analyze the expectation of a variable node under a simplified model, where we investigate how this expectation would change with the correlation between two neighboring check nodes. Then, a lower bound and an upper bound will be derived for the decodable probability of a variable node in terms of the decodable probability of its neighboring check nodes under a general model.

IV-A Correlation Decreases Decodable Expectation

Refer to caption
(a) ρCk1,Ck2=1subscript𝜌subscript𝐶𝑘1subscript𝐶𝑘21\rho_{C_{k1},C_{k2}}=1italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1
Refer to caption
(b) ρCk1,Ck2=0subscript𝜌subscript𝐶𝑘1subscript𝐶𝑘20\rho_{C_{k1},C_{k2}}=0italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 0
Refer to caption
(c) ρCk1,Ck2>0subscript𝜌subscript𝐶𝑘1subscript𝐶𝑘20\rho_{C_{k1},C_{k2}}>0italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT > 0
Refer to caption
(d) ρCk1,Ck2<0subscript𝜌subscript𝐶𝑘1subscript𝐶𝑘20\rho_{C_{k1},C_{k2}}<0italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT < 0 (invalid)
Figure 3: Four cases of Pearson correlation (ρ𝜌\rhoitalic_ρ) for (C1,C2subscript𝐶1subscript𝐶2C_{1},C_{2}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) in multiple trials, which fully characterize the relationship between two Bernoulli random variables. The darkness of the color indicates occurrence frequency. A negative correlation is physically invalid in the setting of a BATS code.

The dependence relations represented by a Tanner graph can be exceedingly complicated. To develop some intuition, let us consider a simplified model where an arbitrary variable node is connected to two check nodes. Since we only consider two check nodes in this model, the Pearson correlation coefficient can be used to measure the relation between them.

Generally, the correlation coefficient is not equivalent to the dependence measured by a more general measure, the mutual information. For example, two random variables being independent implies that the correlation coefficient is zero, but the converse is not always true because the correlation coefficient only measures linear dependencies. However, as each node can be represented by a Bernoulli indicator random variable, only linear dependencies can exist between two nodes [48].

Here, we consider a variable node V~~𝑉\tilde{V}over~ start_ARG italic_V end_ARG connected to two check nodes, C1~,C2~~subscript𝐶1~subscript𝐶2\tilde{C_{1}},\tilde{C_{2}}over~ start_ARG italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG , over~ start_ARG italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG. Consider the Pearson correlation of two sets of data obtained by sampling two random variables, C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, respectively, for multiple trials.333By multiple trials, we mean that decoding is performed multiple times with the same Tanner graph, rank distribution, and other BATS configurations. For each trial, we will obtain a pair of binary indicator numbers. Thus we can plot the pairs in a 2-dimensional space as a heat map to indicate the occurrence frequency for different (C1,C2)subscript𝐶1subscript𝐶2(C_{1},C_{2})( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) pairs. The Pearson correlation coefficient ρC1,C2subscript𝜌subscript𝐶1subscript𝐶2\rho_{C_{1},C_{2}}italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT can be calculated to measure the correlation between C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Fig. 3 shows four possible cases and the corresponding correlation value range. As discussed, the correlation coefficient is not generally equivalent to the dependence, as the former only measures the linear relationship between random variables while the dependence also measures the nonlinear relationship. However, uncorrelatedness and independence are equivalent for multivariate Bernoulli distribution [48], which means that C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT can only have linear relationships. This is further illustrated in Fig. 3, which lists all possible relationships between two Bernoulli random variables. When the occurrence of (0,0)00(0,0)( 0 , 0 ) and (1,1)11(1,1)( 1 , 1 ) dominates, we will have a high positive correlation due to strong positive linear relations between the two random variables as shown in Fig. 3a and Fig. 3c. When the occurrence of (0,0)00(0,0)( 0 , 0 ), (0,1)01(0,1)( 0 , 1 ), (1,0)10(1,0)( 1 , 0 ) and (1,1)11(1,1)( 1 , 1 ) are all the same as shown in Fig. 3b, C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT will have a zero correlation. Note that a negative correlation is meaningless and physically invalid in our context, as one node being undecodable cannot increase the decodability of another node and vice versa. In other words, (0,1)01(0,1)( 0 , 1 ) and (1,0)10(1,0)( 1 , 0 ) will never dominate in the trials as shown in Fig. 3d. Therefore, without loss of generality, we only consider that ρC1,C2[0,1]subscript𝜌subscript𝐶1subscript𝐶201\rho_{C_{1},C_{2}}\in[0,1]italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ [ 0 , 1 ].

Since a variable node is decodable when at least one of its neighboring check nodes becomes decodable, we can write V=C1+C2C1C2𝑉subscript𝐶1subscript𝐶2subscript𝐶1subscript𝐶2V=C_{1}+C_{2}-C_{1}C_{2}italic_V = italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, where V,C1𝑉subscript𝐶1V,C_{1}italic_V , italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are Bernoulli random variables. Specifically, we have C1Bernoulli(α1)similar-tosubscript𝐶1Bernoullisubscript𝛼1C_{1}\sim\textrm{Bernoulli}(\alpha_{1})italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∼ Bernoulli ( italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and C2Bernoulli(α2)similar-tosubscript𝐶2Bernoullisubscript𝛼2C_{2}\sim\textrm{Bernoulli}(\alpha_{2})italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∼ Bernoulli ( italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). Then the expectation of V𝑉Vitalic_V can be written as

𝔼(V)𝔼𝑉\displaystyle\mathbb{E}(V)blackboard_E ( italic_V ) =\displaystyle== 𝔼(C1)+𝔼(C2)𝔼(C1C2)𝔼subscript𝐶1𝔼subscript𝐶2𝔼subscript𝐶1subscript𝐶2\displaystyle\mathbb{E}(C_{1})+\mathbb{E}(C_{2})-\mathbb{E}(C_{1}C_{2})blackboard_E ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) + blackboard_E ( italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) - blackboard_E ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) (5)
=\displaystyle== α1+α2𝔼(C1C2).subscript𝛼1subscript𝛼2𝔼subscript𝐶1subscript𝐶2\displaystyle\alpha_{1}+\alpha_{2}-\mathbb{E}(C_{1}C_{2}).italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - blackboard_E ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) .

The Pearson correlation of (C1,C2)subscript𝐶1subscript𝐶2(C_{1},C_{2})( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is given by

ρC1,C2=𝔼(C1C2)α1α2α1(1α1)α2(1α2).subscript𝜌subscript𝐶1subscript𝐶2𝔼subscript𝐶1subscript𝐶2subscript𝛼1subscript𝛼2subscript𝛼11subscript𝛼1subscript𝛼21subscript𝛼2\rho_{C_{1},C_{2}}=\frac{\mathbb{E}(C_{1}C_{2})-\alpha_{1}\alpha_{2}}{\sqrt{% \alpha_{1}(1-\alpha_{1})\alpha_{2}(1-\alpha_{2})}}.italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = divide start_ARG blackboard_E ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) - italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG start_ARG square-root start_ARG italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( 1 - italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( 1 - italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_ARG end_ARG . (6)

Substitute 𝔼(C1C2)𝔼subscript𝐶1subscript𝐶2\mathbb{E}(C_{1}C_{2})blackboard_E ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) in (6) to (5), we can write 𝔼(V)𝔼𝑉\mathbb{E}(V)blackboard_E ( italic_V ) as a function of ρC1,C2subscript𝜌subscript𝐶1subscript𝐶2\rho_{C_{1},C_{2}}italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT,

𝔼(V)=α1+α2α1α2ρC1,C2α1(1α1)α2(1α2).𝔼𝑉subscript𝛼1subscript𝛼2subscript𝛼1subscript𝛼2subscript𝜌subscript𝐶1subscript𝐶2subscript𝛼11subscript𝛼1subscript𝛼21subscript𝛼2\mathbb{E}(V)=\alpha_{1}+\alpha_{2}-\alpha_{1}\alpha_{2}-\rho_{C_{1},C_{2}}% \sqrt{\alpha_{1}(1-\alpha_{1})\alpha_{2}(1-\alpha_{2})}.blackboard_E ( italic_V ) = italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT square-root start_ARG italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( 1 - italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( 1 - italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_ARG . (7)

When α1subscript𝛼1\alpha_{1}italic_α start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and α2subscript𝛼2\alpha_{2}italic_α start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are fixed, Eq. 7 suggests that the expectation of V𝑉Vitalic_V decreases as ρC1,C2subscript𝜌subscript𝐶1subscript𝐶2\rho_{C_{1},C_{2}}italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT increases, and it is minimized when ρC1,C2=1subscript𝜌subscript𝐶1subscript𝐶21\rho_{C_{1},C_{2}}=1italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 1. Namely, only (0,0)00(0,0)( 0 , 0 ) and (1,1)11(1,1)( 1 , 1 ) occur in the trials, which can be achieved by complete dependence as defined in (10). It is maximized when ρC1,C2=0subscript𝜌subscript𝐶1subscript𝐶20\rho_{C_{1},C_{2}}=0italic_ρ start_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 0, that is, when C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT have no correlation with each other. We can see that the complete dependence of check nodes is a sufficient condition to achieve the lower bound of the decoding rate, and the independence of check nodes is a sufficient condition to achieve the upper bound. In addition, Eq. 7 also characterizes the change of decoding rate along with the correlation coefficient, showing that a higher correlation among check nodes decreases the decoding rate of variable nodes. However, this correlation analysis assumes the variable node is connected to only two check nodes. Therefore, we will investigate a more general case with conditional probability in the next section.

IV-B Dependence Bounds Decodable Probability

Refer to caption
Figure 4: A variable node (VN) is connected to multiple check nodes (CNs). All other connections are arbitrary.

Without loss of generality, we consider a random variable node connected to multiple check nodes, and all other connections are arbitrary, as shown in Fig. 4. In BATS codes, the decodable probability of a variable node depends on its neighboring check nodes. The variable node will be decodable if at least one of its neighboring check nodes becomes decodable. On the other hand, the decodable probability of a check node depends on how many of its neighboring variables can be decoded during the BP decoding if the check node’s rank is insufficient when the BP starts.

Consider a Tanner graph defined by 𝒯=(C~,V~,E~)𝒯~𝐶~𝑉~𝐸\mathcal{T}=(\tilde{C},\tilde{V},\tilde{E})caligraphic_T = ( over~ start_ARG italic_C end_ARG , over~ start_ARG italic_V end_ARG , over~ start_ARG italic_E end_ARG ). Let C~{C~1,C~2,,C~N}~𝐶subscript~𝐶1subscript~𝐶2subscript~𝐶𝑁\tilde{C}\triangleq\{\tilde{C}_{1},\tilde{C}_{2},...,\tilde{C}_{N}\}over~ start_ARG italic_C end_ARG ≜ { over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT } and V~{V~1,V~2,,V~K}~𝑉subscript~𝑉1subscript~𝑉2subscript~𝑉𝐾\tilde{V}\triangleq\{\tilde{V}_{1},\tilde{V}_{2},...,\tilde{V}_{K}\}over~ start_ARG italic_V end_ARG ≜ { over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT } be disjoint sets representing the check nodes and variable nodes, respectively. Set E~~𝐸\tilde{E}over~ start_ARG italic_E end_ARG contains edges that connect the nodes in V~~𝑉\tilde{V}over~ start_ARG italic_V end_ARG and the nodes in C~~𝐶\tilde{C}over~ start_ARG italic_C end_ARG. Here, we assume that the coding coefficients are chosen independently from the non-zero elements of the base field according to the uniform distribution. With this setting, we associate each node in 𝒯𝒯\mathcal{T}caligraphic_T with a Bernoulli random variable as an indicator for its decodability. Let C{C1,C2,,CN}𝐶subscript𝐶1subscript𝐶2subscript𝐶𝑁C\triangleq\{C_{1},C_{2},...,C_{N}\}italic_C ≜ { italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_C start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT } and V{V1,V2,,VK}𝑉subscript𝑉1subscript𝑉2subscript𝑉𝐾V\triangleq\{V_{1},V_{2},...,V_{K}\}italic_V ≜ { italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_V start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT }, where Cnsubscript𝐶𝑛C_{n}italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT corresponding to C~nsubscript~𝐶𝑛\tilde{C}_{n}over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and Vksubscript𝑉𝑘V_{k}italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT corresponding to V~ksubscript~𝑉𝑘\tilde{V}_{k}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, 1nN1𝑛𝑁1\leq n\leq N1 ≤ italic_n ≤ italic_N and 1kK1𝑘𝐾1\leq k\leq K1 ≤ italic_k ≤ italic_K, are random Bernoulli variables with parameters of αnsubscript𝛼𝑛\alpha_{n}italic_α start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and βksubscript𝛽𝑘\beta_{k}italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, respectively, where αn,βk(0,1]subscript𝛼𝑛subscript𝛽𝑘01\alpha_{n},\beta_{k}\in(0,1]italic_α start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ ( 0 , 1 ]. Specifically, we let P(Cn=1)=αn𝑃subscript𝐶𝑛1subscript𝛼𝑛P(C_{n}=1)=\alpha_{n}italic_P ( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 1 ) = italic_α start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be the decodable probability of C~nsubscript~𝐶𝑛\tilde{C}_{n}over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and P(Vk=1)=βk𝑃subscript𝑉𝑘1subscript𝛽𝑘P(V_{k}=1)=\beta_{k}italic_P ( italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 1 ) = italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT be the decodable probability of V~ksubscript~𝑉𝑘\tilde{V}_{k}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. Accordingly, we have P(Cn=0)=1αn𝑃subscript𝐶𝑛01subscript𝛼𝑛P(C_{n}=0)=1-\alpha_{n}italic_P ( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 0 ) = 1 - italic_α start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and P(Vk=0)=1βk𝑃subscript𝑉𝑘01subscript𝛽𝑘P(V_{k}=0)=1-\beta_{k}italic_P ( italic_V start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 ) = 1 - italic_β start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT for the probability of being undecoded.

To analyze the decodable probability of a variable node and understand how it is affected by its neighboring check nodes, we first prove an intuitive lemma, which states that when some check nodes are known to be undecodable, the undecodable probability of another check node will either be increased or remain unchanged.

Lemma 1

Assume that a variable node is connected to n𝑛nitalic_n check nodes, C~1,C~2,,C~nsubscript~𝐶1subscript~𝐶2subscript~𝐶𝑛\tilde{C}_{1},\tilde{C}_{2},...,\tilde{C}_{n}over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, where n1𝑛1n\geq 1italic_n ≥ 1. Then for all i[1,n]𝑖1𝑛i\in[1,n]italic_i ∈ [ 1 , italic_n ] and all 𝒥[1,n]\{i}𝒥\1𝑛𝑖\mathcal{J}\subseteq[1,n]\backslash\{i\}caligraphic_J ⊆ [ 1 , italic_n ] \ { italic_i },

P(Ci=0)P(Ci=0|Cj=0,j𝒥).P\left(C_{i}=0\right)\leq P\left(C_{i}=0|C_{j}=0,\ j\in\mathcal{J}\right).italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 ) ≤ italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J ) . (8)
Proof:

Let i[1,n]𝑖1𝑛i\in[1,n]italic_i ∈ [ 1 , italic_n ] be fixed. We will first prove the inequality

P(Ci=1)P(Ci=1|Cj=0,j𝒥),P\left(C_{i}=1\right)\geq P\left(C_{i}=1|C_{j}=0,\ j\in\mathcal{J}\right),italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ) ≥ italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J ) , (9)

which can be used to prove (8) by considering

P(Ci=1|Cj=0,j𝒥)\displaystyle P(C_{i}=1|C_{j}=0,\ j\in\mathcal{J})italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J )
=1P(Ci=0|Cj=0,j𝒥),\displaystyle=1-P(C_{i}=0|C_{j}=0,\ j\in\mathcal{J}),= 1 - italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J ) ,

and

P(Ci=1)=1P(Ci=0).𝑃subscript𝐶𝑖11𝑃subscript𝐶𝑖0P(C_{i}=1)=1-P(C_{i}=0).italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ) = 1 - italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 ) .

We will prove (9) by induction on |𝒥|𝒥|\mathcal{J}|| caligraphic_J |. Firstly, when |𝒥|=0𝒥0|\mathcal{J}|=0| caligraphic_J | = 0, i.e., 𝒥=𝒥\mathcal{J}=\varnothingcaligraphic_J = ∅, (9) obviously holds.

Now assume (9) holds for all 𝒥[1,n]\{i}𝒥\1𝑛𝑖\mathcal{J}\subseteq[1,n]\backslash\{i\}caligraphic_J ⊆ [ 1 , italic_n ] \ { italic_i }, s.t. |𝒥|=k𝒥𝑘|\mathcal{J}|=k| caligraphic_J | = italic_k, and we want to prove that it also holds for |𝒥|=k+1𝒥𝑘1|\mathcal{J}|=k+1| caligraphic_J | = italic_k + 1, where 0kn20𝑘𝑛20\leq k\leq n-20 ≤ italic_k ≤ italic_n - 2. Now consider a subset 𝒥𝒥\mathcal{J}caligraphic_J of [1,n]\{i}\1𝑛𝑖[1,n]\backslash\{i\}[ 1 , italic_n ] \ { italic_i } of size k+1𝑘1k+1italic_k + 1, and let α𝛼\alphaitalic_α be an arbitrary element in 𝒥𝒥\mathcal{J}caligraphic_J. Then

P(Ci=1|Cj=0,j𝒥)\displaystyle P(C_{i}=1|C_{j}=0,j\in\mathcal{J})italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J )
=P(Ci=1,Cα=0|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle=\frac{P(C_{i}=1,C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{% \alpha\})}{P(C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}= divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 , italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
=P(Ci=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle=\frac{P(C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}{P(% C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}= divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
P(Ci=1,Cα=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle\quad-\frac{P(C_{i}=1,C_{\alpha}=1|C_{j}=0,j\in\mathcal{J}% \backslash\{\alpha\})}{P(C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{% \alpha\})}- divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 , italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
=P(Ci=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle=\frac{P(C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}{P(% C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}= divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
P(Ci=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle\quad-\frac{P(C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\}% )}{P(C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}- divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
×P(Cα=1|Ci=1,Cj=0,j𝒥\{α})\displaystyle\quad\times P(C_{\alpha}=1|C_{i}=1,C_{j}=0,j\in\mathcal{J}% \backslash\{\alpha\})× italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 , italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } )
(a)P(Ci=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle\mathrel{\overset{\makebox[0.0pt]{\mbox{\tiny(a)}}}{\leq}}\frac{P% (C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}{P(C_{\alpha}=0|C_{j}=0,% j\in\mathcal{J}\backslash\{\alpha\})}start_RELOP over(a) start_ARG ≤ end_ARG end_RELOP divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
P(Ci=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle\quad-\frac{P(C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\}% )}{P(C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})}- divide start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
×P(Cα=1|Cj=0,j𝒥\{α})\displaystyle\quad\times P(C_{\alpha}=1|C_{j}=0,j\in\mathcal{J}\backslash\{% \alpha\})× italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } )
=P(Ci=1|Cj=0,j𝒥\{α})\displaystyle=P(C_{i}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})= italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } )
×1P(Cα=1|Cj=0,j𝒥\{α})P(Cα=0|Cj=0,j𝒥\{α})\displaystyle\quad\times\frac{1-P(C_{\alpha}=1|C_{j}=0,j\in\mathcal{J}% \backslash\{\alpha\})}{P(C_{\alpha}=0|C_{j}=0,j\in\mathcal{J}\backslash\{% \alpha\})}× divide start_ARG 1 - italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG start_ARG italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) end_ARG
=P(Ci=1|Cj=0,j𝒥\{α})\displaystyle=P(C_{i}=1|C_{j}=0,\ j\in\mathcal{J}\backslash\{\alpha\})= italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } )
(b)P(Ci=1),(b)absent𝑃subscript𝐶𝑖1\displaystyle\mathrel{\overset{\makebox[0.0pt]{\mbox{\tiny(b)}}}{\leq}}P(C_{i}% =1),start_RELOP over(b) start_ARG ≤ end_ARG end_RELOP italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ) ,

where (a) is obtained from the observation that if one check node is decoded, the degree of any other neighboring check node will be decreased by 1, and the rank of that check node will be decreased by at most 1, thus giving P(Cα=1|Ci=1,Cj=0,j𝒥\{α})P(Cα=1|Cj=0,j𝒥\{α})P(C_{\alpha}=1|C_{i}=1,C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})\geq P(C_{% \alpha}=1|C_{j}=0,j\in\mathcal{J}\backslash\{\alpha\})italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 , italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ) ≥ italic_P ( italic_C start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT = 1 | italic_C start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 0 , italic_j ∈ caligraphic_J \ { italic_α } ). Since α𝛼\alphaitalic_α is an arbitrary element in 𝒥𝒥\mathcal{J}caligraphic_J, we can obtain (b) from the induction assumption. Thus we have shown that (9) holds for all 𝒥[1,n]\{i}𝒥\1𝑛𝑖\mathcal{J}\subseteq[1,n]\backslash\{i\}caligraphic_J ⊆ [ 1 , italic_n ] \ { italic_i }, where |𝒥|=k+1𝒥𝑘1|\mathcal{J}|=k+1| caligraphic_J | = italic_k + 1. This completes the proof. ∎

With the help of Lemma 1, we can prove an interesting result that the decodable probability of a variable node is bounded by the decodable probability of its neighboring check nodes. Sufficient conditions for achieving the bounds can be expressed in terms of the dependence relations among the check nodes. Specifically, the upper bound is achieved when all check nodes are mutually independent; the lower bound is achieved when the check nodes are completely dependent. For n𝑛nitalic_n check nodes, we define the complete dependence as

P(C1=C2==Cn)=1.𝑃subscript𝐶1subscript𝐶2subscript𝐶𝑛1P\left(C_{1}=C_{2}=...=C_{n}\right)=1.italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = … = italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = 1 . (10)

We also define the mutual independence as

P(C1=x1,,Cn=xn)=P(C1=x1)P(Cn=xn),𝑃formulae-sequencesubscript𝐶1subscript𝑥1subscript𝐶𝑛subscript𝑥𝑛𝑃subscript𝐶1subscript𝑥1𝑃subscript𝐶𝑛subscript𝑥𝑛P(C_{1}=x_{1},...,C_{n}=x_{n})=P(C_{1}=x_{1})\cdots P(C_{n}=x_{n}),italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) = italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ⋯ italic_P ( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) , (11)

for all (x1,x2,,xn){0,1}nsubscript𝑥1subscript𝑥2subscript𝑥𝑛superscript01𝑛(x_{1},x_{2},...,x_{n})\in\{0,1\}^{n}( italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) ∈ { 0 , 1 } start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT.

Theorem 1

For an arbitrary variable node V~~𝑉\tilde{V}over~ start_ARG italic_V end_ARG with n𝑛nitalic_n neighboring check nodes, where n1𝑛1n\geq 1italic_n ≥ 1, for i[1,n]𝑖1𝑛i\in[1,n]italic_i ∈ [ 1 , italic_n ], the decodable probabiliy of V~~𝑉\tilde{V}over~ start_ARG italic_V end_ARG is bounded by

1miniP(Ci=0)P(V=1)1k=1nP(Ck=0).1subscript𝑖𝑃subscript𝐶𝑖0𝑃𝑉11superscriptsubscriptproduct𝑘1𝑛𝑃subscript𝐶𝑘01-\min_{i}P(C_{i}=0)\leq P(V=1)\leq 1-\prod_{k=1}^{n}P(C_{k}=0).1 - roman_min start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 ) ≤ italic_P ( italic_V = 1 ) ≤ 1 - ∏ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 ) . (12)
Proof:

We see that V~~𝑉\tilde{V}over~ start_ARG italic_V end_ARG is decodable if and only if at least one of its neighboring check nodes becomes decodable. Then

P(V=1)𝑃𝑉1\displaystyle P(V=1)italic_P ( italic_V = 1 )
=1P(C1=0,C2=0,,Cn=0)absent1𝑃formulae-sequencesubscript𝐶10formulae-sequencesubscript𝐶20subscript𝐶𝑛0\displaystyle=1-P(C_{1}=0,C_{2}=0,...,C_{n}=0)= 1 - italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 0 )
=1P(C1=0)k=2nP(Ck=0|C1=0,,Ck1=0).\displaystyle=1-P(C_{1}=0)\prod_{k=2}^{n}P(C_{k}=0|C_{1}=0,...,C_{k-1}=0).= 1 - italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 ) ∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 0 ) .

The lower bound in (12) is obvious as k=2nP(Ck=0|C1=0,,Ck1=0)1\prod_{k=2}^{n}P(C_{k}=0|C_{1}=0,...,C_{k-1}=0)\leq 1∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 0 ) ≤ 1, and equality is achieved when all the neighboring check nodes are completely dependent, giving k=2nP(Ck=0|C1=0,,Ck1=0)=1\prod_{k=2}^{n}P(C_{k}=0|C_{1}=0,...,C_{k-1}=0)=1∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 0 ) = 1. The upper bound is proved by invoking Lemma 1 as follows:

{P(C2=0)P(C2=0|C1=0)P(C3=0)P(C3=0|C1=0,C2=0)P(Cn=0)P(Cn=0|C1=0,,Cn1=0)\begin{cases}P(C_{2}=0)&\leq P(C_{2}=0|C_{1}=0)\\ P(C_{3}=0)&\leq P(C_{3}=0|C_{1}=0,C_{2}=0)\\ &\cdots\\ P(C_{n}=0)&\leq P(C_{n}=0|C_{1}=0,...,C_{n-1}=0)\\ \end{cases}{ start_ROW start_CELL italic_P ( italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 0 ) end_CELL start_CELL ≤ italic_P ( italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 ) end_CELL end_ROW start_ROW start_CELL italic_P ( italic_C start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = 0 ) end_CELL start_CELL ≤ italic_P ( italic_C start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 0 ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ⋯ end_CELL end_ROW start_ROW start_CELL italic_P ( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 0 ) end_CELL start_CELL ≤ italic_P ( italic_C start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_n - 1 end_POSTSUBSCRIPT = 0 ) end_CELL end_ROW
\displaystyle\Rightarrow k=1nP(Ck=0)superscriptsubscriptproduct𝑘1𝑛𝑃subscript𝐶𝑘0\displaystyle\prod_{k=1}^{n}P(C_{k}=0)∏ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 )
P(C1=0)k=2nP(Ck=0|C1=0,,Ck1=0).\displaystyle\leq P(C_{1}=0)\prod_{k=2}^{n}P(C_{k}=0|C_{1}=0,...,C_{k-1}=0).≤ italic_P ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 ) ∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 0 ) .

The upper bound is achievable when the check nodes are mutually independent, which gives k=2nP(Ck=0|C1=0,,Ck1=0)=k=2nP(Ck=0)\prod_{k=2}^{n}P(C_{k}=0|C_{1}=0,...,C_{k-1}=0)=\prod_{k=2}^{n}P(C_{k}=0)∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 | italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 0 , … , italic_C start_POSTSUBSCRIPT italic_k - 1 end_POSTSUBSCRIPT = 0 ) = ∏ start_POSTSUBSCRIPT italic_k = 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_P ( italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 ). ∎

The proof shows that independence and complete dependence are sufficient conditions to achieve the upper bound and the lower bound of the decodable probability, respectively.

The intuition underlying Theorem 1 is as follows. If the neighboring check nodes are mutually independent, each check node has an independent contribution to the decodability of the variable node, thus achieving the maximum decodable probability. On the other hand, if any of the check nodes are completely dependent, they can be reduced to a single check node, effectively reducing the contribution to the variable node. Thus, we achieve the minimum decodable probability if all check nodes are completely dependent.

IV-C Implication of Asymptotic Assumption in Dependence

Refer to caption
Figure 5: Tree representation of a BATS code. The root variable node, V0, is connected to two check nodes, C1 and C2, through connections p1 and p2. Only 4 levels are shown. Belief Propagation decoding is performed level by level from the leaves to the root.

To visualize the physical implication of the asymptotic assumption, we can use a result from the tree analysis [18], which states that when K𝐾Kitalic_K is sufficiently large, the subgraph expanded from each variable node in the Tanner graph, including all the nodes within its l𝑙litalic_l-neighborhood, converges to a tree. Therefore, we can convert a Tanner graph into a tree with l+1𝑙1l+1italic_l + 1 levels, where the root is a variable node, as shown in Fig. 5. According to [18], the BP decoding can be applied to the tree level by level from the leaves, and the tree is considered decodable if the root is decodable.

In fact, the tree is the least dependent structure when the number of CNs and VNs are fixed. For example, in Fig. 5, the root V0 has two information propagation paths, p1 and p2, where information that passes through them is independent of each other due to the acyclic nature of a tree. Since the two subtrees of V0 are independent of each other, the upper bound in (12) is achieved for V0 according to Theorem 1. On the other hand, if we add an edge between the two subtrees, for example, an edge between V1 and C2, which introduces a cycle, the information that passes through p1 and p2 will be dependent. If enough edges are added between the original two subtrees, causing complete dependence, the lower bound in (12) will be achieved. Notably, if edges are added between the two subtrees, the tree assumption will also be violated.

In finite-length cases, if the BATS code is constructed randomly, there can be many cycles in the Tanner graph, especially when K𝐾Kitalic_K is moderately small, thus leading to a low decoding rate. However, if we can construct the code with a deterministic structure that reduces the dependence, we can guarantee a better decoding rate than the random BATS.

V Structured BATS Code

Recall that the random BATS code construction relies on sampling a degree distribution to determine the number of edges for each check node and then randomly connecting these edges to the variable nodes. Even though the optimized degree distribution ensures the BATS code’s asymptotic decodability, the random connection fails to control the structure and the check node dependence, which we have shown to have a significant impact on the decoding rate. Additionally, random connection is difficult to implement in hardware.

Therefore, we propose that the BATS code should be constructed in a more structured way. To this end, we design a structured BATS code that is constructed from a base graph using only lightweight cyclic-shift operations, thus called the Cyclic-Shift BATS code (CS-BATS). This section shows that the CS-BATS code can achieve better performance and lower computation and implementation complexity with a properly designed base graph. Furthermore, the CS-BATS code satisfies the necessary decodability condition and preserves all the desirable properties of the random BATS code, such as the rateless property, the equal protection property, etc.

V-A Construction of Batches

Formally, we use the bi-adjacency matrix to represent a Tanner graph, where the columns represent the variable nodes and the rows represent the check nodes. For a Tanner graph 𝒯𝒯\mathcal{T}caligraphic_T representing a BATS code of K𝐾Kitalic_K input symbols, we can write 𝒯={t0,t1,,tk,}𝒯subscript𝑡0subscript𝑡1subscript𝑡𝑘\mathcal{T}=\{t_{0},t_{1},...,t_{k},...\}caligraphic_T = { italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_t start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , … }, where tksubscript𝑡𝑘t_{k}italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the k𝑘kitalic_k-th row vector in 𝒯𝒯\mathcal{T}caligraphic_T and tk{0,1}1×Ksubscript𝑡𝑘superscript011𝐾t_{k}\in\{0,1\}^{1\times K}italic_t start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ { 0 , 1 } start_POSTSUPERSCRIPT 1 × italic_K end_POSTSUPERSCRIPT.

Definition 1

(Base Graph) The protograph used to construct the code is called the base graph, denoted by 𝒢={g0,g1,,gi,gm1}𝒢subscript𝑔0subscript𝑔1subscript𝑔𝑖subscript𝑔𝑚1\mathcal{G}=\{g_{0},g_{1},...,g_{i},...g_{m-1}\}caligraphic_G = { italic_g start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , … italic_g start_POSTSUBSCRIPT italic_m - 1 end_POSTSUBSCRIPT }, where gi{0,1}1×K,0im1formulae-sequencesubscript𝑔𝑖superscript011𝐾0𝑖𝑚1g_{i}\in\{0,1\}^{1\times K},0\leq i\leq m-1italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ { 0 , 1 } start_POSTSUPERSCRIPT 1 × italic_K end_POSTSUPERSCRIPT , 0 ≤ italic_i ≤ italic_m - 1.

Definition 2

(Layer) The group of check nodes generated from the base graph with the same number of cyclic shifts is called a layer. Specifically, if a check node is generated with n𝑛nitalic_n cyclic shifts, we say it belongs to the n𝑛nitalic_n-th layer. The check nodes of the base graph form the 00-th layer.

Algorithm 1 Cyclic-Shift BATS Code Encoding
1:Input 𝒢={g0,,gm1}𝒢subscript𝑔0subscript𝑔𝑚1\mathcal{G}=\{g_{0},...,g_{m-1}\}caligraphic_G = { italic_g start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_m - 1 end_POSTSUBSCRIPT }
2:Output 𝒯={t0,,tN1}𝒯subscript𝑡0subscript𝑡𝑁1\mathcal{T}=\{t_{0},...,t_{N-1}\}caligraphic_T = { italic_t start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_t start_POSTSUBSCRIPT italic_N - 1 end_POSTSUBSCRIPT } for N𝑁Nitalic_N batches
3:for n𝑛nitalic_n in {0,1,,N1}01𝑁1\{0,1,...,N-1\}{ 0 , 1 , … , italic_N - 1 }  do
4:     ti=g(imodm)i/msubscript𝑡𝑖subscript𝑔modulo𝑖𝑚very-much-greater-than𝑖𝑚t_{i}=g_{(i\bmod{m})}\ggg\lfloor{i/m}\rflooritalic_t start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_g start_POSTSUBSCRIPT ( italic_i roman_mod italic_m ) end_POSTSUBSCRIPT ⋙ ⌊ italic_i / italic_m ⌋
5:end for

Algorithm 1 describes the proposed procedure to construct a BATS code of N𝑁Nitalic_N batches from a base graph. Check nodes are constructed from the rows in the base graph using right cyclic-shift operations (denoted by “very-much-greater-than\ggg”). Notice that the number of variable nodes is the same in 𝒢𝒢\mathcal{G}caligraphic_G and 𝒯𝒯\mathcal{T}caligraphic_T, but 𝒢𝒢\mathcal{G}caligraphic_G has much fewer check nodes than 𝒯𝒯\mathcal{T}caligraphic_T. This procedure is illustrated in Fig. 6.

V-B Bounded Complexity

In hardware implementations, data originally stored in a large memory is usually moved in small pieces to a faster buffering memory like on-chip registers for further computations. In the context of the BATS code, input symbols are selected and moved to the buffer for linear combinations. As illustrated in Fig. 2a, when the input symbol selection is random and determined on the fly, a large buffer is needed to accommodate the maximum possible degree, thus giving a buffering complexity of 𝒪(K)𝒪𝐾\mathcal{O}(K)caligraphic_O ( italic_K ), where K𝐾Kitalic_K is the total number of input symbols. Additionally, for each position of the buffer, any inputs can be selected and routed to this position, which leads to a routing complexity of 𝒪(K2)𝒪superscript𝐾2\mathcal{O}(K^{2})caligraphic_O ( italic_K start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

On the other hand, if the input symbol selection is structured like the CS-BATS code, we only need to allocate a buffer with an appropriate size according to the row degrees of the base graph. Therefore, the buffering complexity is 𝒪(d)𝒪𝑑\mathcal{O}(d)caligraphic_O ( italic_d ), where d𝑑ditalic_d is the maximum degree of the base graph. Additionally, as the position of selected input symbols is pre-determined, we can just move input symbols to the buffer from a fixed position and cyclic-shift all input symbols in the memory. This gives a routing complexity of 𝒪(d)𝒪𝑑\mathcal{O}(d)caligraphic_O ( italic_d ).

For example, for a random BATS code, when K=256𝐾256K=256italic_K = 256, the maximum degree is also 256256256256, which means that up to 256 packets could be moved from the data storage to the computation buffer. In hardware implementation, data storage usually consists of a large off-chip memory connected to the computation circuits through interconnections. The computation buffers are usually fast on-chip registers that make parallel processing of data possible. Therefore, we need enough buffers to accommodate the maximum number of packets, which is 256 in this example, even though the maximum degree is sampled with a small probability. If each packet consists of 256256256256 symbols from GF(28)𝐺𝐹superscript28GF(2^{8})italic_G italic_F ( 2 start_POSTSUPERSCRIPT 8 end_POSTSUPERSCRIPT ), 64646464 KBytes of buffers are required. In comparison, the maximum degree of a CS-BATS code is determined by the base graph, which is typically much smaller. For example, in Section V-E, our experiments use a base graph with a maximum degree of 27272727, which requires only 6.756.756.756.75 KBytes of buffers on hardware.

Since packets are randomly selected in the random BATS, every packet could be selected and routed to every register buffer through a multiplexer as shown in Fig. 2, which is a fully connected circuit with 256×256256256256\times 256256 × 256 wires that connect the data storage to the buffers. However, if the structure is deterministic, as for the CS-BATS, the packets can be easily routed to the buffer with cyclic shift operations, requiring only 27272727 wires in our example.

In FPGA, off-chip data is usually accessed by addressing a Direct Memory Access (DMA) Unit. Random data access caused by the random BATS gives the worst-case performance, while the inherent structured access patterns in the CS-BATS can achieve the highest throughput through bursting, coalescing, and other optimization techniques [49].

As we can see, the implementation complexity of CS-BATS, determined by the base graph, is significantly reduced compared with the random BATS, especially when dKmuch-less-than𝑑𝐾d\ll Kitalic_d ≪ italic_K. Therefore, with the CS-BATS code, the tradeoff between the complexity and the code performance can be controlled by the design of the base graph. It does not rely on reducing K𝐾Kitalic_K to reduce the complexity, which is important for adapting the implementation to different devices without affecting the code performance.

Refer to caption
Figure 6: Cyclic-Shift BATS Code constructed from a Base Graph. The underlying bipartite graph is represented by its bi-adjacency matrix, where the darkened blocks represent 1s (0 otherwise). The n𝑛nitalic_n-th layer of the check nodes is generated by right-cyclic-shifting the rows in the base graph n𝑛nitalic_n times, where n0𝑛0n\geq 0italic_n ≥ 0 and layer 0 is the base graph. Note that the bi-adjacency matrix only represents the connections and does not represent the edge weights in the Tanner graph. The edge weights are represented by the generator matrix 𝑮i𝔽qdg×Msubscript𝑮𝑖superscriptsubscript𝔽𝑞𝑑𝑔𝑀\bm{G}_{i}\in\mathbb{F}_{q}^{dg\times M}bold_italic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ blackboard_F start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d italic_g × italic_M end_POSTSUPERSCRIPT

V-C Preserved Properties

According to Algorithm 1, an unlimited number of batches can be generated with light-weight cyclic-shift operations, which preserves the rateless property of the BATS code. This is important for the adaptability of the BATS code for achieving reliable communication in a network with unknown or changing channel conditions.

The random connection in the traditional BATS code ensures that each input symbol has the same probability of being selected by a check node. The CS-BATS code also preserves this property. The empirical probability of each variable node being selected converges to the same value as the number of check nodes goes to infinity because the selection position is shifted cyclically on all input symbols.

V-D Base Graph Design

Based on our previous analysis, this section proposes two empirical conditions for a good base graph.

Convergence to an optimized degree distribution. The row degrees of the base graph should be chosen according to the optimized degree distribution. Specifically, we first take the normalized probability, ΨsuperscriptΨ\Psi^{\prime}roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, of the m𝑚mitalic_m largest probability masses of the optimized degree distribution ΨΨ\Psiroman_Ψ, which is obtained by minimizing θ𝜃\thetaitalic_θ in (4a) such that the conditions in (4b) and (4c) are satisfied. Assume that ΨΨ\Psiroman_Ψ is in descending order of the probability masses. Then

Ψd=Ψdj=1mΨj.subscriptsuperscriptΨ𝑑subscriptΨ𝑑subscriptsuperscript𝑚𝑗1subscriptΨ𝑗\Psi^{\prime}_{d}=\frac{\Psi_{d}}{\sum^{m}_{j=1}\Psi_{j}}.roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = divide start_ARG roman_Ψ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT roman_Ψ start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG . (13)

Note that when m𝑚m\rightarrow\inftyitalic_m → ∞, ΨdΨdsubscriptsuperscriptΨ𝑑subscriptΨ𝑑\Psi^{\prime}_{d}\rightarrow\Psi_{d}roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT → roman_Ψ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT. Let us now consider designing the base graph 𝒢𝒢\mathcal{G}caligraphic_G with an aim to mimic ΨdsubscriptsuperscriptΨ𝑑\Psi^{\prime}_{d}roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT. Let

γd=#{g𝒢|deg(g)=d},subscript𝛾𝑑#conditional-set𝑔𝒢deg𝑔𝑑\gamma_{d}=\#\{g\in\mathcal{G}|\textrm{deg}(g)=d\},italic_γ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = # { italic_g ∈ caligraphic_G | deg ( italic_g ) = italic_d } , (14)

where deg(g)deg𝑔\textrm{deg}(g)deg ( italic_g ) is the degree of row g𝑔gitalic_g. Then in order to mimic ΨdsubscriptsuperscriptΨ𝑑\Psi^{\prime}_{d}roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT, for 1dm1𝑑𝑚1\leq d\leq m1 ≤ italic_d ≤ italic_m, γdsubscript𝛾𝑑\gamma_{d}italic_γ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT should be chosen such that

{d=1Kγd=mγd=mΨdormΨd.casessubscriptsuperscript𝐾𝑑1subscript𝛾𝑑𝑚otherwisesubscript𝛾𝑑𝑚subscriptsuperscriptΨ𝑑or𝑚subscriptsuperscriptΨ𝑑otherwise\begin{cases}\sum^{K}_{d=1}\gamma_{d}=m\\ \gamma_{d}=\lceil m\Psi^{\prime}_{d}\rceil\ \textrm{or}\ \lfloor m\Psi^{\prime% }_{d}\rfloor.\end{cases}{ start_ROW start_CELL ∑ start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d = 1 end_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = italic_m end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_γ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT = ⌈ italic_m roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ⌉ or ⌊ italic_m roman_Ψ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ⌋ . end_CELL start_CELL end_CELL end_ROW (15)

Condition (15) suggests that the degrees of the base graph should be designed to match the largest m𝑚mitalic_m probability masses in the optimized degree distribution. This ensures the necessary condition (4b) for the decodability of the BATS code to be satisfied.

Refer to caption
(a) Inactivation Decoding
Refer to caption
(b) BP Decoding
Figure 7: Experiment 1. Decoding rates vs the number of hops plots under (a) inactivation decoding and (b) BP decoding. Average results from 2000 randomly generated instances are reported for the Random BATS. Average results from 500 repetitions using the designed base graph are reported for the CS-BATS. CS-BATS-7: CS-BATS code using a base graph with 7 rows; CS-BATS-8: CS-BATS code using a base graph with 8 rows.
Refer to caption
(a) Inactivation Decoding
Refer to caption
(b) BP Decoding
Figure 8: Experiment 2. Decoding rates vs the number of batches under (a) inactivation decoding and (b) BP decoding. CS-BATS-7: CS-BATS code using a base graph with 7 rows; CS-BATS-8: CS-BATS code using a base graph with 8 rows.
TABLE I: Numerical Results. Average results from 2000 instances of randomly generated graphs are reported for the Random BATS. Each experiment is repeated 10 times. Average results from 500 repetitions using the designed base graph are reported for the CS-BATS. Higher decoding rates are highlighted.
Number of Batches (code rate) (10 hops) Number of Hops (20 batches)
16 (1.0) 18 (1.125) 20 (1.25) 22 (1.375) 24 (1.5) 1 5 10 15 20
Decoding Rate Inac CS 0.37±0.09plus-or-minus0.09\pm 0.09± 0.09 0.63±0.07plus-or-minus0.07\pm 0.07± 0.07 0.76±0.03plus-or-minus0.03\pm 0.03± 0.03 0.90±0.06plus-or-minus0.06\pm 0.06± 0.06 0.94±0.03plus-or-minus0.03\pm 0.03± 0.03 0.84±0.04plus-or-minus0.04\pm 0.04± 0.04 0.78±0.03plus-or-minus0.03\pm 0.03± 0.03 0.76±0.03plus-or-minus0.03\pm 0.03± 0.03 0.75±0.03plus-or-minus0.03\pm 0.03± 0.03 0.74±0.04plus-or-minus0.04\pm 0.04± 0.04
Rand 0.33±0.17plus-or-minus0.17\pm 0.17± 0.17 0.44±0.20plus-or-minus0.20\pm 0.20± 0.20 0.63±0.19plus-or-minus0.19\pm 0.19± 0.19 0.84±0.12plus-or-minus0.12\pm 0.12± 0.12 0.92±0.07plus-or-minus0.07\pm 0.07± 0.07 0.82±0.11plus-or-minus0.11\pm 0.11± 0.11 0.71±0.14plus-or-minus0.14\pm 0.14± 0.14 0.63±0.19plus-or-minus0.19\pm 0.19± 0.19 0.57±0.20plus-or-minus0.20\pm 0.20± 0.20 0.52±0.21plus-or-minus0.21\pm 0.21± 0.21
BP CS 0.35±0.08plus-or-minus0.08\pm 0.08± 0.08 0.57±0.12plus-or-minus0.12\pm 0.12± 0.12 0.75±0.06plus-or-minus0.06\pm 0.06± 0.06 0.89±0.06plus-or-minus0.06\pm 0.06± 0.06 0.93±0.03plus-or-minus0.03\pm 0.03± 0.03 0.84±0.04plus-or-minus0.04\pm 0.04± 0.04 0.78±0.04plus-or-minus0.04\pm 0.04± 0.04 0.75±0.06plus-or-minus0.06\pm 0.06± 0.06 0.71±0.12plus-or-minus0.12\pm 0.12± 0.12 0.67±0.015plus-or-minus0.015\pm 0.015± 0.015
Rand 0.26±0.15plus-or-minus0.15\pm 0.15± 0.15 0.32±0.18plus-or-minus0.18\pm 0.18± 0.18 0.42±0.20plus-or-minus0.20\pm 0.20± 0.20 0.54±0.22plus-or-minus0.22\pm 0.22± 0.22 0.65±0.21plus-or-minus0.21\pm 0.21± 0.21 0.66±0.15plus-or-minus0.15\pm 0.15± 0.15 0.53±0.18plus-or-minus0.18\pm 0.18± 0.18 0.42±0.20plus-or-minus0.20\pm 0.20± 0.20 0.37±0.20plus-or-minus0.20\pm 0.20± 0.20 0.31±0.19plus-or-minus0.19\pm 0.19± 0.19
##\##Inact Symbols CS 17±2.8plus-or-minus2.8\pm 2.8± 2.8 11±2.0plus-or-minus2.0\pm 2.0± 2.0 4.4±1.4plus-or-minus1.4\pm 1.4± 1.4 0.4±0.7plus-or-minus0.7\pm 0.7± 0.7 0.4±0.7plus-or-minus0.7\pm 0.7± 0.7 1±1.2plus-or-minus1.2\pm 1.2± 1.2 3.3±1.5plus-or-minus1.5\pm 1.5± 1.5 4.4±1.4plus-or-minus1.4\pm 1.4± 1.4 5.4±1.5plus-or-minus1.5\pm 1.5± 1.5 5.8±1.6plus-or-minus1.6\pm 1.6± 1.6
Rand 43±21plus-or-minus21\pm 21± 21 30±16plus-or-minus16\pm 16± 16 18±13plus-or-minus13\pm 13± 13 8±10plus-or-minus10\pm 10± 10 4±8plus-or-minus8\pm 8± 8 10.5±13plus-or-minus13\pm 13± 13 16.4±13plus-or-minus13\pm 13± 13 17.9±12plus-or-minus12\pm 12± 12 20.7±12plus-or-minus12\pm 12± 12 23.2±14plus-or-minus14\pm 14± 14
##\##Edges CS 257 285 324 362 388
Rand 742±128plus-or-minus128\pm 128± 128 818±157plus-or-minus157\pm 157± 157 890±165plus-or-minus165\pm 165± 165 940±162plus-or-minus162\pm 162± 162 1018±183plus-or-minus183\pm 183± 183
TABLE II: The column degree design outperforms the random base graph. CS: randomly generated base graph; CS-CD: random base graphs with the column degree design. For each algorithm, 500 base graphs are randomly generated with the same degrees, and the average decoding rate using BP decoding is reported.
Number of Batches (code rate) (10 hops)
19 20 21 22 23 24 25 26 27 28
Decoding Rate CS 0.70±0.03plus-or-minus0.03\pm 0.03± 0.03 0.73±0.03plus-or-minus0.03\pm 0.03± 0.03 0.76±0.03plus-or-minus0.03\pm 0.03± 0.03 0.77±0.03plus-or-minus0.03\pm 0.03± 0.03 0.78±0.03plus-or-minus0.03\pm 0.03± 0.03 0.79±0.03plus-or-minus0.03\pm 0.03± 0.03 0.80±0.03plus-or-minus0.03\pm 0.03± 0.03 0.83±0.03plus-or-minus0.03\pm 0.03± 0.03 0.83±0.03plus-or-minus0.03\pm 0.03± 0.03 0.85±0.03plus-or-minus0.03\pm 0.03± 0.03
CS-CD 0.74±0.04plus-or-minus0.04\pm 0.04± 0.04 0.79±0.02plus-or-minus0.02\pm 0.02± 0.02 0.83±0.02plus-or-minus0.02\pm 0.02± 0.02 0.84±0.02plus-or-minus0.02\pm 0.02± 0.02 0.85±0.02plus-or-minus0.02\pm 0.02± 0.02 0.86±0.02plus-or-minus0.02\pm 0.02± 0.02 0.88±0.02plus-or-minus0.02\pm 0.02± 0.02 0.89±0.01plus-or-minus0.01\pm 0.01± 0.01 0.90±0.02plus-or-minus0.02\pm 0.02± 0.02 0.91±0.02plus-or-minus0.02\pm 0.02± 0.02

Column degree design. After the row degrees are chosen, we need to connect the check nodes and variable nodes in the base graph accordingly, which, in effect, determines the number of neighboring check nodes for each variable node in the base graph. As the variable nodes are represented by the columns in the bi-adjacency matrix, we also refer to the number of neighboring check nodes for a variable node as the column degree.

In an ideal case, mutual independence among check nodes is desired to achieve the decoding rate upper bound. Even though this condition is usually too strong for building the complete Tanner graph, we can still obtain a graph with a “less dependent” structure by minimizing the dependence of check nodes in the base graph. Specifically, we will choose columns with the smallest column degrees for a given row degree, as shown in Algorithm 2, which leads to a base graph with balanced variable node connections. Notice that when there are multiple columns with the smallest column degree, a column will be picked randomly. A balanced variable node connectivity is needed to avoid large dependence between check nodes when the check node degrees are fixed.

Algorithm 2 Column degree design
1:Input Pre-determined degrees {d0,d1,,dm1}subscript𝑑0subscript𝑑1subscript𝑑𝑚1\{d_{0},d_{1},...,d_{m-1}\}{ italic_d start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_d start_POSTSUBSCRIPT italic_m - 1 end_POSTSUBSCRIPT }
2:Output Base graph 𝒢={g0,g1,,gm1}𝒢subscript𝑔0subscript𝑔1subscript𝑔𝑚1\mathcal{G}=\{g_{0},g_{1},...,g_{m-1}\}caligraphic_G = { italic_g start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_g start_POSTSUBSCRIPT italic_m - 1 end_POSTSUBSCRIPT }
3:// ensure variable node coverage
4:variable_idx = [0,1,,K1]01𝐾1[0,1,...,K-1][ 0 , 1 , … , italic_K - 1 ]
5:for i𝑖iitalic_i in [0,1,,m1]01𝑚1[0,1,...,m-1][ 0 , 1 , … , italic_m - 1 ] do
6:     idx \leftarrow the smallest disubscript𝑑𝑖d_{i}italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT indices from variable_idx with the smallest column degrees.
7:     gi=0subscript𝑔𝑖0g_{i}=0italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0
8:     gi[idx]=1subscript𝑔𝑖delimited-[]idx1g_{i}[\textrm{idx}]=1italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT [ idx ] = 1
9:end for

V-E Experiments

In this section, we will compare the CS-BATS code with the random BATS code in terms of performance, the number of edges, and the number of inactivation symbols. In GF(28)𝐺𝐹superscript28GF(2^{8})italic_G italic_F ( 2 start_POSTSUPERSCRIPT 8 end_POSTSUPERSCRIPT ), we use a packet number K𝐾Kitalic_K of 256256256256, a packet size pk𝑝𝑘pkitalic_p italic_k of 256256256256, and a batch size M𝑀Mitalic_M of 16161616 for the BATS code. A 10%percent1010\%10 % i.i.d. packet loss for the links is applied during the simulation. Randomly generated generator matrices from GF(28)𝐺𝐹superscript28GF(2^{8})italic_G italic_F ( 2 start_POSTSUPERSCRIPT 8 end_POSTSUPERSCRIPT ) will be used for all experiments. The optimized degree distributions ΨBPsubscriptΨ𝐵𝑃\Psi_{BP}roman_Ψ start_POSTSUBSCRIPT italic_B italic_P end_POSTSUBSCRIPT and ΨinactsubscriptΨ𝑖𝑛𝑎𝑐𝑡\Psi_{inact}roman_Ψ start_POSTSUBSCRIPT italic_i italic_n italic_a italic_c italic_t end_POSTSUBSCRIPT are obtained for BP decoding and inactivation decoding, respectively. For the random BATS code, we generated 2000 random instances of the code for each experiment and report the average results and standard deviation. Each instance was repeated 10 times in the simulation for reliable results.

For CS-BATS, we choose a base graph of dimension 7×25672567\times 2567 × 256 (i.e., m=7𝑚7m=7italic_m = 7, K=256𝐾256K=256italic_K = 256) generated by Algorithm 2. Starting from the optimized degree distributions ΨBPsubscriptΨ𝐵𝑃\Psi_{BP}roman_Ψ start_POSTSUBSCRIPT italic_B italic_P end_POSTSUBSCRIPT, we applied the method described in Section V-D to obtain the following degree design for the base graph:

{11,12,14,14,19,20,27},11121414192027\{11,12,14,14,19,20,27\},{ 11 , 12 , 14 , 14 , 19 , 20 , 27 } ,

which will be used in Algorithm 2. Notice that the number of rows in the base graph (m𝑚mitalic_m) determines the size of the base graph. The implementation complexity increases as m𝑚mitalic_m increases, approaching the complexity of the random BATS. Additionally, the design space of the CS-BATS increases as m𝑚mitalic_m increases, thus potentially leading to the design of a better code. In the extreme case that m𝑚mitalic_m is very large, we can pre-define the structure of every generated batch so that they are mutually independent. In practice, m𝑚mitalic_m should be determined according to the implementation requirement. To demonstrate the impact of m𝑚mitalic_m in the simulations, we generate a base graph with m=8𝑚8m=8italic_m = 8 with the same procedure. The following row degrees are used:

{11,12,14,14,16,19,20,27}.1112141416192027\{11,12,14,14,16,19,20,27\}.{ 11 , 12 , 14 , 14 , 16 , 19 , 20 , 27 } .

We will also show the effectiveness of Algorithm 2 in designing a good base graph by comparing the average decoding rate of 500 instances of randomly generated base graphs and the base graphs generated by Algorithm 2.

Decoding Rates. Recall that the decoding rate is defined as the number of decoded symbols divided by the number of input symbols, which is the most direct metric to measure the decoding effectiveness of a code under the erasure channel model. In practice, a fixed-rate precode can be added to ensure full recovery provided that the BATS code achieves a certain decoding rate [17]. However, we consider the BATS code without precoding here.

Two experiments were designed to compare the performance of the CS-BATS code and the random BATS code from different perspectives. In the first experiment, we fix the number of batches to 20 (code rate=MN/K=1.25code rate𝑀𝑁𝐾1.25\textrm{code rate}=MN/K=1.25code rate = italic_M italic_N / italic_K = 1.25) and vary the number of hops. This experiment shows how the performance changes as the number of hops increases, which is of great practical interest for a BATS code. The second experiment fixes the number of hops to 10 and varies the number of batches, which investigates the change in performance as the number of batches N𝑁Nitalic_N changes. Specifically, we start from N=16𝑁16N=16italic_N = 16 (code rate=1.0code rate1.0\textrm{code rate}=1.0code rate = 1.0), and end at N=28𝑁28N=28italic_N = 28 (code rate=1.75code rate1.75\textrm{code rate}=1.75code rate = 1.75).

In Fig. 7 and Fig. 8, we plot the results for inactivation decoding and BP decoding, respectively. Part of the numeric results is also shown in Table I. From Fig. 7, we can see that the CS-BATS code retains a higher and more stable decoding rate for both inactivation decoding (0.840.840.840.84 to 0.740.740.740.74) and BP (0.830.830.830.83 to 0.660.660.660.66) as the number of hops increases from 1 to 20. In contrast, the decoding rate of the random BATS code degrades from 0.820.820.820.82 to 0.510.510.510.51 for inactivation decoding and from 0.660.660.660.66 to 0.310.310.310.31 for BP decoding as the hop increases. From Fig. 8, as the number of batches increases, the decoding rate of the CS-BATS also outperforms the decoding rate of the random BATS, especially when BP decoding is used. Even though the performance is close in the higher decoding rate region when inactivation decoding is used, fewer inactivation symbols are used by CS-BATS, leading to a smaller decoding complexity as shown in Table I.

By comparing Fig. 7a and Fig. 7b, and comparing Fig. 8a and Fig. 8b, we see that a significant performance gap exists between inactivation decoding and BP decoding for the random BATS. Thus, in practice, the random BATS code is usually decoded with inactivation decoding. However, this gap is greatly reduced by the CS-BATS code, making BP decoding a feasible choice for some resource-limited applications.

When comparing the performance of m=7𝑚7m=7italic_m = 7 and m=8𝑚8m=8italic_m = 8 for the CS-BATS, we observe that the latter outperforms the former in general, which confirms our analysis that a larger base graph offers more design choices. In order to make a fair comparison between m=7𝑚7m=7italic_m = 7 and m=8𝑚8m=8italic_m = 8, we search among the base graphs generated using Algorithm 2 for the ones that contain the most balanced variable node connections after constructing the Tanner graph.

Number of Edges. In Table I, we also record the number of edges of the Tanner graph with different numbers of check nodes (batches), as the total number of edges is usually related to the encoding and decoding complexity. The average results are also reported across multiple instances of Tanner graphs. Generally, we can see that the number of edges increases with the number of batches. Graphs constructed with CS-BATS code have much fewer edges (around 30% of the random BATS), which are controlled by the degrees of the base graph.

Number of Inactivation Symbols. The number of inactivation symbols represents the computation needed in inactivation decoding [17]. Decoding processes with fewer inactivation symbols have less computation, leading to higher throughput and shorter delay. Therefore, we also compare the number of inactivation symbols used when decoding the graphs constructed by the CS-BATS with those constructed by the random BATS. As shown in Table I, the CS-BATS uses much fewer inactivation symbols than the random BATS, indicating a significant increase in computational efficiency.

Column Degree Design. In Table II, we compare the results obtained from randomly generated base graphs and those generated by Algorithm 2. Specifically, 500 instances of randomly generated base graphs and another 500 randomly generated base graphs with column degree designing were simulated with different numbers of batches. We observe a higher decoding rate for base graphs with column degree designing in Table II.

Algorithm 3 Layered Decoding
1:Input Received Tanner graph 𝒯𝒯\mathcal{T}caligraphic_T with N𝑁Nitalic_N batches
2:Output Decoded packets {v0,v1,}subscript𝑣0subscript𝑣1\{v_{0},v_{1},...\}{ italic_v start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … }
3:for layer 𝒯ksubscript𝒯𝑘\mathcal{T}_{k}caligraphic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT in {𝒯0,𝒯1,,𝒯Nm}subscript𝒯0subscript𝒯1subscript𝒯𝑁𝑚\{\mathcal{T}_{0},\mathcal{T}_{1},...,\mathcal{T}_{\lceil\frac{N}{m}\rceil}\}{ caligraphic_T start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , caligraphic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , caligraphic_T start_POSTSUBSCRIPT ⌈ divide start_ARG italic_N end_ARG start_ARG italic_m end_ARG ⌉ end_POSTSUBSCRIPT } do
4:     for c𝑐citalic_c in the set of CNs in 𝒯ksubscript𝒯𝑘\mathcal{T}_{k}caligraphic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT do
5:         BP(c)BP𝑐\textsc{BP}(c)BP ( italic_c )
6:     end for
7:     for v𝑣vitalic_v in the set of undecoded VNs in 𝒯ksubscript𝒯𝑘\mathcal{T}_{k}caligraphic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT do
8:         Inactivate v𝑣vitalic_v
9:         for cvsubscript𝑐𝑣c_{v}italic_c start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT in the set of neighboring CNs of v𝑣vitalic_v do
10:              BP(cv)BPsubscript𝑐𝑣\textsc{BP}(c_{v})BP ( italic_c start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT )
11:         end for
12:     end for
13:     if linear constraint rank = ##\##inactivated symbols then
14:         Solve inactivation symbols
15:         Substitute into involved VNs
16:     end if
17:end for
18:
19:procedure BP(c𝑐citalic_c)
20:     if rank(c𝑐citalic_c) === deg(c𝑐citalic_c) and c𝑐citalic_c is unsolved then
21:         Solve c{vk1,vk2,}𝑐subscript𝑣𝑘1subscript𝑣𝑘2c\rightarrow\{v_{k1},v_{k2},...\}italic_c → { italic_v start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT , … }
22:         Collect linear constraints for inactivated symbols
23:         for cksubscript𝑐𝑘c_{k}italic_c start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT in the set of neighboring CNs {ck1,ck2,}subscript𝑐𝑘1subscript𝑐𝑘2\{c_{k1},c_{k2},...\}{ italic_c start_POSTSUBSCRIPT italic_k 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT italic_k 2 end_POSTSUBSCRIPT , … } do
24:              Substitute vksubscript𝑣𝑘v_{k}italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT into cksubscript𝑐𝑘c_{k}italic_c start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT
25:              BP(ck)BPsubscript𝑐𝑘\textsc{BP}(c_{k})BP ( italic_c start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) \triangleright Call BP again
26:         end for
27:     end if
28:end procedure

VI Layered Decoding

As a further demonstration of how the CS-BATS reduces the hardware implementation complexity, we will propose a complexity-reduced and flexible decoding algorithm tailored for hardware.

The number of batches to be transmitted in a wireless communication session depends on the channel condition during that session. In particular, more batches are needed if the channel condition is poor. Despite the uncertainty on the number of arrived batches, an intuitive decoder implementation is to set a maximum processing ability, allocating enough hardware resources in advance, such as memory buffers for storing received batches and computation circuits for solving and substituting symbols. However, this limits the flexibility and decoding ability of the design. Ideally, the decoder should be able to accommodate a potentially unlimited number of batches, and the hardware consumption should be flexible and scalable. The decoding algorithm for CS-BATS to be discussed next addresses this issue.

The Tanner graph constructed by the CS-BATS can be naturally divided into layers according to the number of cyclic shifts. Motivated by this layered structure and inspired by a similar complexity-reducing decoding scheme in LDPC [50, 51, 52], we propose a layered decoding algorithm for the CS-BATS whose implementation complexity is bounded by the size of the base graph.

Consider Algorithm 3 for layered decoding for a base graph with m𝑚mitalic_m rows. In this algorithm, BP and inactivation decoding is performed layer by layer. After the inactivation decoding consumes all the batches in a layer, the received packets of this layer can be discarded, and the decoding process will proceed to decode the next layer. Since each layer is decoded sequentially with the same procedure, the same hardware can be used for each layer. During the transition from one layer to another, the only growth in memory consumption is due to the linear constraints collected during the BP decoding from the previous layer. Generally, the total number of linear constraints that need to be stored depends on the number of inactivation symbols, which is bounded by 𝒪(K)𝒪𝐾\mathcal{O}(K)caligraphic_O ( italic_K ). The previous section shows that the CS-BATS uses only a few inactivation symbols. Thus, the memory consumption caused by the linear constraints is mild.

Notice that Algorithm 3 can also be used by the random BATS code. However, the CS-BATS with embedded layer structure can fully exploit this algorithm with hardware reuse and low implementation complexity.

As discussed in Section V-B, the encoding complexity of the CS-BATS depends only on the base graph. The same applies to the complexity of layered decoding. Thus, the implementation complexity of decoding can also be controlled by the design of the base graph. This leads to higher flexibility and better scalability in hardware design, which is essential for adapting the implementation to various grades of devices.

VII Discussion and Conclusion

This paper analyzes the influence of check node dependence on the decoding rate of a BATS code. We show that the check node dependence degrades the performance of a BATS code, especially when the number of input symbols is finite. Based on the analysis, we propose constructing the code in a more structured way instead of relying on random connections. As an example, a structured BATS code called the Cyclic-Shift BATS is presented, which controls the check node dependence and introduces a new design dimension. Conditions supported by empirical experiments are given for designing a well-structured base graph.

We further demonstrate that the CS-BATS code achieves a significantly higher decoding rate and more stable performance with a smaller and controllable complexity compared with the random BATS. Furthermore, we propose a layered decoding algorithm that exploits the layered structure of the CS-BATS code. The implementation complexity of this algorithm is bounded by the size of the base graph.

The goal of this paper is to present a novel class of BATS codes, the structured BATS, and demonstrate that its performance can be superior to the random BATS when its structure is well-designed. The CS-BATS is a possible instance of this class of codes, which is designed especially for efficient hardware implementations. Further research is necessary to design different variants of the structure BATS tailored for different purposes. For example, storing the base graph when the code length is large may incur significant overhead. In that case, more flexible construction methods could be used to construct the base graph by lifting a smaller graph.

VIII Acknowledgement

The authors would like to thank Prof. Philip H. W. Leong, Prof. Kin Hong Lee, Hoover H. F. Yin, Yulin Chen, and Fangwei Ye for the useful discussions and valuable suggestions on this work.

References

  • [1] B. Rong, “6G: The next horizon: From connected people and things to connected intelligence,” IEEE Wireless Communications, vol. 28, no. 5, pp. 8–8, 2021.
  • [2] M. Z. Chowdhury, M. Shahjalal, S. Ahmed, and Y. M. Jang, “6G wireless communication systems: Applications, requirements, technologies, challenges, and research directions,” IEEE Open Journal of the Communications Society, vol. 1, pp. 957–975, 2020.
  • [3] J. Liu, Y. Shi, Z. M. Fadlullah, and N. Kato, “Space-air-ground integrated network: A survey,” IEEE Communications Surveys & Tutorials, vol. 20, no. 4, pp. 2714–2741, 2018.
  • [4] M. Majid, S. Habib, A. R. Javed, M. Rizwan, G. Srivastava, T. R. Gadekallu, and J. C.-W. Lin, “Applications of wireless sensor networks and Internet of things frameworks in the industry revolution 4.0: A systematic literature review,” Sensors, vol. 22, no. 6, p. 2087, 2022.
  • [5] H. Bagheri, M. Noor-A-Rahim, Z. Liu, H. Lee, D. Pesch, K. Moessner, and P. Xiao, “5G NR-V2X: Toward connected and cooperative autonomous driving,” IEEE Communications Standards Magazine, vol. 5, no. 1, pp. 48–54, 2021.
  • [6] S. Yang, H. H. Yin, R. W. Yeung, X. Xiong, Y. Huang, L. Ma, M. Li, and C. Tang, “On scalable network communication for infrastructure-vehicle collaborative autonomous driving,” IEEE Open Journal of Vehicular Technology, vol. 4, pp. 310–324, 2022.
  • [7] Z. Ma, M. Xiao, Y. Xiao, Z. Pang, H. V. Poor, and B. Vucetic, “High-reliability and low-latency wireless communication for Internet of things: Challenges, fundamentals, and enabling technologies,” IEEE Internet of Things Journal, vol. 6, no. 5, pp. 7946–7970, 2019.
  • [8] H. Alghafari and M. S. Haghighi, “Decentralized joint resource allocation and path selection in multi-hop integrated access backhaul 5G networks,” Computer Networks, vol. 207, p. 108837, 2022.
  • [9] D. C. Salyers, A. D. Striegel, and C. Poellabauer, “Wireless reliability: Rethinking 802.11 packet loss,” in 2008 International Symposium on a World of Wireless, Mobile and Multimedia Networks.   IEEE, 2008, pp. 1–4.
  • [10] E. Tanghe, W. Joseph, L. Verloock, and L. Martens, “Evaluation of vehicle penetration loss at wireless communication frequencies,” IEEE Transactions on Vehicular Technology, vol. 57, no. 4, pp. 2036–2041, 2008.
  • [11] A. M. Al-Jubari, M. Othman, B. Mohd Ali, and N. A. W. Abdul Hamid, “TCP performance in multi-hop wireless ad hoc networks: challenges and solution,” EURASIP Journal on Wireless Communications and Networking, vol. 2011, no. 1, pp. 1–25, 2011.
  • [12] C. Fischione, M. Butussi, K. H. Johansson, and M. D’angelo, “Power and rate control with outage constraints in CDMA wireless networks,” IEEE Transactions on Communications, vol. 57, no. 8, pp. 2225–2229, 2009.
  • [13] R. Fantacci, D. Marabissi, D. Tarchi, and I. Habib, “Adaptive modulation and coding techniques for OFDMA systems,” IEEE Transactions on Wireless Communications, vol. 8, no. 9, pp. 4876–4883, 2009.
  • [14] Y. Tian, K. Xu, and N. Ansari, “TCP in wireless environments: problems and solutions,” IEEE Communications Magazine, vol. 43, no. 3, pp. S27–S32, 2005.
  • [15] T. Kanematsu, K. Sanada, Z. Li, T. Pei, Y.-J. Choi, K. Nguyen, and H. Sekiya, “Throughput and delay analysis for IEEE 802.11 multi-hop networks considering data rate,” International Journal of Distributed Sensor Networks, vol. 16, no. 9, p. 1550147720959262, 2020.
  • [16] S. Yang and R. W. Yeung, “Coding for a network coded fountain,” in 2011 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2011, pp. 2647–2651.
  • [17] ——, “Batched sparse codes,” IEEE Transactions on Information Theory, vol. 60, no. 9, pp. 5322–5346, 2014.
  • [18] S. Yang and Q. Zhou, “Tree analysis of BATS codes,” IEEE Communications Letters, vol. 20, no. 1, pp. 37–40, 2015.
  • [19] S. Yang, T.-C. Ng, and R. W. Yeung, “Finite-length analysis of BATS codes,” IEEE Transactions on Information Theory, vol. 64, no. 1, pp. 322–348, 2017.
  • [20] X. Zhang, H. Jiang, L. Zhang, C. Zhang, Z. Wang, and X. Chen, “An energy-efficient ASIC for wireless body sensor networks in medical applications,” IEEE Transactions on Biomedical Circuits and Systems, vol. 4, no. 1, pp. 11–18, 2009.
  • [21] F. Karray, M. W. Jmal, M. Abid, M. S. BenSaleh, and A. M. Obeid, “A review on wireless sensor node architectures,” in 2014 9th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC).   IEEE, 2014, pp. 1–8.
  • [22] P. Hailes, L. Xu, R. G. Maunder, B. M. Al-Hashimi, and L. Hanzo, “A survey of FPGA-based LDPC decoders,” IEEE Communications Surveys & Tutorials, vol. 18, no. 2, pp. 1098–1122, 2015.
  • [23] Y. Fang, G. Bi, Y. L. Guan, and F. C. Lau, “A survey on protograph LDPC codes and their applications,” IEEE Communications Surveys & Tutorials, vol. 17, no. 4, pp. 1989–2016, 2015.
  • [24] D. S. Lun, M. Médard, R. Koetter, and M. Effros, “On coding for reliable communication over packet networks,” Physical Communication, vol. 1, no. 1, pp. 3–20, 2008.
  • [25] Y. Wu, “A trellis connectivity analysis of random linear network coding with buffering,” in 2006 IEEE International Symposium on Information Theory.   IEEE, 2006, pp. 768–772.
  • [26] A. F. Dana, R. Gowaikar, R. Palanki, B. Hassibi, and M. Effros, “Capacity of wireless erasure networks,” IEEE Transactions on Information Theory, vol. 52, no. 3, pp. 789–804, 2006.
  • [27] K. Mahdaviani, M. Ardakani, H. Bagheri, and C. Tellambura, “Gamma codes: A low-overhead linear-complexity network coding solution,” in 2012 International Symposium on Network Coding (NetCod).   IEEE, 2012, pp. 125–130.
  • [28] B. Tang and S. Yang, “An ldpc approach for chunked network codes,” IEEE/ACM Transactions on Networking, vol. 26, no. 1, pp. 605–617, 2018.
  • [29] B. Tang, S. Yang, Y. Yin, B. Ye, and S. Lu, “Expander graph based overlapped chunked codes,” in 2012 IEEE International Symposium on Information Theory Proceedings.   IEEE, 2012, pp. 2451–2455.
  • [30] S. Yang, J. Ma, and X. Huang, “Multi-hop underwater acoustic networks based on bats codes,” in Proceedings of the 13th International Conference on Underwater Networks & Systems, 2018, pp. 1–5.
  • [31] X. Xu, Y. Zeng, Y. L. Guan, and L. Yuan, “Expanding-window bats code for scalable video multicasting over erasure networks,” IEEE Transactions on Multimedia, vol. 20, no. 2, pp. 271–281, 2017.
  • [32] Z. Huakai, D. Guangliang, and L. Haitao, “Simplified bats codes for deep space multihop networks,” in 2016 IEEE Information Technology, Networking, Electronic and Automation Control Conference.   IEEE, 2016, pp. 311–314.
  • [33] R. Tanner, “A recursive approach to low complexity codes,” IEEE Transactions on information theory, vol. 27, no. 5, pp. 533–547, 1981.
  • [34] R. Gallager, “Low-density parity-check codes,” IRE Transactions on information theory, vol. 8, no. 1, pp. 21–28, 1962.
  • [35] D. J. MacKay and R. M. Neal, “Near Shannon limit performance of low density parity check codes,” Electronics letters, vol. 33, no. 6, pp. 457–458, 1997.
  • [36] D. J. MacKay, “Good error-correcting codes based on very sparse matrices,” IEEE transactions on Information Theory, vol. 45, no. 2, pp. 399–431, 1999.
  • [37] R. M. Tanner, “On quasi-cyclic repeat-accumulate codes,” in Proceedings of the Annual Allerton Conference on Communication Control and Computing, vol. 37.   Citeseer, 1999, pp. 249–259.
  • [38] R. Smarandache and P. O. Vontobel, “Quasi-cyclic LDPC codes: Influence of proto-and tanner-graph structure on minimum hamming distance upper bounds,” IEEE Transactions on Information Theory, vol. 58, no. 2, pp. 585–607, 2012.
  • [39] X. Wu, X. You, and C. Zhao, “A necessary and sufficient condition for determining the girth of quasi-cyclic LDPC codes,” IEEE Transactions on Communications, vol. 56, no. 6, pp. 854–857, 2008.
  • [40] M. Karimi and A. H. Banihashemi, “On the girth of quasi-cyclic protograph LDPC codes,” IEEE transactions on information theory, vol. 59, no. 7, pp. 4542–4552, 2013.
  • [41] J. Li, K. Liu, S. Lin, and K. Abdel-Ghaffar, “Algebraic quasi-cyclic LDPC codes: Construction, low error-floor, large girth and a reduced-complexity decoding scheme,” IEEE Transactions on communications, vol. 62, no. 8, pp. 2626–2637, 2014.
  • [42] J. Qing, H. H. Yin, and R. W. Yeung, “Enhancing the decoding rates of BATS codes by learning with guided information,” in 2022 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2022, pp. 37–42.
  • [43] D. J. MacKay, “Fountain codes,” IEE Proceedings-Communications, vol. 152, no. 6, pp. 1062–1068, 2005.
  • [44] T. Ho, M. Médard, R. Koetter, D. R. Karger, M. Effros, J. Shi, and B. Leong, “A random linear network coding approach to multicast,” IEEE Transactions on Information Theory, vol. 52, no. 10, pp. 4413–4430, 2006.
  • [45] H. H. Yin, K. H. Ng, A. Z. Zhong, R. W. Yeung, S. Yang, and I. Y. Chan, “Intrablock interleaving for batched network coding with blockwise adaptive recoding,” IEEE Journal on Selected Areas in Information Theory, vol. 2, no. 4, pp. 1135–1149, 2021.
  • [46] H. H. Yin, B. Tang, K. H. Ng, S. Yang, X. Wang, and Q. Zhou, “A unified adaptive recoding framework for batched network coding,” IEEE Journal on Selected Areas in Information Theory, vol. 2, no. 4, pp. 1150–1164, 2021.
  • [47] H. H. Yin, H. W. Wong, M. Tahernia, and J. Qing, “Packet size optimization for batched network coding,” in 2022 IEEE International Symposium on Information Theory (ISIT).   IEEE, 2022, pp. 1584–1589.
  • [48] B. Dai, S. Ding, and G. Wahba, “Multivariate Bernoulli distribution,” Bernoulli, pp. 1465–1483, 2013.
  • [49] Y.-k. Choi, Y. Chi, W. Qiao, N. Samardzic, and J. Cong, “Hbm connect: High-performance hls interconnect for fpga hbm,” in The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, 2021, pp. 116–126.
  • [50] D. E. Hocevar, “A reduced complexity decoder architecture via layered decoding of LDPC codes,” in IEEE Workshop onSignal Processing Systems, 2004. SIPS 2004.   IEEE, 2004, pp. 107–112.
  • [51] S. Kim, G. E. Sobelman, and H. Lee, “A reduced-complexity architecture for ldpc layered decoding schemes,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 19, no. 6, pp. 1099–1103, 2010.
  • [52] K. Zhang, X. Huang, and Z. Wang, “High-throughput layered decoder implementation for quasi-cyclic ldpc codes,” IEEE Journal on Selected Areas in Communications, vol. 27, no. 6, pp. 985–994, 2009.