Delta-current linear-interpolation DAC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Oh... by the way... an analog 'function' is just that, something that happens in 'real time' while a digital signal is simply a sequence of 'samples', there is no way to 'perfectly' describe an analog function in the 'digital domain' without 'infinite' sampling... Assuming of course that the analog function changes over time.
 
alvaius said:
As opposed to square waves, now you have triangular waves. Same harmonics, they just roll off faster at higher frequencies.
That is right, but it is not that small. The effect is, let’ say, that instead of -30dB the image will fall to -60dB. Instead of -50dB it will be at -100dB.

Wimms, nice thread, I’ll read it carefully later today.

Pedja
 
janneman said:
But that doesn't change the basic fact, and please let me know if I am right, that your idea changes the step size, but NOT the 'shape' of the step. So, whatever the integration method, it can only differ in level or amplitude, NOT in basic shape. I think that part of rfbrw's frustration came from the fact that this obvious fact is being glossed over.

So, I think you have received advise from different people looking at your idea from different angles but with the same conclusion. Does that count for something?
Jan, you are wrong. What we are talking about, is exactly changing the shape of the integration. What you assume, as well as perhaps others, is RC voltage integrator with exponential decay on the capacitor. That is THE only way you can integrate with any normal DAC. Its not much use and could aswell go directly with Nth order filtering.

What I propose, is direct current integrator, without RC exponential decay - thus linear shape as constant current feeding cap would do.
Now - to be able to use direct current integrator, you NEED delta-PCM. Its a derivative of the source PCM signal, and after integration becomes back PCM signal. The linear interpolation on the way is just a pleasant byproduct.

What I've met so far is frustratingly large amount of misunderstanding.

rfbrw said:
There is so much information out there defining linear interpolation that it beggars belief that you cannot find it. One can only conclude you are not looking for it.
So once more.
For a series of samples A, B, C, D you have an output of A, (A+B)/2, B, (B+C)/2, C, (C+D)/2, D. That is linear interpolation. It assumes the points are joined by a straight line.
Thats EXACTLY what proposed idea is about and implements - straight line between sample points.
Now what?
 
alvaius said:
1) How are you going to accurately, in the analog domain, represent both n, and n-1 samples to 16+ bits precision? There is a difference between paralleling DACS and running them completely independantly (you don't get the averaging effect).
You shift PCM data by 1 sample in time (delay), and output n and n-1 samples through 2 DACs concurrently. If you then connect +I output of one dac and -I output of other dac, the resultant current will be delta-PCM.

2) I know have this current source integrator. My current source would need to output a current that is exactly correct for the step size that will change for every sample. How will this be implemented? Will this not be prone to errors as well?
by summing + and - output of current-output DACs and getting output current that is precisely proportional to the step size.
Everything is prone for errors. I don't know all real-life difficulties it might face. The theory is there and simulations do WORK. Whether it is any benefit sonically, I have not a faintest idea.

3) The comments was made that this would be like "infinite oversampling". Mathematically, that does not seem true to me at all. Going back into the depths of the brain, this just seems like a trapezoidal approximation which is just a second order approximation of the analog domain. That is far from infinite. In fact, I don't think mathematically it will be a whole lot more accurate than a 2* oversample with a first order anti-alias filter. As opposed to square waves, now you have triangular waves. Same harmonics, they just roll off faster at higher frequencies.
For a series of samples A, B, C, D you have an output of A, (A+B)/2, B, (B+C)/2, C, (C+D)/2, D. Thats computational linear interpolation. What I achieve, is straight line between any pair of points: A-B, B-C, C-D, which corresponds exactly to math of linear interpolation. Because this is done with analog integrator of constant current, this creates infinite number of intermediate analog samples between each pair of samples. To create equivalent signal digitally and with staircase, you would need infinite oversampling. Thus, its a point of analogy.
And yes, triangular shapes contain a LOT less spectral garbage.
 
wimms said:
You shift PCM data by 1 sample in time (delay), and output n and n-1 samples through 2 DACs concurrently. If you then connect +I output of one dac and -I output of other dac, the resultant current will be delta-PCM.

by summing + and - output of current-output DACs and getting output current that is precisely proportional to the step size.
Everything is prone for errors. I don't know all real-life difficulties it might face. The theory is there and simulations do WORK. Whether it is any benefit sonically, I have not a faintest idea.

