1. Introduction
Context and motivation. It is well known that linear codes over the integer ring modulo
(the
ring) are the natural linear codes for
-ary phase modulation (
-PSK) [
1]. Additionally, Hammons et al. demonstrated in [
2] that certain notable binary nonlinear codes, recognized for their desirable characteristics, can be derived from quaternary codes (codes over
) through the application of the Gray map. These results have led to an increased interest in designing linear codes over finite rings. Several extensions of these codes to
(where
p is a prime and
S is a positive integer) were also developed [
1,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12]. Solé [
3] suggested in 1988 that
p-adic cyclic codes should be investigated [
4]. The generalization of binary duadic codes to the setting of Abelian codes over the ring
was presented in [
5]. Double circulant self-dual codes over
were investigated in [
6]. Generalized Kerdock and Delsarte–Goethals codes over the ring
(an extension of
linear Kerdock and Delsarte–Goethals codes to
) were introduced in [
7]. Convolutional codes over rings were discussed in [
1,
8,
9], and LDPC codes over rings were investigated in [
10,
11,
12].
Codes over rings were used in classical coding systems because of their rate properties [
13,
14,
15], while in today’s systems, they are considered for applications with great secrecy and reliability [
16,
17] requirements. On the other hand, modern codes over rings are being used to improve bandwidth efficiency [
10] and to better combat phase noise [
11,
12] in modern wireless systems. Quaternary Kerdock codes were also used to design MIMO codebooks (i.e., a finite set of precoders shared by the transmitter and the receiver) for limited-feedback precoded MIMO systems [
18,
19]. The proposed Kerdock codebook was shown to have systematic construction, reduced storage, and reduced online search computation [
18,
19]. It is also possible to develop quantum error correction and quantum communication codes from codes over rings, as discussed in [
20,
21].
Research in the field of ring-based code decoding has been a significant topic for many years, during which numerous algorithms for both hard and soft decision decoding, designed to exploit the unique and rich structure of codes over rings, have been introduced. A detailed overview of different decoding algorithms for codes over rings is given in
Section 2. Classical codes over rings are interesting as component codes in product and turbo coding schemes [
16,
22,
23], but one of the main obstacles to their adoption in modern coding systems is the lack of efficient SISO decoding algorithms. As far as we are aware, generalized Kerdock codes do not yet have any soft decoders specifically designed to exploit their unique structure, so the main objective of this study is to address this gap by presenting maximum likelihood (ML) and maximum a posteriori (MAP) decoding algorithms for them. Furthermore, the MAP decoding algorithm is an SISO algorithm, so it allows the use of these codes in modern coding systems. These algorithms will also allow us to develop and evaluate reduced-complexity suboptimal decoding algorithms for generalized Kerdock codes and other related code families in the future.
Contribution. In our previous paper [
24], we developed an SISO MAP decoding algorithm of linear
Kerdock codes with the complexity of
, where
N is the code length of a quaternary code (i.e., the number of quaternary symbols in a codeword). Here, we extend this result to the family of generalized Kerdock codes. In this paper, novel ML and MAP decoding algorithms with a complexity of
(where
N is the code length of a
code) are developed and presented. To the best of our knowledge, these are the first such decoding algorithms for generalized Kerdock codes.
Paper organization. The rest of this manuscript is organized into five individual sections. The literature overview is given in
Section 2.
Section 3 provides the necessary preliminaries.
Section 4 introduces the novel decoding algorithms. Simulation results are presented in
Section 5.
Section 6 concludes the paper.
Notation. In this paper, we employ the same notation as in [
24]. We use bold letters to denote module elements, and by extension vectors, as every vector space is by definition a free module. We use the standard function notation for polynomials. We denote the
i-th component of a module element
or a polynomial
(where
Z is a placeholder variable) as
. Let
and
be two elements of equal length
N. Then, the Hadamard (pointwise) product is defined as
, and the inner product is defined as
. We use uppercase letters to represent matrices, with
indicating the
n-th row of a matrix
X. For convenience, let
represent an element of all ones. We denote the probability of
x as
and the conditional probability of
x given
y as
. We use the standard blackboard bold letters to represent sets of numbers and their associated rings/fields, i.e.,
represents the set of complex numbers,
represents the set of real numbers, and
represents the set of integers. The set of integers modulo
n is denoted as
. Given a set
,
represents the Cartesian square (i.e., the Cartesian product of
with itself), and
represents the
N-ary Cartesian power of
. We use cursive letters to represent codes and other sets. Additional notation will be introduced as and when it is utilized throughout the paper.
2. Literature Overview
A variety of strategies have been used in designing decoders for codes over rings, as mentioned in [
25]. These include the algebraic (syndrome) decoding approach [
26], the lifting decoder technique, introduced in [
27] and extended in [
28], the coset decomposition approach [
29], and the permutation decoding [
25,
30,
31]. Several algebraic decoders of codes over rings were presented in [
2,
32,
33,
34,
35]. A lifting decoding scheme was introduced in [
27,
28]. This algorithm works by sequentially applying the hard decision decoding algorithm of a corresponding
code to the appropriate
p-ary projection of the input and canceling a part of the noise at each step. In this manner, the
decoding algorithm is lifted to work with the corresponding
code. This is a general hard decision decoding algorithm that can be applied to the generalized Kerdock codes. A simple bitwise APP decoding algorithm of
linear codes, based on the lifting decoding scheme, was proposed in [
24]. It was shown in [
24] that in the case of the classical Kerdock and Preparata codes, this decoder has a complexity of
. The Chase decoding of
codes based on the lifting decoder technique was proposed in [
36,
37]. The coset decomposition approach consists of partitioning the code into the subcode and its coset and works for both linear and nonlinear codes. A SISO MAP decoding algorithm of linear
Kerdock and Preparata codes, based on the coset decomposition technique, was introduced in [
24]. A similar approach was used to develop an ML decoding algorithm, of the same complexity, for quaternary Kerdock codes in [
2,
38]. Following the coset decomposition strategy, Davis and Jedwab, in [
13], introduced two distinct algorithms for the decoding of RM-like codes over rings of characteristic 2. The maximum a posteriori (MAP) decoding of linear codes is usually performed via the Bahl–Cocke–Jelinek–Raviv (BCJR) algorithm—a trellis-based MAP decoder, introduced in [
39]. The structure and complexity of the trellis diagram of the classical Kerdock and Preparata codes were investigated in [
40] and [
41], respectively. The complexity of the trellis-based approach is higher than that of the MAP decoder in [
24]. For LDPC codes over rings, a modified message passing is generally used [
10,
42].
3. System Model
Integer Modulo Rings. Let operators + and · represent addition and multiplication in
. Every
has a unique dyadic expansion (representation)
Using the notation introduced in [
27], let
,
, represent the projection of
onto the ring
, defined as
where the first equality follows from the fact that the remainder when dividing by
is defined by the first
s terms of the dyadic expansion, i.e.,
It is clear that
and
for all
.
It is easy to see that for every positive integer
, every element
is also an element of
. Notice that multiplying some number
by
,
, is equivalent to first projecting the number
z onto the
and then multiplying it with
, where the multiplication is conducted in
, i.e.,
.
Additionally, given
and some
,
where ⊕ represents addition in
.
Similarly, we have
where ⊗ represents multiplication in
.
Using these relationships, we can formally define a natural ring epimorphism [
27] as
for
. Additionally, for
, there exists a group embedding
with the image
. The unique preimage of an element
is denoted by
[
27].
Galois Rings. Let
represent a Galois ring of characteristic
and order
. It can be defined as a quotient ring
where
represents a polynomial ring over
and
is a monic polynomial of degree
d that is irreducible over
(i.e., it does not factor as a product of nontrivial polynomials). This means that the elements of
can be represented as polynomials over
, of degree at most
d, and addition and multiplication are performed modulo the polynomial
. The polynomial
may be found using Graeffe’s method [
2], which is used for finding a polynomial over
whose roots are the
S-th power of the roots of a corresponding polynomial over
.
Let
be a primitive irreducible polynomial of degree
d. There exists a unique monic polynomial
of degree
d such that
, and
divides
, where
[
2]. Following Graeffe’s method, we first divide the
into polynomials
and
, such that
, and
contains only even powers, while
contains only odd powers. Polynomial
is given by
We can repeat this process multiple times in order to obtain for some .
Example 1. Consider the polynomial . We divide intoand As , we havewhere is used to ensure that we have a monic polynomial. In both cases, we have . We can repeat this procedure to obtain Notice that , for any positive integer . This follows directly from the construction method, as is obtained from , which is obtained from , i.e., .
We can extend the previous integer modulo ring relationships to Galois rings. Given a ring element
, let
where
is the Galois ring generated by the monic irreducible polynomial
. This is a trivial extension that follows from the fact that the modulus operation is applied elementwise. Similarly, we have
Moreover, for every fixed
d, there is a ring homomorphism (i.e., a function that preserves the ring operations)
for each
S, having kernel
[
43]. We call this homomorphism a natural projection of ring
onto the ring
, and we define it as
Notice that the ring
is equivalent to the polynomial ring
modulo monic irreducible polynomial
. This definition can easily be extended to the projection of the ring
onto the ring
, denoted
, for some
.
Let + and · denote addition and multiplication in
, and let ⊕ and ⊗ denote addition and multiplication in
for some
. Then, the following relationships naturally follow from the definition of projection:
The natural projection maps the ring to the Galois field , generated by the primitive polynomial .
Every Galois ring has a primitive element,
, such that
. Given the Teichmüller set
, every element
has a unique “multiplicative” representation [
7]
The Frobenius map
is the ring automorphism defined as [
2,
7]
The relative trace from
to
is defined as [
2,
7]
Notice that
represents the usual trace from
to
, defined as
Some useful properties of the relative trace are the following [
44]:
, for all ;
for all , ;
, for all .
The projection of
also has a unique “multiplicative” representation, given by
where
is the root of the monic irreducible polynomial
and
. Given the canonical projection homomorphism
, defined as the mod-2 reduction, the following commutative relationships can easily be verified [
2,
44]:
Generalized Kerdock Codes. The generalized Kerdock code over
, of dimension
and length
, introduced in [
7], is defined as a set
of all valid codewords. A sequence
is a codeword in
if and only if, for some
and
,
with a standard convention of
.
The information pair represents the information sequence of length (consisting of d coefficients of the polynomial plus symbol ).
Theorem 1. The binary image of the generalized Kerdock code is the first-order Reed–Muller code of length , the code.
Proof. The quaternary projection of the code
is given by
where
is applied componentwise. Every code symbol
,
, is given by
Using the properties of the projection map and the relationship between the natural projection and the relative trace, Equation (
7) can be rewritten as
where
is the root of
,
is an element of the Galois ring
, generated by the monic irreducible polynomial
, and
. The operator ⊗ represents multiplication in
. This is the definition of the quaternary Kerdock code, as presented in [
2].
The projection of the generalized Kerdock code onto
is the corresponding classical quaternary Kerdock code. It is well known that the binary image of the Kerdock code (the
projection) is the
code [
2,
24]. This is also true for the generalized Kerdock code, i.e.,
. □
Permuting the coordinates of a code produces an equivalent code [
26]. Consider a permutation
, where
. For any codeword
, we can define a codeword
that belongs to the equivalent generalized Kerdock code defined by
. Let
be generated by an information pair
. Then,
is defined as
If the
code is constructed by taking the rows of the binary Sylvester-type Hadamard matrix (a binary matrix obtained from a regular Sylvester-type Hadamard matrix, by replacing the 1’s with binary 0’s and
’s with binary 1’s) and their complements as codewords, it is possible to use the fast Hadamard transform for decoding [
24,
26]. In the remainder of the paper, we will assume that the permutation
is chosen so that the associated binary code of the Kerdock code is the
code, constructed in this way. This makes applying the fast Hadamard transform possible, significantly reducing the decoding complexity. Permutation
can be found beforehand using the Hungarian algorithm [
45] and does not affect the decoding complexity of the proposed algorithms.
Channel model and decoding. Let
,
, be a random
-PSK-modulated codeword of a generalized Kerdock code
, transmitted over the AWGN channel. The modulation mapping is defined as
and it naturally extends to vectors. Furthermore,
Let
be the output of the complex AWGN channel, defined by the conditional probability
where
represents the modulus of a complex number.
If all codewords are equally likely and the channel is memoryless, the ML decoder is optimal in terms of minimizing the word-error probability. Given the channel output
, the ML decoder proceeds to find the codeword
that maximizes the
, where
, i.e.,
It is well known that the ML decoder can be implemented as the minimum distance decoder,
where
represents the norm of a complex vector.
Consider the term
in Equation (
10),
where
represents the complex conjugate and ℜ represents the function that extracts the real part of a complex number. By substituting (
11) in Equation (
10), we obtain
The terms
and
can be ignored (
is fixed, while
is the same for all codewords because of the PSK modulation), so the ML decoder can be implemented as the correlation decoder, where we compute the correlation between the complex conjugate of all possible modulated codewords and the channel output and we select the codeword
that corresponds to the highest correlation, i.e.,
where
, and the last equality follows from the fact that the sum of the real part of complex numbers is equivalent to the real part of the sum of complex numbers.
Example 2. Consider the transmission of a single quaternary symbol over the AWGN channel. As , we select the QPSK modulation scheme, shown in Figure 1, for transmission. For simplicity, the complex numbers are represented as points in the Euclidean plane, where the first coordinate corresponds to the real part of a complex number, and the second coordinate corresponds to the imaginary part of a complex number.
The modulated symbol is sent over the AWGN channel, where Gaussian noise is added to every coordinate independently, and the channel output is received. At the receiver, we compute the squared Euclidean distance between the channel output and every constellation point and select the closest one, i.e., we compute Notice that when using the complex notation, this decision rule is given by the real part of the product of the complex channel output and the conjugate of a complex constellation symbol.
The MAP decoder operates on a bitwise basis and is optimal in terms of minimizing the bit-error probability. Given the corresponding channel output
, the MAP decoder proceeds to find [
24,
46]
where
represents the set of all codewords that have symbol
in position
j, for all
. The MAP decision is by definition
The MAP decoder is well suited for use in a concatenated coding scheme, where we exchange soft messages between different coding blocks.
5. Simulation Results
In this section, we present the simulation results of our novel decoding algorithms and compare them to the existing techniques in terms of their error-correcting performance. As these decoders are polynomial algorithms, we limit ourselves to short-length (where code length is given as the number of
symbols) codes over
,
, and
. Let
represent a generalized Kerdock code of length
, over the ring
, defined in terms of the irreducible monic polynomial (
) used to design an extension ring, as presented in
Section 3. We also include some classical Kerdock codes, as they also fall into the family of the generalized Kerdock code. These codes are the
code defined by
, the
code defined by
, the
code defined by
, the
code defined by
, the
code defined by
, and the
code defined by
.
All simulations were conducted for the additive white Gaussian noise (AWGN) channel. Additionally, every code was coupled with a corresponding
-PSK modulation, as there exists a natural straightforward mapping of code symbols onto the PSK symbols (Equation (
8)). We assessed the performance of our decoding algorithms by estimating the frame error rate (FER) and symbol error rate (SER) as a function of energy per bit to noise power spectral density ratio (
) and comparing it to the classical lifting decoder [
27]. The classical lifting decoder can be applied to generalized Kerdock codes without modification, but it has a higher error probability, as it is a suboptimal hard-input hard-output (HIHO) decoder. This decoder was implemented as an
S-stage decoder, where each stage uses the minimum Hamming distance decoder of the associated binary
code. As the minimum Hamming distance decoder of the
code can be implemented with a complexity of
, the total complexity of the classical lifting decoder is
. This complexity is significantly lower than that of the novel algorithms developed in this paper, but so is its error-correcting performance. FER and SER were estimated using the Monte Carlo simulation method with a relative precession
, for a range of
points, with a step of
.
We assume that the ML decoder will make a mistake if the correct codeword is further away from the channel output than some other codeword (e.g., the output of some not-necessarily-optimal decoding algorithm) in terms of the Euclidean distance [
24]. We can simulate the lower bound on the ML decoding by counting the number of times the Euclidean distance between the channel output and the correct codeword is greater than the distance between the channel output and the decoded codeword. This bound becomes tight as
increases. We compare the FER performance of our novel ML and MAP decoders with the ML bound (
Figure 2) and see that they perfectly coincide. This indicates that our novel algorithms are optimal in terms of FER, as was expected.
Figure 3 presents the FER of various generalized Kerdock codes using the novel ML decoder, and
Figure 4 shows the SER of different generalized Kerdock codes using the novel MAP decoder. We notice that the error-correcting performance improves with code length, while it decreases with base ring size. This is expected behavior, as the error-correcting performance of the code should increase with
N, while the increase in the constellation size means that the modulation symbols are closer together and are more susceptible to noise, and this leads to an increase in the probability of error.
Figure 5 shows the SER of different generalized Kerdock codes using the novel MAP decoder and the classical lifting decoder. We see in
Figure 5 that the MAP decoder exhibits a gain of some
when compared to the classical lifting decoder. This is expected, as the novel MAP decoder is an optimal SISO decoding algorithm, while the lifting decoder is a suboptimal HIHO decoding algorithm.