Sie sind auf Seite 1von 14

International Journal of Electronics, Communication & Instrumentation Engineering Research and Development (IJECIERD) ISSN 2249-684X Vol.

3, Issue 4, Oct 2013, 23-36 TJPRC Pvt. Ltd.

WEIGHT BASED CODES-ABINARY CHANNEL CODING SCHEME


P. SRIHARI1 & B. L. PRAKASH2
1 2

Professor, Gitam University, Hyderabad, Andhra Pradesh, India

Professor, Vignans Institute of Information Technology, Visakhapatnam, Andhra Pradesh, India

ABSTRACT
Channel coding is used to provide for the reliable transmission over the channel. An (n, k) Block Code with a prescribed parity bit structure expresses a Block of k information digits into a Block of n coded digits. The ratio r=k/n is known as the Code Rate or Coding Efficiency. Since r<1, for a binary code,(n-k) redundant bits can be added to each k-bit information sequence to form a code word. These redundant bits provide the code with the capability of combating the channel Noise. These (n-k) bits are called Parity Bits. This paper proposes a group of (n, k) Error correcting Systematic Block Codes.

KEYWORDS: Systematic Code, Coding Efficiency, Parity Bit, Weight of a Code Word, Sum Codes, Random Error,
Burst Error

INTRODUCTION
The encoder for a Block Code divides the information sequence into information blocks of k bits. Thus, each information block is represented by the k-tuple M=( M1,M2,.Mk), simply called an Information Sequence or Message Sequence. The Encoder transforms each k-bit information sequence M independently into an n-tuple C=(C1,C2,..Cn) called a code word. The elements of a code word are selected from an alphabet of q elements. When q=2 for 0 and 1,the code is called Binary Code. Thus ,a Binary Block Code consists of a set of code words of length n constituted by 1s and 0s.There are 2n possible codewords in a Binary Block Code of length n(k<n).From these codewords, only 2k code words are selected to form a code. Thus, a Block of k information bits mapped into a codeword of length n is called an (n, k)Block Code. If the Codeword or Code vector contains the original k symbol block unaltered, it is called Systematic (n, k) Block Code. The remaining (n-k) parity bits of the code word are computed from the message bits in accordance with a prescribed encoding rule that determines the mathematical structure of the parity word. The Weight of a code word is the number of non-zero elements that it contains.

PROPOSED CODING SCHEME


The Proposed codes are referred to as Weight Based Codes, since the encoding procedure depends on the weight of the message word. For these (n,k) codes, k/n=0.5,ie.these coding schemes are of 50% coding efficiency. Unlike the linear Systematic Block Codes, the parity bits in each code word of the proposed codes are not the linear combination of message bits. The parity bits of the code word are selected depending on the weight (No. of 1s) in the message word. Thus, unlike (n, k) Systematic Linear Block Codes, the parity bit structure of all the code words of the proposed coding scheme is not the same.

24

P. Srihari & B. L. Prakash

Hence, these codes are also referred to as codes with unequal parity bit structure.

Generation of Code Words


The general form of an (n, k) code word with unequal parity bit structure is given by [ M1M2M3..MK P1P2P3..PK], where M1,M2,M3 ..,Mk are k number of message bits and P 1,P2,P3, ..,PK are the (n-k) number of parity bits where n=2k. The un-coded message word is [ M1M2M3..MK ]. The Encoding Rule is For the message words with zero/Even weight, the parity bits of the corresponding code word are same as the message bits. For the message words with odd weight, the parity bits of the corresponding code word are the complements of the message bits.

Error Detection and Correction


Let the Received code word be R=

where 1,2,3 etc. in the top row of R indicate the bit positions in the received code word. All

and

s, =1,2,-

-,k represent the k no. of data bits and k no. of parity bits respectively. The length of the code word is 2k bits. Under error free reception, each received code word R satisfies the following conditions: Condition1 For the received code word, whose parity bits are same as the message bits, there will be k no.of conditions given as , where i=1,2,---k. For the received code word, whose parity bits are the complements of message bits, there will be k no.of conditions given as Condition2 For the received code word, whose parity bits are same as the message bits, there will be 2k conditions given as: ; ---For the received code word, whose parity bits are same as the message bits, there will be 2k conditions given as: ; ; ; ----; ---------; 0; , where i=1,2,---k.

Any deviation from the above error free conditions indicates the reception with error/errors. Single Error Detection and Correction Due to the additive noise, in general , the received code-word R differs from the transmitted code-word C, by the

