(
4 of 40 ) |

United States Patent |
6,438,180 |

Kavcic and Moura |
August 20, 2002 |

Soft and hard sequence detection in ISI memory channels

A method of determining branch metric values in a detector. The method includes receiving a plurality of time variant signal samples, the signal samples having one of signal-dependent noise, correlated noise, and both signal dependent and correlated noise associated therewith. The method also includes selecting a branch metric function at a certain time index and applying the selected function to the signal samples to determine the metric values.

Inventors: | Kavcic; Aleksandar (Cambridge, MA);
Moura; Jose M. F. (Pittsburgh, PA) |

Assignee: | Carnegie Mellon University (Pittsburgh,
PA) |

Appl. No.: | 259195 |

Filed: | March 1, 1999 |

Current U.S. Class: |
375/341; 714/796 |

Intern'l Class: |
H03D 001/00 |

Field of Search: |
375/262,265,285,340,341,343,348 714/791,792,793-796,716,719,722 |

5689532 | Nov., 1997 | Fitzpatrick | 375/341. |

5737342 | Apr., 1998 | Ziperovich | 714/736. |

5781590 | Jul., 1998 | Shiokawa et al. | 375/341. |

5784415 | Jul., 1998 | Chevillat et al. | 375/341. |

5844946 | Dec., 1998 | Nagayasu | 375/341. |

5856983 | Jan., 1999 | Okazaki | 371/21. |

5862192 | Jan., 1999 | Huszar et al. | 375/347. |

5914988 | Jun., 1999 | Hu et al. | 375/341. |

5920599 | Jul., 1999 | Igarashi | 375/341. |

5937020 | Aug., 1999 | Hase et al. | 375/376. |

5970091 | Oct., 1999 | Nishida et al. | 375/231. |

5978426 | Nov., 1999 | Glover et al. | 375/376. |

6005731 | Dec., 1999 | Foland, Jr. et al. | 360/53. |

6104766 | Aug., 2000 | Coker et al. | 375/341. |

6201839 | Mar., 2001 | Kavcic et al. | 375/341. |

6215831 | Apr., 2001 | Nowack et al. | 375/340. |

Nakagawa et al., "A Study on Detection Methods of NRZ Recording", IEEE Trans. On Magnetics, vol. MAG-16, No. 1, pp. 104-10, Jan. 1980. Chevillat et al., "Noise-Predictive Partial-Response Equalizers and Applications," IEEE CC '92 Conference Record, pp. 942-947, Jun. 1992. Zeng et al., "Modified Viterbi Algorithm for Jitter-dominant 1-D.sup.2 Channel," IEEE Trans. On Magnetics, vol. 28, No. 5, pp. 2895-2897, Sep. 1992. Lee et al., "Performance Analysis of the Modified Maximum Likelihood Sequence Detector in the Presence of Data-dependent Noise", Proceedings of the 26.sup.th Asilomar Conference, pp. 961-964, Oct. 1992. Zayad et al., "Comparison of Equalization & Detection for Very High-Density Magnetic Recording," IEEE Intermag Conference, Apr. 1997. Bahl, et al., "Optimal Decoding of Linear Codes for Minimizng Symbol Error Rate," IEEE Transactions on Information Theory, pp. 284-287, Mar. 1974. Heegard et al., Turbo Coding, 1999, Kluwer Academc Publishers, pp. 121-164. |

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH

This invention was supported in part by the National Science Foundation under Grant No. ECD-8907068. The United States Government has certain rights in this invention.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 09/055,003, filed Apr. 3, 1998, which claims priority to Provisional Ser. No. 60/046,006, filed May 9, 1997, under 35 U.S.C. Section 119(e).

What is claimed is:

1. A method of determining branch metric values in a detector, comprising:

receiving a plurality of time variant signal samples, the signal samples having one of signal-dependent noise, correlated noise, and both signal dependent and correlated noise associated therewith;

selecting a branch metric function at a certain time index; and

applying the selected function to the signal samples to determine the metric values.

2. The method of claim 1, wherein the branch metric function is selected from a set of signal-dependent branch metric functions.

3. The method of claim 1, wherein the detector is a hard decision detector.

4. The method of claim 1, wherein the detector is a soft decision detector.

5. The method of claim 1, wherein the detector is selected from a group consisting of a Viterbi detector, a soft output Viterbi detector, a Generalized Viterbi detector, and a BCJR detector.

6. A method of detecting a sequence that exploits a correlation between adjacent signal samples for adaptively detecting a sequence of symbols through a communications channel having intersymbol interference, comprising:

(a) performing sequence detection on a plurality of signal samples using a plurality of correlation sensitive branch metrics;

(b) outputting a delayed decision on a transmitted symbol;

(c) outputting a delayed signal sample;

(d) adaptively updating a plurality of noise covariance matrices in response to the delayed signal samples and the delayed decisions;

(e) recalculating the plurality of correlation sensitive branch metrics from the noise covariance matrices using subsequent signal samples; and

(f) repeating steps (a)-(e) for every new signal sample.

7. The method of claim 6, wherein the channel has nonstationary noise.

8. The method of claim 6, wherein the channel has nonstationary signal dependent noise.

9. The method of claim 6, wherein performing a sequence detection includes performing a hard Viterbi sequence detection.

10. The method of claim 6, wherein performing a sequence detection includes performing a soft Viterbi algorithm sequence detection.

11. The method of claim 6, wherein performing a sequence detection includes performing a BCJR sequence detection.

12. The method of claim 6, wherein performing a sequence detection includes performing a generalized Viterbi algorithm sequence detection.

13. The method of claim 6, wherein performing a sequence detection includes performing a soft decision sequence detection.

14. The method of claim 6, wherein performing a sequence detection includes performing a hard decision sequence detection.

15. A receiver, comprising:

a sequence detector receiving communications signal samples wherein adjacent signal samples have a correlation and wherein the signal samples have intersymbol interference, the sequence detector for detecting a sequence in the communications signal samples by exploiting the correlation; and

at least one decoder connected to the sequence detector.

16. The receiver of claim 15, further comprising a second decoder parallely concatenated with the decoder.

17. The receiver of claim 15, wherein the sequence detector and the decoder are serially concatenated.

18. The receiver of claim 17, further comprising a second decoder serially concatenated with the decoder.

19. The receiver of claim 15, wherein the decoder is an iterative decoder.

20. The receiver of claim 16, wherein the decoder is an iterative decoder.

21. The receiver of claim 16, wherein the second decoder is an iterative decoder.

22. The receiver of claim 17, wherein the decoder is an iterative decoder.

23. The receiver of claim 20, wherein the decoder uses codes selected from the group consisting of low density parity check codes, linear block codes, and convolutional codes.

24. The receiver of claim 15, wherein the decoder is a turbo decoder.

25. The receiver of claim 15, wherein the sequence detector is a hard decision detector.

26. The receiver of claim 15, wherein the sequence detector is a soft decision detector.

27. The receiver of claim 15, wherein the sequence detector is selected from the group consisting of a soft output Viterbi detector, a generalized Viterbi detector, a BCJR detector, and a Viterbi detector.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed generally to sequence detectors, and, more particularly, to sequence detectors in ISI memory channels.

2. Description of the Background

In recent years, there has been a major shift in the design of signal detectors in magnetic recording. Traditional peak detectors (PD), such as those described in Nakagawa et al., "A Study of Detection Methods of NRZ Recording", IEEE Trans. Magn., vol. 16, pp. 1041-110, January 1980, have been replaced by Viterbi-like detectors in the form of partial response maximum likelihood (PRML) schemes or hybrids between tree/trellis detectors and decision feedback equalizers (DFE), such as FDTS/DF, MDFE and RAM-RSE. These methods were derived under the assumption that additive white Gausian noise (AWGN) is present in the system. The resulting trellis/tree branch metrics are then computed as Euclidian distances.

It has long been observed that the noise in magnetic recording systems is neither white nor stationary. The nonstationarity of the media noise results from its signal dependent nature. Combating media noise and its signal dependence has thus far been confined to modifying the Euclidian branch metric to account for these effects. Zeng, et al., "Modified Viterbi Algorithm for Jitter-Dominated 1-D.sup.2 Channel," IEEE Trans. Magn., Vol. MAG-28, pp. 2895-97, September, 1992, and Lee et al., "Performance Analysis of the Modified maximum Likelihood Sequence Detector in the Presence of Data-Dependent Noise," Proceedings 26th Asilomar Conference, pp. 961-64, October 1992 have derived a branch metric computation method for combating the signal-dependent character of media noise. These references ignore the correlation between noise samples. The effectiveness of this method has been demonstrated on real data in Zayad et al., "Comparison of Equalization and Detection for Very High-Density Magnetic Recording," IEEE INTERMAG Conference, New Orleans, April 1997.

These methods do not take into consideration the correlation between noise samples in the readback signal. These correlations arise due to noise coloring by front-end equalizers, media noise, media nonlinearities, and magnetoresistive (MR) head nonlinearities. This noise coloring causes significant performance degradation at high recording densities. Thus, there is a need for an adaptive correlation-sensitive maximum likelihood sequence detector which derives the maximum likelihood sequence detector (MLSD) without making the usual simplifying assumption that the noise samples are independent random variables.

Turbo codes were introduced in 1993 and hold the promise of substantial coding gains over current coding algorithms, and their performance is within a fraction of a dB of the Shannon theoretical limit for additive white Gaussian noise channels. The basic idea in turbo decoding and other iterative decoding strategies is to pass "soft" information between several components of the decoder and the detector. In this context, the detector is the first device that processes data which is observed at the output of the communications channel. Classically, the detector is a hard-detection device which provides zeroes and ones at its output. A Viterbi detector is a typical example of such a hard detector. When iterative decoding is used, however, the detector is often a soft detector in which the outputs of the detector are reliability measures for bits transmitted through the communications channel. Because the detector is the first device that processes the channel output, the detector should be tuned to the channel signal and noise statistics. However, existing soft output detectors are designed only for channels which are assumed to have white noise. Thus, there is a need for a soft detector which is designed for channels which have correlated and/or signal-dependent noise.

SUMMARY OF THE INVENTION

The present invention is directed to a method of determining branch metric values in a detector. The method includes receiving a plurality of time variant signal samples, the signal samples having one of signal-dependent noise, correlated noise, and both signal dependent and correlated noise associated therewith. The method also includes selecting a branch metric function at a certain time index and applying the selected function to the signal samples to determine the metric values.

The present invention represents a substantial advance over prior sequence detectors. Because the present invention takes into account the correlation between noise samples in the readback signal, the detected data sequence is detected with a higher degree of accuracy. Those advantages and benefits of the present invention, and others, will become apparent from the Detailed Description of the Invention hereinbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

For the present invention to be clearly understood and readily practiced, the present invention will be described in conjunction with the following figures wherein:

FIG. 1 is an illustration of a magnetic recording system;

FIG. 2 is an illustration of a CS-MLSD detector circuit of a preferred embodiment of the present invention;

FIG. 3 is an illustration of a sample signal waveform, its samples, and written symbols;

FIG. 3A is an illustration of a branch metric computation module;

FIG. 3B is an illustration of an implementation of a portion of the branch metric computation module of FIG. 3A;

FIG. 4 is an illustration of one cell of a PR4 trellis;

FIG. 5 is an illustration of a detected path in a PR4 trellis;

FIG. 6 is a block diagram of a preferred embodiment of a method for signal detection;

FIG. 7 is an illustration of PR4 detection results at a 4.4a/symbol;

