Clarifications on the "noDAC" DSD DAC from hdmi input

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi everyone, Im' new here so I don't know if I should open a new thread... You'll tell me eventually!

Anyway, I read from some forums including this one that it's possible to convert a digital dsd stream to analog by means of a "simple" analog filter, without really involving any digital chip or clocks. This seems intriguing, and some swear by the quality of the sound (especially on some Italian forums).

I'm thinking of building one to connect my sony bluray/sacd player which unfortunately only outputs pure dsd via HDMI cable, to my vintage Sansui SS amp.

Here's the idea:

1)Convert HDMI stream to I2S as it looks more manageable, and there seems to be more documentation regarding noDACs DACs with I2S protocol input

2)Apply a filter, maybe (maybe?) with 30kHz of cutting frequency (-3dB)

3)Preamplify everything with a jFET or (even better?) a tube buffer stage

4)Connect to power amp and hopefully enjoy my SACSs finally in a purer form than the usual poor analog output my internal bluray DAC sends out


So, the problem here are the many questions (I am really sorry for such a long list):

1) Is converting to i2s necessary? Or is it even a good idea considering i'm planning to use a commercial (probably chinese) i2s extractor sold on ebay? I don't think it will heavily affect the audio as it's just a protocol conversion, and many people including audio enthusiasts use it...

2)THE FILTER! People say that even a first order filter is fine, but I really doubt that it will be enough... The phase response, the low slope... I just don't know. What type do you suggest me? I read about Chebysiev or Butterworth filters, I was thinking to a Butterworth, probably to a 3rd or 4th order. Is it sufficient? Plus, I don't know if I want to start to mess up with opAmps, so possibly an RL or RC or even RLC circuit... Do you have maybe some premade plans or some figures for the values of resistance capacitance and inductance?

3)The preamp: The thing I can't find anywhere is the expected output voltage and impedance from the i2s output and consequently the average or peak voltage out from the filter... Some values maybe? Consider the aux input @ the amplifier is 150mV 47kOhms @1000Hz... How much gain and amplification are required?

4)Can anybody redirect me to some apparently tested, good projects? Or maybe some calculators/formulary to to the maths. I'm a soon to be engineer so I can grasp some calculations (and would be happy to avoid you doing them :D), but consider electronics is not my field...


I thank you all for your kindness :worship: and sorry again for the long message
 
Last edited:
OK so you got a bitstream, lowpass it, you get analog. Let's do a bit of history.

Problem #1

There are no such things as bits, just a logic gate outputting a voltage, so when it's a "1" it outputs its own power supply. If the density of ones is 50% then the average output is 50% VCC and the range is +/- VCC/2. And obviously the output signal is proportional to VCC, so that better be stable.

OK, so you can't make a stable power supply if you draw varying current from it, cause the power supply has non zero impedance, so if you pull varying signal dependent current from it, it will vary with the signal, and since the output signal is proportional to VCC, it multiplies itself, so you get distortion.

So you make a differential output with an inverter to be sure to output one normal bitstream, and one inverted bitstream, to make the current drawn on your power supply constant. Of course that only works if it is connected to a transimpedance stage (I/V converter) which keeps the output voltage constant, so you add a differential transimpedance stage followed by a substractor.

That of course does not work at all because opamps dislike fast square waves on their inputs. So as a bonus you get slew induced distortion on every transition, among other things. The only solutions to this problem are 1) to use more levels in the sigma delta modulator to reduce the height of the steps, or 2) a complicated IV that works anyway, or 3) to not use an IV at all, and not care about the resulting distortions (which do sound better than an opamp tortured with square waves), or 4) call Bruno Putzeys.

Problem #2