Weight Based Codes-Abinary Channel Coding Scheme

25

error pattern E i.e. R=C+E. The error pattern or the error Vector E is a [1xn] row vector for an (n, k) code. The error vector is computed from the decoding process which involves the following steps: Verifying the structure of Parity bits. Checking the position of the error.

Verifying the Structure of the Parity Bits The Parity bits of the received code word are Modulo-2 added with the Message bits, i.e.

MODULO-2 ADDED SUM (length of k bits) The structure of the Parity bits can be decided based on the above Modulo-2 added sum. If the parity bits of the codeword are same as message bits, the above Modulo-2 added sum consists of (i) all zeros, under error free reception(ii) (k-1) number of 0s and a single 1, under reception with error. If the parity bits of the code word are the complements of message bits, the above Modulo-2 added sum consists of (i) all ones, under error free reception(ii) (k-1) number of 1s and a single zero, under reception with error. Checking the Position of the Error After deciding about the structure of the Parity bits, the k number of summations in Condition-1 are applied to the received code word. If any of the above k number of summations applied for the received codeword is differing from the error free condition, it can be concluded that the corresponding M i or Pi of that sum will be in error. Identifying the Error Location The error location can be identified by using the 2k number of summations in Condition-2 After estimating the error position in the received codeword i.e. after identifying the bit pair (Mi ,Pi ) in which, any one can be in error,the above2k summations are made into two groups such that GROUP-1 consists of k summations that do not involve Pi and GROUP-2 consists of k summations that do not involve Mi. One of the above two groups that is differing from the error free conditions is considered as the group containing the bit which is in error. The bit ( either Mj or Pj) which is commonly present in all the summations in the above selected group will be the bit in error in the received codeword. Double Error Detection The Parity bits of the received code word are Modulo-2 added with the Message bits, i.e.

MODULO-2 ADDED SUM (length of k bits)

26

P. Srihari & B. L. Prakash

If the parity bits of the code word are same as message bits, the above Modulo-2 added sum consists of (i) all zeros, under error free reception(ii) (k-2) number of 0s and two numbers of 1s, (k>4)under reception with two errors .

If the parity bits of the code word are the complements of message bits, the above Modulo-2 added sum consists of (i) all ones, under error free reception(ii) (k-2) number of 1s and two numbers of 0s,(k>4) under reception with two errors.

Handling Multiple Errors Channel errors may occur in a mixed manner i.e. random errors and Burst Errors, as a combination, random-bursttype errors. Hence, it is desirable to have codes that are capable of correcting random errors as well as Burst errors. A coding scheme capable of such error correction is proposed and is named as SUM Codes. It is a Multi (2) dimensional code, where a two-dimensional array is constructed from the given component code. Final stage coding is solely based on (6,3) Weight Based Code. Code Generation Method-1 Let be the k bit data word. Then, depending on its weight, the respective k bit

parity word will be generated as per the above proposed Weight Based Code. The code word is then given by

Let C be the (n, k) component code. The sum code is a two dimensional (2n,2k) code whose code word consists of 2n+2k elements which are represented in the form of (6,k) array. In word a rectangular array of 6 rows and k columns, the first row is the message

and the second row is the parity word

. The third row is the

Modulo-2 added sum of Message word and the parity word, which is of length k bits . Thus, the first three rows of the code array are

Each column of the above array is encoded by using (6,3) weight based code. The First row of the array is the actual data word. Method-2 Let be the k bit data word. Then, depending on its weight, the respective k bit

parity word will be generated as per the above proposed Weight Based Code. The code word is then given by

Weight Based Codes-Abinary Channel Coding Scheme

27

Let C be the (n, k) component code. The sum code is a two dimensional (2n,2k) code whose code word consists of 2n+2k elements which are represented in the form of (k,6) array. In word a rectangular array of k rows and 6 col umns, the first column is the message

and the second column is the parity word

. The third column

is the Modulo-2 added sum of Message word and the parity word, which is of length k bits . It is given by

Each row of the of the above array is encoded by using (6,3) weight based code. The First column is the actual Data word. Multiple Error Detection and Correction When the Code word generation is according to Method-1,the word array of the sum code is transmitted row by row, with the 6th row being the first and 1st row in the last, i.e. the last row will be

The received code word is arranged back into an array on a row by row basis. The random errors can be detected and corrected using column correction. The received code word with any error burst of length k or less, in any row ,will be corrected using column by column decoding. When the Code word generation is according to Method-2,the word array of the sum code is transmitted column by column, with the 6th column being the first and 1st column in the last, i.e. the last column will be

