Graph theory

Graph theory
identity = assignment
x
x
DSP graphs are made up of
• points
• directed lines
• special symbols
points = signals
all the rest = signal processing systems
y y=x
a
y
y=ax
gain
y
x
y=x
x
adder
and
splitter =
tee connector
x
unit delay
z
z=x+y
z=x
z
z-1
y
y
x
-
y = z-1 x
z
z=x-y
y
DSP
Slide 1
Why is graph theory useful ?
DSP graphs capture both
• algorithms and
• data structures
Their meaning is purely topological
Graphical mechanisms for simplifying (lowering MIPS or
memory)
Four basic transformations
1. Topological (move points around)
2. Commutation of filters (any two filters commute!)
3. Unification of identical signals (points) and removal of redundant branches
4. Transposition theorem
DSP
Slide 2
Basic blocks
yn = xn - xn-1
yn = a0 xn + a1 xn-1
Explicitly draw point only when need to store value (memory point)
DSP
Slide 3
Basic MA blocks
yn = a0 xn + a1 xn-1
DSP
Slide 4
General MA
y  a x
L
n
we would like to build
l
n l
l 0
tapped delay line = FIFO
but we only have 2-input adders !
DSP
Slide 5
General MA (cont.)
y  a x
L
n
Instead we can build
l
n l
l 0
MACs
We still have tapped delay line = FIFO (data structure)
But now iteratively use basic block D (algorithm)
DSP
Slide 6
General MA (cont.)
y  a x
L
n
l
n l
l 0
There are other ways to implement the same MA
still have same FIFO (data structure)
but now basic block is A (algorithm)
Computation is performed in reverse
There are yet other ways (based on other blocks)
FIFO
MACs
DSP
Slide 7
Basic AR block
y  x  by
n
n
n 1
One way to implement
Note the feedback
Whenever there is a loop, there is recursion (AR)
There are 4 basic blocks here too
DSP
Slide 8
General AR filters
y  x  b y
M
n
n
m
nm
m 0
There are many ways to implement the general AR
Note the FIFO on outputs
and iteration on basic blocks
DSP
Slide 9
ARMA filters
y   a x  b y
L
n
M
l
l 1
n l
m
nm
m 0
The straightforward implementation :
Note L+M memory points
Now we can demonstrate
how to use graph theory
to save memory
DSP
Slide 10
ARMA filters (cont.)
y   a x  b y
L
n
M
l
n l
l 1
m
nm
m 0
We can commute
the MA and AR filters
(any 2 filters commute)
Now that there are points representing
the same signal !
Assume that L=M (w.o.l.g.)
DSP
Slide 11
ARMA filters (cont.)
y   a x  b y
L
n
M
l
l 1
n l
m
nm
m 0
So we can use only one point
And eliminate redundant branches
DSP
Slide 12
Allowed transformations
1.
Geometrical transformations that do no change topology
2.
Commutation of any two filters
3.
Unification of identical points (signals)
and elimination of redundant branches
4.
Transposition theorem




exchange input and output
reverse all arrows
replace adders with splitters
replace splitters with adders
DSP
Slide 13