What makes an R-2R DAC nonmonotonic?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
diyAudio Member RIP
Joined 2005
So, after noticing that few DAC manufacturers supply even the nominal output resistance of so-called current output DACs, and as well remarking on other threads that various I-V converters will have issues interacting with the finite output resistances, I started looking in the literature for information on just what the behavior would be for R-2R-network-based DACs.

After consulting a few books and searching online, I've yet to find this material discussed, other than in the form of generalities and admonitions. I'm certain it is out there in the literature somewhere, but I haven't managed to find it. So I decided to do some calculations and simulations.

I selected the network resistance to be 1kohm. So each bit switch pulls a 2k resistor to one of two current output lines, which are then terminated in variable resistances. Each output line was sequenced through the complete set of codes, and the criterion for comparison was the threshold of departure from monotonicity. That is, when a code increase produced no change from the preceding code, that termination resistance was noted. There is an appreciable effect due to where one is in the code ramp, and I may publish the detailed data in some form or another.

But I thought some sense of the magnitude of the effects might be informative.

Working with relatively low-resolution to begin with, here are some results from simulation:

Threshold of non-monotone behavior, values in ohms at each output:

3 bits: 2.055k
4 bits: 773
5 bits: 353
6 bits: 108
7 bits: 50.1
8 bits: 20.2
9 bits: 11.9

So it can be seen that even for quite modest resolutions, the necessary approximation to a virtual ground is fairly stringent.

Now, of course a lot of audio DACs are constructed with low-resolution networks towards the output(s), and use noise-shaping oversampling delta-sigma techniques and resulting pulse-density outputs rather than strictly R-2R networks. Even with this however it can be important to terminate in reasonably low impedances for best results. There is also some anecdotal material that reports a preference for the sonics of multibit converters.

The manufacturers' almost universally recommended I-V converters are one or another opamp with the current fed in directly to the inverting input(s) and some passive network for feedback that sets the bandwidth and current-to-voltage conversion gain. Others, noting the large amounts of spurious high frequency energy in the DAC outputs prescribe various passive filter networks ahead of the opamp inverting input(s). But consideration of the above numbers suggests that this may spoil things very easily.

What I am drvinig towards is a reconsideration of the basic notions of I-V converter achitectures, and was inspired in this regard in particular by various recent discrete solutions, in particular those of EUVL's "Sen" circuits as a starting point. While these designs are in gestation I thought it would be nice to at least motivate them by getting some idea of what constitutes an adequately low input impedance.

Brad Wood
 
diyAudio Member RIP
Joined 2005
Interesting.. I currently use ~3 ohm I/V resistors with PCM1794A which noted of course is not an R2R dac..

From the datasheet: "The PCM1794 uses TI’s advanced segment DAC architecture to achieve excellent dynamic performance and
improved tolerance to clock jitter. The PCM1794 provides balanced current outputs.
Digital input data via the digital filter is separated into 6 upper bits and 18 lower bits. The 6 upper bits are converted
to inverted complementary offset binary (ICOB) code. The lower 18 bits, associated with the MSB, are processed
by a five-level third-order delta-sigma modulator operated at 64 fS by default. The 1 level of the modulator is equivalent
to the 1 LSB of the ICOB code converter. The data groups processed in the ICOB converter and third-order
delta-sigma modulator are summed together to create an up-to-66-level digital code, and then processed by
data-weighted averaging (DWA) to reduce the noise produced by element mismatch. The e data of up to 66 levels from
the DWA is converted to an analog output in the differential-current segment section.
This architecture has overcome the various drawbacks of conventional multibit processing and also achieves
excellent dynamic performance."

So it sounds like we are close to a 6-bit final output current DAC here. If we knew its Z we could evaluate the maximum termination Z for best-case monotonic performance.

Of course using extremely small R values for a passive termination entails some rather suboptimal signal-to-noise ratios.
 
