# Origin of the low energy resonance in the double photoionization of pyrene
and coronene, and its absence in the double photoionization of corannulene

Ralf Wehlitz<EMAIL_ADDRESS>Physics Department, University of
Wisconsin–Madison, Madison, Wisconsin 53706, USA  David L. Huber
<EMAIL_ADDRESS>Physics Department, University of Wisconsin–Madison, Madison,
Wisconsin 53706, USA

###### Abstract

The low energy resonance in the double photoionization of the aromatic
hydrocarbons pyrene (C16H10) and coronene (C24H12) is investigated
theoretically using an approach based on the one-dimension Hubbard model for
$\pi$-conjugated systems with nearest-neighbor interactions. The Independent
Subsystem Approximation, where the perimeter and interior carbon atoms are
treated as independent entities, is employed. Since no low energy resonances
have been found in aromatic hydrocarbons where there are only perimeter carbon
atoms, we attribute the low energy resonances in pyrene and coronene to the
interior carbon atoms. However, corannulene (C20H10) having five interior
carbon atoms does not exhibit a low-energy resonance in the experimental data.
We attribute the absence of this resonance to the odd number of interior
carbon atoms.

###### pacs:

33.80.Eh

##  I INTRODUCTION

The double-photoionization (DPI) process, i.e., the removal of two electrons
by a single photon, has been investigated for various aromatic molecules using
synchrotron radiation in recent years. A convenient quantity to study the DPI
process in atoms and molecules is the ratio of doubly to singly charged ions
as a function of photon energy.Wehl10  Common to all atoms and molecules is
the knock-out mechanismSchn02  in which the photoionized electron knocks out a
second electron, leading to a helium-like ratio curve. In the case of
molecules, it has been discovered that additional photoionization mechanisms,
not observed for atoms, can contribute to the production of doubly charged
molecular ions.Wehl16

For aromatic molecules with 5-member rings (pyrole, furan, selenophene)Hart13a
and for the aromatic molecule with the 7-member ring (tropone)Hart17  the
ratio curves show a linear increase in the ratio above a certain threshold,
which is far above the double-ionization threshold. It has been proposed that
the linear increase is associated with the simultaneous emission of two
electrons with equal kinetic energy and opposite momenta.Hube14 ; Hube19

In the case of the aromatic molecules with 6-member rings (e.g. pyrrole,
benzene, halogenated benzene, pentacene, pyridine, triphenylene, coronene) an
additional broad peak in the ratio is present. For these molecules, the broad
peak is essentially at the same value of the energy and is only slightly
changed by introducing nitrogen atoms into the ring (pyridine, pyrimidine,
1,3,5-triazine)Wehl15  or by replacing hydrogen atoms with halogen atoms
(C6BrF5).Mash16

There are two explanations for the origin of this peak. In the first, the peak
is associated with the break-up of a Coulomb-pair whose formation was studied
by Mahajan and Thyagaraga.Maha06  In the second explanation, the peak is
associated with the formation of a “Cooper pair” whose de Broglie wavelength
approximately matches the carbon–carbon distance of the molecule leading to a
standing wave in the $\pi$ orbital.Wehl12  It is worthwhile to mention that
the $\pi$ orbital is essential for this feature. An experiment on
tribromoborazine [(BrBNH)3], a molecule with a 6-member ring of boron and
nitrogen atoms, does not show any peak in its ratio curve but only the
contribution of the knock-out mechanism and a linear increase of the
ratio.Wehl17

Recently it has been shown that the DPI curves of chlorobenzene and
fluorobenzene have a resonance at the onset of the molecular DPI near 4
eV.Sun21  This resonance has been interpreted in their paper as being due to
the de Broglie wavelength of the two-electron pair matching the size of the
conjugated p–$\pi$ orbital.

Figure 1: Extended plot of the DPI ratio $R=M^{2+}/(M^{1+}+M^{2+})$ of pyrene
as a function of photon energy (open circles).Wehl14a  $M^{1+}$ and $M^{2+}$
are the yields of singly and doubly charged parent ions, respectively. The
dark (green) shaded area represents the contribution from the knock-out
mechanism. The red (filled) circles represent the ratio after subtracting the
knock-out contribution, which rises linearly above 95 eV .  Figure 2: Location
of the interior carbon atoms in pyrene and coronene indicated by solid
circles.

Two of the molecules investigated here (pyreneWehl14a  and coroneneWehl12 )
exhibit peaks in their ratios about 10 eV above the DPI threshold. These peaks
are distinct from the resonances studied in Ref. Sun21,  which we did not
observe in our studies probably due to the larger energy-step size. Figure 1
illustrates the effect of the different mechanisms contributing to the
production of doubly charged parent ions of pyrene. In contrast to the
molecules mentioned previously, pyrene and coronene have interior carbon
atoms, i.e., atoms that are not located on the outer edge as shown in Fig. 2.
In this paper, we will discuss a possible connection between the 10-eV peak
and the interior carbon atoms. Section II describes the theoretical model used
in our analysis, Section III and Section IV applies our model to pyrene and
coronene, respectively. We discuss the absence of a 10-eV peak for corannulene
in Section V. Our interpretation is summarized in Section VI.

##  II THEORETICAL ANALYSIS OF LOW-ENERGY PEAK

The experimental results presented here are plots of the DPI ratio $R$ versus
excess energy relative to the DPI threshold. $R$ is defined by the equation

$R=M^{2+}/M_{tot}-K$ (1)

in which $M^{2+}$ and $M_{tot}$ denote the yields of doubly charged and singly
plus doubly charged parent ions, respectively. The contribution from triply
charged ions is assumed to be small and is not included in $M_{tot}$. $K$
denotes the knock-out contribution to the DPI process modeled by a scaled
helium ratio curve.

In analyzing the low energy peaks near 10 eV, we make use of the Independent
Subsystem Approximation, in which the perimeter and interior carbon atoms are
treated as separate systems.Hube14 ; Hubx19  The low energy resonance in
pyrene is attributed to the interaction between the two $\pi$ electrons
associated with the two interior carbon atoms. To understand this point, we
focus our analysis on the 2-site Hubbard model. In one dimension, the Hubbard
model is equivalent to the Pariser-Parr-Pople model of $\pi$-conjugated
systems where the 2-site Hamiltonian has the formBurs98

$H=-t(c_{1}^{*}c_{2}+c_{1}c_{2}^{*})+U$ (2)

in which $t$ denotes the electron transfer integral, $U$ is the interaction
between two electrons occupying the same site and $c$ and $c^{*}$ denote
electron annihilation and creation operators, respectively.

##  III PYRENE

An analysis of the photoexcited states in dimerized Mott insulators has been
outlined by N. Maeshima and K. Yonemitsu.Maes06  Equation (20) and related
text in Section Vc of Ref. Maes06,  are directly applicable to the 2-site
Hubbard model. The excitation energy of the model associated with the optical
absorption, $E_{0}$, is expressed as

$E_{0}=U/2+(U^{2}/4+4t^{2})^{1/2}.$ (3)

Note that there is only a single excitation energy for the two-electron
system. In our analysis of the DPI in pyrene, we identify the energy of the
resonance peak relative to threshold with $E_{0}$. To obtain a theoretical
estimate of $E_{0}$, we need values of both $U$ and $t$. Values for $U$ and
$t$ reported in the benzene literature are 10.06 eV and 2.54 eV,
respectively.Burs98  The parameter $U$ is associated with a single carbon
atom. As such, it is expected to be nearly the same for all carbon atoms in an
aromatic molecule. In contrast, the parameter $t$ is associated with a pair of
carbon atoms and will depend on the details of the electron transfer between
the two, which can vary with the location of the pair.

Figure 3: DPI ratio $R$ vs. excess energy relative to the DPI threshold for
pyrene.Wehl14a  $R$ is defined in Eq. (1).

The resonance in the DPI of pyrene is attributed to the absorption of a photon
by the electron pair inside the perimeter of the molecule at the interior
caron atoms (cf. Fig. 2). This process promotes the molecule to an excited
state. The molecule subsequently ionizes creating a pair of free electrons
with total kinetic energy $E_{0}$. The experimental energy of the resonance
$E_{0}$ in the DPI of pyrene shown in Fig. 3 is equal to ($10.5\pm 1.0$) eV.

Figure 4: Excitation energy $E_{0}$ as a function of the transfer integral $t$
for a fixed value $U=10.06$ eV using Eq. (3). The dotted line starting at
$E_{0}$=10.5 eV corresponds to a $t$ of 1.07 eV

.

An extension of the analysis, which is analogous to an approach followed in
Ref. Hube19, , is to keep $U$ fixed at the benzene value, 10.06 eV. The value
of $t$ is then adjusted to give the experimental energy of the peak, 10.5 eV.
As shown in Fig. 4 the resulting value of $t$ is 1.07 eV, indicating that the
value of the transfer integral of the two interior carbon atoms in pyrene is
approximately $1/3$ of the benzene value of 2.54 eV.

##  IV CORONENE

Figure 5: DPI ratio $R$ vs. excess energy relative to the DPI threshold for
coronene.Wehl12  $R$ is defined in Eq. (1).

In coronene, there are six interior carbon atoms arranged in a benzene-like
ring (cf. Fig. 2). In the Independent Subsystem Approximation, the interior
atoms are treated as a separate system. In pyrene as well as coronene, each
interior carbon atom has three nearest neighbors. The two molecules differ in
that the interior carbon atom in pyrene has one nearest-neighbor that is also
an interior atom, whereas in coronene, the interior atoms have two interior
nearest-neighbors. Therefore, the 2-site Hubbard model used for pyrene can,
unfortunately, not be applied to coronene.

The experimental DPI data in Fig. 5 are evidence of a well-defined resonance
at ($9.4\pm 1.0$) eV. The similarity of the profile of the 9.4-eV resonance in
coronene to the profile of the 45-eV resonance in coronene and benzene
suggests a common origin: the break-up of a closed-loop de Broglie wave of a
two-electron pair. We note that we attribute the fluctuations in the ratio
around 20 eV to experimental uncertainties.

##  V CORANNULENE

Figure 6: High energy region of the DPI ratio of corannulene as defined in Eq.
(1) after subtracting the contribution of the knock-out mechanism. The dashed
line is to guide the eye.

In a recent publicationWehl21 , the double photoionization ratio of
corannulene was compared to the DPI ratio of coronene. It was found that while
both molecules had a peak in the ratio near 50 eV, corannulene did not have
the low energy peak that is discussed in Section IV. Since corannulene has a
ring of five interior carbon atoms, the question arises as to why it has no
peak, whereas coronene, with a ring of six interior atoms, has a peak at 10
eV. In a recent analysis of the high-energy corannulene data we have found
linear behavior in the DPI ratio for photon energies above 150 eV, as
displayed in Fig. 6. In this section, we will show that the 5-carbon array in
corannulene cannot form a closed loop. Instead, there is an open array of
carbon atoms that is the origin of the linear behavior in the DPI ratio.

Figure 7: Interior carbon atoms of corannulene with the spins of their $\pi$
electrons.

The explanation for the difference in the DPI ratio between corannulene and
coronene is related to the orientation of the spins of the interior $\pi$
electrons in their ground state which can be either “up” or “down”. In the
coronene interior ground state, the six spins alternate between up and down
and the total $\pi$ spin moment is zero. In the corannulene case, where there
are five interior $\pi$ electrons, the interior ground state is more
complicated since there cannot be a complete cancellation of the moments. In
Fig. 7, we show an arrangement that minimizes the total moment of the 5-spin
interior array.

