Trellis code for extended partial response maximum likelihood (EPRML) channel

Information

  • Patent Grant
  • 6408419
  • Patent Number
    6,408,419
  • Date Filed
    Thursday, July 1, 1999
    25 years ago
  • Date Issued
    Tuesday, June 18, 2002
    22 years ago
Abstract
A first trellis code (12A, 20A) according to the present invention is a rate 24/26 trellis code with three (3) bytes error propagation due to EPRML minimum instance channel errors, a minimum of six (6) transitions per code word and a maximum of twelve (12) consecutive zeroes. A second trellis code (12B, 20B) according to the present invention is a rate 48/51 trellis code, derived from the first trellis code. The second trellis code has four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of twelve (12) transitions per code word and a maximum of twelve (12) consecutive zeroes. A third trellis code (12C, 20C) according to the present invention is a rate 48/51 trellis code with four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of fourteen (14) transitions per code word and a maximum of eleven (11) consecutive zeroes.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates to encoding for disk drives and, particularly, to an improved trellis code for an extended partial response with maximum likelihood (EPRML) channel.




2. Description of the Related Art




In order to achieve higher recording densities, designers of magnetic recording channels have switched from analog peak detection techniques to sampled data detection techniques. In sampled data detection systems, the readback signal is filtered and sampled at a channel rate of 1/T, where T is the duration of a channel symbol. One such technique is referred to as extended partial response maximum likelihood (EPRML). The discrete time transfer function of an extended partial response channel is (1+D−D


2


−D


3


), where D represents a unit time delay operator with unit-time T. Thus, the noiseless output of the extended partial response channel is equal to the input signal minus a version of the input signal delayed in time by 2T, minus a version of the input signal delayed in time by 3T and plus a version of the input signal forward in time by T. In an EPRML system the output of the noisy partial response channel is sampled at the channel rate and detected using a maximum likelihood Viterbi detector.




Modulation codes are used to generate inputs to EPRML channels to increase detectability of the recorded bit sequences. With such codes, it is desirable to decrease the maximum number of consecutive zeroes and to maximize the minimum number of transitions per code word. Further, it is desirable to minimize the error propagation due to EPRML minimum distance channel errors.




Additionally, in order to achieve higher recording densities, it is desirable to have as efficient a code as possible. Generally, code efficiency is expressed in terms of a rate, which is the ratio of the number of input bits to be encoded to the number of output bits in the resulting code word. It is desirable to have the rate approach unity.




SUMMARY OF THE INVENTION




A first trellis code according to the present invention is a rate 24/26 trellis code with three (3) bytes error propagation due to EPRML minimum distance channel errors, a minimum of six (6) transitions per code word and a maximum of twelve (12) consecutive zeroes. A second trellis code according to the present invention is a rate 48/51 trellis code, derived from the first trellis code. The second trellis code has four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of twelve (12) transitions per code word and a maximum of twelve (12) consecutive zeroes. A third trellis code according to the present invention is a rate 48/51 trellis code with four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of fourteen (14) transitions per code word and a maximum of eleven (11) consecutive zeroes.











BRIEF DESCRIPTION OF THE DRAWINGS




A better understanding of the invention is obtained when the following detailed description is considered in conjunction with the following drawings in which:





FIG. 1

is a diagram of an EPRML channel according to an embodiment of the invention;





FIG. 2A

is a block diagram of an exemplary encoder according to an embodiment of the invention;





FIG. 2B

is a block diagram of an exemplary decoder according to an embodiment of the invention;





FIGS. 3

,


4


A,


4


B, and


5


-


8


characterize an exemplary trellis code according to the embodiment of

FIGS. 2A and 2B

;





FIG. 9A

is a block diagram of an exemplary encoder according to an embodiment of the invention;





FIG. 9B

is a block diagram of an exemplary decoder according to an embodiment of the invention;





FIG. 10A

is a block diagram of an exemplary encoder according to an embodiment of the invention;





