IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
5235
A Variable Length Approach to Moment Balancing Filip Palunˇcic´, Hendrik C. Ferreira, and Willem A. Clarke
Abstract—Moment balancing templates have been proposed for channels with a small probability of an insertion/deletion (several orders smaller than additive errors) that add a minimal amount of redundancy. These templates are essentially a systematic way of encoding number-theoretic codes (primarily Levenshtein’s s = 1 insertion/deletion code). Moment balancing templates proposed up to this point have been of fixed length. In this paper, it is shown that by using variable length templates, it is possible to obtain better performance than the optimal fixed length moment balancing template. Here, performance is defined as the amount of redundancy, which includes the moment balancing bits and the marker, that needs to be added. Index Terms—Additive errors, deletion, insertion, moment balancing, variable length.
I. INTRODUCTION
S
YSTEMATIC encoding of number-theoretic codes have been proposed in a number of papers [1]–[5]. This approach removes the need for lookup tables and allows for easier extraction of the information bits. Levenshtein, in [6] showed that all the codewords satisfying (1) and form a single for a particular insertion/deletion correcting codebook. In [3], Abdel-Ghaffar and Ferreira proved that the optimal systematic encoding for the Varshamov–Tenengol’ts code is obtained when the moment balancing bits are placed . Varat indices shamov–Tenengol’ts code [7] is used to correct a single asymmetric error. Levenshtein [6] noticed that by extending the Varshamov–Tenengol’ts’ construction, a single insertion/dele, a Levenshtein code tion can be corrected. For is identical to the Varshamov–Tenengol’ts code. Since the , systematic encoding proposed in [3] is optimum for the optimum systematic encoding for the Levenshtein code is identical to that for the Varshamov–Tenengol’ts code. Using the systematic form from [3], Ferreira et al. [5] proposed optimal moment balancing templates that added a single insertion/deletion capability to arbitrary (additive) error Manuscript received November 06, 2009; revised March 29, 2010. Date of current version September 15, 2010. The material in this paper was presented in part at the IEEE International Symposium on Information Theory, Toronto, ON, Canada, July 6–11, 2008. The authors are with the Department of Electrical and Electronic Engineering Science, University of Johannesburg, Auckland Park, 2006, South Africa (e-mail:
[email protected];
[email protected];
[email protected]). Communicated by N. Kashyap, Associate Editor for Coding Theory. Digital Object Identifier 10.1109/TIT.2010.2059970
correcting codes. The information set of the template is used for the error correcting codeword, while the moment balancing bits (parity bits) add a single insertion/deletion capability. They are proposed for insertion/deletion channels with low probabilities of insertion/deletion errors. The rate of the moment increases. By using long balancing template improves as length templates, a single insertion/deletion capability can be added with a relatively minimal amount of redundancy. In this paper, we will likewise allow that the information set of the variable length moment balancing template contains bits from an error correcting coded stream. It should, however, be noted that the information set may also be uncoded information bits, hence creating a variable length Levenshtein code with only insertion/deletion correcting capability. By using a variable length moment balancing template, we will show that it is possible to improve on the performance, in terms of the number of moment balancing bits needed, of the optimal fixed length moment balancing template proposed in [5]. In this paper, we will only consider templates for the Levenshtein code. Theoretically, the variable length template can then be extended to any similar number-theoretic code. Section II presents definitions and concepts which will prove useful in the rest of this paper. Section III introduces the variable length approach and Section IV combines the variable length approach with the moment balancing template. Section V compares the required redundancy between the optimal fixed length moment balancing template and its variable length counterpart. Section VI considers issues regarding practical implementation. Finally, Section VII gives some simulation results. II. PARTITION DISTRIBUTION represent Levenshtein’s single insertion/deleLet tion correcting codebook. Then
(2) where , i.e., represents the cardinality of . The partition distribution of a set is defined the set as the values of the partition cardinality for all par. Define the average partition cardinality titions of as (3) Let of and tion cardinality of
0018-9448/$26.00 © 2010 IEEE
be the maximum partition cardinality be the minimum parti. Here the minimum and max-
5236
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
imum are over all . Then the partition distribution of a set is said to be approximately flat if . Furthermore, consider two arbitrary lengths and , such that . The is said to be flatter than partition distribution of if that of
Note that for tained when
, the maximum cardinality is oband minimum when [8].
Proposition 1: For (4)
Repeating this for all . , by incrementing by one, the moFor ment is changed by if or 0 if . Since , the value of can only change by a certain value, which quickly grows large. Let the term index refer to the position of a bit in a binary sequence (the first bit has the index 1) and let the term moment weight refer to the integer value associated with each index that is used in calculating the , where the moment. Then, by defining subscript for each bit refers to its moment weight, the change in , the moment is not only determined by the bit at the index of . If , then but also by the Hamming weight and if , the moment the moment changes by . changes by Accordingly, define as
Proof: For the proof, refer to the Appendix. If we consider the set tends to become flatter as
, its partition distribution increases.
(5)
III. VARIABLE LENGTH APPROACH represent a random binary sequence Let represents all the of theoretically infinite length. If the set . Let possible binary sequences of length , then . Starting with , we wish to find a codeword that satisfies (1). We also specify two variables and , where it is desired that . First according to (1). For calculate the partition of to be a Levenshtein codeword, it needs to be part of a particular partition . If doesn’t belong to the desired partition, . increment by one. Then determine the partition of This process is repeated until a Levenshtein codeword is found. Assume that the first Levenshtein codeword is found at length . Then the search for the second Levenshtein codeword starts . with as the probability that (1) is satisfied for for Define . It is possible to give an approximation the smallest for . We will assume that for all . The justification for this approximation will be considered later in this paper. Proposition 2: For for all
Note that and that only the moment weights are reversed and not the codewords. The moment balancing templates are used to add a single insertion/deletion capability to an arbitrary error correcting code. For purposes of concept elucidation, we will use a (7,3) LDPC code to provide an additive error correcting capability. Let represent a LDPC codeword and if represents the th LDPC . The sign is used to codeword, then indicate codeword concatenation. Then we wish to find for the smallest such that for a particular and . The subscript refers to and represents an index inthe th LPDC codeword in side . Therefore, , where . need not correspond to the boundary of . Define Hence, as
(6)
and for for
Proof: Since , the probability that belongs to a particular partition is . As is incremented, is also incremented. Therefore, we will assume that the partition values are independent for different values , the probability that satisfies (1) for a of . For particular is . For is given and that by the probability that (1) is not satisfied for . This is given by (1) is satisfied for
and . Consider the case where Fig. 1 shows the simulated partition distribution of the . The partition distribution for set is similar to . As with , for we will use the approximation all , where . For . Define as (7) Then random codewords
. By generating , 90.34% of these codewords had
ˇ ´ et al.: A VARIABLE LENGTH APPROACH TO MOMENT BALANCING PALUNCIC
Fig. 1. Partition distribution jC
n; m; a)
(
j
5237
~ . for m = n + 1 where n = 100. The distribution was obtained by randomly generating 10 codewords x
. It is desired that , or that . Since , it follows for a finite doesn’t exist. Therethat . fore, the problem becomes that of minimizing and , we have no control over However, for a fixed . This is where moment balancing bits assume their role. IV. VARIABLE LENGTH TEMPLATE By adding moment balancing bits, it is possible to minto an arbitrarily small value. Assume imize that moment balancing bits are added at indices with . Let denote the maxmoment weights moment balancing bits can add to imum value that the the moment. Then . Then the information set . Let is given by represent the represent the information set and parity set (moment balancing bits). Then
With the addition of the moment balancing bits, the variable length approach is as follows. Start with . Obtain according to (8), with . Assume that the desired is some arbitrary . If partition for , where , then by appropriately selecting . Otherwise, increment by one, and repeat the above process until . Define as the probability that for the smallest by using the variable length moment balancing template. The partition disclosely resembles tribution of that of . Then, we use the approximation for all , where . Proposition 3: For
and for all
(8) represents the moment balancing template and it is desired that for particular values of and . This is the same template as proposed in [5]. Note that for and , the subscripts for the bits and do not correspond to the moment weights used in the moment balancing template. . Consider the case when For example, the weight for is . Define as
(9)
for for Proof: Since , the probability that , with belongs to a particular partition is Repeating the same process as in Proposition 2, be obtained.
added, . can
Note that . Fig. 2 shows and for . The rate of decay of is much greater than that of . Let denote the probability that lies in the specified bounds by adding moment balancing bits. Then,
5238
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
Fig. 2. Comparison of P (n; 0) and P (n; 7). P (n; 0) is obtained when k = 0 and P (n; 7) when k = 3.
^ = 7 and n Fig. 3. Plot of the distribution of the number of codewords c with a length n, where k = 3; k ~ 2 C (n + k ; n + k + 1; 0). c is a concatenation of (7,3) LDPC codewords. that x
, or alternatively . randomly generated Fig. 3 shows the distribution for codewords . Note that this plot is a close non-normalized approximation of shown in Fig. 2. Let denote the actual probability that for a particular partition . only represents an approximation of , is the same for all since we assume that , where represents an additive-error-correcting coderepresent the measurement of book. Let by randomly generating codewords . Table I shows a comparison between and for some values of and
= 100. 10 codewords c
were generated such
. Note that for the concatenated (7,3) LDPC codewords, is slightly less than for large . It is possible to give an upper and lower bound for . Let denote the maximum partition cardinality. Similarly, the minimum partition cardinality is represented by . For a particular additive-error-cor, let recting codebook , where . Similarly, let , where . Let represent the probability that for a particular , assuming if that .
ˇ ´ et al.: A VARIABLE LENGTH APPROACH TO MOMENT BALANCING PALUNCIC
^ ) AND P COMPARISON OF P (n; k
n; k^
(
5239
TABLE I ) WHERE
c
IS A
CONCATENATION OF (7,3) LDPC CODEWORDS
TABLE II COMPARISON OF VALUES FOR P (n > n ; k^ ); P (n > n ; k^ ) AND P (n > n ; k^ ) FOR VARIOUS VALUES OF n ; n ; AND . IN THE TABLE, P STANDS FOR P (n > n ; k^ ); P FOR P (n > n ; k^ ) AND P FOR P (n > n ; k^ ). FOR n = 10; n = 100 AND n = 100; n = 1000; k = 3 AND FOR n = 500; n = 2000; k = 4
Proposition 4: For
(10) , of the possible binary secodewords belong to partition
Proof: For quences, . Therefore
Since
, this probability is given by
Note that we have considered the set thus far. If we con, we simply need to replace by sider a set . This, however, does not change the end result, because cancel. The rest of the proof follows the the values same principle as in Proposition 3. Define only replacing
with
in the same way as . Then,
Table II shows values for for selected values of
, . and
and . The bounds diverge for larger values of and smaller values for . It is important to note that is generally closer to than either bounds. This is because the partition cardinalities change as changes, so that the cardinality of the desired partition fluctuates across different . In deriving the bounds, we assumed that all the partitions have a partition cardinality of or , a condition necessary to guarantee that it is a bound. However, in reality, , and the assumption the cardinalities fluctuate about used in deriving the bounds is then rather unrealistic in reality. The reason for giving these bounds is to show that there is , which is directly governed by the a limit on flatness of the partition distribution. . Up to now, we have only used a (7,3) LDPC code as and for various . The Table III shows values of values of and indicate the precision with which predicts the behavior of the coding scheme. For and reduce to . Note and are influenced by the number of that the values of randomly generated codewords . Generally, by generating increases and more random codewords , the value of decreases. -conTable III also gives values for and for some strained codes. Since the partition distributions thereof are approximately flat, the variable length approach is equally valid -constrained codes. For the details regarding the mofor -constrained codes, refer to ment balancing template for [5]. Theoretically, we would also need the partition distribution . However, in [9] we have for shown for some additive-error-correcting linear sets that as the
5240
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
TABLE III VALUES OF AND FOR VARIOUS ADDITIVE-ERROR-CORRECTING AND (d; k )-CONSTRAINED CODEBOOKS C . CODEBOOKS C THE VALUES FOR AND ARE OBTAINED BY RANDOMLY GENERATING 10 CODEWORDS c
cardinality of that set increases, the partition distribution tends , we have shown that to become flatter. Indeed, for the set as tends to infinity, the partition distribution tends to become perfectly flat (Proposition 1). Note that
Then, by (4), . Therefore, we only need to consider the partition distribution at , and assume that for larger , the partition distribution tends to become flatter. By adding moment balancing bits, it is possible to reduce to an arbitrarily small value. Since and . The value of is selected so that the inequality is true, where defines an acceptable . probability that is larger than V. PERFORMANCE COMPARISON Unlike fixed length moment balancing constructions, there is no closed form equation that defines as a function of . Furthermore, for the variable length construction, is also a function of . Therefore, the comparison between the fixed and variable length constructions will be considered only for particular and . In order to evaluate the performance values of of the variable length construction, there needs to be a method to compare of the fixed length template with of the variable length template. Therefore, we need to calculate the average of for the variable length template. This is given by (11)
TABLE IV COMPARISON OF PERFORMANCE (IN TERMS OF k ) BETWEEN THE VARIABLE LENGTH TEMPLATE AND THE OPTIMUM FIXED LENGTH TEMPLATE FOR = 10
is extremely small, so that the average For value of can be estimated by . Table IV shows a comparison, in terms of , between the variable length template and the optimum fixed length template . It can be seen that for most values of and for , the number of moment balancing bits needed is about half the number needed for the optimum fixed length template. Let denote the difference between the number of moment balancing bits needed for the fixed and variable length moment balancing templates. The reason why the variable length approach results in better performance is simple. With the fixed length template, the number of moment balancing bits, , needed is determined by . With the variable length template, is constantly incremented until a codeword is found whose partition is sufficiently close to the desired partition. Another important issue in the comparison between fixed and variable length moment balancing templates is the demarcation of the end of the Levenshtein codewords. In order to be able to decode a Levenshtein codeword, one needs to know the boundary of such a codeword. This is equally applicable in both fixed and variable length approaches. Therefore, even in the fixed length scheme, one needs to use a marker to delimit the boundaries of the Levenshtein codewords. In the fixed length template, we know where to expect the marker, in the variable length template, we do not. Therefore, the marker used in the variable length template has an additional function. The details of the implementation of the marker scheme with the variable length template are described in the next section. What is important to note for this section is that both fixed and variable length approaches require some sort of marker. represent the length of the marker used in conjuncLet with the tion with the fixed length moment balancing and variable length moment balancing template. There is nothing . In that case, that prohibits us from assuming that we have an overall gain of bits. But there is another important point. With the variable length approach, there is a possibility of detecting a marker prior to the actual marker. Remember that the minimum length of the Levenshtein codeword in the vari. This is then the position from able length approach is which one will start looking for the marker. This scenario is not
ˇ ´ et al.: A VARIABLE LENGTH APPROACH TO MOMENT BALANCING PALUNCIC
possible with the fixed length moment balancing template. Because of this, we are guaranteed that the Bit Error Rate (BER) of the variable length moment balancing template will be slightly higher than that of the fixed length template. Remember that is close to . By increasing , the the average length probability of detecting incorrect markers decreases. As long as , there will be an overall gain in redundancy. The improvement we obtain in terms of redundancy by using the variable length approach comes at the price of a degradation of the BER. Therefore, the choice of fixed versus variable length moment balancing template is a trade-off between redundancy and BER. There is a negligible difference in the encoding complexity between the fixed and variable length moment balancing templates. For the case of the fixed length template, we need to perform summations, one modulo operation and converting the outstanding moment into binary which then forms the parity bits. Therefore, we may say that the encoding complexity is of order . With the variable length template, recall from Section III that we only need to calculate the moment for the . Thereafter, the moment is updated using the case weight of the previous sequence. Therefore, summations are summations plus summations preformed ( based on the weights), modulo operations and converting the outstanding moment into binary to form the parity bits. Furthermore, one needs a buffer to keep track of the weight, which needs to be updated whenever is incremented. Therefore, the encoding complexity of the variable length template is also of order . VI. PRACTICAL IMPLEMENTATION ISSUES Since the Levenshtein codewords are variable length, there needs to be a method to delimit the boundaries of the codewords. In order to distinguish between a single insertion or deletion, three markers are needed. For every Levenshtein codeword , calculate . Depending on the of length residue (0, 1 or 2), send one of the three markers after the Leven. Let the residue at the sender be denoted shtein codeword . Let the length of the received Levby , then enshtein codeword be denoted by . Then, at the receiver, . The received marker calculate , where , we conclude the gives us the expected value of . If received Levenshtein codeword was not corrupted by a single synchronisation error. Similarly, by comparing the values and , it is possible to determine whether a single insertion or deletion occurred. More precisely: , then no synchronisation error • If occurred. , then a single insertion occurred in • If the previous Levenshtein codeword. , then a single deletion occurred in • If the previous Levenshtein codeword. As markers, we propose 3 PN (Pseudo-Noise) sequences, because these have properties of random noise and hence limited correlation with the coded sequence. It is possible that a false marker is detected before the position of the actual marker, or that an actual marker is not detected
5241
due to errors. In both cases, this will lead to a loss of synchronisation. In such a scenario, the assumed boundaries of the additive-error-correcting codewords are likely not to correspond to the actual boundaries of such codewords. This will lead to incorrect decoding for the majority of the codewords. This fact can be used to detect when a loss of synchronisation has occurred. The criteria for detecting a loss of synchronisation will obviously depend on the additive-error-correcting capabilities of the code and the characteristics of the channel. Once a loss of synchronisation is detected, we will assume that the next detected marker is an actual marker. If it is not the actual marker, a loss of synchronisation will again be detected, and this process is repeated. If it is the actual marker, then we have resynchronised with respect to the boundaries of the Levenshtein codewords. However, we still need to resynchronise with respect to the additive-error-correcting codeword boundaries. Recall that the boundaries of the additive-error-correcting codewords need not correspond to the boundaries of the Levenshtein codewords. The following approach is intended primarily for block codes. We assume to have resynchronised when a certain number of consecutive codewords are detected. However, a number of linear block codes possess the cyclic property. This introduces a problem with the proposed approach. Consider a linear block with the cyclic property, where code and . Then . . Then the Consider the concatenation probability that is approximately half. A similar argument can be used to show that if there is a shift of two, the probability is approximately a quarter, and so forth. For the purposes of resynchronisation, these probabilities are too high. To overcome this problem, we use a modification of the approach given in Choi [10]. Choi showed that by using a coset cyclic with the coset leader polynomial 1, one code of an obtains a code capable of correcting synchronisation shifts of bits in either direction. up to , add the vector For every codeword and transmit . At the receiver, before decoding, we again add to every received codeword. Then, when trying to will remove resynchronise, at the correct boundary, adding will add another the error. For incorrect boundaries, adding error. Using this approach, we remove the problem of the cyclic property. Then, the probability of finding a single codeword at . For consecuan incorrect boundary is approximately . tive codewords, it is approximately If the resynchronisation with respect to the additive-error-correcting codeword boundaries is incorrect, there will again be a loss of synchronisation, and this process is repeated again. VII. SIMULATION For the purpose of simulations, is a concatenation of (7,4) Hamming codewords. As before, and , which means that . Initially, 3 bit shift register maximal length PN sequences were considered as markers. These PN sequences have a length of 7 bits. For 3 bit shift registers, there is only one maximallength PN sequence. To obtain 3 PN sequences, it is possible to
5242
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
use a mirror image of the PN sequence and cyclic shifts of the PN sequence. However, these PN sequences were found to have undesirable correlations with the (7,4) Hamming code. These PN sequences could be used as markers at the cost of a higher BER. Then 4 bit shift register maximal length PN sequences were considered. These PN sequences have a length of 15. By considering all possible combinations of 3 adjacent (7,4) Hamming codewords, it was found that these PN sequences have zero correlation with the (7,4) Hamming codewords. The three PN sequences used are
If it is assumed that the beginning of a Levenshtein codeword is known, we only need to start searching for one of the markers . Based on this approach, (PN sequences) after index random codewords were generated for each of the 3 PN sequences. For the first PN sequence, there was zero correlation. For the second, there were 3 correlations and for the last, 8 correlations. If an error (synchronisation or additive) occurs in the marker, or an incorrect marker is detected prior to the actual marker, there will be a loss of synchronisation. A loss of synchronisation is identified when the error-correcting capabilities of is exceeded. A (7,4) Hamming codeword can correct a single additive error. However, a single Levenshtein codeword on average contains about 15 Hamming codewords. If the error-correcting capability of a third of the Hamming codewords present in a single Levenshtein codeword is exceeded, it is assumed that a loss of synchronisation has occurred. Once synchronisation is lost, on average, every second bit is in error. It is assumed that the next detected marker is correct. Then, in order to resynchronise, we need to know the boundaries of the (7,4) Hamming codewords. Recall that the boundaries of the additive-error-correcting codewords need not correspond to the boundaries of the Levenshtein codewords. Resynchronisation is achieved when three consecutive error-free Hamming codewords are found. From Section VI, the approximate probability . of incorrectly resynchronising is Furthermore, when a loss of synchronisation occurs, we assume that all the information from the point of loss of synchronisation to the point where synchronisation is regained is lost. A simple channel model is used. With each bit sent across the , probability of an additive channel is associated a value error, , probability of an insertion, and , probability of a and that . deletion. It is assumed that It is possible to derive an estimate for the Bit Error Rate (BER). There are many events that can lead to a loss of synchronisation. We will only consider those events with the highest probability of occurring in order to derive an approximation. In estimating the BER for the variable length moment balancing template, we will only consider the following events that lead to a loss of synchronisation: 1) A single additive, insertion or deletion error in the marker. 2) A single additive error and a single insertion/deletion in a . Levenshtein codeword
Since the PN sequences have a length of 15, the probability of a single error (synchronisation or additive) occurring in a marker is given by
(12) If
, (12) becomes
Let represent the average Levenshtein coderepresents the round to nearest integer word length, where function. Then, the probability of a single additive error and a single insertion/deletion occurring in a Levenshtein codeword is
(13) For
Then
, (13) can be approximated by
can be approximated by (14)
Define as the probability that three consecutive Hamming codewords are error free. Then (15) For
If represents the number of Hamming codewords till resynchronisation is achieved, then . Then, an estimation for the BER is given by (16) where is the average number of errors when a loss of synand chronisation occurs. For the (7,4) Hamming code, . Fig. 4 shows a plot of the BER using the estimation formula (16) for (7,4) Hamming code. Apart from its linear appearance, the most apparent feature is the general lack of differentiation for a given . However, simulations of BER for different verify the validity of (16). A comparison between the simulation results and (16) is given in Table V. Concerning the shape of dominates the graph in Fig. 4, it is important to note that rather than . Although is dependent on both and , it is that essentially defines the value of .
ˇ ´ et al.: A VARIABLE LENGTH APPROACH TO MOMENT BALANCING PALUNCIC
Fig. 4. BER for various p
and p
5243
using (16) for (7,4) Hamming code.
TABLE V COMPARISON OF BER OBTAINED BY CALCULATION AND SIMULATION
Proof: First, [8]
(17)
Since sion in (17) is at most
and
, the expres-
Hence, the lack of variation in BER for a fixed , irrespective . This also explains the linear appearance of the plots in of Fig. 4. VIII. CONCLUSION It is shown that by using a variable length moment balancing template, fewer balancing bits (parity bits) are needed compared to the optimum fixed length moment balancing template. This improvement comes at the cost of a higher BER as compared to the fixed length template. Therefore, the choice between fixed versus variable length moment balancing templates is a trade-off between redundancy and BER. Since moment balancing templates are used to add a single insertion/deletion correction capability to an arbitrary additive-error-correcting code, it is shown, for some additive-error-correcting codes, that they possess a relatively flat partition distribution. APPENDIX What follows is the proof for Proposition 1.
Since Proposition 1 follows.
goes to zero as
goes to infinity,
ACKNOWLEDGMENT The authors would like to thank an anonymous reviewer for providing a more succinct proof of Proposition 1. REFERENCES [1] G. M. Tenengol’ts, “Class of codes correcting bit loss and errors in the preceding bit,” Avtomatika i Telemekhanika, no. 5, pp. 174–179, May 1976. [2] G. M. Tenegol’ts, “Nonbinary codes, correcting single deletion or insertion,” IEEE Trans. Inf. Theory, vol. 30, no. 5, pp. 766–769, Sep. 1984. [3] K. A. S. Abdel-Ghaffar and H. C. Ferreira, “Systematic encoding of the Varshamov–Tenengol’ts codes and the constantin-rao codes,” IEEE Trans. Inf. Theory, vol. 44, no. 1, pp. 340–345, Jan. 1998.
5244
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 10, OCTOBER 2010
[4] K. Saowapa, H. Kaneko, and E. Fujiwara, “Systematic deletion/insertion error correcting codes with random error correction capability,” in Proc. Int. Symp. Defect and Fault Tolerance in VLSI Systems, Albuquerque, NM, Nov. 1999, pp. 284–292. [5] H. C. Ferreira, K. A. S. Abdel-Ghaffar, L. Cheng, T. G. Swart, and K. Ouahada, “Moment balancing templates: Constructions to add insertion/deletion correction capability to error correcting or constrained codes,” IEEE Trans. Inf. Theory, vol. 55, no. 8, pp. 3494–3500, Aug. 2009. [6] V. I. Levenshtein, “Binary codes capable of correcting deletions, insertions, and reversals,” Soviet Physics-Doklady, vol. 10, no. 8, pp. 707–710, Feb. 1966. [7] R. R. Varshamov and G. M. Tenengol’ts, “Correction code for single asymmetric errors,” Avtomatika i Telemekhanika, vol. 26, no. 2, pp. 288–292, 1965. [8] N. J. A. Sloane, “On single-deletion-correcting codes,” in Codes and Designs, K. T. Arasu and A. Seress, Eds. Walter de Gruyter, Berlin: Ray-Chaudhuri Festschrift, 2002, pp. 273291. [Online]. Available: http://www.research.att.com/~njas/’ [9] F. Palunˇcic´, W. A. Clarke, and H. C. Ferreira, “Partitioned moment balancing template and the influence of partition distribution thereon,” in Proc. IEEE Information Theory Workshop, Porto, Portugal, May 5–9, 2008, pp. 431–435. [10] Y.-H. Choi, “Coset codes with maximum capability of synch-correction,” Electron. Lett., vol. 35, no. 18, pp. 1535–1537, Sept. 1999.
Filip Palunˇcic´ was born in Belgrade, Serbia. He received the BIng. and B.Sc. degrees in 2006 and the MIng. degree in 2008 from the University of Johannesburg, South Africa, where he is currently pursuing the Ph.D. degree under the supervision of Prof. H. C. Ferreira and Prof. W. A. Clarke. His research interests include various topics on insertion/deletion errors, such as insertion/deletion correcting codes and the application of the Levenshtein distance in linguistics.
Hendrik C. Ferreira was born and educated in South Africa. He received the D.Sc. (Eng.) degree from the University of Pretoria, South Africa, in 1980. From 1980 to 1981, he was a postdoctoral researcher at the Linkabit Corporation, San Diego, CA. In 1983, he joined the Rand Afrikaans University, Johannesburg, South Africa, where he was promoted to Professor in 1989 and served two terms as Chairman of the Department of Electrical and Electronic Engineering from 1994 to 1999. He is currently a research professor at the University of Johannesburg. His research interests are in digital communications and information theory, especially coding techniques, as well as in power line communications. From 1989 until 1993, he held a “Presidential Award for Young Investigators” research grant from the South African Foundation for Research Development. Since 1984, he has been a visiting researcher at eight different institutions in the USA and Europe. He has been principle adviser for more than thirty postgraduate students. Together with his students, he has published more than 200 research papers in international journals and conferences. Dr. Ferreira is a past chairman of the Communications and Signal Processing Chapter of the IEEE South Africa section, and from 1997 to 2006, he was Editor-in-Chief of the Transactions of the South African Institute of Electrical Engineers. He has served as chairman of several conferences, including the international 1999 IEEE Information Theory Workshop in the Kruger National Park, South Africa, as well as the 2010 IEEE African Winter School on Information Theory and Communications.
Willem A. Clarke was born in Sweden and educated in South Africa. He received the D.Ing.(Elec.) degree from the Rand Afrikaans University (now the University of Johannesburg), South Africa. He started his career as an engineer in 1995 at Eskom Telecoms (telecommunications network management). In 1998, he joined BSW Telecoms (as product manager) and in 1999, he joined the Rand Afrikaans University (now the University of Johannesburg) as a Senior Lecturer in telecommunications and later as an Associate Professor. He is currently the Head of the School of Electrical Engineering in the Faculty of Engineering and the Built Environment. His research interests mainly include applied Image Processing and Telecommunications (network management and error correction coding). He has been principle adviser to more than 25 students (past and present) and together with his students he has published more than 60 papers in journals and conferences.