[sdiy] Prophet VS a phase accumulator design?
ASSI
Stromeko at nexgo.de
Wed Feb 2 20:43:11 CET 2011
On Wednesday 02 February 2011, karl dalen wrote:
> Why i ask are because of a post from 2009 between Tom W and some other
> fellow (dont remember name) aliasing vs table skips etc i had always
> thought the DW8000/6000 also are phaseacc but used BW tables and
> shorter tables to increase frequency which the PPG did not?
That would have been me, I guess.
I think the best info on how the DW6000 works is up on strellis.com - Chris
should be here on the list, too. Basically you use a large table for the
lowest octave and then downsample by two (also reduce the bandwidth by half)
for each successive octave. That ends up needing exactly twice as much
memory as the largest table, so it is quite a bit more costly in terms of
memory (that was _the_ item back in the days).
> What does he mean by phase accu eventually skipping codes?
> As in skipping table addresses?
Yes. If you use a phase accumulator with a full-cycle table of 256 samples,
there is a single frequency where you use all samples of the table just once
each cycle - at fs/256, of course. At lower frequencies, you will have to
use some samples more often because the phase increment is smaller than the
sample spacing. At higher frequencies conversely some samples will not be
used because the phase increment gets larger than the spacing between each
sample in the table.
When the phase increment gets larger than two samples, you can just as well
use a table half as large and remove one bit from the phase increment to
match. This is what the DW6000 does. The DOC chip can use different sized
tables, but I don't really know any details of how this is controlled. I
_think_ the table size to use can be program controlled, but not sure.
In a variable clock rate system you adjust the sampling frequency so that
the phase increment concides with the "natural" frequency of the table.
This sounds easy, but the problems with that approach is in the frequency
generation and the reconstruction filtering. That said, it can be done.
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables
More information about the Synth-diy
mailing list