• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Custom test for DAC performance

mike7877

Addicted to Fun and Learning
Joined
Aug 5, 2021
Messages
818
Likes
184
So I got this idea thinking... First, scenario will be testing how well DACs work.

Example: P Company makes Magic DAC. First, we're testing two identical units.

Test 1
- run 1kHz through the right channel of both DAC1 and DAC2, with DAC2's sine in opposite polarity (ie when DAC1 is at 1V and increasing in potential, DAC2 is at -1v, decreasing)
- stick a 1k ohm resistor on DAC1's output, and a ~1k ohm variable resistor on Magic DAC2's output
- adjust DAC2's variable resistor until its output impedance (DAC2's output impedance through its var. resistor) is the same as DAC1's output impedance through its 1k ohm resistor (to measure DAC1: connect the 1k ohm output resistor to ground, the volt meter across the resistor, send 1kHz at full scale, recording the voltage. Signal then sent to DAC2, its variable resistor adjusted to match record).
- DAC1: 1.94V with 1100 ohm impedance: exactly 1.76mA
- DAC2: 1.94V with 1100 ohm impedance: exactly 1.76mA

-----With DAC1 and DAC2 running opposite polarity, DAC2's average 1.76mA eats DAC1's average 1.76mA, and DAC1's average 1.76mA eats DAC2's average 1.76mA
-----Therefore, silence on the output.

Disagreements?


Test 2 (a)
- Same as Test 1, except 32 tone multitone is running
-----silence on the output

2b)
- Same as Test 2a, except instead of normal ~40dB level of tones, they are -60
-----silence on the output as well

Disagreements?


Test 3
- Same as Tests 2 , except instead of multitone, it's a random pop song
-----silence on the output

Disagreements?


Test 4
- We need a third DAC for this experiment, so we bought another Magic DAC (and are calling it DAC3). It's connected with the same polarity as DAC2, and has a 1k ohm var resistor (also calibrated). This means DAC3 could replace DAC2 in Test 2, and the result would be the same (silence).
- This test:
DAC1 plays 32 multitone @-60 and the random pop song from Test 3 is used. The music amplitude is set so that the music + 32 tones have a peak level of -4dB
DAC2 plays 32 multitone @-60 and that's it
DAC3 plays the random pop song
As before, DAC2 reverse polarity, and DAC3 is the same
-----silence on the output

Disagreements? Why or why not?

Things I didn't incorporate but are also true:
- Sample rate and bit depth: 24/192
- -3dB point: 91kHz
- no tricks (same filter is used on all DACs, signal is fed on the same clock)


I'm thinking of carrying this out
 
There's nothing wrong with traditional noise, distortion, and frequency response measurements.

And in any case, the measurement equipment has to be better than your unit-under-test.


...On the other hand, I've never heard a defect or a difference from a DAC so it's not something I worry about.
 
There's nothing wrong with traditional noise, distortion, and frequency response measurements.

And in any case, the measurement equipment has to be better than your unit-under-test.


...On the other hand, I've never heard a defect or a difference from a DAC so it's not something I worry about.
Did you read the test?

Edit: Asking because I'm looking for input and you didn't give yours on any of the tests. Test 4 most importantly,

Edit2: I'm wondering if you agree there should be silence. Personally, I think there should
 