FIG. 10B

is a block diagram of an exemplary decoder according to an embodiment of the invention;





FIGS. 11A

,


11


B,


12


A,


12


B and


13


-


14


characterize an exemplary trellis code according to another embodiment of the invention;





FIG. 15A

is a block diagram of an exemplary encoder according to an embodiment of the invention; and





FIG. 15B

is a block diagram of an exemplary decoder according to an embodiment of the invention.











DETAILED DESCRIPTION OF THE INVENTION




Turning now to the drawings and with particular attention to

FIG. 1

, a block diagram illustrating an EPRML channel according to an embodiment of the invention is shown. The channel


10


includes an encoder


12


according to the present invention, a precoder


14


, an EPR channel


16


, a Viterbi detector


18


, a postcoder


19


, and a decoder


20


. The encoder


20


produces one or more novel trellis codes according to the present invention, as will be explained in greater detail below.




A first trellis code according to the present invention is a rate 24/26 trellis code with three (3) bytes error propagation due to EPRML minimum distance channel errors, a minimum of six (6) transitions per code word and a maximum of twelve (12) consecutive zeroes. A second trellis code according to the present invention is a rate 48/51 trellis code, derived from the first trellis code. The second trellis code has four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of twelve (12) transitions per code word and a maximum of twelve (12) consecutive zeroes. A third trellis code according to the present invention is a rate 48/51 trellis code with four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of fourteen (14) transitions per code word and a maximum of eleven (11) consecutive zeroes.




As shown in

FIG. 1

, an input signal on a line


22


is transmitted to an input of an encoder


12


. The encoder


12


produces an encoded output signal from the input signal, as will be explained in greater detail below. The output of the encoder


12


is coupled to the line


24


to provide the coded sequence to the precoder


14


.




The precoder


14


has an input and an output and generates a precoded sequence based on the coded sequence. In particular, according to an embodiment of the present invention, the precoder


14


is defined by the transfer function (1/1⊕DD⊕D


2


⊕D


3


). The precoder


14


may be a finite state machine with input x, output y and state s, where at time n the following holds:


















initial state




S


initial


= (state


1


state


2


state


3


), where state


k


, k=1,2, and 3,







is the output of the pre-coder at time n-k,






output




y = x+state


1


+state


2


+state


3


(mod 2), and






final state




S


final = (y state




1


state


2


).














The precoder


14


will be described further with regard to the particular embodiments. The output of the precoder


14


is coupled to the line


26


to provide the precoded sequence to the EPR channel


16


. An output of the precoder


14


is also provided back to the encoder


12


, as will be described in greater detail below.




A detector


18


receives the output of the EPR channel


16


along line


28


. The detector


18


may be a Viterbi detector. The detector


18


provides the detected output along a line


30


to a postcoder


19


, which essentially performs the inverse of the precoder


14


. The output of the postcoder


19


is provided to the decoder


20


. The decoder


20


performs the inverse of the encoder


12


and has several embodiments, each corresponding to an embodiment of the trellis code, as will be described below.




As noted above, a first embodiment of the encoder implements a rate 24/26 trellis code with three (3) bytes error propagation due to EPRML minimum distance channel errors, a minimum of six (6) transitions per code word and a maximum of twelve (12) consecutive zeroes. A block diagram of an encoder


12


A according to this embodiment is shown in FIG.


2


A. In particular, as shown, the encoder


12


A is characterized by a first map F and a second map f, as will be explained in greater detail below. Two maps M


1


and M


2


further characterize the map F, as will be explained in greater detail below. A decoder according to this embodiment is shown in FIG.


2


B. The decoder


20


A is characterized by a Map FF, which is further characterized by Maps MM


1


and MM


2


, as will be explained in greater detail below.




The encoder


12


A according to this embodiment may be implemented as a finite state machine that receives 24-bit data, (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12), and outputs a 26-bit code-word, (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) e2. It is noted that a


