IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 3, MARCH 1997 293
Performance Assessment of DC-Free
Kees A. Schouhamer Immink, Fellow, IEEE, and Levente P´
Abstract—We report on a class of high-rate dc-free codes, called
multimode codes, where each source word can be represented by
a codeword taken from a selection set of codeword alternatives.
Conventional multimode codes will be analyzed using a simple
mathematical model. The criterion used to select the “best”
codeword from the selection set available has a signiﬁcant bearing
on the performance. Various selection criteria are introduced
and their effect on the performance of multimode codes will be
BINARY sequences with spectral nulls at zero frequency
have found widespread application in optical and mag-
netic recording systems. The dc-balanced or dc-free codes, as
they are often called, have a long history and their application
is certainly not conﬁned to recording practice. Since the early
days of digital communication over cable, dc-balanced codes
have been employed to counter the effects of low-frequency
cut-off due to coupling components, isolating transformers,
etc. In optical recording, dc-balanced codes are employed to
circumvent or reduce interaction between the data written on
the disc and the servo systems that follow the track . In
the literature, code implementations have been concentrated
on byte-oriented dc-free codes of rate 8/10 or 8/9. (see, for
example, –). For certain application it is desirable that
the code rate is much higher than 8/9. The construction of
such high-rate codes is far from obvious, as table look-up
for encoding and decoding is an engineering impracticality.
Two methods for high-rate code design have been described
in the literature , . Both methods utilize the idea that the
correspondence between source words and the codewords is
as simple as possible. A serious drawback of both methods
is that the performance, in terms of suppression of low-
frequency components, is far from what could be obtained
according to the tenets of information theory , , but up
till now attempts to improve the performance failed. Recently,
however, the publications by Fair et al. on “guided scrambling”
Paper approved by E. Ayanoglu, the editor for Communication Theory
and Coding Application of the IEEE Communications Society. Manuscript
received May 7, 1996; revised August 2, 1996. This paper was presented
in part at the IEEE 3rd Symposium on Communications and Vehicular
Technology, Eindenhoven, The Netherlands, October 25–26, 1995.
The authors are with the Philips Research Laboratories, 5656 AA Eind-
hoven, The Netherlands.
Publisher Item Identiﬁer: S 0090-6778(97)01970-3.
stimulated us to investigate the performance of their method
and its varieties. In our context, guided scrambling is a
member of a larger class of related coding schemes called
multimode code. In multimode codes, each source word can
be represented by a member of a selection set consisting of
codewords. The encoder opts for transmitting that codeword
that minimizes, according to a criterion to be deﬁned, the low-
frequency spectral contents of the encoded sequence. There are
two key elements which need to be chosen judiciously: 1) the
mapping between the source words and their corresponding
selection sets and 2) the criterion used to select the “best”
word. The spectral performance of the code greatly depends
on both issues. We start with some preliminaries, followed by
a section providing the state of the art. Thereafter, we will
outline the new multimode schemes and analyze their spectral
The running digital sum of a sequence (RDS) plays a
signiﬁcant role in the analysis and synthesis of codes whose
spectrum vanishes at the low-frequency end. Let
be a bipolar se-
quence. Note that in the sequel, we will denote the value of
by its logical equivalents ‘0’ or “1.” The (running) digital
sum is deﬁned as
It is an elementary exercise to show that if is bounded, the
spectral density vanishes at zero frequency . The number
of RDS values that the sequence assumes is often called the
digital sum variation and denoted by . The value of
should be as small as possible as it has a direct bearing on
the amount of power at the low-frequency end. Given the
parameter it is possible to compute the maximum value
of the rate, , of any code, irrespective of its complexity,
that translates arbitrary source input into sequences obeying
the given constraint. Results of computation, taken from ,
are listed in Table I. It can be seen that the sum constraint is not
very expensive in terms of rate loss when is relatively large.
For instance, a sequence that takes at maximum sum
values has a capacity , which implies a rate loss
0090–6778/97$10.00 1997 IEEE
294 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 3, MARCH 1997
CAPACITY AND SUM VARIANCE OF MAXENTROPIC SEQUENCES TAKING AT
MOST RDS VALUES VERSUS DIGITAL SUM VARIATION
of less than 6%. The quantity called sum variance plays
an important role in the evaluation of the spectral properties
of a code. Before explaining the relevance of the parameter
, a few words are in order regarding the low-frequency
properties of dc-free codes.
If is ﬁnite, the spectral density is zero at zero frequency,
but it is more relevant to note that there is a region of
frequencies, close to the zero frequency, where the spectral
density is low. The width of this region, termed the notch
width, is of great engineering relevance. The width of the
spectral notch, can be quantiﬁed by a parameter called the
cutoff frequency,. According to the work by Justesen 
there is a simple approximate relationship between and the
sum variance, , of the encoded sequence, namely
Sequences of maximum entropy assuming at most RDS
values obey the following fundamental relationship between
the sum variance and the redundancy 
The above relationship can be employed to derive a simple
yard stick for measuring the performance of implemented
codes. The encoder efﬁciency is deﬁned as
The encoder efﬁciency , as deﬁned in (3), compares the
“redundancy-sum variance products” of the implemented code
and the maxentropic sequence with the same digital sum
variation as the implemented code. The efﬁciency will be
used in the sequel to measure the performance of dc-free codes.
III. PRIOR ART
Essentially, there are three basic methods for generating dc-
free sequences which are relevant to the ensuing discussion.
These methods are brieﬂy reviewed below.
A. Monomode Codes
In monomode codes, there is a one-to-one relationship
between source words and codewords. By necessity, the code-
words have equal numbers of 1’s and 1’s. There are two
methods available for translating source words into codewords.
The ﬁrst method uses an algebraic technique, called enumera-
tion , and in the second method, devised by Knuth , -bit
source words are translated into -bit codewords. The
translation is achieved by selecting a bit position within the
-bit word which deﬁnes two segments, each having one half
of the total disparity of the -bit word, where the disparity of
a codeword is deﬁned as the difference between the numbers
of 1’s and 1’s in that codeword. A zero-disparity codeword,
i.e., a codeword with an equal number of 1’s and 1’s, is now
generated by the inversion of all the bits within one segment.
The position information which deﬁnes the two segments is
encoded in the bits.
B. Bimode Codes
Bimode codes ensure balanced transmission by providing
for each source word two alternative channel representations.
From the alternatives available, that codeword is transmitted
that minimizes the absolute value of the RDS after transmis-
sion of the new word. This selection criterion will be termed
MRDS selection criterion. An archetypical example of a bi-
mode code is the polarity switch code . The encoder and
decoder circuits of the polarity switch code are very simple
as no look-up tables are required. Under polarity switch rules,
source symbols are supplemented by one symbol called
the polarity bit. The encoder has the option to transmit the -
bit words without modiﬁcation or to invert all symbols. The
choice of a speciﬁc translation is made in such a way that
the running digital sum after transmission of the new word is
as close to zero as possible. The polarity bit is used at the
decoder site to identify whether the transmitted codeword has
been inverted or not, and can easily be reconstituted. Properties
of the polarity bit code have been described in . The
performance of the polarity switch code can be summarized
as follows. The rate of the polarity bit code is
The sum variance of the code  is
so that the efﬁciency is
From the above, we conclude that polarity switch codes are a
far cry from the optimal situation.
It is not difﬁcult to generalize the above principle of
bimode codes to multimode codes, which, as the name already
suggests, cater for more than two channel representations.
C. Multimode Codes
In multimode codes, each source word can be represented
by a member of a selection set, denoted by , consisting of
codewords. The MRDS selection criterion can be used to select
the “best” codeword. More sophisticated selection criteria will
be described in Section V. It should be appreciated that the
usage of multimode codes is not conﬁned to the generation
of dc-free sequences. Provided that is large enough and
the selection sets contain sufﬁciently different codewords,
IMMINK AND P ´
ATROVICS: DC-FREE MULTIMODE CODES 295
multimode codes can also be used to satisfy almost any
channel constraint with a suitably chosen selection method.
A basic element of multimode codes is the one-to- in-
vertible mapping between the source and its selection set
. Examples of such mappings are the guided scrambling
algorithm presented by Fair et al. , the dc-free coset
codes of Deng and Herro , and the scrambling using a
Reed–Solomon code by Kunisa et al. . In our context, a
mapping is considered to be “good” if the sets contain suf-
ﬁciently distinct codewords. The guided scrambling algorithm
is brieﬂy described below.
1) Guided Scrambling: The guided scrambling algorithm
uses selection sets of size , where is the number
of redundant bits. Guided scrambling is summarized below.
1) In the ﬁrst step, called augmenting, the source word is
preceded by all the possible binary sequences of length
to produce the set . Hence
2) The selection set is obtained by
scrambling all vectors in . Let the scrambler poly-
nomial be denoted by
where denotes the register length of the scrambler. The
scrambler translates each vector
into using the recursion
3) The “best” codeword in is selected for transmission.
4) At the receiver’s site, the inverse operation
The source word is found by deleting the ﬁrst bits.
In the guided scrambling algorithm described above, trans-
lation of source words into random-like channel represen-
tations is done in a fairly simple way. This basic algorithm
is, however, prone to worst case situations since there is a
probability that consecutive source words have representation
sets whose members all have the same polarity of the disparity.
In this vexatious situation, the RDS cannot be controlled,
and long-term low-frequency components can build up. This
ﬂaw can be solved by a construction where each selection set
consists of pairs of words of opposite disparity. As a result,
there is always a codeword in the selection set that can control
the RDS. A simple method embodying this idea combines the
features of guided scrambling and the polarity bit code. The
improved algorithm using redundant bits is executed in
six steps. In Steps 1), 2), and 5) the original guided scrambling
principle is executed while Steps 3) and 4) embody the polarity
1) The source word is preceded by all the possible binary
sequences of length to produce the
elements of the set . Hence:
2) The selection set is obtained by
scrambling all vectors in .
3) By preceding the vectors in with both a ‘one’ and a
“zero,” we get the set , with elements.
4) The selection set is obtained by scrambling (pre-
coding) the vectors in using the scrambler with
polynomial . This embodies the polarity bit prin-
5) The “best” codeword in is selected.
6) At the receiver end, the codeword is ﬁrst descrambled
using the polynomial, then after removing the ﬁrst
bit, it is descrambled. The original source word is
eventually reconstituted by removing the ﬁrst
All simulations and analyses discussed below assume the
above structure where the selection set consists of pairs of
words of opposite disparity.
IV. ANALYSIS OF MULTI-MODE CODES
A precise mathematical analysis of the performance of
multimode codes is, considering the complexity of the code,
out of the question. We can either rely on computer simulation
to facilitate an understanding of the operation of the coding
system or try to deﬁne a simple mathematical model, which
embraces the essential characteristics of the code and is also
analytically tractable. We followed both approaches, and we
commence by describing the mathematical model.
A. The Random Drawing Model
The key characteristic of a multimode code is that each
source word can be represented by a codeword taken from a set
containing “random” alternatives. As the precise structure of
the encoder is extremely difﬁcult to analyze, we assume, in our
mathematical model, that for each source block the channel
set is obtained by randomly drawing -bit words plus
their complementary -bit words. The precise structure
of the scrambler is ignored in our model. The “best” word in
the set, according to the MRDS criterion, is transmitted. The
MRDS criterion ensures that the state space of the encoder,
that is, the number of possible word-end running digital sum
(WRDS) values the encoded sequence may take, is ﬁnite.
However, if the codewords are relatively long, the number
of states and the resulting transition matrix are still too large
for a simple mathematical analysis. We therefore truncated
the state space by omitting those states that do not contribute
signiﬁcantly to the sum variance.
296 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 3, MARCH 1997
B. Transition Probabilities of the Finite-State Machine
The implemented encoder schemes can be simply treated in
terms of Markov models. The set of values that WRDS take
prior to transmission of a codeword deﬁnes a set of states of a
ﬁnite-state machine. We will use the shorthand notation
to denote both the WRDS at the start of the th codeword and
to refer to the encoder state itself. We commence our analysis
with a computation of the state transition probabilities.
Assume the th codeword starts with RDS . Then
the multimode code can be cast into a Markov chain model
whose state transition probabilities matrix, , is given by
We make the following remarks concerning the state transition
1) For the sake of simplicity, only codes using codewords
of even length are considered.
2) It is assumed that at the start of the transmission WRDS
is set to . As a result, since the codeword length is
3) For reasons of symmetry, only the probabilities for
need to be calculated.
4) To reduce the computational load, we truncated the state
space. Only those states are considered that can be
reached from the , or the , state with
probability greater than , where is chosen suitably
small, say 10 6. Other values of have been tried
without, however, causing signiﬁcant differences in the
results obtained. The remaining states will be termed
We now introduce several notations. If WRDS is positive,
then, according to the simple MRDS criterion, the next code-
word will be of zero or negative disparity. Therefore, assuming
that the encoder occupies state , the set of possible next
states is . Let denote the
probability of a codeword pair having disparity and .
The probability of the next-state candidate in a draw being
The next-state candidate in the th draw is denoted by
. According to the MRDS criterion, if the next state
is , then for all . The probability that during
a draw the next-state candidate is “worse” than , denoted
by , is given by
Now, the expression for the transition matrix is given by
The transition probabilities for each pair of WRDS states
can be numerically determined by invoking (7). In order to
make the analysis more tractable, those states are removed
that can be reached from the , or the , state
Fig. 1. Efﬁciency of random drawing algorithm using the MRDS selection
with probability less than . The remaining set of states, the
principal states, denoted by
, and the truncated transition probability matrix with
elements can easily be found. Thereafter, vector
of the stationary probabilities, with elements ,is
found by solving . The calculation of the variance
of the digital sum at the start of the codewords is now
straightforward. The computation of the sum variance within
the codewords is more complex, and therefore given in the
C. Computational Results
Using (13), we calculated the efﬁciency of the random
drawing algorithm for selected values of the codeword length
and redundancy. Fig. 1 shows the results. The connected points
have the same redundancy , and the th point on a
curve corresponds to a code having redundant bits, codeword
length , and selection sets of size . For comparison
purposes, we also plotted the efﬁciency of the polarity bit
code [see (4)]. By comparing the efﬁciency values at the
th point on each curve, we can see that these values are
approximately the same. The efﬁciency of the random coding
algorithm is practically independent of the codeword length
and is essentially determined by the number of redundant bits
used. It can be seen that codes with two or three redundant bits
are clearly more efﬁcient than the polarity bit code. With an
increasing number of redundant bits, however, the efﬁciency
decreases. The decrease in performance, as will be explained
in the next section, is due to the shortcomings of the MRDS
V. ALTERNATIVE SELECTION CRITERIA
The results, plotted in Fig. 1, reveal that using more than
two redundant bits does not lead to improved performance. The
reason that performance decreases with an increasing number
of redundant bits can easily be understood. A quick calculation
will make it clear that a large selection set contains with great
probability at least one zero-disparity word. On the basis of
IMMINK AND P ´
ATROVICS: DC-FREE MULTIMODE CODES 297
Fig. 2. Simulation results for the random drawing algorithm with ﬁxed
redundancy 1/128 with different selection criteria (a) MRDS, (b) MMRDS,
and (c) MSW.
the simple MRDS criterion one of the zero-disparity words
is randomly chosen and transmitted. As the sum variance of
zero-disparity codewords equals ,  irrespective
of the rate of the code, we conclude that the efﬁciency will
asymptotically approach zero. More sophisticated selection
criteria, which take account of the running digital sum within
the codeword, and not only at the end of the word, may
result in increased performance. In order to describe these
more sophisticated selection criteria, we introduce the squared
weight,, of a codeword, deﬁned as the sum of the squared
RDS values at each bit position of the codeword. The two
selection criteria examined are as follows:
1) modiﬁed MRDS (MMRDS) criterion: from the code-
words with minimal WRDS , the one with minimum
2) minimum squared weight (MSW) criterion: the code-
word of minimal is selected from the selection set,
irrespective of the WRDS of the codeword.
Fig. 2 shows the simulation results obtained for redundancy
1/128. Simulations of codes with other values of the redun-
dancy produced similar results. From the curves, we infer the
• The MRDS method wastes the opportunity offered by the
broader selection sets. By properly selecting the codeword
from the ones with minimal WRDS , the efﬁciency of the
MMRDS scheme tends to unity.
• As indicated by the curve of the MSW criterion, the
best codewords do not necessarily minimize the WRDS .
Selecting the codeword with minimal squared weight
clearly results in more efﬁcient codes.
Based on the above observations, we searched for a criterion
that is simple to implement while its efﬁciency approaches that
of the MSW criterion. The outcome is described in the next
A. The Minimum Threshold Overrun Criterion
Our objective, in this section, is to construct a selection
criterion which takes into account the RDS values within
Fig. 3. Simulation results for the random drawing algorithm having ﬁxed
redundancy 1/128 with (a) the MSW criterion and (b) the MTO criterion. The
dotted line shows the results obtained for the implemented encoding scheme
using a scramblers with polynomial .
the codeword while having a structure that is also easy to
implement. The proposed selection scheme, termed minimum
threshold overrun (MTO) criterion, utilizes the parameter
“RDS threshold,” denoted by . The MTO penalty
is simply the number of times the absolute value of the
running digital sum within a word is larger than . As the
squaring operation needed for the MSW criterion is avoided,
the implementation of the MTO criterion is not more complex
than the MRDS method. The codeword with minimum penalty
is transmitted. If two or more codewords have the same
penalty, one of them is chosen randomly and transmitted.
This procedure does not seriously deteriorate the performance
as it is fairly improbable that two or more codewords in the
selection set have the same penalty value. Fig. 3, curve (b),
shows simulation results obtained with the MTO criterion.
Optimal values of the threshold were found by trial and
error. We can see that the MTO criterion is only slightly less
efﬁcient than the MSW criterion. All results shown so far have
been obtained by a simulation program of the random drawing
algorithm. As a ﬁnal check we also conducted simulations
with a full-ﬂedged implementation using a scramblers with
polynomial . Experiments with other scrambler
polynomials did not reveal signiﬁcant differences. The dotted
curve, Fig. 3, gives results on the basis of the MTO criterion.
The curve shows a nice agreement with results obtained with
the random drawing algorithm. As the proof of the pudding
we have computed the power spectral density (PSD) of two
typical examples. The results are displayed in Fig. 4.
Multimode codes have been mathematically analyzed by
introducing a simple random drawing model. We have pre-
sented alternative selection criteria and examined their effect
on the spectral efﬁciency. Multimode codes are excellent
candidate dc-free codes when both low-spectral content at
the low-frequency end and high rate are at a premium. For
given rate and proper selection criteria, the spectral content of
multimode codes is very close to the minimal content promised
298 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 45, NO. 3, MARCH 1997
Fig. 4. Spectra of encoded sequences generated by the polarity switch code (upper curve) and multimode code (lower curve). The redundancy is in both
cases 1/128. The multimode code has six redundant bits (codeword length is ) and it uses the MTO selection criterion.
by information theory.
In this Appendix, we will compute the sum variance of se-
quences encoded with the random drawing model. A codeword
with binary elements is translated into the -tuple
Suppose the th codeword in the sequence,
, starts with initial RDS . The RDS at
the th symbol position of , denoted by , equals
The running sum variance at the th position, given , equals
where the operator averages over all codewords
that start with an initial RDS . As the source population
of codewords is the full set of vectors of nonpositive (nonneg-
ative) disparity, the expectations and
, are independent of the symbol positions
and . For the sake of convenience, we use the shorthand
. Substitution yields the running sum variance at
the th symbol position
The sum variance of a codeword starting with initial RDS ,
designated by , is found by averaging the running digital
sum variance over all symbol positions of the codeword or
The probability that a codeword starts with an RDS
equals the stationary probability , so that by taking
the probability into account that a codeword starts with RDS
and averaging over all initial states in , the following
expression is found for the sum variance :
The variance of the initial sum values, , equals
The quantity can be estimated by noting the periodicity, i.e.,
. Evaluating (8) yields
and after averaging, where the the probability of starting with
an initial RDS is taken into account, we obtain
so that with we ﬁnd
Substitution in (9) yields
1) Computation of the Correlation: We next calculate the
correlation of the symbols at the th and
the th symbol position within the same codeword. It is
IMMINK AND P ´
ATROVICS: DC-FREE MULTIMODE CODES 299
obvious that .If , some more work
is needed. In that case,
Assume a codeword to be of disparity . Then the prob-
ability that a symbol at position in the codeword equals
The probability that another symbol at position
within the same codeword equals 1is
and (11) yields the correlation for codewords of disparity
Using the above, we ﬁnd that
The sum variance can be determined using (10) and (12)
The authors wish to thank I. Fair for his valuable remarks
that helped improve the contents of this paper.
 K. A. S. Immink, Coding Techniques for Digital Recorders. Engle-