The critical region in Fig. 7 is at the base of the pentagon, where the two
down-spin $\pi$ electrons are nearest neighbors. Because of the Exclusion
Principle, it is impossible for a down-spin $\pi$ electron on one of the base
sites to transfer to the other base site. The effect of the Exclusion
Principle is to introduce a 2-site “impurity” that eliminates the 5-site
closed loop for $\pi$ electrons that have down spins.

DPI in corannulene involves the two carbon atoms for which the $\pi$ electrons
have up-spins and the carbon atom on the top of the pentagon where there is a
$\pi$ electron with a down-spin. The emission involves one of the up-spin
electrons and the down-spin electron. In Ref. Hube19,  it is shown that when
the DPI ratio is a linear function of the photon energy, the two electrons are
emitted simultaneously with equal kinetic energy and opposite momenta.

As a final comment, we note the similarity in the asymptotic behavior of the
DPI ratios of pyrene and corannulene. In both cases, linear behavior was
observed above 100 eV. We attribute the similarity to the arrangement of the
interior carbon atoms. In the case of pyrene, there is a single carbon pair,
whereas in corannulene, there are two interior pairing configurations that
contribute to the DPI ratio

##  VI SUMMARY

We have theoretically analyzed the resonance near 10 eV in the experimental
DPI ratio of pyrene and coronene. Both molecules have interior as well as
perimeter carbon atoms. Employing the Independent Subsystem Approximation, we
can interpret the 10-eV resonance as being due to the interior carbon atoms.
We also have presented an explanation for the absence of the 10-eV peak in
corannulene.

###### Acknowledgements.

We thank Dr. Pavle Juranić for a critical reading of the manuscript. This work
is based upon research conducted at the Synchrotron Radiation Center (SRC),
University of Wisconsin–Madison, which was mainly supported by the UW Graduate
School and SRC Users.

## References

  * (1) R. Wehlitz, in Advances in Atomic, Molecular, and Optical Physics edited by E. Arimondo, P. R. Berman, C.C. Lin (Academic Press, New York, 2010), Vol. 58, pp. 1–76.
  * (2) T. Schneider, P. L. Chocian, and J.-M. Rost, Phys. Rev. Lett. 89, 073002 (2002).
  * (3) R. Wehlitz, J. Phys. B 49, 222004 (2016).
  * (4) T. Hartman, P. N. Juranić, K. Collins, B. Reilly, E. Makoutz, N. Appathurai, and R. Wehlitz, Phys. Rev. A 87, 063403 (2013).
  * (5) T. Hartman and R. Wehlitz, J. Chem. Phys. 146, 2043063 (2017).
  * (6) D. L. Huber, Phys. Rev. A 89, 051403(R) (2014).
  * (7) D. L. Huber, arXiv:1805.00891 (2019).
  * (8) T. Hartman and R. Wehlitz, Phys. Rev. A 91, 063419 (2015).
  * (9) M. Q. AlKhaldi and R. Wehlitz, J. Chem. Phys. 144, 044304 (2016).
  * (10) S. M. Mahajan and A. Thyagaraja, J. Phys. A 39, L667 (2006).
  * (11) R. Wehlitz, P. N. Juranić, K. Collins, B. Reilly, E. Makoutz, T. Hartman, N. Appathurai, and S. B. Whitfield, Phys. Rev. Lett. 109, 193001 (2012).
  * (12) R. Wehlitz, M. MacDonald, L. Zuin, A. C. F. Santos, and N. Appathurai, Phys. Rev. A 95, 023408 (2017).
  * (13) T. Sun, T. Yang, H. Xu, X. Wu, T. Yu, and X. Zhou, Chem. Phys. Lett. 785, 139784 (2021).
  * (14) R. Wehlitz and T. Hartman, J. Phys.: Conf. Ser. 488, 012013 (2014).
  * (15) D. L. Huber and R. Wehlitz, arXiv:1905.12772 (2019).
  * (16) R. J. Bursill, C. Castleton, and W. Barford, Chem. Phys. Lett. 294, 305 (1998).
  * (17) N. Maeshima and K. Yonemitsu, Phys. Rev. B 74, 155105 (2006).
  * (18) R. Wehlitz, T. Hartman, and D. L. Huber, J. Chem. Phys. 154, 044304 (2021).


# Ordered Reliability Direct Error Pattern Testing Decoding Algorithm

Reza Hadavian, Xiaoting Huang, Dmitri Truhachev, Kamal El-Sankary, Hamid
Ebrahimzad and Hossein Najafi This work has been submitted to the IEEE for
possible publication. Copyright may be transferred without notice, after which
this version may no longer be accessible.This work was supported in part by
NSERC Discovery Grant. The material of this paper is presented in part at the
IEEE Globecom, Kuala-Lumpur, Malaysia, Dec. 2023.Reza Hadavian, Xiaoting
Huang, Dmitri Truhachev and Kamal El-Sankary are with Department of Electrical
and Computer Engineering, Dalhousie University, Halifax, Canada (e-mail:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>kamal.el-
sankary@dal.ca). Hamid Ebrahimzad and Hossein Najafi are with Huawei
Corporation, Ottawa, Canada (e-mail<EMAIL_ADDRESS>hossein.najafi@huawei.com).

###### Abstract

We introduce a novel universal soft-decision decoding algorithm for binary
block codes called ordered reliability direct error pattern testing (ORDEPT).
Our results, obtained for a variety of popular short high-rate codes,
demonstrate that ORDEPT outperforms state-of-the-art decoding algorithms of
comparable complexity such as ordered reliability bits guessing random
additive noise decoding (ORBGRAND) in terms of the decoding error probability
and latency. The improvements carry on to the iterative decoding of product
codes and convolutional product-like codes, where we present a new adaptive
decoding algorithm and demonstrate the ability of ORDEPT to efficiently find
multiple candidate codewords to produce soft output.

###### Index Terms:

Forward error correction, GRAND, ORBGRAND, Chase, DEPT

##  I Introduction

Short codes are crucial for modern communications. They are used to encode
short packets in wireless systems for ultra-reliable low-latency
communications (URLLC), machine-to-machine (M2M) communications, self-driving
vehicles, internet-of-things (IoT), etc. [1, 2, 3]. They also serve as
component codes in more complex forward error-correction (FEC) code structures
such as generalized low-density parity-check (LDPC) codes [4], staircase [5],
zipper [6], and open FEC (oFEC) [7] codes. Short codes are also utilized as
inner codes in concatenated optical FECs such as the 400ZR fiber-optical
communication standard [8].

Since the early days of coding theory, there has been a significant focus on
the development of accurate decoding algorithms. Initially, decoders with an
algebraic, hard-input hard-output approach were devised, capitalizing on the
algebraic structure of the code [9]. In 1972, Chase introduced a decoding
algorithm that remained indifferent to the specific code structure and instead
made use of soft channel output information [10]. This algorithm employs a set
of patterns designed to introduce perturbations to bit positions with low
reliability, specifically those characterized by the lowest absolute log-
likelihood ratios (LLRs). Subsequently, it performs hard-decision decoding to
identify potential candidate codewords. The decoder outputs a candidate
codeword that demonstrates the highest reliability, quantified in terms of
Euclidean distance to the received sequence or the sum of absolute LLRs across
distinct bit positions. Over time, numerous research contributions have
emerged, aiming to generalize and enhance the performance of the Chase decoder
[11, 12, 13]. It is important to note that the complexity of the algorithm
increases with the number of test patterns used, as each pattern necessitates
a hard-decision decoding attempt.

A method known as direct error-pattern testing (DEPT) was recently introduced
in [14]. DEPT chooses a set of partial error patterns (PEPs) using the
positions of the lowest absolute LLRs and then finalizes each PEP by
identifying the last error position using the syndrome computed from the hard-
decision received sequence. The approach relies on a list of PEPs that play
the most significant role in contributing to the error probability.

The ordered statistics decoding (OSD) algorithm [15], offers a soft decoding
approach alternative to Chase decoding. OSD initiates the decoding from the
most reliable bit positions in contrast to the Chase algorithm, which
commences from the least reliable ones. OSD essentially re-encodes sequences
generated through test patterns and assesses them in terms of their
reliability. Nevertheless, the computational complexity of OSD increases
exponentially with the dimension of the code, making it better suited for
lower-rate codes.

A novel strategy known as Guessing Random Additive Noise Decoding (GRAND),
which was recently introduced in [16], offers a practical solution to
achieving near Maximum Likelihood (ML) performance for short high-rate binary
codes operating on a binary symmetric channel (BSC). Diverging from the
conventional decoding methods that rely on exploiting the structural
characteristics of the code, GRAND places its focus on pinpointing the most
probable noise effect. It accomplishes this by utilizing error patterns that
are sorted in a descending order of likelihood and assessing whether the
modulo-2 addition of an error pattern and the hard-decision received sequence
corresponds to a valid codeword in the codebook. The first codeword member
discovered through this process is chosen as the decoded codeword. The GRAND
decoding approach has gained a considerable attention from researchers due to
several advantageous features. Firstly, GRAND is a universal decoder in a
sense that is does not exploit the structure of the code apart from its
parity-check matrix used for syndrome computation, and can be employed for any
linear code. Furthermore, it lends itself well to parallelization, enabling
the simultaneous testing of multiple error patterns. To further reduce
latency, an enhanced version of GRAND, referred to as GRAND with abandonment
(GRANDAB), was introduced in [16], which terminates the codeword search after
a predefined number of failed queries.

The universality of GRAND has prompted a re-evaluation of conventional error-
correction codes, such as cyclic redundancy check (CRC) codes, which were
traditionally utilized for error detection applications. Moreover, GRAND is
capable of efficiently decoding CRC-assisted polar (CA-Polar) codes [17], a
coding scheme that is used in control channel communications within the 5G New
Radio standard [18].

In addition to the original hard-decision GRAND, a soft maximum likelihood
decoder named soft GRAND (SGRAND) was introduced [19]. However, the
implementation of SGRAND in hardware presents formidable challenges due to its
inherent NP complexity. To address this complexity problem, the ordered
reliability bits GRAND (ORBGRAND) that employs a linear approximation of the
ordered absolute LLR distributions used to order the error patterns was
introduced in [20]. While accurate piece-wise linear approximations of these
distributions within multi-line ORBGRAND enhance decoding results, they also
introduce additional complexity by utilizing multiple signal-to-noise ratio
(SNR)-dependent lists of queries. Furthermore, to streamline the process of
pattern generation in ORBGRAND, two alternative approaches, namely QGRAND and
DSGRAND, were proposed in [21]. Another strategy, LGRAND, aims to bridge the
gap between ORBGRAND and SGRAND by creating a list of multiple candidate
codewords and ultimately selecting the one with the highest likelihood. All
the above-mentioned ORBGRAND variants necessitate testing of a long list of
error patterns (queries) until a valid codeword is identified. This process
may result in long average and worst-case latency, rendering these algorithms
potentially unsuitable for high-speed applications such as optical FECs.

