[sdiy] How does a DCO work?

Paul Maddox P.Maddox at signal.QinetiQ.com
Thu Dec 30 14:16:00 CET 2004


Richard,

> Are you sure?

Ask anyone who owns a monowave, if they can hear any aliasing (as in fixed
sample rate aliasing you commonly get from DSP based synths).

> Or alternatively, are we talking about the same thing?

no we're not, but we're close, an dthe distinction needs to be made..

> You can implement a phase accumulator with a fixed sample rate, in which
> case you get aliasing just as you would in any other fixed sample rate
> system. See e.g.

Agreed, but no-one has yet mentioned the phrase 'fixed sample rate' in
conjunction with 'Phase accumulator', which is why I said fixed sample rate
systems need to be concerned with band limiting.
Ok, this a bit of an 'untruth', see the end of the email as to why.

> Obviously if your counter free-runs from a variable clock rate, that
counts
> as a variable sample rate system, and in that case you're right.

What counter?
You don't use a counter, at least I don't.

Phase accumulators work like the this.
You have a phase value (we'll call it PTC) and an accumulator (We'll call it
ACC),
ou do this sum - ACC = ACC + PTC every clock cycle, you then strip out the
top bits of ACC for your lookup table.
In short, there's no counter involved, unless you count the top 'n' bits of
your ACC register.

Also note that the 'clock' is a constant rate, not variable. but the
resulting 'output' is 'effectivly' a variable sample rate. If you, for
example, do the addition in a micro at a rate of 10Mhz, the output is
updated every 100nS.
Even if the frequency output is only 100hz, or if its 10Khz.

There is a limit on the maximum frequency you can get to before you start
having to 'drop' samples from your lookup table, but that depends on how you
impliment the phase accumulator oscillator.
The Monowave has a limit of around 4Khz before this happens.
IMHO, anyone who can hear a change in harmonics caused by dropping from 256
samples to 128 samples when the frequency is over 4Khz should be a in a
laboratory being studied :-)

For example the PPG Wave 2.2/2.3 uses an 'update rate' (as I prefer to call
it) of ~250Khz, but you can't hear the aliasing on that.

At this point, we should also make a distinction between aliasing caused by
fixed sample rate frequency mirroring and aliasing caused by low resoloution
samples, either sample width or bit depth.

The type of aliasing associated with fixed sample rates sounds a bit like
ring modulation, I've yet to find a DSP synth I can't get this to happen on
(play a high note add a fast LFO to the pitch, BLAM instant ring mod!, play
the same thing two octaves lower, no ring mod).
I can't find an example of this most manufacuturers don't want you hearing
this effect so they hide it.

The Type of aliasing caused by low sample width or low bit resoloution adds
extra harmonics, The monowave
(http://www.modulus-music.com/products/monowave/) has the ability to lower
its wavetable width, have a listen ;-
http://www.modulus-music.com/products/monowave/sounds/mw_v1_deres.mp3
http://www.modulus-music.com/products/monowave/sounds/mw_v1_bell.mp3
What you hear is a 256 sample wave first and then 64 sample wave second.

So technically, it *is* possible to get aliasing (with discrete digital
Phase accumulators) when using high output frequencies or very wide lookup
tables. But with a sample rate of 10Mhz or more, you need to be an alien to
hear any aliasing caused by this. For all practicle sense (ie, comming back
down to earth) the aliasing doesn't exist.

Paul

----------------------------------------------------------------------------
Modulus Electronics - Innovation from imagination
   Http://Www.Modulus-Music.com






More information about the Synth-diy mailing list