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

Informed Dynamic Scheduling for QLDPC Codes

Tzu-Hsuan Huang Department of Electrical Engineering, National Tsing Hua University, Hsinchu, Taiwan [email protected]    Yeong-Luh Ueng Department of Electrical Engineering & Institute of Communications Engineering, National Tsing Hua University, Hsinchu, Taiwan [email protected]
Abstract

Recent research has shown that syndrome-based belief propagation using layered scheduling (sLBP) can not only accelerate the convergence rate but also improve the error rate performance by breaking the quantum trapping sets for quantum low-density parity-check (QLDPC) codes, showcasing a result distinct from classical error correction codes.

In this paper, we consider edge-wise informed dynamic scheduling (IDS) for QLDPC codes based on syndrome-based residual belief propagation (sRBP). However, the construction of QLDPC codes and the identical prior intrinsic information assignment will result in an equal residual in many edges, causing a performance limitation for sRBP. Two strategies, including edge pool design and error pre-correction, are introduced to tackle this obstacle and quantum trapping sets. Then, a novel sRBP equipped with a predict-and-reduce-error mechanism (PRE-sRBP) is proposed, which can provide a performance gain on considered QLDPC codes of over one order of magnitude compared to sLBP.

1 Introduction

In the field of quantum storage, quantum error correction codes are applied to protect the original information from noise by encoding logical quantum bits (qubits) to larger redundant physical qubits. Recently, quantum low-density parity-check (QLDPC) codes, a type of quantum error correction codes, have been a potential candidate for near-term quantum computers for their higher coding rate and minimum distance compared to surface codes [1, 2, 3]. For QLDPC codes, the binary [4] or the 4-ary [5] isomorphism to elements in Pauli groups allows the application of binary and non-binary syndrome-based belief propagation (sBP) decoders [6, 7]. The binary sBP is considered in this paper owing to its lower complexity and potential for low-latency hardware implementation.

In order to simultaneously detect both bit-flip and phase-flip errors in quantum error correction, QLDPC codes need to be designed to satisfy orthogonal measurement requirements. However, such construction limitations of quantum codes can result in quantum trapping sets, which will limit decoding performance [8]. For iterative decoders such as BP, a quantum trapping set refers to the part of the error that either fails to converge or converges to an error in which the corresponding syndrome is different from the given syndrome input, causing the decoder to suffer from an error floor.

In [9, 10], it was shown that by appending the ordered statistics decoder (OSD) to sBP, the error floor can be reduced, which indicates the mitigation of the impact from trapping sets. However, the significant improvement in error rate using sBP+OSD comes at the cost of high complexity due to the Gaussian elimination used to solve linear equations, making it challenging to design low-latency hardware for the decoder [11]. The study in [8] demonstrates that using sequential scheduling methods, such as layered sBP (sLBP), can not only accelerate convergence but also reduce the impact of the trapping set, which inspires us to explore different scheduling strategies for sBP based on QLDPC codes.

In classical error correction, unlike fixed sequential scheduling, where the update order is predetermined before the decoder begins, informed dynamic scheduling (IDS) [12] is an edge-wise decoder, which can mitigate the impact of classical trapping sets by dynamically changing the update order of edges, further accelerating the convergence.

A common IDS instance is residual belief propagation (RBP) [13]. Each time, RBP updates an edge of the check-to-variable (C2V) message corresponding to the maximum difference between the pre-computed C2V message and the current message, known as the residual. Although the convergence rate can be accelerated using RBP, the error rate performance subsequent to a sufficiently large iteration is even worse than LBP due to the greedy group phenomenon [14]. The RBP decoder tends to greedily update a small group of edges for certain errors, neglecting the contribution of intrinsic information from other edges, resulting in convergence failure and error rate loss. Several RBP-based variants have been proposed that alleviate the greedy update of RBP and can further improve the error performance rate [15, 16].

Although IDS and its variations provide a faster convergence rate for classical LDPC codes, their effect on quantum codes has not yet been studied well. Unlike classical error correction, the transmitted information cannot be measured directly; otherwise, the qubit state will collapse [4]. Thus, a constant value that depends on the given fixed channel probability is identically assigned to each variable node as prior intrinsic information. In addition, due to the orthogonal measurement requirements, quantum codes will contain more symmetry structures than classical codes. Under these effects, many edges will exist with equal residuals, reducing the chance of sRBP converging to the true syndrome.

To tackle the obstacle for QLDPC codes, we propose two strategies: 1) Design an edge pool providing diverse edges to enhance the chance of updating edges outside the greedy group or trapping set. 2) Predict an error position by using the given syndrome information and reduce the impact of this associated error. Based on these strategies, we propose a new sRBP equipped with a predict-and-reduce-error mechanism (PRE-sRBP). The edge pool design in PRE-sRBP can provide abundant different edges each time. The assistance of the estimated support sequence can further mitigate the impact of the trapping set. Simulation results show that for bicycle codes [6], the elaborately designed edge pool for an sRBP-based decoder can not only yield better error-rate performance but also provide a faster convergence rate than sLBP. For those codes with many quantum trapping sets, such as hypergraph-product (HP) code [17], simulation results show that an intense mechanism, such as the predict-and-reduce-error mechanism, is needed in order to improve the performance. As a result, the proposed PRE-sRBP can achieve superior error-rate performance and comparable complexity to other sRBP-based decoders on different QLDPC codes. For example, the proposed PRE-sRBP can provide an improvement over one order of magnitude compared to other sRBP-based decoders on a [[400,16,6]][[400,16,6]] HP code.

The remainder of this paper is organized as follows. In Section 2, we introduce quantum error correction codes and the sBP. The impact of cycles and quantum trapping sets are also introduced. In Section 3, we present several syndrome-based IDS algorithms based on sRBP using the concept of the edge pool and then describe the challenges and the design strategies for sRBP on QLDPC codes. In Section 4, based on these design strategies, the proposed PRE-sRBP is introduced. Section 5 shows the simulation results and a complexity analysis. Finally, a conclusion is provided in Section 6.

2 Background

2.1 Quantum error codes

In a single-qubit system, Pauli operators describe the operations acting on a single qubit, consisting of I,X,Z,I,X,Z, and Y=iXZY=iXZ, where i=1i=\sqrt{-1} and each element is mutually anti-commute [4]. For example, XX and ZZ denote a bit-flip and phase-flip on a single qubit state. The Pauli group 𝒢1\mathcal{G}_{1} is formed by Pauli operators with the multiplicative factors ±1\pm{1} and ±i\pm{i}. For an NN-qubit system, the general Pauli group 𝒢N\mathcal{G}_{N} is considered as the NN-fold tensor product of 𝒢1\mathcal{G}_{1}.

Quantum stabilizer codes are well-studied due to their similar form to classical linear codes [18, 19]. An [[N,K,d]][[N,K,d]] stabilizer code CSC_{S} encodes KK qubits to an NN-qubit codeword with a minimum distance dd. As its name suggests, CSC_{S} is defined by its stabilizer group 𝒮𝒢n\mathcal{S}\subseteq\mathcal{G}_{n}, where I𝒮-I\notin\mathcal{S}. All the elements in 𝒮\mathcal{S} are mutually commuted to ensure the bit-flip and phase-flip can be detected simultaneously. Furthermore, 𝒮\mathcal{S} can be characterized by NKN-K generators gi𝒢n,0i<NKg_{i}\in\mathcal{G}_{n},0\leq i<N-K, i.e., 𝒮=gi\mathcal{S}=\langle g_{i}\rangle. An NN-qubit codeword |ψCS\ket{\psi}\in C_{S} is then the +1+1 eigenstate of all the generators, i.e., 𝒫|ψ=|ψ,𝒫gi\mathcal{P}\ket{\psi}=\ket{\psi},\ \mathcal{P}\in\langle g_{i}\rangle. Since the Pauli operators can be expressed as a binary string, i.e., I(0 0),X(1 0),Z(0 1),Y(1 1)I\mapsto(0\ 0),X\mapsto(1\ 0),Z\mapsto(0\ 1),Y\mapsto(1\ 1), the set of NKN-K generators can then be represented as a binary matrix HS=(HX𝒮HZ𝒮)H_{S}=(H_{X_{\mathcal{S}}}\ H_{Z_{\mathcal{S}}}), where HX𝒮,HZ𝒮F2(NK)×NH_{X_{\mathcal{S}}},H_{Z_{\mathcal{S}}}\in F^{(N-K)\times N}_{2}. By using the binary representation, the commutativity of each generator is then expressed as the orthogonality of the rows under the symplectic product, equivalently,

HX𝒮HZ𝒮THZ𝒮HX𝒮T=𝟎,H_{X_{\mathcal{S}}}H_{Z_{\mathcal{S}}}^{T}\oplus H_{Z_{\mathcal{S}}}H_{X_{\mathcal{S}}}^{T}=\mathbf{0}, (1)

where \oplus is the addition under mod 2.

It can be seen that identifying two matrices satisfying the constraint (1) is not trivial. Thus, a class of stabilizer codes, called the Calderbank, Shor-Steane (CSS) codes, are widely used [20, 21]. The parity-check matrix for a CSS code has the form

Hcss=(HX00HZ).H_{css}=\begin{pmatrix}H_{X}&0\\ 0&H_{Z}\end{pmatrix}. (2)