In [22], the feasibility of employing ORBGRAND as a component decoder in
product codes, typically decoded using the Chase-Pyndiah algorithm [23], is
investigated. This exploration focuses on a product code with Bose-Chaudhuri-
Hocquenghem (BCH) [24, 25] $\mathrm{BCH}(32,26,4)$ component codes. The study
illustrates that ORBGRAND outperforms its Chase-Pyndiah counterpart when both
employ the same number of codewords in their lists. However, for longer codes
such as $\mathrm{BCH}(256,239)$, which are utilized in the oFEC standard [7]
used for high-speed fiber-optical communications, ORBGRAND encounters
challenges in identifying even the second candidate codeword. Since a
competitor codeword is essential for generating meaningful soft output [26],
its absence results in a significant degradation in the bit error rate (BER),
since the reliability of the decoded codeword bits needs to be estimated
empirically [26]. While a recent implementation proposal of ORBGRAND called
step-GRAND [27] aims to reduce its latency, it does not contribute to
enhancing the performance of iterative decoding either. To address the
challenge of identifying multiple candidate codewords, [26] suggests seeking a
competitor codeword through Chase decoding. However, this solution compromises
the universal applicability of the ORBGRAND decoder and adds to its
complexity. Another proposal outlined in [26] involves employing a larger
number of test patterns, which also leads to increased worst-case latency.

In this paper, we introduce a novel decoding algorithm that is able to
outperform the existing approaches of similar complexity in terms of the
decoding error probability and latency. Our contributions are as follows:

  * •

We propose an algorithm called ordered reliability direct error pattern
testing (ORDEPT), which completes a set of pre-defined partial error patterns
(PEP)s ordered according to their reliability. The algorithm is able to
efficiently complete the patterns and test them in parallel batches (shots).

  * •

We present a number of improvements to ORDEPT such as finding and utilizing
multiple successful queries, thresholding to reduce latency, simplified
completion function for BCH codes to reduce complexity and save power in a
hardware implementation. We also develop a generalization (ORDEPT$x$, $x>1$),
where PEPs are completed by upto $x$ error positions instead of just one.

  * •

We propose a new adaptive iterative soft-decision decoding algorithm based on
ORDEPT candidate codeword metrics and show that it outperforms the original
adaptive approach [28].

We demonstrate that ORDEPT can achieve a superior error-correction performance
in comparison to ORBGRAND, with a significantly smaller list of queries that
leads to reduced latency. Our proposed decoder maintains the universality and
parallelizability properties. Moreover, ORDEPT efficiently finds multiple
candidate codewords while using a reduced number of queries which is essential
for soft input soft output (SISO) decoding needed in turbo decoding systems.
This has been demonstrated by employing it as a component decoder in product
codes and convolutional product codes, specifically the oFEC. For the case of
product-like codes, the advantages of ORDEPT over the traditional Chase II
algorithms of comparable complexity can also be pointed out.

The rest of this paper is organized as follows. The system model is introduced
in Section II along with the proposed ORDEPT algorithm. Section III describes
its application as a component decoder passing soft information. Section IV
presents numerical results for various individual and product-like codes.
Finally, Section V concludes the paper.

##  II System Model and Decoding Algorithms

###  II-A System and Channel Model

Consider a binary information vector of length $k$, which undergoes encoding
with a binary linear block code denoted by $\mathcal{C}$. This encoding
process yields an $n$-bit codeword, represented by
$\boldsymbol{c}=({c}_{1},{c}_{2},\ldots,{c}_{n})$, where each ${c}_{i}$ takes
on values from the set $\\{0,1\\}$ for $i=1,\ldots,n$. The codeword
$\boldsymbol{c}$ is then modulated by binary phase-shift keying (BPSK)
modulator. Each codeword component $c_{i}$ is mapped to $x_{i}\in\\{-1,1\\}$
via $x_{i}=2c_{i}-1$. Subsequently, the modulated signal
$\boldsymbol{x}=({x}_{1},{x}_{2},\ldots,{x}_{n})$ is transmitted through a
real-valued additive white Gaussian noise (AWGN) channel. The resulting
channel output can be expressed via

$\boldsymbol{y}=\boldsymbol{x}+\boldsymbol{\zeta},$ (1)

where $\boldsymbol{\zeta}$ represents a vector composed of independent and
identically distributed (i.i.d.) Gaussian random variables characterized by a
zero mean and a variance of $\sigma^{2}$. Utilizing Equation 1, the hard-
decision received sequence $\boldsymbol{w}$ can be computed as
$\boldsymbol{w}=\frac{1}{2}(\mathrm{sign}(\boldsymbol{y})+1)$. The noise
effect, denoted by ${\boldsymbol{z}}$, is then defined as the disparity
between the transmitted codeword $\boldsymbol{c}$ and the hard-decision
sequence $\boldsymbol{w}$. This disparity is expressed as
${\boldsymbol{z}}=\boldsymbol{c}\oplus\boldsymbol{w}$.

Let us denote the absolute values of the received sequence bit LLRs by
$|\boldsymbol{l}|=(|l_{1}|,|l_{2}|,\cdots,|l_{n}|)$. They can be arranged in
an ascending order via a permutation which we denote by
$\boldsymbol{\pi}=(\pi_{1},\ldots,\pi_{n})$. The main objective of a decoder
is to estimate the noise effect ${\boldsymbol{z}}$ and correct the errors in
the hard-decision received sequence to recover the transmitted codeword.
Depending on utilization of the LLR vector and the ordering permutation
$\boldsymbol{\pi}$ we can distinguish several universal soft-decoding methods.

###  II-B Chase II Algorithm

The Chase II algorithm [10] begins by calculating the error syndrome of length
$n-k$ via

$\boldsymbol{s}=\boldsymbol{w}{\bf H}^{\textrm{T}},$ (2)

where $\bf{H}$ denotes a parity-check matrix of the code. In case
$\boldsymbol{s}=\textbf{0}$, the algorithm outputs $\boldsymbol{w}$ as the
decoded codeword. Otherwise, it proceeds by generating a set $\mathcal{T}$
that contains $2^{p}$ test patterns, denoted as $\boldsymbol{t}$, by utilizing
the $p$ least reliable positions of the LLR sequence $\pi_{1},\ldots,\pi_{p}$.
Each test pattern $\boldsymbol{t}$ in $\mathcal{T}$ can have values of $0$ or
$1$ in these positions, with $0$ elsewhere.

The algorithm goes over the test patterns $\boldsymbol{t}\in\mathcal{T}$. For
each $\boldsymbol{y}^{\prime}=\boldsymbol{w}\oplus\boldsymbol{t}$, bounded
distance decoding is performed to obtain a codeword $\tilde{\boldsymbol{c}}$.
From this decoded codeword, an error pattern ${\tilde{\boldsymbol{e}}}$ that
relates $\boldsymbol{w}$ to $\tilde{\boldsymbol{c}}$ is determined by
$\tilde{\boldsymbol{e}}=\boldsymbol{w}\oplus\tilde{\boldsymbol{c}}$. An analog
weight is then assigned to each error pattern $\tilde{\boldsymbol{e}}$. If
$\tilde{\boldsymbol{e}}$ has 1’s in positions $j_{1},\ldots,j_{N}$, the analog
weight is computed as the sum of the absolute values of the respective LLRs
via
$\epsilon(\tilde{\boldsymbol{e}})=|l_{j_{1}}|+|l_{j_{2}}|+\cdots+|l_{j_{N}}|$.
Subsequently, the error pattern $\tilde{\boldsymbol{e}}_{\mathrm{best}}$ with
the smallest $\epsilon(\tilde{\boldsymbol{e}})$ among all error patterns is
identified as the best estimate of the noise effect. Finally, error correction
is performed to generate the estimated codeword
$\boldsymbol{c}_{\mathrm{best}}$ as the output, using
$\boldsymbol{c}_{\mathrm{best}}=\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}_{\mathrm{best}}$.

###  II-C ORBGRAND Algorithm

The ORBGRAND algorithm [20] starts with a pre-defined list of error patterns
$\hat{\boldsymbol{e}}^{(1)},\hat{\boldsymbol{e}}^{(2)},\ldots,\hat{\boldsymbol{e}}^{(q)},\ldots$,
where
$\hat{\boldsymbol{e}}^{(q)}=(\hat{e}_{1}^{(q)},\hat{e}_{2}^{(q)},\ldots,\hat{e}_{n}^{(q)})$,
$\hat{e}_{i}^{(q)}\in\\{0,1\\}$, $i=1,2,\ldots,n$ sorted in the order of their
approximate likelihood. To achieve this, a logistic weight of a pattern
$\hat{\boldsymbol{e}}^{(q)}$ that approximates its analogue weight is defined
by

$\omega_{L}(\hat{\boldsymbol{e}}^{(q)})=\sum_{i=1}^{n}i\cdot\hat{e}_{i}^{(q)}.$
(3)

i. e., the sum of indices corresponding to non-zero elements in
$\hat{\boldsymbol{e}}^{(q)}$. The patterns are generated in the order of their
logistic weight. The first pattern $\hat{\boldsymbol{e}}^{(1)}$ satisfies
$\omega_{L}(\hat{\boldsymbol{e}}^{(1)})=0$, and consists of all zeros. The
second pattern $\hat{\boldsymbol{e}}^{(2)}$ with logistic wight one contains a
single one in the least reliable position. It is followed by
$\hat{\boldsymbol{e}}^{(3)}$ of logistic weight two that contains a single one
in the next least reliable position and so on.

The LLR-ordering permutation $\boldsymbol{\pi}$, obtained from the received
sequence, is then employed to map the positions to 1’s of the pre-defined
patterns to the proper least reliable positions producing the error patterns
$\tilde{\boldsymbol{e}}^{(1)},\tilde{\boldsymbol{e}}^{(2)},\ldots,\tilde{\boldsymbol{e}}^{(q)},\ldots$
that will be tested. The patterns are tested according to their order. A
pattern is added to the hard-decision received sequence $\boldsymbol{w}$ to
check if it leads to a codeword via
$(\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}^{(Q)}){\bf
H}^{\textrm{T}}=\boldsymbol{0}.$ This process continues until either a
codebook member is found, or no codeword is found within the limit of
$Q_{\mathrm{max}}$ codebook queries. In the latter scenario, the algorithm
abandons further search and returns a decoding failure. The ORBGRAND algorithm
is given by Algorithm 1.

Algorithm 1 ORBGRAND Algorithm

1:Received signal $\boldsymbol{y}$, codebook $\mathcal{C}$, maximum number of
error pattern queries $Q_{\mathrm{max}}$.

2:decoded codeword $\boldsymbol{c}_{\mathrm{best}}$.

3:Sort the absolute LLR values $|\boldsymbol{l}|$ of the input
$\boldsymbol{y}$, and determine the permutation vector $\boldsymbol{\pi}$.

4:$q=0$ $\triangleright$ Initialize the number of queries.

5:while $\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}^{(q)}\notin\mathcal{C}$
and $q<Q_{\mathrm{max}}$ do

6: Generate the next most likely error pattern $\hat{\boldsymbol{e}}^{(q)}$
(or retrieve from a query list) and produce its LLR-ordered version
$\tilde{\boldsymbol{e}}^{(q)}$.

7: if $\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}^{(q)}\in\mathcal{C}$ then

8: Return
$\boldsymbol{c}_{\mathrm{best}}=\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}^{(q)}$

9: else

10: $q=q+1$

11: end if

12:end while