wood Cliffs, NJ: Prentice-Hall International, 1991.
 S. Fukuda, Y. Kojima, Y. Shimpuku, and K. Odaka, “8/10 modulation
codes for digital magnetic recording,” IEEE Trans. Magn., vol. MAG-22,
pp. 1194–1196, Sept. 1986.
 A. X. Widmer and P. A. Franaszek, “A dc-balanced, partitioned-block,
8b/10b transmission code,” IBM J. Res. Develop., vol. 27, no. 5, pp.
440–451, Sept. 1983.
 H. Yoshida, T. Shimada, and Y. Hashimoto, “8-9 block code: A dc-free
channel code for digital magnetic recording,” SMPTE J., vol. 92, pp.
918–922, Sept. 1983.
 F. K. Bowers, U.S. Patent 2 957947, 1960.
 D. E. Knuth, “Efﬁcient balanced codes,” IEEE Trans. Inform. Theory,
vol. IT-32, pp. 51–53, Jan. 1986. See also P. S. Henry, “Zero disparity
coding system,” U.S. Patent 4 309694, Jan. 1982.
 H. Hollmann and K. A. S. Immink, “Performance of efﬁcient balanced
codes,” IEEE Trans. Inform. Theory, vol. 37, pp. 913–918, May 1991.
 J. Justesen, “Information rates and power spectra of digital codes,” IEEE