Thus, the equation (1) can be reduced to HXHZT=𝟎H_{X}H_{Z}^{T}=\mathbf{0}. Suppose two classical linear block codes satisfy the relationship CXCZC_{X}\subset C_{Z}, then the parity-check matrix HZH_{Z} of the code CZC_{Z} and HXH_{X} of CXC^{\bot}_{X} can form a CSS code since GXHZT=𝟎G_{X}H_{Z}^{T}=\mathbf{0}, where GXG_{X} is the generator matrix of CXC_{X}. If CXC_{X} and CZC_{Z} are LDPC codes, i.e., the non-zero elements in its parity-check matrix are sparse, then the corresponding quantum code is called a QLDPC code. The QLDPC codes considered in this paper, including the bicycle code [6], generalized bicycle code [9], and HP code [17], are all types of CSS codes.

2.2 Quantum channel and syndrome-based BP (sBP)

For an NN-qubit system, any arbitrary error pattern can be digitalized and can then be represented as the element in the NN-fold Pauli group, which consists of XX and ZZ [22]. Thus, the noisy model can be viewed as two independent channels, a bit-flip with probability pxp_{x} and a phase-flip with pzp_{z}. Since all the codes considered in this paper are CSS codes, neglecting the correlation between XX and ZZ errors, it is sufficient to decode using just one type of parity-check matrix and error channel. For instance, the bit-flip noisy channel with crossover probability pxp_{x} and HZ=HH_{Z}=H are considered in this paper.

To apply binary BP on the given error correction code, the parity-check matrix HF2M×NH\in F^{M\times N}_{2} of the code is first transformed to a factor graph (or the Tanner graph [23]), which consists of MM check nodes and NN variable nodes, denoted as cic_{i} and vjv_{j}, corresponding to the iith row and the jjth column of the parity-check matrix, respectively. Let dcid_{c_{i}} be the degree of check node cic_{i}. Them each check node cic_{i} has dcid_{c_{i}} edges linked to its neighboring variable node vjv_{j}, where vj𝒩(ci)={vj|Hij=1}v_{j}\in\mathcal{N}(c_{i})=\{v_{j^{\prime}}|{H}_{ij^{\prime}}=1\}. Likewise, each variable node vjv_{j} has dvjd_{v_{j}} edges linked to its neighboring check node cic_{i}, where dvjd_{v_{j}} is the degree of variable node vjv_{j} and ci𝒩(vj)={ci|Hij=1}c_{i}\in\mathcal{N}(v_{j})=\{c_{i^{\prime}}|{H}_{i^{\prime}j}=1\}.

To avoid confusion in this paper, we refer to an error vector 𝐞F2N\mathbf{e}\in F^{N}_{2} as an error pattern. The index of each coordinate of 𝐞\mathbf{e} is referred to as the error position or a variable node in error (in the Tanner graph). The support of 𝐞\mathbf{e}, denoted as supp(𝐞)\text{supp}(\mathbf{e}), is the set of indices corresponding to the non-zero error positions in 𝐞\mathbf{e}, i.e., supp(𝐞)={j|0j<N,ej0}\text{supp}(\mathbf{e})=\{j|0\leq j<N,e_{j}\neq 0\}. Then, the weight of 𝐞\mathbf{e} is the cardinality of supp(𝐞)\text{supp}(\mathbf{e}), denoted as w(𝐞)w(\mathbf{e}). The syndrome 𝐬F2M\mathbf{s}\in F^{M}_{2} corresponding to an error pattern 𝐞\mathbf{e} can be computed as 𝐬=H𝐞\mathbf{s}=H\cdot\mathbf{e}. Likewise, the syndrome position or a check node, the support of a syndrome supp(𝐬)\text{supp}(\mathbf{s}), and the weight w(𝐬)w(\mathbf{s}) are used under a similar definition as for an error pattern.

A difference in using BP on quantum codes is that the intrinsic information from the channel cannot be measured directly due to the collapse of the quantum state. Instead, the syndrome measured on the auxiliary qubits is the only information that can be obtained [4]. Hence, the so-called syndrome-based BP (sBP) is used [24]. Considering the sBP decoder in the log domain [25], where the log-likelihood ratio (LLR) is used for message passing, we denote a message from vjv_{j} to the neighboring cic_{i} at the kkth iteration as LvjcikL^{k}_{v_{j}\rightarrow c_{i}}, where 0j<N0\leq j<N. Then, due to the lack of different prior intrinsic information for each variable node vjv_{j}, at the 0th iteration, the prior LLR Lvj0L^{0}_{v_{j}} and Lvjci0L^{0}_{v_{j}\rightarrow c_{i}} are both assigned to the identical constant value ln1pp\ln\frac{1-p}{p} for all jj, given px=pp_{x}=p. Then the message from cic_{i} to vjv_{j} is computed according to

mcivjk\displaystyle m^{k}_{c_{i}\rightarrow v_{j}} =(1)si2\displaystyle=(-1)^{s_{i}}\cdot 2\cdot (3)
atanh(vj𝒩(ci)vjtanh(Lvjcik2)),\displaystyle\operatorname{atanh}{\left(\prod_{v_{j^{\prime}}\in\mathcal{N}(c_{i})\setminus v_{j}}\tanh\left(\frac{L^{k}_{v_{j^{\prime}}\rightarrow c_{i}}}{2}\right)\right)},

where sis_{i} denotes the iith syndrome position, where 0i<M0\leq i<M.

In the next iteration, LvjciL_{v_{j}\rightarrow c_{i}} is computed according to

Lvjcik+1=Lvj0+ci𝒩(vj)cimcivjk.L^{k+1}_{v_{j}\rightarrow c_{i}}=L^{0}_{v_{j}}+\sum_{c_{i^{\prime}}\in\mathcal{N}(v_{j})\setminus c_{i}}m^{k}_{c_{i^{\prime}}\rightarrow v_{j}}. (4)

The element-wise LLR Lvjk+1L^{k+1}_{v_{j}} at the (k+1)(k+1)th iteration for each vjv_{j} can be computed as

Lvjk+1=Lvj0+ci𝒩(vj)mcivjkL^{k+1}_{v_{j}}=L^{0}_{v_{j}}+\sum_{c_{i}\in\mathcal{N}(v_{j})}m^{k}_{c_{i}\rightarrow v_{j}} (5)

and the estimated error e^vjk=0\hat{e}^{k}_{v_{j}}=0 if Lvjk+1>0L^{k+1}_{v_{j}}>0; Otherwise, e^vjk=1\hat{e}^{k}_{v_{j}}=1. Then the estimated syndrome at the kk iteration is 𝐬^k=H𝐞^k\hat{\mathbf{s}}^{k}=H\cdot\hat{\mathbf{e}}^{k}. If 𝐬^k\hat{\mathbf{s}}^{k} is consistent with the given syndrome 𝐬\mathbf{s}, the decoder is declared to have converged. Otherwise, the sBP decoder will repeat (3) and (4) until either the decoder converges or the maximum iteration ImaxI_{\max} is reached. The sBP introduced above is sometimes referred to as flooding scheduling since, for an iteration, all the C2V messages are updated, followed by an update of all the variable-to-check (V2C) messages.

2.3 Quantum trapping sets

In the Tanner graph, a cycle is formed by a set of check and variable nodes that create a closed loop. The cycle length is determined by the number of edges it contains. As mentioned in Section 2.1, the CSS code is built from two classical codes that satisfy the symplectic product relationship, leading to more cycles and even length-4 cycles compared to the classical code, which will induce multiple quantum trapping sets. A quantum trapping set consists of classical-type trapping sets and symmetric stabilizer trapping sets. The classical type includes a set of variable nodes that cannot converge correctly even after sufficiently large iterations [8, Definition 1]. The subgraph induced by this kind of trapping set will contain odd-degree check nodes, and the most problematic trapping sets will contain degree-1 and degree-2 check nodes in the induced sub-graphs [26].

In contrast, the symmetric stabilizer trapping sets refer to a set of variable nodes that converge incorrectly, where the corresponding syndrome is inconsistent with the given syndrome [8, Definition 4]. Symmetric stabilizer trapping, which is unique to quantum codes, is related to code construction. Certain quantum codes have numerous sets of variable and check nodes, whose induced subgraphs have no odd-degree check nodes and can be partitioned into symmetric disjoint subsets [8, Definition 5]. Under these conditions, it’s possible that, given a syndrome, there are two equal-weight error patterns in the subgraph. As a result, the iterative decoder cannot determine which one should be converged upon and often converges to the addition of these two error patterns, leading to a zero syndrome. According to [8], HP codes suffer from an error floor due to the abundance of quantum trapping sets.

3 Informed dynamic scheduling (IDS) for QLDPC codes

If rows (or columns) of the parity-check matrix are divided into different layers, and the message is updated layer by layer, then this kind of fixed sequential scheduling, called layered-BP (LBP) [27, 28], can achieve twice the convergence rate while maintaining the error-rate performance for classical error correction codes. It was demonstrated in [8] that using syndrome-based LBP (sLBP) can improve not only the convergence speed but also the error floor performance for QLDPC codes by solving the quantum trapping set, mainly the symmetric-stabilizer type. In classical error correction, dynamic scheduling can further alleviate the impact of trapping sets, which motivates us to explore the potential of syndrome-based IDS for QLDPC codes.