Equation 3 approximates the ordered reliabilities by a line with zero
intercept and unit slope, representing the basic version of ORBGRAND. This
approximation adequately serves its purpose in lower SNRs when ordered
reliabilities are near-linear. However, it becomes less effective in higher
SNR scenarios where the ordered reliabilities deviate from linearity. To
address this, multi-line variations of ORBGRAND have been introduced in [20],
offering enhanced performance in higher SNRs.

###  II-D Proposed Ordered Reliability Direct Error-Pattern Testing (ORDEPT)
Decoding Algorithm

The algorithm operates with a set of PEPs selected in the order of their
approximate likelihood. A PEP, denoted as
$\boldsymbol{e}=(e_{1},e_{2},\ldots,e_{n})$, is defined as a binary vector in
which each element $e_{i}$, corresponding to a possible error occurring at the
$i$-th position, is set to $1$. However, the last error position, which has
the lowest likelihood and hence the highest index, remains $0$, along with all
other elements of $\boldsymbol{e}$. The concept here is to determine if a
potential PEP can be completed by an index for the last error position and
lead to a valid codeword.

Applying a PEP denoted by $\boldsymbol{e}$ with $N-1$ ones in positions
$e_{j_{1}},e_{j_{2}},\ldots,e_{j_{N-1}}$ to the hard-decision received
sequence $\boldsymbol{w}$ corresponds to computation of a partial syndrome
vector

$\tilde{\boldsymbol{s}}=(\boldsymbol{w}\oplus{\boldsymbol{e}}){\bf
H}^{\textrm{T}}=\boldsymbol{s}+\boldsymbol{h}_{j_{1}}+\boldsymbol{h}_{j_{2}}+\cdots+\boldsymbol{h}_{j_{N-1}},$
(4)

where $\boldsymbol{h}_{j_{i}}$ represents the $j_{i}$-th column of the code’s
parity check matrix $\bf{H}$, $i=1,\ldots,N-1$, and $\boldsymbol{s}$ is the
$(n-k)$-bit syndrome vector that is calculated via (2).

The partial syndrome $\tilde{\boldsymbol{s}}$ can now be employed to identify
the last error position, denoted as $j_{*}$, for which
$\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}$ forms a valid codeword. In this
context, $\tilde{\boldsymbol{e}}$ represents the completed error pattern,
where $\tilde{e}_{j}=e_{j}$ for $j\neq j_{*}$, and $\tilde{e}_{j_{*}}=1$. The
process of finding $j_{*}$ is equivalent to locating a column within ${\bf H}$
such that $\tilde{\boldsymbol{s}}=\boldsymbol{h}_{j_{*}}$. This mapping can be
accomplished through a function that associates the decimal value of the
column $\boldsymbol{h}_{j_{*}}$ of $\bf{H}$ with its corresponding index
$j_{*}$. This mapping is represented as a function $f(\tilde{\boldsymbol{s}})$
defined as

$f(\tilde{\boldsymbol{s}})=\begin{cases}j_{*}&\mathrm{if}\quad\tilde{\boldsymbol{s}}=\boldsymbol{h}_{j_{*}}\\\
-1&\mathrm{otherwise,}\end{cases}.$ (5)

Whereby, $f(\tilde{\boldsymbol{s}})=-1$ signifies the absence of any column
index $j_{*}$ such that $\boldsymbol{h}_{j_{*}}=\tilde{\boldsymbol{s}}$. The
function $f(\tilde{\boldsymbol{s}})$ can be implemented with simple
combinational logic involving $n-k$ binary inputs, depth of
$\mathrm{log}_{2}(n-k)$, and $\log_{2}(n)$ outputs. In instances where $j_{*}$
is successfully identified and $f(\tilde{\boldsymbol{s}})\neq-1$, the
resulting codeword is computed by

$\tilde{\boldsymbol{c}}=\boldsymbol{w}\oplus\tilde{\boldsymbol{e}}.$ (6)

In the proposed algorithm a pre-defined list
$\hat{\boldsymbol{e}}^{(1)},\hat{\boldsymbol{e}}^{(2)},\ldots,\hat{\boldsymbol{e}}^{(q)},\ldots$
of PEPs is pre-generated in the order of their likelihood. This can be
achieved through methods like the build mountain routine and the landslide
algorithm, as described in [20]. The LLR-ordering permutation is applied to
produce a list of candidate PEPs
${\boldsymbol{e}}^{(1)},{\boldsymbol{e}}^{(2)},\ldots,{\boldsymbol{e}}^{(q)},\ldots$.
The algorithm then proceeds to examine the list of candidate PEPs, either
sequentially or in parallel, until it identifies the first instance, where
$f(\tilde{\boldsymbol{s}})\neq-1$. This signifies a scenario where a PEP can
be completed to form an error-pattern $\tilde{\boldsymbol{e}}$ that ultimately
leads to a decoded codeword
$\boldsymbol{c}_{\textrm{best}}=\tilde{\boldsymbol{c}}$ (see (6)).

For extended codes, it is possible to reduce the number of PEPs that need to
be queried. This is because the last bit of the syndrome effectively indicates
whether the total number of errors is even or odd. In such situations, two
separate lists of PEPs can be utilized: one for cases with an odd Hamming
weight and another for cases with an even Hamming weight. This approach
effectively reduces the number of PEPs examined for each codeword by a factor
of two.

Furthermore, the performance of the proposed algorithm can be enhanced if it
continues to search for additional candidate codewords after finding the first
one. In such a scenario, the Euclidean distances between the channel soft
output $\boldsymbol{y}$ and the modulated versions of all candidate codewords
are calculated, and the candidate with the smallest distance is selected as
the decoded codeword. Alternatively, the resulting codewords can be ranked
based on the analog weights of the respective patterns. To maintain low
complexity and minimize latency, a thresholding can be introduced, where the
algorithm ceases its search when no new codeword is found within a certain
number of queries, typically after $T$ queries following the most recent
successful one. The thresholding is based on the observation that in case PEPs
that lead to codewords form a cluster with close logistic weights, they have
nearly equal chances to lead to the correct codeword. On the other had, if
such cluster is followed by a few distant successful PEPs with very high
logistic weight, these extra PEPs lead to the correct codeword very rarely.
The complete steps of the proposed algorithm (with thresholding) are detailed
in Algorithm 2.

Algorithm 2 ORDEPT Algorithm

1:Received signal $\boldsymbol{y}$, codebook $\mathcal{C}$, maximum number of
error pattern queries $Q_{\mathrm{max}}$, PEP list, threshold $T$,
$C_{\mathrm{max}}$ number of candidate codewords to be found.

2:Decoded codeword $\boldsymbol{c}_{\mathrm{best}}$.

3:if $\boldsymbol{w}\in\mathcal{C}$ then

4: return $\boldsymbol{c}_{\mathrm{best}}=\boldsymbol{w}$

5:else

6: Sort the absolute LLR values $|\boldsymbol{l}|$ of the input
$\boldsymbol{y}$, and determine the permutation vector $\boldsymbol{\pi}.$

7: $q=0$ $\triangleright$ Initialize the index of the current PEP query.

8: $C=0$ $\triangleright$ Initialize the number of codewords found by the
algorithm.

9: $I_{s}=0$ $\triangleright$ Initialize the index of the latest successful
PEP query.

10: Calculate the syndrome via (2).

11: while $C<C_{\mathrm{max}}$ and $q<Q_{\mathrm{max}}$ do

12: Retrieve the next PEP $\hat{\boldsymbol{e}}^{(q)}$ from the PEP list and
apply $\boldsymbol{\pi}$ to acquire ${\boldsymbol{e}}^{(q)}$. Obtain
$\tilde{\boldsymbol{s}}$ via (4).

13: if $f(\tilde{\boldsymbol{s}})\neq-1$ then

14: Complete PEP by setting $\tilde{{e}}_{j}=e_{j}$ for $j\neq j_{*}$ and
$\tilde{e}_{j*}=1$. Compute $\tilde{\boldsymbol{c}}$ using (6) and store it in
$\mathcal{L}$.

15: $C=C+1$, $I_{s}=q$, $q=q+1$

16: else

17: $q=q+1$

18: end if

19: if $C\neq 0$ and $q>I_{s}+T$ then

20: break

21: end if

22: end while

23: return
$\boldsymbol{c}_{\mathrm{best}}=\operatorname*{arg\,min}_{\tilde{\boldsymbol{c}}\in\mathcal{L}}|\boldsymbol{y}-\tilde{\boldsymbol{x}}|^{2}$,
where $\tilde{\boldsymbol{x}}=\tilde{\boldsymbol{x}}(\tilde{\boldsymbol{c}})$
is a BPSK modulated version of $\tilde{\boldsymbol{c}}$.

24:end if

The algorithm’s simplicity primarily arises from its ability to directly
identify the last error position within the noise effect using a simple
analytic function. This approach aligns with the error pattern processing
techniques employed in the DEPT algorithm, as described in [14]. In terms of
hardware implementation, for each pattern both ORBGRAND and ORDEPT necessitate
a syndrome computation logic based on adding the columns of the parity-check
matrix corresponding to the error positions. Implementation of a combinational
logic which outputs the bits of the column index equal to the computed
syndrome would need a comparable or even smaller amount of resources, compared
to the syndrome computation.

In the context of hardware implementations for list-based query algorithms
like ORBGRAND, it is a common practice to simultaneously examine multiple
PEPs, as highlighted in [26]. In our approach, we partition the entire PEP
list into sets of queries, each containing $Q_{\textrm{s}}$ queries, and refer
to each of these sets as shots. All patterns within a single shot are
subjected to parallel testing. In the ORDEPT algorithm the shots are tested
until either the required number of potential codewords, denoted by
$C_{\mathrm{max}}$, is attained, or until a maximum of $T$ queries following
the most recent successful PEP is reached.

The ORDEPT algorithm, as presented, can be viewed as a trade-off between
Chase-like algorithms such as Chase II and DEPT, and the GRAND-type algorithms
found within the ORBGRAND “family”, effectively harnessing the strengths of
both approaches. Chase II, known to be effective for a sufficiently large
number of bit-flip positions $p$ and respective $2^{p}$ test patterns, offers
powerful error correction capabilities. However, they come at the cost of
increased complexity and latency due to multiple hard-decision decoding
attempts and the need for a large number of soft reliability computations. On
the other hand, the DEPT algorithm reduces the complexity by focusing on PEPs
that do not necessitate full hard-decision decoding, with careful PEP
selection. Nevertheless, it relies on a large number of PEPs and compares the
reliability of a large number of resulting codewords. The ORDEPT algorithm
that we propose in this work streamlines the decoding effort by utilizing PEPs
organized in terms of approximate reliability, while maintaining the same
block error probability (BLER) performance.

Whereas ORBGRAND similarly employs ordered reliability and a straightforward
process for pattern testing, ORDEPT is more efficient. This is achieved by
employing a significantly reduced number of patterns to swiftly identify the
correct codeword. Moreover, the testing effort for a PEP in ORDEPT only
marginally surpasses the testing complexity of a full error pattern in
ORBGRAND. Consequently, ORDEPT offers diminished complexity and latency,
making it a more suitable choice for product code decoding compared to
ORBGRAND. This distinction arises from the capacity of ORDEPT to identify
multiple potential codewords effectively, particularly with moderate list
sizes, as demonstrated in Section IV.