You realize that there are no such things as bits (or bitstreams) because when two ones follow each other, electrons don't care where one "1" stops and the other starts. From this it follows than "1100" and "1010" do not have the same exact amount of "1" in them, nor do they have the same average value, because the former has 2 transitions and the latter has more transitions, so while the "height" (or output voltage) of your ones and zeros depends on VCC, their width, which is the amount of time the output stays on a certain level, depends on rise time, fall time, and of course jitter. So if your fall time is longer than your rise time, then 1010 has higher average value than 1100 ; on the other hand if your fall time is shorter than your rise time... well you get the idea.

So instead you use PCM, grind that into a DSP, and output a PWM at a few MHz (preferably a lot of MHz) to make sure each PWM cycle has exactly one rising and falling transition, so you use like 18 cycles in your PWM period, but you can't use 0 and 18, because there are no transitions, that leaves 1 to 16 which makes a neat 4 bit PWM.

Which also solves Problem #1, since you can feed that into a pair of differential shift registers and use a few dozens resistors as a hardware FIR filter to get that smooth output.

Well that doesn't work with DSD, cause it's not PWM, but you could always do something like triple the clock frequency, and turn your 1 and 0 into output 110 and 100.

Problem #2.5

You realize that there are no such things as bits (or bitstreams) because the clock that determines the transitions between each bit is also analog, and there's jitter on it. Sensitivity to jitter is proportional to the height of the transitions between levels, so it is maximum for a 1-bit output, and much lower if you have, say 64 levels. Or a few dozen shift registers with resistors, since then the jitter sensitivity is proportional to the difference between one FIR weight and the next.

If you ask AKM, an obvious solution is a charge pump: if you want to output a 1, you use a capacitor to pump a fixed amount of charge into the output. if you want to output a 0, you pump the capacitor in the other direction. Well you still need it differential with an IV stage....

Solution

That pretty much sums up the history of bitstream DACs since their heyday 20-30 years ago and their total obsolescence. 1-bit is the worst case for everything. That and explains why everyone abandoned bitstream DACs, and all the sigma deltas are now multibit. Good riddance.

Except when Putzeys does it, of course. Then, it works.
 
Anyway, I read from some forums including this one that it's possible to convert a digital dsd stream to analog by means of a "simple" analog filter, without really involving any digital chip or clocks. This seems intriguing, and some swear by the quality of the sound (especially on some Italian forums).

It works well and sounds excellent but isn't without some issues. There are a number of threads here with several realisations of DSD playback, several of which I have exerience of. Some reading material for starters:

The Best DAC is no DAC

Signalyst DSC1

My no DAC project. FPGA and transistors.

Valve DAC from Linear Audio volume 13
 
Thank you for your time and answers, much appreciated.

Peufeu, I'm not sure I understand all the inricacies implied in your answer, which are certainly right!

That pretty much sums up the history of bitstream DACs since their heyday 20-30 years ago and their total obsolescence. 1-bit is the worst case for everything. That and explains why everyone abandoned bitstream DACs, and all the sigma deltas are now multibit.

In particular, I don't really think it's a bitstream DAC in my case... Isn't a bitstream DAC an oversampling 1-bit DAC? That would be a mind-boggling nightmare to design at home, with high jitter sensitivity, high sampling rate, and all the problems you correctly stated!

I don't have great experience in the field, so feel free to correct me if I'm wrong!


It works well and sounds excellent but isn't without some issues.

Well that gives me hope, thanks nautibuoy! I read the first pages of the first thread, I'll go ahead and read everything. I'll update you once I have something a bit more precise to show or to ask. :)

Just one question nautibuoy, this "valve DAC" would basically eliminate/incorporate the preamp stage? Thank you all for the collaboration
 
1) Is converting to i2s necessary? Or is it even a good idea considering i'm planning to use a commercial (probably chinese) i2s extractor sold on ebay? I don't think it will heavily affect the audio as it's just a protocol conversion, and many people including audio enthusiasts use it...

Actually you have to convert it to raw DSD rather than I2S, but some of the Chinese interfaces that can convert to I2S also support raw DSD, also known as native DSD.

