Sun Nov 11 20:38:34 EST 2012

Oversampled signals

A while ago I read something about the 'd'-transform which is
essentially the 'z' transform where the unit operator is not a delay
but a difference.  

                        d = z - 1

This encoding avoids the necessity for high precision coefficients,
i.e. sensitivity of coefficient to transfer function is reduced.
Obviously, some kind of high precision is necessary to make room for
the "DC component" such that the basic difference op is a naked

For low-frequency signals, most of the action is around z=1, which
means around d=0.  Around the origin, the d domain looks like the
analog s domain (where s is differentiation).

( I'd like to use this oversampled "virtual analog" simulation, using
the MMX instruction set.  It has only a 16 x 16 -> 32 bit
multiplication, but this would fit nicely.  The reason for using fixed
point is to be able to use cheap saturation for emulation of
power-supply clipping and and simple wrap operations for implementing
phasors.  It should also make porting to fixed point DSP simpler. )

So, basically, this would work mostly as an analog computer.  Let's
rebuild some of that intuition.

1. If 'd' is a difference / 's' is a derivative operator, why do
   analog circuits have integrators?

In engineering schoold they tol be this is because differentiation is
too noisy.  While this might be true, it's not a good thing to tell a
novice.  The real reason is that the underlying model is a
differential equation, i.e.

            d/dt (x) = A(x) + B(u)

Here x is a state vector, u is an input vector, d/dt is the derivative
operator and A(.) and B(.) are vector->vector functions of the
appropriate arity.

If you integrate the whole thing you get an explicit expression of the
x in terms of integrals of functions of x.  For an analog circuit,
that equation directly describes the voltages (or currents) at a
specific point.

2. Is it OK to pretend that d == s ?

Yes, keeping in mind that the stability requirements are slightly
different.  For the human ear however, as long as the poles are close
enough to d = 0, the difference in transfer function between the
(oversampled) digital d operator and the analog s operator is very

In other words, the d plane is just a shifted z plane, but looks very
similar to the s plane for small d.