Content uploaded by Kees Schouhamer Immink
Author content
All content in this area was uploaded by Kees Schouhamer Immink on Jun 16, 2024
Content may be subject to copyright.
Low-complexity near-optimal detection of
dc
2
-balanced codes
K.A.S. Immink
✉
Two constructions of a low-complexity near-optimal detection method
of dc
2
-balanced codes are presented. The methods presented are
improvements on Slepian’s algorithm for optimal detection of permu-
tation codes.
Introduction: dc-Balanced codes have been widely applied in trans-
mission and storage systems to counter, for example, the effects of
low-frequency cut-off [1] and low-frequency disturbances arising from
fingerprints on optical discs, such as compact disc and so on. [2].
dc
2
-Balanced or second-order spectral zero codes exhibit the property
that both the power spectrum and its second derivative are zero at
zero frequency, resulting in significant suppression of spectral com-
ponents at low frequencies [3]. Implementation examples of higher-
order spectral codes have been presented by Roth et al. [4], Skachek
et al. [5], and Yang [6]. The efficient detection of such codes has not
been investigated.
Slepian [7] presented a simple method for maximum-likelihood
detection of dc-balanced codewords when they are corrupted with addi-
tive Gaussian noise. Such a simple, but optimal, detection method is not
available for dc
2
-balanced codes. We will present two simple sub-
optimal, but close-to-optimal, detection methods for dc
2
-balanced
codes. We start with a description of the relevant prior art, followed
by a presentation of a close-to-optimal detection scheme.
Prior art: We consider a codebook, S, of chosen binary codewords x=
(x
1
,x
2
,…,x
n
) over the binary alphabet Q={0,1}, where n, the length
of x, is a positive integer. We define the unbalance terms,
w
1
(x) and
w
2
(x), of the codeword xby
w
1(x)=
n
i=1
xi−n
2(1)
and
w
2(x)=
n
i=1
ixi−n(n+1)
4(2)
In [3], constrained codes were presented, where the codebook Sis
chosen such that each codeword x∈Ssatisfies two conditions, namely
w
1(x)=0 (3)
and
w
2(x)=0 (4)
A codebook that satisfies condition (3) is called a balanced code, while a
code that satisfies both conditions (3) and (4) is called a dc2−balanced
code. dc
2
-Balanced codes have desirable practical features. First, the
minimum Hamming distance of Sis four [3]. Secondly, both the
power spectrum and its second derivative are zero at zero frequency,
which is a prerequisite for some channels.
Let the number of codewords of length nthat satisfy (3) and (4) be
denoted by N
dc
2
(n). It has been found [3] that N
dc
2
(n)=0 if
nmod 4=0. Prodinger [8] computed the number of dc
2
-balanced
codewords, N
dc
2
(n), for asymptotically large vales of n, namely
Ndc2(n)≃4
3
√
p
2n
n2,nmod 4=0 (5)
The redundancy of dc
2
-balanced codes, denoted by r
dc
2
(n), is approxi-
mated by
rdc2(n)=n−log2Ndc2(n)≃2log2n−1.141,n≫1 (6)
Detection: We assume that the sent codeword, x∈S, is received as the
n-vector r=x+ν,ri[R, where the sent word is corrupted by additive
Gaussian noise ν=(ν
1
,…,ν
n
), ni[Rwith distribution N(0, σ
2
), where
s
2[Rdenotes the variance of the additive noise. The well-known
(squared) Euclidean distance between the received signal vector rand
the codeword ˆ
xis defined by
d
(r,ˆ
x)=
n
i=1
(ri−ˆ
xi)2(7)
A minimum Euclidean distance detector outputs the codeword
xo=arg min
ˆ
x[S
d
(r,ˆ
x) (8)
The above exhaustive search for the ‘nearest’codeword at minimum dis-
tance to the received vector is expensive, especially for large codeword
sets since |S| grows exponentially with increasing n. Slepian [7] showed
that maximum-likelihood detection of a permutation code can be per-
formed in a simple way without exhaustively computing (7) for all code-
words in S. Clearly, a balanced code is a permutation code, where, as
each codeword that satisfies (3), is a permutation of a given binary
word having n/2 ‘1’s and ‘0’s. We define the sorted values r
(1)
,…,
r
(n)
to be a permutation of the received symbols r
1
,…,r
n
such that
r
(1)
≤r
(2)
≤··· ≤r
(n)
. Following Slepian’s algorithm [7], the receiver
sets the n/2 least-valued symbols, r
(1)
…r
(n/2)
,to‘0’and the other
symbols, r
(n/2+1)
…r
(n)
,to‘1’. Slepian’s algorithm is attractive since
the complexity of sorting nsymbols grows with nlog n, which is far
less complex than the evaluation of (8).
Adc
2
-balanced code is not a permutation code so that Slepian’s
optimal method cannot be applied. Below we work out two sub-optimal
methods, which are based upon Slepian’s method.
10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0
10−5
10−4
10−3
10−1
10−1
100
WER
SNR, dB
a
c
b
Fig. 1 WER, computed and simulated, as function of SNR = 1/σ(dB) for n =
20. Curves (a) and (b) show the results, where the sub-optimal detector,
Strategies A and B, are used, while curve (c) shows the result for the
optimal detector using (8)
Sub-optimal detection of dc
2
-balanced codes: We sort the received
symbols from their least to greatest values, and in a ‘first guess’,in
analogy with Slepian’s[7] algorithm, the receiver sets the n/2 least
symbols to ‘0’, and the other n/2 symbols to ‘1’. Let the ‘first guess’
dc-balanced word so obtained be denoted by ˆ
x=(ˆx1,...,ˆxn).
Clearly,
w
1(ˆ
x)=0. If
w
2(ˆ
x)=0, the word is accepted, and forwarded
to the user. If, however,
w
2(ˆ
x)=0, the receiver may choose between
various strategies. We have worked out two strategies.
Strategy A: The simplest strategy is the swapping of ‘1’and ‘0’symbols
of ˆ
xthat were received with least reliability, that is swapping r
(n/2)
and
r
(n/2+1)
and their associated symbol values.
Strategy B: Let d=
w
2(ˆ
x).0. Then, for 1 ≤i≤n−dif ˆ
xi=0 and
ˆ
xi+d=1, we swap the symbols ˆ
xiand ˆ
xi+d. The word obtained after
the swap satisfies (4). If there are multiple swaps that satisfy (4), we
weigh the swaps with their relative reliability of the received samples,
and accept the most reliable swap. If d< 0, we may write down a
similar algorithm, which is not presented here for reasons of space.
The strategy requires at most ncomparisons.
Simulations: We performed various computer simulations for assessing
the performance of the sub-optimal detector strategies described above.
Fig. 1shows some typical results, where, for n= 20, the word error rate
(WER) is plotted versus the signal-to-noise ratio = 1/σ, for the optimal
and sub-optimal detectors. We note that Strategy A, attractive as it is
very simple to implement, is far from optimal with a loss of around
2 dB. Strategy B performs close to optimality with a loss of ∼0.2 dB in
the range investigated.
Conclusions: We have presented two sub-optimal detectors for
dc
2
-balanced codes. The new detectors are based on Slepian’s optimal
detection method of permutation codes such as dc-balanced codes.
We assessed the error performance of the new detectors using computer
simulations.
© The Institution of Engineering and Technology 2016
Submitted: 11 November 2015
doi: 10.1049/el.2015.3933
K.A.S. Immink (Turing Machines Inc, Willemskade 15b-d, 3016 DK
Rotterdam, The Netherlands)
✉E-mail: immink@turing-machines.com
References
1 Cattermole, K.W.: ‘Principles of digital line coding’,Int. J. Electron.,
1983, 55, pp. 3–33
2 Immink, K.A.S.: ‘A survey of codes for optical disk recording’,IEEE
J. Sel. Areas Commun., 2001, 19, (4), pp. 756–764
3 Immink, K.A.S., and Beenker, G.F.M.: ‘Binary transmission codes with
higher order spectral zeros at zero frequency’,IEEE Trans. Inf. Theory,
1987, IT-33, (3), pp. 452–454
4 Roth, R.M., Siegel, P.H., and Vardy, A.: ‘Higher-order spectral-null
codes: constructions and bounds’,IEEE Trans. Inf. Theory, 1994,
IT-40, pp. 1826–1840
5 Skachek, V., Etzion, T., and Roth, R.M.: ‘Efficient encoding algorithm
for third-order spectral-null codes’,IEEE Trans. Inf. Theory, 1998,
IT-44, pp. 846–851
6 Yang, C.N.: ‘Design of efficient second-order spectral-null codes’,IEEE
Trans. Inf. Theory, 2005, IT-51, (4), pp. 1580–1584
7 Slepian, D.: ‘Permutation modulation’,Proc. IEEE, 1965, 53,
pp. 228–236
8 Prodinger, H.: ‘On the number of partitions of {1, …,n} into two sets of
equal cardinalities and equal sums’,Can. Math. Bull., 1982, 25, (2),
pp. 238–241