FIG. 8 is an illustration of EPR4 detection results at a 4.4a/symbol;

FIG. 9 is an illustration of PR4 detection results at a 3.5a/symbol;

FIG. 10 is an illustration of EPR4 detection results at a 3.5a/symbol;

FIG. 11 is an illustration of S(AWG)NR margins needed for error rate of 10.sup.-5 with EPR4 detectors;

FIG. 12 is an illustration of PR4 detection results at a 2.9a/symbol; and

FIG. 13 is an illustration of EPR 4 detection results at a 2.9a/symbol.

FIG. 14 is an illustration of a portion of a communications system having a detector with parallely concatenated decoders; and

FIG. 15 is an illustration of a portion of a communications system having a detector serially concatenated with a decoder.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a magnetic recording system 10. A data source 12 supplies data to a write signal processing circuit 14. The signal processing circuit 14 converts the input data into signals with a format suitable for storage on a magnetic medium 16. The medium 16 is typically a rotating disk, a "floppy" disk, or a tape with magnetic coatings. A write head 18 stores the signals on the medium 16 as a series of variations in the magnetic flux of the medium 16. The write head 18 is controlled by a write control circuit 20, which supplies signals to the write head 18 to control its position with respect to the medium 16.

A read head 22 retrieves the variations in the magnetic flux that are stored on the medium 16. A read control circuit 24 supplies signals to the read head 22 to control its position with respect to the medium 16. The read head 22 provides a stream of data to a detector circuit 26. The detector circuit 26 detects the data from the data stream and outputs the data. The detector 26 must be able to detect the data in the presence of intersymbol interference ("ISI") noise. Prior art detector circuits have employed the maximum likelihood sequence ("MLS") estimation algorithm or peak detection techniques. The MLS algorithm analyzes a sequence of consecutive data and determines the output data based on the sequence. Peak detection techniques identify analog peaks in a sequence of data and determine the output data based on the peaks.

A block diagram of a CS-MLSD detector circuit 28 is shown in FIG. 2. The CS-MLSD detector circuit 28 is a part of the detector circuit 26 of FIG. 1. The detector circuit 28 has a feedback circuit 32 which feeds back into a Viterbi-like detector 30. The outputs of the detector 30 are decisions and delayed signal samples, which are used by the feedback circuit 32. A noise statistics tracker circuit 34 uses the delayed samples and detector decisions to update the noise statistics, i.e., to update the noise covariance matrices. A metric computation update circuit 36 uses the updated statistics to calculate the branch metrics needed in the Viterbi-like algorithm. The algorithm does not require replacing current detectors. It simply adds two new blocks in the feedback loop to adaptively estimate the branch metrics used in the Viterbi-like detector 30.

The Viterbi-like detector 30 typically has a delay associated with it. Until the detector circuit 28 is initialized, signals of known values may be input and delayed signals are not output until the detector circuit 28 is initialized. In other types of detectors, the detector may be initialized by having the necessary values set.

The correlation-sensitive maximum likelihood sequence detector (CS-MLSD) 28 is described hereinbelow. Assume that N>1 channel bits (symbols), a.sub.1, a.sub.2, . . . , a.sub.N, are written on a magnetic medium. The symbols a.sub.i, i=1, . . . , N, are drawn from an alphabet of four symbols, a.sub.i, .epsilon.{+, .sym., -, .crclbar.}. The symbols `+` and `-` denote a positive and a negative transition, respectively. The symbol `.sym.` denotes a written zero (no transition) whose nearest preceding non-zero symbol is a `+`, while `.crclbar.` denotes a written zero whose nearest preceding transition is a negative one, i.e., `-`. This notation is used because a simple treatment of transitions as `1`s and no transitions as `0`s is blind to signal asymmetries (MR head asymmetries and base line drifts), which is inappropriate for the present problem. In FIG. 3 a sample waveform is illustrated. The signal asymmetries and base line shifts are exaggerated in FIG. 3. FIG. 3 also shows the written symbols a.sub.1, . . . , a.sub.18, as well as the samples r.sub.1, . . . , r.sub.18 of the read-back waveform, sampled at the rate of one sample per symbol interval.

When the written sequence of symbols a.sub.i, i=1, . . . , N, is read, the readback waveform is passed through a pulse-shaping equalizer and sampled one sample per symbol, resulting in the sequence of samples r.sub.i, i=1, . . . , N. Due to the noise in the system, the samples r.sub.i are realizations of random variables. The maximum likelihood detector determines the sequence of symbols a.sub.i that has been written, by maximizing the likelihood function, i.e.: ##EQU1##

In (1), the likelihood function .function.(r.sub.i, . . . , r.sub.N.vertline.a.sub.1, . . . , a.sub.N) is the joint probability density function (pdf) of the signal samples r.sub.1, . . . , r.sub.N, conditioned on the written symbols a.sub.1, . . . , a.sub.N. The maximization in (1) is done over all possible combinations of symbols in the sequence {a.sub.1, . . . , a.sub.N }.

Due to the signal dependent nature of media noise in magnetic recording, the functional form of joint conditional pdf .function.(r.sub.1, . . . , r.sub.N.vertline.a.sub.1, . . . , a.sub.N) in (1) is different for different symbol sequences a.sub.1, . . . , a.sub.N. Rather than making this distinction with more complex but cluttered notation, the notation is kept to a minimum by using simply the same symbol .function. to denote these different functions.

By Bayes rule, the joint conditional pdf (likelihood function) is factored into a product of conditional pdfs: ##EQU2##

To proceed and obtain more concrete results, the nature of the noise and of the intersymbol interference in magnetic recording is exploited.

Finite correlation length. The conditional pdfs in Equation (2) are assumed to be independent of future samples after some length L.gtoreq.0. L is the correlation length of the noise. This independence leads to:

.function.(r.sub.i.vertline.r.sub.i+1, . . . , r.sub.N, a.sub.1, . . . , a.sub.N)=.function.(r.sub.i.vertline.r.sub.i+1, . . . , r.sub.i+L, a.sub.1, . . . , a.sub.N). (3)

Finite intersymbol interference. The conditional pdf is assumed to be independent of symbols that are not in the K-neighborhood of r.sub.i, . . . , ri.sub.i+L. The value of K.gtoreq.1 is determined by the length of the intersymbol interference (ISI). For example, for PR4, K=2, while for EPR4, K=3. K.sub.l.gtoreq.0 is defined as the length of the leading (anticausal) ISI and K.sub.t.gtoreq.0 is defined as the length of the trailing (causal) ISI, such that K=K.sub.l +K.sub.t +1. With this notation the conditional pdf in (3) can be written as:

.function.(r.sub.i.vertline.r.sub.i+1, . . . , r.sub.i+L, a.sub.1, . . . , a.sub.N)=.function.(r.sub.i.vertline.r.sub.i+1, . . . , r.sub.i+L, a.sub.i -K.sub..sub.t , . . . a.sub.i+L+K.sub..sub.t ). (4)

Substituting (4) into (2) and applying Bayes rule, the factored form of the likelihood function (conditional pdf) is obtained: ##EQU3##

The factored form of equation (5) is suitable for applying Viterbi-like dynamic programming detection techniques. Equation (5) assumes anticausal factorization, i.e. , it is derived by taking into account the effect of the samples r.sub.i+1, . . . , r.sub.i+L, on r.sub.i. If only the causal effects are taken into account, the causal equivalent of (5) can be derived as .function.(r.sub.1, . . . , r.sub.N.vertline.a.sub.1, . . . , a.sub.N)= ##EQU4##

The causal and anticausal factorization could be combined to find the geometric mean of the two to form a causal-anticausal factorization. Since this only complicates derivations and does not provide further insight, only the anticausal Equation (5) is considered.

Maximizing the likelihood function in (5) is equivalent to minimizing its negative logarithm. Thus, the maximum-likelihood detector is now: ##EQU5##

M.sub.i represents the branch metric of the trellis/tree in the Viterbi-like algorithm. The metric is a function of the observed samples r.sub.i, r.sub.i+1, . . . , r.sub.i+L. It is also dependent on the postulated sequence of written symbols a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t , which ensures the signal-dependence of the detector. As a consequence, the branch metrics for every branch in the tree/trellis is based on its corresponding signal/noise statistics. Although the above discussion focused on maximum likelihood sequence detectors, the discussion also applies to maximum a-posteriori (MAP) branch metrics by including prior probabilities. See J. Moura and A. Kavcic, "The Viterbi Algorithm and Markov Noise Memory", accepted for publication in IEEE Transactions on Information Theory. An example of MAP soft decision detection is give hereinbelow in connection with FIGS. 14 and 15.

Specific expressions for the branch metrics that result under different assumptions on the noise statistics are next considered.

Euclidian branch metric. In the simplest case, the noise samples are realizations of independent identically distributed Gaussian random variables with zero mean and variance .sigma..sup.2 This is a white Gaussian noise assumption. This implies that the correlation distance is L=0 and that the noise pdfs have the same form for all noise samples. The total ISI length is assumed to be K=K.sub.l +K.sub.t +1, where K.sub.l and K.sub.t are the leading and trailing ISI lengths, respectively. The conditional signal pdfs are factored as ##EQU6##

Here the mean signal mi is dependent on the written sequence of symbols. For example, for a PR4 channel, m.sub.i .epsilon.{-1,0,1}. The branch/tree metric is then the conventional Euclidian distance metric:

M.sub.i =N.sub.i.sup.2 =(r.sub.i -m.sub.i).sup.2 (8)

Variance dependent branch metric. It is again assumed that the noise samples are samples of independent Gaussian variables, but that their variance depends on the written sequence of symbols. The noise correlation length is still L=0 but the variance of the noise samples is no longer constant for all samples. The variance is .sigma..sup.2i, where the index i denotes the dependence on the written symbol sequence. As for the Euclidian metric, it is assumed that the total ISI length is K=K.sub.l +K.sub.t +1. The conditional signal pdf is factored to give: ##EQU7##

The corresponding branch metric is: ##EQU8##

Correlation-sensitive branch metric. In the most general case, the correlation length is L>0. The leading and trailing ISI lengths are K.sub.l and K.sub.t, respectively. The noise is now considered to be both correlated and signal-dependent. Joint Gaussian noise pdfs are assumed. This assumption is well justified in magnetic recording because the experimental evidence shows that the dominant media noise modes have Gaussian-like histograms. The conditional pdfs do not factor out in this general case, so the general form for the pdf is: ##EQU9##

The (L+1).times.(L+1) matric C.sub.i is the covariance matrix of the data samples r.sub.i, r.sub.i+1, . . . , r.sub.i+L, when a sequence of symbols a.sub.i-Kl, . . . , a.sub.i+L+Kt is written. The matrix c.sub.i in the denominator of (11) is the L.times.L lower principal submatrix of C.sub.i =[.sub...sup...sub.C.sub..sub.i .sup.. ]. The (L+1)-dimensional vector N.sub.i is the vector of differences between the observed samples and their expected values when the sequence of symbols a.sub.i-Kl, . . . , a.sub.i+L+Kt is written, i.e.:

N.sub.i =[(r.sub.i -m.sub.i) (r.sub.i+1 -m.sub.i+1) . . . (r.sub.i+L -m.sub.+L)].sup.T (12)

The vector n.sub.i collects the last L elements of N.sub.i, ni=[(r.sub.i+1 -m.sub.i+1) . . . (r.sub.i+L -m.sub.i+L)].sup.T. With this notation, the general correlation-sensitive metric is: ##EQU10##

