Can multiple 16 bit DACs make 24 bit definition? - Page 1
Forum section: electronics / projects

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 18, 2023, 03:36:04 am
content: Direct converting 24 bit DACs are no more produced, as PCM1704. I have in mind TDA1387 16 bit very low cost with 98db S/N ratio at bipolar zero as building block. I may be using STM32h750 uC DSP to feed the multiple DACs.

author: BrianHG
author_rank: Super Contributor
timestamp: January 18, 2023, 04:06:23 am
content: So, you want to sum 2 DACs together, having the second one with a set volume gain 1/65536th of the first making a 32bit DAC, right? Get ready for expensive temperature compensated custom resistors. Though, you would probably only need 1 per channel as you can go with a super precision standard value for the high gain one, like a 1K, 0.002% tolerance with an insane temp-co. Though these resistors are something like 10$ to 20$ each at digikey.

author: BrianHG
author_rank: Super Contributor
timestamp: January 18, 2023, 04:18:07 am
content: Just so we are clear, you are better off running the DAC really fast and insert noise shaping dithering which will achieve more bit depth of resolution, or, go for a 4$ 32bit 192KHz dac from TI with 123db SNR, internal digital oversampling filter for lower bitrates than paying for around 40$ in precision resistors and getting perfectly matching DACs and dealing with all that.

author: Psi
author_rank: Super Contributor
timestamp: January 18, 2023, 04:41:16 am
content: Translation, don't try reinvent the wheel.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 18, 2023, 06:23:40 am
content: The major problem for serial mode is the noise. The signed 16 bit is +/- 32768 steps that is -90.3db per step. The noise is 98db, this means, I can add only 1 bit in series, all others get drowned in the noise. What concerns adding precision, 3×8 bit, with the second 1/128 gain of the first and the third 1/256 gain of the second.Another way is not adding the bits but multiplying. The signal always defined by 16 bits but get attenuated by the 8 highest bits down to 256 times if they are zeros. By this if the sound level is -43 db lower than the max, it is still defined by 16 bits. This is not a true 24 bit definition.

author: ejeffrey
author_rank: Super Contributor
timestamp: January 18, 2023, 06:37:08 am
content: Quote from: Kokoriantz on January 18, 2023, 03:36:04 amWhy do you want a direct converting 24 bit DAC? There are some good and some bad reasons to want that, it would help to know what your goal is.Yes, you can combine a coarse + fine DAC to get more resolution. It's not generally a good idea. The performance of the coarse DAC (especially but not exclusively the DNL) limits the overall performance of the hybrid. If the IC designers who were designing the 16 bit DAC wanted to laser trim and temperature compensate and linearize everything to the ppm level they would have made it a 24 bit DAC to begin with. That's not to say that you can't sometimes get some benefit but it's for narrow use cases.IC DACs are often designed with a coarse and fine stage, but they are designed together to meet a common performance target.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 18, 2023, 09:08:02 am
content: I want to learn programming DSP for interpolation the signal with sinc function. To verify the result, I need a direct converting DAC. 20 bit is enough but why not 24 if possible.I see people paralleling several DACs, I wonder if the noise does increase in proportion?

author: MegaVolt
author_rank: Frequent Contributor
timestamp: January 18, 2023, 09:39:04 am
content: For this to work, a coarse ADC must be very linear. For example PWM ADC. A conventional ADC is fairly non-linear and simply adding extra voltage from a precision ADC will not work. We will have to compensate for the non-linearity of the coarse ADC with an accurate ADC. This means a table of corrections for each step of the coarse ADC that will have to be measured first.

author: gf
author_rank: Super Contributor
timestamp: January 18, 2023, 09:42:09 am
content: Quote from: Kokoriantz on January 18, 2023, 09:08:02 amAlso think about the next step: How do you intend to measure the (analog) result which you want to verify?For verification, you need to measure it with even higher precision/accuracy/linearity.If you just want to verify a DSP algorithm, then do it mathematically, via simulation.

author: HalFoster
author_rank: Frequent Contributor
timestamp: January 18, 2023, 11:05:48 am
content: Jim Williams did 20 bits... with the right ADC and design this idea could approach 24 bits. Be hard to do, though.https://www.analog.com/media/en/technical-documentation/application-notes/an86f.pdfHal

