Fast Algorithm For Encoding The (255, 223) Reed-Solomon Code Over GF

You might also like

You are on page 1of 2

source.

Since there are (m + n) nodes other than the excitation The whole procedure is then repeated by assuming another
nodes, we can express in matrix form component to be faulty until all possible faulty components are
tried out. The designated faulty component is the one asso-
AV = B (3) ciated with the smallest value of d as computed from eqn. 6.

where V is the nodal voltage vector Conclusion: The essence of the present method is that it has
avoided the 'nonlinear' problem of solving the measurement
y = (vx, v2, - . . , vm+ny deviations in terms of the component deviations, but instead
changes the fault location procedure into a series of linear
A is a (m + n) x (m + n) matrix and B is a (m + n) x 1 matrix. equation solutions for the inaccessible nodal voltages. The
Suppose a fault exists due to the component Zkl outside actual computing time can be much less than that of solving a
tolerance. The elements of A and B are then constants as group of n equations for p x (m — 1) times, where p is the
computed from the nominal component values except in the number of components tested. The reason is that some of the
rows involving Zkl. Two rows would have elements as func- equation subsets to be solved are identical in routines assum-
tions of Zkl if both the fcth and /th nodes are not excitation ing different faulty components. The amount of time saving'
nodes, and only one row involves Zk, if either the /th or the /cth would depend on the particular system topology.
node is an excitation node. The matrixes in eqn. 3 can be parti- Measurement inaccuracies and fluctuations in component
tioned as values tend to reduce the resolution of the method. If the
acceptable ranges of the inaccessible nodal voltages conform-
x A2\tVA = lBA ing to the measurements begin to overlap in cases of different
(4) assumed faulty components, wrong predictions may be ob-
, AJ\V2) \B2)
tained. The proper choice of excitation and accessible nodes is
where important for best results. Multiple faults cannot be easily
located using this method because there would be too many
l = (vi,v2,...,vm)T possibilities of faulty components to be tested.

is the accessible nodal voltage vector and K. Y. TONG 7 th January 1980