###  II-E ORDEPT for BCH Codes and Generalized ORDEPT

For BCH codes, which are specifically important due to their use in various
concatenated coding schemes, the ORDEPT algorithm can be further simplified
and generalized.

Consider a primitive $t$-error correcting extended binary $(2^{r},2^{r}-tr-1)$
BCH code. For example the $(256,239)$ extended BCH code has $t=2$, whereas
$r=8$ and the overall code length equals $n=2^{r}=256$. A BCH code is
constructed from the elements of a Galois field
$GF(2^{r})=\\{0,1,\gamma,\gamma^{2},\cdots,\gamma^{2^{r}-2}\\}$, where
$\gamma$ is the primitive element and $p(\gamma)$ is the primitive polynomial
of degree $r$. A parity-check matrix of the code can be constructed in the
form

$\bf{H}=\begin{bmatrix}\mathcal{B}(\gamma^{0})&\mathcal{B}(\gamma^{1})&\ldots&\mathcal{B}(\gamma^{2^{r}-2})&0\\\
\mathcal{B}(\gamma^{0})&\mathcal{B}(\gamma^{3})&\ldots&\mathcal{B}(\gamma^{3(2^{r}-2)})&0\\\
\vdots&\vdots&&\vdots&\vdots\\\
\mathcal{B}(\gamma^{0})&\mathcal{B}(\gamma^{2t-1})&\ldots&\mathcal{B}(\gamma^{(2t-1)(2^{r}-2)})&0\\\
1&1&\cdots&1&0\end{bmatrix},$ (7)

where $\mathcal{B}(\cdot)$ denotes an $r$-bit binary column vector of a
polynomial coefficient representation of a GF element. The last row of the
parity-check matrix contains 1’s and is used to detect the parity of the
number of errors.

Consider the partial syndrome vector $\tilde{\boldsymbol{s}}$ in (4). Let us
denote the first $r$ bits of the partial syndrome vector
$\tilde{\boldsymbol{s}}$ by $\tilde{\boldsymbol{s}}_{1}$. The ORDEPT attempts
to find a column index $j_{*}$ such that
$\tilde{\boldsymbol{s}}=\boldsymbol{h}_{j_{*}}$. Let us define the sub-matrix
${\bf H}_{1}$ of the parity-check matrix (7) constructed from the first $r$
rows. The set of columns
$\boldsymbol{h}^{(1)}_{1},\cdots,\boldsymbol{h}^{(1)}_{n}$ of ${\bf H}_{1}$
coincides with a set of all $2^{r}$ possible distinct binary vectors of length
$r$. On the other hand, there exist $2^{r}$ distinct column indices. Hence,
${j_{*}}$ such that $\tilde{\boldsymbol{s}}_{1}=\boldsymbol{h}^{(1)}_{j_{*}}$
can be uniquely determined and expressed as a permutation
$j_{*}=\tilde{\pi}(\eta(\tilde{\boldsymbol{s}}_{1}))$, where $\eta(\cdot)$
denotes a decimal number representation of a binary vector. Once the unique
candidate $j_{*}$ is determined based on the first $r$ parity-check rows of
$\bf{H}$, we can then check if $\tilde{\boldsymbol{s}}=\boldsymbol{h}_{j_{*}}$
is satisfied for the remaining $(t-1)r+1$ bits positions as well, via a simple
‘and’ gate logic function.

While the ORDEPT algorithm presented in Section II-D is trying to complete
each PEP with one error position, we can further generalize it to ORDEPT$x$,
$x>1$, that tries to complete each PEP with upto $x$ remaining error
positions, where $x<t$. For $x=0$ ORDEPT$x$ coincides with ORBGRAND, while for
$x=1$ we obtain the regular ORDEPT described in Section II-D.

For the case of primitive extended BCH codes defined by (7), completion of a
PEP with $x$ remaining error positions can be accomplished via a hard decision
decoding of an $x$-error correcting extended BCH code defined by a parity-
check matrix which consists of the first $xr$ rows of $\bf{H}$ appended by a
row of $1$s.

Note that for $x\leq 3$ BCH decoding can be performed with help of a few look
up tables (that can alternatively be implemented as combinational logic
functions) of length $2^{r}$ (see [5]), while for $t>3$ a multi-step algorithm
such as Berlekamp-Massey, Peterson, etc. would be required [29]. Therefore,
for $t>3$ ORDEPT$x$, where $x=1,2$, or $3$, can provide a lower latency and
complexity approach in comparison with Chase II algorithm or ORBGRAND that
requires a very large number of patterns (queries) to be tested.

##  III ORDEPT as Component Decoder

In this section, the ability of the proposed ORDEPT decoder to serve as a
component decoder for iteratively decodable product-like codes is
demonstrated. We consider two types of codes: the original block product codes
[30] and the oFEC code designed for single wavelength transmission over optic
fiber [31]. The oFEC is a representative convolutional product-like code which
belongs to the families of braided block codes [32, 33] and zipper codes [6].

###  III-A Decoding Product Codes with ORDEPT

Product codes are constructed by concatenation of two types of block codes
denoted by $\mathcal{C}_{i}$, $i=1,2$, with parameters $(n_{i},k_{i})$ where
$n_{i}$ represents the code length and $k_{i}$ is the code’s dimension [30].
To create a product code, the information bits are organized into a
rectangular array with dimensions $k_{2}\times k_{1}$. Subsequently, each row
of this array is expanded to length $n_{1}$ using the parity-check bits
derived from encoding of the $k_{1}$ information bits of that row with
$\mathcal{C}_{1}$, while each column is extended to length $n_{2}$ using the
parity-check bits produced by encoding of the column with $\mathcal{C}_{2}$.

For the soft iterative decoding of product codes, it is essential to obtain
soft output to update the reliability of each bit. Typically, Pyndiah’s
decoding method, as detailed in [23], is employed for this purpose. During
each iteration, rows and columns are decoded in two alternating half
iterations. As shown in [23], to generate soft output, we require at least one
less likely competitor codeword, denoted as $\tilde{\boldsymbol{c}}$, from the
decoder of each component code. These competitor codewords help to compute
soft output, i.e., LLRs of the bits that can be exchanged between half
iterations, transitioning from row decoding to column decoding and vice versa.
We represent the soft output of the $(j-1)$-th half iteration by
$\hat{\boldsymbol{y}}^{j-1}$, which subsequently becomes the input for the
$j$-th half iteration. With a list of candidate codewords, denoted as
$\mathcal{L}$, already available from the proposed ORDEPT decoder (as
described in Section II-D), the soft output can be computed for the $i$-th bit
using Pyndiah’s method [23]. Initially, we select
$\boldsymbol{c}_{\mathrm{best}}$ as the decoded codeword, determined via
$\boldsymbol{c}_{\mathrm{best}}=\operatorname*{arg\,min}_{\tilde{\boldsymbol{c}}\in\mathcal{L}}|\hat{\boldsymbol{y}}^{j-1}-\tilde{\boldsymbol{x}}|^{2}$,
where $\tilde{\boldsymbol{x}}=\hat{\boldsymbol{x}}(\tilde{\boldsymbol{c}})$
represents a BPSK modulated version of $\tilde{\boldsymbol{c}}$. Subsequently,
if there exists a codeword $\boldsymbol{c}^{*}$ within the list $\mathcal{L}$
that differs from $\boldsymbol{c}_{\mathrm{best}}$ in terms of the $i$-th bit
value, where
$\boldsymbol{c}^{*}=\operatorname*{arg\,min}_{{\tilde{\boldsymbol{c}}\in\mathcal{L}:\tilde{c}_{i}\neq{c}_{{\mathrm{best}}_{i}}}}|{\hat{\boldsymbol{y}}^{j-1}}-\tilde{\boldsymbol{x}}|^{2}$,
then the initial soft output for the $i$-th bit is determined by

$\hat{y}^{j}_{i}=\frac{x_{{\mathrm{best}}_{i}}(|\hat{\boldsymbol{y}}^{j-1}-\boldsymbol{x}^{*}|^{2}-|\hat{\boldsymbol{y}}^{j-1}-{\boldsymbol{x}}_{\mathrm{best}}|^{2})}{4},$
(8)

where $x_{{\mathrm{best}}_{i}}$ is the modulated representation of the $i$-th
decoded codeword bit, i.e., $x_{\mathrm{best}_{i}}\in\\{-1,1\\}$ and
$\boldsymbol{x}^{*}$ denotes the modulated form of $\boldsymbol{c}^{*}$. In
the case that the candidate codewords within the list $\mathcal{L}$
unanimously agree on the value of the $i$-th bit the expression

$\hat{y}^{j}_{i}=\beta^{(j)}\times x_{{\mathrm{best}}_{i}}$ (9)

is used as the initial soft output for some constant $\beta^{(j)}\geq 0$. The
extrinsic information of each bit is calculated via

$\omega_{i}=\hat{y}^{j-1}_{i}-y_{i}.$ (10)

The ultimate updated soft information for each bit is derived by incorporating
a scaled extrinsic information value into the original channel information
through

$\hat{y}^{j}_{i}=y_{i}+\alpha^{(j)}\omega_{i},$ (11)

for some constant value of $\alpha^{(j)}$, $0<\alpha^{(j)}\leq 1$. The steps
of the ORDEPT-based Pyndiah’s decoding algorithm with a general candidate
codeword list $\mathcal{L}$ are given in the Algorithm 3.

Algorithm 3 Chase-Pyndiah’s Decoding Algorithm

1:Received signal $\boldsymbol{y}$, list of candidate codewords $\mathcal{L}$,
soft output of the previous iteration $\hat{\boldsymbol{y}}^{j-1}$,
$\alpha^{(j)}$, $\beta^{(j)}$.

2:Soft output $\hat{\boldsymbol{y}}^{j}$.

3:Set
$\boldsymbol{c}_{\mathrm{best}}=\operatorname*{arg\,min}_{\tilde{\boldsymbol{c}}\in\mathcal{L}}|\hat{\boldsymbol{y}}^{j-1}-\tilde{\boldsymbol{x}}|^{2}$
as the decoded codeword.

4:for $i=1:n$ do

5: if $c_{\mathrm{best}_{i}}=\tilde{c}_{i}$ for all
$\tilde{\boldsymbol{c}}\in\mathcal{L}$ then

6: $\hat{y}^{j}_{i}=\beta^{(j)}\times x_{{\mathrm{best}}_{i}}$

7: else

8: Compute
$\boldsymbol{c}^{*}=\operatorname*{arg\,min}_{\\{\tilde{\boldsymbol{c}}\in\mathcal{L}:\tilde{c}_{i}\neq{c}_{{\mathrm{best}}_{i}}\\}}|{\hat{\boldsymbol{y}}^{j-1}}-\tilde{\boldsymbol{x}}|^{2}$
.

9:
$\hat{y}^{j}_{i}=\frac{x_{\mathrm{best}_{i}}(|\hat{\boldsymbol{y}}^{j-1}-\boldsymbol{x}^{*}|^{2}-|\hat{\boldsymbol{y}}^{j-1}-{\boldsymbol{x}}_{\mathrm{best}}|^{2})}{4}$

10: end if

11: Calculate extrinsic information via $\omega_{i}=\hat{y}^{j-1}_{i}-y_{i}$,

12: $\hat{y}^{j}_{i}=y_{i}+\alpha^{(j)}\omega_{i}$

13:end for