3.1 Syndrome-based IDS

Unlike fixed scheduling, where the update order of the check or variable node is predetermined sequentially before the iteration begins, IDS, an edge-wise decoder, dynamically changes the update order of the edges according to the residual

r(mk)=mkpremk,r(m_{k})=\left\|m^{pre}_{k}-m_{k}\right\|, (6)

where the residual is referred to as the norm of the difference between the pre-computed message mkprem^{pre}_{k} and the current message mkm_{k}. For instance, a specific criterion of the RBP [13] is to identify the update order according to the residual of the C2V message, which is defined as

rcivj=|mcivjpremcivj|.r_{c_{i}\rightarrow v_{j}}=\lvert m^{pre}_{c_{i}\rightarrow v_{j}}-m_{c_{i}\rightarrow v_{j}}\rvert. (7)

The criterion is based on the idea that a larger residual indicates lower message reliability, necessitating more message updates to achieve convergence. Therefore, prioritizing updates to these edges can accelerate the convergence rate. Additionally, following the edge-wise criterion, the update order can spoil the constraint of the topological structure compared to fixed scheduling, which may lead to an improvement in error-rate performance.

To reduce the complexity of the pre-computation mcivjprem^{pre}_{c_{i}\rightarrow v_{j}}, the min-sum algorithm (MSA) [29] can be applied to replace (3) with

mcivjk=(1)sivj𝒩(vi)vjsgn(Lvjcik)\displaystyle m^{k}_{c_{i}\rightarrow v_{j}}=(-1)^{s_{i}}\prod_{v_{j^{\prime}}\in\mathcal{N}(v_{i})\setminus v_{j}}\text{sgn}(L^{k}_{v_{j^{\prime}}\rightarrow c_{i}})\cdot (8)
minvj𝒩(ci)vj|Lvjcik|.\displaystyle\min_{v_{j^{\prime}}\in\mathcal{N}(c_{i})\setminus v_{j}}|L^{k}_{v_{j^{\prime}}\rightarrow c_{i}}|.

3.2 The edge pool for sRBP

Several algorithms based on sRBP for quantum codes are presented in this section. The concept of the edge pool is introduced to aid in distinguishing the similarities and differences between algorithms. Let cmaxc_{\max} and vmaxv_{\max} respectively denote the chosen check node and the variable node corresponding to the max{{ci,vj}}rcivj\max_{\bigl{\{}\{c_{i},v_{j}\}\in\mathfrak{R}\bigl{\}}}r_{c_{i}\rightarrow v_{j}}, where {ci,vj}\{c_{i},v_{j}\} represents an edge connected by check node cic_{i} and variable node vjv_{j}, and an edge pool \mathfrak{R} is a set of edges. Then, after computing all residuals rcivjr_{c_{i}\rightarrow v_{j}} for all 0i<M,vj𝒩(ci)0\leq i<M,v_{j}\in\mathcal{N}(c_{i}) by using (7) and (8), we can arrange the sRBP and its variation algorithms into three main steps:

  1. S.1

    Select the cmaxc_{\max} and vmaxv_{\max} corresponding to the maximum residual of all edges in the edge pool \mathfrak{R} and update the edge from cmaxc_{\max} to vmaxv_{\max} by (3). The residual of the updated edge is assigned as zero.

  2. S.2

    For every ca𝒩(vmax)cmaxc_{a}\in\mathcal{N}(v_{\max})\setminus c_{\max}, update edges from vmaxv_{\max} to cac_{a} using (4), and for every vb𝒩(ca)vmaxv_{b}\in\mathcal{N}(c_{a})\setminus v_{\max}, compute the new residual of the edges from cac_{a} to vbv_{b} using (7).

  3. S.3

    Select the next cmaxc_{\max} and vmaxv_{\max} as in S.1 but from the new edge pool \mathfrak{R}^{\prime}, which depends on different decoders.

The decoder will repeat the three steps above for a single iteration, where an iteration is conventionally defined as when the number of C2V updates reaches the total number of undirected edges EE in the parity-check matrix due to an unbalanced update of the edge-wise decoder. It can be observed that S.2 only depends on the choice of cmaxc_{\max} and vmaxv_{\max} in S.1. As a result, different IDSs concentrate on designing the \mathfrak{R} and \mathfrak{R}^{\prime}. The design for the sRBP is shown in the Edge pool for sRBP.

Edge pool for sRBP
In S.1, the edge pool consists of edges from all check nodes, i.e.,
={{ci,vj}|0i<M,vj𝒩(ci)}\displaystyle\mathfrak{R}=\Bigl{\{}\{c_{i},v_{j}\}|0\leq i<M,v_{j}\in\mathcal{N}(c_{i})\Bigl{\}}
And the edge mcmaxvmaxm_{c_{\max}\rightarrow v_{\max}} is updated.
In S.3, the edge pool =\mathfrak{R}^{\prime}=\mathfrak{R}.

In classical error correction, the convergent rate of RBP is faster than for both BP and LBP, i.e., the error rate performance is better for the first few iterations. However, if there are many iterations, the performance may worsen due to the greedy group phenomenon [13]. When RBP encounters an error that it can not solve, it may try to correct the wrong variable node, leading to another unsatisfied check node. As a result, the residual of the edges related to this incorrect variable node will always be significant. The update will always occur in these greedy groups of edges, consuming a large number of resources and never succeeding.

A node-wise RBP (NW-RBP) [15] has been proposed to address this issue. This approach simultaneously updates all edges from the same check node, allowing for the update of edges outside the greedy group and ultimately improving the error rate. In [15], the authors showed how NW-RBP can tackle trapping sets. Suppose a variable node in a trapping set has been solved. In that case, at least one degree-2 check node becomes degree-1, which is likely to be chosen due to the large residual, resulting in the possible correctness for another variable node in the trapping set. However, the performance improvement using NW-RBP comes at the partial cost of the convergence rate. For syndrome-based NW-RBP (NW-sRBP), the design is shown in Edge pool for NW-sRBP.

Edge pool for NW-sRBP
1:In S.1, the edge pool passes through the edges from all check nodes, i.e.,
={{ci,vj}|0i<M,vj𝒩(ci)},\displaystyle\mathfrak{R}=\Bigl{\{}\{c_{i},v_{j}\}|0\leq i<M,v_{j}\in\mathcal{N}(c_{i})\Bigl{\}},
and the messages mcmaxvkm_{c_{\max}\rightarrow v_{k}} are updated for all vk𝒩(cmax)v_{k}\in\mathcal{N}(c_{\max}).
2:In S.3, the edge pool =\mathfrak{R}^{\prime}=\mathfrak{R}.
3:Note: In S.1, edges from cmaxc_{\max} to vk𝒩(cmax)v_{k}\in\mathcal{N}(c_{\max}) are updated simultaneously, while S.2 and S.3 remain unchanged, except for replacing vmaxv_{\max} with vkv_{k}.

After updating mcmaxvmaxm_{c_{\max}\rightarrow v_{\max}} and propagating the related edges from vmaxv_{\max} to its neighboring cac_{a}, it is reasonable that not only the message for the edge from the vmaxv_{\max} but also the message emitting from cac_{a} will be more reliable. Thus, the authors in [16] propose a strategy in which the next update is related to the latest-updated variable node, which they call the latest-message-driven RBP (LMD-RBP). From [16], it shows that the LMD-RBP algorithm performs better during the first few decoding iterations for the 5G New Radio LDPC codes [30]. The design for the syndrome-based LMD-RBP (LMD-sRBP) is shown in the Edge pool for LMD-sRBP.

Edge pool for LMD-sRBP
1:In S.1, the edge pool passes through the check nodes, i.e.,
={{ci,vj}|0i<M,vj𝒩(ci)},\displaystyle\mathfrak{R}=\Bigl{\{}\{c_{i},v_{j}\}|0\leq i<M,v_{j}\in\mathcal{N}(c_{i})\Bigl{\}},
and the message mcmaxvmaxm_{c_{\max}\rightarrow v_{\max}} is updated.
2:In S.3, the edge pool \mathfrak{R}^{\prime} is obtained by the new vmaxv^{*}_{\max} from I\mathfrak{R}_{I}, i.e.,
I={{ci,vj}|ci𝒩(vmax)cmax,vj𝒩(ci)vmax}={{ci,vmax}|ci𝒩(vmax)}\begin{split}\mathfrak{R}_{I}=\Bigl{\{}\{c_{i},v_{j}\}|c_{i}\in\mathcal{N}(v_{\max})\setminus c_{\max},\\ v_{j}\in\mathcal{N}(c_{i})\setminus v_{\max}\Bigl{\}}\\ \mathfrak{R^{\prime}}=\Bigl{\{}\{c_{i},v^{*}_{\max}\}|c_{i}\in\mathcal{N}(v^{*}_{\max})\Bigl{\}}\end{split}

3.3 Error weight analysis

We show the distribution of the error weight versus the solvable error ratio using sBP, sLBP, and other sRBP variations on the [[256,32]][[256,32]] bicycle code, as shown in Fig. 1.

\includegraphics