author: bson
author_rank: Unknown
timestamp: January 19, 2023, 07:24:44 pm
content: Two 16-bit ADCs can give you a 17-bit conversion. You'd need 256 16-bit converters for a 24-bit conversion.However, with a DAC and an ADC you can make a successive approximation converter, where you take one reading of the full extended fill scale, narrow down the gain to say 1/16, use the DAC to set a bias so the input centers in that range, then repeat a second time for 1/256 of the extended FS. The bias voltage plus the voltage the conversion represents will give you the extended conversion.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 19, 2023, 07:31:39 pm
content: Quote from: bson on January 19, 2023, 07:24:44 pmNote that you are also cumulating errors from all ADCs, so the additional bits will not be what they seem.24-bit DACs for audio are all over the place, and they have become quite cheap, I don't understand the problem.

author: bson
author_rank: Unknown
timestamp: January 19, 2023, 07:32:52 pm
content: Quote from: SiliconWizard on January 19, 2023, 07:31:39 pmThis! Cheap and without all the complicated calibration fuss.

author: ejeffrey
author_rank: Super Contributor
timestamp: January 19, 2023, 08:31:39 pm
content: Quote from: Kokoriantz on January 18, 2023, 09:08:02 amYou don't need that. You can do signal interpolation and use an ordinary audio DAC.Quote from: HalFosterThat approach (at least as Jim Williams did) requires the DAC to have as much resolution as your desired output. i.e., you need a 20 bit DAC to get 20 bits. What it does is to fix the INL and gain/offset drift of that DAC with a high quality ADC. It can't handle a non-monotonic DAC or one fix a large dead zone to to DNL. Since the OP is trying to create a 20-24 bit DAC from lower resolution parts, that isn't going to help.You can improve on that approach with dithering and more complicated digital feedback, at which point you have re-invented sigma-delta DACs.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 20, 2023, 06:08:35 am
content: Modern DACs have internal oversampling, interpolating filters that alter the sampled values at recording. The purpose of the DSP along by reading and converting different formats, is to interpolate the mid points between two samples by using windowed sinc function and repeat second time with calculated midpoints to get 4 times higher resolution. The DAC in such case should not alter the data as is the case with modern DACs.The major problem to increase the bit numbers is the noise. When the tda3187 has -98 noise the pcm1702 20 bit DAC has lower than -140db. I may drive the DACS with delta, the difference between the new and the precedent output and integrate after the DAC current. This requires the DC to 30Hz a separate 2 DACs of16 bit in differential, while the delta sigma output is high cut to 30Hz. What will be the noise -98db be reduced to if above 30Hz is first order cut? At 3khz it should be -140db. This means if I parallel 32 16 bit and add the last 4 bits + first sign bit, I can get 20 bit definition with total 35 16bit DACs.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 20, 2023, 06:21:01 am
content: Quote from: bson on January 19, 2023, 07:24:44 pmTheoretically, two 16-bit ADC/DACs could generate a 32-bit conversion (simply by summing them in ratios of 1:65536). Of course, that would require zero noise, zero gain error, zero offset error, and perfect linearity. Not going to happen.Realistically, you are probably better off oversampling and, as you say, increasing resolution by one bit per each doubling of number of conversions (or converters, in your example).

author: Haenk
author_rank: Super Contributor
timestamp: January 20, 2023, 08:56:23 am
content: Quote from: Kokoriantz on January 18, 2023, 03:36:04 amI have seen them "new", but at a very high price (AFAIR like 300,- EUR); however you could just salvage them from gear - however not cheap either, I'd guess around 100 EUR per piece.

author: DavidKo
author_rank: Frequent Contributor
timestamp: January 20, 2023, 09:17:03 am
content: My intention is to try summing 2 PWM DACs as described inhttps://www.edn.com/combine-two-8-bit-outputs-to-make-one-16-bit-dac/. Most important is the summing resistors ratio, but maybe one can get rid of it by calibration of low voltage DAC. I do not want to create 32bit DAC, but something like 16+8bit DAC or maybe better 12+12bit DAC (realized by 16bit DAC from STM32 blue pill).Edit: I had now looked to the math behind the resistors and maybe will be better 8+16bit DAC (summing resistor for the small values can stay the same). One can even thing about playing with the value of the higher voltage part of the DAC (choose 1000 for example) to get nice ratio between the summing resistors, since they seem the be most critical in the whole design.

