Professional Documents
Culture Documents
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.
24
Hence, these codes are also referred to as codes with unequal parity bit structure.
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
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.
26
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
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
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
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
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.
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
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
31
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
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
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.
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
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:
35
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
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.