1


1 is the first bit received and b


1


1 is the first bit transmitted.




As noted above, the code-word is passed through a (1/(1⊕D⊕D{circumflex over ( )}2⊕D{circumflex over ( )}3)) pre-coder. For this embodiment, the output of the pre-coder


14


A has an even number of ones every 26 bits that span the image of a code-word. Specifically, if (x


1


x


2


. . . x


26


)=(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) e2 is input to the pre-coder having initial state s


initial


=(state


1


state


2


state


3


), then y


1


+y


2


+ . . . +y


26


=0 mod2, where y


k


is the output of the pre-coder corresponding to the input x


k


.




As noted above, the encoder


12


A can be characterized by two maps F and f, where




F: (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)===>(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12), and




f: (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)X s


initial


===>e2.




Also as noted above, the Map F may be described by two maps M


1


and M


2


. The Map M


1


maps 12 bits, a=(a1 - - - a12), to 11 bits, (b1 - - - b11). Next, several sets are defined which help to partition the domain of map M


1


:



















(Let









to denote Complement














to denote AND














to denote OR












to denote EXCLUSIVE OR)






Let:












C1 = { (a1..a12): a2=a3, a4=a5, a6=a7 }




(has 2


9


points)






C2 = { (a1..a12): a1=a2, a3=a4, a5=a6, a7=a8 }




(has 2


8


points)






C3 = { (a1..a12): a2=a3 = a4 = a5 = a6 }




(has 2


8


points)






C4 = { (a1..a12): a1+a2+..+a12 <=1 }




(has 12+1=13 points)






Let:






C= C1 ∪ C2 ∪ C3 ∪ C4






B1=C1 ∩ C4′






B2=C2 ∩ C1′∩ C4′






B3=C3 ∩ C1′∩ C2′ ∩ C4′






B4=C4






B=B1 ∪ B2 ∪ B3 ∪ B4






G=B′






LEMMA 1 B=C.






LEMMA 2 Bi's are pair-wise disjoint.






Let:






V1={a2=a4, a6=a8}






V2={a1=1, a2=1, a4=a6}






V3={1 = a2 = a4 = a6 }






R1=V1






R2=V2 ∩ V1′






R3=V3 ∩ V2′ ∩ V1′














The mapping for the Map M


1


is shown in FIG.


3


. In particular, the second to the left-most column defines the sets (i.e., the subset of M


1


) to which the bits a=(a1 . . . a12) belong (i.e., the sets define the partitioning of the map). The top row defines the eleven bits b=(b1 . . . b11) into which the twelve bits a=(a1 . . . a12) are to be mapped. The remainder of the table defines the particular mapping. For example, if the twelve bits a=(a1 . . . a12) belong to the set defined by G above, then the eleven bits (b1 . . . b11)=(a1 . . . a11). Similarly, if the twelve bits a=(a1 . . . a12) belong to the set defined by B2 above, then the bits are mapped into b=(b1 . . . b11)=(0, 1, 0, a2, a4, a6, a8, a9, a10, a11, a12).




The map M


2


maps 12 bits, a=(a1 - - - a12), to 10 bits, (v1 - - - v10). Several sets are defined which help to partition the domain of map M


2


.


















Let:







E1 = { (a1..a12): a4=a5, a6=a7, a8=a9 , a10=a11}




(has 2


8


points)






E2 = { (a1..a12): a3=a4, a5=a6, a7=a8, a9=a10 }




(has 2


8


points)






E3 = { (a1..a12): a4=a5 = a6 = a7 = a8=a9=a10 }




(has 2


6


points)






E4 = { (a1..a12): a1+a2+..+a12 <=2 }




(has 66+12+1=79






points)






E5 = { (a1..a12): a6+a7+a8+a9+a10+a11+a12=0 }






Let:






E= E1 ∪ E2 ∪ E3 ∪ E4






D1=E1 ∩ E4′