author: Siwastaja
author_rank: Super Contributor
timestamp: January 20, 2023, 09:35:15 am
content: The summing idea does not scale because any gain, offset and linearity errors totally kill it.It's almost trivially easy with two 8-bit DACs and the result will not be 16-bits ENOB but possibly 12-13 bits. It is easy because 8 bits is just so little resolution to begin with.If 16 bits is not enough, getting any more than that using the same idea would require extreme performance from the opamps and resistors figured. Think about it this way: 16-bit PWMDAC0 generates signal between 0V and 3.3V. One LSB is thus 3.3V/65536 = 0.00005V. Thus, the full range of divided down PWMDAC1 would need to be this 0.00005V (LSB = 0.00000000077V). Imagine just 0.00005V of offset error difference between the signals: here goes the complete signal of PWMDAC1, the thing is already generating more error than trying to solve.Add any gain errors. For example, the mix ratio needs to be 1:65536 so that full scale of PWMDAC1 produces 1LSB in PWMDAC0 terms. Make the ratio 1:65537 and you are are from 16 bits down to 15. Thus, you need something like 0.0015% resistors just to break even. If you want any extra bits of resolution, you need like 0.00001% resistors. Not available.You need to do it some other way. By far, easiest will be to just buy a 24-bit DAC (and follow all the schematic and layout suggestions carefully). Or, hire an analog / mixed signal expert. Past 16 bits gets pretty difficult.Remember, PWM DACs also have gain and offset errors because of internal paths inside the MCU are resistive and current flows cause varying voltage drops, so a CMOS MCU does not output exactly 0V or Vcc. Further, CMOS outputs have quite variable output resistance, anything between say 10 to nearly 100 ohms.

author: DavidKo
author_rank: Frequent Contributor
timestamp: January 20, 2023, 09:53:15 am
content: Sorry for the edit of previous message (I started to wrote it since there was no post in between)I do not want to use PWM signal directly from the CPU, that will not be stable. At first your reference must have the stability of the LSB (so 24bit DAC is good enough for usual application). I want to PWM 10V reference.With resistors you are right, but there are few options:1. you will tune the resistors (simply measure the voltage of PWMDAC0 for its LSB) and than tune the voltage for all 1 from PWMDAC1. The issue there will be TCR of resistors.2. do this in SW same issue as previously TCR of resistors3. use for example 0-1000 from first PWMDAC0 and rest of values create from PWMDAC1 - you can get divider networks will low TCR for the ratio

author: DavidKo
author_rank: Frequent Contributor
timestamp: January 20, 2023, 10:14:13 am
content: You can use the MCU with higher bit PWM. I expect that there will be some catches as always, but in case that one have such a MCU, he can try how it will work.There will be always issue with noise and stability of the whole system. Independently on the type of the DAC. Reference noise and the stability, noise of the used buffer, Johnson noise on the resistors in the circuit etc. will influence the output voltage of the system.

author: Terry Bites
author_rank: Super Contributor
timestamp: January 20, 2023, 02:35:36 pm
content: You can double your sample rate but subranging is going to be so error prone as to make the result meaningless.As pointed out 24bit ADCs are cheap.

author: jonpaul
author_rank: Super Contributor
timestamp: January 20, 2023, 02:45:08 pm
content: Hardly understand the OP,.... because 24 bit DACS are no more produced...The Audio industry uses milliions of 24 bit DACS monthly.AKM ESS, TI, have a line of 32 bit DACS.https://www.akm.com/us/en/products/audio/audio-dac/Jon

author: BrianHG
author_rank: Super Contributor
timestamp: January 20, 2023, 03:07:25 pm
content: So does TI:https://www.ti.com/audio-ic/converters/dac/products.html#p1345=2;2&p84=24;32&p2017typ=120;127And you can see the 8$-13$ ones (come from TI's acquired 'Burr-Brown' division) with 132db SNR in mono balanced mode.That's a number of orders of magnitude better than the OP's 98db junk.The OP is dreaming if he thinks tying 2 16bit 98db DACs together will achieve anything greater than 98db.An if you want a straight output, you can disable all internal oversampling in the DAC for low sample rates via I2C, or, just feed the DAC a 192KHz audio with repeated words.