Department of Electronic Engineering
Hong Kong Polytechnic
Hong Kong
is the inaccessible nodal voltage vector.
Eqn. 4 can be rewritten as References
1 DUHAMEL, p., and RAULT, i. a : 'Automatic test generation
2\ (B^-A^V techniques for analog circuits and systems: a review', IEEE Trans.,
J 2
\B2-^3^ 1979, CAS-26, pp. 411-440
2 NEU, E. c : 'Combinatorial analysis for check-out techniques'. Joint
national meeting of the American Astronautical Society, June 1969,
If the vector VY assumes the experimentally measured values, pp. 17-20
eqn. 5 can be regarded as a set of (m + n) equations in the 3 BERKOWITZ, R. S., and WEXELBLAT, R. L.: 'Statistical considerations
unknown V2. In order to have an unique consistent solution of in element value solutions', IRE Trans., 1962, MIL-6, pp. 282-288
V2, the rank of 4 HANKLEY, w. J., and MERRILL, H M.: 'A pattern recognition
technique for system error analysis', IEEE Trans., 1971, R-20, pp.
148-153

(3 5

6
MERRILL, H. M.: 'Failure diagnosis using quadratic programming'.
ibid., 1973, R-22, pp. 207-213
SRIYANANDA, H., TOWILL, D. R., and WILLIAMS, J. H.: 'Voting
must be equal to the rank of the augmented matrix techniques for fault diagnosis from frequency domain test data',
ibid., 1975, R-24, pp. 260-267
2 B1-AlV1\ 7 BROWN, F. D., MCALLISTER, N. F., and PERRY, R. P.: 'An application of
inverse probability to fault isolation', IRE Trans., 1962, MIL-6, pp.
* B2-A3Vl) 260-267

Otherwise, our original assumption of Zik being faulty in set-


ting up the matrix A, B does not agree with the measured value 0013-5194/80/060221 -02$l 50/0
of Kj.
However, the above rank criterion is difficult to apply in
practice, since inaccuracies in the measurement Vt and vari-
ations of the component values within their tolerance limits
would make a nominally zero determinant appear nonzero. A
practical method used is as follows: eqn. 5 can always be
reduced to (m + n — 1) equations in V2 only. (Eqn. 5 may con-
tain one or two equations involving the unknown faulty com- FAST ALGORITHM FOR ENCODING THE
ponent Zkl as explained above. In the latter case, a new (255,223) REED-SOLOMON CODE OVER
equation not containing Zkl can be obtained by simple linear
operation on the two equations). We can then obtain (m — 1) GF(28)
independent solutions of V2 from eqn. 5, by selecting a subset
of n equations each time such that each of the (m + n — 1) Indexing terms: Codes, Algorithms
equations belongs to at least one of the subsets.
Let the (m — 1) solutions be represented as A new scheme for reducing the numerical complexity of the
standard Reed-Solomon (R.S.) encoding algorithm is
developed. As an example, the encoding of a (255, 223) R.S.
Vi2 = (vn,vi2,...,vin)T
code (NASA standard for concatenation with convolutional
codes) is shown to require 75% fewer multiplications and
for i from 1 to (m — 1). 61% fewer additions than the conventional method of
A degree of consistency for the (m — 1) solutions is computation.
computed according to the following definition
Introduction: In this letter, the fast syndrome method
developed in Reference 1 and Lagrange interpolation are used
(6) to develop a fast algorithm for encoding R.S. codes. It is shown
in this letter, by example, that the number of both multi-

222 ELECTRONICS LETTERS 13th March 1980 Vol. 16 No. 6


plications and additions of this new scheme is substantially where a is an element of order 255 in GF(28), and a, = 0 for
fewer than is required by the conventional encoding 0 < / < 31. Note that eqn. 5 is the same formula as eqn. 1 of
techniques. Reference 1. Thus, using the same procedure for computing
An advantage of this new algorithm, aside from speed, is that eqn. 1 as in Reference 1, one obtains /(a7) for 1 <j < 32. It
itsfirststep consists of performing a syndrome-like calculation, follows from Reference 1 that the total number of multi-
which can be implemented by using the existing syndrome plications and additions needed to compute the /(a1) for
algorithm used in the decoder. This fact can be used to lower 1 <j < 32 is 852 and 1804, respectively. The second step of the
the total hardware cost of the encoder/decoder system. encoding process is to compute R(x) defined in eqn. 4, i.e.
Encoding procedure: Let n = 2m — 1 be the block length of a
R.S. code of designed distance d in GF(2m). The number of (6)
m-bit message symbols is k = n — d + I.
To encode the k information symbols into an n = 2m - 1 Since £,(x) can be precomputed, 32 x 30 = 960 multi-
symbol R.S. code word, one first defines the generator plications and 960 additions are needed to compute R(x).
polynomial Hence the total number of multiplications and additions
required for encoding is 852 + 960=1812 and 1804 +
960 = 2764, respectively. In contrast, the total number of
G(X)= ri (*-«*) multiplications and additions for encoding by conventional
i=l
methods is 223 x 32 = 7136 each.
when a is a primitive nth root of unity. The code consists of all
multiples of G(x), subject to the constraint x" = 1. Acknowledgment: The authors wish to thank Prof. J. Massey,
Let at (for d — 1 <i <n — 1) be the message symbols, and of the Electrical Engineering Department, University of Cali-
define fornia, Los Angeles for suggesting the possibility of a fast en-
coding algorithm of the type presented in this paper. This work
was supported by NASA contract NAS 7-100, and also in part
J(x) = by the US Air Force Office of Scientific Research under grant
AFOSR 75-2798.
In order to generate the code word with information symbols
corresponding to I(x), proceed as follows: let R. L. MILLER 7th January 1980
T. K. TRUONG
I(x)=Q(x)G(x) Communication Systems Research Section
(2)
Jet Propulsion Laboratory, Pasadena, California 91103, USA
where Q(x) is a quotient polynomial, G(x) is the generator I. S. REED
polynomial and R(x) is the remainder obtained by dividing Department of Electrical Engineering
I(x) by G(x). Finally, I(x) is encoded into University of Southern California, Los Angeles, California 90007, USA

C(x)=I(x)-R(x) (3) References


1 TRUONG, T. K., MILLER, R. L., and REED, i. s.: 'Fast technique for
The new encoding procedure of an R.S. code is composed of computing syndromes of B.C.H. and R.S. codes', Electron. Lett.,
the following two steps: 1979, 15, pp. 720-721
2 PETERSON, w. w., and WELDON, E. J.: 'Error-correcting codes' (MIT
Press, 1972)
(i) Compute 7(af) for 1 < / < d - 1 by the technique used to
compute syndromes in the decoder. Note that, by eqn. 3,
/(a1) = R(a') for 1 < i < d - 1. 0013-5194/80/060222-02$U0/0
(ii) Compute R(x) from R(<xl) using Lagrange interpolation:

1= 1

where E,(x) is defined by


CONNECTION BETWEEN PRIMITIVE
GENERATORS OF GF(2n)
— iti for 1 < ii < d - 1 (4)
Indexing terms: Codes, Polynomials, Sequences

Primitive polynomials over GF(2) are used for generating


The degree of £,(x) is d — 2, so the degree of R(x) is at most maximal-length sequences. Powers of a root a of such a poly-
d — 2. Thus the parity symbols consist of the d — 1 coefficients nomial are delay operators on the generated sequence. Given
of R{x), as desired. Note that a direct computation of R(x) in two primitive polynomials of degree n with a, and <x2 their
eqn. 2 involves (d — l)(n — d + ^multiplications and (d — 1) x roots, it is shown which parameter is needed in order to find
(n — d+ 1) additions. If one uses a fast syndrome calculation, orj from a\ without knowledge of x.
say, for the case n = 255, k = 223, it is shown in the following
example that the encoder requires only 1812 multiplications Introduction: A common method of generating binary se-
and 2764 additions instead of 7136 multiplications and 7136 quences is by linear feedback shift registers. If the feedback con-
additions, as required by a more conventional computation. nections are made according to the coefficients of a primitive
This results in a significantly faster encoding scheme. polynomial of degree n, the output sequence is of maximum
periodicity, namely, the shift register passes through all 2" — 1
Example: Let n = 255 be the block length of an R.S. code of possible states (beside 'all 0') before it starts repeating itself.1
8
designed distance d = 33 over GF(2 ). This code will correct The generated maximal-length sequence is usually called 're-
any combination of 16 or fewer symbol errors. Thefirststep of sequence'. The following basic concepts are needed for further
the encoding process is to compute /(a1) for 1 < i < 32. That is, arguments.
Let /(x) be a primitive polynomial of degree n over GF(2)
255-1 and let a be its root [a obeys the equation a" = aio"" 1 +
1
J
I(a )= for 1 <j < 32 (5) a2 a"~ + ... + an-ia. + 1, the coefficients a, being those of
/(x)]. Successive powers of a can be represented as poly-

ELECTRONICS LETTERS 13th March 1980 Vol. 16 No. 6 223

You might also like