Calculating Spectral Coefficients for Walsh Transform using Butterflies - PowerPoint PPT Presentation

About This Presentation
Title:

Calculating Spectral Coefficients for Walsh Transform using Butterflies

Description:

Calculating Spectral Coefficients for Walsh Transform using Butterflies. Marek Perkowski ... Butterflies in S encoding. 0= 0 = -1. 1= 1 = 1. 2= 1 = 1. 3= 0 ... – PowerPoint PPT presentation

Number of Views:228
Avg rating:3.0/5.0
Slides: 54
Provided by: marekpe
Learn more at: http://web.cecs.pdx.edu
Category:

less

Transcript and Presenter's Notes

Title: Calculating Spectral Coefficients for Walsh Transform using Butterflies


1
Calculating Spectral Coefficients for Walsh
Transform using Butterflies
  • Marek Perkowski
  • September 21, 2005

2
Symbols
  • 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

4
X 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
7
  • s0 2n 2 a 4 2 4 - 4

Other 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
8
Butterflies 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
9
Butterflies 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
10
Butterflies 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
11
Butterflies 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
12
Butterflies 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
13
Butterflies 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
14
Butterflies 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
15
Butterflies 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
16
Butterflies 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
17
Butterflies 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
18
Butterflies in S encoding
S encoding
-2
-4


0 -1
0
0
-
1 -1

0
-2
-

2 -1
0
0
-
3 -1
-
Constant 1
19
Butterflies 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
20
Butterflies in R encoding
R encoding
2
0


0 0
0
0
-
1 0

0
2
-

2 0
0
0
-
3 0
-
Constant 0
21
Butterflies in R encoding
R encoding
2
4


0 1
0
0
-
1 1

0
2
-

2 1
0
0
-
3 1
-
Constant 1
22
Butterflies in R encoding
R encoding
1
2


0 0
0
-1
-
1 1

0
1
-

2 1
1
-2
-
3 0
-
XOR
23
Butterflies in R encoding
R encoding
1
2


0 1
0
1
-
1 0

0
1
-

2 0
-1
2
-
3 1
-
XNOR
24
Butterflies in R encoding
R encoding
1
3


0 0
-1
-1
-
1 1

-1
2
-

2 1
0
-1
-
3 1
-
X OR Y
25
Butterflies in S encoding
S encoding
0
-2


0 1
2
2
-
1 -1

2
-2
-

2 -1
0
2
-
3 -1
-
X OR Y
26
Butterflies 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.

32
All 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

33
s0 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.

35
Properties 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.

36
Properties 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,

37
Properties 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.

38
Properties 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.

39
Properties 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.

40
Properties 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
-
41
Properties 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
-
42
Properties 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.

43
What 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).

44
What 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.

45
What we achieved?
  • 5. Knowing some high coefficients, we can
    calculate their values exactly, one run
    (measurement) for each spectral coefficient.

46
Symbols
  • 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.
  • 1
  • 1 1

0 0 0 0
0 0 0 0
  • 1
  • 1 1

a8
b0
c0 d8
47
  • si 2 (a d) - 2n
  • 2 (a d) - (a b c d)
  • (a d) - (b c), when i ? 0.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) 16
0 0 0 0
  • 1
  • 1 1

b0
a8
c0 d8
48
  • si 2 (a d) - 2n
  • 2 (a d) - (a b c d)
  • (a d) - (b c), when i ? 0.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) 16
0 0 0 0
  • 0
  • 1 1

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.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) -16
  • 1
  • 1 1

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.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) 0
  • 1
  • 1 1

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.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) 0
  • 1
  • 1 1

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.
  • 1
  • 1 1

0 0 0 0
si (a d) - (b c) (34) (44) -1
  • 0
  • 1 1

0 0 0 0
b4
a3
c4 d4
53
Problems for students
  • Butterfly for Hadamard
  • Software for Hadamard
  • Matrices for Hadamard
  • Hadamard coefficients
  • Basic Orthogonal functions and their meanings.
    Use Kmaps.
Write a Comment
User Comments (0)
About PowerShow.com