Administrator
Joined 2004
Paid Member
<snip>
So it sounds like we are close to a 6-bit final output current DAC here. If we knew its Z we could evaluate the maximum termination Z for best-case monotonic performance.

Of course using extremely small R values for a passive termination entails some rather suboptimal signal-to-noise ratios.

Yeah, there are some tradeoffs. The resolution of this particular design is noise limited in the analog path.. Details of the offending I/V converter design can be found here: http://www.diyaudio.com/forums/tube...r-i-v-converter-differential-current-dac.html

I had a bit of fun, but I do eventually plan to increase the value of those resistors to increase output level a few more dB.. I'm pretty satisfied with the performance even though I readily admit the measurements (and calculations) indicated I am throwing away available bits.

I've heard the 1794A driving a 1K resistor single ended, was not impressed.. lol
 
diyAudio Member RIP
Joined 2005
The higher value terminations I've seen mainly on TDA1543 and TDA1387 (which is my current favourite) - neither are R2R but segmented current source. I can't say as I've noticed SQ variation in going up from 50R to a few hundred ohms on the 1387.

Do they actually disclose the impedances? The bother about so much of this stuff is the imprecision of nomenclature. A person relatively new to electronics, but possibly well-schooled in fundamentals, could reasonably assume that a "current source" is rather high impedance. But of course in the Land of DACs it can be anything but.

But sound quality is just that. For all I know some nonmonotone behavior could turn out to be mellifluous, though I'd tend to be dubious at first glance.

Yet to be done is an analysis (probably best done in Mathcad and the ilk) of HD and IMD as a function of these specific code-related variations. I would intuitively suspect that some rather high-order distortion terms would appear, albeit at relatively low levels. But it doesn't take much at some orders to be potentially obnoxious.
 
diyAudio Member RIP
Joined 2005
Yeah, there are some tradeoffs. The resolution of this particular design is noise limited in the analog path.. Details of the offending I/V converter design can be found here: http://www.diyaudio.com/forums/tube...r-i-v-converter-differential-current-dac.html

I've heard the 1794A driving a 1K resistor single ended, was not impressed.. lol

I'm confident that some strategies could easily realize a sub-three-ohm input termination out to high frequencies, without other concomitant deficiencies, and not be the noise limitation.
 
Do they actually disclose the impedances?

Not to my knowledge no, and I've digested the DSs fairly thoroughly. They do separate out the DC compliance from AC though and recommend a maximum 25mVAC on the 1543. No such strictures on the 1387.

The bother about so much of this stuff is the imprecision of nomenclature. A person relatively new to electronics, but possibly well-schooled in fundamentals, could reasonably assume that a "current source" is rather high impedance. But of course in the Land of DACs it can be anything but.
Indeed so on R2R, less so on segmented current sources I reckon but I have no measurements to back this up other than a multitone test with multiple DACs in balanced mode. I'm unclear how nonmonotonicity would relate to such a measurement.

But sound quality is just that. For all I know some nonmonotone behavior could turn out to be mellifluous, though I'd tend to be dubious at first glance.

I guess I lack sufficient cynicism to make the leap from 'quality' to 'mellifluous'
:)
 
bcarso said:
Others, noting the large amounts of spurious high frequency energy in the DAC outputs prescribe various passive filter networks ahead of the opamp inverting input(s). But consideration of the above numbers suggests that this may spoil things very easily.
A diplexer might work OK. LF current sent to the opamp virtual ground. HF current sent to a low value resistor. Given that low impedance is a requirement, the finite Q of any inductor may need to be taken into account in the design.

Also, the virtual ground is not a short circuit or even resistive itself but looks rather like a lossy inductor due to the dominant pole in the opamp forward path. This doesn't often seem to get mentioned.
 
diyAudio Member RIP
Joined 2005
A diplexer might work OK. LF current sent to the opamp virtual ground. HF current sent to a low value resistor. Given that low impedance is a requirement, the finite Q of any inductor may need to be taken into account in the design.

