15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 34.41<br />

FIGURE 34.42<br />

over alphabet A can always be characterized by a finite list of forbidden strings F = { w1,…,<br />

wN}<br />

of symbols<br />

A<br />

in A.<br />

Defined this way, FT systems will be denoted by XF . The RLL constraints form a prominent class<br />

of FT constraints, while DC-balanced constraints are typically not FT.<br />

Design of constrained codes begins with identifying constraints, such as those described in the Introduction,<br />

that achieve certain objectives. Once the system of constrained sequences is specified, information<br />

bits are translated into sequences that obey the constraints via an encoder,<br />

which usually has the form of<br />

a finite-state machine. The actual set of sequences produced by the encoder is called a constrained code<br />

and is often denoted C.<br />

A decoder recovers user sequences from constrained sequences. While the decoder<br />

is also implemented as a finite-state machine, it is usually required to have a stronger property, called<br />

sliding-block decodablility, which controls error propagation [24].<br />

The maximum rate of a constrained code is determined by Shannon capacity.<br />

The Shannon capacity<br />

or simply capacity of a constrained system, denoted by C,<br />

is defined as<br />

where N(<br />

n)<br />

is the number of sequences of length n.<br />

The capacity of a constrained system represented by<br />

a graph G can be easily computed from the adjacency matrix (or state transition matrix)<br />

of G (provided<br />

that the labeling of G satisfies some mildly innocent properties). The adjacency matrix of G with r states<br />

and aij<br />

edges from state i to state j,<br />

1 ≤ i,<br />

j ≤ r,<br />

is the r × r matrix A = A(<br />

G)<br />

= { aij}<br />

r×<br />

r.<br />

The Shannon capacity<br />

of the constraint is given by<br />

where λ(<br />

A)<br />

is the largest real eigenvalue of A.<br />

The state-splitting algorithm [1] (see also [24]) gives a general procedure for constructing constrained<br />

codes at any rate up to capacity. In this algorithm, one starts with a graph representation of the desired<br />

constraint and then transforms it into an encoder via various graph-theoretic operations including<br />

splitting and merging of states. Given a desired constraint and a desired rate p/<br />

q ≤ C,<br />

one or more rounds<br />

of state splitting are performed; the determination of which states to split and how to split them is<br />

q p<br />

governed by an approximate eigenvector, i.e., a vector x satisfying A x ≥ 2 x.<br />

Many other very important and interesting approaches are used to constrained code construction—far<br />

too many to mention here. One approach combines state-splitting with look-ahead encoding to obtain<br />

a very powerful technique which yields superb codes [14]. Another approach involves variable-length<br />

and time-varying variations of these techniques [2,13]. Many other effective coding constructions are<br />

described in the monograph [17].<br />

© 2002 by CRC Press LLC<br />

RLL (1,3) constraint.<br />

DC-balanced constraint.<br />

C<br />

log2N( n)<br />

= lim -------------------n<br />

n→∞ C =<br />

log2λ( A)

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

Saved successfully!

Ooh no, something went wrong!