D2=E2 ∩ E1′∩ E4′






D3=E3 ∩ E1′∩ E2′ ∩ E4′






D4=E4






D5=E5 ∩ E1′∩ E2′ ∩ E3′∩ E4′






D=D1 ∪ D2 ∪ D3 ∪ D4 ∪ D5






GG=D′






LEMMA 1 E=D.






LEMMA 2 Di's are pair-wise disjoint.






Let:






T1={a1=1 a2=1  a3=a5 a7=a9}






T2={a2=a3  a5=a7 a9=a11)






T3={a1=a3  a7=a11)






T4={a1=0 a2=a3=a5=a7=a9=1 a11=0}














The actual mapping of the Map M


2


is shown in FIG.


4


A and FIG.


4


B. For example, if the set a=(a1 . . . a12) belongs to the set GG, then the 10-bit set v=(v1 . . . v10) takes on the values (a3, a4, a5, a6, a7, a8, a9, a10, a11, a12).




To complete the encoder characterization it is necessary to define the maps F and f. Let's recall that




F: (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)===>(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12), and




f: (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)X s


initial


===>e2.




The table of

FIG. 7

completes the description of the Map F. For example, if A


1


is in the set G and A


2


is in the set GG, then b


1


1 . . . b


1


11 is M


1


(A


1


);, b


1


12 is a


1


12; e1 is 1; b


2


1 is a


2


1; b


2


2 is a


2


2; and b


2


3b


2


4 . . . b


2


12 is M


2


(A


2


).




The following equation describes the Map f:






e2=b


2


9+b


2


5+b


2


1+b


1


10+b


1


6+b


1


2+state


1


+state


2


,






where s


initial


=(state


1


state


2


state


3


).




Thus, the current code-word is passed through the pre-coder


14


A and the final state of the pre-coder is the initial state for the computation of e2 of the next code-word.




The decoder


20


A according to this embodiment is a block map, which inverts the encoder. The decoder


20


A receives 26bits, (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) e2, and it outputs a 24 bit data, (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12). As noted above, the decoder can be characterized by a map FF, where




FF: (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) e2===>(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12).




The Map MM


1


is defined in FIG.


5


and maps eleven bits (b1 . . . 11) to twelve bits (a1 . . . a12). For example, if b2=1 and b3=1, then (a1 . . . a12)=(b1, b4, b4, b5, b5, b6, b6, b7, b8, b9, b10, b11).




The map MM


2


maps 10 bits (v1 . . . v10) to twelve bits (a1 . . . a12). The map MM


2


is shown in FIG.


6


. For example, if v2=0 and v3=1, then (a1 . . . a12)=(v1, v4, v5, v6, v6, v7, v7, v8, v8, v9, v9, v10).




The table of

FIG. 8

completes the characterization of the map FF. For example, if e1=1, then (a


1


1 a


1


2 . . . a


1


10)=(b


1


1b


1


2 . . . b


1


10), a


1


11=b


1


11, a


1


12=b


1


12, a


2


1=b


2


1, a


2


2=b


2


2, and (a


2


3a


2


4 . . . a


2


12)=(b


2


3b


2


4 . . . b


2


12).




A rate 48/51 trellis code according to a second embodiment of the invention may be generated from the 24/26 trellis code described above. In particular, the trellis code according to this embodiment has four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of twelve (12) transitions per code word and a maximum of twelve (12) consecutive zeroes.

FIG. 9A

illustrates a block diagram of an encoder 12B according to this embodiment. The encoder 12B according to this embodiment includes a pair of Maps FA and FB, which are characterized similarly to the Map F described above. In addition, a Map fa is provided, as will be explained in greater detail below. A decoder 20B according to this embodiment is shown in FIG.


9


B. As will be explained in greater detail below, the decoder


20


B includes a pair of maps FFA and FFB, which are generally similar to the Map FF described above.




The encoder


12