[width=]ErrWRBP256.pdf

Figure 1: The solvable ratio of different error weights using sBP, sLBP, sRBP, and LMD-sRBP where Imax=90I_{\max}=90.

The results show that sBP can effectively solve error patterns with a weight of 9 or less with a ratio of over 94%94\%. However, the solvable ratio decreases and cannot solve weights larger than 13, while sLBP can solve error patterns with a weight of 10 or less with a ratio over 98%98\%. sRBP can almost solve error patterns with a weight of 10 or less with a ratio over 99%99\%. However, for those with weights larger than 11, the ratio decreases rapidly. In contrast, by using LMD-sRBP, almost all error patterns with a weight of 10 or less can be solved with a ratio over 99%99\%. Compared to sLBP, the average solvable ratio for weights larger than 11 is also higher.

3.4 Issue for sRBP on QLDPC codes

The results shown in Fig. 1 indicate that there is room for improvement in performance using sRBP-based decoders on QLDPC codes. In classical error correction, the information of the residual of variable node, related to the different prior LLR Lvj0L^{0}_{v_{j}}, can be used to assist the decoder in identifying the reliability of edges, resulting in the change of update priority [31, 32, 33].

However, this assistance design is limited when considering sRBP on QLDPC codes since the identical prior LLR is assigned for every variable node as described in Section 2.2. Additionally, QLDPC codes are often regular, defined in [34] as the parity-check matrix having a constant row weight and a constant column weight, which are not necessarily equal. Here, weight refers to the number of non-zero positions in a row or column. This regularity of QLDPC codes, due to construction limitation introduced in Section 2.1, coupled with identical prior LLR assignments, results in an equal residual in many edges. Thus, the decoder may struggle to identify the reliability residual of the C2V and select the ineffective edge, which will have no effect on the error position in the trapping set, leading to a performance limitation.

To address the negative impact of the greedy group and trapping set, the first strategy is to design an edge pool that can offer various edges whenever we need to make a selection. In this way, the chance of the message exchange within and outside the greedy group or trapping set possibly leads to the decoding success. The second strategy is to predict an error position possibly belonging to the support of an error pattern and operate a pre-correction. If the error position involved in a trapping set can be solved first, then the effect of the trapping set may be mitigated. However, a candidate error position should be elaborately found since the syndrome is used as an input. Otherwise, the syndrome corresponding to the new error pattern after pre-correction would likely differ significantly from the original, resulting in a limitation on decoder performance.

4 The proposed sRBP for QLDPC codes

4.1 A proposed edge pool \mathfrak{R} for QLDPC codes

To provide the diversity of the edge pool, we propose an \mathfrak{R} induced by a variable node vtv_{t} and a list of its neighboring check nodes that have not been updated, where vtv_{t} will be adjusted for each time we update a C2V edge.

Given a current considered variable node vtv_{t}, each time to determine a C2V edge for updating, only those edges neighboring vtv_{t} are compared in S.1, and vtv_{t} is set to be different for the next time to determine the new C2V message update; in this way, we ensure that there must be different edges between \mathfrak{R}^{\prime} and \mathfrak{R}. The order of the considered vtv_{t} can be carefully designed by exploiting the correlation between each variable node, but in practice, sequentially setting vtv_{t} from 0 to N1N-1 is sufficient.

An additional dvtd_{v_{t}}-tuple flag list 𝐟vt\mathbf{f}^{v_{t}} is further introduced to the C2V comparison for each vtv_{t}. Each element in 𝐟vt\mathbf{f}^{v_{t}}, denoted as fcivtf^{v_{t}}_{c_{i}}, corresponds to neighboring check node ci𝒩(vt)c_{i}\in\mathcal{N}(v_{t}), which is initialized as 0. Each time to find a C2V edge from the edge pool induced by vtv_{t}, only edges from check node cic_{i} where fcivt=0f^{v_{t}}_{c_{i}}=0 are considered. When a C2V edge is updated in S.1, we set fcmaxvt=1f^{v_{t}}_{c_{\max}}=1. In this way, we can further provide different edges between \mathfrak{R} and \mathfrak{R}^{\prime} induced by vtv_{t}. To ensure at least one edge can be updated from \mathfrak{R} induced by vtv_{t}, once the number of neighboring cic_{i} where fcivt=1f^{v_{t}}_{c_{i}}=1 reaches dvt1d_{v_{t}}-1, all fcivtf^{v_{t}}_{c_{i}} are reset to 0.

In summary, the proposed pool design can deliver a diverse edge update order by creating abundant different edges for every new edge pool, providing a chance for message exchange within and outside the trapping set. Moreover, the complexity of the proposed design can be lower than other sRBP-based decoders presented in Section 3 since only the C2V neighboring vtv_{t}, and check nodes where fcivt=0f^{v_{t}}_{c_{i}}=0 will be involved in the residual comparison. The design for \mathfrak{R} and \mathfrak{R}^{\prime} is shown in Proposed Edge pool design.

Proposed Edge pool design
1:In S.1, the edge pool covers check nodes neighboring vt=0v_{t}=0 that have not yet been updated, i.e.,
={{ci,vj}|ci𝒩(vt),fcivt=0,vj𝒩(ci)vt}\displaystyle\begin{split}\mathfrak{R}=\Bigl{\{}\{c_{i},v_{j}\}|c_{i}\in\mathcal{N}(v_{t}),f^{v_{t}}_{c_{i}}=0,\\ v_{j}\in\mathcal{N}(c_{i})\setminus v_{t}\Bigl{\}}\end{split}
and the message mcmaxvmaxm_{c_{\max}\rightarrow v_{\max}} is updated. Set fcmaxt=1f^{t}_{c_{\max}}=1.
2:In S.3, the edge pool is induced by the new vl=vt+1,vl<Nv_{l}=v_{t}+1,v_{l}<N, i.e.,
={{ci,vj}|ci𝒩(vl),fcivl=0,vj𝒩(ci)vl}\displaystyle\begin{split}\mathfrak{R}^{\prime}=\Bigl{\{}\{c_{i},v_{j}\}|c_{i}\in\mathcal{N}(v_{l}),f^{v_{l}}_{c_{i}}=0,\\ v_{j}\in\mathcal{N}(c_{i})\setminus v_{l}\Bigl{\}}\end{split}

4.2 Error prediction from the syndrome

To predict a candidate error position that likely belongs to supp(𝐞)\text{supp}(\mathbf{e}) under the given syndrome 𝐬=H𝐞\mathbf{s}=H\cdot\mathbf{e}, Proposition 1 is given to assist us in identifying the candidate more accurately.

Proposition 1.

Considering a QLDPC code where HZ=HH_{Z}=H in which the check node degree is a constant dcd_{c} over the bit-flip channel with crossover probability px=pp_{x}=p, a priority of the estimated error position belonging to the supp(𝐞)\text{supp}(\mathbf{e}) given the syndrome 𝐬\mathbf{s} can be determined by the value dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}}, where dvjd_{v_{j}} is the degree of vjv_{j}, and wvj1w^{1}_{v_{j}} denotes the cardinality of the set of check nodes neighboring vjv_{j} and belonging to the support of the given syndrome, i.e., wvj1=|{ci|ci𝒩(vj),isupp(𝐬)}|w^{1}_{v_{j}}=|\{c_{i}|c_{i}\in\mathcal{N}(v_{j}),i\in\text{supp}(\mathbf{s})\}|.

Proof.

The proof is detailed in Appendix A. ∎

The lower the value of dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}} means the higher the ratio of the check nodes neighboring vjv_{j} involving the given syndrome, which implies that the jjth error position is likely belonging to supp(𝐞)\text{supp}(\mathbf{e}). Thus, we can obtain all candidate error positions by computing and sorting based on dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}}. A case is presented in Example 1.

Example 1.

Considering the [[256,32]][[256,32]] bicycle codes with the given syndrome 𝐬\mathbf{s}, where supp(𝐬)={2,7,20,22,23,26,28,38,40,44,50,54,55,60,75,80,81,88,90,91,94,97}\text{supp}(\mathbf{s})=\{2,7,20,22,23,26,28,38,40,44,50,54,55,60,75,\\ 80,81,88,90,91,94,97\}. By computing dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}} for each vjv_{j} and sorting in ascending order, we can obtain the sequence {31,43,93,115,151,9,25,33,}\{31,43,93,115,151,9,25,33,...\}, with the corresponding dvj2wvj1={5,4,3,2,1,0,0,0,}d_{v_{j}}-2w^{1}_{v_{j}}=\{-5,-4,-3,-2,-1,0,0,0,...\}. The error pattern 𝐞\mathbf{e} corresponding to 𝐬\mathbf{s} has supp(𝐞)={31,43,93,115}\text{supp}(\mathbf{e})=\{31,43,93,115\}, which are exactly the first 44 elements in this sequence.

Based on Proposition 1, we can build a sequence that reflects the possibility of errors belonging to supp(𝐞)\text{supp}(\mathbf{e}) for a given syndrome, where the most likely error in supp(𝐞)\text{supp}(\mathbf{e}) will occur at the beginning of this sequence, hereafter called the estimated support sequence. Since not every element in the support of an error pattern will exist in the first few positions in the estimated support sequence, we must carefully reduce the effect of an error position in the sequence individually. Suppose an error position belonging to the support is selected. In that case, we can obtain a new syndrome by reducing its corresponding syndrome position from the given syndrome, which might lead to the success of the sRBP. If a selected error is not in the support, the following position in the sequence will be considered for a new decoding process.

