[sdiy] Prophet VS a phase accumulator design?
karl dalen
dalenkarl at yahoo.se
Wed Feb 2 03:20:32 CET 2011
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?
I have bank of 32 and 16bit phaseaccs up and running, trying to
implement a variant on Hal's Chamberlains schrink'ed Fourier bank
osc, trying to avoid a number of extra int moves as to keep sample
rate up.
What does he mean by phase accu eventually skipping codes?
As in skipping table addresses?
Do oliver mean variable sample clock as in NCO (8253) or as in variable sample clock as in phase acc counter, variable as in Paul extracting MSB
to drive a external counter PPG?!?
>The ESQ-1 DOC chip I thought did something different, I have a feeling
>that "drops" samples as you reach higher octaves.
ICS1261 data sheet (24bit phaseacc) suggest one could set table width
i.e shorter tables like DW8000 on the fly but apparently ESQ uses
different tables for each octave, which sounds like table BW?!
Tom and the other dude discussion:
-------------------------------------------------------------------
> It was my understanding that all of these instruments use a
> variable sample rate, and just play back the same small wavetable
> of samples at higher speed to raise the pitch. If this is true, the
> relationship between the sample rate and the output frequency would
> remain constant. To put it another way, one wave cycle always takes
> 128 samples (or 256 or whatever it is) so why does a higher
> frequency cause problems?
The NCO in question does not quite work like that, it is phase
accumulator based and uses truncation to produce the sample address.
The DAC output is produced at a different frequency (I'm pretty
certain it is fixed), so you have in effect another re-sampling
operation from NCO to DAC that produces additional aliases since the
wavetables themselves do in the most general case not produce a
properly bandlimited signal either; be it due to insufficient
filtering of the source material, source noise that survives the
filtering and the quantization noise. Quantization noise can be
modeled with good success as a sawtooth wave at a fraction of the DAC
nyquist frequency at -6*ENOB (effective number of bits) for the
oscillators in question as long as the phase accumulator does not skip
codes. However it will just do that if the frequency of playback
becomes higher, which happens at around the middle octave IIRC. Then
the signal from the wavetable becomes undersampled at the DAC and the
assumption you made is no longer valid.
More information about the Synth-diy
mailing list