B according to this embodiment is characterized as follows:




(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12) (a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)===>(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) (b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12) e3,




where




(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)=FA ((a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)),




(b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12)=FB ((a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)),




where the Maps FA and FB are as described above with reference to the Map F.




The Map fa is described by the following equation:






e3=b


4


9+b


4


5+b


4


1+b


3


10+b


3


6+b


3


2+b


2


10+b


2


6+b


2


2+b


1


11+b


1


7+b


1


3+state


1








Encoding for the first 25 code-word bits may begin after 24 data bits are received. Thus, it is not necessary to receive all 48 data bits to begin coding.




The decoder


20


B according to this embodiment is characterized as follows:




(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) (b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12) e3===>(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12) (a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12),




where




(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)=FFA ((b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)),




(a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)=FFB ((b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12)),




where the Maps FFA and FFB are as described above with reference to the Map FF (with e3 used for parity purposes in the Viterbi decoder).




Decoding for the first 24 data bits may begin after 25 code-word bits are received. Thus, it is not necessary to receive all 51 code word bits to begin decoding.




Finally, a 48/51 trellis code according to another embodiment of the invention is described. According to this embodiment, a rate 48/51 trellis code is provided, with four (4) bytes error propagation due to EPRML minimum distance channel errors, a minimum of fourteen (14) transitions per code word and a maximum of eleven (11) consecutive zeroes.




The code, TC, encoder is characterized as follows:




(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12) (a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)===>(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) (b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12) e3,




It is noted that a


1


1 is the first bit received and b


1


1 is the first bit transmitted. The pre-coder


14


according to this embodiment has an even number of ones (1) every 51 bits that span the image of a code-word. Specifically, if






(x


1


x


2


. . . x


51


)=(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) (b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12)e3






is input to the pre-coder


14


having initial state s


initial


=(state


1


state


2


state


3


), then y


1


+y


2


+ - - - +y


51


=0 mod2, where y


k


is the output of the pre-coder corresponding to the input x


k


.




First, we define a rate 24/25 code C, as shown in FIG.


10


A and FIG.


10


B. The encoder for the Code C includes an encoder


12


C characterized by a Map F


1


, which is further characterized by a Map M


3


, as will be explained in greater detail below. The Code C decoder


20


C (FIG.


10


B), in turn, may be characterized by a Map FF


1


, which is further characterized by a Map MM


3


, as will also be explained in greater detail below.




The code C encoder


12


C may be embodied as a finite state machine that receives 24-bit data,




(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12), and outputs a 25-bit code-word, (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12).




As noted above, the encoder


12


C can be characterized by a map F


1


, where F


1


: (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)===>(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12).




The decoder


20


C can be characterized by a map FF


1


, where FF


1


: (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)===>(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12).




A map M


3


is used to specify the map F


1


. The map M


3


maps 12 bits, a=(a1 - - - a12), to 10 bits, (b1 - - - b10). Next we define several sets which help to partition the domain of map M


3


.



















(Let









to denote Complement














to denote AND














to denote OR












to denote EXCLUSIVE OR)












Let:







C1 = { (a1..a12): a2=a3, a4=a5, a6=a7, a8=a9 }




(has 2


8


points)






C2 = { (a1..a12): a3=a4, a5=a6, a7=a8, a9=a10 }




(has 2


8


points)






C3 = { (a1..a12): a3 = a4 = a5 = a6 = a7 = a8 = a9 }




(has 2


6


points)






C4 = { (a1..a12): a1+a2+..+a12 <=2 }




(has 66+12+1=79






points)











C5 = { (a1..a12): a1+a2+..+a6 =0} ∩ C1′∩ C2′ ∩ C3′ ∩ C4′






Let






C= C1 ∪ C2 ∪ C3 ∪ C4






B1=C1 ∩ C4′






B2=C2 ∩ C1′∩ C4′






B3=C3 ∩ C1′∩ C2′ ∩ C4′






