15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

whitening the noise prior to the Viterbi detector. The whitened total distortion component of the PR<br />

equalized output y n is<br />

where the N-coefficient MMSE predictor transfer polynomial is P(D) = p1D 1 + p2D 2 + … + pND N . Note<br />

that an estimate of the current noise sample wˆ n is formed based on estimates of previous N noise samples.<br />

Assuming the PR4 equalization of sequence y, the metric of the Viterbi detector can be modified in order<br />

to compensate for distortion component. In this case, the equalizer output is yn = xn − xn−2 + wn and the<br />

NPML distance is<br />

where xˆ n−i( Sj) , xˆ n−i−2 ( Sj) represent past decisions taken from the Vitrebi survivor path memory associated<br />

with state Sj. The last expression gives the flavor of this technique, but it is not suitable for<br />

implementation so that the interested reader can find details in [20] how to modify this equation for<br />

RAM look-up realization. Furthermore, in the same paper, a description of the general procedure to<br />

compute the predictor coefficients based on the autocorrelation of the total distortion wn at the output<br />

of a finite-length PR equalizer is given.<br />

Postprocessor<br />

As explained earlier, Viterbi detector improves the performance of a read channel by tracing the correct<br />

path through the channel trellis [8]. Further performance improvement can be achieved by using soft<br />

output Viterbi algorithm (SOVA) [14]. Along with the bit decisions, SOVA produces the likelihood of<br />

these decisions, that combined create soft information. In principle, soft information can be passed to<br />

hard drive controller and used in RS decoder that resides there, but at the present time soft decoding of<br />

RS codes is still too complex to be implemented at 1 Gb/s speeds. Alternatively, much shorter inner code<br />

is used. Because of the nonlinear operations on bits performed by the modulation decoder logic, the<br />

inner code is used in inverse concatenation with modulation encoder in order to simplify calculation of<br />

bit likelihood. Due to the channel memory and noise coloration, Viterbi detector produces some error<br />

patterns more often than others [5], and the inner code is designed to correct these so-called dominant<br />

error sequences or error events. The major obstacle for using soft information is the speed limitations and<br />

hardware complexity required to implement SOVA. Viterbi detector is already a bottleneck and the most<br />

complex block in a read channel chip, occupying most of the chip area, and the architectural challenges<br />

in implementing even more complex SOVA would be prohibitive. Therefore, a postprocessor architecture<br />

is used [18]. The postprocessor is a block that resides after Viterbi detector and comprises the block for<br />

calculating error event likelihood and an inner-soft error event correcting decoder.<br />

The postprocessor is designed by using the knowledge on the set of dominant error sequences E =<br />

{ei} 1≤i and their occurrence probabilities P = (pi) 1≤i<br />

. The index i is referred to as an error type, while<br />

the position of the error event end within a codeword is referred as an error position. The relative frequencies<br />

of error events will strongly depend on recording density [36]. The detection is based on the fact that<br />

we can calculate the likelihoods of each of dominant error sequences at each point in time. The parity<br />

bits detect the errors, and provide localization in error type and time. The likelihoods are then used to<br />

choose the most likely error events for corrections.<br />

© 2002 by CRC Press LLC<br />

N<br />

∑<br />

N<br />

wn – wˆ n = wn – ∑w<br />

n−ip i<br />

i=1<br />

⎛ ⎞<br />

⎜yn– wn−ip i⎟<br />

– ( xn( Sk) – xn−2 ( Sj) )<br />

⎝ i=1 ⎠<br />

=<br />

N<br />

∑<br />

⎛ ⎞<br />

⎜yn– ( yn−i – xˆn−i ( Sj) – xˆ n−i−2 ( Sj) )pi⎟ – ( xn( Sk) – xn−2 ( Sj) )<br />

⎝ i=1<br />

⎠<br />

2<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!