The received code word is arranged back into an array on a column by column basis. The random errors can be detected and corrected using Row correction. The received codeword with any error burst of length k or less, in any column , will be corrected using rowby row decoding.

ILLUSTRATIONS
Let the Received Code Word be

28

P. Srihari & B. L. Prakash

The received code word is of (6,3) code. The Parity bits of the Received Code word are Modulo-2 added with the Message Bits of the code word i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and K-1, ie.3-1=2 number of 0s.This indicates that the Parity bits of the Codeword are same as the message bits. Under the reception without error, the above Modulo-2 added sum should contain all zeros. Since the sum M2+P2=1 is differing from the error Free condition, it can be concluded that either M2 or P2 of the received code word is in error. Among 6(=2k) number of conditions under error free reception(Condtion-2), the conditions that do not involve of M2 and the conditions that do not involve P2 are made into two groups. Under Error Free reception, these summations will be as follows: GROUP-1 1) M1+M2+M3 =0 2) M2+M3+P1 =0 3) P3+M1+M2 =0 GROUP-2 1) M3 +P1+P2 =0 2) P1+P2+P3=0 3) P2+P3+M1 =0

The above summations applied for the received code word are GROUP-1 1) M1+M2+M3 =0 2) M2+M3+P1 =0 3) P3+M1+M2 =0 GROUP-2 1) M3 +P1+P2 =1 2) P1+P2+P3=1 3) P2+P3+M1 =1

Since the Summations in Group-2 obtained from the received code word are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit P 2 is commonly present in all the summations in Group-2, it can be concluded that the bit P2 of the received code word is in Error. Hence the corrected code word is 1 1 0 1 1 0. Let the received code array be

It is the case with Multiple Error detection and correction. Let the code array be generated as per Method-1, i.e. the First row of the received array should be the data word. The error correction is done by column decoding.

Weight Based Codes-Abinary Channel Coding Scheme

29

Consider the first column of the received array, which is written in the form of a row, i.e.

** 1,2,3,---etc, Represent the Bit Positions. The bits in the positions 4, 5, and 6 bits are Modulo-2 added with the bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of all 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3, and the reception is error free. Consider the 2nd column of the received array which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3.Under the reception without error, the above Modulo-2 added sum should contain all zeros.Since the bits in the positions 1 and 4 are modulo-2 added to give a 1, and that sum is differing from the error Free condition, it can be concluded that either the bit in position 1 or 4 of the 2nd column of the array is in error. Among 6 number of conditions under error free reception(Condtion-2), the conditions that do not involve the bit in position 1 and the conditions that do not involve the bit in position 4 are made into two groups. Under Error Free reception, these summations will be as follows: GROUP-1 1) 1+2+3 =0 2) 5+6+1=0 3) 6+1+2=0 GROUP-2 1) 2+3+4 =0 2) 3+4+5=0 3) 4+5+6 =0

where the above Modulo-2 operations are applied for the bits available in the positions as indicated. The above summations applied for the 2nd column of the received code array are GROUP-1 1) 1+2+3 =1 GROUP-2 1) 2+3+4 =0

30

P. Srihari & B. L. Prakash

2) 5+6+1=1 3) 6+1+2=1

2) 3+4+5=0 3) 4+5+6 =0

Since the Summations in Group-1 obtained are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit 1 is commonly present in all the summations in Group-1, it can be concluded that the bit in position 1 of the 2 nd column of the received code array is in Error. Hence the corrected column is . Consider the 3rd column of the received array, which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3.Under the reception without error, the above Modulo-2 added sum should contain all zeros. Since the bits in the positions 1 and 4 are modulo-2 added to give a 1, and that sum is differing from the error Free condition, it can be concluded that either the bit in position 1 or 4 of the 2nd column of the array is in error. Among 6 number of conditions under error free reception(Condtion-2), the conditions that do not involve the bit in position 1 and the conditions that do not involve the bit in position 4 are made into two groups. Under Error Free reception, these summations will be as follows: GROUP-1 1) 1+2+3 =0 2) 5+6+1=0 3) 6+1+2=0 GROUP-2 1) 2+3+4 =0 2) 3+4+5=0 3) 4+5+6 =0