4.3 The proposed sRBP with a predict-and-reduce-error mechanism (PRE-sRBP)

Now, we introduce our proposed algorithm. Denote λmax\lambda_{\max} as the maximum number of error positions that we want to select from the estimated support sequence. Each time we select an error position from the sequence for the decoder, it is referred to as a trial. The algorithm begins with the first position that we select, i.e., λ=0\lambda=0. For each trial we record the NN-tuple standard error pattern 𝐞c=(0,0,1,0,0)\mathbf{e}_{c}=(0,...0,1,0,...0), where only the ccth position is 11 and cc is the λ\lambdath element in the estimated support sequence. To reduce the impact of 𝐞c\mathbf{e}_{c}, we compute its corresponding syndrome 𝐬𝐞c=H𝐞c\mathbf{s}_{\mathbf{e}_{c}}=H\cdot\mathbf{e}_{c} and then compute the input syndrome for the decoder presented in Section 4.1 as 𝐬𝐫=𝐬𝐬𝐞c\mathbf{s}_{\mathbf{r}}=\mathbf{s}\oplus\mathbf{s}_{\mathbf{e}_{c}}. The decoder for each trial will operate ItI_{t} iterations; thus, the total maximum number of iterations ImaxI_{\max} will become ItλmaxI_{t}\cdot\lambda_{\max}.

If the decoder converges to an estimated error pattern 𝐞^r\hat{\mathbf{e}}_{r}, then terminate and output the final estimated error pattern as 𝐞^=𝐞^r+𝐞c\hat{\mathbf{e}}=\hat{\mathbf{e}}_{r}+\mathbf{e}_{c}. If the decoder does not converge when the number of iterations reaches ItI_{t}, then move to the next position of the sequence until λmax\lambda_{\max}. Otherwise, declare that the decoder has failed to converge. We conclude that the sRBP is equipped with a predict-and-reduce-error mechanism, referred to as PRE-sRBP, and the details are provided in Algorithm 1.

4.4 Error weight analysis

Fig. 2 shows the solvable ratio using PRE-sRBP where λmax=15\lambda_{\max}=15 and It=6I_{t}=6. In comparison to that shown in Fig. 1, the algorithm can solve error patterns with a weight of up to 1111, but the solvable ratio decreases to 88%,50%,88\%,50\%, and 17%17\% for weights 12,1312,13, and 1414, respectively.

The impact of trapping sets may be mitigated if a variable node involved in the trapping set is selected from the estimated support sequence. A scenario is demonstrated in Example 2 to show the effect of the selection on the decoder.

Algorithm 1 The proposed PRE-sRBP
1:HF2M×NH\in F^{M\times N}_{2}, 𝐬F2M\mathbf{s}\in F^{M}_{2}, bit-flip channel crossover probability px=pp_{x}=p, and the maximum selection number λmax\lambda_{\max}.
2:The estimated error 𝐞^\hat{\mathbf{e}}
3:Create the estimated support sequence: Compute (dvjwvj1)(d_{v_{j}}-w^{1}_{v_{j}}) for all vjv_{j} and sort in ascending order. Set the parameter λ=0\lambda=0.
4:Initialize Lvj0=ln1ppL^{0}_{v_{j}}=\ln\frac{1-p}{p} and Lvjci(0)L^{(0)}_{v_{j}\rightarrow c_{i}} using Lvj0L^{0}_{v_{j}} for all vjv_{j} and ci𝒩(vj)c_{i}\in\mathcal{N}(v_{j}). Set the maximum number of iterations ItI_{t} for each trial λ\lambda and the iteration index k=0k=0.
5:Reduce the impact from 𝐞c\mathbf{e}_{c} by computing 𝐬𝐞c=𝐞cHT\mathbf{s}_{\mathbf{e}_{c}}=\mathbf{e}_{c}\cdot H^{T} and the input syndrome 𝐬𝐫=𝐬𝐬𝐞c\mathbf{s}_{\mathbf{r}}=\mathbf{s}\oplus\mathbf{s}_{\mathbf{e}_{c}}, where cc is the λ\lambdath element in the estimated support sequence.
6:Apply the design for \mathfrak{R} in Section 4.1 using 𝐬𝐫\mathbf{s}_{\mathbf{r}} and k<Itk<I_{t}:
7:   Compute rcivj,0i<M,vj𝒩(ci)r_{c_{i}\rightarrow v_{j}},0\leq i<M,v_{j}\in\mathcal{N}(c_{i}).
8:   Initialize the flag list 𝐟vt\mathbf{f}^{v_{t}}. Set vt=0v_{t}=0.
9:   Select the cmaxc_{\max} and vmaxv_{\max} in \mathfrak{R}, where
10:  ={ci,vj|ci𝒩(vt),fcivt=0,vj𝒩(ci)vt}\mathfrak{R}=\{c_{i},v_{j}|c_{i}\in\mathcal{N}(v_{t}),f^{v_{t}}_{c_{i}}=0,v_{j}\in\mathcal{N}(c_{i})\setminus v_{t}\} and follow step S.1.
11:   Set fcmaxvt=1f^{v_{t}}_{c_{\max}}=1 and follow step S.2.
12:   Set vt=vt+1,vt<Nv_{t}=v_{t}+1,v_{t}<N and follow step
13:   S.3 by using =\mathfrak{R}=\mathfrak{R}^{\prime}.
14:   When the number of the updated C2Vs
15:   reaches the total number of edges:
16:    If converge to 𝐞^r\hat{\mathbf{e}}_{r}, return 𝐞^=𝐞^r+𝐞c\hat{\mathbf{e}}=\hat{\mathbf{e}}_{r}+\mathbf{e}_{c}
17:    Else if k<Itk<I_{t}, then k=k+1k=k+1
18:              and go to 7.
19:    Else Set λ=λ+1,λ<λmax\lambda=\lambda+1,\lambda<\lambda_{\max} and go to 2.
20:return failure.
\includegraphics

[width=0.99]ErrWCan256.pdf

Figure 2: The solvable ratio for different error weights by using PRE-sRBP where λmax=15\lambda_{\max}=15 and It=6I_{t}=6.
Example 2.

Considering the [[256,32]][[256,32]] bicycle codes with the given syndrome 𝐬\mathbf{s}, where supp(𝐬)={0,2,3,4,5,9,11,15,17,19,20,21,24,25,27,28,30,\text{supp}(\mathbf{s})=\{0,2,3,4,5,9,11,15,17,19,20,21,24,25,27,28,30, 31,34,37,40,47,50,51,54,58,59,66,69,70,74,78,31,34,37,40,47,50,51,54,58,59,66,69,70,74,78, 79,80,82,88,89,90,92,96,97,101,102,103,107,79,80,82,88,89,90,92,96,97,101,102,103,107, 110,111}110,111\}, the corresponding weight-1111 error pattern 𝐞\mathbf{e} has the support supp(𝐞)={14,57,94,101,113,146,150,173,235,238,252}\text{supp}(\mathbf{e})=\{14,57,94,101,113,146,150,173,235,238,252\}. The estimated support sequence is obtained as {140,150,229,6,72,101,88,92,117,149,252,255}\{140,150,229,6,72,101,88,92,117,149,252,255...\\ \}. With this given syndrome, the iterative decoder induces the trapping set shown in Fig. 3. In the figure, circles and squares represent the variable and check nodes, respectively. Additionally, the black and red margins indicate whether a node belongs to the support or not. Variable nodes 66 and 255255 each forms a cycle-4, with the other two variable nodes 173,252173,252 and 113,57113,57, respectively.

Comparing supp(𝐞)\text{supp}(\mathbf{e}) and the estimated support sequence, we can see that 150150 is the first position belonging to supp(𝐞)\text{supp}(\mathbf{e}) that is selected from the estimated support sequence. However, even though 150150, which actually belongs to supp(𝐞)\text{supp}(\mathbf{e}), is selected, and the effect of its corresponding syndrome position is reduced, the decoder still fails. The same situation occurs for error position 101101. The reason is that they will not affect the considered trapping set. For both trials, error position 66 will always be determined to be in the support of an estimated error pattern during the decoding process. After 66 is determined, so is position 255255 since in the Tanner graph, all its neighboring check nodes belong to supp(𝐬)\text{supp}(\mathbf{s}). However, neither of them is in supp(𝐞)\text{supp}(\mathbf{e}); the syndrome corresponding to the estimated error pattern must not be consistent with the given syndrome, and the decoder fails. Thus, selecting an error not just from supp(𝐞)\text{supp}(\mathbf{e}) but also involved in the trapping set is crucial in this case. For example, when error position 252252 is selected and reduced, PRE-sRBP is able to break this trapping set and will succeed.

\includegraphics

[width=0.99]FigureRBP.pdf

Figure 3: A trapping set example. Circles and squares represent variables and check nodes, respectively, Those colored in black and red indicate a variable node (check node) that belongs to and does not belong to the support supp(𝐞)\text{supp}(\mathbf{e}) (supp(𝐬)\text{supp}(\mathbf{s})). Edges that are not involved in this set are omitted.
\includegraphics

