Sei sulla pagina 1di 8

IEEE TRANSACTIONS ON COMPUTERS, VOL. C-26, NO.

5, MAY 1977 435

Natural, Dyadic, and Sequency Order Algorithms and


Processors for the Walsh-Hadamard Transform
YOUSSEF A. GEADAH, MEMBER, IEEE, AND MICHAEL J. G. CORINTHIOS, MEMBER, IEEE

Abstract-The Walsh-Hadamard transform has recently re- similarities or analogies to the familiar Fourier transform
ceived increasing attention in engineering applications due to the could be drawn [5], [6].
simplicity of its implementation and to its properties which are
.. .
similar to the familiar Fourier .
transform. The transform matrices ~~~~~~~~The
Walsh-Hadamard transform is statistically optimal
found so far to possess fast algorithms are the naturally ordered for the class or processes defined by dyadic covariance
and dyadically ordered matrices, whose algorithms are similar to matrices. In this paper, we introduce a special-purpose
the Cooley-Tukey algorithm, and to the machine-oriented algo- digital signal processor for time-series analysis to compute
rithm of Corinthios [2], respectively. the Walsh-Hadamard transform in different ordering
In this paper we introduce a special-purpose digital signal pro-
cessor for time-series analysis to compute the Walsh-Hadamard
transform in different ordering schemes. This transform is statis- that is well adapted for implementation by a special-pur-
tically optimal for the class of processes defined by dyadic covar- pose computer. The machine obtained could be thought
iance matrices. of as an extension, as well as a modification of the time-
The approach followed is to develop an algorithm that is well series analyzer introduced in [2]
adapted for implementation by a special-purpose computer. The
machine obtained could be thought of as an extension, as well as a
seriesrtrdc in [2].
The three algorithms that the machine performs are the
modification of the-time-series analyzer introduced in [2]. Walsh-Hadamard transforms in natural order (equivalent
The three algorithms that the machine performs are the tothe post-permutation algorithm of the FFT [2]), dyadic
Walsh-Hadamard transforms in natural order (equivalent to the order (equivalent to the machine-oriented algorithm of the
post-permutation algorithm of the fast Fourier transform (FFT) FFT [2]), and sequency order, which is a new powerful
[2]), dyadic order (equivalent to the machine-oriented algorithm
of the FFT [2]), and sequency order, which is a new powerful ad- addition to the machine
dition to the machine, and which has no correspondence in the The first two algorithms are more suitable for applica-
Fourier domain. To the knowledge of the authors, this is the first tions involving a double transform (time-space-time) such
time a fast algorithm for the sequency-ordered Walsh transform as logical autocorrelation and convolution [5], which does
in the interval [0,1) is introduced, with the inputs and outputs or- not call for a sequency-ordered set of output coefficients.
dered.
The third one yields a sequency-ordered set of output
Index Terms-Computer architecture, digital filtering, digital coefficients, useful in applications such as sequency filters,
signal processing, fast Fourier transform (FFT), fast Walsh- sequency power spectra, etc.
Hadamard transform, spectral analysis,9 time-series analysis.
9 three algorithms yield a wired-in design, serial-word,
~~~~~~~~~~All
I. INTRODUCTION and parallel-bit machine with minimum control. Naturally,
the same ideas are applicable for a serial-bit organization.
T HE literature abounds with algorithms [1], [2] Although we describe here a sequential processor, the same
and machine designs [1]-[4] to perform the Fourier algorithms could yield a cascade machine.
transform. Our attention will be focused here on the Each of the three algorithms involves the applications
Walsh-Hadamard transform, which has received in- of two distinct operators.
creasing intere-st in engineering applications, mainly for 1) One operator computes the sum and difference of
two reasons: equally spaced pairs of data points.
1) It is efficiently implemented on either a GP or SP 2) The second operator is an elementary permutation
computer. on the data vector.
2) Many application areas were discovered where The analysis assumes the number of samples N to be a
Manuscript received February 1975; revised May 1976. This work was power of 2, N =
supported in part by the Communications Research Centre, Department
2g.
of Communications, Ottawa, Ont., Canada, under Research ContractIIHA MRD ATX
GR-36100-2-0195, Serial OGR2-0198 and in part by the Canadian DefenseI.HA MRD ATX
Research Board Grant 9931-36.
Y. A. Geadah is with Bell-Northern Research, Ottawa, Ont., Cana- The algorithms for the computation of the Walsh
M. J. G. Corinthios is with the Department of Electrical Engineering,tasom fatieersaebsdonheH aad
Ecole Polytechnique de Montreal, Montreal, P.Q., Canada. matrix. The Hadamard matrix is a square array of plus and
436 IEEE TRANSACTIONS ON COMPUTERS, MAY 1977

