Sat Apr 20 17:56:52 EDT 2019

Z transforms

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
be solved.

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.