where the above Modulo-2 operations are applied for the bits available in the positions as indicated. The above summations applied for the 2nd column of the received code array are GROUP-1 1) 1+2+3 =1 2) 5+6+1=1 3) 6+1+2=1 GROUP-2 1) 2+3+4 =0 2) 3+4+5=0 3) 4+5+6 =0

Since the Summations in Group-1 obtained are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit 1 is commonly present in all the summations in Group-1, it can be concluded that the bit in position 1 of the 2 nd column of the received code array is in Error. Hence the corrected column

Weight Based Codes-Abinary Channel Coding Scheme

31

is

. Consider the 4th column of the received array, which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of all 0s and this indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3,and the reception is error free. Consider the 5th column of the received array, which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3.and the reception is error free. Hence, the corrected array is

Hence, the transmitted Message word is two errors available in the received code array are corrected. Let the received code array be

which is the first row of the corrected code array. Thus,

It is the case with Multiple Error detection and correction. Let the code array be generated as per Method-2 i.e. the First column of the received array should be the data word.

32

P. Srihari & B. L. Prakash

Consider the first row of the received array, which is

Where, 1,2,3,---etc, represent the bit positions. The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3.Under the reception without error, the above Modulo-2 added sum should contain all zeros. Since the bits in the positions 1 and 4 are modulo-2 added to give a 1, and that sum is differing from the error Free condition, it can be concluded that either the bit in position 1 or 4 of the 1st row of the array is in error. Among 6 number of conditions under error free reception(Condtion-2), the conditions that do not involve the bit in position 1 and the conditions that do not involve the bit in position 4 are made into two groups. Under Error Free reception, these summations will be as follows: GROUP-1 1) 1+2+3 =0 2) 5+6+1=0 3) 6+1+2=0 GROUP-2 1) 2+3+4 =0 2) 3+4+5=0 3) 4+5+6 =0

where the above Modulo-2 operations are applied for the bits available in the positions as indicated. The above summations applied for the 2ndrow of the received code array are GROUP-1 1) 1+2+3 =1 2) 5+6+1=1 3) 6+1+2=1 GROUP-2 1) 2+3+4 =0 2) 3+4+5=0 3) 4+5+6 =0

Since the Summations in Group-1 obtained are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit 1 is commonly present in all the summations in Group-1, it can be concluded that the bit in position 1 of the 1 strow of the received code array is in Error. Hence the corrected row is . Consider the 2nd row of the received array which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the bits in the positions 1,2 and 3 i.e.

Weight Based Codes-Abinary Channel Coding Scheme

33

The above Modulo-2 added sum of length 3 is consisting of all 0s and this indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3,and the reception is error free. Consider the 3rd row of the received array, which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3. Under the reception without error, the above Modulo-2 added sum should contain all zeros. Since the bits in the positions 3 and 6 are modulo-2 added to give a 1, and that sum is differing from the error free condition, it can be concluded that either the bit in position 3 or 6 of the 3rd row of the array is in error. Among 6 number of conditions under error free reception(Condtion-2), the conditions that do not involve the bit in position 3 and the conditions that do not involve the bit in position 6 are made into two groups. Under Error Free reception, these summations will be as follows: GROUP-1 1) 1+2+3 =0 2) 2+3+4=0 3) 3+4+5=0 GROUP-2 1) 4+5+6 =0 2) 5+6+1=0 3) 6+1+2 =0

where the above Modulo-2 operations are applied for the bits available in the positions as indicated. The above summations applied for the 3rdrow of the received code array are GROUP-1 1) 1+2+3 =1 2) 2+3+4=1 3) 3+4+5=1 GROUP-2 1) 4+5+6 =0 2) 5+6+1=0 3) 6+1+2 =0

Since the Summations in Group-1 obtained are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit 3 is commonly present in all the summations in Group-1, it can be concluded that the bit in position 3 of the 3 rd row of the received code array is in Error. Hence the corrected row is .

34

P. Srihari & B. L. Prakash

Consider the 4th row of the received array which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of all 0s and this indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3 and the reception is error free. Consider the 5th row of the received array which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of all 0s and this indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3 and the reception is error free. Consider the 6th row of the received array, which is

The bits in the positions 4,5,and 6 bits are Modulo-2 added with the Bits in the positions 1,2 and 3 i.e.

