[sdiy] Novation peak NCOs

James J. Clark clark at cim.mcgill.ca
Mon Apr 24 20:13:52 CEST 2017


I originally tried an on-chip sigma-delta followed by an analog lowpass. I 
found the result to be quite noisy, even with a 3rd order loop. There was 
also an issue of some distortion caused by differences in rise time and 
fall time of the fpga digital outputs. This can be handled by encoding the 
bitstream, but lowers the data rate. Also, I didn't do any dithering, so 
there was probably some fixed pattern noise.

I could only get 6-8 bits worth using an on-chip sigma-delta. The external 
sigma-delta DAC chips are much better. The Cirrus chips we use are 
multi-bit sigma-delta, meaning that they combine sigma-delta with multibit 
converters in the loop. In this way the sigma-delta doesn't need to 
provide all of the bits. Also, the sigma-delta filters are 
presumably optimized in a way that I don't have the experience to 
duplicate.

I wouldn't recommend doing an on-chip sigma-delta conversion, unless you 
are only shooting for 8 bits or so. For higher bit-widths I would rather 
leave the conversion to the pros.

Jim


On Sat, 22 Apr 2017, Olivier Gillet wrote:

>> They probably do as I do on the Cyclebox, which is run everything at 24MHz
>> then decimate (subsample) to 96KHz (or whatever the DAC SR is) to feed into
>> the oversampled DAC.
>
> I don't think there's a need for a DAC at all. They just run the
> sigma-delta loop(s) in the FPGA, taking the already oversampled signal
> as input, and directly produce a 1-bit stream at 24 MHz straight from
> a FPGA pin - that is externally low-pass filtered.
>
> It would be inefficient (and would introduce some unnecessary latency
> due to filter length) to downsample to 96kHz in the FPGA, then
> re-upsample to MHz in the DAC.
>



More information about the Synth-diy mailing list