Multirate Filter Bank Representations of RS and BCH Codes

This paper addresses the use of multirate ﬁlter banks in the context of error-correction coding. An in-depth study of these ﬁlter banks is presented, motivated by earlier results and applications based on the ﬁlter bank representation of Reed-Solomon (RS) codes, such as Soft-In Soft-Out RS-decoding or RS-OFDM. The speciﬁc structure of the ﬁlter banks (critical subsampling) is an important aspect in these applications. The goal of the paper is twofold. First, the ﬁlter bank representation of RS codes is now explained based on polynomial descriptions. This approach allows us to gain new insight in the correspondence between RS codes and ﬁlter banks. More speciﬁcally, it allows us to show that the inherent periodically time-varying character of a critically subsampled ﬁlter bank matches remarkably well with the cyclic properties of RS codes. Secondly, an extension of these techniques toward the more general class of BCH codes is presented. It is demonstrated that a BCH code can be decomposed into a sum of critically subsampled ﬁlter banks.


INTRODUCTION
Multirate filter banks have long been known to be powerful tools for image and audio processing [1], for example, in video/audio compression [2, Chapter 14].Recent work by, for example, Scaglione et al. [3] demonstrates the usefulness of filter banks in communication systems.Many modulation schemes, including CDMA, OFDM (DMT), and TDMA, can actually be viewed as filter banks that build input diversity (add redundancy) at the transmitter.In this paper, filter banks are used in yet another application, namely, as errorcorrecting codes.In [4,5], it is shown that oversampled filter banks are robust to subband errors and erasures.More specifically, in these papers, the resilience of filter banks (frame expansions) to subband erasures is studied.This resilience is a result of the redundancy introduced by the filter bank representation.Therefore, oversampled filter banks can readily be used as error-correcting codes (see [6][7][8][9]).In [6,7], the main idea is to construct a parity check polynomial matrix corresponding to an oversampled filter bank.
There is, however, an important distinction between this work and the literature mentioned so far; the filter banks discussed in this paper operate in a finite field (Galois field) and represent Reed-Solomon or BCH codes.Filter banks that add redundancy with the explicit purpose of error correction and that work in finite fields were also addressed by Fekri et al. [10].Recently, we developed a critically subsampled filter bank representation of RS codes, which is the starting point in building a novel SISO RS decoder [11,12].As a second application, RS codes have been merged with OFDM modulators, leading to a novel transmission scheme, called RS-OFDM [13], in which part of the RS code contributes to the OFDM modulator.Both applications rely extensively on the critically subsampled filter bank representation of RS codes.The goal of this paper is to present an in-depth study of the link between filter banks and error-correcting codes, opposed to the previous work where the focus was shifted towards the applications.Moreover, in this paper, a novel way to describe the correspondence between filter banks and RS codes is developed using a polynomial description.This approach has two important advantages.Firstly, it allows us to give a compact description of both filter banks and RS codes, and also to gain more insight in the link between the cyclic character of an RS code and the periodically time-varying character of a critically subsampled filter bank.Secondly, it allows us to extend the filter bank decomposition from RS codes to the broader class of BCH codes.Hence, applications like filter-bank-based soft decoding [11] can be envisaged to work for BCH codes as well.
To fully understand the multirate signal processing aspects of the filter banks used here, we start with a discussion of short-time Fourier transform (STFT) filter banks [14].These filter banks are known to provide cheap realizations of linear filtering operations.The filter banks are then explicitly designed to ensure that a linear timeinvariant (LTI) system is realized.However, if the subsample factor is increased, the filter bank behaves as a linear periodically time-varying (LPTV) system, as explained in [15].While this is usually considered as an undesirable artifact, it is this periodicity that is exploited in this paper.Moreover, it is proven that when the subsample factor is increased to the point where the filter bank becomes critically subsampled, its impulse response at different time instants has some property that resembles a cyclic shift.Combined with the inherent cyclic character of RS codes, this leads to a remarkable correspondence between critically subsampled filter banks and RS codes.It is not surprising that there exists a relationship with the quasicyclic character of certain codes, for example, RS codes with noncoprime length and dimension [16].Remarkably, the filter bank representation also exists for codes that are not naturally quasicyclic by virtue of their dimension-to-length ratio.
As a final remark, note that the use of an STFT filter bank is not very surprising, seen the relation between RS (BCH) codes and the DFT.Since the publication of the seminal paper of Wolf [17], the relation between the DFT in the complex field and RS (BCH) codes has been extensively studied [18,19].In [20,21], subspace-based methods are applied to simplify decoding of real valued codes.Again, these results are obtained in the complex field, rather than in the Galois field used in this paper.
The paper is structured as follows.In Section 1, the STFT filter bank is reviewed.Based on [14], the condition for a time-invariant filter bank is recalled in Section 2. In Section 3, our main theorem states how to construct a critically subsampled filter bank implementing an RS code.In Section 4, this result is then extended to BCH codes, which can be broken into a sum of critically subsampled filter banks.

