Wed Jun 10 12:46:49 CEST 2009

Filters in SD space.

In [1] it was shown that Sigma-Delta modulated signals can be
attenuated and mixed using local operations as long as the energy
never increases, and as long as signals remain independent.  This post
elaborates on the subject bringing back the concept of time.


To implement filters I see two possibilities: continuous time filters
(integrators) and discrete time filters (based on time delay).
Time-delay filters are possible with the current representation as
long as independence of time-shifted signals is maintained.  However,
this might not be so straightforward to accomplish.  Following my
hunch I think it's better to go for the idea of directly modeling
integration as an operation on the SD bitstream.

Is it possible to re-introduce the concept of time?  Note that uptil
now we talked only about expected values of random variables, and
ignored time completely, using some hand-waving that "short time
averaging" turns the sequence back into an analog signal.

With a concept of time it is probably possible to introduce the
concept of integration, or at least that of a bandlimted integration
(1-pole low pass filtering == an opamp), operating directly on an SD


This operation is about re-introducing time in the binary sequence.
Integration can no longer be expressed as the expected value of a
stream, as that is a single number.  Some clever way of turning the
bit sequence back into a sequence of numbers (or a continuous
function!) should lead to a way to express the integration operation.

It seems to me that leaving the discrete domain as soon as possible is
the way to approach the problem.  The signal s(t) is hidden in the
bitstream as follows:

    a(t) = \sum a_i p(t-i) = s(t) + n(t)

Where p(t) is a square pulse with hight one, duration 1.  What is the
effect of integrating s(t) on a_i?

It might be better to approach this problem from the other side.  What
can we do operating on the bitstream a_i to produce something that
behaves like integration in the low band?  Is there a way to do this
without recoding?

The key problem is that in order to be able to generate a bitstream, a
local representation of the accumulated state is necessary, to be able
to use this number to space out pulses.  At first sight it does look
like there is no way around a demodulation/process/modulation scheme.

Additional Questions

* It looks like noise is going to be the essential element to
  translate between the discrete (bitstream) and the continuous
  (statistics of the bitstream).

* Is a square wave, edge triggered representation actually useful?
  Instead of sending out the carry bit as a binary signal, sending the
  carry bit as a state change generates a square wave
  frequency-encoded signal.  This signal represents a full-scale
  square wave in the SD domain.

* Can we represent complex multiplication as a means to introduce sine
  and cosine?  The answer seems to be yes as long as magnitude is <1.
  Qantify this.

* Since decorrelation is so important, can't we just use
  (uncompressable) information transmitted alongside the signal as an
  extra digital channel?

* Since we're digital and thus error-less, can we maybe construct
  differential equations based on differentiation instead of
  integration?  Does this make sense at all?

* Maybe the only question to ask is: Is it possible to implement
  differential equations using a S-D integrator and negative feedback?
  Is such a thing stable?  Both in the digital domain (non-linear
  limit cycles) and the statistical domain.

[1] entry://20090609-111303