Trans. Inform. Theory, vol. IT-28, pp. 457–472, May 1982.
 I. J. Fair, W. D. Gover, W. A. Krzymien, and R. I. MacDonald, “Guided
scrambling: A new line coding technique for high bit rate ﬁber optic
transmission systems,” IEEE Trans. Commun., vol. 39, pp. 289–297,
 R. H. Deng and M. A. Herro, “DC-free coset codes,” IEEE Trans.
Inform. Theory, vol. 34, pp. 786–792, July 1988.
 A. Kunisa, S. Takahashi, and N. Itoh, “Digital modulation method for
recordable digital video disc,” in Proc. 1996 IEEE Int. Conf. Consumer
Electron., June 1996, pp. 418–419.
Kees A. Schouhamer Immink (M’81–SM’86–
F’90) received the M.S. and Ph.D. degrees from the
Eindhoven University of Technology, Eindenhoven,
He joined the Philips Research Laboratories,
Eindhoven, in 1968, where he currently holds the
position of Research Fellow. He has contributed
to the design and development of a wide variety
of digital consumer-type audio and video-recorders
such as the compact disc, compact disc video, R-
DAT, DCC, and DVD. He holds 32 U.S. patents
and has written numerous papers in the ﬁeld of coding techniques for optical
and magnetic recorders.
Dr. Immink is the Chairman of the IEEE Benelux Chapter on Consumer
Electronics, a Governor of the Audio Engineering Society (AES), and a
Governor of the IEEE Information Theory Society. He was named a Fellow
of the AES, SMPTE, and IEE. Furthermore, he was recognized and awarded
with the AES Silver Medal in 1992, the IEE Sir Thomson Medal in 1993,
the SMPTE Poniatoff Gold Medal in 1994, and the IEEE Ibuka Consumer
Electronics Award in 1996. He is a member of the Royal Netherlands
Academy of Arts and Sciences.
atrovics was born in Budapest, Hungary.
He received the M.Sc. degree in electrical engi-
neering and computer science in 1994 from the
Technical University of Budapest, Hungary. From
May to December 1995, he was working towards
the Ph.D. degree at Philips Research Laboratories,
Eindhoven, The Netherlands.
His research interests are in information theory,
particular construction, and analysis of constrained
codes. Currently, he is with Lufthansa Systems,