Notation
Lower/upper case bold-face symbols represent vectors/matrices, respectively.The ith element of a vector a is denoted with a[i] and the i, jth element of a matrix A is denoted with and B[ν, κ] denote an RS code and a BCH code, respectively, of length ν and dimension κ. u(z −1 ) and y(z −1 ) denote dataword and codeword, respectively.A finite field of order q (Galois field) is denoted as F q .An nth root of unity in a finite field is denoted as α n .a | b denotes "a divides b."

FILTER BANKS AND LINEAR TIME-INVARIANT SYSTEMS
Multirate filter banks essentially work in a block oriented fashion, that is, the data are divided in blocks of N (with N the subsampling) and are processed accordingly.These schemes became popular with the invention of the DFT and its fast FFT implementation.Filter banks that calculate the DFT of subsequent data blocks are referred to as STFT filter banks.In this section, some basic facts of STFT filter banks are recalled to provide a clear understanding of the rest of the paper.Since error-correcting codes in the Galois field (GF) are targeted, we will use this opportunity to present the GF counterpart of STFT filter banks in the complex field.In this context, α q−1 represents a primitive q − 1-st root of unity in F q .An M ×M DFT matrix only exists in F q if M divides q −1, in which case an Mth root of unity α M exists, for example, . Often, a sum L−1 l=0 is denoted as l if the indices can be easily derived from the context.
Consider a general multirate system as shown in Figure 1, operated in F q with M bands and subsampled by N. In the case of an STFT filter bank, the analysis bank consists of the following filters: where the prototype filter a(z −1 ) is defined as follows: Similarly, the synthesis bank filters are defined as with This scheme is well known for its fast convolution properties and is referred to as the overlap-add scheme.Swapping synthesis and analysis bank leads to the overlap-save counterpart.As we will recall below, this filter bank can implement an exact linear filtering when correctly designed.This explanation closely follows the approach of [14].
Let us define the subband filters as follows: The filters b l (z −1 ) are seen to play an important role later.The latter relation can be inverted, leading to Considering an input u(z −1 ) = z j with j ∈ {0, . . ., N − 1}, the analysis bank mth band output is x 0 (z −1 ) x 2 (z −1 ) This signal is filtered with d m (z −N ) (because of the upsampling with N) and fed into the synthesis bank yielding an mth band output The filter bank output y(z −1 ) is obtained as the sum over all bands: Looking closely to the double sum, it is seen that the only non-zero terms are those with m = l + N − 1 − j, due to the orthogonality of the roots of unity.Indeed, if m / = l+N−1− j, the inner summation (over m) equals zero.Therefore, which indeed represents a linear filtering operation.Note that if } is used to illustrate our techniques.A (nonsystematic) codeword is obtained as the multiplication of the dataword u(z −1 ) with the generator polynomial g(z −1 ): With Choosing M = 3 ≥ L + N − 1, the subband filters d m (z −1 ) are calculated according to (5) leading to the filter bank shown in Figure 2. Note that the first N − 1 all-zero output samples should obviously be ignored (see also (10)).

