Abstract:
Parallel ML processing of an analog signal in a RLL-coded channel in which (1) vectors for a current state of the channel and the next state of the channel are computed using Walsh transform vector coefficients of the analog signal; (2) current state vectors and next state vectors and values of vectors precomputed in analog matched filters are used to generate vector scalar products which are compared against preselected threshold values for generating binary decision outputs that are used in digital sequential finite state machines to generate ML symbol decisions; and (3) ML symbol decisions are fed back and used to subtract the intersymbol interference value of the current state vector from the vector of the next state to transform the next state vector into an updated current state vector.

Description:
TECHNICAL FIELD 
     This invention relates to an apparatus and method for processing analog signals in a magnetic disk drive channel, and more particularly to an Apparatus and method for detecting multiple-bit symbols by (i) converting the analog signals into analog vectors using a linear Walsh transform, and (ii) making maximum-likelihood decisions using vector metric calculations which are determined by the selected run-length-limited modulation code and equalized linear channel response signal shape and are implemented by analog matched filters, analog comparators, and digital sequential finite-state machines matched to RLL-coded symbols. 
     BACKGROUND OF THE INVENTION 
     In a read channel, a read head (inductive or magnetoresistive) generates an analog signal from data stored in binary form on a disk. Each transition in the orientation of the recorded binary data results in a peak in the analog signal. In a channel using peak detection, the electronic components of the read channel must reliably detect the peaks in the analog signal in order to reconstruct the binary data. A peak is detected (1) if the signal changes its sign, (2) if it exceeds a threshold, and (3) if its derivative is zero. 
     Published European Patent Application 0 463 752 A2 discloses a pattern-matching circuit which compares bit by bit a given multibit binary data pattern against templates of various multibit patterns and then outputs as the most likely multibit pattern that one which most closely matches the given pattern. However, it does not teach matching of a binary pattern to an analog signal. 
     U.S. Pat. No. 4,945,538 discloses a signal processing channel which processes an analog read signal after it is converted by an analog-to-digital converter into digitized sample values. Appropriate values of functional expressions of the digitized sample values are precomputed for a preselected number of sample values ahead of a then current sample value for bit-by-bit maximum-likelihood (ML) detection. However, it does not disclose or suggest analog multibit ML detection, feedback of the ML decision for the purpose of intersymbol interference subtraction, or clock offset correction. 
     Commonly assigned U.S. Ser. No. 08/327,062, filed Oct. 21, 1994, discloses a signal processing channel in which a run-length-limited (RLL)-coded analog read signal is integrated and weighted by a preselected set of staircase amplifier gain factors to provide a plurality of staggered analog signals, each of which is constant for an identical preselected period of time (such as a half-bit period) but offset timewise in equal increments for detecting multibit patterns instead of single bits. However, it does not provide ML detection and/or feedback and it requires a half-bit clock. J. Walsh, &#34;A Closed Set of Normal Orthogonal Functions&#34;, American Journal of Mathematics, Vol. 45, pp. 5-24 (1923), explains what are hereinafter referred to as the &#34;Walsh functions&#34; and &#34;Walsh transform coefficients&#34;. 
     A. H. Morton et al., &#34;PRML Technology Delivers More Bytes for the Buck&#34;, Data Storage, May/June 1995, pp. 45-48, discuss PRML technology and (at page 48) describe the advantages of an EEPR4 RLL (1,7)-coded channel for writing and the need for a high-speed clock with such a channel when reading. This problem when reading is alleviated by applicants&#39;invention embodying a multibit ML symbol detector. 
     No prior art known to applicants discloses parallel ML processing of an analog signal in a RLL-coded channel in which (1) vectors for a current state of the channel and the next state of the channel are computed using Walsh transform vector coefficients of the analog signal; (2) current state vectors and next state vectors and values of constant vectors precomputed in analog matched filters are used to generate vector scalar products which are compared against preselected threshold values for generating binary decision outputs that are used in digital sequential finite-state machines that implement Boolean logic expressions to generate ML symbol decisions; and (3) ML symbol decisions are fed back and used to subtract the intersymbol interference value of the current state vector from the vector of the next state to transform the next state vector into an updated current state vector as well as to generate clock phase offset correction signals. 
     SUMMARY OF THE INVENTION 
     A method and apparatus are disclosed for parallel maximum-likelihood (ML) processing an analog signal in a run-length-limited (RLL)-coded channel. Values of symbols constituting analog-valued vectors are calculated in parallel from the analog signal by integrating, in parallel, the analog signal weighted by a preselected set of weighting functions orthogonal over a time duration representing a symbol period that is an integral multiple of a bit-dock period. The integrated outputs are held by integrating capacitors at the end of each symbol period. This requires two sets of integrator units, one of which is charging, while the other is discharging. 
     A minimum Euclidean distance for a finite list of symbol vectors constituting a set of all distinct RLL-coded signals having a duration equal to at least two symbol periods is computed for determining values of a ML signal-to-noise ratio (SNR) for an additive signal-independent noise. A state-dependent ML algorithm iterated during successive symbol periods is used for detecting RLL-coded bit patterns corresponding to successive values of the analog-valued vectors. The algorithm is used for calculating, in parallel, vector scalar products with fixed preselected symbol vectors matched to minimum Euclidean distance RLL-channel signal pairs having durations of the symbol period. 
     Analog matched filter units compare the values of said vector scalar products to values of preselected thresholds chosen such that a ratio of half of the distance of the threshold values to root mean square values of the additive noise at least equals the ML SNR for generating binary decision outputs. These binary decision outputs are used in conjunction with state values in the form of vectors corresponding to a current state of the channel for determining, sequentially, from the binary decision outputs a RLL-coded symbol constituting a nonambiguous ML decision or an error pointer. 
     Nominal intersymbol interference is subtracted from the state values of each respective current state for determining values which become updated current state values for the channel. All computations toward ML decisions are performed using Walsh transform coefficients. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIGS. 1A-1H depict all possible patterns for a four-bit EEPR4 RLL (1,7)-coded signal set and their corresponding signals, assuming a {1,3,3,1} analog readback pulse. 
     FIGS. 2A-2C depict two signals and their vector difference value in an EEPR4 channel, assuming no intersymbol interference. 
     FIG. 3 shows a ML filter matched to a minimum distance event depicted in FIGS. 2A-2C. 
     FIG. 4 is a schematic diagram of a RLL-coded signal processing channel embodying the invention. 
     FIGS. 5A and 5B are schematic diagrams which depict in greater detail an analog Walsh transform unit shown in FIG. 4 and one of the eight amplifier/integrator units 22 of the transform unit, respectively. 
     FIG. 6 is a schematic diagram depicting components of an analog vector symbol ML detector comprising parallel analog matched filter units and a digital sequential finite-state machine forming part of the channel shown in FIG. 4. 
     FIGS. 7A-7D depict in greater detail, respectively, each of the four parallel connected analog matched filter units shown schematically in FIG. 6, including the thresholds and binary decision outputs of each filter of each matched filter unit. 
     FIGS. 8A-8E depict, in greater detail, the components of the digital sequential finite-state machine shown in FIG. 6. 
    
    
     PRELIMINARY DESCRIPTION 
     FIGS. 1A to 1H illustrate all possible four-bit patterns m 1-m   8  for a four-bit EEPR4 RLL (1,7)-coded signal set and the signals corresponding to these respective patterns, assuming a {1,3,3,1} analog readback pulse. In these figures, p 1  -p 8  and s 1  -s 8  represent the values of the outputs of an analog Walsh transform vector generator, where p is the signal vector that corresponds to the first four bits and s is the signal vector that corresponds to the next four bits. Table 1 is a transition matrix for the RLL (1,7) four-bit patterns depicted in FIG. 1. 
     
                                           TABLE 1__________________________________________________________________________RLL (1,7)-coded Four-bit Symbol Transition Matrix (Prior Art)m.sub.1     m.sub.2             m.sub.3                   m.sub.4                         m.sub.5                               m.sub.6                                     m.sub.7                                           m.sub.8 ##STR1##        ##STR2##              ##STR3##                    ##STR4##                          ##STR5##                                ##STR6##                                      ##STR7##                                            ##STR8##__________________________________________________________________________m.sub.1 ##STR9##  0     1     1     1     1     1     1     1m.sub.1 ##STR10##  1     1     1     1     1     0     0     0m.sub.1 ##STR11##  1     1     1     1     1     1     1     1m.sub.1 ##STR12##  1     1     1     1     1     1     1     1m.sub.1 ##STR13##  1     1     1     1     1     0     0     0m.sub.1 ##STR14##  1     1     1     1     1     0     0     0m.sub.1 ##STR15##  1     1     1     1     1     0     0     0m.sub.1 ##STR16##  1     1     1     1     1     1     1     1__________________________________________________________________________ 
    
     FIGS. 2A and 2B depict two successive signals constituting a minimum distance peak shift event; and FIG. 2C represents a vector difference value between these two signals, assuming no intersymbol interference for a minimum distance event in an EEPR4 RLL (1,7)-coded channel. 
     FIG. 3 is a schematic diagram of a ML matched filter matched to the minimum distance event depicted in FIGS. 2A-2C, which represents a noiseless pair of signals without intersymbol interference. FIG. 3 depicts a matched filter approach similar to that disclosed in the above-cited U.S. Pat. No. 4,945,538. However, as will become apparent from subsequent descriptions, applicants use matched filters for filtering analog signals, instead of for generating digitized signal sample values. 
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     As illustrated in FIG. 4, the signal processing channel embodying the invention comprises a line 8 via which an analog readback signal, corrupted by noise, is read by a transducer 9, such as a magnetic or optical read head, from a magnetic or optical recording medium 10 in a digital data storage device. This readback signal corresponds to patterns of an n-bit RLL-coded analog data sequence, which as illustrated is a binary data sequence encoded with the (1,7) RLL code during a write operation. The readback signal is amplified by a preamplifier 11 with automatic gain control (AGC) and preferably equalized by an equalizer 12 that provides an EEPR4 {1,3,3,1} pulse shape. The equalized signal e(t) from equalizer 12 is passed to a peak detection timing unit 13 that generates a frequency adjustment signal Δω for a phase-locked (PLL) clock 14. The apparatus, as thus far described, may be similar to that used in a conventional peak-detection channel with (1,7) code. 
     According to the invention and as shown in FIG. 4, an analog Walsh transform vector generator-sampler unit 15 comprises a vector generator 16 and sampling switches 17 (only one shown), a clock 18 for providing symbol clock pulses every n cycles of the PLL clock 14 to define a symbol clock period; a ML symbol detector 19 for outputting to line 20 a ML n-bit decoded symbol corresponding to the equalized analog signal e(t), and a ML detection tracking unit 21 that is connected in parallel with ML symbol detector 19 and generates a phase-correction signal ΔΦ for transmission to clock 14. It will herein be assumed that n=4. 
     As illustrated in more detail in FIGS. 5A and 5B, equalized analog signal e(t) is integrated in parallel in the analog Walsh transform vector generator-sampler unit 15. As shown in FIG. 5A, vector generator 16 comprises two identical sets A and B, each having four integrator units 22. Each integrator unit 22e-22h in set A weights the signal e(t) by a different preselected Walsh weighting function to provide vectors [W 5 ,W 6 ,W 7 ,W 8  ] of four Walsh coefficients. Each integrator unit 22a-22d in set B weights the signal e(t) by the same set of different preselected Walsh weighting functions as in set A (e.g., integrator units 22e and 22a weight the same) to provide vectors [W 1 ,W 2 ,W 3 ,W 4  ] of four Walsh coefficients. 
     Vectors [W 5 ,W 6 ,W 7 ,W 8  ] will collectively, for simplification, be referred to as vectors W&#39;. These W&#39; vectors constitute lookahead symbols for a next state of the RLL channel following a then current state. The vectors [W 1 ,W 2 ,W 3 ,W 4  ], collectively to be referred to as vectors W, constitute symbols for the current state of the channel. 
     The equalized signal e(t) is continuous and is routed to each set A and B of integrator units 22. As shown in FIG. 5B, each unit 22 comprises a pair of amplifiers 23a, b; three switches 24a, b and 17; and a pair of capacitors 25a, b. Operation of switches 24a and 24b is controlled by the Walsh functions shown in FIG. 5A. Switch 24a a selectively connects amplifiers 23a and 23b with switch 24b. Switch 24b selectively connects to capacitors 25a and 25b. Switch 17, as earlier noted in FIG. 4, is actuated every symbol clock period (assumed herein as of four-bit duration); it selectively establishes connection with capacitor 25a or 25b. 
     As a result, the capacitors 25e-h of integrator units 22e-h constituting those of set A (FIG. 5A) will be charging during the first of two successive four-bit symbol clock periods and hold the lookahead vectors W&#39; whereas the capacitors 25a-d of the integrator units 22a-d the second of said four-bit symbol clock periods to hold the current state vectors W. 
     Referring now to FIG. 6, the W&#39; symbols [W 5 ,W 6 ,W 7 ,W 8  ] are routed in parallel via a delay unit 26 and an intersymbol interference subtraction unit 27 to a set 28 of analog matched filter units 30a-30d. Delay unit 26 delays the symbols [W 5 ,W 6 ,W 7 ,W 8  ] for one symbol period of four clock cycles duration. After this delay and the subtraction of intersymbol interference from the &#39; lookahead symbols [W 5 ,W 6 ,W 7 ,W 8  ] by unit 27 in the manner presently to be described, the lookahead symbols are transformed into W symbols [W 1 ,W 2 ,W 3 , W 4 ,] for an updated current state of the channel. 
     The vectors W&#39; and W are fed in parallel to the four analog matched filter units 30a-30d. These units 30a-30d calculate values of linear functions chosen to maximize Euclidean distances between vectors whose values are ambiguous in order better to distinguish between them. 
     The analog matched filter units 30a-d each implement the following three linear functions: 
     
         F.sub.1 =W.sub.1 -2W.sub.2 -2W.sub.4 -W.sub.5 
    
     
         F.sub.2 =W.sub.1 +3W.sub.2 +3W.sub.3 +W.sub.4 
    
     
         F.sub.3 =W.sub.1 +3W.sub.2 -1.2W.sub.4 +0.6W.sub.5 
    
     These functions are executed repeatedly four times on the coordinates [w 1 ,w 2 ,w 3 ,w 4 ,w 5  ], [w 2 ,w 3 ,w 4 ,w 5 ,w 6  ], [w 3 ,w 4 ,w 5 ,w 6 ,w 7  ], and [w 4 ,w 5 ,w 6 ,w 7 ,w 8  ]. 
     FIGS. 7A-7D shows in detail the binary decision outputs generated from the linear functions by the filter units 30a-30d, respectively. More specifically, units 30a-30d comprise filters 34a-34d, respectively, for implementing the linear functions F 1 , F 2 , F 3 . The linear functions F 1 , F 2 , F 3  output from each filter 34 (e.g., 34a as shown in FIG. 7A) six comparators 36a-36f which compare the respective function values with respective identical preselected threshold values in each of the four units 30a-30d to generate three respective outputs which are ANDed at 38a-38f to provide binary outputs 40a-40f, respectively, to digital sequential finite-state machine 32. More specifically and, for example, the six outputs 40a-40f of matched filter unit 30a for states A-F, respectively, constitute the finite-state machine inputs for bit 1 of the four-bit pattern, and the suffixes P and N denote that the polarity of the next transition beyond the three shown will be positive and negative, respectively. 
     Note that despite the similarity of threshold values in comparators 36a-36f for each matched filter unit 30a-30d, the ANDed outputs 40a-40f for each analog matched filter unit will differ because of the different values used in the linear functions F 1 , F 2 , F 3  for the respective matched filter units 30a-30d. 
     Also, according to a feature of the invention, these compare operations are performed in parallel with a delay of one analog multiplication operation to generate the six binary outputs of each of the four analog matched filter units 30a-30d, which outputs constitute the binary inputs for six distinct states A-F of the digital sequential finite-state machine 32. Finite-state machine 32 checks the sequence of the twenty-four binary decision outputs (the six outputs 40a-40f of each of the four matched filter units 30a-30d) from the twenty-four comparators 36 and decides on the most likely four-bit RLL pattern. 
     As shown in FIG. 6, finite-state machine 32 comprises four identical state checker units 42a, b, c, d; and four identical selector units 44a, b, c, d, one set for each decoded bit; a single decoder latch 46; and a single polarity latch 48 whose output 48&#39; indicates the polarity of a detected symbol DSYM. FIGS. 8A-8E show, more specifically, the components of finite-state machine 32. For example, FIG. 8A depicts a combination state checker unit 42a/selector unit 44a for bit I of the four-bit pattern. Unit 42a/44a comprises an inverter 50, six three-way AND gates 52a-f, six three-way AND gates 54a-f, and an OR gate 56. The + and - prefixes before the various inputs indicate positive or negative values for the states, detected symbols DSYM, and polarity. 
     The previously detected symbol P --  DSYM is used to determine the digital channel state, which is defined by its last three bits {P --  DSYM(2),P --  DSYM(1),P --  DSYM(0)} and the polarity of the next expected transition (PNET), as follows: 
     
         ______________________________________P.sub.-- DSYM(2)    P.sub.-- DSYM(1)               P.sub.-- DSYM(0)                          PNET   STATE______________________________________0        0          0          +      A-1       0          0          +      B0        -1         0          +      C0        0          0          -      D1        0          0          -      E0        1          0          -      F______________________________________ 
    
     The Boolean decision outputs 40 of the comparators 36 in FIGS. 7A-7D are labeled according to these states and expected polarity of the next transition. 
     Thus, the matched filter unit 30a has as outputs the states for BIT1 which have polarity N or P as shown in FIG. 7A. Similarly, FIGS. 7B, 7C, and 7D show all possible state outputs of units 30b, 30c, and 30d for BIT2,3,4, respectively. These states A-F are generated in parallel by the analog matched filter units 30a-d and fed to the sequential digital state machine 32 described in detail in FIGS. 8A-8E. Finite-state machine 32 checks the RLL constraints imposed by the (1,7)-code, and generally is designed to match the constraints of the RLL code used. 
     As illustrated in FIG. 8A, the last bit in the previously detected symbol, +DSYM --  BIT4, is inverted by inverter 50 and ANDed with all the incoming states. Thus, if the last bit in the previously detected symbol was a &#34;1&#34;, the &#34;0&#34; output of inverter 50a will be ANDed at 54a-f and provide &#34;0&#34; outputs to OR gate 56. Hence, the output +BIT1 will be &#34;0&#34; to avoid two successive &#34;1&#34; bits which would violate the constraints of the (1,7)-code. However, if the last bit in the previously detected symbol DSYM is a &#34;0&#34;, the selector unit 44 will select the state that is consistent with the expected polarity and previously detected bits. Thus, for example, if the previously detected bits -DSYM --  BIT2 and -DSYM --  BIT3 are &#34;0&#34; and the polarity is +, then AND gate 52a is activated and since BIT4 was &#34;0&#34;, the AND gate 54a is activated. Selector unit 44a will thus choose +STATE --  A --  BIT1 --  P as being the true state and BIT1 as &#34;0&#34; at the output of OR gate 56. 
     In FIG. 8B, which illustrates state checker unit 42b and selector unit 44b, +BIT1 is the input to the inverter 50. The output of inverter 50 is ANDed at 54a with all the possible states for BIT2 for again prohibiting the occurrence of two successive &#34;1&#34; bits. The operation of this circuit is identical with that of combination unit 42a/44a. Again, only one AND gate 54 is activated; namely, the one that corresponds to the actual previous two bits and the actual channel state for BIT2, as provided by the analog comparator outputs 40. As shown in FIG. 8B, the polarity of BIT1 and BIT1 itself, as detected in FIG. 8A, are XOR&#39;d at 58 to generate the polarity for BIT2. Similarly, the polarities for BIT3 and BIT4 are generated by XORing at 58 the detected BIT2 and BIT3, respectively, and then respective polarities as shown in FIGS. 8C and 8D. After BIT4 is detected and as shown in FIG. 8D, the final polarity for the detected symbol is determined by XORing at 59 the previously generated polarity from XOR 58 and the output from OR gate 56. 
     Once all four bits have been detected, they are used in conjunction with the previously detected symbol DSYM to cause a state error generator 60 (FIG. 6) to generate a state error pointer if the other (1,7)-code constraint, eight zeroes in a row, is violated. 
     FIG. 8E shows the latch 48 that generates the polarity output and the latch 46 that generates the four-bit detected symbol output. 
     The ML n-bit decoded symbol output, generically m k , is fed back via a branch of line 20 to intersymbol interference subtraction unit 27. The decoded symbol m k  will be one of the symbols m 1  -m 8  depicted in FIGS. 1A through 1H, respectively. Unit 27 subtracts the appropriate vector s 1-s   8  corresponding to the symbol m 1  -m 8 , respectively, from the next state vector W&#39; if the value of the corresponding P 1  -P 8  (FIGS. 1--1 to 1-8) is positive. If, however, the value of the corresponding P 1  -P 8  is negative, then unit 27 will subtract the inverted value of the corresponding s 1  -s 8 . The output from the subtraction unit becomes the vector W for the updated current state of the channel. 
     According to another feature of the invention, phase offset track functions are matched to the decoded symbol output of ML detector 19 by the ML detection tracking unit 21. Referring now to Table 2, m is the symbol variable that can be {m 1 , . . . , m 8  }. H(m) and k(m) are two phase offset track functions that are matched to the possible decoded symbol outputs 20 as shown. For example, if m=m 1 , then h(m) and k(m) are equal to 0. If m=m 2  or m 2 , then h(m) and k(m) assume the value |W 1  |, and so on as shown. 
     
                       TABLE 2______________________________________Phase-offset Track Function Matched to ML Detector Symbol Decisions______________________________________  #STR17## ##STR18##______________________________________ 
    
     For a EEPR4 signal, the average values of the phase offset track functions h(m) and k(m) have to be 1 and 3, respectively. If they are not, the phase of PLL clock 14 is shifted for maintaining the proper values of h(m) and k(m). Separate adjustment of PLL clock frequency by the peak detection timing unit 13 and of PLL clock phase by the ML detection phase tracking unit 21 enhances stability of the PLL clock 14 and minimizes jitter. 
     The invention has been illustrated with a finite-state machine designed for an EEPR4 RLL (1,7)-coded signal processing channel. However, it is to be understood that the analog matched filter units 30 and comparators 36 may be used for the detection of any four-hit RLL-coded data. Only the digital sequential finite-state machine described in FIGS. 8A-8E need be modified as appropriate by those skilled in the art for use with other RLL-coded channels. It will also be apparent that other modifications may be made in the invention as illustrated without departing from the spirit and scope of the invention. Hence, the invention should not be deemed limited except as proscribed in the following claims.