[width=0.99]ErrWCan400.pdf

Figure 4: The solvable ratio for different error weights using sBP, LMD-sRBP where Imax=90I_{\max}=90, and PRE-sRBP where λmax=15\lambda_{\max}=15, It=6I_{t}=6.

HP code is more severely impacted by the trapping set. As shown in Fig. 4, when using LMD-sRBP, the ratio for some high-weight error patterns improves, while for certain weights, it remains almost the same as when using sBP. Using PRE-sRBP, the solvable ratios for the collected error weight are all above 90%90\%.

5 Performance evaluation

5.1 Parameter λmax\lambda_{\max} set-up for simulations

From Example 2, we can see that the selection of λmax\lambda_{\max} is important for the performance of PRE-sRBP. Apparently, a higher value of λmax\lambda_{\max} leads to a better performance until the upper bound NN is reached, as shown in Fig. 5.

\includegraphics

[width=0.99]lamdaDecay.pdf

Figure 5: Different λmax\lambda_{\max} values for the [[256,32]] code at px=0.02p_{x}=0.02 where It=6I_{t}=6.

However, error patterns where the decoder fails can waste a lot of decoding time. Considering the latency issue for practical applications, setting a large number for λmax\lambda_{\max} is impractical. Thus, we set an upper bound for ImaxI_{\max} for simulations. This configuration provides a trade-off between ItI_{t} and λmax\lambda_{\max} such that the proper λmax\lambda_{\max} will be determined.

\includegraphics

[width=0.99]lamda.pdf

Figure 6: Different λmax\lambda_{\max} selections for the [[256,32]] code at px=0.02p_{x}=0.02 where Imax=90I_{\max}=90.

For instance, considering the [[256,32]][[256,32]] bicycle code at px=0.02p_{x}=0.02, the frame-error rate (FER) versus the selection of λmax\lambda_{\max} is shown in Fig. 6, which shows that when λmax10\lambda_{\max}\approx 10, the FER begins to drop rapidly, consistent with the results where the solvable ratio of sRBP-based decoders begins to decline for error weights larger than 10. However, λmax\lambda_{\max} should not exceed 45 to ensure sufficient iterations ItI_{t}.

5.2 Simulation results

In each simulation, at least 100100 logical errors are collected, and the maximum iterations Imax=90I_{\max}=90 for sBP and syndrome-based IDS decoders unless otherwise specified. In the simulations, sBP uses (3) for C2V updates, and the sLBP processes each check node sequentially.

Fig. 7 shows the FER performance versus the bit-flip crossover probability pxp_{x} using different IDS decoders based on the [[256,32]][[256,32]] bicycle code. The edge pool design significantly impacts performance. For example, NW-sRBP performs worse than sRBP and sLBP, contrary to the results for classical LDPC codes. When carefully designed for the edge pool, the performance using LMD-sRBP at px=0.01p_{x}=0.01 reaches an FER of 7.4×1067.4\times 10^{-6}, which improves by almost an order compared to sLBP. By updating diverse edges and proactively reducing the predicted error position, PRE-sRBP where λmax=15\lambda_{\max}=15, achieves the best performance among the considered IDS decoders.

\includegraphics

[width=]BYC256FER_new.pdf

Figure 7: Performance of the [[256,32]][[256,32]] bicycle code using different decoders.

We show the plot for FER versus the maximum number of iterations ImaxI_{\max} in Fig. 8, which shows that sRBP can provide a faster convergence rate than sLBP at px=0.02p_{x}=0.02. The figure also indicates that the elaborately designed edge pool can lead to massive improvements in the convergence rate. For example, since the edge neighboring the newest updated variable nodes is updated, LMD-sRBP provides the lowest error rate within three iterations. For PRE-sRBP, parameter λmax\lambda_{\max} is adjusted for different ImaxI_{\max}. The figure shows that PRE-sRBP not only provides a convergence rate on par with sRBP in the first few iterations but also the lowest frame-error rate performance after Imax=16I_{\max}=16 where λmax5\lambda_{\max}\geq 5.

\includegraphics

[width=]BYC256ITER_new.pdf

Figure 8: Frame error rate versus ImaxI_{\max} on the [[256,32]][[256,32]] bicycle code using different decoders at px=0.02p_{x}=0.02.

Fig. 9 shows the performance of the [[126,28,8]][[126,28,8]] generalized bicycle code using different sRBP-based decoders. It shows that using edge-wise decoders can provide a better FER than sBP and sLBP. Whereas, the limitation of further improving performance by designing different edge pools is also reflected in the subtle performance gap between using sRBP, NW-sRBP, and LMD-sRBP. It is worth noting that the gap between our proposed decoders and LMD-sRBP for this code is larger than for the [[256,32]][[256,32]] bicycle code, which indicates the significant impact of using additional predict-and-reduce-error mechanisms.

\includegraphics

[width=]GBY126FER_new.pdf

Figure 9: Performance of the [[126,28,8]][[126,28,8]] generalized bicycle code ([9, A2]) using different decoders.

The structure of the hyper-graph product will lead to multiple quantum trapping sets, which can result in a performance limitation [8]. Fig. 10 shows that under Imax=90I_{\max}=90, the performance of the [[400,16,6]][[400,16,6]] HP code using sRBP, NW-sRBP, and LMD-sRBP is nearly identical. This implies that the influence of the edge pool design is negligible, and a more intense mechanism is needed for improvement. As a result, using the predict-and-reduce-error mechanism, PRE-sRBP can yield a significant performance gain compared to other decoders. In Fig. 10, all decoders have converged under Imax=90I_{\max}=90, except the proposed PRE-sRBP.

\includegraphics

[width=]HGP400FER90.pdf

Figure 10: Performance of the [[400,16,6]][[400,16,6]] HP code using different decoders.

Under sufficiently large iterations, say Imax=NI_{\max}=N, the error rate using PRE-sRBP can be further improved. In Fig. 11, we compare the performance of the [[400,16,6]][[400,16,6]] HP code using PRE-sRBP to other sBP-based decoders, including the posterior LLR adjustment method (Post-Adjust sBP) [35], sBP+OSD [10], and the sBP-guided decimation (sBPGD) [36]. The maximum number of iterations ImaxI_{\max} is shown in the brackets, and λmax\lambda_{\max} is shown alongside it for PRE-sRBP. Post-Adjust sBP can improve the FER to 10310^{-3} by flipping the posterior LLR of selected variable nodes at each iteration. sBP+OSD uses the soft output obtained from BP where Imax=NI_{\max}=N as the reliability auxiliary to search for possible error patterns, where the performance can be improved by increasing the search depth (order). Fig. 11 shows that sBP+OSD with a zero order (sBP+OSD-0) provides merely a slight performance gain from sBP. A relatively significant increase can be achieved using sBP+OSD with 60 orders by using a combination sweep method (sBP+OSD-CS) at the cost of additional complexity. sBPGD provides approximately an order of magnitude gain over sBP at the cost of NN rounds, each consisting of 400 iterations. Notably, our proposed PRE-sRBP under Imax=90I_{\max}=90 where λmax=15\lambda_{\max}=15 can outperform those considered decoders when Imax=400I_{\max}=400. Furthermore, the performance can be improved where Imax=400I_{\max}=400, and λmax=50\lambda_{\max}=50, providing about two orders of magnitude improvement compared to sBP.

\includegraphics

[width=]HGP400FER400.pdf

Figure 11: Performance comparison to other sBP-based decoders on the [[400,16,6]][[400,16,6]] HP code under Imax=NI_{\max}=N.

5.3 Complexity Comparisons

Consider a parity-check matrix whose Tanner graph consists of MM check nodes, NN variable nodes, and the total number of edges E=Md¯c=Nd¯vE=M\cdot\bar{d}_{c}=N\cdot\bar{d}_{v}, where d¯c\bar{d}_{c} and d¯v\bar{d}_{v} denote the average degree of the check nodes and the variable nodes, respectively. We evaluate the complexity in terms of the C2V message, the V2C message, the pre-computed C2V, and the residual comparison per iteration in Table 1. An iteration for sBP consists of updates to all C2V and V2C edges, i.e., an iteration includes EE C2V and V2C updates. For sRBP, an iteration is defined as when the number of C2V updates reaches EE due to the unbalanced update distribution specified in Section 3.2.

In Table 1, it is shown that both sBP and sLBP have the same number of updates without any pre-computation or comparison. For all sRBP-based decoders, the number of V2C updates and pre-computations are the same since these operations occur in S.2. When a C2V edge is updated, each V2C from vmaxv_{\max} (or vkv_{k} for NW-sRBP) is then updated except for cmaxc_{\max}. Thus, there are d¯v1\bar{d}_{v}-1 V2C updates. Additionally, the new C2V is computed from each check node neighboring vmaxv_{\max}, except for cmaxc_{\max}, to its neighboring variable nodes except for vmaxv_{\max} (or vkv_{k} for NW-sRBP), leading to a total pre-computation of (d¯c1)(d¯v1)(\bar{d}_{c}-1)(\bar{d}_{v}-1).

