[sdiy] Possibly useful reference data

Magnus Danielson magnus at rubidium.dyndns.org
Thu Dec 31 14:29:37 CET 2009


Antti Huovilainen wrote:
> On Thu, 31 Dec 2009, Magnus Danielson wrote:
> 
>> I think the negation should not be there and there should be a 
>> multiply with 2 for even approaching Veronicas numbers:
>>
>> RC_n = 2*ln(2^bits)
> 
> Not quite.

No, it was apparent something was wrong...

> I did have a couple typos in the formulae tho. The correct 
> formula for how many time constants it takes for an RC filter to settle 
> within 0.5 lsb is

Is that from a full-scale step (step response) or a full-scale spike 
(impulse response)? I think you mean the step-response.

> RC_n = -ln(1/2 * 2^-bits) = ln(2 * 2^bits)

Thus, RC_n = ln(2)*(bits + 1) = ln(2) + ln(2)*bits which should be a 
more convenient form for most.

Infact, assuming full-scale step response I found it more convenient to 
churn out t/tau = ln(2)*(bits+1) than what you got, but maybe thats me.

> and
> 
> bits = -log2(exp(-RC_n)*2) = log2(exp(RC_n))-1
> 
> For 8 bits, the first formula gives RC_n = 6.238.

That matches what I get from my derivation yes. It still does not match 
Veronicas results, which makes me wonder what kind of processing she did.

> exp(-6.238) * 256 = 0.5 lsb
> 
> Just to be sure, I double checked the result with spice.

Again, testing with step-responses.

Cheers,
Magnus



More information about the Synth-diy mailing list