author: BrianHG
author_rank: Super Contributor
timestamp: January 20, 2023, 09:22:45 pm
content: Quote from: SiliconWizard on January 20, 2023, 09:09:43 pmWe aren't even sure what the OP want to do or why.If he only needs 1khz output bandwidth, then running a super high quality 12bit dac really fast, with a super precision voltage reference, toggling / dithering the dac between 2 values on 1 LSB bit with a simple RC filter on the analog output can still achieve a programmable 24bit DC level / reference.I guess it's time to stop tossing spaghetti at the wall to see what sticks.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 20, 2023, 09:26:49 pm
content: This how the modern DACs convert, how much of the values remain exact after passing through the washing machine.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 20, 2023, 09:43:10 pm
content: The PCM1794 is one of the best 24-bit audio DACs out there, I've used one in a design.But you apparently want to do better. Nice. I'm sure that will happen.Now of course most modern audio (and not just audio btw, this is the case for most modern high-res) DACs are sigma-delta, and sigma-delta modulators require some significant processing to get the job done with proper results, but it's a very well known and mastered topic these days.Anyway.

author: ejeffrey
author_rank: Super Contributor
timestamp: January 21, 2023, 07:05:56 am
content: Quote from: Kokoriantz on January 20, 2023, 06:08:35 amYou really don't need to worry about that. You can just treat the delta sigma DAC as a "regular" DAC and ignore the internal signal processing. They are very good approximations of an ideal DAC up to ~80% of the Nyquist frequency.There are a couple of real limitations to delta sigma DACs. The first and by far the most important is the latency. The internal signal processing increases latency. That a problem for high speed control applications where the extra phase can make feedback loops unstable. Minor issues are that that the noise floor isn't flat and that the transfer function rolls off before the Nyquist frequency due to the digital anti aliasing filter. This means you can't use them for second/third Nyquist zone generation. Actually you can but you need to modify the modulator to have a bandpass filter rather than low pass. This is relatively uncommon to do with either R2R or DS converters.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 21, 2023, 11:51:52 am
content: If you read carefully the explanation of the decoder, it works as I suggested in post 4. The upper 6 bits command the five level delta sigma value. That is if the signal level is low the 18 lower bits are multiplied by a low voltage level. This type of DAC can also be implemented using a PWM of lower 12bits and the voltage of the pulse is provided by the higher 12 bits. It works if you mesure single frequency signal. Where these good measuring solution fails is when you have a high level bass and very low level high frequency, the system cannot provide resolution for the high frequency in such case. In short it can give clean 0 +/-1 LSB but not max +/-1 LSB.On "Ali" I see Chinese versions of PCM1704 sold for 70$ but only 12$ for 1702 20 bit new production, May be it worth to try out. Still I will dig in to make use of the 16bits cost nothing only $1 for 10pcs.

