Content uploaded by Hendrik Christoffel Ferreira

Author content

All content in this area was uploaded by Hendrik Christoffel Ferreira on Mar 24, 2014

Content may be subject to copyright.

Markers to construct DC free (d, k)

constrained balanced block codes using

Knuth’s inversion

H.C. Ferreira, J.H. Weber, C.H. Heymann and

K.A.S. Immink

In this reported work, Knuth’s balancing scheme, which was originally

developed for unconstrained binary codewords is adapted. Presented is

a simple method to balance the NRZ runlength constrained block codes

corresponding to (d, k ) constrained NRZI sequences. A short marker

violating the maximum runlength or k constraint is used to indicate

the balancing point for Knuth’s inversion. The marker requires fewer

overhead bits and less implementation complexity than indexing the

balancing point’s address by mapping it onto a (d, k) or runlength con-

strained preﬁx, such as when applying Knuth’s original scheme more

directly. The new code construction may be attractive for future mag-

netic and especially optical recording schemes. In fact the current

optical storage media, such as the CD, DVD and Blue Ray Disc, all

attempt to achieve some suppression of low frequency components

of the constrained codes, by exploiting a limited degree of freedom

within the set of candidate (d, k) words.

Introduction: Binary (d, k) constrained codes have been used since the

1960s in magnetic recording and are currently very prominent in optical

recording [1]. Here d denotes the minimum number of 0s and k the

maximum number of 0s between any two 1s in the NRZI representation

of the coded sequence. Hence there is a minimum runlength of d + 1

same symbols and maximum runlength of k + 1 same symbols in the

NRZ representation of the binary runlength constrained channel

sequence. By balancing the binary channel symbols {0, 1} as in [2]

and mapping them onto bipolar symbols {2 1, +1}, a balanced and

hence DC free code with suppressed low frequency components can

be constructed. Previously, investigations of DC free (d, k) constrained

codes focused mainly on short ﬁnite state machine codes for rotating

head magnetic tape recorders as in [3], or medium length block codes

as currently implemented in optical storage media [1]. Long block

codes as in [4] may suffer from large error propagation. However,

long block codes are attractive in order to more closely approach

channel capacity and hence increase storage density. There is very

little literature on constructing such long block codes. We now present

a simple method, requiring fewer overhead bits and also less implemen-

tation complexity than the more direct application of Knuth’s algorithm

in [5].

Code construction: We modify and apply Knuth’s balancing scheme

[2], which was originally developed for unconstrained binary code-

words. The main idea in Knuth’s construction is to convert the original

data sequence into a balanced sequence by inverting all symbols beyond

a certain balancing index. This index is represented in a (balanced)

preﬁx, which is also communicated. The receiver obtains the index

from the preﬁx and retrieves the original data sequence by inverting

all symbols beyond the balancing index. In the construction for balanced

constrained sequences which is presented in this Letter, an alternative to

the preﬁx method is proposed. Speciﬁcally, a short marker violating the

maximum runlength constraint is now used to indicate the balancing

point for Knuth’s inversion. Note that while the d constraint is still criti-

cal for recording density and reliability, the k constraint increased in

steps from k ¼ 3 in the 1960s when only simple tank oscillator elec-

tronic synchronisation circuitry was available, to k ¼ 7 in the 1970s

and later k ¼ 11. So far there has been little interest in further increasing

k, since this will only yield an insigniﬁcant increase in practical record-

ing density as can be shown by numerical evaluation of the information

theoretic channel capacity as in e.g. [1]. With state of the art phase

locked loops, occasional violations are tolerable. In fact, it can also be

expected that in future synchronisation technology may be further

improved. In this Letter we exploit occasional violations to create

markers.

We use prior art such as in [1] or [6]

to generate a high rate NRZI

(d, k ) constrained block code. Represent the NRZ (d + 1, k + 1)

runlength constrained channel sequence x with

x

1

...x

j

x

j+1

...x

n

x

i

