TECHNION - Israel Institute of Technology
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
Computer Science Dept.
APPLICATION OF CIRCULANT "MATRICES. TO THE CONSTRUCTION AND DECODING OF LINEAR'CODES by.
R.t
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
, which are zeros of both d(x) and l1'(x). Clearly,
.
P'1(0) +Pl(Y) S k
(8)
+ Pl(O,v) .
Let c = [u u A]. Ifed 7! o*a = v,we have Pl (0, 0* a) S de~ ( [x'+t+m '(£li(x) -li(x
»] mod (xl -
I)} ~ k - 1 - s ,
which, together with (8) yields (9)
On the other hand, if ell = 0* a7! 0, 0 must'have zeros in the t positions occupied in a by the CJ)i and, consequently, Pl(O) + Pl(u*a) = 2pl(0) S 2 de~ { (xm'd(x) mod (xl -I)} S 2(k - 1- t) . By (6),(9) and (10) it follows that d ~ min{s+l,2t+2}.
(10)
0
By Theorem 1, we can ob~ F -transform codes with high lower bounds on their minimum distance by assigning values of F to the cyclotomic cosets modulo k so that the runs of e and non-e values will be as large as possible with the appropriate ratio of 2: 1 between s and t, as reflected in (7). Theorem 1 resembles
th~
well-known BCH bound. As a matter of fact, the decoding pro-
cedure for F -transfonn codes up to the designed distance, given by the right-hand side of (7), is as easy as that for BCH codes. Assume sis even, so that the designed distance is at least 2't + I, where 't ~ min {s /2, t }. We now show how to correct 't err~. Suppose a cOdeword c = [u u A] is transmitted and the word
Y=c + e =[u + el u A + eo] = [YI Yo] is received, with,the error word e having weight S,'t. Since eo - (0* a) contains s consecutive zeros, we may regard eo - uA as a codeword of a BCH code of length k and designed distance
s +1. Applying the standard BCH decoding technique to ey I - Yo yields the vector e ~ Eel -
eo
of wei.ght S s /2 [4, Ch. 9]. Denote by 8(v) the support of a vector v and by w(v) ~ Ie(v) I its Hamming weight. Define Y
~ 8(e) and Z ~ 8(el) --c: Y = 8(eo) - Y. That is, Z is the set of
7
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
coordinates in which the nonzero entries of eel and eo are identical. We have,
IYI +21ZI
~w(e)~t~t.
Having found e, we know the set Y and the vector ED - (0* a), by which we obtain t consecutive values of 0 and, hence,. of e1' Therefore, we may apply this infonnalion and the BCH decoding algorithm to Y1 to correct I Y I erasures and 1Z I ~ ~(t - IY I> errors [4, §9 .~], thus retrieving e1 and, subsequently, u. Example 1. 'IJte following is an example of an F -~p.sfonn code over GF (2) with
s =21112+1_2 and t
=21112_1.
Let k
=211 -
I, h even, resultin~ in a [2 11 +1-2,211 -1] double-
circulant code C. For ~ integer;, 0 ~; ~ 21i -2, denote by i =
[i1l-1 ;11-2 ••• ; ~
the base-2
representation of ; . Let 0; be the cycJQta.U.c coset modulq 211 - 1 containing ; '. Then 0; contains all integers j such that j is. a cycl,c shift of i. Let s = 21112+1 _ 2 and assign dj = 1 for all j
E
0;, 1 ~;
~ s . Here,
w(j)
~
h /2 and so the largest index j max for w~ich dj
IIID
= 1 is given .by
jmax: = [ 1 1 ... 1 0 0 .. , 0], +- 1112 ~
Le., j max = 211
-
+- 1112 ~
21112• Hence, we may set dl = 0 for all 211
-
21112 + 1 ~ j ~ 211
-
2 and for j = O.
Thus we have t ,~21112 - I, which implies
Example 2. We show now how a ~ode of Example 1 can be extended into a [211 +1, 211 , 21112+1] code. Consider the affine space t
C' = {[u u A + 1]
IU E
F" } ,
where A corresponds to the F -transfomp 'code C of Example 1 and 1 is the all-one k-vector. •J.t2.
Note that 1· T = [100 ... 0] and, the~fore, the Fourier transform of v = uA and v +.1 are identical except for-the first entry ·\1'0' By arguments similar to those in Example I, we conclude that the weight of each word in C' is lower-bounded by 21112+1 - 2. Sfuce do = 0, a has even weight and, so, the [211 +1, 211 ] bordered double-circulant code, generat~ by
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
8
G
=[
I
1 0] A
l'
,.
must have even minimum distance ~ 21112+1 - 1, Le., d- ~ 21112+1• For instance, h
=2
yields a [6,3,3] double-cirCulant code with a
=[0 1 1]
and the
corresponding bordered double-eirculant c~ is tl}e [8,4,4] self-dual.extended Hamming code. For
h
=4
we
obtain
a
[32,16,8]
bordered
double-circulant
code
with
a = [0 00 00 1 0 1 00 1 1 0 1 1]. Remark 1. The bound d'~ 2"{2+1 applies ~lso to the [211 +1, 2"] binary Reed-Muller code RM(.!!.,h+l) of order.!!. [2, §15.3J, although the two code families are not equivalent; the 2 .2 weights of the codewords in RM( ~,h+l) are multiples.of 4 [12, p. 447], whereas the [32,16,8] bordered F -transform code of Example 2 contains codewords of weights 10, 14, 18 and 22. However, there exists a close relationship, between, (bordered) F -transform codes and ReedMuller codes. As a special case of Example 1, we can assign dj = 1 for all j 'where 1 S; w(j) S; h/2, and dj = 0 otherwise. In this manner we can use
~
majority-logic decoder of the
punctured Reed-Muller code RM( ~ l,h)* [12, p. 377] as the fIrst decoding step, and then fill erasure-anti-error decoder of RM( ~ ,h)l (enhanced by a parity bit corresponding to do = 0) as the ~ond decoding step. Remark 2. The bound 2"k+l- 1 is attainable also for general q and even h with k = q" - 1. For odd h, nne can readily verify the bound d ~ q ~(h+l) - 0 (q).
We turn now to the more general case where' js not necessarily in F Ic • Theorem 2. Let C be a [2k, k] double-circlflant code over F
=Of ~q). (k,q) = 1, with a
being the Fourier transfo'!tl of the defining polynomial of C . Let s be the longest cyclic run of
.
any eleTn!!nt £
~
F in 11. Then the mi!.'imum distance d of C satisfies d
~
s
+ 1.
Proof. Consider the vector t
=eli .... (u* a), correspOnding to some input vector U E pl.
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
-th entry in y, 0 Sm S t-l, 0 Sj S r-1. Given that
't
S ; errors have
occurred at'locations {<mi ,it> }1:1' A(x) is defined by 't..
A(x) = ~AiX' i=O
't.
't
.
= 1+.~AiX' = Il(l-xoam,~lI)o i=1
(11)
i=1
Recall that a is an element of order n. ~ =et is an element of order r, and
a=a!'
with
(b,t) = 1. Regarding the coefficients of A(x) ~as an r-vector A over F (with r-'t-l trailing
zeros), we denote by Ao its r-dimensional inverse Fourier transform, i.e.,
Following IS], we transfonn the Berlekamp-Massey decoding algorithm using an r-dimensional ~~
14 transform into the time domain, resulting in the procedure ELP given in Figure 2. In this pro-
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
cedure we make use of an auxiliary r -vectqr b, which is the inverse Fourier transform of the polynomial !J (x), denoting the error IQCa~or polynomial prior to the last update of the recursion length L [13]. It is easy to ~ thatAoJ = 0 if and only if the j -th entty in 1.0' 0 S j S r -I, is erroneous. The"se coordinates correspond to. the check symbols' of the received word (m = 0). In order to obtain_the other error locations, we find the n -dirpensional inverse Fourier transform of A (now
procedure ELP (s) output: Ao; begin ~,
{Ao obtained is up to a multiplying scalar r
}
b f- 1 {all-one vector}; L f-·O ;
for N f- 0 to r-l do begin { main loop}
if /1 ~ 0 and 2L S N then begin L f-N + l.-L ;
V o f- [1 /1-1]; VI f- [-/1 0] end else begin V~ f- [1 0] ; VI f- [..../1 1]
end;
for j f- 0 to r-1 do begin { error evaluator polynomial will be inserted here} [~J ~j] f- ~JVo+bj~-jVl end
end { main loop} end Figure 2: PI:ocedure ELP .
Technion - Computer Science Department - Tehnical Report CS0535 - 1989
app~il¥(J:with n-r
zero coordinates) by internolation; we use Ao to find the values of A(x) at
,points K, = o-m J}-j. Pefine
Am .}.:::lA(5-m~-i.). O~l~r-l, O~m ~t-l r '!hen-;up, to a permutation 7t