Out-of-phase signals fully cancel when summed, in a ideal world, in all of your test cases (in Test #4 DAC 3 also has to be inverted).

Practically, you're limited by random noise which doesn't fully cancel. More importantly, there will be also a residual because of component tolerances that ever so slightly affect frequency response. Also, there may be reference drift and clock jitter, even when all DACs are truly sample-synced which is almost impossible to reliably achieve unless it is all channels from one single mulitchannel DAC unit.

And the modern, digital version: https://deltaw.org/
 
Another version of the null test is to record both DACs with a high quality ADC. Then compare the recordings. A member here has written software for just this purpose. It matches levels, aligns the files in time and does other useful things including subtracting one from the other to see what is left.

The software is called Deltawave and works with music. (I saw too late the KSTR had the link also).

He also has a Multitone test suite linked to that same address above.
 
Out-of-phase signals fully cancel when summed, in a ideal world, in all of your test cases (in Test #4 DAC 3 also has to be inverted).

Practically, you're limited by random noise which doesn't fully cancel. More importantly, there will be also a residual because of component tolerances that ever so slightly affect frequency response. Also, there may be reference drift and clock jitter, even when all DACs are truly sample-synced which is almost impossible to reliably achieve unless it is all channels from one single mulitchannel DAC unit.

And the modern, digital version: https://deltaw.org/
Hmm, so something like Topping's DM7 would be an ideal candidate?
(regrding DAC3 in test 4 needing to be inverted phase, Test 1 runs into 2, runs into 2a, runs into 3 - I did say Test 4 most importantly without mentioning the configuration was partially mentioned in the other tests {I forgot lol, sorry})

I'm wondering, did you see that I said the DAC had extended HF response, put the sampling rate to 192kHz and using the flattest filter? (+ lowest ripple, forgot to say), also staying under 20kHz for all the tones

It's a single device with 8 channel chip and 8 (balanced) channel outputs. (I say balanced because that almost doubles my part count :/)
Its jitter is near nonexistent:
1730490924618.png

And harmonics on the 32 tone all seem to be below the grass.
1730491294239.png

All harmonics appear to be under the noise floor as the IMD chart (not present) hints that even IMD remains below the noise floor until tones reach -37dB.


Basically, I think you agree noise should be minimal, but how minimal? If I match resistors by hand and use 1612s, doing my best to eliminate analogue errors by doing things like using the same source DAC (say the same channel of DAC1) to calibrate the inverting+ summing circuits, what do you think would be left?, Do you think the quiet noise, if turned up, would resemble the music in a way? Sound like someone spinning the heck out of a weighted dial on an FM radio that's almost out of range of 10 equally spaced stations, covering 88MHz-108 in about 1.5 seconds? (random, I know...)

I have a Babyface Pro, L30 II, L70, and A70 Pro. I have, before, amplified the heck out of 16 bit 44.1kHz music normalized to like -70dB, and progressively doubled the sampling rate, and compared the audio quality (for fun). All four of these amps, one into the next, could show some interesting results! Maybe...

I do technically have an 8 channel DAC I could use.
In my X3700H! (v2 with the improv DACs now used in the 3800s after the AKM fire)
 
What you cannot get rid of is the noise from thermal noise. So if you get a null with only this low level noise left that is as good as you can get.

I see you have a Babyface Pro. So use the ADC on that along with Deltawave to try your different DACs. See what the results are. It is a simpler way to get very close to doing this in the analog world altogether. That would be an excellent idea to do both and see how they differ. But I've used Deltawave with a Babyface Pro and you can get some very good results. Deltawave has lots of information on the result. You can figure out where the differences that are left come from. It has the ability to correct for EQ and phase. Usually that pretty much gets rid of differences. I think you'll find the differences in most modern DACs are mostly in the anti-imaging filtering. As those are usually so high in frequency we don't hear those much at all.

Deltawave works best with 1 to 3 minutes of music and you don't want to use it with less than 30 seconds. It can use test tones, but nulling those is not all that revealing. You can use Multitone to test that using DACs and the Babyface ADC. The Babyface ADC itself will limit how good the measurements can be, but I think you'll find that by then results are quite good.
 
To answer all your tests: you won't get silence. You will get noise.
 
So I got this idea thinking... First, scenario will be testing how well DACs work.

Example: P Company makes Magic DAC. First, we're testing two identical units.

Test 1
- run 1kHz through the right channel of both DAC1 and DAC2, with DAC2's sine in opposite polarity (ie when DAC1 is at 1V and increasing in potential, DAC2 is at -1v, decreasing)
- stick a 1k ohm resistor on DAC1's output, and a ~1k ohm variable resistor on Magic DAC2's output
- adjust DAC2's variable resistor until its output impedance (DAC2's output impedance through its var. resistor) is the same as DAC1's output impedance through its 1k ohm resistor (to measure DAC1: connect the 1k ohm output resistor to ground, the volt meter across the resistor, send 1kHz at full scale, recording the voltage. Signal then sent to DAC2, its variable resistor adjusted to match record).
- DAC1: 1.94V with 1100 ohm impedance: exactly 1.76mA
- DAC2: 1.94V with 1100 ohm impedance: exactly 1.76mA

-----With DAC1 and DAC2 running opposite polarity, DAC2's average 1.76mA eats DAC1's average 1.76mA, and DAC1's average 1.76mA eats DAC2's average 1.76mA
-----Therefore, silence on the output.

Disagreements?


Test 2 (a)
- Same as Test 1, except 32 tone multitone is running
-----silence on the output

2b)
- Same as Test 2a, except instead of normal ~40dB level of tones, they are -60
-----silence on the output as well