14:return $\hat{\boldsymbol{y}}^{j}$

###  III-B Adaptive Hybrid SISO Decoding Algorithm

In the conventional Chase-Pyndiah algorithm, the $\alpha$ and $\beta$ remain
constant for all component codes in each half iteration. In a recent work, an
adaptive algorithm is proposed for Chase-Pyndiah method based on the analogue
weight $\epsilon(\boldsymbol{w}+\boldsymbol{c}_{\mathrm{best}})$ (see Section
II-B) of the error pattern that leads to the decoded codeword
$\boldsymbol{c}_{\mathrm{best}}$ [28]. Similarly to the Eucledian distance,
the analogue weight can be used as an indicator of a codeword’s reliability
and applied to update soft information. In [28], during $j$-th half iteration,
upper limits $a_{\alpha}^{(j)}$ and $a_{\beta}^{(j)}$ for $\alpha$ and
$\beta$, lower limits $b_{\alpha}^{(j)}$ and $b_{\beta}^{(j)}$ for $\alpha$
and $\beta$ and decreasing coefficients $k_{\alpha}^{(j)}$ and
$k_{\beta}^{(j)}$ for $\alpha$ and $\beta$ are defined. Then, for each
component codeword in each half-iteration, $\alpha$ and $\beta$ can fluctuate
between the upper and lower limits as functions of the analogue weight.

The proposed ORDEPT decoder naturally provides us with access to an
alternative metric for evaluating the reliability of the codewords. Given that
the PEPs in ORDEPT are sorted in decreasing order of likelihood, the
identified candidate codewords in the decoder’s list are consequently sorted
from most likely to least likely (approximately). Therefore, the codeword’s
position in the list indicates its reliability with lower indices denoting
higher reliability.

Therefore, we propose an adaptive decoder, where the decision making process
is performed based on both the traditional distance-based and the new order-
based metrics, with a weighting factor of $0.5$ for each metric. The details
of the proposed adaptive hybrid method of soft information factor calculation
are given in Algorithm 4. The $\alpha^{(j)}$ and $\beta^{(j)}$ obtained at the
output of Algorithm 4 can be used directly as inputs in Algorithm 3.

Algorithm 4 Adaptive Hybrid Algorithm of Factor calculation

1:$\epsilon(\tilde{\boldsymbol{e}}_{\mathrm{best}})$, $a_{\alpha}^{(j)}$ ,
$a_{\beta}^{(j)}$, $b_{\alpha}^{(j)}$, $b_{\beta}^{(j)}$, $k_{\alpha}^{(j)}$,
$k_{\beta}^{(j)}$, index of $\boldsymbol{c}_{\mathrm{best}}$ in the ORDEPT
decoder list denoted by $i_{\textrm{best}}$.

2:$\alpha^{(j)}$, $\beta^{(j)}$

3:$\alpha^{(j)}=a_{\alpha}^{(j)}-k_{\alpha}^{(j)}\times(0.5\times\epsilon(\tilde{\boldsymbol{e}}_{\mathrm{best}})+0.5\times\frac{i_{\textrm{best}}-1}{2})$

4:if $\alpha^{(j)}<b_{\alpha}^{(j)}$ then

5: $\alpha=b_{\alpha}^{(j)}$

6:end if

7:$\beta^{(j)}=a_{\beta}^{(j)}-k_{\beta}^{(j)}\times(0.5\times\epsilon(\tilde{\boldsymbol{e}}_{\mathrm{best}})+0.5\times\frac{i_{\textrm{best}}-1}{2})$

8:if $\beta^{(j)}<b_{\beta}^{(j)}$ then

9: $\beta^{(j)}=b_{\beta}^{(j)}$

10:end if

###  III-C Sliding Window ORDEPT for oFEC

The oFEC is a recently introduced FEC for optical transport network (OTN),
standardized by the Open ROADM specification document [31], and designed for
high-throughput fiber-optical communications. The oFEC structure is capable of
providing a net coding gain (NCG) of 11.1 dB for BPSK or quadrature phase
shift keying (QPSK), and 11.6 dB for quadrature amplitude modulation (QAM)
with $16$ constellation points (16QAM) on AWGN channel. The code necessities a
pre-FEC BER threshold of $2\times 10^{-2}$ to deliver BER below $10^{-15}$
after three soft and two hard decision decoding iterations [34]. It has also
been proposed for the next generation standard that operates at $800$ Gbps
[34].

Figure 1: oFEC code array, encoding and decoding.

The oFEC, a convolutional product code type FEC, is defined by means of an
infinite data array depicted in Fig. 1. Each row of the array contains $N=128$
encoded data bits. To facilitate the encoding process, the array is sub-
divided into $B\times B$ squared blocks where $B=16$. The extended
BCH(256,239) codes serve as the component codes in the oFEC. Each codeword of
length $2N=256$ bits (and dimension $k=239$) is split into $N$ back bits and
$N$ front bits. The locations of the bits of one component codeword are shown
by the red lines in Fig. 1. The eight vertical red lines show $N/B$ groups of
$B$ bits which form the back bits of the codeword. The red horizontal line
shows the front bits of the same codeword.

The encoding process is depicted on the left side of Fig. 1. To encode one
component codeword, the $N$ front bits (shown by the vertical red lines) are
read from the memory. They are combined with the $k-N=111$ input information
bits and encoded by the systematic component encoder. The information bits,
together with the computed $2N-k=17$ parity-check bits are permuted (see [31])
and placed into the current encoded row (shown by the horizontal red line) of
the oFEC array. We can see that each bit in the oFEC array belongs to two
distinct component codewords. In the first codeword it plays a role of a back
bit and in the second it is one of the front bits. Two rows of $B\times B$
blocks ($2B=32$ codewords) are encoded in parallel at each time as the
encoding process moves down the array. The encoded data is modulated and
transmitted over the channel.

At the receiver side (depicted on the right side of Fig. 1) the soft
demodulator obtains the intrinsic LLRs of each bit. These may be stored in an
oFEC array at the receiver end, together with the extrinsic LLRs updated
throughout the decoding iterations. The decoding iterations are organized in a
sliding-window fashion. A window of $3+N/B=11$ rows of $B\times B$ blocks is
dedicated to each iteration. Each iteration processes $2B$ component codes in
parallel (shown by the area shaded in gray within the “current iteration
window” in Fig. 1). Soft component decoders receive the intrinsic and
extrinsic LLRs and produce the updated extrinsic LLRs at the output. Following
that, all windows are shifted by two block rows.

Since the oFEC can be regarded as a convolutional type product code, the
component codes are typically decoded and exchange soft information via the
Chase-Pyndiah algorithm [23, 35, 36, 28]. The required NCG may be achieved by
three soft followed by two hard decision decoding iterations [34].

TABLE I: Equivalent uncoded BER and instantaneous SNR of the front and back bits for the first three iterations of soft decoding of the BPSK-modulated oFEC transmitted over AWGN channel with $E_{b}/N_{0}=3.89$ dB. Iteration | BER | SNR (dB)
---|---|---
| Front | Back | Front | Back
$1^{st}$ Iteration | $1.967\times 10^{-2}$ | $1.417\times 10^{-2}$ | $3.888$ | $4.428$
$2^{nd}$ Iteration | $1.131\times 10^{-2}$ | $2.127\times 10^{-3}$ | $4.766$ | $6.732$
$3^{rd}$ Iteration | $6.198\times 10^{-4}$ | $1.277\times 10^{-5}$ | $7.792$ | $10.094$

The proposed ORDEPT algorithm is applied to the oFEC following Algorithm 3.
There is, however, an important difference. Front and back bits of each
component codeword are experiencing different levels of noise and interference
since they are positioned in two distinct memory areas in the oFEC structure.
The front bits are passed by sliding the current iteration window first,
followed by the back bits. Table I displays the BER of the front and back bits
for the first, second, and third soft decoding iterations for
$E_{b}/N_{0}=3.89$ dB (the operating point with the pre-FEC threshold of
$2\times 10^{-2}$). It reveals that the instantaneous SNR of the front bits is
always greater than that of the back bits, while the equivalent uncoded BER is
always smaller. This implies that it is impractical to employ the same weight
and reliability factors $\alpha$ and $\beta$ for all the bits.

According to the structure of the oFEC, we propose to employ two series of
values of $\alpha$ and $\beta$ in each iteration for the front and back bits,
respectively. While the oFEC system is decoded with $I$ soft iterations, $2I$
values for each parameter $\alpha$ and $\beta$ are utilized, where
$\alpha^{(2j-1)}$ and $\beta^{(2j-1)}$ are used for the front bits, while the
back bits are decoded using $\alpha^{(2j)}$ and $\beta^{(2j)}$,
$j=1,2,\ldots,I$.

##  IV Numerical Results

This section presents a series of simulation results that illustrate the
improvements achieved by ORDEPT in terms of error rates and decoding
complexity compared to the state-of-the-art approaches, both in individual
decoding as well as iterative decoding of product-like codes. All simulations
are conducted assuming transmission over the AWGN channel with BPSK signaling.
Following the error rate and complexity assessments, we present a comparison
of the estimated required number of clock cycles which is an indicator of
latency in hardware implementations.

###  IV-A Simulation Results

Figure 2: Performance evaluation of ORDEPT in comparison with existing
decoders for $\mathrm{BCH}(256,239)$.

Fig. 2 illustrates the BLER performance of ORDEPT compared to various existing
decoding methods for the extended $\mathrm{BCH}(256,239)$ code. These methods
encompass both hard input decoders like GRAND and Berlekamp-Massey (BM), and
soft input decoders like the Chase II algorithm, which systematically flips
all combinations of $p$ least reliable bit positions. Additionally, we include
the basic and multi-line versions of ORBGRAND. In our evaluations of ORDEPT
and ORBGRAND variants, we carefully select the smallest $Q_{\mathrm{max}}$
such that a significant performance loss would occur in case
$Q_{\mathrm{max}}$ is further reduced. While the performance of all the
algorithms improves with the increase of $Q_{\mathrm{max}}$, we selected
$Q_{\mathrm{max}}=2^{10}$ for ORDEPT and $Q_{\mathrm{max}}=2^{14}$ for
ORBGRAND variants as two representative values for a fair comparison, where
ORDEPT improves both performance and latency. The SNR values required for
ORDEPT with $C_{\mathrm{max}}=3$ and 2-line ORBGRAND to achieve BLER equal to
$10^{-5}$ for several $Q_{\mathrm{max}}$ are given in Table II. For the last
two ORDEPT simulations, we set the threshold parameter $T$ equal to the
average number of queries in ORBGRAND variants. The results demonstrate that
ORDEPT with $C_{\mathrm{max}}=1$ exhibits BLER performance which is similar to
1-line ORBGRAND, while ORDEPT with $C_{\mathrm{max}}=3$, $T=256$ shows
approximately $0.2$ dB improvement over 2-line ORBGRAND at lower BLER.

TABLE II: SNR required to reach BLER equal to $10^{-5}$. |  ORDEPT, $\bf{C}_{\mathrm{\bf{max}}}=3$ | 2-line ORBGRAND
---|---|---
$\bf{Q}_{\mathrm{\bf{max}}}$ | $2^{10}$ | $2^{9}$ | $2^{14}$ | $2^{13}$ | $2^{9}$
SNR [dB] | $6.44$ | $6.47$ | $6.67$ | $6.76$ | $7.58$