author: jonpaul
author_rank: Super Contributor
timestamp: January 21, 2023, 12:09:10 pm
content: the technique of high resolution converters began in 1942, see SIGSALY Quantizer flash converter and progressive or cascaded converters.By 1970s we used rundown converters and then the first 16 bit Sony rundown / residue convertersWe started 16..24 bit digital audio design in 1985 at the dawn of oversampling ADC/DAC.Suggest that the OP research à bit deeper before reinventing the wheel.Bon chanceJon

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 21, 2023, 12:39:26 pm
content: You can try and probably get it to "work", however, whether it will be an improvement is very doubtful.You would have to start with a 16 bit DAC, which has the specifications of a 24bit DAC, and I doubt very much they exist. Result is that the the "main DAC" has so much imperfections that you just don't know what the second dac will be correcting for.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 22, 2023, 06:06:10 am
content: The best I got at this moment is by paralleling DACs the signal is added in current but the noise is added in power, that is to the √n.http://www.sengpielaudio.com/calculator-leveladding.htmThis means if I parallel 32 DACs of 98db S/N each I get 113db in total, this allows me to add 3 more bits. As I am transfering the delta and not the value, 3 bits becomes 16 new levels that will be added by the interpolator, may be it is enough.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 22, 2023, 08:28:22 am
content: The PCM1794 is an 18bit DAC resolution +6 modulators and costs $5 only with -140db noise.. It is possible to use two paralleled by fixing one, the most 5 bits to 1 so that the multilevel is fixed to max, loaded by the highest 18 bits + sign but the second has the 5 lowest bits + sign and all others to zero. By this I get 24 bits non modulated for $10.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 22, 2023, 05:43:43 pm
content: Quote from: Kokoriantz on January 22, 2023, 06:06:10 amEnough for what?Your part numbers suggest you want to do something with audio.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 22, 2023, 08:10:37 pm
content: Yes, it is audio. By interpolating twice, I get three new samples between two initials and placing them on a grid of minimum 16 levels is enough.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 22, 2023, 08:43:28 pm
content: If it is audio, unless you are actually designing a *measurement device* (that would obviously need to have much better performance, as a lab instrument), then trying to do better than the PCM1794 (or others on the market) sounds completely pointless. Those are already very good and anything after the DAC, such as any amplifier, is going to completely ruin any attempt at getting better specs anyway. I don't get it. Or are you designing a lab instrument? In which case, that could make sense. If you are designing something to actually *listen* to audio, then it's, no offense, wanking.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 23, 2023, 01:28:11 am
content: This what your beloved DAC produce. I believe, if only the MSB+18 lowest bits are used keeping all others zero, There will be flatter steps. Even 2×19 bit for $5 is a bargain.

author: KaneTW
author_rank: Frequent Contributor
timestamp: January 23, 2023, 01:42:00 am
content: I'm convinced Kokoriantz is the treez of audio.

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 23, 2023, 03:06:26 am
content: How to compete?

author: ejeffrey
author_rank: Super Contributor
timestamp: January 23, 2023, 07:07:37 am
content: Quote from: Kokoriantz on January 23, 2023, 01:28:11 amI'm not sure what you are trying to say here, nor have you provided enough context for the scope capture you showed for it to mean anything. At the very least show the horizontal and vertical scales and tell what the two traces are!It is hard to say but it looks like you don't have a lowpass filter on the DAC output, if so that is a pretty big problem.

author: BrianHG
author_rank: Super Contributor
timestamp: January 23, 2023, 07:26:58 am
content: Quote from: Kokoriantz on January 23, 2023, 01:28:11 amShow us your DAC schematic.And we better see the DAC running in mono mode, differential output feeding an opamp filtered, then with a second opamp with the gain set to a +/- 15v output full scale (IE: at least +/-18v supply for the opamps), all mounted on a single PCB with proper ground planing and EMI filtering.All I see is some inaccurate measurement where the scope probe is picking up ground ring and noise floor due to a misunderstanding how tiny a voltage the OP is trying to make and all it's surrounding consequences.And if we see the DAC wired in a standard stereo mode, with all the gain in the measurement on the scope side, or you doctored the gain of the data for your other dac reference, then, I don't think you understand or read the DAC data sheet, or the consequences of the gain and bandwidth of using a scope's gain to measure the DAC's performance.(I'll permit a 20vp-p output with a +/- 15v supply. as a valid test. And your output should be wired directly into your scope with a heavy thick shielded RCA cable tp RCA-BNC adapter, no probe, with your scope bandwidth set to 20MHz.)

author: Kokoriantz
author_rank: Frequent Contributor
timestamp: January 23, 2023, 08:21:24 am
content: I copied this picture from Youtube, I noted it is 15khz before and after filtering in blue. The noise you see is not noise it is 64xfs, oversampled, single bit multi level. I was wrong about the step levels. If MSB and 18 lowest bits are only used, the output maybe is single bit single level as normal delta sigma should. Note also that at positive high level, the modulation is much lower than the negative side. This confirms the lower bit definition is variable, but not symmetrical to zero as I thought.This DAC if used with external filter, it works only in mono.Imagine I need to see my interpolator result bellow -90db. If max output is +/-10V, I will be looking in 0.3mv range, it is impossible to verify with scope+ preamp the result with delta sigma, whereas with 20bit direct converter I can see as bellow.