Samples are processed such that

original sample dac1 <= A B C D E
delayed sample dac2 <= - A B C D E

As described I now convert each sample train, invert the output of one dac and then sum both outputs. If I have described the process correctly, the sample rate has stayed the same but I have now scaled the data. What have I gained?
 
rfbrw said:
Samples are processed such that

original sample dac1 <= A B C D E
delayed sample dac2 <= - A B C D E

As described I now convert each sample train, invert the output of one dac and then sum both outputs. If I have described the process correctly, the sample rate has stayed the same but I have now scaled the data. What have I gained?
You gain delta-PCM, or differential PCM: (A-0) (B-A) (C-B) (D-C) ..
If that is in a form of constant current proportional to the difference, then you can feed this into direct current integrator. Output of the latter will be voltage signal that connects PCM samples with straight line, ie. effectively linear interpolation. You eliminated RC integrator's property of RC time constant and exponential decay on the cap. Integrator is formed from DAC current output and simple capacitor. Alternatively opa integrator without resistor feedback.

If you feed original PCM into current integrator, you'd get garbage out. If you feed into RC integrator, you'd get exponential decay property. Do you understand that?
If you want to question merits of linear interpolation as such, then its separate question, isn't it.

edit: re scaled data. Maybe its not clear that the voltage on the current integrator capacitor will track PCM data precisely. Positive delta-PCM will cause voltage to go up, negative delta to go down (from its last voltage), at a rate that is proportional to the delta-PCM. Thus do not view this delta stream as PCM that gets smoothed and filtered - changes to capacitor voltage are incremental.
 
Hi,

while I have no doubts that the circuit works as advertised with simulation, I wold like to know how do you intend to solve practical problems. Let's say you put continous value into your real DAC. While there should be no current at the output, some fraction of the LSB current will surely be there. This current will slowly charge your IV cap to the limit of the voltage compliance of the DAC's output. Input current of the following amplifier stage was not even taken into consideration. I think it is impossible to compensate for offset in proposed passive IV conversion. The only solution I see is active integrator at the output and DC servo loop for the integrator.

Best regards,

Jaka Racman
 
rfbrw said:
We will have to agree to disagree on the definition of linear interpolation but that aside I would have thought you would be better served with uniform steps.
There is no disagreement on the definition of linear interpolation. I have no idea what you agree to disagree with.

Why would uniform steps be better? Are you going to say something with a content or not?
 
wimms said:


Perhaps this picture below illustrates it better. There you see DAC output that corresponds to 1KHz sine sampled at 50KHz, simple RC integration of the DAC output, and delta dac output.
RC output is what the output integration of a normal DAC gives. This picture is of course exagerated, as its just simple RC, more sophisticated brickwall filters will increasingly achieve sinusoidal output, but there will always remain the character of this RC integration, which is result of memoryless integration.

Eh,

Think the green line is wrong. should it not go to the right corner of the blue sample in the middle ? Did a simulation in vis-sim long ago and it looks like the blue and green line, except for the above.
From a piece of paper i kept with the RLS brochure i see i got to the same thing as you're proposing now. But back then i did not know how to build it.

Those were the days i could follow that laplace stuff :xeye:

As for compensating the current, i'm afraid a little drift of the dacs or the compensating element would give offset current easily.
With i/v resistor this is just dc, but here it would influence the integrating process and therefore the signal (not?).
Pedja might know this from his dac, he's compensating too.
Edit: put better into words two posts up.

...

HK talks about 'connects the stairs represented by the data points of each bit of digital music' and 'technically speaking RLS is making a linear interpolation between two consecutive samples'
Looks like the thing you are proposing.

The above leads to 'one pole low pass filter (-3dB @ 88kHz) which, thanks to the extremely smooth signal, is now more than sufficient to deal with any remaining trace of high freq noise'.

That's the gain you get from this: less analog filtering required.
Mind you they r using 8x dig filter before all this.

But nowadays (some) people are already happy with 1x OS without much/any filtering and tons of high freq noise on the output of a dac. So if it's worth the effort ?

integrating comperator:confused:
 
