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

ﬁngerprints 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 signiﬁcant 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 efﬁcient 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 deﬁne 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∈Ssatisﬁes two conditions, namely

w

1(x)=0 (3)

and

w

2(x)=0 (4)

A codebook that satisﬁes condition (3) is called a balanced code, while a

code that satisﬁes 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 deﬁned 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 satisﬁes (3), is a permutation of a given binary

word having n/2 ‘1’s and ‘0’s. We deﬁne 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 ‘ﬁrst 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 ‘ﬁrst 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 satisﬁes (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.: ‘Efﬁcient encoding algorithm

for third-order spectral-null codes’,IEEE Trans. Inf. Theory, 1998,

IT-44, pp. 846–851

6 Yang, C.N.: ‘Design of efﬁcient 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