The above Modulo-2 added sum of length 3 is consisting of a single 1 and 2 number of 0s.This indicates that the bits in positions 4,5 and 6 are same as the bits in the positions 1,2 and 3 . Under the reception without error, the above Modulo-2 added sum should contain all zeros. Since the bits in the positions 3 and 6 are modulo-2 added to give a 1, and that sum is differing from the error free condition, it can be concluded that either the bit in position 3 or 6 of the 3rd row of the array is in error. Among 6 number of conditions under error free reception(Condtion-2), the conditions that do not involve the bit in position 3 and the conditions that do not involve the bit in position 6 are made into two groups. Under Error Free reception, these summations will be as follows:

Weight Based Codes-Abinary Channel Coding Scheme

35

GROUP-1 1) 1+2+3 =0 2) 2+3+4=0 3) 3+4+5=0

GROUP-2 1) 4+5+6 =0 2) 5+6+1=0 3) 6+1+2 =0

where the above Modulo-2 operations are applied for the bits available in the positions as indicated. The above summations applied for the 3rd row of the received code array are GROUP-1 1) 1+2+3 =0 2) 2+3+4=0 3) 3+4+5=0 GROUP-2 1) 4+5+6 =1 2) 5+6+1=1 3) 6+1+2 =1

Since the Summations in Group-2 obtained are differing from error free conditions, this group is considered as the group consisting of the bit which is in error. Since, the bit 6 is commonly present in all the summations in Group-1, it can be concluded that the bit in position 6 of the 6 th row of the received code array is in Error. Hence the corrected row is . Hence the corrected array is

Hence, the transmitted message word is which is the first column of the corrected code word array. Thus, Three random errors present in the received code word array are corrected.

CONCLUSIONS
The Proposed Weight Based code is basically single error correcting Binary Channel Coding Scheme. SUM CODE is a multi dimensional code which can be used for random error correction as well as Burst Error correction. The proposed SUM CODE is developed by using the above proposed Weight Based code as a constituent code. Product Code is also such a multi dimensional code used for the correction of random errors and Burst errors. If C1(n1, k1) and C2(n2,k2) are the constituent codes, the product code is (n1n2,k1k2) code. If C1 and C2 are (9,5) Linear Block Codes, the Product code is (81,25) code and each code array of the code is a rectangular[81x25] array. This code can correct any burst error of length less than or equal to 9, appearing in each row of the above transmitted code array. Thus, the coding efficiency is .

To have the same burst error correcting capability for the proposed SUM CODE, the constituent code is (18,9) and each code array of the SUM CODE is a rectangular [36,18] array, whose efficiency is 50%.

36

P. Srihari & B. L. Prakash

Thus, the proposed code is an efficient coding scheme and is capable of correcting 6 or less random errors, and Burst errors of length 9 or less in any of the rows(if Method-1 is used)/columns(if Method-2 is used).

REFERENCES
1. Abraham Lempel,&Shmuel Winograd(July 1977).-A New Approach to Error Correcting Codes- IEEE Trans. Inform.Theory,vol.IT-23,No.4, pp.505-508. 2. Andrew j.Viterbi,&Jim K.Omura(1979)-Principles of Digital Communication and Coding - McGraw-Hill International Edition 3. 4. Bernard Sklar(2001)- Digital Communications-Fundamentals&Applications-Pearson Education Asia F.J.Mac Williams&N.J.A.Sloane(1977)-The Theory of Error-Correcting Codes- North Holland Publishing Company 5. 6. Graham Wade(1994)-Signal coding and Processing, Cambridge University Press Harold P.E.Stern, &Samy A.Mahmoud(2004)- Communication Systems-Analysis and Design,Pearson Education. 7. John G.Proakis,Masoud Salehi(2002)- Communication Systems Engineering ,2nd Edition Pearson Education Asia 8. Malarkan.S.,Paramesh.S(2006)- Optimal design of Forward Error Correcting Codes for Telemetry Applications- Proceedings of National Conference on Trends in Electronics, Computers and Communication, Vellore, April,24th. 9. Man Young Rhee(1989)- Error Correcting Coding Theory-McGraw- Hill publishing Company

10. Richard E.Blahut(Nov. 1977)-Composition Bounds for Channel Block Codes,IEEE Trans. Inform. Theory,Vol.IT-23,No.6,pp.656-674. 11. Shu Lin,Daniel &J.Costello,JR(1983)-Error Control Coding-Fundamentals and Applications Prentice Hall,Inc. Englewood Cliffs,New Jersy 07632 12. P.Sri Hari & Dr.B.C.Jinaga(2007)-DATA INVERTING CODES-Ph.D Thesis, Jawaharlal Nehru Technological University, Hyderabad, India.

Das könnte Ihnen auch gefallen