Jaka Racman said:
I wold like to know how do you intend to solve practical problems. Let's say you put continous value into your real DAC. While there should be no current at the output, some fraction of the LSB current will surely be there. This current will slowly charge your IV cap to the limit of the voltage compliance of the DAC's output. Input current of the following amplifier stage was not even taken into consideration. I think it is impossible to compensate for offset in proposed passive IV conversion. The only solution I see is active integrator at the output and DC servo loop for the integrator.
Hi Jaka. I think the only valid continuous value we accept to listen to is zero, meaning we need to deal only with removing DC on the IV cap. That can be done with DC servo too. That basically also removes static offset of the dacs at any PCM output, and the rest is dynamic errors appearing as noise I guess.
 
guido said:
Think the green line is wrong. should it not go to the right corner of the blue sample in the middle ? Did a simulation in vis-sim long ago and it looks like the blue and green line, except for the above.
No, there are 2 samples in the middle with very small PCM difference. Thus green curve is flat at the top, obscured by the purple RC curve.
 
quido, Jaka, thanks for wading in and voicing my concerns and mathematical thoughts....

-- Would someone like to wade in and tell me how they are going to match two DACS to a tremendously high resolution? I realize this is a "delta" signal, but the worst delta is at low signal levels, so I see losing resolution, well actual SNR. You will at least 1/2 the SNR.

-- you also need to make a current source that is exactly proportional to the step size...

- quido, thank you for confirming my thought that this is a low pass filter essentially (in a mathematical sense)

- I agree that a triangle wave decays much quicker. However, it will not be -30 or -50db smaller until high frequencies, not for the first few critical harmonics. A square wave decays at 1/n (where n is the harmonic number). A triangle decays at 1/n^2.

- I am actually interested in how this will sound once implemented, however, in terms of pure implementation, oversampling is much simpler and provides similar results does it not? Of course, you can mix the two...if you can implement in the analog domain.

Good Luck.. not raining on anyones parade.. I just don't see how practically it is going to come about and what the real benefits will be compared to other implementations.
 
alvaius said:
-- Would someone like to wade in and tell me how they are going to match two DACS to a tremendously high resolution? I realize this is a "delta" signal, but the worst delta is at low signal levels, so I see losing resolution, well actual SNR. You will at least 1/2 the SNR.
The easiest way to match DACs is to take stereo DAC chip I believe.
Why do you think low level signal is worst? Or any worse than with normal DAC? Step size of delta signal is smaller than with normal DAC. No resolution is lost, though I can't say about SNR.

-- you also need to make a current source that is exactly proportional to the step size...
Output of DAC chip is the current source. So is difference of 2 DAC outputs. It is exactly proportional to step size.

- I am actually interested in how this will sound once implemented, however, in terms of pure implementation, oversampling is much simpler and provides similar results does it not? Of course, you can mix the two...if you can implement in the analog domain.
Indeed. I'm curious too. Digital oversampling is very well complementing this.
 
alvaius said:


- quido, thank you for confirming my thought that this is a low pass filter essentially (in a mathematical sense)


Bad phrasing from my side, it should be:

HK used only (quote) 'one pole low pass filter (-3dB @ 88kHz) which, thanks to the extremely smooth signal, is now more than sufficient to deal with any remaining trace of high freq noise'. So this is the analog filter stage.

According to the brochure this is much better than cd player x which can use up to 6 pole filters at the analog filter stage.
 
Interesting thread so far!

alvaius said:
-- Would someone like to wade in and tell me how they are going to match two DACS to a tremendously high resolution? I realize this is a "delta" signal, but the worst delta is at low signal levels, so I see losing resolution, well actual SNR. You will at least 1/2 the SNR.

The worst delta may happen at all signal levels! You may have two consecutive samples of 1 and 2 which gives a delta of 1, or you may have two consecutive samples of 32766 and 32767 which also gives a delta of 1. However alvaius is right that low-level sinewaves will have greater number of small deltas then loud sinewaves per period.

Another issue:

High deltas will be most likely for high frequencies so the DAC will have best performance at frequencies close to Nyquist. Since low deltas will be most likely at low frequency signals, SNR will decrease with falling frequency. By how much I don't know, I'll have to think about this one a bit.

Also the cut-off frequency of the servo would need to be higher the more non-linear the DAC is, right? So maybe you will find in practice that it has to be unreasonably high and will roll off the bass-response?

wimms: I don't know if LTSpice supports it, but it would be interesting if you add some random noise to the DAC currents and see how it behaves then for various signals.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.