CRITICALLY SUBSAMPLED FILTER BANKS AND CYCLIC CODES
In this section, it is explained how the LTI system described in Section 2 transforms into an LPTV system if the condition M ≥ N + L − 1 is not met.This is the basic step in understanding the link between some cyclic codes and their filter bank representations.Assume the subsample factor N is too large such that In this case, the only nonzero terms are those with m = l+N −1− j mod M. Note the modulo operation that is added such that 0 ≤ m ≤ M − 1. Equation (10) becomes This means that for j = 0, . . ., d − 1, the last d − j coefficients are folded back.Hence, this multirate system has different impulse responses on different time instants j that repeat periodically, and so indeed realize an LPTV system.In a coding context, this characteristic is often referred to as cyclic.
As will be shown, there is a strong link between critically subsampled filter banks and cyclic codes such as RS and BCH codes.
Example 2. Assume M = 3 and L = 2 as in the previous example.If N is increased to 3 (critically subsampled), then and the following impulse responses are obtained: Note that b 1 is folded back onto z −0 .
For the applications mentioned in Section 1, it is crucial that the filter banks are critically subsampled, that is, that the number of bands M equals the downsampling factor N. Hence, the condition M ≥ L + N − 1 is indeed violated.Therefore, while critically subsampled filter banks are not of much interest if a cheap implementation of a linear filter is aimed for, it is shown in this paper that such filter banks are exceptionally well suited to implement RS codes and some other cyclic codes.
Theorem 1.Let R[ν, κ] be an RS code over F q of length ν = q − 1.Consider an STFT-based critically subsampled filter bank with M bands (M divides ν), subsampled by N = M and with analysis and synthesis bank (resp., a m (z −1 ) and c m (z −1 )) as defined in (1) and (3).If the roots α r q−1 of R[ν, κ] are distributed over the subband filters, according to then this filter bank implements the RS code R[ν, κ].
Proof.Since M divides ν, let us define the shortcut notation the following relation holds (see ( 6)): The proof will consist in showing that the filter bank output for every u(z −1 ) = z j , for all j ∈ {0, . . ., N − 1} is a codeword of the original RS code, up to an interleaving.This done in two steps.In the first step, the filter bank output for u(z −1 ) = z N−1 is considered: Interleaving this y(z −1 ) gives Now, it is shown that y Π (z −1 ) is a codeword of R[ν, κ] by calculating its Mattson-Solomon polynomial Δ: This can further be simplified by noting that the double sum is nonzero only if m = m , similar to (10): The second step consists in showing that for all u(z −1 ) = z j , j = 0 : N − 1, the output of the filter bank belongs to R[ν, κ].In general, y(z −1 ) is given by (14).Interleaving (same interleaver) results in This is a codeword too because it is the original codeword (see (20)) cyclically shifted by ν (N − 1 − j), which proves the theorem.The only role of the interleaver is to transform the cyclic character modulo 1 − x M of the filter bank into the cyclic character of the RS code modulo 1 − x ν .
Hence, the construction of a filter bank representation for an RS code is very simple.The roots of the subband filters d m (z −1 ) correspond to a well-defined subset of the roots of the RS code.In this fashion, the roots of the RS code are distributed among the subbands, each containing a smaller so-called subband code.
Note that the first subband filter is a non-primitive B [5,3] code in F 2 4 with α 3  15 a primitive 5th root of unity.It is also cyclic and if ν were not prime, the procedure can be applied recursively.The other subband filters are not cyclic.However, a filter bank can be found for them too, but this is out of the scope of this paper.The next section will further focus on BCH codes.
Secondly, note that this structure can be seen as a generalization of the quasicyclic structure of an RS code as found by Solomon and van Tilborg [16].If M and κ are coprime, this quasicyclic structure does not exist, however the critically subsampled filter bank does exist.If M divides κ, the filter bank exactly implements the quasicyclic structure.For example, if M = 5 is chosen (see Figure 4), it can be verified that this filter bank explicitly implements the quasicyclic structure of the RS code as described in [16].

FILTER BANK REPRESENTATIONS FOR BCH CODES
In the previous section, it is shown how the cyclic character of the RS code modulo 1 − x ν is transformed by the filter bank into a cyclic character modulo 1 − x M , with M | ν.This condition is seen to be a crucial element in the derivation since, for RS codes, ν = q − 1 and thus M | q − 1.The latter guarantees that an M-point DFT exists in F q .For the more general family of BCH codes, ν can differ from q − 1 such that M | ν no longer guarantees the existence of an M-point DFT in F q .This section deals with filter bank representations for BCH codes.