B4=C4






B5=C5






B=B1 ∪ B2 ∪ B3 ∪ B4 ∪ B5






G=B′






LEMMA 1 B=C.






LEMMA 2 Bi's are pair-wise disjoint.














Then, the Map M


3


maps 12 bits into 10 bits as shown in the table of

FIGS. 11A and 11B

. Then, the table of

FIG. 13

completes the characterization of the Map F


1


.




The Code C decoder


20


C is a block map, which inverts the encoder. The decoder receives 25 bits, (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12), and it outputs a 24 bit data, (a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12). The decoder can be characterized by a map FF


1


, where FF


1


: (b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)==>(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12). A map MM


3


is used to characterize the map FF


1


. The map MM is shown in

FIGS. 12A and 12B

. Finally, the table of

FIG. 13

completes the characterization of the map FF


1


from the map MM


2


.




The rate 24/25 code, C, described above is used to generate a trellis code, TC, having a rate 48/51. Block diagrams of a Code TC encoder and decoder are shown in FIG.


15


A and

FIG. 15B

, respectively. In particular, the Code TC encoder


12


D includes a pair of Maps F


1


A and F


1


B, similar to the Map F


1


described above. In addition, a Map f


2


is provided, which will be explained in greater detail below. Similarly, the decoder


20


D is characterized by a pair of Maps FF


1


A and FF


1


B, similar to the Map FF


1


described above.




The Code TC encoder is characterized as follows:




(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)=F


1


A ((a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)),




(b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12)=F


1


B ((a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)), and




where the maps F


1


A and F


1


B are as the Map F


1


described above, and




e3=b


4


9+b


4


5+b


4


1 +b


3


10+b


3


6+b


3


2+b


2


10+b


2


6+b


2


2+b


1


11+b


1


7+b


1


3+state


1


, mod 2




It is noted that it is not necessary to receive all forty-eight (48) data bits to start encoding. As soon as twenty-four (24) data bits are received, the first twenty-five (25) code-word bits may be encoded.




The Code TC decoder is characterized as follows:




(b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12) (b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12) e3===>(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12) (a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12),




where




(a


1


1 a


1


2 . . . a


1


12)(a


2


1 a


2


2 . . . a


2


12)=FF


1


A ((b


1


1 b


1


2 . . . b


1


12) e1 (b


2


1 b


2


2 . . . b


2


12)),




(a


3


1 a


3


2 . . . a


3


12)(a


4


1 a


4


2 . . . a


4


12)=FF


1


B ((b


3


1 b


3


2 . . . b


3


12) e2 (b


4


1 b


4


2 . . . b


4


12)),




where the maps FF


1


A and FF


1


B are as the map FF


1


described above (and with e3 used for parity purposes in the Viterbi decoder).




It is noted that it is not necessary to receive all fifty-one (51) bits to start decoding. After twenty-five (25) code-word bits are received, the first twenty-four (24) data bits may be decoded.