While the performance of all the algorithms improves with $Q_{\mathrm{max}}$,
we selected $Q_{\mathrm{max}}=2^{10}$ for ORDEPT and $Q_{\mathrm{max}}=2^{14}$
for ORBGRAND variants as two representative values for a fair comparison,
where ORDEPT improves performance, complexity and latency (see discussion
below). The SNR values required for ORDEPT and 2-line ORBGRAND to achieve BLER
level of $10^{-5}$ for several $Q_{\mathrm{max}}$ are given in Table 1.

It is noteworthy that the maximum number of queries, denoted as
$Q_{\mathrm{max}}$ required to identify a codeword, is $16$ times smaller for
the proposed ORDEPT algorithm compared to the ORBGRAND variants. Besides the
reduction of the latency, discussed in more detail further, smaller
$Q_{\mathrm{max}}$ also translates into a smaller number of sorted LLRs
required in ORDEPT compared to ORBGRAND. Our simulations indicate that in the
worst-case scenario, ORBGRAND necessitates identification and sorting of $45$
smallest Log-Likelihood Ratios (LLRs), while ORDEPT requires only $31$.

Figure 3: The average number of shots to decode a codeword with shot size 16
(solid lines) and shot size 256 (dashed lines) using ORDEPT and ORBGRAND
variants for $\mathrm{BCH}(256,239)$.

To compare the complexity of ORDEPT and various ORBGRAND variants, we examine
the average number of shots required to decode a received sequence. Here, a
shot refers to a group of queries processed concurrently which is a common
practice in high-speed GRAND implementations [37]. The complexity then
translates into the circuit power dissipation.

The results are depicted in Fig. 3. We investigate two shot sizes,
specifically $Q_{\textrm{s}}=16$ (represented by solid lines) and
$Q_{\textrm{s}}=256$ (indicated by dashed lines). The results reveal that when
$Q_{\textrm{s}}=256$, the proposed ORDEPT algorithm requires, in average, at
most two shots across all SNRs, whereas ORBGRAND demands at least four shots
for SNRs below $5$ dB. The advantage of ORDEPT in terms of the number of shots
becomes even more pronounced when $Q_{\textrm{s}}=16$ is considered. By
considering both Fig. 2 (which illustrates BLER) and Fig. 3 (depicting
latency), we can see that ORDEPT, when configured with $T$=average $Q$,
outperforms ORBGRAND variants in terms of both the performance and latency.

The number of clock cycles that are needed to decode a codeword in a hardware
implementation is the ultimate measure of the decoding latency. In a recent
work, where a fixed latency architecture is proposed for ORBGRAND [37], the
required number of clock cycles for decoding of a codeword is given by

$L=Q_{\mathrm{max}}/Q_{\mathrm{s}}+2+\mathrm{log}_{2}n\quad\quad\quad\quad$
(12)

where $n=256$. Assuming the same pipelined hardware implementation approach
and shot size $Q_{\mathrm{s}}=512$ for ORDEPT and ORBGRAND, (12) is also
applicable to the ORDEPT decoder. Moreover, due to the fact that the required
$Q_{\mathrm{max}}$ for ORDEPT is 16 times smaller than that of ORBGRAND for
$\mathrm{BCH}(256,239)$, ORDEPT is able to decrease the latency caused by the
number of shots from 32 (in ORBGRAND) to $2$ clock cycles. In addition
$\lceil\log_{2}(C_{\textrm{max}})\rceil=2$ extra clock cycles for computing
the analog weights of the collected candidate codewords and selecting the
smallest weight have been added to the ORDEPT cycle count.

TABLE III: Comparison of the projected latency in terms of clock cycles of ORDEPT and ORBGRAND implementation [37] for $\mathrm{BCH}(256,239)$. | ORDEPT | ORDEPT | ORBGRAND | ORBGRAND
---|---|---|---|---
| with | with | with | with
| $Q_{s}=512$ | $Q_{s}=256$ | $Q_{s}=512$ | $Q_{s}=256$
latency [cc] | $14$ | $16$ | $42$ | $74$

The estimated clock cycle numbers for ORDEPT and ORBGRAND are given in Table
III. The table clearly demonstrates the advantage of the proposed ORDEPT in
terms of latency. Besides the latency, the required number of shots also
translates into the area occupied by the circuit. Finally, we note that
ORBGRAND needs a smaller number of clock cycles than Chase II with $p\geq 2$
to decode a codeword [37]. Hence ORDEPT has even larger advantage over Chase
II with $p\geq 2$ in terms of complexity.

Figure 4: Performance evaluation of ORDEPT in comparison with existing
decoders for $\mathrm{BCH}(256,231)$.

In Fig. 4, we compare BLER performances of ORDEPT1 and ORDEPT2 (i.e. regular
ORDEPT and the ORDEPT2 generalization proposed in Section II-E) with that of
Chase II and various ORBGRAND versions for the 3-error-correcting
$\mathrm{BCH}(256,231)$ code. Notably, the maximum number of queries
$Q_{\mathrm{max}}$ reveals that both ORDEPT2 and ORDEPT exhibit reduced
latency, that is $64$ and $32$ times smaller than the latency of ORBGRAND
respectively. Furthermore, ORDEPT with $C_{\mathrm{max}}=1$ slightly
outperforms the 2-line version of ORBGRAND. Specifically, at a BLER level of
$2\times 10^{-8}$, ORDEPT with $C_{\mathrm{max}}=1$ achieves a gain of
approximately $0.5$ dB over 2-line ORBGRAND and a gain of around $1$ dB over
1-line ORBGRAND. For $Q_{\mathrm{max}}=2^{11}$, on the other hand, ORDEPT is
unable to find the second candidate codeword in most cases and, therefore,
$C_{\mathrm{max}}=2$ does not lead to a performance improvement.

In the case of ORDEPT2, it is evident that with $C_{\mathrm{max}}=1$, it
marginally outperforms the 2-line version of ORBGRAND and achieves a gain of
approximately $0.5$ dB over the 1-line ORBGRAND at a BLER level of $10^{-8}$.
Unlike ORDEPT, which faces challenges due to the increased distance between
the codewords in $\mathrm{BCH}(256,231)$ compared to $\mathrm{BCH}(256,231)$,
ORDEPT2 with $C_{\mathrm{max}}=2$ is capable of identifying a second candidate
codeword. This capability results in a gain of more than $0.5$ dB over ORDEPT2
with $C_{\mathrm{max}}=1$ at a BLER level of $10^{-8}$. The performance of
ORDEPT2 with $C_{\mathrm{max}}=2$ falls between that of Chase II with $p=7$
and Chase II with $p=8$, which find $128$ and $256$ codewords using full $3$
error correction hard-decision decoding respectively.

Figure 5: The average number of shots to decode a codeword with shot size 16
(solid lines) and shot size 256 (dashed lines) using ORDEPT and ORBGRAND
variants for $\mathrm{BCH}(256,231)$.

Fig. 5 shows the average number of shots required for ORDEPT and ORBGRAND
variants to decode the $\mathrm{BCH}(256,231)$ code. The figure demonstrates
that for the shot size $Q_{s}=256$, the ORBGRAND variants require at least
$100$ shots for $\mathrm{SNR}\leq 4$ dB, $10$ shots for $\mathrm{SNR}=5$ dB
and $1$ shot for $\mathrm{SNR}\geq 6$ dB. ORDEPT variants however need less
than 10 shots for all the SNRs.

Fig. 6 presents a comparison of BLER performance between the ORDEPT decoder
and ORBGRAND variants applied to $\mathrm{CRC}(128,120)$. The reduced minimum
distance of the code allows for reductions in $Q_{\mathrm{max}}$ values for
both ORDEPT and ORBGRAND variants to $2^{3}$ and $2^{8}$, respectively. As
observed from the differences in $Q_{\mathrm{max}}$, the utilization of an
analytic function enables the ORDEPT decoder to achieve the latency values
that are $16$ to $32$ times smaller compared to the ORBGRAND variants when
applied to $\mathrm{CRC}(128,120)$. Furthermore, Fig. 6 illustrates that
ORDEPT with $\mathrm{C}_{\mathrm{max}}=8$ achieves approximately a $0.2$ dB
improvement over the 2-line ORBGRAND variant at BLER level of $10^{-4}$. In
Fig. 7, the average number of shots required for the decoding of
$\mathrm{CRC}(128,120)$ is shown. The results clearly indicate that,
regardless of the SNR, ORDEPT consistently demands only a single shot for
successful decoding, while ORBGRAND necessitates multiple shots for SNR below
$5$ dB.

Figure 6: Performance evaluation of ORDEPT in comparison with ORBGRAND for
$\mathrm{CRC}(128,120)$. Figure 7: The average number of shots to decode a
codeword with shot size $16$ (solid lines) and shot size $256$ (dashed lines)
using ORDEPT and ORBGRAND variants for $\mathrm{CRC}(128,120)$. Figure 8:
Performance evaluation of ORDEPT in comparison with ORBGRAND decoders for
$\mathrm{CA-Polar}(128,105+11)$.

In Fig. 8, we conduct a performance comparison of ORDEPT with various ORBGRAND
variants and the CA-SCL decoder applied to the $\mathrm{CA-Polar}(128,116)$
code. This code, designed for 5G NR up-link control channels, contains $22$
parity bits in addition to $11$ CRC bits. The results in the figure indicate
that ORDEPT outperforms the CA-SCL decoder by a margin of $1$ dB and surpasses
ORBGRAND by $0.1$ dB at a BLER level of $3\times 10^{-4}$. Furthermore, it is
worth noting that the ORDEPT decoder exhibits a latency that is $32$ times
smaller compared to the ORBGRAND variants. Fig. 9 indicates that ORDEPT needs
less shots than ORBGRAND variants for lower SNRs but more for higher SNRs
above $5$ dB for $Q_{\mathrm{s}}=16$. However, for a more practical
$Q_{\mathrm{s}}=256$ ORDEPT always requires the same or smaller amount of
shots in comparison to ORBGRAND.

Figure 9: The average number of shots to decode a codeword with shot size $16$
(solid lines) and shot size $256$ (dashed lines) using ORDEPT and ORBGRAND
variants for $\mathrm{CA-Polar}(128,105+11)$.

The BER performance of a $\mathrm{BCH}(256,239)^{2}$ product code decoded
using various component code decoders is presented in Fig. 10. Notably, the
2-line version of ORBGRAND (as well as a simple and 1-line variants not
presented in the figure) exhibits an error floor, primarily attributed to its
limited capability in finding a competitor codeword in over $95\%$ of decoding
attempts, even with a high number of queries set at $Q_{\textrm{max}}=2^{14}$.
In contrast, ORDEPT consistently provides more than one candidate codeword in
over $99\%$ of cases.

ORDEPT with $C_{\mathrm{max}}=2$ exhibits performance which is superior than
the performance of Chase II with $p=5$ for BER above $10^{-6}$. However, for
lower BER values, the performance of ORDEPT degrades, as having only two
candidate codewords becomes insufficient for accurately representing the soft
information. In contrast, ORDEPT with $Q_{\mathrm{max}}=2^{11}$ and
$C_{\mathrm{max}}=8$ outperforms even the more complex Chase II $p=7$ decoder
which needs to identify $128$ codewords through hard-decision decoding. The
figure also depicts the BER performance of Chase II with $p=8$ alongside
ORDEPT employing an adaptive method proposed in [28]. Notably, our proposed
adaptive hybrid method for soft information update shows a gain of $0.09$ dB
over the adaptive Chase II with $p=8$ at a BER level of $10^{-7}$. It is
essential to highlight that this gain from the proposed adaptive hybrid method
is attainable solely through ORDEPT, which provides multiple codewords ranked
by likelihood.