Disagreements?


Test 3
- Same as Tests 2 , except instead of multitone, it's a random pop song
-----silence on the output

Disagreements?


Test 4
- We need a third DAC for this experiment, so we bought another Magic DAC (and are calling it DAC3). It's connected with the same polarity as DAC2, and has a 1k ohm var resistor (also calibrated). This means DAC3 could replace DAC2 in Test 2, and the result would be the same (silence).
- This test:
DAC1 plays 32 multitone @-60 and the random pop song from Test 3 is used. The music amplitude is set so that the music + 32 tones have a peak level of -4dB
DAC2 plays 32 multitone @-60 and that's it
DAC3 plays the random pop song
As before, DAC2 reverse polarity, and DAC3 is the same
-----silence on the output

Disagreements? Why or why not?

Things I didn't incorporate but are also true:
- Sample rate and bit depth: 24/192
- -3dB point: 91kHz
- no tricks (same filter is used on all DACs, signal is fed on the same clock)


I'm thinking of carrying this out
the DACs need to run in sync, which will not work in async mode.
Even in sync mode ( spdif/AES) there could be a 'random' phase difference between the DACs that makes the form of nulling fail.
Lots of side effect make this way of working a challenge.
 
Sum of noise floors, or are you getting at something else?
You can not null noise unless it is a pseudorandom code made to look like noise and you know where the sequence starts ;)

When you see a graph with noise, you are sort of seeing an instant capture of an event which will never be repeated!
 
You can not null noise unless it is a pseudorandom code made to look like noise and you know where the sequence starts ;)

When you see a graph with noise, you are sort of seeing an instant capture of an event which will never be repeated!
I get it, I'm not trying to null the noise, just the stuff on top of it. So are you saying the noise floor plus that much noise again (total level per device being its own noise floor ×2) would be the noise, or just the sum of all the noise floors?
 
the DACs need to run in sync, which will not work in async mode.
Even in sync mode ( spdif/AES) there could be a 'random' phase difference between the DACs that makes the form of nulling fail.
Lots of side effect make this way of working a challenge.
I've got D70 Pro and D90 III (I know... they're for different systems)

I've used my D10s to RCA y-adapter on its s/pdif, split to both of those DACs, and when I send mono signal, take L from the 70 and R from 90III into the headphone amp, as long as the filter is the same on both DACs, they do sound to be in phase. I could feed both into my o'scope and see down to the nanosecond (its 200MHz). I might do that, actually. I could also do the null test with them this way, not needing to modify the signal, as I can just reverse the polarity of the output of one DAC)
 
As a for instance, let us say both DACs have -100 db noise with the same distribution (pinkish). Nulled perfectly to one another you would get -97 db of noise. If there is a big disparity, say -100 db and -120 db then you would get about -99.2 db noise.

Since you have a Babyface I suggest doing all this with Deltawave. Results will be quite close to doing it in the analog world. Close enough you will know how things work if you then want to do this for real as you proposed in post #1.

The other issue is synching. You probably would do okay if you can feed both DACs from the same clock like using your D10. Another benefit of Deltawave is it will synch the two streams for you. If you don't have the same clock they'll drift apart and ruin your null.

Free to get here. Might take a little fiddling to get a handle on how it works, but it works very well.

Also what you are going to find with DACs is the small differences in the filters will prevent complete nulling in the higher frequencies.
 
I've got D70 Pro and D90 III (I know... they're for different systems)

