Sat Apr 20 17:56:52 EDT 2019
I can't figure it out. Something is missing.
EDIT: I have some rules figured out, but the beef is still in applying
this to systems. I don't see where to go next...
say I have:
s -> i -> m (s, o)
To create the z-transform, the state needs to be eliminated by using
up the expression for delay-as-phase-shift.
I need to do this on paper first to trigger muscle memory, then it
will become obvious.
The way to look at this is to look at a linear autoregressive process.
Using the notation I'm used to, where x is the state vector, A is the
system matrix, B is the input-to-state matrix, and i is the input:
z x(z) = A x(z) + B i(z) => x(z) = (zI - A)^-1 B i(z)
To construct an evaluator for x, it might not be necessary to compute
the inverse. Given z and i, this reduces to a system from which x can
So what do we actually have?
The system for which we're computing the z transform is not the
original system: it is the linearlized version.
A is a matrix of partial derivatives. These are still non-linear in
the parameters of the system, but we can actually compute the
numerical values using autodiff, then solve the system to produce an
evaluator for the z transform.
I'd like to implement this so it can all fold in on itself to keep all
components reifiable and composable.
EDIT: Yep. Doing this on paper first helped a lot to figure out what
exactly I was looking for. Basically the entire thing I did today
around Z-transforms is quite meaningless.