[sdiy] How does a DCO work?

ASSI Stromeko at compuserve.de
Tue Jan 4 21:22:48 CET 2005


On Dienstag, 4. Januar 2005 11:12, Paul Maddox wrote:
> > The problem is that there are situations where a PA-like oscillator
> >  - in the sense that you have a phasor going round and round based
> > on accumulated phase increments and indexing into a table - is
> > implemented at 44.1, or whatever, as happens in some softsynths.
>
> agreed, but its *NOT* a fault of the phase accumulator, its a fault
> of using fixed frequency systems.

The only thing that you need not worry about in a variable frequency 
phase accumulator is interpolation between phase samples. You are still 
dealing with a discrete time, discrete amplitude system. Even though 
many systems use simple phase truncation or rounding to nearest integer 
phase, it is possible to implement the interpolation required at fixed 
frequency to be "perfect". Linear or polynomial interpolation is not 
"perfect", but often adequate considering other sources of noise and 
distortion in the system.

Note that if you want to resolve intervals to 1cent for the whole 
audible spectrum (fmax=20kHz) the phase resolution needs to be better 
than 14ns, the accumulator more than 27bit and a wavetable in a 
non-interpolated implementation would have more than 128Mwords of 
samples. Such a system is just barely realizable (the question of fixed 
or variable frequency doesn't change things very much) and you'd 
probably have to use some sort of interpolation and/or fractional phase 
accumulation to reduce the clock frequency and the wavetable size to 
something more manageable.


Achim.
-- 
+<[Q+ Matrix-12 WAVE#46 Neuron microQkb Andromeda XTk sonic heaven]>+

Q series MIDI Implementation & additional documentation:
http://Stromeko.Synth.net/#WaldorfQDocs




More information about the Synth-diy mailing list