Title: Calculating Spectral Coefficients for Walsh Transform using Butterflies
1Calculating Spectral Coefficients for Walsh
Transform using Butterflies
- Marek Perkowski
- September 21, 2005
2Symbols
- a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1 - b -- the number of false minterms of Boolean
function F, where the function F has the logical
value 0 and the standard trivial function has the
logical value 1 - c -- the number of true minterms of Boolean
function F, where the function F has the logical
value 1 and the standard trivial function has the
logical value 0 - d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0, and e be the number of don't care minterms of
Boolean function F.
3- Then, for completely specified Boolean functions
having n variables, this formula holds -
- a b c d 2n
-
- Accordingly, for incompletely specified Boolean
functions, having n variables, holds -
- a b c d e 2n
4X Y
X Y
0
1
0
1
0
0
1
1
1
1
Standard Trivial function for XOR of input
variables
Data Function
X Y
X Y
0
1
X Y
0
1
0
1
0
0
0
1
1
1
Standard Trivial function for input variable Y
Standard Trivial function for input variable X
Standard Trivial Function for whole map
5- The spectral coefficients for completely
specified Boolean function can be defined in the
following way - s0 2n 2 a
- si 2 (a d) - 2n, when i ? 0.
X Y
0
1
a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1
0
1
1
1
d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0
a 2, d 2, n 2
s0 2n 2 a 4 2 2 0 s3 2 (a d)
- 2n 2(22) 4 4 best correlation
6- si 2 (a d) - 2n, when i ? 0.
Negation of the previous function
X Y
0
1
1
a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1
0
1
1
d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0
a 2, d 2, n 2
s3 2 (a d) - 2n 2(00) 4 - 4 worst
correlation
7Other functions
X Y
0
1
1
1
a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1
0
1
1
1
X Y
0
1
0
0
0
s0 2n 2 a 4 2 0 4
0
0
1
8Butterflies in S encoding
S encoding
0
0
0 0 1
0
2
-
1 1 -1
0
0
-
2 1 -1
-2
4
-
3 0 1
-
XOR
9Butterflies in S encoding
S encoding
0
0
0 0 -1
0
-2
-
1 1 1
0
0
-
2 1 1
2
-4
-
3 0 -1
-
XNOR
10Butterflies in S encoding
S encoding
0
2
0 0 -1
-2
-2
-
1 1 1
-2
2
-
2 1 1
0
-2
-
3 0 1
-
X Y
11Butterflies in S encoding
S encoding
0
2
0 0 1
2
2
-
1 1 -1
-2
2
-
2 1 1
0
2
-
3 0 1
-
X Y
12Butterflies in S encoding
S encoding
2
2
0 0 1
-2
0
-
1 1 1
2
0
-
2 1 -1
-2
2
-
3 0 1
-
X Y
13Butterflies in S encoding
S encoding
2
2
0 0 1
2
0
-
1 1 1
2
0
-
2 1 1
2
-2
-
3 0 -1
-
X Y
14Butterflies in S encoding
S encoding
-2
0
0 0 -1
0
0
-
1 1 -1
-4
2
-
2 1 1
0
0
-
3 0 1
-
X
15Butterflies in S encoding
S encoding
2
0
0 0 1
0
0
-
1 1 1
4
-2
-
2 1 -1
0
0
-
3 0 -1
-
X
16Butterflies in S encoding
S encoding
0
0
0 0 1
4
2
-
1 1 -1
0
0
-
2 1 1
2
0
-
3 0 -1
-
Y
17Butterflies in S encoding
S encoding
0
0
0 0 -1
-4
-2
-
1 1 1
0
0
-
2 1 -1
-2
0
-
3 0 1
-
Y
18Butterflies in S encoding
S encoding
-2
-4
0 -1
0
0
-
1 -1
0
-2
-
2 -1
0
0
-
3 -1
-
Constant 1
19Butterflies in S encoding
S encoding
2
4
0 0 1
0
0
-
1 1 1
0
2
-
2 1 1
0
0
-
3 0 1
-
Constant 0
20Butterflies in R encoding
R encoding
2
0
0 0
0
0
-
1 0
0
2
-
2 0
0
0
-
3 0
-
Constant 0
21Butterflies in R encoding
R encoding
2
4
0 1
0
0
-
1 1
0
2
-
2 1
0
0
-
3 1
-
Constant 1
22Butterflies in R encoding
R encoding
1
2
0 0
0
-1
-
1 1
0
1
-
2 1
1
-2
-
3 0
-
XOR
23Butterflies in R encoding
R encoding
1
2
0 1
0
1
-
1 0
0
1
-
2 0
-1
2
-
3 1
-
XNOR
24Butterflies in R encoding
R encoding
1
3
0 0
-1
-1
-
1 1
-1
2
-
2 1
0
-1
-
3 1
-
X OR Y
25Butterflies in S encoding
S encoding
0
-2
0 1
2
2
-
1 -1
2
-2
-
2 -1
0
2
-
3 -1
-
X OR Y
26Butterflies in S encoding
S encoding
-2
-2
0 -1
2
0
-
1 -1
-2
0
-
2 1
2
-2
-
3 -1
-
X OR Y
Y
X
1
1
1
27- si 2 (a d) - 2n, when i ? 0.
X Y
0
1
a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1
0
1
1
1
d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0
a 2, d 2, n 2
s2 2 (a d) - 2n 2(11) 4 0
28- si 2 (a d) - 2n, when i ? 0.
X Y
0
1
a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1
0
1
1
1
d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0
a 2, d 2, n 2
s1 2 (a d) - 2n 2(11) 4 0
29- Since each standard function has the same number
of true and false minterms that is equal to 2n-1,
then we can have alternative definitions of
spectral coefficients. - Please note that only for the spectral
coefficient s0, is the above rule not valid and
the appropriate standard function is a tautology,
- i.e. the logical function that is true for all
its minterms. - Thus, we have
-
- a b c d 2n-1
-
- and
-
- si 2 (c b) - 2n
30- or
- si 2 (a d) - 2n 2 (a 2n-1 - c) -
2n - or
-
- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
- and
- s0 2n 2 a a b c d 2 a
- b c d - a b - a,
- since for s0, c and d are always equal to 0.
31- The spectral coefficients for incompletely
specified Boolean function, having n variables,
can be defined in the following way -
- s0 2n 2 a - e
- and
- si 2 (a d) e - 2n, when i ? 0.
- As we can see, for the case when e 0, i.e. for
completely specified Boolean function, the above
formulas reduce to the formulas presented
previously.
32All but S0 coefficients
- And again, by easy mathematical transformations,
we can define all but s0 spectral coefficients in
the following way - si 2 (a d) e - 2n
- 2 (ad) e - (abcde)
- (ad) - (bc), when i? 0
33s0 spectral coefficient
- Simultaneously, the s0 spectral coefficient can
be rewritten in the following way -
- s0 2n - 2a e abcde - 2a e
bcd-a b - a, since for s0, c and d are always
equal to 0.
34- Thus, in the final formulas, describing all
spectral coefficients, the number of don't care
minterms e can be eliminated from them. - Moreover, the final formulas are exactly the same
as the ones for completely specified Boolean
function. - Of course, it does not mean, that the spectral
coefficients for incompletely specified Boolean
function do not depend on the number of don't
care minterms. - They do depend on those numbers, but the problem
is already taken into account in the last two
formulas themselves. - Simply, the previously stated formula for the
numbers a, b, c, d, and e bonds all these values
together.
35Properties of Transform Matrices
- The transform matrix is complete and orthogonal,
and therefore, there is no information lost in
the spectrum S, concerning the minterms in
Boolean function F. - Only the Hadamard-Walsh matrix has the recursive
Kronecker product structure - and for this reason is preferred over other
possible variants of Walsh transform known in the
literature as Walsh-Kaczmarz, Rademacher-Walsh,
and Walsh-Paley transforms. - Only the Rademacher-Walsh transform is not
symmetric - all other variants of Walsh transform are
symmetric, - so that, disregarding a scaling factor, the same
matrix can be used for both the forward and
inverse transform operations.
36Properties of Transform Matrices
- When the classical matrix multiplication method
is used to generate the spectral coefficients for
different Walsh transforms, then the only
difference is the order in which particular
coefficients are created. - The values of all these coefficients are the same
for every Walsh transform. - Each spectral coefficient sI gives a correlation
value between the function F and a standard
trivial function eI corresponding to this
coefficient. - The standard trivial functions for the spectral
coefficients are, respectively, - for the coefficient s0 ( dc coefficient ) - the
universe of the Boolean function denoted by e0, - for the coefficient si ( first order coefficient
) the variable xi of the Boolean function
denoted by ei,
37Properties of Transform Matrices cont
- for the coefficient sij ( second order
coefficient ) - the exclusive-or function between
variables xi and xj of the Boolean function
denoted by eij, - for the coefficient sijk ( third order
coefficient ) - the exclusive-or function between
variables xi, xj, and xk of the Boolean function
denoted by eijk, etc.
38Properties of Transform Matrices
- The sum of all spectral coefficients sI of
spectrum S for any completely specified Boolean
function is ? 2n. - The sum of all spectral coefficients sI of
spectrum S for any incompletely specified Boolean
function is not ? 2n.
39Properties of Transform Matrices
- The maximum value of any individual spectral
coefficient sI in spectrum S is ? 2n. - This happens when the Boolean function is equal
to either a standard trivial function eI ( sign
) or to its complement ( sign - ). - In either case, all the remaining spectral
coefficients have zero values because of the
orthogonality of the transform matrix T. - Each but e0 standard trivial function eI
corresponding to n variable Boolean function has
the same number of true and false minterms equal
to 2n-1.
40Properties of Transform Matrices
- The spectrum S of each true minterm of n variable
Boolean function is given by s0 2n - 2, and all
remaining 2n - 1 spectral coefficients sI are
equal to ? 2.
S encoding
-2
0
0
m0 -1
0
0
0
-
m1 -1
-4
- 8
2
-
m2 1
0
0
0
-
m3 1
-
-2
0
0
m4 -1
-
0
0
0
-
-
m5 -1
0
-4
2
-
-
m6 1
0
0
0
-
-
m7 1
-
41Properties of Transform Matrices
- The spectrum S of each true minterm of n variable
Boolean function is given by s0 2n - 2, and all
remaining 2n - 1 spectral coefficients sI are
equal to ? 2.
S encoding
6 23 - 2
0
2
m0 -1
- 2
-2
-2
-
m1 1
- 2
-2
2
-
m2 1
- 2
0
-2
-
m3 1
-
2
- 2
4
m4 1
-
- 2
0
0
-
-
m5 1
- 2
0
2
-
-
m6 1
- 2
0
0
-
-
m7 1
-
42Properties of Transform Matrices
- The spectrum S of each true minterm of n variable
Boolean function is given by s0 2n - 2, and all
remaining 2n - 1 spectral coefficients sI are
equal to ? 2. - The spectrum S of each don't care minterm of n
variable Boolean function is given by s0 2n -
1, - and all remaining 2n - 1 spectral coefficients sI
are equal to ? 1. - The spectrum S of each false minterm of n
variable Boolean function is given by sI 0.
43What we achieved?
- 1. If the function is known to be linear or
affine, by measuring once we can distinguish
which one is the linear function in the box. We
cannot distinguish a linear function from its
negation. They differ by sign that is lost in
measurement. - 2. If function is a constant (zero for
satisfiability and one for tautology) we can find
with high probability that it is constant. - Thus we can solve SAT with high probability but
without knowing which input minterm satisfies. (a
single one in a Kmap of zeros) - Thus we can solve Tautology with high probability
but without knowing which input minterm fails (a
single zero in kmap of ones).
44What we achieved?
- 3. We can find the highest spectral coefficients
by generating them randomly. - In terms of signals and images it gives the basic
harmonics or patterns in signal, such as
textures. - 4. Instead of using Hadamard gates in the
transform we can use V to find a separation of
some Boolean functions. - But we were not able to extend this to more
variables.
45What we achieved?
- 5. Knowing some high coefficients, we can
calculate their values exactly, one run
(measurement) for each spectral coefficient.
46Symbols
- a -- the number of true minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
1 - b -- the number of false minterms of Boolean
function F, where the function F has the logical
value 0 and the standard trivial function has the
logical value 1 - c -- the number of true minterms of Boolean
function F, where the function F has the logical
value 1 and the standard trivial function has the
logical value 0 - d -- the number of false minterms of Boolean
function F, where both the function F and the
standard trivial function have the logical values
0, and e be the number of don't care minterms of
Boolean function F.
0 0 0 0
0 0 0 0
a8
b0
c0 d8
47- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) 16
0 0 0 0
b0
a8
c0 d8
48- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) 16
0 0 0 0
Ones inside
zeros inside
Ones outside
Zeros outside
b1
a7
c0 d8
(78 ) - (10) 14
49- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) -16
0 0 0 0
b8
a0
c8 d0
50- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) 0
0 0 0 0
b4
a4
c4 d4
51- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) 0
0 0 0 0
b4
a4
c4 d4
52- si 2 (a d) - 2n
- 2 (a d) - (a b c d)
- (a d) - (b c), when i ? 0.
0 0 0 0
si (a d) - (b c) (34) (44) -1
0 0 0 0
b4
a3
c4 d4
53Problems for students
- Butterfly for Hadamard
- Software for Hadamard
- Matrices for Hadamard
- Hadamard coefficients
- Basic Orthogonal functions and their meanings.
Use Kmaps.