This preview shows pages 1–4. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 76 Chapter 6 Modifying Codes If one code is in some sense good, then we can hope to find from it similar and related codes that are also good. In this chapter we discuss some elementary methods for modifying a code in order to find new codes. In two further sections we discuss special cases related to generalized ReedSolomon codes. 6.1 Six basic techniques A code C has three fundamental parameters—its length n , its dimension k , and its redundancy r = n k . Each of these parameters has a natural interpretation for linear codes, and although the six basic modification techniques are not restricted to linear codes it will be easy initially to describe them in these terms. Each fixes one parameter and increases or decreases the other two parameters accordingly. We have: ( i ) Augmenting. Fix n ; increase k ; decrease r . ( ii ) Expurgating. Fix n ; decrease k ; increase r . ( iii ) Extending. Fix k ; increase n ; increase r . ( iv ) Puncturing. Fix k ; decrease n ; decrease r . ( v ) Lengthening. Fix r ; increase n ; increase k . ( vi ) Shortening. Fix r ; decrease n ; decrease k . The six techniques fall naturally into three pairs, each member of a pair the inverse process to the other. Since the redundancy of a code is its “dual dimension,” each technique also has a natural dual technique. 6.1.1 Augmenting and expurgating In augmenting or expurgating a code we keep its length fixed but vary its di mension and redundancy. When augmenting a code C we add codewords to C . augmenting 77 78 CHAPTER 6. MODIFYING CODES The inverse process of expurgating a code is the throwing out of codewords. expurgating Notice that augmentation may cause the minimum distance to decrease, while expurgation will not decrease minimum distance and may, in fact, increase it. For generalized ReedSolomon codes, we always have GRS n,k 1 ( α , v ) ≤ GRS n,k ( α , v ) . Therefore the second code results from augmenting the first, and the first from expurgating the second. In this case the expurgated code has larger minimum distance. A linear code can be easily augmented by adding rows to a generator matrix and expurgated by taking away rows. A typical way of augmenting a linear code is by adding the row vector composed entirely of 1’s to its generator matrix. (Of course, in certain cases this vector will already belong to the code; so the action is inappropriate.) Increasing the size of a linear code is the same as decreasing the size of its dual, so these two techniques are dual to each other as well as inverse. The dual of augmenting a code by the all 1’s vector is expurgating by keeping only those codewords whose entries sum to 0. These techniques are used for nonlinear codes as well. Consider a linear code C that is a subcode of the linear code D . We can create new codes, not necessarily linear, that are augmentations of C and expurgations of D , by taking the union of certain cosets of C in D . For instance, we might choose those cosets whose coset leaders had largest weight. This method has produced somecosets whose coset leaders had largest weight....
View
Full
Document
This note was uploaded on 06/13/2011 for the course CRYPTO 101 taught by Professor Na during the Spring '11 term at Harding.
 Spring '11
 NA

Click to edit the document details