Claims
  • 1. An extended partial response maximum likelihood (EPRML) channel, comprising:an encoder coupled to receive an input signal and implementing a rate 24/26 trellis code having three (3) bytes error propagation due to EPRML minimum distance channel errors; a precoder coupled to receive a coded signal from said encoder, perform a precoding operation on said coded signal; an extended partial response (EPR) channel coupled to receive an output from said precoder; a detector for detecting an output of said EPR channel; and a decoder coupled to receive an output of said detector for inverting said encoder.
  • 2. An EPRML channel according to claim 1, wherein said encoder has a minimum of six (6) transitions per code word.
  • 3. An EPRML channel according to claim 1, wherein said encoder has a maximum of twelve (12) consecutive zeroes.
  • 4. An EPRML channel according to claim 1, wherein said encoder implements a rate 48/51 trellis code having four (4) bytes error propagation due to EPRML minimum distance channel errors using a concatenation of said rate 24/26 trellis code.
  • 5. An EPRML channel according to claim 4, wherein said encoder has a minimum of twelve (12) transitions per code word.
  • 6. An EPRML channel according to claim 4, wherein said encoder has a maximum of twelve (12) consecutive zeroes.
  • 7. An extended partial response maximum likelihood (EPRML) channel, comprising:an encoder coupled to receive an input signal and implementing a rate 48/51 trellis code having four (4) bytes error propagation due to EPRML minimum distance channel errors; a precoder coupled to receive a coded signal from said encoder, perform a precoding operation on said coded signal; an extended partial response (EPR) channel coupled to receive an output from said precoder; a detector for detecting an output of said EPR channel; and a decoder coupled to receive an output of said detector for inverting said encoder.
  • 8. An EPRML channel according to claim 7, wherein said encoder has a minimum of fourteen (14) transitions per code word.
  • 9. An EPRML channel according to claim 7, wherein said encoder has a maximum of eleven (11) consecutive zeroes.
  • 10. An extended partial response maximum likelihood (EPRML) channel, comprising:an encoder coupled to receive an input signal and implementing a trellis code including a partitioning into at least first and second maps; a precoder coupled to receive a coded signal from said encoder, perform a precoding operation on said coded signal; an extended partial response (EPR) channel coupled to receive an output from said precoder; a detector for detecting an output of said EPR channel; and a decoder coupled to receive an output of said detector for inverting said encoder.
US Referenced Citations (37)
Number Name Date Kind
4077021 Csajka et al. Feb 1978 A
4673891 Remy Jun 1987 A
4707681 Eggenberger et al. Nov 1987 A
4802009 Hartmeier Jan 1989 A
4873701 Tretter Oct 1989 A
4888775 Karabed et al. Dec 1989 A
4888779 Karabed et al. Dec 1989 A
4939555 Calderbank et al. Jul 1990 A
5040191 Forney, Jr. et al. Aug 1991 A
5052031 Molloy Sep 1991 A
5095484 Karabed et al. Mar 1992 A
5111483 Serfaty May 1992 A
5159610 Eyuboglu et al. Oct 1992 A
5181209 Hagenauer et al. Jan 1993 A
5214672 Eyuboglu et al. May 1993 A
5260703 Nguyen et al. Nov 1993 A
5301209 Wei Apr 1994 A
5327440 Fredrickson et al. Jul 1994 A
5424881 Behrens et al. Jun 1995 A
5490091 Kogan et al. Feb 1996 A
5497384 Fredrickson et al. Mar 1996 A
5619539 Coker et al. Apr 1997 A
5689532 Fitzpatrick Nov 1997 A
5691993 Fredrickson Nov 1997 A
5726818 Reed et al. Mar 1998 A
5757294 Fisher et al. May 1998 A
5771127 Reed et al. Jun 1998 A
5809080 Karabed et al. Sep 1998 A
5809081 Karabed et al. Sep 1998 A
5812334 Behrens et al. Sep 1998 A
5841818 Lin et al. Nov 1998 A
5844738 Behrens et al. Dec 1998 A
5844741 Yamakawa et al. Dec 1998 A
5844922 Wolf et al. Dec 1998 A
5857002 Melas Jan 1999 A
6035435 Shih et al. Mar 2000 A
6154870 Fredrickson et al. Nov 2000 A
Non-Patent Literature Citations (4)
Entry
McLaughlin et al., One-pairs coded for partial response magnetic recording, IEEE, pp. 2080-2086, May 1999.*
Tzuwang et al., A trellis coded E2PRML digital read-write channel IC, IEEE, pp. 36-38, Feb. 1999.*
Nishiya et al. Turbo EPRML: An EPRML4 channel with an error-correcting post-processor designed for 16/17 rate quasi-MTR code, IEEE, pp. 2706-2711, 1998.*
Chern et al., An EPRML digital read/write channel IC, IEEE, pp. 320-322, 1997.