Patent Publication Number: US-6335949-B1

Title: Non-linear signal receiver

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a non-linear signal receiver, and more particularly, to a non-linear signal receiver for stably restoring the sampling time of a signal reproduced from a data storage device, taking in consideration non-linear distortion of the signal. 
     2. Description of the Related Art 
     In general, non-linearity becomes a serious problem as recording density increases in digital magnetic recording media such as a hard disk drive (HDD). Non-linearity is generated due to interactions between adjacent transitions. A demagnetization field of a previously recorded transition shifts the position of a subsequently recorded transition and increases the width between transitions. The adjacent transitions operate to erase each other. As a result, the amplitude of a reproduced signal is reduced. Such phenomenons are known as a non-linear transition shift (NLTS), a transition broadening, and a partial erasure. Such non-linear distortion adversely affects a series of processes for detecting data from the reproduced signal, and makes it difficult to search an accurate phase of the signal. In case that such non-linear distortion characteristic is not considered, timing jitter and bias become serious. 
     To solve the problems, U.S. Pat. No. 4,890,299 discloses a method for correcting the sampling phase of a partial-response (PR) signal without causing hangups in which the sampling phase correction is interrupted for a predetermined period of time. However, the method is effective on only linear signals. That is, it is difficult to apply this method to a signal having non-linear distortion. Also, other conventional methods for phase compensation have been based on the assumption that a signal is linear. Thus, these methods cannot be used for a signal having serious non-linear distortion. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a non-linear signal receiver for modeling signals sampled in consideration of past, current and future bit data, and correcting sampling-timing phase from the phase gradient among the sampled signals. 
     To achieve the object of the present invention, there is provided a non-linear signal receiver for detecting an original data a k  from an input signal r(t) which is a binary data stream input through a channel or reproduced from data recorded on a storing device, the receiver comprising: an analog-to-digital converter (ADC) for sampling the input value according to sampling timing phases, and converting the sampled data into a digital signal r k ; a modeling portion including 2N+1 taps P n  (n=−N, . . . , 0, . . . , N) each for selecting one of 2 τ+ν  tap values according to each pattern p n  (b k−n+ν:k−n+l , b k−n−1:k−n−τ ) of absolute values of the data transitions future ν bits and past τ bits, for estimating the channel characteristics of the sampled signal from the selected tap value and the data transition value; a timing recovery portion for controlling the sampling timing phase of the analog-to-digital converter using a phase gradient which is the difference between values of respective taps positioned symmetrically around the tap P 0  of the modeling portion; an equalizer for compensating for the deteriorated characteristics of the output value of the analog-to-digital converter; and a detector for converting the output of the equalizer to a digital value, to detect the original signal. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which: 
     FIG. 1 is a block diagram of a non-linear signal receiver according to the present invention; 
     FIG. 2 is a detailed block diagram of the modeling portion and the timing recovery portion of FIG. 2; 
     FIGS. 3A and 3B are graphs showing pulse samples according to timing phases; 
     FIG. 4 shows an example of the nth filter tap (P n , wherein n=−N, . . . , 0, . . . , N) of FIG. 2; and 
     FIG. 5 shows the results of a simulated phase correction using the non-linear signal receiver according to the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 1, a non-linear signal receiver according to the present invention includes an analog-to-digital converter (ADC)  100 , an equalizer  102 , a detector  104 , a modeling portion  106  and a timing recovery portion  108 . 
     The ADC  100  samples an analog signal r(t) received through a channel or reproduced from a data storage device, and converts the analog signal into a digital signal r k . The equalizer  102  compensates for the deteriorated characteristics of the input signal r k , and the detector  104  compares the output value of the equalizer  102  with a predetermined value to output a digital value. The modeling portion  106  does modeling on a channel using the output value of the detector  104  and the previously known data. The timing recovery portion  108  calculates a timing phase gradient from two of a plurality of tap values of the modeling portion  106 , and corrects a sampling-timing phase using the calculated gradient value. 
     FIG. 2 shows the modeling portion  106  and the timing recovery portion  108  of FIG. 1 in detail. The modeling portion  106  includes a non-linear filter  210  and an adder  220 . The non-linear filter  210  comprises a plurality of taps (P −N , . . . , P −1 , P 0 , P 1 , . . . , P N )  212  through  217 , and a first adder  211 . The timing recovery portion  108  comprises a second adder  241 , a first multiplier  242 , a third adder  243 , a first delay  244 , a second multiplier  245 , a fourth adder  246  and a second delay  247 . 
     The modeling portion  106  operates as follows. 
     After a binary data stream a k  (a k  is +1 or −1) is recorded on a data storage device and then reproduced therefrom, or received through a channel, a sampled signal r k  from the binary data stream is modeled in a pulse p n (·) which varies according to data patterns, through the plurality of taps of the non-linear filter  210  as follows. A difference e k  between the product of the modeled signal p n (·) and a predetermined data x k−n  and the input signal r k  is calculated by the adder  220  according to the Equation (1).                e   k     =       r   k     -       ∑     n   =     -   N       N            x     k   -   n              p   n          (       b     k   -   n   +     v   :     k   -   n   +   1           ,     b       k   -   n   -   1     ;     k   -   n   -   τ           )                     (   1   )                         
     In Equation (1), x k =(a k −a k−1 )/2=−1, 0 or +1; x k =−1 indicates the negative transition of data, x k =0 indicates no transition, and x k =+1 indicates positive transition of data. Also, b k =|x k |=1 or 0; b k =1 indicates that there is an occurrence of a transition and b k =0 means there is not an occurrence of a transition. b k−1:k−τ  represents τ data sets (b k−1 , b k−2 , . . . , b k−τ ) and a pulse p n  (b k−n+ν:k−n+1 , b k−n−1:k−n−τ ) has a value which varies according to the states of the transition b k−n+ν:k−n+1  of future ν bits and the transition b k−n−1:k−n−τ  of past τ bits in the respective samples n. 
     The data a k  and b k  input to the non-linear filter  210  are known data when the equalizer is trained and the data detected in advance during a detection of data. 
     p n (·) of Equation (1) can be expressed as Equation (2) by substituting a pattern state value s k .                        p   n          (       b       k   -   n   +   v     ;     k   -   n   +   1         ,     b       k   -   n   -   1     :     k   -   n   -   τ           )       =                  ∑     m   =   0       M   -   1              δ        (     m   -     s     k   -   n         )              p   n          (   m   )                       =                    i   ^       k   -   n     t            p   ^     n                     (   2   )                         
     In Equation (2), δ(m−s k−n ) is a delta function which has a value of 1 when m is equal to s k−n  and a value of 0 when m is not equal to s k−n , {circumflex over ( )} indicates vector representation and t indicates the transpose. Also, M is the number of pulses p n (·), which is equal to 2 τ+ν , and s k−n , î k−n  and {circumflex over (p)} n  are respectively expressed as the Equations (3), (4) and (5).                s     k   -   n       =         ∑     m   +   1     v            b     k   -   n   +   m            2     τ   +   m   -   1           +       ∑     m   =   1     τ            b     k   -   n   -   m            2     τ   -   m                     (   3   )                         î   k−n =[δ( s   k−n )δ( s   k−n −1) . . . δ( s   k−n   −M+ 1)] t   (4) 
     
       
           {circumflex over (p)}   n   =[{circumflex over (p)}   n ( 0 ) {circumflex over (p)}   n ( 1 ) . . .  {circumflex over (p)}   n ( M− 1)] t   (5) 
       
     
     In Equation (2), the pulse p n  (b k−n+ν:k−n+1 , b k−n−1:k−n−τ ) is the product of two vectors each of size M. Also, e k  of Equation (1) can be expressed as Equation (6) from Equation (2).                      e   k     =                  r   k     -       ∑     n   =     -   N       N            x     k   -   n              i   ^       k   -   n     t            p   ^     n                       =                  r   k     -       ∑     n   =     -   N       N              w   ^       k   -   n              p   ^     n                       =                  r   k     -         w   ~     k          p   ~                       (   6   )                         
     In Equation (6), ŵ k−n , {tilde over (w)} k  and {tilde over (p)} are respectively expressed as Equations (7), (8) and (9). 
     
       
           ŵ   k−n   =x   k−n   î   k−n   t   (7) 
       
     
     
       
           {tilde over (w)}   k   [ŵ   k+N   ŵ   k−1+N    . . . ŵ   k−N ]  (8) 
       
     
       {tilde over (p)}[p   −N   t   p   1−N   t    . . . p   N   t ] t   (9) 
     When s k−n  is equal to 0, transitions do not occur in future ν bits and past τ bits on the basis of the current data a k−n . Then, an optimal pulse {tilde over (p)} minimizing the mean square of the modeling error is obtained by Equation (10). 
     
       
           {tilde over (p)}=E{{tilde over (w)}   k   t   {tilde over (w)}   k } −1   E{{tilde over (w)}   k   t   r   k }  (10) 
       
     
     In Equation (10), E{·} indicates mean operation. The optimal pulse {tilde over (p)} can adaptively be calculated as Equation (11). 
     
       
           {tilde over (p)}={tilde over (p)}+μe   k   {tilde over (w)}   k   (11) 
       
     
     In Equation (11), μ indicates step size. 
     Equation (11) may be expressed in detail as Equation (12). 
     
       
           p   n ( i )= p   n ( i )+μ e   k   x   k−n δ( s   k−n   −i)   (12) 
       
     
     In Equation (12), n=−N, . . . , N and i=0, . . . , M−1. 
     Thus, the pulse p n (·) is updated only in the case where x k−n  is not equal to 0 and s k−n =1, and is maintained as the previous value in the other case. 
     The pulses do modeling on the channel characteristics of the sampling signal. Most channels from the hard disk drive (HDD) show nearly symmetric channel response. However, if the sampling phase is not precise, the pulses are asymmetric in the same analog signal. FIG. 3A shows the case where there is no phase difference between the pulses P 1  and P −1  due to the precise sampling phase, and FIG. 3B shows the case where a phase difference between the pulses P 1  and P −l  exists due to the phase delay caused by an inaccurate sampling phase. 
     Thus, if the sampling phase is not precise as in FIG. 3B, the phase difference must be corrected. The phase correction is achieved by the timing recovery portion  108 . The timing recovery portion  108  corrects the phase difference by using a timing phase information indicating the position of a pulse to be sampled from an asymmetrical pulse of the data pattern on which the non-linear effect is the least. Such correction is performed as follows. 
     First, a phase gradient z k  is calculated by the second adder  241  input from the taps P 1  and P −1  of the non-linear filter  210 , which is expressed as Equation (13). 
     
       
           z   k   =p   1 ( 0 )− p   −1 ( 0 )  (13) 
       
     
     A frequency difference Δ k+1  between the input signal and a local timing source is calculated by the first multiplier  242 , the third adder  243  and the first delay  244 , and a timing phase ξ k+1  is calculated by the second multiplier  245  and the fourth adder  246  and the second delay  247 , using the phase gradient z k , which are expressed as Equation (14). 
     
       
         Δ k+1 =Δ k   +β·z   k   
       
     
     
       
         ξ k+1 =ξ k   +α·z   k +Δ k+1   (14) 
       
     
     In Equation (14), the phase gradient z k  is equal to 0 when a pulse is symmetrical, and α and β represent step sizes. 
     When the data stored in a data storage device is reproduced by a magneto-resistive (MR) head, the reproduced signal has different characteristics according to its positive direction or its negative direction. For example, it is possible to consider the characteristic of the signal which varies according to the directions by adding the state of the current data to the pattern of the pulse. Namely, according to the added current data a k , the pulse is redefined as p n (b k−n+ν:k−n+1 , c k , b k−n−1:k−n−τ ) and variables c k , M, and s k  are redefined as Equation (15).                c   k     =     {               1   ,             if                   a   k       &gt;   0               0   ,         otherwise                       M     =       2     τ   +   v   +   1            
            s     k   -   n       =         c     k   -   n            2   τ       +       ∑     m   =   1     v            b     k   -   n   +   m            2     τ   +   m           +       ∑     m   +   1     τ            b     k   -   n   -   m            2     τ   -   m                             (   15   )                         
     The other equations are the same as those mentioned before. 
     FIG. 4 shows an example of the nth filter tap P n  (where n=−N, . . . , 0, . . . , N) of FIG.  2 . As shown in FIG. 4, the nth filter tap P n  (where n=−N, . . . , 0, . . . , N) having different tap values according to data patterns is constituted as follows. The nth filter tap P n  outputs a value of ŵ k−n {circumflex over (p)} n . 
     Buffers p n (i) (where i=0, 1, . . . , 2 τ+ν −1) store tap values with respect to each pattern. An initial value p n    0 (i) (where i=0, 1, . . . , 2 τ+ν −1) is designated when a control signal LOAD is on at the initial stage of the operation. In FIG. 4, reference numerals  400  and  405  represent the 0th and (2 τ+ν −1)th buffers, respectively. 
     A tap value multiplexer  410  receives the pattern b k−1−n:k−t−n  of the past τ bit transition absolute value and the pattern b k−n−−ν:k−n+1  of the future ν bit transition absolute value, to output one among the buffer values p n (i) (where i=0, 1, . . . , 2 τ+ν −1) of 2 τ+ν . The result corresponds to the operation î k−n   t {circumflex over (p)} n  of Equation (3). 
     A sign selector  425  and a current transition presence selector  430  provide the same result as the product of the output value î k−n   t {circumflex over (p)} n  of the tap value multiplexer  410  and x k−n . The sign selector  425  selects the output value of the tap value multiplexer  410  when a k−n  is 1 and the product of the output value of the tap value multiplexer  410  and −1 when a k−n  is 0. The above process is the same as the process of multiplying x k−n  with the output value of the tap value multiplexer  410  under the assumption that b k−n =1. Then, the current transition presence selector  430  selects either the output value of the sign selector  425  or 0 according to b k−n . 
     As a result, the output value of the current transition presence selector  430  is ŵ k−n {circumflex over (p)} n ={circumflex over (x)} k−n î k−n   t {circumflex over (p)} n , which is the output value of the nth filter tap P n . 
     Simultaneously, the nth filter tap P n  updates the tap value according to Equation (12) using the error e k . 
     An updated tap value multiplexer  435  selects one among the output values of the buffers P n (i) (where i=0, 1, . . . , 2 τ+1 −1) according to the input values of the future ν bit transition b k−n+ν:k−n+1  and the past τ bit transition b k−n−1:k−n−τ . Then, an increased/reduced value calculator  440  receives a k−n , μ and the error e k  to calculate μa k−n e k , and the updated tap value calculator  445 , an adder, adds μa k−n e k  to the output value of the updated tap value multiplexer  435 . 
     An updated tap value demultiplexer  450  receives the future ν bit transition b k−n+ν:k−n+1  and the past τ bit transition b k−n−1:k−n−τ and outputs 2 τ+ν  values. Here, only one of the output ports of the updated tap value demultiplexer  450  have a value of 1, and the remaining output ports of 2 τ+ν −1 have a value of 0. That is, the updated tap value demultiplexer  450  selects one among the 2 τ+ν  buffers p n (i) (where i=0, 1, . . . , 2 τ+1 −1) according to the future ν bit transition b k−n+ν:k−n+1  and the past τ bit transition b k−n−1:k−n−τ . When a control signal UPDATE is high and b k−n  is 1, the output value of the updated tap value calculator  445  is provided to the selected buffer. When the control signal UPDATE is low or b k−n  is 0, the original tap value is maintained. 
     FIG. 5 shows the results of the phase correction by the non-linear signal receiver according to the present invention, which is obtained through simulation. A non-linear signal used in the simulation is as follows. 
     First, a channel data r k  for testing the performance of the present invention is generated by Equation (16). The channel signal r k  with respect to the binary data a k (=+1 or −1) and x k =(a k −a k−1 )/2 obtained by encoding a random binary data stream using RLL( 0 , 4 / 4 ) are the sum of data x k  affected by a gain g k  and the phase ε k  of the pulse h(t), and white Gaussian noise n k .                r   k     =         ∑     m   =     -   N       N            x     k   -   m            g     k   -   m            h        (     mT   +     ε     k   -   m         )           +     n   k               (   16   )                         
     In Equation (16), T indicates sampling period. 
     Here, the pulse h(t) is expressed as Equation (17).                h        (   t   )       =       [     1   +       (     2        t   /     pw   50         )     2       ]       -   1               (   17   )                         
     In the equation (17), pw 50  is supposed to have the value of 2.5×(9/8). The amplitude of the noise added is defined by Equation (18). 
     
       
           SNR   mfb   =E{[h ( kT )− h ( kT−T )] 2   }/E{n   2   k }  (18) 
       
     
     In Equation (18), E{·} indicates mean operation. 
     Changes in gain and pulse phase according to the presence of data transition are shown in the following Tables 1 and 2. 
     
       
         
           
               
               
               
             
               
                 TABLE 1 
               
               
                   
               
               
                 b k − 1   
                 b k + 1   
                 g k   
               
               
                   
               
             
            
               
                 0 
                 0 
                 1 
               
               
                 0 
                 1 
                 γ 
               
               
                 1 
                 0 
                 γ 
               
               
                 1 
                 1 
                 γ 2   
               
               
                   
               
            
           
         
       
     
     
       
         
           
               
               
               
             
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 b k − 1   
                 ε k /T 
               
               
                   
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                   
                 0 
                 0 
               
               
                   
                 1 
                 0.5 
               
               
                   
                   
               
            
           
         
       
     
     As shown in FIG. 5, the initial phase error of the non-linear signal described above was 50% and the phase error decreased with the passing of time. A plot indicated by reference numeral  500  corresponds to the case of using a linear pulse of ν=0, τ=0 and N=1 (N represents the size of filter taps), and a plot indicated by reference numeral  502  corresponds to the case of using a linear pulse of ν=0, τ=0 and N=6. In both cases of using the linear pulse, a bias of a timing phase exists, so that timing jitter is considerably great. Also, a plot indicated by reference numeral  504  corresponds to the case of using a pattern dependent pulse of ν=1, τ=1 and N=1, in which there is no bias of the timing phase and the jitter is relatively small. 
     As described above, in the non-linear signal receiver according to the present invention, an accurate timing phase can be found using the model in which a non-linear channel of a high-density digital magnetic storing device is expressed as transition pulses selected according to the future ν bits and the past τ bits, thereby reducing timing jitter and bias. Also, by selecting τ, ν and N of the pulse model, the performance and complexity in correction of timing phase can appropriately be traded off. Also, a hangup phenomenon in which the sampling phase correction is interrupted for a predetermined period of time does not occur.