2)THE FILTER! People say that even a first order filter is fine, but I really doubt that it will be enough... The phase response, the low slope... I just don't know. What type do you suggest me? I read about Chebysiev or Butterworth filters, I was thinking to a Butterworth, probably to a 3rd or 4th order. Is it sufficient? Plus, I don't know if I want to start to mess up with opAmps, so possibly an RL or RC or even RLC circuit... Do you have maybe some premade plans or some figures for the values of resistance capacitance and inductance?

nautibuoy uses third order Butterworth in his version of the valve DAC and hasn't had any tweeters go up in smoke yet.

3)The preamp: The thing I can't find anywhere is the expected output voltage and impedance from the i2s output and consequently the average or peak voltage out from the filter... Some values maybe? Consider the aux input @ the amplifier is 150mV 47kOhms @1000Hz... How much gain and amplification are required?

Suppose the raw DSD signal is at 3.3 V CMOS level. The largest possible peak-to-peak value (assuming a single-ended implementation) is then 3.3 V, but in fact DSD uses only half of that (long story, related to sigma-delta modulator stability). People usually express everything in RMS sine wave values, so 1.65 V peak-peak is equivalent to 583.4 mV RMS. That's assuming a filter with series termination at the input and infinite load impedance, otherwise you get some extra attenuation - usually at most two times, so the level will then be between 291.7 mV RMS and 583.4 mV RMS.

4)Can anybody redirect me to some apparently tested, good projects?

nautibuoy already answered this, and peufeu explained why you shouldn't expect astronomical SINAD values.
 
Last edited:
Hey, it's only 0.2 BTC

I won't moan about a guy I like taking profits.

Now I was quoting it as an example of why it's complicated to make 1-bit work. There are so many problems with 1-bit, I made a list lol. The other example that was given above with the two FPGAs and the hardware FIR filter is also spot on. It's impressive. The guy looks like he knows what he's doing.

But can it beat ES9023? That should be the official standard test for all megabuck gear, methinks.

I like ES9023. It's cheap, surprisingly good, simple, and it works. If rfbrw wants to pry some shopping advice from me, that would be it :D
 
Just one question nautibuoy, this "valve DAC" would basically eliminate/incorporate the preamp stage?

Not on its own, however, I use my DSD decoders (DSC2 and Valve DAC) in conjunction with HQ Player software and that has a high resolution digital volume control so I don't require a separate preamp.

Just to point out that Marcel is the designer of the Valve DAC.
 
Hey, it's only 0.2 BTC

I won't moan about a guy I like taking profits.

Now I was quoting it as an example of why it's complicated to make 1-bit work. There are so many problems with 1-bit, I made a list lol.

Don’t worry, I get the idea. Plus, it’s also quite fair to pay for the hard work of other people. Especially when things get tricky or complicated.

Ok nautibuoi, I get that. Now that I think about it, the inputs on my old amp are already quite sensitive, I might not need preamps either...

It was my original intention to use the direct output from the i2s (or better the native dsd) extractor, but considering everything (especially what peufeu pointed out) I might work on a reclock module? I really don’t know if the clock on the Chinese extractor is that good. Apart from that, and apart from messing up with the circuitry in my Blu-ray, are there other things I can improve on the digital side ?
 
But can it beat ES9023? That should be the official standard test for all megabuck gear, methinks.

It depends on what you mean by 'beat'?

I owned and enjoyed a 9023 DAC for several years (and I still own a 9018 DAC). The ES9023 is a very good DAC.

With regard to measured performance I'm pretty sure the ES9023 will be better than each of my SDM dedicated decoders (from simple LP filter, through Signalyst DSC-type to my build of Marcel's Valve DAC) - not that I have ever done such an exercise. Which gives me more pleasure listening to music - the SDM decoders win over the ES9023 every time.

That's just my personal experience and, of course, YMMV.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.