Figure 10: BER of a $\mathrm{BCH}(256,239)^{2}$ product code with soft
iterative decoding. ORDEPT, ORBGRAND and Chase II algorithms are used as
component decoders.

Fig. 11 presents the average number of shots for the case of product code
decoding. The results showcased in this figure highlight the significant
complexity reduction achieved by the proposed decoder, surpassing ORBGRAND by
an order of magnitude. As it is evident, for shot size $Q_{s}=512$, while
2-line ORBGRAND with $Q_{\mathrm{max}}=2^{14}$ requires, in average, around
$70$ shots per component code, ORDEPT variants need at most 10. The reason for
the increase in the last point of yellow curve is that
$Q_{\mathrm{max}}~{}=~{}2^{11}$ is used instead of $Q_{\mathrm{max}}=2^{10}$
since it prevents the occurrence of an error floor. This complexity reduction,
coupled with substantial improvements in BER performance, underscores the
effectiveness of the proposed decoder.

Figure 11: The average number of shots per component code for product code
decoding using shot size $16$ (solid lines) and shot size $256$ (dashed lines)
using ORDEPT and ORBGRAND variants.

BER performances of the $\mathrm{BCH}(256,239)$ based oFEC codes with various
decoders are shown in Fig. 12. Similarly to the product code case, adaptive
ORDEPT with $C_{\textrm{max}}=8$ outperforms the complex Chase II $p=8$
decoder on the oFEC codes. Moreover, the gain of the proposed adaptive-hybrid
method over the Chase II $p=8$ is even more significant and is around $0.075$
dB at BER level $10^{-6}$. While the parameter $C_{\mathrm{max}}=8$ remains
unchanged, the error correction performance slowly improves as
$Q_{\mathrm{max}}$ increases. According to the BER plot, the performances of
the $C_{\mathrm{max}}=8$, $Q_{\mathrm{max}}=2^{12}$ ORDEPT and the
$C_{\mathrm{max}}=8$, $Q_{\mathrm{max}}=2^{14}$ ORDEPT are quite close to each
other. The reason for this phenomenon is that the specified number of
candidate codewords $C_{\mathrm{max}}$ is reached faster than the total number
of queries $Q_{\mathrm{max}}$ and saturates the error correction performance.
The average number of shots, for the shot size $Q_{\mathrm{s}}=256$, required
by ORDEPT for all presented versions is approximately $10$ across all SNRs.

Figure 12: BER for iterative decoding of the oFEC code (3 soft and 2 hard
iterations). ORDEPT and Chase II type algorithm are used as component
decoders.

##  V Conclusion

A new decoding algorithm for binary block codes called ORDEPT that is based on
completion of pre-defined partial error patterns ranked in the order of
likelihood is proposed. A generalization of the algorithm that completes
partial error patterns with more than one error position is also presented.
The numerical results demonstrate that ORDEPT delivers performance
improvements as well as complexity and latency reduction, compared to the
state-of-the-art algorithms. For the case of product-like codes, ORDEPT,
unlike ORBGRAND variants, is capable of finding multiple candidate codewords
and effectively competing with conventional Chase II decoders that necessitate
multiple full hard-decision decoding attempts.

## References

  * [1] Giuseppe Durisi, Tobias Koch and Petar Popovski  “Toward massive, ultrareliable, and low-latency wireless communication with short packets”  In _Proc. of the IEEE_ 104.9 IEEE, 2016, pp. 1711–1726
  * [2] Changyang She, Chenyang Yang and Tony QS Quek  “Radio resource management for ultra-reliable and low-latency communications”  In _IEEE Commun. Magazine_ 55.6 IEEE, 2017, pp. 72–78
  * [3] He Chen et al.  “Ultra-reliable low latency cellular networks: Use cases, challenges and approaches”  In _IEEE Commun. Magazine_ 56.12 IEEE, 2018, pp. 119–125
  * [4] R. Tanner  “A recursive approach to low complexity codes”  In _IEEE Trans. on Inf. Theory_ 27.5, 1981, pp. 533–547
  * [5] Benjamin P Smith et al.  “Staircase codes: FEC for 100 GB/s OTN”  In _Journal of Lightwave Technology_ 30.1 IEEE, 2011, pp. 110–117
  * [6] Alvin Y Sukmadji, Umberto Martínez-Peñas and Frank R Kschischang  “Zipper codes: Spatially-coupled product-like codes with iterative algebraic decoding”  In _2019 16th Canadian Workshop on Information Theory (CWIT)_ , 2019, pp. 1–6  IEEE
  * [7] Mike A Sluysk  “Open ROADM MSA 3.01 W-port Digital Specification (200G-400G)”  In _Acacia Commun. Inc. 3 Mill and Main_ , 2019
  * [8] “Implementation agreement 400ZR”  In _OIF Internetworking Forum_ , March 2020  URL: www.oiforum.com
  * [9] Elwyn R Berlekamp  “Algebraic coding theory (Revised edition)”  World Scientific, 2015
  * [10] David Chase  “Class of algorithms for decoding block codes with channel measurement information”  In _IEEE Trans. on Inf. Theory_ 18.1 IEEE, 1972, pp. 170–182
  * [11] N Tendolkar and C Hartmann  “Generalization of Chase algorithms for soft decision decoding of binary linear codes”  In _IEEE trans. on Inf. Theory_ 30.5 IEEE, 1984, pp. 714–721
  * [12] Hitoshi Tokushige et al.  “Selection of search centers in iterative soft-decision decoding algorithms”  In _IEICE Trans. on Fundamentals of Electronics, Communications and Computer Sciences_ 84.10 The Institute of Electronics, InformationCommunication Engineers, 2001, pp. 2397–2403
  * [13] Hitoshi Tokushige, Marc PC Fossorier and Tadao Kasami  “A test pattern selection method for a joint bounded-distance and encoding-based decoding algorithm of binary codes”  In _IEEE Tran. on Commun._ 58.6 IEEE, 2010, pp. 1601–1604
  * [14] Dmitri Truhachev et al.  “Efficient implementation of 400 Gbps optical communication FEC”  In _IEEE Trans. on Circuits and Systems I: Regular Papers_ 68.1 IEEE, 2021, pp. 496–509
  * [15] Marc PC Fossorier and Shu Lin  “Soft-decision decoding of linear block codes based on ordered statistics”  In _IEEE Trans. on Inf. Theory_ 41.5 IEEE, 1995, pp. 1379–1396
  * [16] Ken R Duffy, Jiange Li and Muriel Médard  “Capacity-achieving guessing random additive noise decoding”  In _IEEE Trans. on Inf. Theory_ 65.7 IEEE, 2019, pp. 4023–4040
  * [17] Erdal Arikan  “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels”  In _IEEE Transactions on Information Theory_ 55.7, 2009, pp. 3051–3073
  * [18] 3GPP  “Technical specification group radio access network; NR; multiplexing and channel coding (release 15)”  In _Technical Report (TR)_ 38, 2020, pp. 212
  * [19] Amit Solomon, Ken R Duffy and Muriel Médard  “Soft maximum likelihood decoding using GRAND”  In _IEEE International Conference on Communications (ICC)_ , 2020, pp. 1–6
  * [20] Ken R Duffy, Wei An and Muriel Médard  “Ordered reliability bits guessing random additive noise decoding”  In _IEEE Trans. on Signal Processing_ 70 IEEE, 2022, pp. 4528–4542
  * [21] Peihong Yuan, Ken R Duffy, Evan P Gabhart and Muriel Médard  “On the role of quantization of soft information in GRAND”  In _arXiv e-prints_ , 2022, pp. arXiv–2203
  * [22] Kevin Galligan, Muriel Médard and Ken R. Duffy  “Block turbo decoding with ORBGRAND”  In _2023 57th Annual Conference on Information Sciences and Systems (CISS)_ , 2023, pp. 1–6
  * [23] Ramesh Mahendra Pyndiah  “Near-optimum decoding of product codes: Block turbo codes”  In _IEEE Trans. on Communications_ 46.8 IEEE, 1998, pp. 1003–1010
  * [24] Alexis Hocquenghem  “Codes correcteurs d’erreurs”  In _Chiffers_ 2, 1959, pp. 147–156
  * [25] Raj Chandra Bose and Dwijendra K Ray-Chaudhuri  “On a class of error correcting binary group codes”  In _Information and control_ 3.1 Elsevier, 1960, pp. 68–79
  * [26] Carlo Condo  “Iterative Soft-Input Soft-Output Decoding with Ordered Reliability Bits GRAND”  In _2022 IEEE Globecom Workshops (GC Wkshps)_ , 2022, pp. 510–515  IEEE
  * [27] Syed Mohsin Abbas, Marwan Jalaleddine, Chi-Ying Tsui and Warren J. Gross  “Step-GRAND: A Low Latency Universal Soft-input Decoder”  In _arXiv:2307.07133v1_ , 2023
  * [28] Shangpeng Deng, Zhiyuan Xiao, Jin Sha and Zhongfeng Wang  “An Adaptive Chase-Pyndiah Algorithm for Turbo Product Codes”  In _IEEE Communications Letters_ 27.4, 2023, pp. 1065–1069
  * [29] Shu Lin and Daniel J. Costello Jr  “Error Control Coding”  Pearson, 2004
  * [30] P. Elias  “Error-free Coding”  In _Trans. of the IRE Professional Group on Information Theory_ 4.4, 1954, pp. 29–37
  * [31] “Open ROADM Proposal Draft”  In _OpenZR+ Specifications version 1.0_ , 2020  URL: www.openRoadm.org
  * [32] Dmitri Truhachev, Michael Lentmaier and Kamil Zigangirov  “On braided block codes”  In _IEEE International Symposium on Information Theory, 2003. Proceedings._ , 2003, pp. 32  IEEE
  * [33] Alberto Jimenez Feltstrom, Dmitri Truhachev, Michael Lentmaier and Kamil Sh Zigangirov  “Braided block codes”  In _IEEE Transactions on Information Theory_ 55.6 IEEE, 2009, pp. 2640–2658
  * [34] Weiming Wang et al.  “Investigation of potential FEC schemes for 800G-ZR forward error correction”  In _Optical Fiber Communications Conference and Exhibition (OFC)_ , 2022, pp. 1–3  IEEE
  * [35] Fu-Gang Wang, Yi Tang and Fan Yang  “The iterative decoding algorithm research of Turbo Product Codes”  In _The International Conference on Apperceiving Computing and Intelligence Analysis Proceeding_ , 2010, pp. 97–100
  * [36] C. Argon and S.W. McLaughlin  “An efficient Chase decoder for turbo product codes”  In _IEEE Trans. on Communications_ 52.6, 2004, pp. 896–898
  * [37] Carlo Condo  “A fixed latency ORBGRAND decoder architecture with LUT-aided error-pattern scheduling”  In _IEEE Trans. on Circuits and Systems I: Regular Papers_ 69.5 IEEE, 2022, pp. 2203–2211