The difference lies in the residual comparison due to different edge pools \mathfrak{R} in S.1 and S.3. For sRBP to determine the C2V update, \mathfrak{R} contains all the check and variable nodes; thus, E1E-1 comparisons are required. For the NW-sRBP, after E1E-1 comparisons, there are d¯c\bar{d}_{c} edges updated from check node cmaxc_{\max}, i.e., there are E1d¯c\frac{E-1}{\bar{d}_{c}} comparisons for one C2V update. For one iteration, the comparison is EE1d¯c=M(E1)E\cdot\frac{E-1}{\bar{d}_{c}}=M(E-1). In LMD-sRBP, the number of comparisons can be computed in two steps following the method of constructing I\mathfrak{R}_{I} and \mathfrak{R}. There are (d¯v1)(d¯c1)1(\bar{d}_{v}-1)(\bar{d}_{c}-1)-1 comparisons to determine the vmaxv^{*}_{\max} and d¯v1\bar{d}_{v}-1 to determine the cmaxc^{*}_{\max} neighboring vmaxv^{*}_{\max}. Thus, the total comparisons for one C2V update is (d¯v1)d¯c1(\bar{d}_{v}-1)\bar{d}_{c}-1. PRE-sRBP will contain a sequence computation process and the sRBP-based process. In the sRBP-based process, for one C2V update, PRE-sRBP will only compare messages from check nodes neighboring the variable node vtv_{t} and those that have not been updated to their neighboring variable nodes excluding vjv_{j}, resulting in a comparison below d¯v(d¯c1)1\bar{d}_{v}(\bar{d}_{c}-1)-1.

Table 1: Complexity per iteration
Schedules C2V update V2C update Pre-computation Residual comparison
sBP EE EE 0 0
sLBP EE EE 0 0
sRBP EE E(d¯v1)E(\bar{d}_{v}-1) E(d¯c1)(d¯v1)E(\bar{d}_{c}-1)(\bar{d}_{v}-1) E(E1)E(E-1)
NW-sRBP EE E(d¯v1)E(\bar{d}_{v}-1) E(d¯c1)(d¯v1)E(\bar{d}_{c}-1)(\bar{d}_{v}-1) M(E1)M(E-1)
LMD-sRBP EE E(d¯v1)E(\bar{d}_{v}-1) E(d¯c1)(d¯v1)E(\bar{d}_{c}-1)(\bar{d}_{v}-1) E[(d¯v1)d¯c1]E[(\bar{d}_{v}-1)\bar{d}_{c}-1]
PRE-sRBP EE E(d¯v1)E(\bar{d}_{v}-1) E(d¯c1)(d¯v1)E(\bar{d}_{c}-1)(\bar{d}_{v}-1) E[d¯v(d¯c1)1]\leq E[\bar{d}_{v}(\bar{d}_{c}-1)-1]

6 Conclusions

In this paper, we have presented several syndrome-based IDS algorithms based on sRBP. Due to the construction constraint and the identical prior intrinsic information assigned for each variable node, multiple equal residuals will exist when using sRBP on QLDPC codes, resulting in a performance limitation. To tackle this issue, we have introduced two strategies: the edge pool design with diverse edges together with error prediction and reduction. Simulation results show that sRBP-based decoders can provide a faster convergence rate than sLBP, and by elaborately designing the edge pool, the FER performance can also be improved for the considered bicycle code. A more intense strategy, such as our proposed predict-and-reduce-error mechanism using the estimated support sequence, is needed to further improve the performance of the generalized bicycle code and HP code. Based on these two strategies, we propose a novel PRE-sRBP, which can not only provide a fast convergence rate but also achieve the best error-rate performance among all other considered decoders for QLDPC codes.

References

  • [1] Nikolas P. Breuckmann and Jens Niklas Eberhardt. “Quantum low-density parity-check codes”. PRX Quantum 2, 040101 (2021).
  • [2] Maxime A. Tremblay, Nicolas Delfosse, and Michael E. Beverland. “Constant-overhead quantum error correction with thin planar connectivity”. Phys. Rev. Lett. 129, 050504 (2022).
  • [3] Sergey Bravyi, Andrew W. Cross, Dmitri Maslov Jay M. Gambetta, Patrick Rall, and Theodore J. Yoder. “High-threshold and low-overhead fault-tolerant quantum memory”. Nature 627, 778 (2024).
  • [4] Michael A. Nielsen and Isaac L. Chuang. “Quantum computation and quantum information”. Cambridge University Press.  (2009). 10th Anniversary edition. url: https://doi.org/10.1017/cbo9780511976667.
  • [5] A.R. Calderbank, E.M. Rains, P.M. Shor, and N.J.A. Sloane. “Quantum error correction via codes over GF(4)”. IEEE Transactions on Information Theory 44, 1369 (1998).
  • [6] D.J.C. MacKay, G. Mitchison, and P.L. McFadden. “Sparse-graph codes for quantum error correction”. IEEE Transactions on Information Theory 50, 2315–2330 (2004).
  • [7] David Poulin and Yeojin Chung. “On the iterative decoding of sparse quantum codes”. Quant. Inf. Comput. 8, 0987–1000 (2008).
  • [8] Nithin Raveendran and Bane Vasić. “Trapping sets of quantum LDPC codes”. Quantum5 (2021).
  • [9] Pavel Panteleev and Gleb Kalachev. “Degenerate quantum LDPC codes with good finite length performance”. Quantum 5, 585 (2021).
  • [10] Joschka Roffe, David R. White, Simon Burton, and Earl Campbell. “Decoding across the quantum low-density parity-check code landscape”. Phys. Rev. Res. 2, 043423 (2020).
  • [11] Javier Valls, Francisco Garcia-Herrero, Nithin Raveendran, and Bane Vasić. “Syndrome-based min-sum vs OSD-0 decoders: FPGA implementation and analysis for quantum ldpc codes”. IEEE Access 9, 138734–138743 (2021).
  • [12] Andres I. Vila Casado, Miguel Griot, and Richard Wesel. “Overcoming LDPC trapping sets with informed scheduling”. In Information Theory and Applications Workshop. UCSD, San Diego, CA (2007). url: https://www.seas.ucla.edu/csl/files/publications/Andres_ITA2007Pres.pdf.
  • [13] Gal Elidan, Ian McGraw, and Daphne Koller. “Residual belief propagation: Informed scheduling for asynchronous message passing” (2006). url: https://api.semanticscholar.org/CorpusID:9008993.
  • [14] A. I. V. Casado, M. Griot, and R. D. Wesel. “Informed dynamic scheduling for belief-propagation decoding of LDPC codes”. In 2007 IEEE International Conference on Communications. Pages 932–937.  (2007).
  • [15] Andres I. Vila Casado, Miguel Griot, and Richard D. Wesel. “LDPC decoders with informed dynamic scheduling”. IEEE Transactions on Communications 58, 3470–3479 (2010).
  • [16] Tofar C.-Y. Chang, Pin-Han Wang, Jian-Jia Weng, I-Hsiang Lee, and Yu T. Su. “Belief-propagation decoding of LDPC codes with variable node–centric dynamic schedules”. IEEE Transactions on Communications 69, 5014–5027 (2021).
  • [17] Jean-Pierre Tillich and Gilles Zémor. “Quantum ldpc codes with positive rate and minimum distance proportional to the square root of the blocklength”. IEEE Transactions on Information Theory 60, 1193–1202 (2014).
  • [18] Daniel Eric Gottesman. “Stabilizer codes and quantum error correction”. PhD thesis. California Institute of Technology.  (1997).
  • [19] Richard Cleve. “Quantum stabilizer codes and classical linear codes”. Phys. Rev. A 55, 4054–4059 (1997).
  • [20] A. R. Calderbank and Peter W. Shor. “Good quantum error-correcting codes exist”. Phys. Rev. A 54, 1098–1105 (1996).
  • [21] A. M. Steane. “Error correcting codes in quantum theory”. Phys. Rev. Lett. 77, 793–797 (1996).
  • [22] Emanuel Knill and Raymond Laflamme. “Theory of quantum error-correcting codes”. Phys. Rev. A 55, 900–911 (1997).
  • [23] F.R. Kschischang, B.J. Frey, and H.-A. Loeliger. “Factor graphs and the sum-product algorithm”. IEEE Transactions on Information Theory 47, 498–519 (2001).
  • [24] D. J. C. MacKay. “Information theory, inference and learning algorithms”. Cambridge University Press.  (2003).
  • [25] Ching-Yi Lai and Kao-Yueh Kuo. “Log-domain decoding of quantum LDPC codes over binary finite fields”. IEEE Transactions on Quantum Engineering 2, 1–15 (2021).
  • [26] Tom Richardson. “Error floors of LDPC codes”. Proc. annual Allerton conference on commun. control and computing (2003).
  • [27] D.E. Hocevar. “A reduced complexity decoder architecture via layered decoding of LDPC codes”. In IEEE Workshop onSignal Processing Systems, 2004. SIPS 2004. Pages 107–112.  (2004).
  • [28] Juntan Zhang and M.P.C. Fossorier. “Shuffled iterative decoding”. IEEE Transactions on Communications 53, 209–213 (2005).
  • [29] J. Chen and M.P.C. Fossorier. “Density evolution for two improved BP-based decoding algorithms of LDPC codes”. IEEE Communications Letters 6, 208–210 (2002).
  • [30] 3GPP. “5G; NR; multiplexing and channel coding (release 15) 38.212”. document Technical specification (TS) (2018).
  • [31] Xingcheng Liu, Zhenzhu Zhou, Ru Cui, and Erwu Liu. “Informed decoding algorithms of LDPC codes based on dynamic selection strategy”. IEEE Transactions on Communications 64, 1357–1366 (2016).
  • [32] Xingcheng Liu, Chunlei Fan, and Xuechen Chen. “Dynamic scheduling decoding of LDPC codes based on Tabu search”. IEEE Transactions on Communications 65, 4612–4621 (2017).
  • [33] Xingcheng Liu, Li’e Zi, Dong Yang, and Zhongfeng Wang. “Improved decoding algorithms of LDPC codes based on reliability metrics of variable nodes”. IEEE Access (2019).
  • [34] R. Gallager. “Low-density parity-check codes”. IRE Transactions on Information Theory 8, 21–28 (1962).
  • [35] Tzu-Hsuan Huang and Yeong-Luh Ueng. “A binary BP decoding using posterior adjustment for quantum LDPC codes”. In ICASSP 2024 - 2024 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Pages 9001–9005.  (2024).
  • [36] H. Yao, W. A. Laban, C. Hager, A. G. i Amat, and H. D. Pfister. “Belief propagation decoding of quantum LDPC codes with guided decimation” (2023). arXiv:2312.10950.
  • [37] Kao-Yueh Kuo and Ching-Yi Lai. “Refined belief propagation decoding of sparse-graph quantum codes”. IEEE Journal on Selected Areas in Information Theory 1, 487–498 (2020).

