
1 A Construction for Balancing Non-Binary Sequences Based on Gray Code Prefixes Elie N. Mambou and Theo G. Swart, Senior Member, IEEE Abstract—We introduce a new construction for the balancing simply has to sequentially complement the bits until this of non-binary sequences that make use of Gray codes for prefix weight is attained. coding. Our construction provides full encoding and decoding Al-Bassam [3] presented a generalization of Knuth’s algo- of sequences, including the prefix. This construction is based on rithm for binary codes, non-binary codes and semi-balanced a generalization of Knuth’s parallel balancing approach, which codes (the latter occur where the number of 0’s and 1’s differs can handle very long information sequences. However, the overall by at most a certain value in each sequence of the code). The sequence—composed of the information sequence, together with the prefix—must be balanced. This is reminiscent of Knuth’s balancing of binary codes with low DC level is based on DC- serial algorithm. The encoding of our construction does not make free coset codes. For the design of non-binary balanced codes, use of lookup tables, while the decoding process is simple and symbols in the information sequence are q-ary complemented can be done in parallel. from one side, but because this process does not guarantee balancing, an extra redundant symbol is added to enforce Keywords—Balanced sequence, DC-free codes, Gray code prefix. the balancing (similar to our approach later on). Information regarding how many symbols to complement is sent by using a balanced prefix. I. INTRODUCTION Capocelli et al. [4] proposed using two functions that must HE use of balanced codes is crucial for some information satisfy certain properties to encode any q-ary sequence into T transmission systems. Errors can occur in the process of balanced sequences. The first function is similar to Knuth’s storing data onto optical devices due to the low frequency of serial scheme: it outputs a prefix sequence depending on operation between structures of the servo and the data written the original sequence’s weight. Additionally, all the q-ary on the disc. This can be avoided by using encoded balanced sequences are partitioned into disjointed chains, where each codes, as no low frequencies are observed. In such systems, chain’s sequences have unique weights. The second function balanced codes are also useful for tracking the data on the is then used to select an alternate sequence in the chain disc. Balanced codes are also used for countering cut-off at low containing the original information sequence, such that the frequencies in digital transmission through capacitive coupling chosen prefix and the alternate sequence together are balanced. or transformers. This cut-off is caused by multiple same-charge Tallini and Vaccaro [8] presented another construction for bits, and results in a DC level that charges the capacitor in the balanced q-ary sequences that makes use of balancing and AC coupler [1]. In general, the suppression of low-frequency compression. Sequences that are close to being balanced are spectrum can be done with balanced codes. encoded with a generalization of Knuth’s serial scheme. Based A large body of work on balanced codes is derived from on the weight of the information sequence, a prefix is chosen. the simple algorithm for balancing sequences proposed by Symbols are then “complemented in stages”, one at a time, Knuth [2]. According to Knuth’s parallel algorithm, a binary until the weight that balances the sequence and prefix together sequence, x, of even length k, can always be balanced by is attained. Other sequences are compressed with a uniquely complementing its first or last i bits, where 0 i k. The decodable variable length code and balanced using the saved index i is then encoded as a balanced prefix that≤ is≤ appended space. to the data. The decoder can easily recover i from the prefix, Swart and Weber [5] extended Knuth’s parallel balancing and then again complementing the first or last i bits to obtain scheme to q-ary sequences with parallel decoding. However, arXiv:1706.00852v1 [cs.IT] 2 Jun 2017 the original information. For Knuth’s serial (or sequential) this technique does not provide a prefix code implementation, algorithm, the prefix is used to provide information regarding with the assumption that small lookup tables can be used the information sequence’s initial weight. Bits are sequentially for this. Our approach aims to implement these prefixes via complemented from one side of the overall sequence, until the Gray codes. Swart and Weber’s scheme will be expanded on information sequence and prefix together are balanced. Since in Section II-A, as it also forms the basis of our proposed the original weight is indicated by the prefix, the decoder algorithm. Swart and Immink [6] described a prefixless algorithm for This paper was presented in part at the IEEE International Symposium on balancing of q-ary sequences. By using the scheme from [5] Information Theory, Barcelona, Spain, July, 2016. and applying precoding to a very specific error correction code, The authors are with the Department of Electrical and Electronic Engineer- it was shown that balancing can be achieved without the need ing Science, University of Johannesburg, P. O. Box 524, Auckland Park, 2006, South Africa (e-mails: emambou, tgswart @uj.ac.za). for a prefix. This work is based onf research supportedg in part by the National Research Pelusi et al. [7] presented a refined implementation of Foundation of South Africa (UID 77596). Knuth’s algorithm for parallel decoding of q-ary balanced 2 6 codes, similar to [5]. This method significantly improved [4] and [8] in terms of complexity. 5 The rest of this paper is structured as follows. In Section II, 4 β4,3 we present the background for our work, which includes Swart ) y and Weber’s balancing scheme for q-ary sequences [5] and ( 3 w non-binary Gray code theory [10]. In Section III, a construction 2 is presented for sequences where k = qt. Section IV extends on our proposed construction to sequences with k = qt. 1 Finally, Section V deals with the redundancy and complexity6 0 1 2 3 4 5 6 7 8 9 10 11 of our construction compared to prior art constructions, our z conclusions are presented in Section VI. Fig. 1. Random walk graph of w(y) for Example 1 II. PRELIMINARIES balanced. Let x = ( ) be a -ary information sequence of x1x2 : : : xk q z x b = y w(y) length , where 0 1 1 is from a non-binary q z k xi ; ; : : : q 0 (2101) ⊕ (0000) = (2101) 4 alphabet. A prefix of2 length f is− appendedg to x. The prefix 3 r 1 (2101) ⊕ (1000) = (0101) 2 and information together are denoted by c = ( ) of 3 c1c2 : : : cn 2 (2101) ⊕ (1100) = (0201) 3 length = + , where 0 1 1 . Let (c) refer 3 n k r ci ; ; : : : q w 3 (2101) ⊕ (1110) = (0211) 4 to the weight of c, that is the2 f algebraic sum− g of symbols in c. 3 4 (2101) ⊕ (1111) = (0212) 5 The sequence c is said to be balanced if 3 5 (2101) ⊕ (2111) = (1212) 6 ⊕3 n 6 (2101) 3 (2211) = (1012) 4 X n(q 1) ⊕ w(c) = c = − : 7 (2101) 3 (2221) = (1022) 5 i 2 ⊕ i=1 8 (2101) 3 (2222) = (1020) 3 9 (2101) ⊕ (0222) = (2020) 4 ⊕3 Let β represent this value obtained at the balancing state. 10 (2101) 3 (0022) = (2120) 5 n;q ⊕ For the rest of the paper, the parameters k, n, q and r are 11 (2101) 3 (0002) = (2100) 3 ⊕ chosen in such a way that the balancing value, β = n(q n;q − For this example, there are four occurrences of balanced 1)=2, leads to a positive integer. sequences. A (γ; τ)-random walk refers to a path with random increases of γ and decreases of τ. In our case, a random walk graph is the A. Balancing of q-ary Sequences plot of the function of w(y) versus z. In general, the random walk graph of w(y) always forms a (1; q 1)-random walk Any information sequence, x of length k and alphabet size − q, can always be balanced by adding (modulo q) to that [5]. Fig. 1 presents the (1; 2)-random walk for Example 1. The sequence one sequence from a set of balancing sequences [5]. dashed line indicates the balancing value β4;3 = 4. The balancing sequence, b = (b b : : : b ) is derived as This method, as presented in [5], assumed that the z indices s;p 1 2 k can be sent using balanced prefixes, but the actual encoding of these was not taken into account. For instance, in Example 1 s; i > p; b = indices z = 0, 3, 6 and 9 must be encoded into balanced i s + 1 (mod q); i p; ≤ prefixes, in order to send overall balanced sequences. where s and p are positive integers with 0 s q 1 and 0 p k 1. Let z be the iterator through≤ all≤ possible− B. Non-binary Gray Codes ≤ ≤ − balancing sequences, such that z = sn+p and 0 z kq 1. Binary Gray codes were first proposed by Gray [9] for ≤ ≤ − Let y refer to the resulting sequence when adding (modulo solving problems in pulse code communication, and have q) the balancing sequence to the information sequence, y = been extended to various other applications. The assumption x q bs;p, where q denotes modulo q addition.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-