minus ones whose rows are orthogonal to each other. It is 1 1 1 1 1 1 1 1- 0


known that if a Hadamard matrix of order N exists, where
N > 2, its rank must be an integer multiple of 4. Certain 1 1 1 1 1 1 1 1 1
Hadamard matrices of rank 2n are related to Walsh 1 1 -1 -1 1 1 -1 -1 3
functions: their rows or columns contain the sampled 1 1 -1 -1 -1 -1 1 1 2
versions of Walsh functions. Those matrices can be gen-
erated by successive Kronecker products' of a core matrix (H8)dyad 1 -1 1 -1 1 -1 1 -1 7
of order 2, H2, which is the lowest order Hadamard ma-
trix: 1 1 1 -1 -1 1 -1 1 6

H2[ ]1 -1 - 1 1-1 - 1 4
2 [1 _1] 01 -1 -1 1 -1 1 1 -1- 5
The matrices generated by the Kronecker products of # of sign changes.
H2 are in "natural order," which means that they are not
ordered with respect to the number of sign changes in each The last ordering to consider, but not the least impor-
row. An example of the eighth order Hadamard matrix in tant, is the sequency-ordered matrix. Sequency, as defined
the natural order is given below: by Harmuth [7], is one-half the average number of zero

-1 1 1 1 1 1 1 1 0
1 -1 1 -1 1 -1 1 -1 7
1 1 -1 -1 1 1 -1 -1 3
1 -1 -1 1 1 -1 -1 1 .4
(H8)nat = (H4 )riat X H2 =
=H2 xH2XH2 1 1 1 1 -1 -1 1 -1 1
1 -1 1 -1 -1 1 -1 1 6
1 1 -1 -1 -1 -1 1 1 2
_1 -1 -1 1 -1 1 1 -1_ 5
# of sign changes.

Fast algorithms similar to the Cooley-Tukey factori- crossings per unit time interval and is closely related to the
zation exist for the naturally ordered matrices. In order to number of sign changes in the rows of the Hadamard ma-
have the outputs sequency ordered, the vector coefficients, trix. An example of H8 in its sequency-ordered form is
obtained by applying the naturally ordered matrix to the given below:
data vector, must be operated upon by the bit-reversed
ordering matrix, which yields the dyadic-ordered matrix. 1 1 1 1 1 1 1 1 o
The resultant vector must be then operated upon by a bi-
nary-to-Gray code ordering matrix. This is quite an ex- 1 1 1 1 1 1 1 1 1
tensive, additional computational effort that slows down 1 1 -1 -1 -1 -1 1 1 2
the nature of the transform algorithm.
By premultiplying the naturally ordered Hadamard 1 1 1 -1 1 1 -1 -1 3
matrix with the bit-reversed order matrix, we obtain the ( )seq = 1 -1 -1 1 1 -1 -1 1 4
dyadic-ordered matrix, which has a fast algorithm similar
to the machine-oriented algorithm of Corinthios derived 1 1 1 1 1 1 1 1 5
in [2]. Extra computations involving the Gray code-to- 1 -1 1 -1 -1 1 -1 1 6
binary decoding are required at the end, if a sequency-
ordered spectrum is required. An example of an eighth _1 -1 1 -1 1 -1 1 -1_ 7
order Hadamard matrix in dyadic order follows: # of sign changes.
1The ~~~~~~~~~~~~~It
is to be noted that no fast recursive algorithm exists
TeKronecker product S XK of two matrices is obtained by multi- for the sequency-ordered matrix in the usual [0,1) interval.
plying S with each element ki, of K, and substituting the multiplied Hamt 7 p 16]dsrbdamto o ucin
matrices kLJS for the elements h of K.Hamt[7pp613]dsrbdaehofrfucin
GEADAH AND CORINTHIOS: ALGORITHMS AND PROCESSORS FOR WALSH-HADAMARD TRANSFORM 437

