Sat Jul 28 21:53:32 EDT 2012
The non-deterministic S/D modulator
The decorrelator mentioned before can be generalized by taking a
fractional bit input, and producing a random output bit based on the
current accumulator. This is the basic building block for the whole
S/D synth approach.
How to make this well-defined? I.e. for a deterministic encoder a bit
is generated if a threshold is reached. This needs to be reformulated.
E.g. if state is 1.00 and input is 1.00, the probability of a 1 bit
should be 100%, which then leaves the state at 50%.
If state is 0 and input is 0, the probability of a 1 bit should be 0%
If state is seeded by 0, and input is 0.50 on every step, by symmetry
the probability of the output should always be 50%.
What about this:
- If state > 1 -> deterministic 1
- If state < 0 -> deterministic 0
- Else -> value = uniform probability for 1
This seems ad-hoc, however the hard limits are really caused by the
hard limits of saturated 0/1 signals.
It sees that in the non-deterministic case, the state needs to be able
to "buffer" an "unlikely 1". Is there a way to make this buffer
larger to spread it out more? I would guess there is going to be some
tradeoff in the probability distribution.
E.g. state is 0.01 and input is constant 0.01 which means there is a
1/50 chance the next pulse is a 1. If it is, then the next 99 pulses
are going to be guaranteed 0. This seems too rigid. It is
"correlation due to saturation". Is it possible to spread out pulses
over a longer period of time?
What is the difference with the decorrelator? It has an n-bit bucket
(represented as a log(n) bit counter) and generates bits based on this
Big difference is that a separate decorrelator has the
non-deterministic output outside of the S/D feedback loop...
It's probably time to let this sit a bit and/or do some simulations.