Let us say that he is right........a NFB transimpedance amp is -80 dB at FS, and an op-amp I/V is -100, or even -120 dB at FS.
Why is he then so worried about what happens in his DAC at levels below what is actually on a recorded CD in the first place? I really don't get it. I must be getting too old for this business.
Or maybe been doing it long enough to know better.
Jocko
Why is he then so worried about what happens in his DAC at levels below what is actually on a recorded CD in the first place? I really don't get it. I must be getting too old for this business.
Or maybe been doing it long enough to know better.
Jocko
Jocko Homo said:Let us say that he is right........a NFB transimpedance amp is -80 dB at FS, and an op-amp I/V is -100, or even -120 dB at FS.
Why is he then so worried about what happens in his DAC at levels below what is actually on a recorded CD in the first place?
For a -60dB signal we talk about -50 dB harmonics if the DAC is not perfect.
And excuse me, I can hear that.
Are we audio fanatics or are we in a leave me in peace and let me drink my beer and watch my TV show forum ? 😕
OK, Bernhard.........we'll take one of my CD-80s, with a NFB transimpedance amp, with your choice of either an AD1862 or PCM1704 (I have both in operation), and compare it to your super creation. Assuming that it ever becomes operational.
And then tell me that you can tell which of the 2 (or 3) is better because you can hear the linearity errors. That is something that I would like to hear.
Jocko
And then tell me that you can tell which of the 2 (or 3) is better because you can hear the linearity errors. That is something that I would like to hear.
Jocko
rfbrw said:
You miss the point. You dont get to cherry pick values.
There is a precise output value for every input value and it is related to the full scale output value. There is also a fixed relationship between a 24bit word and a 16bit word, i.e. every single value of the 16 bit word maps to every 256th value of the 24 bit word.
Let us look at a DAC that gives 10mV per LSB step. ans a second that has 10 x resolution of the first, giving 1mV per step.

The first theoretical voltage of input code #1 of the 1x DAC should be 0,010 but it is 0,013. For code #10 of the x 10 DAC it is 0,011. Both are not absolutely accurate, but code #11 of the 10x DAC is good, it is the desired 0,010.
Now we burn the eprom such that for input code #1 the output code is #11 and we have correct output voltage.
And code #2 is projected to code #19.
And so on.
If we built a 16 bit DAC with PCM1704 we have 256 chances for each of the 65000 codes to get a very well matching code.
By the way you can be very sure that the DAC chips in $$$$$ CDPs are selected by the CDP manufacturer.
I was on high end fair in Munich and talking to one guy from Clearaudio. They select everything for the most expensive models, diamants, coils, ball bearings of tangential tone arms ( for noise ), just everything.
"You canna break the laws of physics"
An unlikely story, especially if the share they same full scale output value. There are rules. You can't just pick numbers out of the sky. The resolution scales in powers of 2.
Bernhard said:
Let us look at a DAC that gives 10mV per LSB step. ans a second that has 10 x resolution of the first, giving 1mV per step.
An unlikely story, especially if the share they same full scale output value. There are rules. You can't just pick numbers out of the sky. The resolution scales in powers of 2.
Re: "You canna break the laws of physics"
Yes, but this is about the principle. I don't see any flaw in Bernhards reasoning.
But I have a few practical concerns:
- firstly, how to you make the conversion table? You must be able to measure, reliably, repeatably, to at least 20 bit or better. Not simple.
- Is the error constant, or does it vary with temperature, fluctuations in supply voltage, what else. If so, you can't have a tracking conversion, I think. Unless you also track temp and adjust the conversion for that. I don't even know if that is theoritically possible.
Jan Didden
rfbrw said:
An unlikely story, especially if the share they same full scale output value. There are rules. You can't just pick numbers out of the sky. The resolution scales in powers of 2.
Yes, but this is about the principle. I don't see any flaw in Bernhards reasoning.
But I have a few practical concerns:
- firstly, how to you make the conversion table? You must be able to measure, reliably, repeatably, to at least 20 bit or better. Not simple.
- Is the error constant, or does it vary with temperature, fluctuations in supply voltage, what else. If so, you can't have a tracking conversion, I think. Unless you also track temp and adjust the conversion for that. I don't even know if that is theoritically possible.
Jan Didden
Re: "You canna break the laws of physics"
What else should I do ? It is just for explanation.
The 1704 is not perfect.
If the step is 1µV, you will never have 1 µV in reality, maybe the step is up and the voltage goes down.
Most codes of bits 17 to 24 will have very wrong output current.
17 bit linearity for 24 bit resolution.
This is nonsense.
But lots of different codes with different currents to choose from.
What is so difficult ?
rfbrw said:You can't just pick numbers out of the sky.
What else should I do ? It is just for explanation.
The 1704 is not perfect.
If the step is 1µV, you will never have 1 µV in reality, maybe the step is up and the voltage goes down.
Most codes of bits 17 to 24 will have very wrong output current.
17 bit linearity for 24 bit resolution.
This is nonsense.
But lots of different codes with different currents to choose from.
What is so difficult ?
Re: Re: "You canna break the laws of physics"
This is what the thread should be about:
The DAC should be stable with temperature, I have seen no deviations unless there were adjustment pots.
And we all have super high end voltage regulators don`t we ?
Thanks so much ! 🙄janneman said:
I don't see any flaw in Bernhards reasoning.
But I have a few practical concerns:
- firstly, how to you make the conversion table? You must be able to measure, reliably, repeatably, to at least 20 bit or better. Not simple.[/B]
This is what the thread should be about:
Bernhard said:
I had posted that idea recently, the big big problem is that for a PCM1704 you have to measure 16 000 000 ( in words: 16 million )codes.
Somebody would have to write a program that reeads data from DVM, sends data to PCM1704, compares data with a table of currents, decides if the read data from the DVM is inside the window of what is acceptable deviation, writes a file that can be read by an eprommer.
- Is the error constant, or does it vary with temperature, fluctuations in supply voltage, what else. If so, you can't have a tracking conversion, I think. Unless you also track temp and adjust the conversion for that. [/B]
The DAC should be stable with temperature, I have seen no deviations unless there were adjustment pots.
And we all have super high end voltage regulators don`t we ?