defined in the [-%/.,1/2) interval. In [8] an algorithm was


presented, but it required the input data vector to be in the
bit-reversed order. The only way to derive a fast algorithm FLVLVLVL
for the sequency-ordered matrix is to start with the matrix I
and try to construct a fast computational scheme. This is
what is presented in this paper. 7
=
Fig. 1 shows the first 8 Walsh functions in their 3 dif-
ferent orderings: 1) natural, 2) dyadic, and 3) sequency. KLFLFLFL
An algorithm for a fast transform will be derived for
every case. All these algorithms will be derived so that data
are accessed at N/2 points apart, where N is the length of
the data vector. Such a generalization will make possible
the design of a single machine to compute the three se-
quency spectra in different orderings with minimum NATURAL DYADIC SEOUENCY
control.
Fig. 1. First 8 Walsh functions in: 1) natural, 2) dyadic, and 3) sequency
orders.
(14x Ha) (12. His It) (Hz214)
A. Natural Order Fast Walsh-Hadamard Transform KO so
The Hadamard transform for that ordering is obtained xI\ /7
by successive Kronecker multiplication of the core matrix \\
tx
H2. Thus, x\ < /6
(HN)nat (HN/2)nat X H2
= 81

= (HN/4)nat X H2 X H2 to

=[H2]1[lg2N] 717/
where [*] in the exponent means a Kronecker product. In
what follows in this section, we shall drop the subscript nat. INPUT A COEFFICIENTS
To develop the algorithm, we note that (time samples) 7A+ (natural order)
HN/2 HN/2 ] C-D
HN/2 -HN/2 LEGEND
= HN12 IN/2 IN12 Fig. 2. Signal flow graph of an 8-point general FWT in natural order.
HN/2 ]IN/2 -IN/2 HN = (H2 X IN/2)
= (HN/2 X I2)(IN/2 X H2). - (I2 X H2 X IN/4) ... (IN/2k X H2 X Ik)
Expressing HN/2 in terms of HN/4, we get . (IN/4 X H2 X I2)
HN12 = (HN14 X I2) (IN14 X H2). XH) can be written into the compact form
This(Lequation
In general, if we write k = 2i (i = 0,1,2, * * *, n - 1), then n
HN = 11 [I2(i-1 X H2 X I2(n-i)]
HN/k = (HN/2k X I2)(IN/2k X H2). i= 1,2,. X
Carrying this iterative procedure to the end, where n = 10g2 N. (3)
HN = {[*** {[[ * *[{(H2 X I2)(12 X H2)] Equation (3) would be recognized as similar to the classical
X I2(4 x H2)1 x I21 ... I X I21 Cooley-Tukey algorithm as applied to the Walsh trans-
x H2)] XX21 1 X '2rw1form by thewhich
flow for an 8-point data
2. vector could be represented
IN/2N
( X H2)] 121 * (IN/4 x H2)] diagram in Fig.
x I21(IN/2 x H2). (1) In building a serial machine, it is advantageous to im-
A useful relation between the Kronecker product and plement a design that allows dynamic storage of the data
matrix multiplication is the transformation of a set in long dynamic shift registers, and which does not call for
A,B,C, * * of dimensionally equal square matrices, de- accessing data except at the input or output of these reg-
scribed by isters. To achieve this goal, as has already been shown in
[2], a transformation should be employed that would ex-
(ABC.*..*) x I = (A X I)(B X I)(C X I).* *. (2) press the different factors of the computation iterations
Applying this relation to (1), we obtain in terms of one operator applied to the data, e.g., the first
438 IEEE TRANSACTIONS ON COMPUTERS, MAY 1977

operator of (3), (IN/2 X H2), since this operator adds and c Pe c Pe c Pe


subtracts data that are N/2 points apart. XO SO
The transform utilizes the ideal shuffle permutation x S7
matrix, which for a dimension K is defined by its operation X/5\
on a vector of dimension K by the relation x. X4
PK col (x0,x1, * *,X(K-2)/2,XK/2, *' ,XK-2,XK-1)
= col (X0,XK/2,X1,X(K+2)/2, *' ,X(K-2)/2,X(K-1)). Xs So

P` is a permutation matrix, which applied on a vector /


of dimension K, would group the even- and odd-numbered X
elements together. INPUT OUTPUT
This permutation operator has the following proper- (time samples) (natural order)
ties:a
PNi (IN/2 X H2)PN = IN/4 x H2 x I2 D..e C-D
PN (IN/2 X H2)PN = IN/8 X H2 X I4 LEGEND
Fig. 3. Signal flow graph of an 8-point machine-oriented FWT in natural
order.
PKN ~(IN/2 X H2)PI = I2(i-1) X H2 X I2(n-0). (5)
Denoting (IN/2 X H2) by C, and substituting (5) into (3), the bit-reversed order, can be written as a product of n =
we get log1 N matrices using the ideal shuffle matrices of smaller
n dimensions,
I N(nicti
HN = i=1,2,. (6) I1 P2(n-1+1) X I2(i-1).
KN =
Using the fact i= 1,2, * ..

n r n 1 Applying this matrix to the naturally ordered matrix in


11 ..*.
i= 1,2,
AiBi = A1 I1 B(i-l)AiJ Bn,
i=2,3, - - -
(7) (3), we get
we can rewrite (6), as in (7), with (HN)D = fI P2n-i+) X 12(i-1)
Ai= pj(n-1) i=1,2, --
=i N
BW get i7v [I2(i-1) X H2 X I2(n-i)]. (9)
We get i=1,2,---
We introduce the symbol 'Ii to mean
HN = PK(n-l) [ ni CP0-(i-l)]P-(n-i)] CpAA-n) n
Ai v Bi =AnAn-1 * A2AiBjB2 * Bn- lBn.
i=2,3,*** .. ..

n ~~~~~~~~~~~~
~~~i=
1,2, *
=PN [ JCPN _ C We can then rewrite (9) as follows:
_i= 2,3,***

- iPNC. (8)(H)
i=1,2,. (8) - [P2iX I2(n-i)_ TI [I2(i-l) x H2 x j2(n-i) (10)
Equation (8) describes n identical iterations composed of = * * 1P2k [(terms i < k) X I2] [1I2(k- 1) X H2]) X I2
two distinct operators.
1) The first one, C, computes the sum and difference
of equally spaced pairs of data points, N/2 points apart.
l l
terms i> k
2) The second one is the ideal shuffle operator PN. (11)
Equation (8) can be illustrated by Fig. 3, for an 8-point Using the properties
data vector. _'Pk (Ak/2 X I2)Pk Pk= I2(Ak/2 and 1
X Ak/2I2)Pk
Pk (ABC ... )Pk1 = PkAPkj1PkBPk PkCP-1 ...
~~~~~(12)
B. Dyadic-Ordered Fast Waish-Hadamard Transform we rewrite (11) in the following form
It was mentioned that the dyadic-ordered Hadamard (HN)D
matrix can be obtained from the naturally ordered matrix = ([I2 x (terms i < k)]P2k[12(k- 1) x H2] ) x '2 .
by premultiplying the latter one with the permutation t
matrix performing the bit-reversed order. t------ terms i > k - l
The permutation matrix of dimension N, performing (13)
GEADAH AND CORINTHIOS: ALGORITHMS AND PROCESSORS FOR WALSH-HADAMARD TRANSFORM 439

Finally, when properties in (12) are applied n times to (13), c Pa c (1P,)


we get Xi Si
n
(HN)D = fi 12(n-i)XX [2(20-1 X H2)] ."
i= 1,2,3, ...

- JJ (I2(n-i) X P2i)(12(n-1) X H2). (14) = 7


i=1,2, ...
We can recognize (2(n-l) X H2) as C. Hence, (14) be-
comes
X -b /
X17 - - K

n
~~~~~~~~~~~INPUT OUTPUT
(HN)D I (I2(n-0 X P2i)C.
=
i=1,2,-*-
(15) A
B
A+B COEFFICIENTS
(time samples) (dyodic order)
Equation (15) describes again n iterations with two oper- c C -D
ators in each.
1) The add/subtract operator C. LEGEND
2) The elementary permutation operator (12n-1 X P21), Fig. 4. Signal flow graph of an 8-point machine-oriented FWT in dyadic
which varies from one iteration to another in a simple bi- order.
nary fashion.
The flow diagram of Fig. 4 illustrates the factorization
of (15) for an 8-point data vector. Writing the whole iteration process defined in (19), we
get
C. Sequency-Ordered Fast Walsh-Hadamard HN = PN(IN/2 X H2)DI?4[PN/2(IN/4 X H2) N

Transform TnDNs2fom IPN/k r (IN/2k X H2)DN/k ...

The sequency-ordered Hadamard matrix of order N can - f[P8(14 X H2)D'8[P4(I2 X H2)D4(H2 X I2)1 X '2)]
be written as X I2} ] X I2} ...* X
... (20) I21.
(HN)S = PNPNF(HN)S (16) Applying relation (2) to (20),
HN = PN(IN/2 X H2)DN(PN/2 X I2)(IN/4 X H2 X I2)
where PN is the ideal shuffle permutation matrix. - (DN12 X I2) ... (PN/k
X Ik)(iN/2k X H2 X Ik)
The efficiency, inherent in the algorithm to be intro- -
(DN'l Ik) ... (P X
X
duced, is due to the possible partitioning and factoring of (14X H 2 X (D' X IN18) (4 X IN/4)
the matrix HN2. IN18)(8
Equation (16) becomes - (12 X H2 X IN/4)

DN/2(HN/2)S] (17 (D4 X IN/4)(H2 X IN/2).


(HN) =NI.E(HN/2)s
(21)
L(HN/2)S -DN/2(HN/2)S) Equation (21) can be written in the following compact
In what follows in this section, we shall drop the subscript form,
S. U.
DN/2 is a diagonal matrix whose elements alternate be- ~~~~~~~~~~~~~HN
fl[ [P2(n-i+1) XX 1I2(i- 1)] [[I2(n-i) XH2 XI2(i- 1)I
i= 1,2,
n

tween +1 and -1. * [D2.nWX X 12(ilJI. (22)


Example:
We would like to express the iterations in terms of the
= diag (1, -1, 1, -1, 1, -1, 1, -1). operator C = IN/2 X H2.
Equation (17) can then be written as We use again the permutation operator PN having the
HN = PN(IN/2 X H2)DN(HN/2 X I2). (18) property as in (5):
In (18), Dk is a diagonal matrix whose top left half is the Pt'(iN/2 X H)PW1 = 12(n-i) X H2 X I2ii-ii (23)
identity matrix IN/2 and whose lower right half is DN/2, Substituting (23) into (22); and writing P2n instead of
[ IN/2
1P
DN= [ HN1N = 17 [P2(n-i+u) X I2(i-l)P2t-1)CPfW1'
We have expressed HN in terms of HN/2. In general, if i= 1,2, ..
we write k= 2i, i=11,2,3, *.* , n -1, (18) becomes .[D2(n i+i) X I2Qi-1j. (24)
HN/k = PN/k (IN/2k X H2)(D2v/k)(HN/2k X 12). (19)- Using the relation (7) with
440 IEEE TRANSACTIONS ON COMPUTERS, MAY 1977

Ai = [P2(n-i+l) X I2,i-uJ.2n(-1) P.C 2'. (1D.D,) C (aP4) Fig De C Pik

Bi = CP'1)[D( -'+l) X 12(1-1)1,


Ka
(24) becomes
= P2
HNffiv
P | rl 1
Ii=2,3,
Cpy; 2) [D'
n
X II2(i-2)JP2n1
2(n-i+2) x p(i-2) 44X4 - (
Xs $

[P2(n-i+) X I2(il)]P2 n 25) CP xr LEn'

Using a relation similar to the one given in (12), Aig 5 A C-D

PJ(Ak/2Ji X IJi)P- = 12j X Ak/2J.-Xi


upper haelf
Substituting in (25),
c a
(b)

i=2,3, li1,23,. AINUT OTPU


1) C[I2(-i-) XP2(ni+')I1 CP ic P
= f and brc
P dataI2)X-Ea D

(time samples) ti equency order)


X P2(n-i+1)jC[12(i-1)X D'(+)]
Pwi 1
(26) Fig. 5. (a) Signal flow graph for an 8-point general
FWT in sequency
order. (b) Signal flow graph for an 8-point machine-oriented FWT in
sequency order.
Equation (26) can again be considered as defining n it-
erations each comprising two operators.
1) C[12(i-l) X D;(ni+l)] which adds and subtracts data
points at N/2 point apart and varies from one iteration to a single N-word vector by ideally shuffling the two output
another with the simple binary control [I2(if-ot X registers. It is to be noted that these two operators do not
Dhi(nl-i+l)]. add to the computation time since they are performed
F2Ph[I2(i-1 X P2n-+s1] which is an elementary per- during input gating or output gating, and that data are still
mutation matrix, varying in a similar way to the dyadic accessed at two points, N/2 points apart.
permutation operator. The first step to apply on the input memory is the ad-
The flow diagram of Fig. 5(a) shows all the individual dition/subtraction process described by the operator C,
operators of (25). The flow diagram of Fig. 5(b) emphasizes whi controle by the operor[ie D 2(n-fed)]afo
the two operator concept. the sequency-ordered algorithm.
The results of addition and subtraction are gated into
the set of output registers designated 'output memory."o
vectors requiredforoRGaNgoriZA
MACHINE .TI e IThe output memory is identical in construction to the
Fig. 6 shows the basic machine organization for imple- input memory. The words in the input i-1
memory are then
comprsed
menting the f (n1)
three fll ieratins
algorithms of the hvingtwoperaors:
fast Walsh-Hadamard ict heiscnptrolled
shifted one bit to the By themoeaories.
right, and the Xh fedbackl
process is proes
repeated for
transform. The input memory consists of a set of long dy- the following two bits (1, N/2 + 1). The result is stored into
namic shift registers which are divided into two halves, the output memory and the process is repeated for every
each N/2 bits long, successive pair (i,i + N12) until (N/2 - 1,N - 1).
From (8), (15), and (26), we find that every algorithm is The contents of the C and D memories are then fed back
comprised of (n - 1) full iterations having two operators: into the input A and B memories. The feedback process
an add/subtract and a-permutation operator. The last it- is made to include the permutation operators by control-
eration is comprised of only the add/subtract operator. ling the sequence in which the 0/P of the C and D
Additional permutation operators on input or output data memories are gated into the A. and B memories. For the
GEADAH AND CORINTHIOS: ALGORITHMS AND PROCESSORS FOR WALSH-HADAMARD TRANSFORM 441

bINARY CONTROL

J/ IPMM ()lpMM B

OP EEM. (C) O/ MEM

*OJP
Fig. 6. Basic machine organization.

TABLE I
Natural Dyadic Sequency
Add/Subtract C C CI2(i-1) x D'(n-i+i)]
Permutation P2n [12(i-l) x p2n_1[12(i-l) x P2(n-i+ilI
P2i]
Last Iteration C C CDn2'
Permutation on - - p2n-1
I/P Vector
Permutation on P 2n - p2n
0/P Vector

order algorithm, or the output memories C and D are the input memory.) The total time is therefore, N(3n -
ideally shuffled in the case of the natural or sequency- 2)/2f ,is.
ordered algorithm. For f = 10 MHz shift registers and N = 1024 samples,
the processing time is equal to 1.4 ms approximately and
IV. PROCESSING SPEED real-time processing up to 710 kHz is allowed. In general
the maximum sampling frequency allowed for real-time
The only arithmetic operations performed by the ma-
chine are additions and subtractions. Since add/subtract operation is given by
operations can be performed in a few nanoseconds, the - 2000f kH
speed limitation of the machine comes from the speed of samp max n - 2)
shifting data in the input and output memories.
Assuming f to be the speed of the shift registers in MHz, V. CONCLUSIONS
the computation time can be found from the following
estimations. The Hadamard matrix in its sequency-ordered form was
1) The words in the input memory are processed found to have an algorithm for factorization, yielding a fast
(added/subtracted) and transferred to the output memory transform of an N-point data vector, in log N iterations.
in N/2f ,us. Each iteration is comprised of two operators: an add/
2) The feedback phase of one iteration is performed in subtract operator and an elementary permutation opera-
N/f As. Therefore the time to perform one iteration is equal tor. The algorithm was first derived in its general form,
to 3N/2f its. then derived under the constraint that data points be ac-
By employing an input buffer memory N-bit long, cessed at N/2 points apart, thus allowing the storage of
real-time operation is made possible: while one record data in two long dynamic shift registers. The machine ar-
length is being processed, the next record is accumulated. chitecture obtained is similar to the one derived for the
The maximum allowable sampling frequency is found from machine-oriented agorithm of the FFT by Corinthios,
the time required to perform (n -1) full iterations, plus except that the multipliers are deleted, the add/subtract
N/2 shifts for the last iteration. (Note that the feedback operator sequencing varies from one iteration to another,
time of the last iteration is not included since, while data and the ideal shuffling is performed before each iteration.
are being gated out, new data are simultaneously gated into Moreover, demultiplexing of the data vector over the two
442 IEEE TRANSACTIONS ON COMPUTERS, MAY 1977

registers of the input memory, and multiplexing the two Youssef A. Geadah (S'70-M'73) was born in
output registers at the iteration iS requred.
last ierationis does
This doesB.
required. Ths Cairo, Egypt, on March 2,1949. He received the
output egister at
thelast _ Lf
Eng. degree in electrical engineering from
not, however, affect the speed of computation. The algo- McGill University, Montreal, P.Q., Canada, in
rithm for the Hadamard matrix in its natural order (similax 1971, and the M.Sc.A. degree from l'Ecole Po-
to the Cooley-Tukey algorithm of the FFT) and dyadic d iytechnque7ofMontreal,Montreal,PQCana-
order (similar to Corinthios' machine-oriented algorithm Since 1972 he has been with Bell-Northern
of the FFT) were also derived under the same constraints, . Research, Ottawa, Ont., Canada, working on
for comparison and completeness. It is shown that all three r Sythe development of large electronic switching
systems. His main interests are in generalized
algorithms can be performed with a single machine transforms and signal processing.
structure by including a simple binary controller.

ACKNOWLEDGMENT
The authors wish to thank Dr. A. W. R. Gilchrist of the
Communication Research Centre, Ottawa, Canada, for his
support and helpful criticism. Thanks are also due to Prof.
J. O'Shea for his constant encouragement. Michael J. G. Corinthios (S'68-M'69) was
born in Caira, Egypt, on January 19, 1941. He
REFERENCES received the B.Sc. degree from Ain Shams Uni-
- ~~~versity, Cairo, in 1962, and the M.Sc.A. and
[1] L. Rabiner and C. Rader, Digital Signal Processing. New York: Ph.D. degrees in 1968 and 1971, respectively,
IEEE Press, 1974, pt. 2, sect. A and B. from the University of Toronto, Toronto, Ont.,
[2] M. J. Corinthios, "A time-series analyzer," in Proc. Symp. Comput. Canada.
Processing in Communication, pp. 47-60, Apr. 8-10, 1969. From 1962 to 1965 he was employed by the
[3] --, "The design of a class of fast Fourier transform computers," Radio Communication Department, United
IEEE Trans. Comput., vol. C-20, pp. 617-623, June 1971. Arab Republic Government, at the (Marconi)
[41 S. Zohar, "Fast hardware Fourier transformation through counting," Radio Transmission Stations, Abu Zaabal,
IEEE Trans. Comput., vol. C-22, pp. 433-441, May 1973. Cairo. During 1965 he was with the Bell Telephone Company of Canada,
[5] G. S. Robinson, "Logical convolution and discrete Walsh and Fourier Ltd. From 1968 to 1969 he was employed by Litton Systems (Canada),
power spectra," IEEE Trans. Audio Electroacoust., vol. AU-20, pp. Ltd., and during 1970-1971 he worked as a Consultant Engineer for
271-280, Oct. 1972. Huntec Geological Exploration, Ltd. In October 1971, he joined the De-
[6] F. Pichler, "Walsh functions and lirrear system theory," in Proc. partment of Electrical Engineering, Ecole Polytechnique de Montreal,
Symp. Walsh Functions, vol. 71, pp. 175-182. Montreal, where he holds the position of Associate Professor. Presently,
[71 H. F. Harmuth, Transmission of Information by Orthogonal Func- he is supervising the design and construction of a radix-4 parallel floating
tions, 2nd ed. Germany: Springer-Verlag, 1972. point digital signal processor. His current research interests include
[8]. J. W. Manz, "A sequency-ordered fast Walsh transform," IEEE computer organization and design for real-time applications, signal
Trans. Audio Electroacoust., vol. AU-20, pp. 204-205, Aug. 1972. processing, and time-series analysis.

Potrebbero piacerti anche