In the derivations of the branch metrics (8), (10) and (13), no assumptions were made on the exact Viterbi-type architecture, that is, the metrics can be applied to any Viterbi-type algorithm such as PRML, FDTS/DF, RAM-RSE, or, MDFE.

FIG. 3A illustrates a block diagram of a branch metric computation circuit 48 that computes the metric M.sub.i for a branch of a trellis, as in Equation (13). Each branch of the trellis requires a circuit 48 to compute the metric M.sub.i.

A logarithmic circuit 50 computes the first term of the right hand side of (13) (i.e. ##EQU11##

and a quadratic circuit 52 computes the second terms of the right hand side of (13) (i.e. N.sub.i.sup.T C.sub.i.sup.-1 N.sub.i -n.sub.i.sup.T c.sub.i.sup.-1 n.sub.i), The arrows through the circuits 50 and 52 represent the adaptive nature of the Virterbi-like detector 30. A sum circuit 53 computes the sum of the outputs of the circuits 50 and 52.

As stated above, the covariance matrix is given as: ##EQU12##

Using standard techniques of signal processing, it can be shown that: ##EQU13##

This ratio of determinants is referred to as .sigma..sub.i.sup.2, i.e.: ##EQU14##

It can be shown by using standard techniques of signal processing that the sum of the last twc terms of (13), i.e. the output of the circuit 52, is: ##EQU15##

Where the vector w.sub.i is (L+1)-dimensional and is given by: ##EQU16##

Equations (17), (18) and (16) (the circuit 52) can be implemented as a tapped-delay line as illustrated in FIG. 3B. The circuit 52 has L delay circuits 54. The tapped-delay line implementation shown in FIGS. 3A and 3B is also referred to as a moving-average, feed-forward, or finite-impulse response filter. The circuit 48 can be implemented using any type of filter as appropriate.

The adaptation of the vector of weights w.sub.i and the quantity .sigma..sub.i.sup.2 as new decisions are made is essentially an implementation of the recursive least squares algorithm. Alternatively, the adaptation may be made using the least mean squares algorithm.

The quantities m.sub.i that are subtracted from the output of the delay circuits 54 are the target response values, or mean signal values of (12). The arrows across multipliers 56 and across square devices 58 indicate the adaptive nature, i.e., the data dependent nature, of the circuit 52. The weights w.sub.i and the value .sigma..sub.i.sup.2 can be adapted using three methods. First, w.sub.i and .sigma..sub.i.sup.2 can be obtained directly from Equations (20) and (16), respectively, once an estimate of the signal-dependent covariance matrix C.sub.i is available. Second, w.sub.i and .sigma..sub.i.sup.2 can be calculated by performing a Cholesky factorization on the inverse of the covariance matrix C.sub.i. For example, in the L.sub.i D.sub.i.sup.-1 L.sub.i.sup.T Cholesky factorization, w.sub.i is the first column of the Cholesky factor L.sub.i and .sigma..sub.i.sup.2 is the first element of the diagonal matrix D.sub.i. Third, w.sub.i and .sigma..sub.i.sup.2 can be computed directly from the data using a recursive least squares-type algorithm. In the first two methods, an estimate of the covariance matrix is obtained by a recursive least squares algorithm.

Computing the branch metrics in (10) or (13) requires knowledge of the signal statistics. These statistics are the mean signal values m.sub.i in (12) as well as the covariance matrices C.sub.i in (13). In magnetic recording systems, these statistics will generally vary from track to track. For example, the statistics that apply to a track at a certain radius will differ from those for another track at a different radius due to different linear track velocities at those radii. Also, the signal and noise statistics will be different if a head is flying slightly off-track or if it is flying directly over the track. The head skew angle is another factor that contributes to different statistics from track to track. These factors suggest that the system that implements the metric in (13) needs to be flexible to these changes. Storing the statistics for each track separately is very difficult because of the memory span required to accomplish this. A reasonable alternative is to use adaptive filtering techniques to track the needed statistics.

Tracking the mean signal values m.sub.i is generally done so that these values fall on prespecified targets. An adaptive front-end equalizer is employed to force the signal sample values to their targets. This is certainly the case with partial response targets used in algorithms like PR4, EPR4, or EEPR4 where the target is prespecified to one of the class-4 partial responses. For example, in a PR4 system, the signal samples, if there is no noise in the system, fall on one of the three target values 1, 0, or -1. Typically this is done with an LMS-class (least mean-squares) algorithm that ensures that the mean of the signal samples is close to these target values. In decision feedback equalization (DFE) based detectors or hybrids between fixed delay tree search and DFE, such as FDTS/DF or MDFE, the target response need not be prespecified. Instead, the target values are chosen on-the-fly by simultaneously updating the coefficients of the front-end and feed-back equalizers with an LMS-type algorithm.

When there are severe nonlinearities in the system (also referred to as nonlinear distortion or nonlinear ISI), a linear equalizer will generally not be able to place the signal samples right on target. Instead, the means of the signal samples will fall at a different value. For example, in a PR4 system, the response to a sequence of written symbols . . . , -, +, .sym., . . . might result in mean sample target values . . . , 0, 1, 0.9, . . . , while a sequence of written symbols . . . , +, -, .crclbar., . . . might result in a sequence of mean sample values . . . , 0.95, -1.05, 0, . . . . Clearly, in this example, what should be a target value of 1 becomes either 1, 0.9, or 0.95 depending on the written sequence. Because mean values and not noisy samples are being considered, this deviation is due to nonlinearities in the system. There are two fixes for this problem. The first is to employ a nonlinear filter (neural network or Volterra series filter) that is capable of overcoming these nonlinear distortions. Although recently very popular, such a method introduces further correlation between noise samples due to the nonlinear character of the filter. The second fix is to track the nonlinearities in a feedback loop and use the tracked value in the metric computation. For example, let the response to a written symbol sequence . . . , .crclbar., +, .sym., . . . be consistently . . . , 0, 1, 0.9, . . . Then, rather than using the value 1 in the metric computation for the third target, this behavior can be tracked and the value m.sub.i =0.9 can be used.

In the remainder of this discussion, for simplicity, it is assumed that the front-end equalizer is placing the signal samples right on the desired target values and that there is no need for further mean corrections. The focus is shifted to tracking the noise covariance matrices needed in the computation of the branch metrics (13).

Assume that the sequence of samples r.sub.i, r.sub.i+1, . . . , r.sub.i+L is observed. Based on these and all other neighboring samples, after an appropriate delay of the Viterbi trellis, a decision is made that the most likely estimate for the sequence of symbols a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t is a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t . Here L is the noise correlation length and K=K.sub.l +K.sub.t +1 is the ISI length. Let the current estimate for the (L+1).times.(L+1) covariance matrix corresponding to the sequence of symbols a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t be C(a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t ). This symbol is abbreviated with the shorter notation, C (a). If the estimate is unbiased, the expected value of the estimate is:

EC(a)=E+L [N.sub.i N.sub.i.sup.T ] (21)

where N.sub.i is the vector of differences between the observed samples and their expected values, as defined in (12).

Note that once the samples r.sub.i, r.sub.i+1, . . . , r.sub.i+L are observed, and once it is decided that most likely they resulted from a series of written symbols a.sub.i-K.sub..sub.t , . . . , a.sub.i+L+K.sub..sub.t , the sequence of target (mean) values m.sub.i ; m.sub.i+1, . . . , m.sub.i+L is known that correspond to these samples. They are used to compute the vector N.sub.i, with which the empirical rank-one covariance matrix N.sub.i, N.sup.T.sub.i is formed. In the absence of prior information, this rank-one matrix is an estimate for the covariance matrix for the detected symbols. In a recursive adaptive scheme, this rank-one data covariance estimate is used to update the current estimate of the covariance matrix C (a). A simple way to achieve this is provided by the recursive least-squares (RLS) algorithm. The RLS computes the next covariance matrix estimate C'(a) as:

C'(a)=.beta.(t)C(a)+[1-.beta.(t)]N.sub.i N.sub.i.sup.T (22)

Here, .beta.(t), 0<.beta.(t)<1, is a forgetting factor. The dependence on t signifies that .beta. is a function of time. Equation (22) can be viewed as a weighted averaging algorithm, where the data sample covariance N.sub.i.sub.i.sup.T is weighted by the factor [1-.beta.(t)], while the previous estimate is weighted by .beta.(t). The choice of .beta.(t) should reflect the nonstationarity degree of the noise. For example, if the nonstationarity is small, .beta.(t) should be close to 1, while it should drop as the nonstationarity level increases. The forgetting factor is typically taken time-dependent to account for the start-up conditions of the RLS algorithm in (22). As more data is processed, a steady-state is expected to be achieved and .beta.(t) is made to approach a constant value. Initially, .beta.(t) is close to zero, to reflect the lack of a good prior estimate C(a), and to rely more on the data estimate. With time, .beta.(t) is increased and settles around a value close to 1.

The impact of the initial conditions in (22) decays exponentially fast. Hence, the algorithm (22) can be started with an arbitrary initial guess for the covariance matrix C(a), with the only constraint being that the matrix be positive semidefinite, e.g, a zero matrix or an identity matrix.

The one-dimensional equivalent of equation (22) is

.sigma..sub.new.sup.2 =.beta..sigma..sub.old.sup.2 +[1-.beta.]N.sub.i.sup.2. (23)

This equation can be used in conjunction with the metric in (10).

It is important to point out that, due to the signal-dependent character of the media noise, there will be a different covariance matrix to track for each branch in the tree-trellis of the Viterebi-like detector. Practical considerations of memory requirements, however, limit the dimensions of the matrices to be tracked. Fortunately, simple 2.times.2 matrices are enough to show substantial improvement in error rate performance.

The following example illustrates how the algorithm in (22) works. Assume a PR4 target response with a simple trellis structure as shown in FIG. 4 Notice that for PR4, the symbols can be equated to the trellis states, as is illustrated in FIG. 4 The number next to each branch in FIG. 4 represents the target value (mean sample value) for the corresponding path between states. The target values in PR4 can be one of three values -1, 0, or 1.

In this example a noise correlation length of L=1 is assumed. It is also assumed that the leading and trailing ISI lengths are K.sub.l =0 and K.sub.t =1, respectively, to give the total ISI length K=K.sub.l +K.sub.t +1=2 for the PR4 response. Because L=1, signal covariance matrices of size (L+1).times.(L+1)=2.times.2 need to be tracked. The number of these matrices equals the number of different combinations of two consecutive branches in the trellis. A simple count in FIG. 4 reveals that this number is 16, because there are 4 nodes in the trellis and 2 branches entering and leaving each node.

Assume that, using the branch metric in (13), the Viterbi-like detector decides that the most likely written symbols a.sub.i, a.sub.i+1, a.sub.i+2, equal {a.sub.i, a.sub.i+1, a.sub.i+2 }={.sym., +, -}. This is illustrated in FIG. 5, where the corresponding path through the trellis is highlighted. The noisy signal samples corresponding to the trellis branches are r.sub.i =0.9 and r.sub.i+1 =-!0.2, which deviate slightly from their ideal partial response target values of 1 and 0, respectively.

Suppose that, prior to making the decision {a.sub.i, a.sub.i+1, a.sub.i+2 }={.sym., +, -}, the estimate for the a covariance matrix associated with this sequence of three symbols is ##EQU17##

Let the forgetting factor be B=0.95. To update the covariance matrix the vector is first formed:

N=[(r.sub.i -1)(r.sub.i+1 -0)].sup.T =[-0.1 -0.2].sup.T (25)

The rank-one sample covariance matrix NN.sup.T is used to find the covariance matrix update: ##EQU18##

The matrix C'(.sym., +, -) becomes our estimate for the covariance matrix corresponding to this particular symbol sequence (trellis path) and is used to compute the metrics (13) in the subsequent steps of the Viterbi-like algorithm.

FIG. 6 illustrates a flowchart of a method of detecting a sequence of adjacent signal samples stored on a high density magnetic recording device. Viterbi sequence detection is performed using a signal sample at step 38. The sequence detection produces decisions which are output at step 40. The signal sample is delayed at step 42. The past samples and detector decisions are used to update the noise statistics at step 44. Branch metrics, which are used in the sequence detection step 38, are calculated at step 46.

It can be understood by those skilled in the art that the method of FIG. 6 can be performed on a computer. The steps may be coded on the computer as a series of instructions, which, when executed, cause the computer to detect a sequence of adjacent signal samples stored on a high density magnetic recording device. The computer may be, for example, a personal computer, a workstation, or a mainframe computer. The computer may also have a storage device, such as a disk array, for storage of the series of instructions.

Simulation results using two partial response detection algorithms, namely PR4 and EPR4 are now presented. To create realistic waveforms, corrupted by media noise, an efficient stochastic zig-zag model, the TZ-ZT model was used. These waveforms are then passed through the detectors. A Lindholm inductive head is used for both writing and reading. Table 1 presents the recording parameters of the model. These recording parameters are chosen so that with a moderately low symbol density per PW50, a low number of transition widths a per symbol transition separation results. Namely, at 3 symbols/PW50 a transition separation of only 2.9 a is present. The transition profile was modeled by an error function, where the transition width a denotes the distance from the transition center to the point where the magnetization equals M.sub.r /2.

TABLE 1 Recording parameters used in simulations. Parameter Symbol Value media remanence M.sub.r 450 kA/m media coercivity H.sub.c 160 kA/m media thickness .delta. 0.02 .mu.m media cross-track correlation width s 200 .ANG. head-media separation d 15 nm head field gradient factor Q 0.8 had gap length g 0.135 .mu.m track width TW 2 .mu.m transition width parameter .alpha. 0.019 .mu.m percolation length L = 1.4.alpha. 0.0266 .mu.m 50% pulse width PW50 0.167 .mu.m

The symbols utilizing the (0,4) run length limited code are written. No error correction is applied, so the obtained error rates are not bit error rates, but (raw) symbol error rates.

Both the PR4 and EPR4 detectors were tested using the following three different metric computation methods: the Euclidian metric (8), the variance dependent metric (10). also referred to as the C1 metric, and the 2.times.2 correlation sensitive metric (13), named the C2 metric for short. For a PR4 target response, the total ISI length is K=K.sub.l +K.sub.t +1=2. where the leading and trailing ISI lengths are K.sub.l =0 and K.sub.t =1, respectively. The noise correlation length for the Euclidian and the C1 metrics is L=0, and for the C2 metric the noise correlation length is L=1. These three PR4 detectors are referred to as PR4(Euc), PR4(C1), and PR4(C2).

Similarly to the PR4 detectors, three EPR4 detectors were tested, EPR4(Euc), EPR4(C1) and EPR4(C2). The only difference between the PR4 detectors and the EPR4 detectors are the target response and the ISI length, which for the EPR4 target response equals K=K.sub.l +K.sub.t +1=3, with K.sub.l =1 and K.sub.t =1.

The signal obtained by the TZ-ZT model is already corrupted with media noise. To this signal white Gaussian noise was added to simulate the head and electronics noise in a real system. The power of the additive white Gaussian noise is quoted as the signal to additive white Gaussian noise ratio, S(AWG)NR, which is obtained as: ##EQU19##

where A.sub.iso is the mean (media noise free) amplitude of an isolated pulse and .sigma..sup.2.sub.n is the variance of the additive white Gaussian noise. The noise distorted signal is first passed through a low-pass filter to clean out the noise outside the Nyquist band. The signal is then sampled at a rate of one sample per symbol and subsequently passed through a partial response shaping filter, either PR4 or EPR4. The partial response shaping filter is implemented as an adaptive FIR filter whose tap weights are adjusted using the LMS algorithm. Note that both filters add correlation to the noise. For the C1 and C2 metrics in (10) and (13), the RLS algorithms (22) and (23) are used to estimate the noise variances and covariance matrices for the branch metric computations. In both cases, the forgetting factor is set to .beta.=0.95.

All six detection algorithms were tested at three different recording densities.

Symbol separation of 4.4 a. This recording density corresponds to a symbol density of 2 symbols/PW50, see Table 1. FIG. 7 shows the symbol error rate performance of the PR4 detectors for different additive noise SNRs. The media noise is embedded in the system, which is why the x-axis on the graph is labeled as S(AWG)NR instead of simply SNR. At this density, the PR4(Euc) and PR4(C1) detectors perform just about the same and the PR4(C2) detector outperforms them both by about 3 dB. The reason for this is that the PR4 shaping filter averages noise samples from different symbols, which masks the signal dependent nature of the media noise. This is why there is not much to gain by using PR4(C1) instead of PR4(Euc). The PR4(C2) detector performs better because it partially removes the effects of noise correlation introduced by the PR4 shaping filter. FIG. 8 shows how the EPR4 detectors perform at this same density (symbol separation 4.4 a).: The PR4(C2) has the best performance and PR4(Euc) has the worst. The difference in performance at the error rate of 10.sup.-5 is only about 0.5 dB between PR4(Euc) and PR4(C2). This is because the media noise power at this density is low and the signal is well matched to the target so the EPR4 shaping filter does not introduce unnecessary noise correlation.

Symbol separation of 3.5 a. This recording density corresponds to a symbol density of 2.5 symbols/PW50. FIG. 9 shows the performance of the PR4 detectors at this density. FIG. 9 is similar to FIG. 7. except that the error rates have increased. This is again due to a mismatch between the original signal and the PR4 target response, which is why the PR4 shaping filter introduces correlation in the noise. PR4(C2) still outperforms the two other algorithms, showing the value of exploiting the correlation across signal samples.

FIG. 10 shows the error rates obtained when using the EPR4 detectors. Due to a higher density; the media noise is higher than in the previous example with symbol separations of 4.4 a. This is why the graph in FIG. 10 has moved to the right by 2 dB in comparison to the graph in FIG. 8. While the required S(AWG)NR increased, the margin between the EPR4(Euc) and EPR4(C2) also increased from about 0.5 dB to about 1 dB,suggesting that the correlation-sensitive metric is more resilient to density increase. This is illustrated in FIG. 11 where the S(AWG)NR required for an error rate of 10.sup.-5 is plotted versus the linear density for the three EPR4 detectors. From FIG. 11 it can be seen that, for example, with an S(AWG)NR of 15 dB, the EPR(Euc) detector operates at a linear density of about 2.2 symbols/PW50 and the EPR4(C2) detector operates at 2.4 symbols/PW50, thus achieving a gain of about 10% of linear density. Symbol separation of 2.9 a. This recording density corresponds to a symbol density of 3 symbols/PW50. Due to a very low number of symbols per a, this is the density where the detectors significantly lose performance due to the percolation of magnetic domains, also referred to as nonlinear amplitude loss or partial signal erasure. FIGS. 12 and 13 show the performance of the PR4 and EPR4 families of detectors at this density. The detectors with the C2 metric outperform the other two metrics. The error rates are quite high in all cases. This is because at the symbol separations of 2.9 a, nonlinear effects, such as partial erasure due to percolation of domains , start to dominate. These effects can only be undone with a nonlinear pulse shaping filter, which have not been employed here.

The experimental evidence shows that the correlation sensitive sequence detector outperforms the correlation insensitive detectors. It has also been demonstrated that the performance margin between the correlation sensitive and the correlation insensitive detectors grows with the recording density. In other words, the performance of the correlation insensitive detector deteriorates faster than the performance of the correlation sensitive detector. Quantitatively, this margin depends on the amount of correlation in the noise passed through the system. Qualitatively, the higher the correlation between the noise samples, the greater will be the margin between the CS-SD and its correlation insensitive counter part.

The teachings of the present invention can be extended beyond Viterbi-like detectors to apply to turbo decoders, soft-decision detectors, and detectors utilizing the Viterbi algorithm, the BCJR algorithm, the Soft-Output Viterbi Algorithm (SOVA), and other similar algorithms. Traditionally, these algorithms and devices have been derived and designed assuming that the communication channel is memoryless, i.e. that the noise in the channel is white and uncorrelated. However, the teachings of the present invention, in which the branch metric computations are performed assuming the channel has memory, i.e. the noise is correlated and the noise statistical correlation is possibly signal dependent, can be applied to any device or algorithm in which branch metrics must be computed.

FIG. 14 is an illustration of a portion of a communications system 100 having a detector 102 with parallely concatenated decoders 104 and 106. The output of a communications channel 108 is connected to a receiver 110. The receiver includes the detector 102, a first decoder 104, and a second decoder 106. The detector 102 processes the output of the channel 108 and feeds decisions to the decoders 104 and 106. The decoders 104 and 106 can be, for example, turbo decoders or any other iterative decoders that use, for example, low density parity check codes, linear block coders, or convolutional codes.

FIG. 15 is an illustration of a portion of a communications system 112 having the detector 102 connected in a serially concatenated arrangement to a decoder 114. The detector 102 and the decoder 11 comprise a receiver/decoder 116.

The detector 102 can use any type of appropriate algorithm such as, for example, BCJR, Viterbi, SOVA, or any other instance of the Generalized Viterbi Algorithm (GVA). The detector 102 can work on a trellis, tree, finite-state machine, graph, or any other structure with branches for which the detector 102 has a component that must compute branch metrics. Because this component reflects the assumptions on the noise memory and statistics, the teachings of the present invention can be designed into this component such that the detector 102 is accurate when the channel 108 has memory, i.e. the channel 108 has intersymbol interference and correlated noise with signal dependent statistics.

As an example, the BCJR algorithm can be described for channels with memory. The following equations use standard notation to describe the BCJR algorithm, as described in L. R. Bahl et al., "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE Transactions on Information Theory, IT-20:284-87, March 1974 and C. Heegard et al., Turbo Coding, 1999, Kluwer Academic Publishers, which are herein incorporated by reference.

BCJR soft-output algorithm for Markov noise with memory length L:

Initialization

.alpha..sub.0 (0)=1, .alpha..sub.0 (m)=0 for m.noteq.0 (28)

.beta..sub.K (0)=1, .beta..sub.K (0)=0 for m.noteq.0 (29)

z.sub.0 =0, z.sub.-1 =0, . . . , z.sub.1-L =0 (30)

##EQU20##

Thus, the branch metric, as denoted by the second half of Equation x, is computed exactly the same way as the branch metric of Equations 6, 9, 10, 11, and 13. When the noise process is Gaussian, the branch metric can be computed using Equation 13 and the arrangements described in FIGS. 3A and 3B.

The generalization of the case described above for the BCJR algorithm can be made for any other soft output or hard output algorithm defined on a trellis or a graph of any communications (or other dynamic) system. The place in the detector where the branch metric is computed can be substituted by the metric computation as described in Equations 6, 9, 10, 11, 13 and FIGS. 3A and 3B.

While the present invention has been described in conjunction with preferred embodiments thereof, many modifications and variations will be apparent to those of ordinary skill in the art. For example, the present invention may be used to detect a sequence that exploits the correlation between adjacent signal samples for adaptively detecting a sequence of symbols through a communications channel. The foregoing description and the following claims are intended to cover all such modifications and variations.