Filter bank representation in an extension field
Let B[ν, κ] be a BCH code in F q .Let n be the multiplicative order of q modulo ν, that is, n is the smallest integer such that x ν −1 | x q n −1 −1.Let α ν ∈ F q n be a primitive νth root of unity in F q n .Let M be a common divisor of ν and q n − 1 with M and q − 1 coprime.Unless ν is prime, this is always possible since ν | q n − 1.In the extension field F q n , the M-point DFT transform exists, so that the filter bank representation of B[ν, κ] can readily be constructed in the extension field, according to Theorem 1.
The filter coefficients in this filter bank are powers of α 10 .
Unfortunately, α 10 / ∈ F 3 2 .This imposes problems if the filter bank is used in the applications mentioned in Section 1; for example, the complexity of a SISO RS decoder based on the extension field filter bank is more complex than its counterpart in F q Section 4.2 deals with a transformation of the filter bank in F 3 4 to a filter bank in F 3 2 .

Transforming the filter bank from F q n to F q
Before tackling this general problem, let us first investigate how a single element of F q n can be decomposed into elements of F q .Any set λ of linearly independent elements of F q can serve as a basis for F q n [22].For example, if the field F p m (p prime) is constructed starting from F p using a primitive polynomial P (x), the normal basis λ = [1 α q−1 α 2 q−1 • • • ] is used.However, also other bases can be used.What is needed is a mathematical tool that allows us to easily decompose elements of a Galois field along a specified basis.This tool is called the trace [22].Definition 1.The trace of a ∈ F q n from F q n to F q is defined as This is a useful property for decomposing an element a along a specified basis λ ], as we will see.First, we define the complementary basis.A basis λ = with δ i j the Kronecker delta.Each element a ∈ F q n can now be written as [22] with Two properties of the trace will be used here: Example 5.As an example, the trace can be used to obtain the polynomial representation of, for example, a = α 5 8 ∈ F 3 2 defined by P (x) = x 2 + 2x + 2. The complementary basis λ of the normal basis λ = [ 1 α 8 ] is calculated: (33) According to (29), α 5 8 = 0•α 0 8 + 2•α 1 8 which can be easily verified.
Let us now investigate how elements in F q n can be multiplied using F q arithmetic.This leads to an extension of the concept of a trace.Assume a, b, c = a•b ∈ F q n .Using (29), a and b can be decomposed as follows: (34) Using (30) and assuming a normal basis (λ[i] = α i q n −1 ), the ith coordinate of c becomes  The last equation is obtained using the properties of the trace in (31).The inner sum will be denoted in a special way: Using this notation, (35) becomes As can be verified, λc = c = α 34 80 .
All necessary notation is now defined to properly state the theorem.Theorem 2. Let B[ν, κ] be a BCH code in F q .M is a common divisor of ν and q n − 1.Let a m (z −1 ), d m (z −1 ), and c m (z −1 ) be the analysis, subband, and synthesis filters of a critically subsampled filter bank over F q n , as defined by (1), (16), and (3), respectively.Then B[ν, κ] can be implemented as a sum of n critically subsampled filter banks over F q .The analysis and synthesis banks of the n th filter bank (n = 0 : n − 1, band m) are defined, respectively, as a m {n ,0} (z −1 ), c m {0,n } (z −1 ).The subband filters d m (z −1 ) are the same for each filter bank: a [1] . . .
a solution of the following system of equations: (Given a polynomial a(z −1 ), ab(z −1 ) denotes the polynomial with each coefficient raised to the power b.) Proof.Considering an input u(z −1 ) = z j with j ∈ {0, . . ., N − 1}, the filter bank output (impulse response) for B[ν, κ] can be written as

CONCLUSION
This paper presents an in-depth investigation of filter bank representations for RS and BCH codes, motivated by a number of applications presented earlier.STFT filter banks are the starting point.In most applications, these filter banks are explicitly designed to ensure a linear time-invariant operation.However, if the subsample factor is increased, the filter bank acts as a periodically time-varying system.Although this is normally considered as an undesirable artefact, it is this periodicity that is exploited to build critically subsampled filter bank representations for the family of RS codes.In this case, a proper distribution of the roots of the RS code over the subbands is the key element in constructing such a filter bank.In the more general case of a BCH code, similar filter bank structures exist.The same techniques used for RS codes can first be applied to obtain a critically subsampled filter bank representation in an extension field.Finally, it is explained how this filter bank can be transformed from the extension field into the base field.

Figure 1 :
Figure 1: Overlap-add filter bank with M bands and N-fold subsampling.

Figure 5 :
Figure 5: Critically subsampled filter bank representation over F q n of the BCH code B[10, 5].