Appendix A Proof of Proposition 1

To prove the proposition with a clear description, the sBP in the probability domain, as outlined in [37], is used. Denote the message from vjv_{j} to cic_{i} and the message from cic_{i} to vjv_{j} as δvjci\delta_{v_{j}\rightarrow c_{i}} and δcivj\delta_{c_{i}\rightarrow v_{j}}, respectively. The qvj0q_{v_{j}}^{0} and qvj1q_{v_{j}}^{1} denote the marginal probability of vjv_{j} to be 0 and 1, respectively. The proof is described as follows.

For the sBP in the probability domain, the V2C message δvjci\delta_{v_{j}\rightarrow c_{i}} is initialized as δvjci=(1p)p=12p\delta_{v_{j}\rightarrow c_{i}}=(1-p)-p=1-2p. Then the first iteration that includes three steps:

  1. 1.

    C2V update:

    δcivj\displaystyle\delta_{c_{i}\rightarrow v_{j}} =(1)sivjδvjci\displaystyle=(-1)^{s_{i}}\prod_{v_{j^{\prime}}}\delta_{{v_{j^{\prime}}}\rightarrow c_{i}}
    =(1)si(12p)dci1,\displaystyle=(-1)^{s_{i}}(1-2p)^{d_{c_{i}}-1},

    where vj𝒩(ci)vjv_{j^{{}^{\prime}}}\in\mathcal{N}(c_{i})\setminus v_{j}.

  2. 2.

    V2C update:
    Introduce the intermediary term rcivj0=1+δcivj2r^{0}_{c_{i}\rightarrow v_{j}}=\frac{1+\delta_{c_{i}\rightarrow v_{j}}}{2} and rcivj1=1δcivj2r^{1}_{c_{i}\rightarrow v_{j}}=\frac{1-\delta_{c_{i}\rightarrow v_{j}}}{2}, then

    δvjci\displaystyle\delta_{v_{j}\rightarrow c_{i}} =(1p)circivj0pcircivj1\displaystyle=(1-p)\prod_{c_{i^{\prime}}}r^{0}_{c_{i^{\prime}}\rightarrow v_{j}}-p\prod_{c_{i^{\prime}}}r^{1}_{c_{i^{\prime}}\rightarrow v_{j}}
    =(1p)(rcivj0)dvj1p(rcivj1)dvj1,\displaystyle=(1-p)(r^{0}_{c_{i}\rightarrow v_{j}})^{d_{v_{j}}-1}-p(r^{1}_{c_{i}\rightarrow v_{j}})^{d_{v_{j}}-1},

    where ci𝒩(vj)cic_{i^{{}^{\prime}}}\in\mathcal{N}(v_{j})\setminus c_{i}.

  3. 3.

    Compute the marginal probability of vjv_{j}:

    qvj0\displaystyle q_{v_{j}}^{0} =(1p)circivj0=(1p)(rcivj0)dvj\displaystyle=(1-p)\prod_{c_{i}}r^{0}_{c_{i}\rightarrow v_{j}}=(1-p)(r^{0}_{c_{i}\rightarrow v_{j}})^{d_{v_{j}}}
    qvj1\displaystyle q_{v_{j}}^{1} =pcircivj1=p(rcivj1)dvj,\displaystyle=p\prod_{c_{i}}r^{1}_{c_{i}\rightarrow v_{j}}=p(r^{1}_{c_{i}\rightarrow v_{j}})^{d_{v_{j}}},

    where ci𝒩(vj)c_{i}\in\mathcal{N}(v_{j}).

Recall that δcivj\delta_{c_{i}\rightarrow v_{j}} depends on syndrome position sis_{i}, we can further divide rcivj0r^{0}_{c_{i}\rightarrow v_{j}} and rcivj1r^{1}_{c_{i}\rightarrow v_{j}} into four terms: rcivj,si=00,rcivj,si=10,rcivj,si=01r^{0}_{c_{i}\rightarrow v_{j},s_{i}=0},r^{0}_{c_{i}\rightarrow v_{j},s_{i}=1},r^{1}_{c_{i}\rightarrow v_{j},s_{i}=0}, and rcivj,si=11r^{1}_{c_{i}\rightarrow v_{j},s_{i}=1}. Denote wvj1w^{1}_{v_{j}} as the cardinality of the set of check nodes neighboring vjv_{j} and belonging to the support of the given syndrome, i.e., wvj1=|{ci|ci𝒩(vj),isupp(𝐬)}|w^{1}_{v_{j}}=|\{c_{i}|c_{i}\in\mathcal{N}(v_{j}),i\in\text{supp}(\mathbf{s})\}|, then qvj0q_{v_{j}}^{0} and qvj1q_{v_{j}}^{1} can be rewritten as

qvj0\displaystyle q_{v_{j}}^{0} =(1p)(rcivj,si=10)wvj1(rcivj,si=00)dvjwvj1\displaystyle=(1-p)(r^{0}_{c_{i}\rightarrow v_{j},s_{i}=1})^{w^{1}_{v_{j}}}(r^{0}_{c_{i}\rightarrow v_{j},s_{i}=0})^{d_{v_{j}}-w^{1}_{v_{j}}}
qvj1\displaystyle q_{v_{j}}^{1} =p(rcivj,si=11)wvj1(rcivj,si=01)dvjwvj1.\displaystyle=p(r^{1}_{c_{i}\rightarrow v_{j},s_{i}=1})^{w^{1}_{v_{j}}}(r^{1}_{c_{i}\rightarrow v_{j},s_{i}=0})^{d_{v_{j}}-w^{1}_{v_{j}}}.

By expanding these terms, we can determine

rcivj,si=00\displaystyle r^{0}_{c_{i}\rightarrow v_{j},s_{i}=0} =1+(12p)dc12=rcivj,si=11\displaystyle=\frac{1+(1-2p)^{d_{c}-1}}{2}=r^{1}_{c_{i}\rightarrow v_{j},s_{i}=1}
rcivj,si=10\displaystyle r^{0}_{c_{i}\rightarrow v_{j},s_{i}=1} =1(12p)dc12=rcivj,si=01\displaystyle=\frac{1-(1-2p)^{d_{c}-1}}{2}=r^{1}_{c_{i}\rightarrow v_{j},s_{i}=0}

Use Arcivj,si=00A\triangleq r^{0}_{c_{i}\rightarrow v_{j},s_{i}=0} and 1Arcivj,si=011-A\triangleq r^{1}_{c_{i}\rightarrow v_{j},s_{i}=0}, then by computing qvj1qvj0\frac{q_{v_{j}}^{1}}{q_{v_{j}}^{0}} to decide the hard decision of vjv_{j}, we can obtain

qvj1qvj0\displaystyle\frac{q_{v_{j}}^{1}}{q_{v_{j}}^{0}} =p1p(A1A)wvj1(1AA)dvjwvj1\displaystyle=\frac{p}{1-p}(\frac{A}{1-A})^{w^{1}_{v_{j}}}(\frac{1-A}{A})^{d_{v_{j}}-w^{1}_{v_{j}}}
=p1p(1AA)dvj2wvj1.\displaystyle=\frac{p}{1-p}(\frac{1-A}{A})^{d_{v_{j}}-2w^{1}_{v_{j}}}.

Since AA is also a function of pp given the fixed dcd_{c}, the hard decision for vjv_{j} only depends on pp and dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}}. Then given the fixed pp, the priority of the estimated vjv_{j} belonging to supp(𝐞)\text{supp}(\mathbf{e}) is related to dvj2wvj1d_{v_{j}}-2w^{1}_{v_{j}}.∎