I've used my D10s to RCA y-adapter on its s/pdif, split to both of those DACs, and when I send mono signal, take L from the 70 and R from 90III into the headphone amp, as long as the filter is the same on both DACs, they do sound to be in phase. I could feed both into my o'scope and see down to the nanosecond (its 200MHz). I might do that, actually. I could also do the null test with them this way, not needing to modify the signal, as I can just reverse the polarity of the output of one DAC)
Ok take a look on your o'scope how far they are out of sync... please let us known
 
I'm not entirely convinced of testing DACs with traditional 0dBFS signals, I believe using -30 to -60 dBFS would be much more realistic of normal usage.
 
I'm not entirely convinced of testing DACs with traditional 0dBFS signals, I believe using -30 to -60 dBFS would be much more realistic of normal usage.

DACs are test with all levels. -60dBFS is typical of the end of a very quiet, almost inaudible echo. 0dBFS is the most important test. What is the distortion and performance of the D/A when operating at 16/24 etc level?

I've got D70 Pro and D90 III (I know... they're for different systems)

I've used my D10s to RCA y-adapter on its s/pdif, split to both of those DACs, and when I send mono signal, take L from the 70 and R from 90III into the headphone amp, as long as the filter is the same on both DACs, they do sound to be in phase. I could feed both into my o'scope and see down to the nanosecond (its 200MHz). I might do that, actually. I could also do the null test with them this way, not needing to modify the signal, as I can just reverse the polarity of the output of one DAC)

Add and invert one channel with respect to the other. Phase differences with X/Y (Lissajous).

Different DACs will have different latency (the internals/DSP/FIR filtering etc)- that will throw out the above method. It will only work with two channels of the same D/A converter.
 
DACs are test with all levels. -60dBFS is typical of the end of a very quiet, almost inaudible echo. 0dBFS is the most important test. What is the distortion and performance of the D/A when operating at 16/24 etc level?



Add and invert one channel with respect to the other. Phase differences with X/Y (Lissajous).

Different DACs will have different latency (the internals/DSP/FIR filtering etc)- that will throw out the above method. It will only work with two channels of the same D/A converter.

We're thinking the same - I thought I wrote that was my plan in the comment... guess not lol!

About 0dBfs being most important, I think it's lower. Not down as far as -60, but probably minimum -40 tops, with the most important in the -20 to -6dBfs. The only thing that'll ever be at 0dB is the loudest transient of a track, and those can get clipped and distorted to a pretty great deal before being noticed, as it's a short, loud, non repetitive sound. Where you have more consistent output it's easier to hear. From performance charts (IMD/THD) of DAC, amp, well-actually, all audio devices, do appear optimized for this range, and not so much for especially the uppermost 3dB. I'm not saying the top 3dB are bad, but the device's lowest distortion could be designed to 0dBfs, and consistently different designers move this point down to somewhere in the -3 to -5dB range, with 0dBfs distortion usually matching about -10 to -12dB distortion.
 
Ok take a look on your o'scope how far they are out of sync... please let us known
Will do, it'll be a bit later this week. I have a feeling it's going to be close!
 
As a for instance, let us say both DACs have -100 db noise with the same distribution (pinkish). Nulled perfectly to one another you would get -97 db of noise. If there is a big disparity, say -100 db and -120 db then you would get about -99.2 db noise.

Since you have a Babyface I suggest doing all this with Deltawave. Results will be quite close to doing it in the analog world. Close enough you will know how things work if you then want to do this for real as you proposed in post #1.

The other issue is synching. You probably would do okay if you can feed both DACs from the same clock like using your D10. Another benefit of Deltawave is it will synch the two streams for you. If you don't have the same clock they'll drift apart and ruin your null.

Free to get here. Might take a little fiddling to get a handle on how it works, but it works very well.

Also what you are going to find with DACs is the small differences in the filters will prevent complete nulling in the higher frequencies.

Thanks for the link!

Do you think the filters will matter at 24/192?

I was looking at the ES9039Pro datasheet while trying to think of all the possible causes for false positives, and response is like ruler flat to 43% of the sample rate (about 89kHz), and there being no more than something like 0.003dB ripple through the passband makes me feel like error should be really small
 
Back
Top Bottom