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 dont 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 222 4 4 best correlation
6Negation 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 200 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
27X 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 211 4 0
28X 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 211 4 0
29- Since each standard function has the same number
of true and false minterms that is equal to 2n1
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 2n1
-
- and
-
- si 2 c b 2n
30- or
- si 2 a d 2n 2 a 2n1 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
bcda 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 dont 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 dont
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 HadamardWalsh 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 WalshKaczmarz RademacherWalsh
and WalshPaley transforms. - Only the RademacherWalsh 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 exclusiveor function between
variables xi and xj of the Boolean function
denoted by eij - for the coefficient sijk third order
coefficient the exclusiveor 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 2n1.
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 dont 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 dont 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.