Re: Re: Re: "You canna break the laws of physics"
Some have. Others have snubbers....
JD
Bernhard said:[snip]And we all have super high end voltage regulators don`t we ?![]()
Some have. Others have snubbers....

JD
Re: Re: "You canna break the laws of physics"
That's as maybe but one is still bound by reality. An impossible example is no example at all.
janneman said:
Yes, but this is about the principle. I don't see any flaw in Bernhards reasoning.
That's as maybe but one is still bound by reality. An impossible example is no example at all.
Re: It's worse than that,he's dead, Jim!!
0000 0000 0000 0010 - 0000 0000 0000 0001 1111 1101 (-3 * 2^-24)
0000 0000 0000 0011 - 0000 0000 0000 0010 0010 0000 (+32 * 2^-24)
0000 0000 0000 0001 - 0000 0000 0000 0001 0000 0101 (+5 * 2^-24)rfbrw said:every single value of the 16 bit word maps to every 256th value of the 24 bit word. 0000 0000 0000 0001 will yield the same output value as 0000 0000 0000 0001 0000 0000 assuming the same full scale output value.
So I'll ask you again. How do you plan to correct any measured deviation that is less than 1 LSB or 1 quantization step?
0000 0000 0000 0010 - 0000 0000 0000 0001 1111 1101 (-3 * 2^-24)
0000 0000 0000 0011 - 0000 0000 0000 0010 0010 0000 (+32 * 2^-24)
Who writes the program ?
Until then I like to ptomote the other way:
One 20 or 24 bit DAC chip per bit.
Assuming that the DAC has parallel input:
We need only a binary counter that is connected to an encoder.
And turn the wheel until the output voltage matches the theoretical output voltage of "Bit 1 on" as good as possible.
The corresponding code is the fixed code, the first DAC will always see when bit 1 is "on".
We take a new DAC chip and turn the wheel until the output voltage matches the theoretical output voltage of "Bit 2 on" as good as possible.
The corresponding code is the fixed code, the second DAC will always see when bit 2 is "on".
And so on...
For the serial DACs it is a little more complicated but can be solved with standard logic.
In the DAC we will need a ser to par converter and feed the bits to the DAC chips.

Until then I like to ptomote the other way:
One 20 or 24 bit DAC chip per bit.
Assuming that the DAC has parallel input:
We need only a binary counter that is connected to an encoder.
And turn the wheel until the output voltage matches the theoretical output voltage of "Bit 1 on" as good as possible.
The corresponding code is the fixed code, the first DAC will always see when bit 1 is "on".
We take a new DAC chip and turn the wheel until the output voltage matches the theoretical output voltage of "Bit 2 on" as good as possible.
The corresponding code is the fixed code, the second DAC will always see when bit 2 is "on".
And so on...
For the serial DACs it is a little more complicated but can be solved with standard logic.
In the DAC we will need a ser to par converter and feed the bits to the DAC chips.
Do you really have to measure every possible output value, or could you do it indirectly, say by measuring the distortion spectrum with a sine wave input and deriving the transfer function from that, then the transform needed to turn that into the optimally linear transfer function.
Re: Re: Re: "You canna break the laws of physics"
Don't beat around the bush, then. What's the flaw in the reasoning?
The impossible examples are only given in an attempt to break through the walls of intentional refusal to understand.
Jan Didden
rfbrw said:
That's as maybe but one is still bound by reality. An impossible example is no example at all.
Don't beat around the bush, then. What's the flaw in the reasoning?
The impossible examples are only given in an attempt to break through the walls of intentional refusal to understand.
Jan Didden
Re: Re: Re: "You canna break the laws of physics"
So please tell me in detail what is the problem.
From the PCM1702 ( 20 bit ) datasheet: ( PCM1704 is quiet about that )
1 LSB = 2,28 nA and full scale +fs = 1,2 mA
From the PCM56 ( 16 bit ) datasheet:
1 LSB = 30,5 nA and full scale +fs = 1mA
So we can say that the steps of the 20 bit PCM1702 are 1/16 of the steps of the 16bit PCM 56.
We agree that PCM1702, because of interpolation, outputs a staircase of 16 values between the steps of a 16 bit DAC.
And we feel free to choose from those 20bit-values the ones that fit our 16bit bill.
Sayonara.
rfbrw said:
That's as maybe but one is still bound by reality. An impossible example is no example at all.
So please tell me in detail what is the problem.
From the PCM1702 ( 20 bit ) datasheet: ( PCM1704 is quiet about that )
1 LSB = 2,28 nA and full scale +fs = 1,2 mA
From the PCM56 ( 16 bit ) datasheet:
1 LSB = 30,5 nA and full scale +fs = 1mA
So we can say that the steps of the 20 bit PCM1702 are 1/16 of the steps of the 16bit PCM 56.
We agree that PCM1702, because of interpolation, outputs a staircase of 16 values between the steps of a 16 bit DAC.
And we feel free to choose from those 20bit-values the ones that fit our 16bit bill.
Sayonara.
Mr Evil said:Do you really have to measure every possible output value, or could you do it indirectly, say by measuring the distortion spectrum with a sine wave input and deriving the transfer function from that, then the transform needed to turn that into the optimally linear transfer function.
I was thinking of not measuring & correcting those codes that have the last, say 4, LSB's zero. But I guess that's wrong reasoning, because they may well be in error at the last LSB.
But maybe you can measure each 4th code (cuts your time in four) and interpolate? Assuming that the thing although in error, is monotonous. What do you think?
Jan Didden
Bernhard said:
What else should I do ? It is just for explanation.
You could use real values that map to real dacs as opposed imaginary dacs with improbable values. Try calculating the current values of 16bit dac and those of a 24bit dac when they both have the same full scale output current. Then perhaps you could compare the deviation from the ideal in a REAL dac.
Re: Re: It's worse than that,he's dead, Jim!!
The codes for your Swiss bank account ?
wimms said:
0000 0000 0000 0001 - 0000 0000 0000 0001 0000 0101 (+5 * 2^-24)
0000 0000 0000 0010 - 0000 0000 0000 0001 1111 1101 (-3 * 2^-24)
0000 0000 0000 0011 - 0000 0000 0000 0010 0010 0000 (+32 * 2^-24)
The codes for your Swiss bank account ?
Mr Evil said:Do you really have to measure every possible output value, or could you do it indirectly, say by measuring the distortion spectrum with a sine wave input and deriving the transfer function from that, then the transform needed to turn that into the optimally linear transfer function.
For sure you can not say bit 5 is wrong because you see a fifth harmonic on your spectrum analyzer 😀
I think a 20 bit DAC like PCM1702 would be ok and not so much work.
rfbrw said:
You could use real values that map to real dacs as opposed imaginary dacs with improbable values. Try calculating the current values of 16bit dac and those of a 24bit dac when they both have the same full scale output current. Then perhaps you could compare the deviation from the ideal in a REAL dac.
I did that because obviously you do not want to understand.
And because I did not want to calcuate with numbers like 2,28882054 which is the step of PCM1702.
And it is no unreal deviation in my example because if the 1704 has 17 bit linearity, if you are happy to find one, that does mean all bits from bit 18 to bit 24 are totally unsure and the relative deviations compared tp my fictive example would be much worse.
And why don`t you do your calculation yourself ?
If one LSB should be fictive 1 nA and 7 bits are unsure, the next step could be 100 nA

It is clear that the deviation can be much worse than in my example.
- Status
- Not open for further replies.
- Home
- Source & Line
- Digital Source
- A good way to reduce R-2R DAC linear error