[ {0, 1}(1)

where j is the balancing index. Consequently, the sequence can be

balanced by inverting the last n–j bits x

j+1

...x

n

. Knuth showed that

every binary word has at least one such balancing index j, where 1 ≤

j ≤ n. Let

x

i

be the binary complement of x

i

. We now insert a balanced

marker sequence M ¼ m

1

...m

z

of length z bits and transmit

x

i

...x

j

m

1

...m

z

x

j+1

...x

n

(2)

We want to extend the last run of the sequence x

1

...x

j

to create a

maximum runlength constraint violation, i.e. a run of k + 2 bits or

longer, without violating the minimum runlength of d + 1 channel

symbols anywhere. To this end, we propose the following marker. Let

y

u

denote a run of length

m

same symbols y and set

M = x

k+1

j

x

k+1

j

x

d+1

j+1

x

d+1

j+1

(3)

If j ¼ n, then we use the ﬁrst bit of the next word as

x

j+1

. As a simple

example for exposition, the set of NRZ candidate markers for a (d, k) ¼

(1, 3) code is

{000011110011, 000011111100, 111100001100, 111100000011}

Note that M is balanced and that the overall length of the marker is z ¼

2k + 2d + 4. The ﬁrst maximum runlength violation which includes x

j

,

ranges between k + 2 and 2k + 2 symbols. Note that if x

j

= x

j+1

,a

second maximum runlength violation, of length k + d + 2, occurs

inside the marker. A third runlength violation, of length at most k +

d + 2, may occur where the marker M merges with the inverted

portion of the sequence. However, the decoder only searches for the

ﬁrst violation. When the ﬁrst maximum runlength violation is detected

the decoder counts back k + 1 bits from the end of this violated run to

locate the start of the marker. It then removes the marker, inverts

x

j+1

...x

n

and uses prior art to decode and retrieve the data.

The proposed marker is a very simple one. More advanced markers

can be designed for speciﬁc purposes, at the expense of a higher com-

plexity. For example, constructions of variable-length markers with a

shorter average length are possible by taking into account the lengths

of the runs preceding and following the balancing index. Also, the

marker construction may be optimised to bring down the maximum run-

length violation. Note that for the proposed marker a run of length 2k +

2 can occur in the transmitted sequence, which may be considered as

being too long. By extending the set of candidate markers the

maximum value of this runlength violation may be set closer to k + 2.

However, such advanced markers are beyond the scope of this Letter,

where we focus on the introduction of the marker concept and the

simple design presented in (3).

–20

–15

–10

–5

0

5

10

0 0.1 0.2 0.3 0.4 0.5

PSD, dB

frequency f

pure MFM

proposed construction, 16 bit

proposed construction, 128 bit

Fig. 1 Comparison of power spectral densities between MFM (solid curve)

and proposed construction, with (d, k) ¼ (1, 3), for 16 bit (dashed curve)

and 128 bit (dotted curve) codewords as input to balancing

Results: With the above marker construction, the overhead is 2k + 2d +

4 bits per codeword. We compare this to the previous construction, pre-

sented in [5], where Knuth’s algorithm is directly applied to constrained

sequences, which requires a ﬁxed length interﬁx of d + 1 bits as well as

a preﬁx, of length dependent on (d, k) and n, as tabled in [5]. Note that

the overhead of the marker construction does not depend on n.

Therefore, except for small values of n, the proposed method based

on the marker has less overhead as well as lower complexity. For

example, if (d, k) ¼ (1,3) the marker presented here represents less over-

head if the preﬁx in [5] is longer than (2k + 2d + 4)–(d + 1) ¼ 12 – 2 ¼

10 bits.

The power spectral densities for (d, k) ¼ (1, 3) coded sequences with

markers corresponding to the proposed construction are compared to the

(d, k) ¼ (1,3) MFM (Miller code, [1])inFigs. 1 and 2.InFig. 1, the

ELECTRONICS LETTERS 13th September 2012 Vol. 48 No. 19

inﬂuence of the codeword length is shown as well. In Fig. 2, it can be

seen how the low frequency components are suppressed.

–20

–15

–10

–5

0

5

10

10

–3

10

–2

10

–1

PSD, dB

frequency f

pure MFM

oroposed construction, 128 bit

Fig. 2 Low frequency performance comparison for MFM (solid curve) and

proposed construction (dotted curve), with (d, k) ¼ (l, 3), for 128 bit code-

words as input to balancing

Conclusion: We have presented an efﬁcient construction for long

balanced and DC free (d, k) constrained block codes. In the context of

constrained codes, modifying Knuth’s original scheme by using

markers instead of the original Knuth’s preﬁx – which for (d, k) con-

straints furthermore mandates an additional interﬁx – may require con-

siderably fewer overhead symbols and lower implementation

complexity.

# The Institution of Engineering and Technology 2012

19 April 2012

doi: 10.1049/el.2012.1220

H.C. Ferreira and C.H. Heymann (Department of Electrical and

Electronic Engineering Science, University of Johannesburg, APK

Campus, Box 524, Auckland Park, 2006, South Africa)

E-mail: hcferreira@uj.ac.za

J.H. Weber (Delft University of Technology, The Netherlands)

K.A.S. Immink (Turing Machines, Rotterdam, The Netherlands)

References

1 Immink, K.A.S.: ‘Codes for mass data storage systems’ (Shannon

Foundation Publishers, Eindhoven, The Netherlands, 2004, 2nd edn),

ISBN 90-74249-27-2

2 Knuth, D.E.: ‘Efﬁcient balanced codes’, IEEE Trans. Inf. Theory, 1986,

IT-32, (1), pp. 51 – 53

3 Ferreira, H.C.: ‘On dc free magnetic recording codes generated by ﬁnite

state machines’, IEEE Trans. Magn., 1983, MAG-19, (6),

pp. 2691 –2693

4 Braun, V., and Immink, K.A.S.: ‘An enumerative coding technique for

DC-free runlength-limited sequences’, IEEE Trans Commun., 2000,

48, (12), pp. 2024 – 2031

5 Immink, K.A.S., Weber, J.H., and Ferreira, H.C.: ‘Balanced runlength

limited codes using Knuth’s algorithm’. Proc. of IEEE Int. Symp. on

Information Theory, St Petersburg, Russia, July– August 2011,

pp. 282–285

6 Adler, R., Coppersmith, D., and Hassner, M.: ‘Algorithms for sliding

block codes – an application of symbolic dynamics to information

theory’, IEEE Trans. Inf. Theory, 1983, 29, (1), pp. 5–22

ELECTRONICS LETTERS 13th September 2012 Vol. 48 No. 19