Maximum Runlength-Limited Codes With Error Control Capabilities
Maximum Runlength-Limited Codes With Error Control Capabilities
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 19, NO. 4, APRIL 2001
I. INTRODUCTION AXIMUM runlength-limited sequences have the property that long runs of consecutive like symbols do not occur. Maximum runlength-limited codes, in short, MRL codes, codes in NRZI notation [1]. A are equivalent to code is a set of binary sequences (codewords) with the property that at least 0 and at most zeros occur between two consecutive ones. In NRZI, a one corresponds to a reversal and a zero to a nonreversal of the polarization in a binary differential signaling scheme. The parameter defines the maxcodes are used imum distance between transitions. The in recording systems [1], [2] and in digital communications systems as line codes for clock recovery or to align fixed and variable length data packets, also known as frame synchronization. Frame synchronization can be achieved by converting user insequence of length , which is prefixed formation into a of length to uniquely identify by the sync word the beginning of each frame [3]. constraints are typically Long sequences that fulfill constructed by concatenating the codewords of a block code, where and denote the maximum number of
Manuscript received March 1, 2000; revised August 28, 2000. This work was supported in part by the German Science Foundation DFG. Parts of the material in this paper have been presented at the IEEE Global Telecommunications Conference GLOBECOM96, London, U.K., November 1996, and at the 1998 IEEE International Symposium on Information Theory, Boston, MA, August 1998. A. J. (de Lind) van Wijngaarden was with the Digital Communications Department, Institute for Experimental Mathematics, University of Essen, Essen, Germany. He is now with Bell Laboratories, Lucent Technologies, Murray Hill, NJ 07974 USA. K. A. Schouhamer Immink was with Philips Research Laboratories, Eindhoven, The Netherlands. He is now with the Digital Communications Department, Institute for Experimental Mathematics, University of Essen, 45326 Essen, Germany. Publisher Item Identifier S 0733-8716(01)01754-1.
leading and trailing zeros of a codeword ( ). In codes are often constructed with look-up practice, tables or combinatorial circuitry [1], [2], [4], [5]. The rate is typically 8/9 and sometimes 16/17. The introduction of higher rate codes is hampered by the coding complexity, latency, and error propagation. In data networks, the bit-stuffing procedure [6] is widely employed. The drawbacks of this method are the data-dependent codeword length and error propagation [7]. Recently, algorithmic conversion methods based on enumeration [3], [8], [9] and on the sequence replacement technique [10], [11] have been proposed. These algorithms have a computational complexity proportional to the length of the codewords and attain the achievable rate for the given constraints. codes are usually not designed to correct The transmission errors. Errors that transform the transmitted word into a noncodeword can be detected, but this is insufficient for reliable error control. Due to the variety of error types and their statistics for a particular communication channel, it is not practical to design a specific code for every possible constraint and error control requirement. Instead, we use existing constrained coding algorithms and error control codes. We propose to convert user information into a constrained sequence, preferably by using a very efficient coding algorithm [11], [12], and to protect the resulting sequence using a systematic error control code [13]. We present special techniques to add the error control information, i.e., the parity check bits, without violating the imposed constraints. In Section II, we describe the properties of MRL sequences, and in Section III, we propose three combined modulation and error control coding schemes. In Section IV, we present enumerative techniques for the analysis and construccodes with additional constraints to faciltion of itate error control. In Section V, we propose several combinatorial constructions of specific high-rate constrained codes. In Section VI, the methods are applied to the class of codes [2], [14], which fulfill global constraints as well constraints for the two interleaved subsequences of elas ements with odd and even indexes, respectively. The codes arise in the context of coding for channels with a impulse response, also known as PRML channels, to aid timing and gain recovery and simplify the design of the Viterbi detector for the PRML channel [2]. Concluding remarks are given in Section VII. II. MAXIMUM RUNLENGTH-LIMITED SEQUENCES To describe the properties of the techniques for constrained and error control coding, we need to introduce some notation. denote the set of sequences of symbols from the Let
VAN WIJNGAARDEN AND SCHOUHAMER IMMINK: MRL CODES WITH ERROR CONTROL
603
binary alphabet . A sequence is represented as a of length . The concatenation string of symbols and is denoted by , and of two sequences denotes a set of sequences of length with prefix and suffix , where . . The null string, denoted Similarly, . by , represents a string of length 0 for which A run of consecutive symbols is written as . We use and to denote any element of and , respectively. can be or1) Lexicographical Order: Any set in the dered lexicographically by sorting the elements of is following way [9]. The sequence , in short, , if and smaller than exists, such that for any only an index , , and . Let be the set . of the set is The cardinality (1) denotes the cardinality of the set The function idx and, thus, corresponds to the position of in the lexicographically ordered set . The function is, therefore, called the index function of the set idx . The inverse operation idx returns the th ele. ment of the lexicographically ordered set denote the set 2) MRL Constrained Sequences: Let of binary sequences of length that fulfill the constraint. This set can be written as [3] (2) The disjoint subsets lations. For are determined using recursion re, , and for , . For , satisfies the recursion relation (3) It follows that the cardinality of the set , is determined by two equations if if if and (4) Coding algorithms based on enumeration can be directly applied [12], [15]. 3) Constrained and Unconstrained Positions: Consider . The positions of the sequence a code , denoted by
that determine whether is an element of are called the ; the other positions are constrained positions of the code called the unconstrained positions. The symbol values at the unconstrained positions can be chosen or changed arbitrarily, and the resulting sequences are guaranteed to be elements of . Let and denote the respective ordered sets of unconstrained and constrained positions of . The relative location of the unconstrained and the constrained can be specified by a string of length positions of the code , consisting of characters and characters. This notation has the advantage that the relative location of the constrained and unconstrained positions is clearly visible. For example, the code
has two unconstrained positions (the third and the fifth) and and three constrained positions. Thus, and can be represented by . The is . profile of and as the set of all sequences in We define and of . Note that the respective positions , and that is determined by , because . The cardinality of according to the definitions, is equal to . For the above example, we have and . 4) Code Efficiency: For practical applications, it is often not necessary to use the entire code set. Usually, an -bit source word has to be converted into a codeword of length . This imshould be fulfilled. The replies that the inequality of length is defined as the dundancy (in bits) of a code . Consequently, the rate of the quantity . code is given by III. ERROR CONTROL CODING SCHEMES The objective is to develop schemes to provide constrained sequences with effective error control capabilities. We propose three schemes that convert user information into constrained sequences and add error control information without violating the imposed constraints. The schemes have the common characteristic that an MRL constrained code is used prior to an error control code, as shown in Fig. 1. Such schemes are referred to as CCEC schemes to indicate the order in which the constrained code and the error control code are applied.
604
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 19, NO. 4, APRIL 2001
The proposed schemes are in contrast to the typical approach employed in recording and communication systems, where every source word is encoded into a codeword of an error control code and successively converted into a constrained sequence [16]. At the receiver, the constrained sequence must be decoded first, and the resulting decoded sequence is checked for the presence of errors using the error control code. A major disadvantage of these so-called ECCC schemes is error propagation. The codewords of the constrained code that are affected by transmission errors may be decoded incorrectly, causing burst errors in the decoded sequence. Hence, the error correcting code must be a burst correcting code [13], even when noise in the channel is dominated by random errors. It should be noted that in general, more redundancy is needed to correct burst errors than to correct random errors. The ECCC scheme requires the wordlength of the constrained code to be small to restrict error propagation. Typical block codes such as the rate 8/9, (0, 3, 1, 2) code [17] convert 8-bit source words into nine-bit codewords using a look-up table or a combinatorial circuit consisting of a few logic gates. In this case, error propagation is limited to one byte, and this allows the restoration of the codewords by using byte-oriented ReedSolomon codes that can correct multiple byte errors in a codeword at high speed [2]. The proposed CCEC schemes avoid error propagation by first checking for transmission errors before decoding the constrained sequence. The choice of a particular systematic error control code depends mainly on the channel type, the relative error statistics, the required error detection and/or error correction capabilities, and the required level of reliability of the received data after decoding. The schemes facilitate the usage of soft decision and other side information, e.g., violations of the imposed constraints. As long as the error correcting capabilities are not exceeded, there will not be any errors left in the constrained sequence. The restriction of employing small constrained block codes can therefore be dispensed with. The proposed CCEC schemes use several methods to insert the check symbols of the systematic error control code in the constrained sequence without violating the imposed constraints. A. CCEC Scheme I The first scheme that we will consider is a three-step constrained coding and error control coding scheme. The block diagram of this scheme, which is shown in Fig. 2, is similar to the schemes proposed in [12], [15], [18][20], and references therein, but by applying this scheme for the protection of codes, important modifications can be made. This scheme converts source words into constrained codewords in three successive steps. Let be the length of the source word. In the first stage, a source word of length is converted sequence of length , which is in the into a second stage protected against errors by using a systematic error parity check bits of the error control code control code. The constrained seare separately converted into a and appended to form a quence of length constrained sequence of length .
Fig. 2. Block diagram of CCEC Scheme I, a three-step modulation and error control coding scheme to convert source words into constrained sequences. First, a source word is converted into a (0; k; k ; k ) MRL sequence. Second, a systematic error control code (ECC) is used and the corresponding parity check bits are determined. Third, the parity check bits are converted into a (0; k; k ; k ) MRL sequence to fulfill the maximum runlength constraints.
The parity check sequence of length has to be carefully converted into a constrained sequence to avoid or at least to limit error propagation. Error propagation can be avoided by interspersing the parity check sequence with ones in order to satisfy the constraints. code is constructed, Consequently, a contains the parity check sequence, and where . The minimum value of is given by (5) If as follows: , the positions of are assigned
(6) unconstrained positions can Otherwise, be removed arbitrarily to obtain the appropriate length. If burst error control codes are used, the sequence of parity check symbols may as well be converted into a codeword with limited error propagation. It is, however, of paramount importance that the error propagation of this code be limited to a few bits and aligned, preferably, to one byte in a byte-oriented system. Codes with these attributes can be designed, as will be discussed in the next sections. The redundancy of this CCEC scheme is . The number of parity bits is commonly a small fraction of the length of the source word. The extra redundancy that has to be spent to avoid error propagation in the check sequence by interspersing ones is moderate. If, on the other hand, the parity check bits are converted into a constrained sequence of code with limited error propagation, the a short scheme is only a partial CCEC scheme. The next two schemes are genuine CCEC schemes. B. CCEC Scheme II The second error control scheme converts user information constrained sequence in two consecutive into a steps. The block diagram of this scheme is shown in Fig. 3. is converted into a codeword of a A source word of length constrained sequence of length , where , , and . This codeword is protected by a systematic error control code. The parity bits are inserted in the codeword in a specific manner [21], such that the resulting sequence
VAN WIJNGAARDEN AND SCHOUHAMER IMMINK: MRL CODES WITH ERROR CONTROL
605
Fig. 3. Block diagram of CCEC Scheme II, a two-step modulation and error control coding scheme. Information is converted into a constrained sequence with tighter constraints than required to allow the parity bits to be inserted without violating the imposed constraints.
Fig. 4. Block diagram of CCEC Scheme III, a two-step modulation and error control coding scheme. Information is converted into a sequence of a constrained code, which provides unconstrained positions. These positions, which are initially set to zero, are used to store the parity check symbols.
fulfills the constraints. This can be accomplished as follows. code We will consider the case where a of length is used to construct a with codewords code of length . Let , , . and We can add up to unconstrained positions at the beginning of the sequence because this limits the number of leading zeros . Using the same argument, we can append at to most unconstrained positions at the end of the sequence. The positions are assigned as follows: (7) and . This code where unconstrained positions and a total has . It can be easily verified that the sequence of length constraints. The number of this form satisfies the , and the number of trailing leading zeros is at most . The runlength constraint at every zeros is at most , because every segment other position is at most is in the worst case occupied by for . The blocks are separated by constrained of length , and therefore, the constrained segments segment will not be all-zero. Example 1: A rate 16/17, (0, 4, 2, 2) code, presented in [21], can be used as a component code to obtain, using the previously discussed interleaving technique, a rate 24/25, (0, 6, 3, 3) code unconstrained positions. The structure of this code with is specified by
and efficiently coded sequences by shorter subsequences, and by using unconstrained positions to store the error check symbols. At the encoder side, the user information is split into subsequences and encoded in such a manner that the codewords still satisfy the constraints, if all unconstrained positions contain zeros. This is the worst-case situation, and therefore, the maximum runlength constraints will be automatically fulfilled for any combination of error check symbols. In the second stage, the error check symbols of the error control code that protect the constrained sequence are stored at the unconstrained positions. This does not affect the imposed constraints, and therefore, block error control codes that match the channel impairment characteristics can be selected. At the receiver side, the decoder first extracts the parity check symbols and then it checks the codeword for the presence of errors. After verification and possibly correction of the constrained sequence by the error control code, the constrained sequence is decoded. The unconstrained positions could be incorporated in long codewords, but they could also be part of one or several shorter constrained subsequences. Several techniques for the construction of constrained sequences with unconstrained positions will be presented in the next section. D. Properties of CCEC Schemes The three CCEC schemes offer effective protection of constrained sequences of fixed and variable lengths. Of importance for the selection of one of the CCEC schemes are the actual constraints and the required level of error protection. The CCEC schemes allow soft information from the detector and the MRL decoder to be used to aid error correction. For instance, the segments of the received word where the constraints are violated can be declared as an erasure. IV. CONSTRAINED CODES WITH UNCONSTRAINED POSITIONS In this section, we present a general technique to construct a , code with unconstrained positions. rate We first develop a method to determine the maximum number code of length with unof codewords of a constrained positions. Next, we will develop coding algorithms based on enumeration that achieve the upper bound on the cardinality for the given parameters. In Section V, we will present several constrained codes that can be constructed with look-up tables or with combinatorial circuitry. The efficiency of the constructed codes will be discussed.
In the next section, it will be shown that there are at most unconstrained positions for the given values , , , , and . These unconstrained positions are distributed in the following way:
codewords.
The third CCEC scheme reserves unconstrained positions in the constrained sequence. These positions are to be filled by error check symbols in the second stage. This scheme, illustrated in Fig. 4, combines the idea of splitting the constrained sequences into several subsequences, thereby protecting longer
606
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 19, NO. 4, APRIL 2001
In Section II, we indicated that the number of MRL sequences can be determined with recursion relations. We will develop a codes with wordlength similar technique for and unconstrained positions. The unconstrained positions and the constrained positions of the code will be specified by the is an sets and , respectively. The set elements; i.e., . ordered set with denote the extended set of Let for , constrained positions, for which , and . The locations and are the virtual locations of the last constrained position from the previous word and the first of the next word, for , such as to satisfy the overall constraint. Let , otherwise. and We define the position-dependent, maximum runlength conby straint (8) i.e., is determined by the number of unconstrained positions to the left of the constrained position and the sum of the con. strained positions to the right within distance denote the set of sequences of length with the Let property that the position-dependent, maximum runlength conis satisfied, and let denote the size straint . If , then and . Otherof satisfies the recursion relation wise, (9) and consequently, because the subsets are disjoint, we obtain (10) To illustrate the enumeration of the sequences that fulfill the constraints, we first consider the following example. Example 2: We determine the maximum number of codewords of length 17 of a (0, 5, 2, 3) constrained code, with unconstrained positions. The set of ordered constrained positions is given by
The set
The code contains 135 codewords. The maximum number of words that fulfill the (0, 5, 2, 3) constraints is thus equal to . It is therefore possible to construct a rate 15/17, (0, 5, 2, 3) code. It can be shown that a rate 16/17 (0, unconstrained positions can be 5, 2, 3) code with constructed if the unconstrained positions have the following distribution:
In this case, there are 71 680 valid codewords, and there are 28 different distributions for which this number is attained. Similarly, a rate 15/17 (0, 5, 2, 3) code with 12 unconstrained positions can be constructed if the codewords have the form
In this situation, there are exactly 32 768 different codewords. A. Alternative Computation of the Cardinality sequences of length with The number of unconstrained positions can also be determined by manipulating adjacency the adjacency matrix. Let be the constraint, the nonzero entries of which are matrix for the for and for given by . Similarly, let denote the matrix for of which the nonzero entries are defined by . We now compute recursively, for (11) is the identity matrix. The number of where sequences of length is for given by (12)
is given by
The constrained and unconstrained positions are allocated as follows: position profile
B. Coding Algorithms denote the decimal representation of the source word ; i.e., idx . A given integer in the range from 0 to is translated into the corresponding codeword using a method that is similar to decimal-toLet
VAN WIJNGAARDEN AND SCHOUHAMER IMMINK: MRL CODES WITH ERROR CONTROL
607
binary conversion. Instead of the usual powers of two, the in, , are used. The following algoteger weights : rithm describes the conversion of into function ( ) Y begin from 1 to do begin for ) then begin if ( ; ; ; end else end; ; return end; Reconstruction of the source word given the codeword is easily accomplished using the following procedure: function ( ) begin ; from 1 to do begin for ) then if ( end; ; return end;
TABLE I MAXIMUM NUMBER OF UNCONSTRAINED POSITIONS u (n 1)=n, (0; k; k=2 , k=2 ) CODE OF LENGTH APPLICABLE CONSTRUCTION AG
b cd e
; The letters AG in Table I are used to indicate which of the constructions is to be used to obtain a code with the given parameters. codes by a set We describe the construction of of rules that prescribe the mapping of source words of length onto -bit codewords of a code. If the connumber of sequences of length that satisfy the , it is always possible to perform this mapstraints exceeds ping, although the complexity may be high. For several codeword lengths, it is possible to realize this mapping procedure using a small, digital combinatorial circuit. The codes that have been developed are characterized by a set of source-dependent mapping rules. The encoder first checks whether the source word would be a valid codeword. If this is the case, the encoder copies the source word and inserts one extra bit that indicates that the other bits of the codeword are a copy of the source word. Otherwise, the extra bit indicates that a mapping rule had -bit to be applied to transform the source word into an concoded sequence that satisfies the imposed straints. The coded sequence, which uniquely represents the source word, is composed of a mapping rule identifier and rearranged source symbols. The mapping structure is often symmetric to simplify the design process and the structure of the digital combinatorial circuitry [5]. A. Construction A The first construction is based on the insertion of ones to constraints. The placement of the unfulfill the constrained and constrained positions is specified by (6). For a , code , this reduces for rate to , where is the CIC code. , we can remove unconstrained positions. It For . follows that
It can be easily shown that every word that fulfills the constraint can be generated with the enumerative coding technique. The main advantage of this technique is the property that both the encoding and the decoding operation can be performed with linear complexity using only weights. Every weight is repreidx , . sented by at most bits: We can truncate the coefficients to simplify the computations and to limit error propagation [12]. V. COMBINATORIAL CONSTRUCTION METHODS In this section, we consider the construction of codes of length with unconstrained positions. The constraints are, as previously discussed, imposed by a constraint, in short, a CIC code. We imposing component code will propose seven combinatorial constructions (AG) of CIC , , codes for the composition of a rate code with the maximum number of unconstrained positions. The underlying combinatorial techniques that are used are discussed in detail in [5]. The seven different constructions are used to span particular ranges of the parameters , , and . for The maximum number of unconstrained positions , code exists can be deterwhich a rate mined with (10) or (12). Table I lists the maximum number of of a rate , , unconstrained positions code of length for and . As is to be expected, the maximum number of unconstrained positions for a given value of first increases with the wordlength , and then it decreases to zero. By loosening the constraint, the maximum number of unconstrained positions increases rapidly.
608
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 19, NO. 4, APRIL 2001
Fig. 6.
Fig. 5.
B. Construction B , code with A rate unconstrained positions can be constructed by using a rate 3/4, and by placing the symbols, (0, 1, 1, 1) code as the CIC code , as follows: in the case where
unconstrained positions. of a source word of the rate 3/4, (0, 1, 1, 1) code if and
otherwise.
(13)
where . In these logic equations, the addition is equivalent to a binary OR operation, and a multiplication is equivalent to a binary AND operation. The inverse of a binary value is denoted by , and the inverse of a binary expression is denoted by
The mapping of a source word onto a codeword of the rate 6/7, (0, 2, 1, 2) code is specified in Table II. The subsequences that violate the constraints are bold-faced to emphasize the kind of violation that is under consideration. If the source word matches the first word, the corresponding mapping rule will be applied; else, if the source word matches the second word, the second rule is applied. This process continues until a match is found and the corresponding rule is applied. The underlined zeros and ones indicate which positions uniquely specify the inverse mapping. The decoder checks these positions, and if there is a match, the mapping will be reversed to reconstruct the source word. The mapping given in Table II can be realized by a small combinatorial circuit, which is specified by
The encoder can be realized with 4 OR gates, 2 AND gates, and 1 INV gate. The circuit is shown in Fig. 5. The delay is . The decoder performs the reverse op. eration by mapping the codeword onto the word This mapping can be described in terms of logic equations by
where and . The encoder consists of 9 OR gates, 7 AND gates, and 2 INV gates. The delay . is The inverse mapping is given in terms of logic equations by
where and . The decoder can be realized with 7 AND gates, 3 OR gates, and 1 INV gate. The delay . is The decoder can, as shown in Fig. 6, be realized with 1 OR gate, . 4 AND gates, and 1 INV gate. The delay is C. Construction C , code with A rate unconstrained positions can be constructed by using a rate 6/7, and by placing the symbols, (0, 2, 1, 2) code as the CIC code , as follows: in the case where D. Construction D , code with A rate unconstrained positions can be constructed by using a rate 7/8 and by placing the symbols, in the code as the CIC code , as follows: case where
VAN WIJNGAARDEN AND SCHOUHAMER IMMINK: MRL CODES WITH ERROR CONTROL
609
Let and . By evaluating and , we can easily determine which mapping is to be applied. The combinatorial circuitry of the encoder is specified by the following equations:
The encoder can be realized with 13 AND gates, 11 OR gates, . The logic and 2 INV gates. The delay is equations for the decoder can be obtained in a similar fashion. E. Construction E A rate 8/9, (0, 2, 2, 2) code can be used as a component code of the rate , code , which has the following structure in the case where :
For , we can remove unconstrained positions. It . follows that The mapping for the rate 8/9, (0, 2, 2, 2) code is specified in Table IV. F. Construction A rate 10/11, CIC code with can be used to construct a rate , code. The location of the unconstrained and constrained posiby tions are specified for code, which has the following structure in the case :
where
There are valid constrained sequences of length 11. The mapping for the rate 10/11 CIC code is specified in Table V. The encoder checks whether the word fulfills the constraints. This is the case if suband subsequence . sequence The mapping given in Table V can be implemented with approximately 50 logic gates. G. Construction The construction does not give the maximum number of unconstrained positions. Instead, the maximum is obtained by a rate 10/11 CIC code for which . This CIC code can be used to construct a rate ,
There are valid constrained sequences of length 11. The underlying rate 10/11 CIC code is specified in Table VI. Table VI uniquely specifies the operation of the encoder and the decoder. The combinatorial circuitry and the logic equations can be easily obtained with hardware design tools. The number of gates is low. H. Construction A rate 11/12 CIC code with can be used to construct a rate , code, which has the following structure in the case where :
There are valid constrained sequences of length 12. The CIC code can be constructed in a similar fashion as for the
610
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 19, NO. 4, APRIL 2001
previously discussed constructions, or by using the enumerative construction presented in the previous section. I. Overview The CIC codes presented in the constructions AG allow codes. the composition of a wide range of Table VII lists for each of the constructions AG the maximum , , wordlength for which a rate code exists with positions. The last row of the table specifies for each construction the value of , the number of constrained positions in the codeword. Remark 1: It should be noted that in addition to the rate , code constructions with unconstrained positions, we can as well consider the construction of rate , codes, where . As an example, it is , possible to construct a rate 8/9, (0, 3, 1, 2) code with whereas it is also possible to construct a 16/18, (0, 3, 1, 2) code , and a 24/27, (0, 3, 1, 2) code with . with This illustrates that by increasing the wordlength at a constant code rate, we can increase the maximum number of unconstrained positions. VI. CONSTRUCTION OF CODES
The construction of a code [2], [22] is in general code, because more difficult than is the construction of a constraints and the constraints on both the global the interleaved sequences of elements with odd and even indices have to be fulfilled. In [23], a combinatorial construction of a rate 8/9, (0, 4/4) code and a rate 8/9, (0, 3/6) code have been presented, and in [14], [21], and [24], a rate 16/17, (0, 6/6) code has been presented. The CCEC schemes can be employed to efficiently protect codes. Interleaving can be used to obtain high-rate codes. Interleaving is done by inserting pairs of unconstrained positions. Otherwise, the constraints on the odd and even subsequence are violated. As an example, consider the rate 16/17, (0, 6/6) code [21]. By inserting pairs of unconstrained pocodes can be obtained as shown sitions, the following at the bottom of the page. These codes have rates 20/21, 22/23, and 26/27 and 4, 6, and 10 unconstrained positions, respectively. codes using speAlternatively, we can construct cific CIC codes, using techniques that are similar to the ones presented in the previous sections. For instance, a rate 16/17, (0, 7/11) code can be constructed with nine unconstrained posi. tions with the arrangement Similarly, a rate 16/17, (0, 7/11) code can be constructed with nine unconstrained positions with the arrangement . Optionally, more than one bit redundancy may be allowed. For example, a 16/18, (0, 4/6) code can be constructed with eight unconstrained positions with the ar. The cardinality rangement . Table look-up can be employed to is equal to convert the other eight-bit source words into ten-bit codewords. In this case, both error control can be provided and the complexity of the code can be reduced. VII. CONCLUSION The presented error control schemes effectively protect high-rate constrained codes against transmission errors. Practically any systematic error control code can be employed. The proposed schemes are very efficient and are applicable for many communications and recording systems. In current recording systems, there is a strict separation between modulation coding and error control. For these configurations, the codes that limit error propagation can be applied. By integrating the modulation and error control modules, which is to be expected for next generation recording systems, it will become possible to implement the schemes effectively and to make use of their powerful capabilities. In communication systems, the schemes have several clear advantages with respect to error propagation and achievable code rate relative to the widely used bit-stuffing method. In addition, the developed theory is useful for the
The class of codes fulfills global constraints constraints for the two interleaved subseas well as quences of elements with odd and even indexes, respectively. codes are used for magnetic recording channels The impulse response, also known as PRML chanwith a nels, to aid timing and gain recovery and simplify the design of the Viterbi detector for the PRML channel [2].
VAN WIJNGAARDEN AND SCHOUHAMER IMMINK: MRL CODES WITH ERROR CONTROL
611
[22] K. A. S. Abdel-Ghaffar and J. H. Weber, Constrained block codes for Class-IV partial-response channels with maximum-likelihood sequence estimation, IEEE Trans. Inform. Theory, vol. 42, pp. 14051424, Sept. 1996. [23] J. S. Eggenberger and A. M. Patel, Method and apparatus for implementing optimum PRML codes, U.S. Patent 4,707,681, Nov. 1987. [24] A. M. Patel, Rate 16/17 (0,6/6) code, IBM Technol. Discl. Bull., vol. 31, no. 8, 1989.
Adriaan J. (de Lind) van Wijngaarden (S87 M98) was born in Amsterdam, The Netherlands, in 1968. He received the engineering (M.Sc. equivalent) degree in electrical engineering from the Eindhoven University of Technology, Eindhoven, The Netherlands, in 1992, and the doctorate degree in engineering from the University of Essen, Essen, Germany, in 1998. From 1992 to 1998, he was a Research Engineer of the Digital Communications Group at the Institute for Experimental Mathematics, University of Essen. During this period, he has also been a Visiting Scientist at the Communications Research Centre, Ottawa, Ont. Canada, and at the University of ElectroCommunications, Tokyo, Japan. As of 1998, he is with the Mathematics of Communications Research Department, Bell Laboratories, Lucent Technologies, Murray Hill, NJ. His research interests include communications, in particular, error control coding, synchronization and modulation coding with applications in recording, and optical and wireless communication systems.
Kees A. Schouhamer Immink (M81SM86 F90) was born in Rotterdam, The Netherlands. He received the M.Sc. (EE) and Ph.D. degrees from the Eindhoven University of Technology. He is President and Founder of Turing Machines Inc. and serves as a Guest Professor at the Institute of Experimental Mathematics, Essen University, Germany, and the National University of Singapore. He has contributed to the design and development of a variety of digital recorders such as the compact disk, compact disk video, DAT, DCC, and recently, the DVD. Immink was granted 35 U.S. patents, is (co)author of three books and has written numerous papers in the field of digital recorders. Dr. Immink is Vice-President of the Audio Engineering Society (AES), a Governor of the IEEE Consumer Electronics Society, and Trustee of the Shannon Foundation. He served as Program Chairman and Conference Chairman of various international conferences over the years. He holds fellowships of the AES, IEE, and SMPTE, and is an elected member of the Royal Netherlands Academy of Arts and Sciences. For his part in the digital audio and video revolution, he was honored with the AES Gold and Silver Medal, IEE Thomson Medal, SMPTE Ponyatoff Gold Medal, IEEE Information Theory Society Golden Jubliee Award for Technical Innovation, IEEE Masaru Ibuka consumer electronics award, a Knighthood in the Order of Orange-Nassau, and the IEEE Edison Medal For a career of creative contributions to the technologies of video, audio, and data recording.