••
UNIVERSITY OF NORTH CAROLmA
Department of Statistics
Chapel Hill" N. C.
Mathematical SCiences Directorate
Air Force Office of Scientific Research
Washington 25" D. c.
AFOSR Report No.
ON A CLASS OF ERROR CORRECTING BINARY GROUP CODES
by
R. C. Bose and D. K. Ray-Chaudhuri
September" 1959
Contract No. /iF 49(638)-213
A general method of constructing error correcting binary
group codes is obtained. A binary group code with k information places and n places is called an (n"k) code.
Explicit method of constructing t-error correcting (n"k)
codes are given for n = ~-l and k = ~-l-mt for general
t. An example is worked out to illustrate the method of
construction.
Qualified requestors may obtain copies of this··report from the ASTIA
Document Service Center" Arlington Hall Station, Arlington 12" Virginia. Department of Defense contractors must be established for
ASTIA services" or have their t1 need-to-know" certified by the cognizant military agency of their project or contract.
I
".
[
I
Institute of Statistics
Mimeograph Series No. 240
ON A CLASS OF ERROR CORRECTING BINARY GROUP CODE8*
by R. C. Bose and D. K. Ray-Chaudhuri
University of North Carolina and Case Institute of Technology
1.
Introduction.
Consider a binary channel which can transmit
either of two symbols 0 or 1.
However, due to the presence of.' noise' a
transmitted zero may sometimes be received as 1, and a transmitted 1 may
sometimes be received as O.
When this happens we say that there is an
error in transmitting the symbol.
The symbols success:1vely presented to
the channel for transmission constitute the
I
input I and the symbols re-
ceived constitute the 'output'.
A v-letter n-place binary signalling alphabet An may be defined as
,
a set of v distinct sequences
aO'
~,
.. " C¥.v-l of n binary digits.
indiVidual sequences may be called the letters of the alphabet.
The
Given a
set of v distinct messages, we get an encoder E
by setting up a (1,1)
n,v
correspondence between the messages and the letters of the alphabet. To
transmit a message over the channel the n individual symbols of the corresponding letter of the alphabet are presented to the channel in succession.
The output is then an n-place binary sequence belonging to the
set Bn of all possible binary sequences.
A decoder Dn , v is obtained by
partitioning Bn into v disjoint sets 811 8 , "., Bvand setting up a
2
correspondence between these subsets and the letters of the a1Phabet so
that if a sequence belonging to Si is received as an output, it is read
as the letter a and interpreted as the corresponding message.
i
The encoder
En,v together with'the decoder Dn,v constitute a binary n-place code.
* This
research was supported by the United States Air Force through the
Air Force Office of Scientific Research of the Air Research and Development Command, under Contract No. AF 49(638)-213. Reproduction in whole
or in part 1s permitted for any purpose of the United States Government.
.. 9 Each sequebC1e
ot
:ail cB.h be regarded as an n-vector with elements
:f'rom the Galois .field GF(2).
~e
kdtiit1dt1
or these vectors may then be
defined in the usual lhtWhe1'; the sum o:f' two vectors being obtained by
adding the coi'l-tl)s1)c;Mliig elements (mod 2).
For example, if n = 6 and
?'l = (110011) and ?'2= (101001) then ?'l + ?'2
= (011010).
Clearly the
set Bn o.f all binary n-place sequences forms a group under vector addition. The weight we?,) of any sequence is defined as the number o:f' unities
in the sequence.
= 4,
Thus in the example considered W(?'l)
w(?'2) = ,.
The Hamming distance d(?'1'?'2) between two sequences ?'l and ?'2 is defined
as the number of places in which ?'1 and ?'2 do not match (Hamming, 1950).
Clearly d(?'1'?'2)
= w(?'1+?'2)·
In the example d(?'1'?'2)
= , = w(?'1+?'2)·
The Hamming distance satis:f'ies the three conditions for a metric, viz.
(i)
d(?,)
=0
(ii) d(?'1'?'2)
if and only i f ?' is the null vector,
= d(72,71 ),
(iii) d(?'1'?'2) + d(?'2,7,) ~d(71,73)·
}At the letter a
}At
E
o:f' the alphabet An be transmitted over the channel.
i
be the vector which has unities in those places, where an error
i
occurs in transmitting a symbol of ai-
Then E is the noise vector. The
1
output received is the sequence a + E , and the number of errors is
i
i
W(E i ). The code is said to be t-error correcting i:f' a i + 6 i belongs to
8i whenever W(Ei ) ~ t (i = 1,2, ... ,v). It is clear that under these
circumstances if there are t or a lesser number of errors in transmitting
a letter ai' the received message will be correctly interpreted.
A particularly important class of codes has been studied by Slepian
(1956). For this class v = 2k and the letters o:f' the alphabet An form a
- 3 subgroup of B • The null sequence is the unit element of Bn " and must
n
also belong to A. We shall suppose without loss of generality that
n
Q = (0,0, ... ,0). Slepian ' s decoder may be described as follows: If
O
r = n-k,then the group B can be partitioned into 2r cosets with respect
.
n
to the subgroup A.
n
The coset containing a particular sequence t3 con-
sists of the sequences
00
+ 13, Ql + 13, ••• " Qv-l + ~.
In the j-th coset we can choose a sequence
13 j whose weight does not ex-
ceed the weight of any other sequence in the coset, and call it the coset
r
Let 130 , 131 , ... " 13u - i ' (u = 2 ) be the coset leaders, where
130 = QO is the null sequence and leader of the O-th coset An. Let Sj be
the set of sequences Qj + (30' Qj + 131 , eo., Qj + t3u _l (j = O,l, ••• ,v-l).
leader"
Then the decoder is obtained by partitioning Bn into SO' 81 , ... , Sv_l
and setting up the rule that if the sequence received as an output belongs to Sj' it is read as the letter Qj.
called an (n, k) binary group code.
The code thus obtained may be
It is clear that a transmitted mes-
sage will be correctly interpreted if and only i f the error vector happens to be a coset leader.
Hence a necessary and sufficient condition
for the code to be t-error correcting is that if t3 is any n-place binary
sequence for which w(13)
S t,
then
(3
is a coset leader.
The following
lemma is then easy to deduce.
Lemma 1.
The necessary and sufficient condition for an (n"k) binary
group code to be t-error correcting is that each letter of the alphabet
except the null letter has weight 2t + 1 or more.
Proof:
Let QO' Ql" ... , a v _l be the letters of the alphabet.
13 be any n-place sequence for which w(t3) ~ t.
Let (a "t3) denote the
1
Let
- 4 number of positions simultaneously occupied by unities in both a and
i
~.
Then
(1.1)
and
Hence
The necessary and sufficient condition for
~
to be the leader of the
coset in which it occurs is that the left hand side of (1.3) is non-zero
positive for i = O,l, ... ,v-l.Tbe lemma follows.
Since the v = 2k messages can be transmitted by a k-place binary
code if there is no possibility of error, the number r
the redundancy for an (n,k) binary group code.
= n-k
is called
In constructing at-error
correcting (n,k) binary group code for given n and t one would like to
maximize k (i.e., max1mize the number of different messages that it is
possible to transmit).
Varsamov (1957) has shown that if k satisfies
the inequality
-2t-l
(1.4)
~
+
(k-l) 2t-2
1
~
( k-l) Sl + ( k-l)
r
2t-l
+ ••• + 2t-2
< 2r
where
S; = 1+ (~) + (~) + •••
(1.5)
+ (~)
then a t-error correcting (n,k) group code eXists.
The main result of the present paper is the following:
m
If n = 2 -1,
then there eXists a t-error correcting (n, k) binary group code with
k 2: ~.l - mt.
-
The method of proof is constructive and is illustrated by consider-
ing the case n
=15,
t
=3,
for which a 3-error correcting
group code is expl1citly obtained.
(15,5) binary
• 5 •
As an example of comparison between VarYamov's result and our theorem
consider the case n
=31.
Varlamov's result then shows that a 2-error
correctiDg binary group code can be obtained with k
= 18,
correcting binary group code can be obtained with k
= 13
clusive for larger values of k.
and a 3-error
but is 1ncon-
Our method, however l gives an explicit
construction for a 2-error correcting binary group code with k
a 3-error correcting binary group code with k
= 21,
and
= 16.
'!he following table gives some of the values of n, k and t for
which a t-error correcting (n, k) binary group code can be constructed
by our method.
The transmission rateR
= kIn
is also given.
Table 1
t
n
2
2
2
2
2
11
4
15
31
63
127
7
21
3
3
3
3
4
4
5
2.
15
31
63
127
63
127
127
R
k
.36
.47
.68
51
113
.81
.89
5
16
.33
.52
.71
45
106
.83
39
.64
99
.78
.72
92
We shall now prove a theorem which gives a necessary and suf-
ficient condition for the existence of a t-error correcting (n.. k) group
code.
- 6 Theorem 1.
The necessary and sufficient condition for the eXistence
of a t-error correcting (nlk) binary group code is the existence of a
matrix A of order mer and rank r
= n-k
with elements from GF(2)" such
that any set of 2t row vectors from A are independent.
Proof of sufficiency.
The matrix A has the property (P2t) that any
2t row vectors of A are independent.
~
Clearly r
is invariant under the following operations:
2t.
The property (P2t )
(i) interchange of two
rows or columns and (ii) replacement of the i-th column by the sum of
i-th and J-th column" i ~ j.
By these operations A can be transformed
to the matrix
A*
=
[~
where A* has the property (P ), I r is the unit matrix of order r, and
2t
C is a matrix of order kxr. Consider the matrix
(2.2)
C*
= LC,
IkJ •
Then C* is of order kxn.
We shall show that the k rows of C (under
vector addition (mod 2»
are generators of a group G of order 2k such
that if a is any arbitrary (non-null) element of G" then weal ~ 2t+l.
ret
a be the sum of any d row vectors of
a = ('lIe) 1 where
'1
C*1 d
~
k.
-
We can write
is the part coming from C and e the part coming from
k Now w(a) = w(r) + wee) = w(r) + d. Hence w(a) f 2t+l if d > 2t.
Suppose d < 2t. If w(a) < 2t+l, then w(r) < 2t-d. 1st w(r) = c. There
I -
=
are exactly c positions in
'1
-
which are occupied by unity_
Corresponding
to each such position we can find a row vector of I
this position (and zero in all other positions).
which has unity in
r
Then these c vectors
I
of I r together with the d row vectors of C whose sum is'l, constitute a
- 7set of c+d vectors which are dependent.
Since c+d
dicts the fact that A* has the property (P2t).
~
2t, this contra-
Thus the weight of any
nonnull element of G is greater than or equal to 2t+l.
It follows from
Lema 1 that the sequences of the subgroup generated by the k rows
ot
c* torm the alphabet of a t-error correcting (n,k) group code.
Proof ot necessity. SUppose there exists a t-error correcting (n,k)
binary group code.
We can then tind a set of k n-place binary sequences,
or n..vectors With elements from GF(2}" which under addition generate the
group of sequences which constitute the letters of the alphabet.
Lemma 1 if a is a sequence of this group w(a) ~ 2t+l.
By
Consider the kxn
matrix C* whose row vectors are given by these sequences.
If we inter-
change any two rows or columns of C*" or replace the i ..th row ot C* by
the sum of the ioOth and the J-th row (i
# J)"
the transformed matrix
still retains the property that its rows generate under addition a group"
each sequence of which has weight 2t+l or more.
Bence we can without
loss of generality take C* in the canonical form (2.2) where C is of
order rxk and
~
is the unit matrix of order k.
By retracing the argu-
ments used in proving the first part of the theorem, we see that the
matrix A* of order nxr" given by (2.1), has the property that any two
2t row vectors are independent.
This proves that the condition of the
theorem is Ditcesaarr..
Corollary 1.
The eXistence of a t-error correcting (n,k) binary
group code 1Dq)lies the enstance of a t-error correcting (n-c" k-c)
binary group code, 0
< c < k.
It in the matrix C* given by (2.2) we delete the last c rows and
the last c columns, we get a matrix
.. 8 ..
Ct
= LC1 ,
I k _c ]
of order (k-c) x (n..c), the rows of which generate a group for which each
noIll1ull element is of weight 2t+l or more.
The rows of Ct generate the
alphabet of the required code.
let Vr denote the vector space of all r-vectors whose elements belong to GF(2).
One may then ask the following question.
What is the
maximum number of vectors in a set E chosen from V , such that any 2t
r
distinct vectors from E are independent. This number may be denoted
n2t (r), and the problem of finding the set E may be called the packing
problem (of order 2t) for V •
r
increasing function ofr.
For a given t, n
2t
(r) is a monotonically
Let k = kt (n) denote the maximum value of k such that at-error
correcting (n,k) binary group code for given t and n exists. We can
then state the following.
2t (r) ~ n > n2t (r-l), then kt(n) = n - r.
From Theorem 1 there exists a t-error correcting (n (r)" n2t (r) -r
2t
binary group code. Taking c = n (r) - n in Corollary 1" there exists a
2t
t-error correcting (n, n-r) group code. But a t-error correcting
Theorem 2.
If n
(n" n-r+l) binary group code cannot eXist" since from Theorem 1 its
eXistence would imply that n2t (r-l) ~ n. Hence kt (n) = n - r is the
maximum value of k for which a t-error correcting (n, k) binary group
code exists.
Thus the problem of finding a t-error correcting n-place binary
group code, With the maximum transmission rate
kIn"
is equivalent to
determining the smallest r for which there exists a set of n or more
distinct vectors of Vr " such that any 2t distinct vectors from the set
are independent.
- 9 3.
The theorem to be proved in the next section depends upon the
following lemma.
Xl are different non-zero elements of the
2
Galois field GF(2m),then the equations
Lemma 2.
If xl' x ' ••• ,
~i-l
~
+ 2i-l +
_ 0
••• + Xt2i-l ,
X2
S 2t.
cannot simultaneously hold if [
SUppose i f possible the equations (3.1) simultaneously hold.
t-l + P2 xl''-2
t
+ PI x
X
= a.
+... + Pt
be the algebraic equation whose roots are Xl'
Let
~,
••• ,
Xl'
Then P j be-
longs to GF(~) and 1s the sum of the products of the roots taken j at
= l,2, ... ,t).
a time (.1
the roots.
We define Sj as the sum of the J-th powers of
For a field of characteristic 2 the well known relations be-
tween the s)'Il11!1etric functions
6
.. 0_"
SJ
and p j become (levi, 1942, p. 147),
+ 81 P l = 0
1
s2 + Pl 8 1 + 82 P2 = 0
s, + PI s2 + P2 sl + 83 P, =.0
•
•
•
•
s[ + Pl
where 8
i
Sj
=0
=0
•
•
St-l
are non-zero.
Case II.
•
+ P2
when J is odd (.1 < 2t).
Case I.
•
•
0
•
81-2
•
.•
•
If
t
.1
at PI = 0
From equations (3.1)
It then follows from (3.3) that Sj
=0
is odd then
•
+ ••• +
or 1 according as i is even or odd.
if j is even (.1 ~ [) and P
(3.4)
•
if J is odd (.1 ~
Pi = xl~
..
0
Xl
~
i).
0,
since
XJ.'
x2 ' •• "
This is a contradiction.
If
t
is even, say
t = 2c,
=0
the equation (3.2) becomes
X2c + P2 x2C - 2 + ,.. + P2c -- 0
Xt
• 10 •
•••
(
)
3.5
( c
c-l
x + qlx
+ .. ,""
~
)2
=0
'Where qj is the unique square root of 1>2.1 in GF(~), Hence (3.2) cannot
have more than c distinct roots, which again is a contradiction, since
)Cl:' ~, ... , Xl are distinct by hypothesis,
Hence the lemma is true whether
4. Let Vm be
GF(2) •
t
is odd or even.
the vector space of m-vectors with elemen,ts from
We can institute a correspondence between the vector
l
of Vm and the element &0 + &lX + ... + &m_1Jfl- of
GF(~), where X is a given primitive element of the field. This is a
a
= (ao,al'''''&m.l)
(1,1) correspondence in which the null vector a of V corresponds to
O
m
the null element of GF(~), and the sum of any two vectors of Vm corresponds to the sum of the corresponding elements of V ,
m
identify the vector
We can therefore
a of Vm and the corresponding element of GF(~).
This in effect defines a multiplication of' the vectors of Vm and converts it into & field. In particular we can speak of powers of any
vector,
Let V be the vector space of all mt-vectors with elements from
mt
GF(2). To any vector a of V there corresponds 8 unique vector at of
i
m
V defined by
mt
(4,1)
though the converse is true.
There are n = 2m.l distinct nonnull vectors in Vm,
... , ci
cx2' ~, .. "
, ....
•
t l
1
a l , ~,
~t-l
(4.2)
M* =
2
•
an'
~,
..
"
cint - 1
Let
- 11 -
be
the ~t matrix, which has for row vectors the corresponding vectors
at, ~, ... ,~.
We shall show that M* has the property (P2t) that any
of 2t distinct row vectors belonging to M* are independent.
is sufficient that the sum of any
1 row
This is ensured by Lemma 2, since a
i
vectors of M*,
For this it
I S 2t,
is nonnull.
can also be regarded as elements of
GF(~).
Now rank (M*) ~ mt.
Since there is essentially only one Galois
field GF(tJi), this rank is a definite function of m and t and will be
denoted by R(m,t).
When R(m,t) < mt, we can choose R(m,t) independent
columns of M*1 and delete the other columns dependent on them.
matrix A so obtained has still the property (p2t)'
The
Using Theorem 1 we
have
Theorem 3-
If n
= tJi-l l
we can obtain t~error correcting (n,k)
binary group code where k = 2m-l-R(m,t) ~ 2m-l_mt.
t-error correcting (n,k) binary group codes when n is not of the
form 2m.l can be deduced from those obtainable from Theorem 3 , by using
Corollary 1 of Theorem 1.
Stronger results than those which can be ob-
tained in this way will be given in a subsequent communication.
5. The proofs of the theorems in sections 2 and 4 are constructive
in the sense that they give
quired codes.
an actual procedure for obtaining the re-
We shall illustrate the procedure to be followed by
taking the case m = 4, t
= 3.
Then n
= 15
and the rank R(m,t) turns out
to be 10. We thus obtain a 3-error correcting (15, 5) group code.
roots of the equation
(5.1)
The
- 12 -
are primitive elements of GF(24 ), (Carmicbae1, 1937, p. 262).
Using
(5.1) the non-zero elements of GF(24 ) can be expressed in two equivalent
forms (i) as powers of the primitive element x or (ii) as polynomials in
x of degree 3 or less.
We thus have the following table of the 15 non-
zero elements or vectors.
xO
=1
x
=
x2 =
~ =
x
x2
=
=
=
~ =
x4 = 1 + x
~
6
x
x7
x8
=
~ =
10
x
x11
12
x
13
x
14
x
= ~
(0,0,1,0)
=
a,
(O,O,(),l)
=
=
°4
1
a,
=
(0,1,1,0)
= 0:6
x2 + ~
=
(0,0,1,1)
=
+~
=
(1,1,0,1)
= 0:8
=
(1,0,1,0)
= ~
= a10
+ x2
=
2
= 1 +x +x
=
x+,l+~ =
=
= 1+x+x2+~ =
+~+~ =
= 1
+~ =
= 1
X
(0,1,0,0)
0:
(1,1,0,0)
1 +x
= 1
=
=
x + x2
=
=
(1,0,0,0)
+x'
(0,1,0,1)
~
(1,1,1,0)
= ~1
(0,1,1,1)
= 0:12
= ~3
(1,1,1,1)
(1,0,1,1)
=
0:1
(1,0,0,1)
=
0:
4
15
In obtaining the powers of tbe elements it should be remembered that
each non-zero element of GF(2m) satisfies ~-1 = 1. Since m = 4 we have
Thus for example
- 13 -
of = (x6)3 = x18 = x' = (0,0,0,1) = 04
~ = (x6)5 = ~o = xO = (1,0,0,0) = '1. •
It is now easy to calculate the matrix M* given by (4.2).
the seventh row is
(a.."
of, ~) or (0 ° 1 1, °°° 1, 1 °°0).
1 °° 0 ..: 1 0 0 0 ..: 1000
o 1 0 0: 0 0 0 1: 0 1 1 °
o0
M*
=
For example,
.
Thus
..
10: 0 0 11: 1 11 0
•
0001: 010 1 ~ 1 000
•
1100': 1111;0110
•
•
o 110: 1 0 0 0 ..: 111 0
•
0011: 000 1 : 1000
•
•
1101: 0 0 11: 11 0
..
•
:1010: o 1 0 1: 1110
•
•
o 1 0 1: 1 1 1 1: 1000
•
•
1110 •• 1000::0110
..
•
o 11 1 •• 000 1: 1110
•
•
111 1 :0011::
,
• 100
1011 :0101.: o 11
•
•
100 1 : 1 1 11: 111 0
..
..
°
°
°
where the vertical divisions separate the parts coming from
0,
c!J
and ~.
From M* we can drop the last null column and the 11-th column which is
identical with the 1Q-th.
The 10xl5 matrix of rank 10 so obtained we can
take as the matrix A of Theorem 1.
From what has been shown in section
4, this matrix has the property p(6) that any 6 row vectors are independent.
Using operations (i) and (ii) of section 2, we can then transform
A to A* where
--
- 14 where I
10 is the unit matrix of order 10, and C is the 5xlO matrix given
by
1 1 1 0
C
=
1 1 0 0 1 0
0
1 1 1 1 0 0 1 0 1
1
1 0 1 1
0
1
1 0 0
1 1 1 1 1
1
1
0 1 0
1
0 1 1 1 O·
0 0 1
1
•
Taking
c* = LC,
I
_7
5
we have a matrix of order 5xl5 whose rows generate under vector addition
(mod 2)" the group of 32 sequences which constitute the letters of the
alphabet of the reqUired 3-error correcting (15, 5) binary group alphabet.
It is easy to verify that of the 31 nonnu11 sequences 15 have
weight 7, 15 have weight 8 and one has weight 15" which checks with
References
Carmichael, R. D. (1937).
finite order.
Hamming, R.
w.
Introduction to the theory of groups of
Ginn and Co"" New York.
(1950). "Error detecting and error correcting codes."
Bell System Tech. J. 29, 147-160.
levi, F.
w.
(1942).
Slepian, D. (1956).
Algebra Volume 1.
II
University of Calcutta.
A class of binary signalling alphabets."
~
System Tech. J. 35" 203-234.
Var"fsmov, R. R. (1957).
rection of errors."
(Russian).
"The evaluation of signals in codes with corDokl. Akad. Nauk SSSH eN. S.) 117, 739-741.
© Copyright 2026 Paperzz