Abstract:
A method and apparatus for the recovery of information via asynchronous signal sampling of coded analog waveforms by double interpolating values into the train of asynchronously sampled signals prior to the train being applied to a synchronous detector. The double interpolation includes averaging successive sample signals and midpoint interpolating them between the sample, and then interpolating signals between the sample signals and midpoint signals closest to predicted synchronous points. This double interpolation facilitates low sampling rates while still effectuating accurate synchronous digital detection.

Description:
FIELD OF THE INVENTION 
     This invention relates to the recovery of digital information impressed synchronously on an analog waveform via asynchronous signal sampling of waveforms as received from communication channels, tracked magnetic or optical storage devices, or the like. More particularly, the invention relates to interpolating signals between the asynchronously sampled signals at predetermined points in order to recover the synchronous sample amplitudes. 
     DESCRIPTION OF RELATED ART 
     It is well appreciated that coded signals are written onto a recording medium, such as tracked moving magnetic or optical storage, at a predetermined rate. Illustratively, synchronous sample amplitudes may assume the values of A, 0, and -A. To recover these samples requires an analog oscillator locked with the samples in phase and frequency. 
     The analog phase loop can be eliminated with asynchronous sampling. In this specification, the term &#34;asynchronous sampling&#34; means &#34;nonsynchronous sampling&#34;. It should also be appreciated that asynchronous sampling occurs in a time-independent manner of the synchronous rate. 
     Suppose a given waveform ƒ(t) is asynchronously sampled to produce a train of equally-space-apart sample amplitudes S 1 , S 2 , S 3 , . . . , S j , S k , . . . , S n . Further, suppose it was desired to linearly interpolate a value I at some distance h between successive samples S 1  and S 2 . Conceptually, a straight line would be extended between the ordinal values of S 1  and S 2 . The value of I is the ordinal value intersecting the straight line at distance h along the abscissa from S 1  toward S 2 . Algebraically, if the distance between S 1  and S 2  is taken as unity, then generally I=hS 1  +(1-h)S 2 . 
     Melas et al., &#34;An Asynchronous Fully Digital Channel for Magnetic Recording&#34;, IEEE Globecom Conference Record, 1994, pp. 1144-1147, described a linear interpolator employing the above principles. In Melas&#39; channel application, synchronous sample magnitudes {I} and their distances {h} to asynchronous samples are computed. In Melas&#39;system, the synchronous sample amplitude I is interpolated from a pair S I  and S 2  of asynchronous samples and then fed to a timing evaluator. The timing evaluator then sends back the next value of h. In this regard, h is the distance between I and S 1  and I=hS 1  +(1-h)S 2 . 
     If a waveform is not linear between asynchronous samples, linear interpolation error could be significant. This derives from the fact that the interpolated value is a function of the sampled magnitudes. Thus, any results obtained by circuits which process the train of sample and interpolated values will be in error by the difference between the waveform magnitude and the ordinal value intersecting the straight line connecting the two samples at any given point in time. One prior art solution was to increase the sampling rate. However, increasing the sample rate also affects many aspects of the physical design, including increased circuit complexity, cost and adverse performance. 
     SUMMARY OF THE INVENTION 
     It is an object of this invention to devise a method and apparatus for recovering digital waveform information via asynchronous signal sampling of waveforms as received from communication channels, tracked magnetic or optical storage devices, or the like. 
     It is a related object that such method and apparatus utilize the interpolation of signals between the asynchronously sampled signals at predetermined points in order to facilitate low sampling rates while still effectuating synchronous digital detection. 
     It is yet another object that said method and apparatus reduce computational and control complex in the readback channel of a tracked recording device or the like. 
     These objects are attained in a sample amplitude channel according to the invention. In this channel, a sequence of samples S j , S k , . . . are asynchronously obtained from a waveform, the waveform having been impressed with synchronous information. Next, midpoint values J j  are interpolated between each predecessor S j  and successor sample S k  by a first filter, each midpoint value being a weighted average of the counterpart predecessor and successor samples. The sequence is modified to appear as S 1  J 1  S 2  J 2  S 3  J 3  . . . . This is followed by linearly interpolating estimates V of coded values at predicted synchronous points in the modified sequence . . . , S j , J j , S k  by a second filter. Relatedly, each V j  estimate of a coded value is a weighted average of a sample and a midpoint value as, for instance, one of the ordered pairs (S j , J j ,) or (J j , S k  bounding a predicted synchronous point. Lastly, a phase-lock timing generator responsive to the sample sequence S 1 , S 2 , S 3 , . . . , S j , S k , . . . and to the linearly interpolated modified sequence such as . . . , S 1 , J 1 , V 1 , S 2 , J 2 , V 2 , S 3 , J 3 , S 4 , V 4 , J 4 , . . . generates indicia of the predicted synchronous points and applies the indicia to the second filter. 
     In the asynchronously sampled read channel, the phase-lock timing loop includes circuits for ascertaining a fractional time displacement h between the occurrence of each sampled value S j  of those successive ordered pairs either (S j , J j ) or (J j , S k ), of the modified sequence bounding a predicted synchronous point. This displacement h is measured from the counterpart sample S j  toward S k . The second filter is responsive to the displacement h, and further includes circuits for interpolating each estimate V j  in the modified sequence. In the event that h&lt;0.5, then the predicted synch or insertion point for V is taken to be at a distance h&#39;=2h from S j  toward J j . However, in the event that h≧0.5, then the predicted synch or insertion point for V is taken to be at a distance h&#39;=2h-1 from J j  toward S k . When the value of h={0.0, 0.5, or 1.0}, then the predicted synch or insertion point is the same as the sampled point. This means that the sample value taken at that point is the coded value so the linear interpolation can be suspended for those points when they occur. 
     It should be noted that the doubly interpolated, sampled sequence provided by the method and apparatus of this invention is then applied to a sequential detector appropriate for the original form of modulation. If the values {A, 0, or -A} were the ones originally coded on a partial-response type 4 waveform and recorded, then on readback, the sequence as processed by this invention would be applied to a sequential detector of maximum likelihood (Viterbi) type. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 depicts a partial control and data flow for a cyclic, multitracked disk storage device according to the prior art and having a read channel for sampling the readback signal from the disk drive. 
     FIG. 2 shows the block level flow of a digital signal extractor implementing a part of a prior art asynchronous sampling read channel. 
     FIG. 3 shows a block level flow of an asynchronous sampling read channel according to the invention. 
     FIG. 4 sets out a partial-response coded analog waveform with asynchronous sampling and two levels of interpolation being superimposed thereon according to the invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     It should be appreciated that this invention pertains wherever coded analog signals are asynchronously sampled. This includes communications systems and information recording and storage systems. In the following paragraphs, a disk storage device is described as a host for the invention. This is merely illustrative and should not be construed as limiting. 
     Referring now to FIG. 1, there is depicted a partial control and data flow for a cyclic, multitracked disk storage device according to the prior art. Relatedly, the preferred embodiment of this invention is sited in the channel electronics portion 63 of this device. Briefly, when data is to be written on a cyclic, multitracked disk 27, a write command including an address is streamed across the device attachment interface. An access path to the disk tracks of interest is processed by a control path including a sequencer, a control processor, and a servo processor and logic. These cause a head-disk arm (HDA) assembly to be moved to the target track. Concurrently, data is streamed across the interface and temporarily stored in a circular or double buffer 15. 
     The device controller coordinates moving the data out from the buffer 15 through a write path portion of the channel electronics 63 for recording on the track via signals applied to head 25. The data in the form of a binary stream of 1&#39;s and 0&#39;s is mapped into codewords of either a block error correction code or into a convolutional code such as that of a partial-response 4 by an encoder 17. It may further be mapped into a run-length-limited code for channel spectral shaping purposes by another shaper and encoder 19, or it may be applied directly to the head. Significantly, the coded analog signals are applied to the head 25 over path 23 and recorded at a predetermined rate. 
     Suppose an analog signal is amplitude encoded with the values A, 0, -A. That is, the points in time when the signal magnitude assumes one of the three values are the points of sampling interest when the signal is read back and the coding is to be recovered. The rate at which these coding points are recorded is termed the writing rate or synchronization rate. 
     When data is to be recovered from a given disk track, the HDA is positioned and the data streamed from the head through the channel interface 21 and applied to digital signal extractor 33. Extractor 33 converts the analog waveform on path 31 to a series of coded sequences. These coded sequences are passed to a formatter 35 over path 34 and an ECC decoder 37 where they are mapped over to counterpart 1&#39;s and 0&#39;s of the original data binary stream and placed in buffer 15 for transfer across the interface in response to a read request. 
     Referring now to FIG. 2, there is shown the block level flow of a digital signal extractor 33 implementing a part of a prior art asynchronous sampling read channel as depicted in FIG. 2 of the aforementioned Melas publication. An analog signal or waveform read back from the disk track on path 31 is applied to analog-to-digital converter 201. This converter is sampled by a sampling clock 203 at a rate higher than the synchronous or writing rate. The sampled values are passed through an equalizer 205. The equalizer 205 can be a finite impulse response filter (FIR) or the like. The equalized sample signals S 1 , S 2 , . . . , S n  are then applied to a linear interpolator 207. The interpolator 207 output drives a timing loop formed from a linear interpolator 207 and a timing generator 209. In this configuration, the linear interpolator 207 supplies value I to the timing generator 209. The latter computes a time displacement parameter h and feeds h back to the interpolator 207 over path 210. 
     In the embodiment of FIG. 2, the linear interpolator 207 ascertains the amplitude of the value I to be inserted as a weighted function of at least two asynchronous samples S and of the displacement parameter h. Restated in mathematical terms, I=ƒ(h, S 1 , S 2 , . . . , S n ). In this regard, h is the time between the interpolated value I and the nearest asynchronous sample. If the interpolation is linear, then I may be expressed as I=S 1  +h(S 2  -S 1 ). 
     In this prior art embodiment, the timing generator 209 estimates the position of the next interpolated value I from two or more prior interpolated values and the time or displacement h from that position to the nearest asynchronous sample S. 
     Referring now to FIG. 3, there is shown a block level flow of an asynchronous sampling read channel according to the invention. Typically, an analog signal is encoded as a partial-response type 4 signal and recorded on a disk or other tracked storage medium at a synchronous rate ω. At a subsequent time, the recorded signal is read back over path 31 applied to an analog-to-digital converter 301. Here, it is sampled by clock 303 asynchronously at a rate θ&gt;ω in the range 1.0ω&lt;θ&lt;1.3ω. Preferably, the sampling rate θ should be no more than 5 to 10 percent of the synchronous rate ω. The samples are then applied to an equalizer 305 where adjustments are made in the amplitude and phase relations among the sample signal components to compensate for any undue attenuation or time delays. The equalizer 305 is preferably implemented in the form of an FIR or transversal filter. The equalized samples S 1 , S 2 , . . . S j , S k , . . . are then applied sequentially to a midpoint interpolator 306. The sequence, including the midpoint values, is then applied to a linear interpolator 307. The output of the linear interpolator 307 is concurrently applied to a detector 311 and is fed back over path 312 to a timing generator 309. 
     As will be described subsequently, the midpoint interpolator 306 ascertains a weighted sum J j  from each preceding S J  and succeeding sample S k  and inserts (intepolates) J j  at a midpoint there between. This can be symbolically expressed in a modified sequence as S 1 , J 1 , S 2 , J 2 , S 3 , . . . . The midpoint interpolator 306 can also be convenienty implemented as an FIR or transversal filter. The linear interpolator 307 and the timing generator 309 operate so as to estimate values V that would occur at predicted synchronous points as a function of the samples S, the midpoint values J, and an estimated displacement h. 
     The midpoint interpolation coefficients are pairwise identical. Thus, for a six-tap FIR, only three different coefficients are used. This symmetry substantially reduces signal processing complexity. Illustratively, for a six-tap FIR, the midpoint sample J halfway between S 3  and S 4  could be expressed as: 
     
         J=0.05S.sub.1 -0.15S.sub.2 +0.6S.sub.3 +0.6S.sub.4 -0.15S.sub.5 +0.05S.sub.6. 
    
     The midpoint interpolator FIR filter coefficients are those of a Kaiser-windowed (beta=3) type II low-pass filter. This FIR-windowed, low-pass filter is of a type described by Oppenheim et al., &#34;Discrete Time Signal Processing&#34;, Prentice Hall, Inc., 1989, at page 258. The Kaiser window is described at page 452 of this reference. 
     Referring now to FIG. 4 when taken together with FIG. 3, there is shown a partial-response coded analog waveform (PR type 4) with asynchronous sampling and two levels of interpolation being superimposed thereon according to the invention. The waveform is depicted as a dashed amplitude varying line over time. It would be applied to the A/D converter 301 via path 31. The waveform constitutes a continuous function nominally in the amplitude range between +1 and -1. This range is depicted as the ordinate on the left-hand side of the figure. 
     In FIG. 4, the asynchronous samples are set out as labeled ordinal points S 1 , S 2 , S 3 , . . . , as are the midpoint values J 1 , J 2 , J 3 , . . . . In the PR4 waveform, the coding events of interest occur when the waveform amplitude assumes either a +1, 0, or -1 value. These coding events or values are labeled V 1 , V 2 , V 3 , . . . dashed ordinal lines spaced apart approximately 1/ω units of time on the abscissa. Relatedly, the asynchronous samples S 1 , S 2 , S 3 , are space apart approximately 1/θ time units. Since θ≈1.1ω, then on the timeline in FIG. 4, 1/θ≈0.90/ω. This means that there should be a greater number of asynchronous samples S than synchronous values V. 
     It should be noted that the interpolated values J 1 , J 2 , J 3 , . . . are placed at midpoint between two successive asynchronous samples S 1  and S 2 . They form a modified sequence S 1 , J 1 , S 2 , J 2 , S 3 , J 3 , . . . . Significantly, the midpoint interpolator 306 uses an estimator of the form J=0.05S 1  -0.15S 2  +0.6S 3  +0.6S 4  -0.15S 5  +0.05S 6 . 
     The method of the invention comprises the steps of (a) obtaining asynchronous sample values S; (b) deriving the midpoint values J between and from each two consecutive sample S values; and (c) ascertaining the point or location of an estimated coded value V between a sample value S and its contiguous midpoint value J by linear interpolation. 
     In FIG. 4, the vertical grid values V are the &#34;actual values&#34; to be estimated (interpolated) after the midpoint interpolation. This means that only those pairs of S and J values bounding a vertical dashed line V are of interest. These are either of the form S j , V j , J k  or J k , V j , S k  and only where V j  assumes one of the three values +1, 0, or -1. 
     More generally, given an amplitude-coded analog waveform, if the waveform were ideally sampled, then time occurrences of the coded values V={1, 0, and -1} could be linearly interpolated from a series of asynchronous samples occurring at or near the writing rate. First, midpoint values J occurring between each two successive samples S 1 , S 2  would be determined. Second, the location (synchronous point) between those pairs of S and J bounding where V is expected to assume any one of the three values 1, 0, or -1 must be estimated. 
     Referring again to FIG. 4 when taken together with FIG. 3, three pieces of information are required for the linear interpolation of the estimated values V at the predicted synchronization points. These are the amplitude of the asynchronous sample S, the amplitude of the midpoint value J, and a displacement h in the range 0≦h≦1. 
     The parameter h represent the relative (fractional) time distance from the S j , to V j  between S j  and S k . In FIG. 4, V 1  occurs between S 1  and S 2  for an h=0.95. Likewise, V 2  occurs between S 3  and S 4  for an h=0.05. Similarly, V 3  occurs between S 4  and S 5  where h=0.10, etc. The pattern of variation of h over successive samples in FIG. 4 is set out in the following table: 
     
         ______________________________________Predicted Synch        V Occurring BetweenPoint for V  Asynch Samples S.sub.j  and S.sub.k                        Parameter h______________________________________V.sub.1      S.sub.1  S.sub.2                        0.95V.sub.2      S.sub.3  S.sub.4                        0.05V.sub.3      S.sub.4  S.sub.5                        0.10V.sub.4      S.sub.5  S.sub.6                        0.20V.sub.5      S.sub.6  S.sub.7                        0.40V.sub.6      S.sub.7  S.sub.8                        0.50V.sub.7      S.sub.8  S.sub.9                        0.60V.sub.8      S.sub.9  S.sub.10                        0.75V.sub.9      S.sub.10  S.sub.11                        0.90V.sub.10     S.sub.11  S.sub.12                        0.95V.sub.11     S.sub.13        1.00______________________________________ 
    
     As may be apparent, the parameter h is a function of asynchronous samples S and is determined by a timing algorithm. A timing algorithm in principle seek to derive distance along the time axis or abscissa from some reference point such as a first sample to some intermediate point as a function of the amplitudes of a first and second sample. Consider a waveform, such as a sine wave, that is known to continuously vary in amplitude between +1 and -1. If this sine wave were sampled at slightly higher than the synchronous rate, then the difference in sample values would provide some indications of the time or phase position of the samples relative to the sine waveform. If S 1  -S 2  =0, then both samples are being symmetrically taken at 45 and 135 degrees or at 225 and 315 degrees. If S 1  -S 2  =+1, then the samples are being taken at 90 and 180 degrees. Similarly, if S 1  -S 2  =-1, then the samples are being taken at 0 and 90 degrees or at 270 and 360 degrees. Given that S 1  -S 2  =0.707, it should then be straightforward to estimate the distance from S 1  to the nearest synchronization point in the direction between S 1  and S 2 . 
     From the table and FIG. 4, it may be observed that over a succession of S j  S k  intervals, the h values gradually increase discretely from 0.0, 0., 0.3, 0.5, 0.8, 1.0, . . . . Thus, when h=0, then no interpolation is needed since the sample value is the estimated synchronous value or V=S. Also, when h=0.5, then no interpolation is needed since the value is V=J. Restated, interpolation is not needed for h={0.0, 0.5, and 1.0}. 
     As previously mentioned, each synchronization point is bounded either by an (S, J) or a (J, S) ordered pair. It also follows from the table and FIG. 4 that if h&gt;0.5, then the bounding pair is (J, S); whereas if h&lt;0.5, the bounding pair is (S, J). 
     The question arises as to whether there exists an interpolated value V for every asynchronous sample interval S j , S k . The answer is clearly in the negative. Since the asynchronous sampling rate θ&gt;ω, then some of the synchronous points V j  will not lie between an asychronous point S and a midpoint J. This means that if θ/ω=11/10, then the algorithm for generating h would be modified to include a provision for suspending an output h on every eleventh asynchronous sample. 
     It should be emphasized that the method and apparatus of the invention permit asynchronous sampling at near synchronous (write rate) by increasing the number of asynchronous samples for synchronous detection purposes through interpolating synchronous points. It should also be emphasized that the parameter h is a fractional number between 0 and 1. It is the distance between asynchronous sample S and nearest synchronized sample V relative to the distance between two successive samples S. However, if h=0.1 between two asynchronous samples S j  and S j  +1 and if there is a midpoint value J there between, then the value h&#39; representing that distance is actually doubled. That is, the value applied to or used by the linear interpolator is h&#39;=2h. Restated, the linear interpolator 307 as driven by the midpoint interpolator 306 must operate as if the h&#39; value applied to it were 2*h, where h is determined by timing generator 309. 
     The h values are always measured from an asynchronous point S. The predicted insertion point for V is at h&#39;=2h. Where h&gt;0.5 and h&#39;&gt;1.0, then the insertion point for V does not fall between the S j  and J j . Rather, it falls between J j  and S k . Thus, for h&gt;0.5, then h&#39;=2h-1 and the insertion point V is measured from the midpoint J value. 
     Referring again to FIG. 3, the linear interpolator 306 can be implemented to include an FIR filter. Once the value of h is provided by the timing generator 309, then the interpolation point can be ascertained and the synchronous value estimated by a weighted valuation of the bounding S and J magnitudes 
     While the invention has been described with respect to an illustrative embodiment thereof it will be understood that various changes may be made in the method and means herein described without daparting from the scope and teaching of the invention. 
     Accordingly, the described embodiment is to be considered merely exemplary and the invention is not to be limited except as specified in the attached claims.