Also, the virtual ground is not a short circuit or even resistive itself but looks rather like a lossy inductor due to the dominant pole in the opamp forward path. This doesn't often seem to get mentioned.
Yes, the input Z is inductive for resistive FB in the opamp circuits most employ, although with a feedback capacitor can be resistive for a portion.

What would be interesting: the actual spectrum of the out-of-band energies for various noise-shaped DACs. CMOS is fast but not unlimited. And depending on the DAC topology, the transitions are not swinging the maximum amount all the time, although I guess some DSD schemes approach it.

The approach that's under development starts with something inherently low-Z and fast, and then applies feedback around that input (not necessarily global feedback as in a current-feedback amp) to further reduce the impedance. Of course there are other errors in the conversion besides those arising from the input impedance, but it's nice to have the input Z low. Pushing things, one can acquire a high sensitivity to capacitance at that node as well, and some DACs also have significant variation in that C with code, also rarely specified.

The BF862, or paralleled 862s for higher currents, seem fairly promising, and should accommodate some rather high-frequency energy without significant errors and without additional filtering in series with the DAC.
 
bcarso said:
Pushing things, one can acquire a high sensitivity to capacitance at that node as well, and some DACs also have significant variation in that C with code, also rarely specified.
Good point. I hadn't thought of that.

Just to put some numbers on the virtual ground, assume an opamp with GBW of 20MHz, DC gain of 10^6, and a feedback resistor of 1k. This gives a virtual ground equivalent to 8uH in series with 1mR.

Put a 3nF cap across the 1k to get about 50kHz rolloff and this adds a 2.5R resistor in parallel with the inductor. An alternative way to get a 50kHz rolloff would be to omit the cap and instead just put a real 2.5R resistor in parallel with the opamp input. The advantage of this is that the resistor shunts HF current away from the opamp. The snag with this is that the actual rolloff freq then depends on the GBW of the opamp, which will suffer from sample variation so you could get inter-channel differences. Maybe use a smaller cap and larger parallel resistor?
 
diyAudio Member RIP
Joined 2005
Good point. I hadn't thought of that.

Just to put some numbers on the virtual ground, assume an opamp with GBW of 20MHz, DC gain of 10^6, and a feedback resistor of 1k. This gives a virtual ground equivalent to 8uH in series with 1mR.

Put a 3nF cap across the 1k to get about 50kHz rolloff and this adds a 2.5R resistor in parallel with the inductor. An alternative way to get a 50kHz rolloff would be to omit the cap and instead just put a real 2.5R resistor in parallel with the opamp input. The advantage of this is that the resistor shunts HF current away from the opamp. The snag with this is that the actual rolloff freq then depends on the GBW of the opamp, which will suffer from sample variation so you could get inter-channel differences. Maybe use a smaller cap and larger parallel resistor?
The main problem with a small physical parallel resistor is its high parallel noise (or "current" noise), and the very high noise gain for the opamp's e sub n. So for example a 2.5 ohm resistor at 300K has about 81.4pA/sq rt Hz, which with the 1k feedback R amounts to an output voltage noise density of 81.4nV/sq rt Hz. If the opamp is even as low as 1nV/sq rt Hz, this is multiplied by 1k/2.5 + 1, to give us 401nV/sq rt Hz at the output. Well at least this swamps the 2.5R current noise :) ; the two noise sources thus amounting to 409.2nV/sq rt Hz.

If the two noise sources are flat this amounts to an output rms noise of about 114.7uV with a single-pole 50kHz rolloff, and about 57.9uV rms with a brickwall 20kHz. So for a, say, 8mA peak DAC output, we have 5.657mA rms hence 5.657V rms at the opamp out. we'd manage at best a 99.8dB signal-to-noise ratio, if I haven't blundered here. Not the end of the world and for some apps even respectable, but probably well below most DACs' performances. And that is a pretty good opamp too.

With A-weighting things would get a little better, and I notice most DAC vendors throw that in.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.