[sdiy] Generating a large number of CV outputs

Mike Bryant mbryant at futurehorizons.com
Fri Dec 8 20:45:01 CET 2023


I was getting 18 bit accuracy back in early 80s using this technique using LS-TTL and discrete transistors.  I'm sure one could do even better now with better components.


________________________________
From: Synth-diy <synth-diy-bounces at synth-diy.org> on behalf of Mattias Rickardsson <mr at analogue.org>
Sent: 08 December 2023 16:15
To: Tom Wiltshire <tom at electricdruid.net>
Cc: SDIY <synth-diy at synth-diy.org>
Subject: Re: [sdiy] Generating a large number of CV outputs

But what about potential problems and errors from

1 - the non-constant number of transitions per time?

2 - the non-constant frequency of the pulse wave?

/mr


On Fri, 8 Dec 2023 at 17:02, Tom Wiltshire <tom at electricdruid.net<mailto:tom at electricdruid.net>> wrote:


On 8 Dec 2023, at 14:41, Matthew Skala via Synth-diy <synth-diy at synth-diy.org<mailto:synth-diy at synth-diy.org>> wrote:

If PDM means PWM with bit-reversal before the comparison (such as Richie
describes), then it does indeed lock you into a lower sampling rate, and
that's one reason I skipped describing *that* technique.  But PWM with
bit-reversal seems not to be what you mean when you say PDM.

That's not what I meant when I said PDM, certainly.

The way I generated it is using an NCO. The NCO generates a single-shot output pulse everytime the phase accumulator wraps.

Now consider what happens with a simple 8-bit NCO. If our frequency increment is 2, for example, we get a single output pulse every 128 clocks, or 2 pulses per 256 clocks. Notice that they will be nicely spaced apart, not next to each other like PWM. The output frequency would be (clock frequency / 128) in this situation.
If the increment is 8, we get a output pulse every 32 clocks, 8 pulses per 256 clocks, and again, they're nicely spaced out. The output frequency is now up to (clock /32) so there's been a big improvement, just by getting away from those extreme values a little bit.
As the increment climbs, the accumulator wraps more and more often. At freq=128, every other clock is an output and we reach our maximum output frequency of (clock/2). As the increment goes above half, we start staying high for more than a single pulse, and the waveform effectively turns the other way up and we get a mirror image of the effect we've seen from 0-128.

HTH,
Tom

==================
       Electric Druid
Synth & Stompbox DIY
==================

_______________________________________________
Synth-diy mailing list
Synth-diy at synth-diy.org<mailto:Synth-diy at synth-diy.org>
http://synth-diy.org/mailman/listinfo/synth-diy
Selling or trading? Use marketplace at synth-diy.org<mailto:marketplace at synth-diy.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20231208/79c124fa/attachment.htm>


More information about the Synth-diy mailing list