+ All Categories
Home > Documents > Recursive relationships, fast transforms, generalisations and VLSI iterative architecture for Gray...

Recursive relationships, fast transforms, generalisations and VLSI iterative architecture for Gray...

Date post: 21-Sep-2016
Category:
Upload: bj
View: 212 times
Download: 0 times
Share this document with a friend
7
Recursive relationships, fast transforms, generalisations and VLSI iterative architecture for Gray code ordered Walsh functions B.J. Falkowski Indexing terms: VLSI architecture, Gray code, Walshfunctions Abstract: Two Walsh transforms in Gray code ordering are introduced. The generation of two Walsh transforms in Gray code ordering from the binary code is shown. Recursive relationship between higher and lower matrix orders for Gray code ordering of Walsh functions, using the con- cepts of operator matrices with symmetric and shift copy, are developed. The generalisation of the introduced Gray code ordered Walsh func- tions for arbitrary polarity is shown. Another recursive algorithm for a fast Gray code ordered Walsh transform, which is based on the new oper- ators on matrices, joint transformations and a bisymmetrical pseudo-Kronecker product, is introduced. The latter recursive algorithm is the basis for the implementation of a constant- geometry iterative architecture for the Gray code ordered Walsh transform. This architecture can be looped n times or cascaded ti times to produce a useful VLSI integrated circuit. 1 Introduction Walsh functions form an orthonormal system that can be applied in many situations and is very interesting both from the theoretical and practical points of view. The Walsh system can perform all the usual applications of orthogonal systems (e.g. data transmission, multiplexing, filtering, speech processing, image enhancement, pattern recognition, control theory, statistical analysis, solving differential equations, and the analysis, synthesis, classi- fication and testing of logical circuits) and can perform them more efficiently [I. 2, 4, 12-14, 16-19]. Walsh func- tions are also very easy to implement on high-speed com- puters as they are binary related and can be used with very little storage space [l, 41. Fast algorithms for Walsh transforms based on sparse matrix factorisation have been developed [I, 4, 12-14, 191. Walsh function gener- ators have been built for applications in communications, signal analysis and synthesis, sequency filtering, multi- plexing, encoding and decoding [4. 121. To minimise the weight of the equipment, they were used in the Mariner spacecraft that explored the surface of Mars [16]. There exist many generalisations of Walsh functions. The same name, generalised Walsh transform was used 0 IEE, 1995 Paper 2024E ( C l , CZ). first received 29th June 1994 and in revised form 12th Apnl 1995 The author is with the School of Electrical 81 Electronic Engineering, Nanyang Technological University, Nanyang Avenue. 2263 Singapore IEE Proc.-Comput. Digit. Tech., Vol. 142. No. 5. Sepremher 1993 by Fine [ll], Chrestenson [3], Selfridge [15] and this author [9]. The Fourier transform for generalised Walsh functions was introduced by Fine [ll], and that for locally compact, zero-dimensional Abelian groups was introduced by Chrestenson [3]. The latter indicated that the Walsh system is the group of characters of a compact Abelian group that connects Walsh analysis with abstract harmonic analysis. The same generalisation of Walsh functions that permits some of them to have the values for a prime m also leads to a complete orthonor- mal system [3, 161. This system of functions found appli- cations in the analysis and synthesis of systems of rn-valued logical functions, and is known as the system of Chrestenson functions [13, 141. Selfridge [l5] combined two generalisations of Walsh functions by starting with the Walsh functions as defined by Chrestenson [3] and then using the subsidiary result by Fine [ll] to define the Walsh function for an arbitrary subscript. The common property of all the above generalisations of Walsh func- tions is their similarity with abstract harmonic analysis [14, 161. Another concept of generalised Walsh trans- forms was proposed by this author [SI. The main differ- ence of the approach presented there is that all the basic Walsh functions have only integer values, and conse- quently spectral coefficients of Boolean functions are integer numbers as well. The concept of polarity of trans- form was used in the generalisation of Walsh functions presented. All the properties and fast transforms were derived for Hadamard ordered Walsh functions [SI. As there is no natural ordering of Walsh functions, investigations leading to the development of new, useful orderings, particularly ones that can be described by sets of recursive equations, are of great importance [20]. In this paper, two new orderings of Walsh functions are considered for the first time. First, new operations on matrices used in further developments are introduced. They are: row-wise and column-wise joints, horizontal and vertical mirror transformations, double mirror trans- formations and the bisymmetrical pseudo-Kronecker product. As new operations on matrices can be poten- tially useful in investigations of further transforms or image processing, there follows a detailed description of such operations with examples. Next, two new transform matrices are introduced. It is also shown that with the previously discovered operations of bit-reversal for the position of each component in a binary number, Gray code conversion, dyadic addition and the combination of some of them, it is possible to generate not only all the e2nni,m The author wishes especially to thank the referees for their numerous helpful comments. 325
Transcript

Recursive relationships, fast transforms, generalisations and VLSI iterative architecture for Gray code ordered Walsh functions

B.J. Falkowski

Indexing terms: VLSI architecture, Gray code, Walshfunctions

Abstract: Two Walsh transforms in Gray code ordering are introduced. The generation of two Walsh transforms in Gray code ordering from the binary code is shown. Recursive relationship between higher and lower matrix orders for Gray code ordering of Walsh functions, using the con- cepts of operator matrices with symmetric and shift copy, are developed. The generalisation of the introduced Gray code ordered Walsh func- tions for arbitrary polarity is shown. Another recursive algorithm for a fast Gray code ordered Walsh transform, which is based on the new oper- ators on matrices, joint transformations and a bisymmetrical pseudo-Kronecker product, is introduced. The latter recursive algorithm is the basis for the implementation of a constant- geometry iterative architecture for the Gray code ordered Walsh transform. This architecture can be looped n times or cascaded ti times to produce a useful VLSI integrated circuit.

1 Introduction

Walsh functions form an orthonormal system that can be applied in many situations and is very interesting both from the theoretical and practical points of view. The Walsh system can perform all the usual applications of orthogonal systems (e.g. data transmission, multiplexing, filtering, speech processing, image enhancement, pattern recognition, control theory, statistical analysis, solving differential equations, and the analysis, synthesis, classi- fication and testing of logical circuits) and can perform them more efficiently [I . 2, 4, 12-14, 16-19]. Walsh func- tions are also very easy to implement on high-speed com- puters as they are binary related and can be used with very little storage space [l, 41. Fast algorithms for Walsh transforms based on sparse matrix factorisation have been developed [ I , 4, 12-14, 191. Walsh function gener- ators have been built for applications in communications, signal analysis and synthesis, sequency filtering, multi- plexing, encoding and decoding [4. 121. To minimise the weight of the equipment, they were used in the Mariner spacecraft that explored the surface of Mars [16].

There exist many generalisations of Walsh functions. The same name, generalised Walsh transform was used

0 IEE, 1995 Paper 2024E (Cl , CZ). first received 29th June 1994 and in revised form 12th Apnl 1995 The author is with the School of Electrical 81 Electronic Engineering, Nanyang Technological University, Nanyang Avenue. 2263 Singapore

I E E Proc.-Comput. Digit. Tech., Vol. 142. No. 5. Sepremher 1993

by Fine [ll], Chrestenson [3], Selfridge [15] and this author [9]. The Fourier transform for generalised Walsh functions was introduced by Fine [ll], and that for locally compact, zero-dimensional Abelian groups was introduced by Chrestenson [3]. The latter indicated that the Walsh system is the group of characters of a compact Abelian group that connects Walsh analysis with abstract harmonic analysis. The same generalisation of Walsh functions that permits some of them to have the values

for a prime m also leads to a complete orthonor- mal system [3, 161. This system of functions found appli- cations in the analysis and synthesis of systems of rn-valued logical functions, and is known as the system of Chrestenson functions [13, 141. Selfridge [l5] combined two generalisations of Walsh functions by starting with the Walsh functions as defined by Chrestenson [3] and then using the subsidiary result by Fine [ l l ] to define the Walsh function for an arbitrary subscript. The common property of all the above generalisations of Walsh func- tions is their similarity with abstract harmonic analysis [14, 161. Another concept of generalised Walsh trans- forms was proposed by this author [SI. The main differ- ence of the approach presented there is that all the basic Walsh functions have only integer values, and conse- quently spectral coefficients of Boolean functions are integer numbers as well. The concept of polarity of trans- form was used in the generalisation of Walsh functions presented. All the properties and fast transforms were derived for Hadamard ordered Walsh functions [SI.

As there is no natural ordering of Walsh functions, investigations leading to the development of new, useful orderings, particularly ones that can be described by sets of recursive equations, are of great importance [20]. In this paper, two new orderings of Walsh functions are considered for the first time. First, new operations on matrices used in further developments are introduced. They are: row-wise and column-wise joints, horizontal and vertical mirror transformations, double mirror trans- formations and the bisymmetrical pseudo-Kronecker product. As new operations on matrices can be poten- tially useful in investigations of further transforms or image processing, there follows a detailed description of such operations with examples. Next, two new transform matrices are introduced. It is also shown that with the previously discovered operations of bit-reversal for the position of each component in a binary number, Gray code conversion, dyadic addition and the combination of some of them, it is possible to generate not only all the

e 2 n n i , m

The author wishes especially to thank the referees for their numerous helpful comments.

325

known Walsh orderings from the binary code [20] but two new Walsh transforms in Gray code ordering 1 and Gray code ordering 2 as well. What is more, no more

I U24 a23 a22 a21 I a14 a13 a12 all

021 a 2 2 a23 a 2 4

all a12 a13 a 1 4

Fig. 1 Transformations of the matrix [ A ]

Fig. 2 Kronecker and pseudo Kronecker product of two matrices

operations are needed for the new Walsh transforms than for the known orderings. In addition, symmetric and shift copies [S, 211 are used to generate Gray code ordered Walsh functions. Recursive relationships between higher and lower orders of Gray code ordered Walsh functions are also introduced. Next, basic definitions and proper- ties of generalised Gray code ordered Walsh transforms are presented, followed by a fast Walsh transform for Gray code ordered Walsh functions. The recursive defini- tion of the fast Walsh transform in Gray code ordering is also derived, like Good's formula for the standard Kro- necker product [l, 4, 12, 191. This definition is the basis for the flow diagram architecture of a constant-geometry iterative VLSI hardware architecture, which is presented next. The architecture can be looped n times or cascaded n times to produce a useful VLSI integrated circuit.

2 New operations on matrices

The orders of the matrices are denoted by capital letters, and for square matrices of order N the following relation- ship exists: n = log, N. The following operations on matrices will be used.

Definition I : A row-wise join or concatenation of a matrix A of order n x m and a matrix B of order n x rn is

326

the partitioned matrix C of order n x 2m, such that its first m rows are exactly the same as the rows of matrix A, and the rows from m + 1 to 2m are exactly the same as the rows of matrix B. This operator is denoted by RWJ.

Definition 2: A column-wise join or concatenation of a matrix A of order n x m and a matrix B of order n x m is the partitioned matrix C of order 2n x m, such that its first n columns are exactly the same as the columns of matrix A, and the columns from n + 1 to 2n are exactly the same as the columns of matrix B. This operator is denoted by CWJ.

Definition 3: A vertical mirror transformation of a matrix A, where A = [aij] , of order M x N is the matrix A"' of order M x N, such that the first column in the matrix A"' is the same as the last Nth column in the matrix A , the second column in the matrix A"' is the same as the (N - 1)th column in the matrix A and so on.

Definition 4 : A horizontal mirror transformation of a matrix A = [aij] of order M x N is the matrix A"' of order M x N, such that the first row in the matrix A" is the same as the last Mth row in the matrix A, the second row in the matrix AH' is the same as the (M - 1)th row in the matrix A and so on.

Definition 5 : A vertical-horizontal double mirror trans- formation of a matrix A = [a,] of order M x N is the matrix AYHT of order M x N, such that

It is obvious that the last operator can be defined in an alternative way: AYH' = [A"'IHT, as both vertical and horizontal transformations are mutually commutative.

Example I: Fig. 1 shows the results of the application of operators HT, VT and VHT to the matrix A of order 2 x 4.

The new Kronecker-type operator described by the following definition is restricted to pairs of matrices such that at least one of them is a square matrix of order 2. The second matrix can be of any order. However, for the generation of new Walsh transforms, only square matrices of orders equal to powers of 2 are needed.

Definition 6 : A bisymmetrical pseudo-Kronecker product of a square, second-order matrix A and a matrix B of order (M x N) is a partitioned matrix of order (2M x 2N) composed of four submatrices, where each of them is the product of one element of the first matrix and the entire second matrix or its transformation. In particu- lar, the element a,, is multiplied by B, the element a,, is multiplied by BY', the element a 2 , is multiplied by E"' and, finally, the element aZ2 is multiplied by E""'.

The bisymmetrical psuedo-Kronecker product differs from the standard Kronecker product of matrices in having, when expanded, vertical and horizontal sym- metries through the centre of the expanded matrix. Of course, this property is valid for the bisymmetrical pseudo-Kronecker product operator for matrices of dif- ferent orders, with the restriction that the orders are even numbers and the order of one of the matrices is (2 x 2). The result of applying the bisymmetrical pseudo- Kronecker product operation to two matrices will be called the bisymmetrical matrix. As Walsh-type trans- forms are always described by square matrices of even orders, this will be the only case considered. For an N x N square matrix, the number N will be subject to

AYHT = [ A H T I " ' ,

I E E Proc.-Comput. Digit. Tech., Vol. 142, No. 5, September 1995

the same restriction when considering the bisymmetrical pseudo-Kronecker product operator as it is with the Hadamard-Walsh transform generated using the stand- ard Kronecker product. The number N has to be equal to 2", where n is an integer number greater than 2 [18]. Although this restriction on the order N is sufficient in the case presented here, an open question still remains whether there are bisymmetrical matrices for which the order N is divisible by 4. The latter problem is due to the relationships that exist between the Hadamard matrix and the bisymmetrical one (for orders higher than 2) when the Hadamard matrix of the second order H , is used in the expansion of the bisymmetrical pseudo- Kronecker product. It is still not known whether there are Hadamard matrices of order N for all N divisible by 4. Wallis noted that the highest order for which the exist- ence of a Hadamard matrix is known is 268 [18].

Example 2: A comparison of the standard Kronecker product and the bisymmetrical pseudo-Kronecker product of two second-order matrices A and E is shown in Fig. 2.

3 Recursive relationships for Gray code ordered Walsh transforms

The relationships between the three methods of ordering the Walsh functions, natural, dyadic and sequency, have been investigated by many authors [ I , 4, 12, 19, 201. The known operations for Gray code conversion, dyadic addition, bit reversal of the binary number and a com- bination of some of these operations have been used [l, 4, 201. The relationships between the X-ordering [21] and two new orderings in Gray code, which use some of these operations but in a different order, are shown in Fig. 3.

Dccimal Binary order order

I

X-ordering

Gray code 0 1 3 2 6 7 5 4

Gray code order 1

Gray code order 2

Operation - Equivalent ~

Fig. 3 Relationships among 3 orderings of Walsh functions

Generation of an order 8 Gray code ordered transform matrix of type 1 is shown in Fig. 4, and the forward and inverse transform matrices for type 2 are shown in Fig. 5.

I E E Proc.-Comput. Digit. Tech., Vol. 142, No. 5. September 1995

To express the process of symmetric and shift copying, the following operator matrices and notation from Refer- ence 21 are used: E represents an even symmetric copy

binary codc

n, n, 0 0 0

0 0 1

0 1 0

0 1 1 1 0 0

1 0 1 1 1 0

I l l

0ligilI.d vq=

I + I + I + I + I + I + I + I + I

firstmpY requcar

n,

I + I + I + I + I - I - I - I - I

sxvmicopy W m p y -=Q= Squma

n,

I + + I + + + + + + I - - - - - - I + + - - - - I - - + + + - I - + - + + - I + - + - - + I - + + - - + I + - - +

Fig. 4 metry and shifr copy

Generation of Gray Code Ordered Walsh Transform I by sym-

T M S 1 1 1 1 1 1 1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1

$ x

( 4

T-' 1 1 1 1 1 1 1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1

@)

S 2 2

-2 -2 -2 6 2 2

-

1 2 2 -2 -2 -2

2 2

1 6

M 1

1 I 1

-1 i

-1

~ -1

Fig. 5 spectrum in polarity UJ = OOO (I Forward b Inverse

Calculation offorward and inverse Gray code ordered Walsh S

operator; - E represents an odd symmetric copy oper- ator; E represents a positive shift copy operator; and -E represents a negative shift copy operator.

To obtain the recursive relationships between lower and higher orders for the four known orderings of Walsh functions, the operator matrices G2 and H , , shown in Fig. 6, together with the Kronecker product of matrices,

Fig. 6 Operator matrices G , and H , ,

Wd=[ E E E -4 were used in Reference 21. It is obvious that the operator matrix G , describes a symmetric copy, whereas the oper- ator matrix H , corresponds to a shift copy. When E is

327

replaced by I, then the matrix H,, becomes a second- order Hadamard matrix H,. It is a reason why the symbol H 2 E is used for the second operator matrix.

Let the Walsh functions in Gray code ordering 1 with order number from 0 to N - 1 be expressed as [GKl(g)]. The recursive relationship for Gray code ordered trans- form 1 is

CGKl(g + 111 CCGKI(g)I* 0 CG2IIRWJ

In the above equation, [GKl(g)]* denotes the upper half of the transform matrix of the order (N/2) - 1 x g [first (N/2) - 1 rows of the transform matrix], and [GKl(g)]** denotes the lower half of the transform matrix (rows of the transform matrix from (N/2) to N - I).

The recursive relationship for Gray code ordered transform 2 is given by

[ G W g + 111 = CHZEI CGK2(g)I (2)

Example 3 : The process of forming Gray code ordered Walsh functions for transform 1 (N = 8) using eqn. 1 is shown in Fig. 4. The first four rows are expanded by symmetric copy, and the remaining four are expanded by shift copy.

4 Basic definitions and properties of generalised Gray code ordered Walsh transform

As with other Walsh orderings, the Gray code ordered Walsh functions introduced in this paper can be used in logic design. There exist two Walsh spectra of Boolean functions, known in the literature as the R and S spectra [7, 131. In the following material, both spectra are referred to by symbols R and S . The particular coeffi- cients from these spectra are referred to as r , and s,. Both spectra are formed as the product of a 2" x 2" Walsh transform matrix T and a 2" vector representation of a Boolean function (vector representation of a truth table is denoted by A4 in Fig. 5). The truth vector for spectrum R is coded by its original values: 0 for false minterms (minterms for which the Boolean function has logical values 0), 1 for true minterms (minterms for which the Boolean function has logical values I), and 0.5 for 'don't care' minterms (minterms for which the Boolean function can have an arbitrary logical value of 0 or I). In the case of the S spectrum, the true minterms are coded by -1, false minterms are coded by f l , and 'don't care' min- terms are coded by 0. Owing to the existence of a linear relationship for both R and S spectra that is valid for incompletely specified Boolean functions [7] and for the generalised Walsh transform [SI, this paper will use S coding only.

When Walsh transforms are applied to Boolean func- tions, the concept of standard trivial functions can be introduced [7, 131. For any generalised transform, the additional concept of polarity is essential. Let us present both concepts based on original definitions from Refer- ences 6 and 7. Some of the properties and definitions pre- sented have never been presented before. The definition of polarity is directly related to the standard trivial func- tion given in definition 8. The relationships between both concepts are described by property 2.

Dejinition 7 : The polarity number w of a spectrum is a binary string computed by taking the n-bit straight binary code (SBC) formed by writing a 1 or a 0 for each literal, according to whether this literal is used in negat-

328

ive or positive form in all the terms corresponding to all spectral coefficients different from zero.

Property I : The literal xe of a variable x of a Boolean function can be either in positive (x' = x ) or negative ( X O = X) form,

Dejnition 8: Each spectral coefficient (either s, or r,) of a generalised Gray code ordered Walsh transform in polarity o gives a correlation value between the Boolean function F and a standard trivial function U, correspond- ing to the coefficient. The standard trivial functions for the spectral coefficients are, respectively: for the DC coef- ficients so or r o , the universe of the Boolean function F denoted by U,; for the first-order coefficients s, or r , ( I = i, i # 0), the variable xf of the Boolean function F denoted by U;. for the second-order coefficients s, ( I = i j , i # 0, j # 0, i # j ) , the Exclusive-OR function between variables x ; and x; of the Boolean function F denoted by u t ; and for the third-order coefficients s, or r, ( I = i jk, i # 0, j # 0, k # 0, i # j , i # k, j # k), the Exclusive-OR function between variables x f . x; and xi of the Boolean function F denoted by uijk etc.

Property 2: For a chosen polarity of the spectrum, all standard trivial functions have the same polarity number

Note that for definition 8, when all symbols e = I , then all the logic variables are in affirmation. Therefore the Gray code ordered Walsh transform based only on such chosen standard trivial functions can be regarded as the zero polarity transform, as the polarity number o of such a transform according to definition 7 is composed only of zeros. The transform matrices for zero polarity generalised Gray code ordered Walsh functions type 2 for N = 8 are shown in Fig. 5. They constitute a special case of a generalised Gray code ordered Walsh transform of each type that can have 2" different polarities for a Boolean function of n variables.

W .

Property 3: A generalised Gray code ordered Walsh transform of a Boolean function F for a given polarity o is a Gray code ordered Walsh transform that has stan- dard trivial functions described by variables of the Boolean function that are either in affirmation or nega- tion, depending on the chosen polarity o. Each variable can be either in affirmation or negation throughout all the standard trivial functions U; for the chosen gener- alised Gray code ordered Walsh transform, but cannot be in both affirmative and negative forms for the same polarity.

Example 4 : An example of the calculation of forward and inverse generalised Gray code ordered Walsh transforms of type 2 by matrix multiplication for the polarity o = OOO for the three variable S coded Boolean function f = x l g OR x , x , x j is shown in Fig. 5.

Example 5 : An example of the calculation of forward and inverse generalised Gray code ordered Walsh trans- forms of type 2 by matrix multiplication for the polarity o = 011 for the Boolean function from the previous example is shown in Fig. 7.

The following important properties apply to forward W"(N), transpose W"(N)T and inverse [W"(N)] ~

trans- formation matrices of the generalised Gray code ordered Walsh transform.

I E E Proc.-Comput. Digir. Tech., Vol. 142, No. 5, September 1995

Property 4 : For each polarity number w and Gray code order transformation matrix of order N ,

(3) N x [Wo(N)]-' = [Wo(N)]'

1 1 1 1 1 1 1 1 1 -1 -1 1 1 -1 -1 1

-1 1 -1 1 1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1

T M S - - _I

1 -1 1 1 1

-1 1 -1

-

2 2 2 -2

-2 2 -2 -2

6 - 6 - 6 2 -2 2 2

-2 + -2

1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1

2 2 2 2

+ 2

2 2

2 2 2 2 2 -6 2 2

1 - I

I

1 - I

I -1

(b) Fig. 7 spectrum in polarity w = 011 o Forward h Inverse

Calculation offorward and inverse Gray code ordered Walsk S

The following property is a special case of Property 4.

Property 5 : For the polarity number w = 0, the Gray code ordered Walsh transformation matrix of order N is symmetric, i.e.

(4) One way to derive Gray code ordered generalised Walsh functions would be to set up individual transforms according to the above property for each polarity to act on the operational domain coeffents. To do that, at least a forward or inverse matrix is needed for each polarity. Given below are algorithms that allow both forward and inverse transformation matrices to be generated directly from known zero polarity generalised Gray code ordered Walsh transform matrices, and property 4 does not need to be used at all.

Algorithm 1: The generation of forward Gray code ordered generalised Walsh functions in arbitrary polarity w from a known transformation matrix in polarity w* is achieved as follows:

N x [W"(N)]-' = [W"(N)]' = [WO(N)]

(a) Calculate adjusted polarity wad' = w @ U*. (b) Replace the signs by the opposite ones in half of the

rows of the known forward transform matrix of polarity o*. The rows negated correspond to such spectral coeff- cients for which the result of (U# and is not equal to zero.

I E E Proc.-Comput. Digit. Tech., Vol. 142, No. 5, September 1995

1 1

- I

-1 I

-1 I

In the above algorithm, 0 refers to dyadic addition [4, 91. As the generalised Gray code ordered Walsh trans- form matrix of order N = 2" is always known, then, in practice, the above algorithm can always start from polarity w* = 0, and the first step can be skipped as, in such a case, wodj = 0. Therefore, for simplicity in the fol- lowing algorithm, we will assume that the inverse Gray code ordered generalised Walsh transform is to be gener- ated from a zero polarity inverse generalised Gray code ordered transform matrix.

Algorithm 2: The generation of inverse Gray code ordered generalised Walsh functions in arbitrary polarity w from a zero polarity inverse Gray code ordered trans- form matrix is as follows: Let symbol i represent the decimal number/numbers that are index/indices of such literals that correspond to bits equal to one in the polarity number w.

(a) To generate an inverse transformation matrix in polarity o, perform the permutation of all possible ( N / 2 ) pairs of rows of the zero polarity Gray code ordered transform matrix that correspond to the spectral coeff- cients in the following manner :

si - so

sik' sk

Sikl . . . . . . . ._ I . . . n

Example 6: The calculation of forward spectra for pol- arities w = 001 and 011 directly from the known for- wards spectrum for polarity OOO using algorithm 1 is shown in Fig. Sa. Similarly, the calculation of inverse

I 1

- I I

- I I

- I 1

I -1

I I I

-I

T&II X S(-w T&=q x S+xa, M=T&mj x S(m;am, T&mu x S < m = w M

(b)

Fig. 8 Calculation of forward and inverse Gray code ordered Walsk spectra for polarity w = 011 from known forward and inverse spectra for polarity w = OW (1 Forward b Inverse

spectra for the same polarities from the known inverse spectrum of polarity w = OOO using algorithm 2 is shown in Fig. 8b. If the result of the inverse spectrum for only polarity w = 011 is required, algorithm 2 can again be

329

applied to generate the required permutation to calculate directly the unknown spectrum from that of polarity w = 000. The resulting permutation is presented on the right side of Fig. 8b and clearly gives the same spectrum as the results of the transformation of the spectrum in polarity OOO through the spectrum for polarity 001 till the spectrum of polarity 01 1, which is shown in the left part of Fig. 8b. It can be easily checked that both forward and inverse spectra in this example are correct as, for polarity 011, they are exactly the same as the spectra for the same logical function obtained by the matrix multiplication method in Fig. 7.

5 Fast Walsh transform for Gray code ordered transform

Eqn. 2 for transform 2 can be rewritten in a recursive way using the bisymmetrical pseudo-Kronecker product and the Hadamard matrix H, of order 2 rather than the matrix H,, . The Walsh functions in the Hadamard order are generated when the standard Kronecker product of the elementary Hadamard matrix H, is performed by itself. Similarly, the Gray code ordered transform 2 is obtained by successive applications of the bisymmetrical pseudo-Kronecker product to the core matrix H , . Then,

G K 2 , = (H,)'"] (5 ) where [ n ] in the exponent means the application of the bisymmetrical pseudo-Kronecker product n times.

It is well known [ l , 4, 121, that the matrix H, describ- ing Hadamard ordering can be factorised and repre- sented by the nth degree of the Good matrix G, such that

HN = (GNY' (6) Similarly, the matrix G K 2 , describing Gray code ordered transform 2 is also factorisable and can be represented by the following formula

G K 2 , = (F,)" (7) where the principle of construction for the F , matrix is shown in Fig. 9a. An example of factorisation using eqn.

+ + + +

+ + + + - +

+ - - +

+ -

I + +

+ + + +

+ + - +

+ - - +

+ -

F8

a

etc

+ + + + + + + + + - - + + - - + + - + - - + - + + + - - - - + + + + - - + + - - + - + - + - + - + - - + - + + - + + + + + - - - -

IF813 GK8 b

Fig. 9 a Principle of generation h Faclorisation

330

Principle of generaiion ofmatrix F andfactorisation for N = 8

7 for N = 8 is shown in Fig. 9b. The lines inside the transform matrix show the bisymmetrical axes for the transform.

A flow diagram corresponding to eqn. 7 is given in Fig. 10 for N = 8. The recursive nature of the algorithm

Fig. 10 __ Add

Flow diagram for recursiue Gray code transform

Subtract ~~~-

derived from this flow diagram can be seen in the Figure. The reduced computer storage requirements, achieved by the consecutive recursion steps (the total number of these steps is n), can also be seen. This algorithm is well suited for the constant-geometry hardware system presented in the following Section.

6 Constant-geometry iterative architecture for a Gray code ordered transform

The new Walsh transform in Gray code ordering 2 is fac- tored to the product of n identical matrices (eqn. 7) and so this transform is well suited for constant-geometry iterative hardware systems. As the interconnection pattern is the same for all computation stages of the new transform (Fig. lo), the hardware can be reduced to only one stage, and the output can be fed back to the input n times.

The basic bloc of an iterative implementation of the fast Walsh transform in Gray code ordering (for N = 8) is shown in Fig. 11. The basic iterative bloc is composed of

F(O) F(1) F(Z) F(3) F(4) F(5) F(6) Fa) gsy Fig. 11 Iterative block forfast Walsh transform in Gray code order

IEE Proc.-Cornput. Digit. Tech.. Vol. 142. No. 5, September 1995

a multiplexer, a storage register, a simple control unit and arithmetic elements that are able to perform ordin- ary addition and subtraction and that have a fixed arrangement of connections. The content of the storage register is fed hack to the input of the multiplexer. The multiplexer is switched between two basic modes by the control unit. In the first mode, new data are supplied to the arithmetic elements. In the second mode, data from the storage register are applied to the arithmetic ele- ments.

For the case of the iterative block shown in Fig. 11, i.e. where N = 8, new data will enter through the multiplexer every third operating cycle. For the next two cycles, the transformed data from the storage element will be fed hack twice through the multiplexer. At the end of the conversion process, the control unit will send a ‘data ready’ signal to report that the transformation has been performed and the spectrum is available in the storage register. When the spectrum data are taken from the storage register, a ‘data taken’ signal is sent to the control unit, which will then accept the new data and send them to the multiplexer for the next calculation sequence.

7 Conclusions

Walsh transforms in Gray code ordering have been intro- duced in this paper. Different and efficient ways of gener- ating such Walsh transforms have been presented. The concept of a generalised Gray code ordered Walsh trans- form has also been introduced. Based on the relation- ships between spectra of different polarities, it is possible to generate a spectrum of an arbitrary polarity directly from a spectrum of known polarity. A number of import- ant properties that characterise generalised Walsh trans- forms in Gray code ordering have been given. The derivations presented can he useful for finding new appli- cations of generalised Walsh transform in Gray code ord- ering in areas other than logic design.

Hardware implementation of the transform introduced is based on a matrix factorisation that is suitable for a constant geometry VLSI iterative design. The architec- ture developed can he looped n times or cascaded n times to produce a useful integrated circuit. Furthermore, based on the algorithms 1 and 2 presented, some parts of the hardware implementation for the calculation of spectra for different polarities from a known spectrum in zero polarity can also be shared.

By showing a number of important properties and effi- cient, different ways of calculating generalised Walsh transforms in Gray code orderin& such transforms can find application in all the areas where the standard Walsh and related orthogonal transforms are currently applied. These fields include image processing, signal coding, filter design, imaging in spectroscopy and

astronomy, telecommunications, statistical analysis, digital control systems and associative memory systems [l, 2, 10, 12-14, 16, 17, 191.

8 References

1 BEAUCHAMP, K.G.: ‘Applications of Walsh and related functions’ (Academic Press, New York, 1984)

2 BLACHMAN, N.M.: ‘Sinusoids versus Walsh functions’, Proc. IEEE, 1974.62. pp. 346-354

3 CHRESTENSON, H.E.: ‘A class of generalized Walsh functions’, Pa+ J . Math., May 1955, 5, pp. 17-31

4 ELLIOT, D.F., and RAO, K.R.: ‘Fast transforms: algorithms, analysis, applications’ (Academic Press, London, 1982)

5 FALKOWSKI, BJ., and PERKOWSKI, M.A.: ‘Algorithm and architecture for Gray code ordered fast Walsh transform’. Proc. IEEE Int. Symp. Circ. & Syst. (23rd ISCAS), May 1990, New Orleans, USA, pp. 1596-1599

6 FALKOWSKI, B.J., and PERKOWSKI, M.A.: ‘A family of all essential multi-polarity transforms: algorithms and interpretations in Boolean domain’. Proc. IEEE Int. Symp. Circ. & Syst. (23rd ISCAS), May 1990, New Orleans, USA, pp. 2913-2916

7 FALKOWSKI, B.J., SCHAEFER, I., and PERKOWSKI, M.A.: ‘Effective computer methods for the calculation of Rademacher- Walsh spectrum for completely and incompletely specified Boolean functions’, IEEE Trans., 1992, CAD-11, (10). pp. 1207-1226

8 FALKOWSKI, B.J.: ‘Generation of Gray code ordered Walsh func- tions by symmetric and shift copies’. Proc. IEEE Int. Symp. Circ. & Syst. (26th ISCAS), May 1993, Chicago, Illinois, USA, pp. 758-761

9 FALKOWSKI, B.J.: ‘Transformation kernels and algorithms for the generation of forward and inverse Hadamard ordered multi-polarity generalized Walsh transforms’. Proc. IEEE Midwest Symp. Circ. & Syst. (37th MIDSCAS), August 1994, Lafayette, Louisiana, USA,

IO FALKOWSKI, B.J., and CHANG, C.H.: ‘Eficient algorithms for the calculation of Walsh spectrum from BDD and synthesis of BDD from Walsh spectrum for incompletely specified Boolean functions’. Proc. IEEE Midwest Symp. Circ. & Syst. (37th MIDSCAS), August 1994, Lafayette, Louisiana, USA, pp. 393-396

1 1 FINE, N.J.: ‘The generalized Walsh functions’, Trans. Am. Math. Soc., July 1950,69, pp. 66-67

12 HARMUTH. H.F.: ‘Transmission of information by orthogonal functions’ (Springer-Verlag, Berlin, 1969)

13 HURST, S.L., MILLER, D.M., and MUZIO, J.C.: ‘Spectral tech- niques in digital logic’ (Academic Press, London, 1985)

14 KARPOVSKY, M.G.: ‘Finite orthogonal series in design of digital devices’ (Wiley, New York, 1976)

15 SELFRIDGE, R.G.: ‘Generalised Walsh transform’, Pacific J . Math., May 1955.5, pp. 451-480

16 SCHIPP, F., WADE, W.R., SIMON, P., and PAL, J.: ‘Walsh series - an introduction to dyadic harmonic analysis’ (Adam Hilger, Bristol, 1990)

17 VARMA, D., and TRACHTENBERG, E.A.: ‘Elficient spectral tech- niques for logic synthesis’, in SASAO, T. (Ed.): ‘Logic synthesis and optimization’ (Kluwer Academic Publishers, Boston, 1993)

18 WALLIS, W.D., STREET, A.P., and WALLIS, J.S.: ‘Combinator- ics: room squares, sum-free sets, Hadamard matrices’. Lect. Notes in Mathematics No. 292, Springer-Verlag, Berlin, 1972

19 YAROSLAVSKY, L.P.: ‘Digital picture processing ~ an intro- duction’ (Springer-Verlag, Berlin, 1985)

20 YUEN, C.K.: ‘Remarks on the ordering of Walsh functions’, IEEE Trans., 1972, C-21, p. 1452

21 ZHIHUA, L., and QISHAM, Z.: ‘Ordering of Walsh functions’, IEEE Trans., 1983, EMC-25, pp. 115-119

pp. 825-828

IEE Pro<.-Comput. Digit. Tech., Vol. 142, N o . 5, September 1995 33 1


Recommended