Jump to content
IGNORED

The DSC1 DAC as a way to understand how a simple DSD DAC actually works


Recommended Posts

6 hours ago, Eclectico said:

In other points, what is the accuracy of the sine wave in the output of DSC1 dac in comparaison to 16 bits dac?

Output is 32 possible voltage levels against 65536 for 16 bits DAC...

What think about that?:(

 

L0108_BitGraph.png

 

One error with those graphs is that they are in completely wrong time scale, lower bit depths would have much finer time steps. You are now comparing PCM and SDM DACs by just looking at "bits" which is not going to help at all. Two completely different things.

 

Overall, there are various different aspects to this...

 

1) In PCM ladder, each bit is weighted by 2^x where x is number of the bit towards MSB. In SDM array, each bit is typically equally weighted. This helps a lot because accuracy of resistors become much less important, in fact for DSC1 type it doesn't matter much and doesn't change linearity of the DAC at all.

2) With PCM ladder, more bits you have, lower the sampling rate needs to be in order for the levels to be able to settle within ½LSB precision in fraction of the sample time (0.1%, IOW in 1/1000th of the sample time is good measure). Otherwise the bits become useless.

3) Lower the sampling rate, more challenging the following analog reconstruction filter becomes, because for perfect reconstruction, the first image and everything above that needs to be removed completely. Images are of course directly correlated with the source signal, so they also cause directly correlated distortion products.

4) SDM has just increasing ultrasonic random noise slope, any distortion products would be decorrelated from the source signal.

 

Since DSC1 can crank out any of the 33 possible voltage levels at 24.576 MHz speed, that is new level every 40 nanoseconds, this gives a lot of room for noise shaping to operate.

 

While typical PCM ladder DAC runs up to 384 kHz speed, being able to produce new level every 2.6 microseconds.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Don't know whether it's the correct place to ask this question, but any help would be appreciated.

 

My friend who is DIY DSC1 himself has a problem regarding using Amerano firmware in the DSC1.  He is currently using Amanero firmware 1096c and CPLD version 1080 , this combo playbacks music signal (DSD512) well but has some pop sound issue when switching PCM signal to DSD one. 

 

Now he is testing Amanero 1099c1 and CPLD 1080, although there is no pop-sound when switching PCM signal to DSD, it has another pulse noise when playback DSD512 signal.

 

I'm aware T+A is currently working on Amanero issue. But is there any better firmware version for DSC1 without causing any pop-sound or pulse noise. Can Amanero interface only support DSD only (if so there will be no pop-sound noise at all when switching PCM to DSD)

 

Thanks in advance.

Software: Roon, Tidal, HQplayer 

HQplayer PC: i9 7980XE, Titan Xp, RTX 3090; i9 9900K, Titan V

DAC: Holo Audio MAY L2, T+A DAC8 DSD, exasound e12, iFi micro iDSD BL

USB tweaks: Intona, Uptone (ISO) regen, LPS-1, LPS-1.2, Sbooster Vbus2, Curious cables, SUPRA Certified HiSpeed USB cable

NAA: Logic CL100 powered by Uptone JS-2

AMP: Spectral DMC 30SV, Spectral DMA 300RS

Speaker: Magico S3 MKII

Rack: HRS SXR signature

Link to comment
6 hours ago, louisxiawei said:

My friend who is DIY DSC1 himself has a problem regarding using Amerano firmware in the DSC1.  He is currently using Amanero firmware 1096c and CPLD version 1080 , this combo playbacks music signal (DSD512) well but has some pop sound issue when switching PCM signal to DSD one. 

 

Well, the DSC1 doesn't play PCM at all... But this depends on the MUTE signal handling of the Amanero.

 

6 hours ago, louisxiawei said:

Now he is testing Amanero 1099c1 and CPLD 1080, although there is no pop-sound when switching PCM signal to DSD, it has another pulse noise when playback DSD512 signal.

 

This is a known issue, 1099 firmware versions don't work reliably at DSD512 speeds yet. DSD256 tends to work...

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
6 hours ago, Miska said:

 

Well, the DSC1 doesn't play PCM at all... But this depends on the MUTE signal handling of the Amanero.

 

 

This is a known issue, 1099 firmware versions don't work reliably at DSD512 speeds yet. DSD256 tends to work...

Many thanks for the reply, Miska.

 

Just passed your reply to my friend. You are correct, DSC1 plays DSD only, I think what he meant is Amanero accept/transmit PCM signal by default, if there is a DSD signal switch or coming through, it will cause the pop sound and the MUTE handled by Amanero can do nothing about it at least in his case.

 

Any other approach to remedy the pop sound? such as prolong the delay time of relay of DSC1? If I understand him correctly, the MUTE in DSC1 is not long enough to eliminate the pop sound?

 

 

Software: Roon, Tidal, HQplayer 

HQplayer PC: i9 7980XE, Titan Xp, RTX 3090; i9 9900K, Titan V

DAC: Holo Audio MAY L2, T+A DAC8 DSD, exasound e12, iFi micro iDSD BL

USB tweaks: Intona, Uptone (ISO) regen, LPS-1, LPS-1.2, Sbooster Vbus2, Curious cables, SUPRA Certified HiSpeed USB cable

NAA: Logic CL100 powered by Uptone JS-2

AMP: Spectral DMC 30SV, Spectral DMA 300RS

Speaker: Magico S3 MKII

Rack: HRS SXR signature

Link to comment
Quote

 

One error with those graphs is that they are in completely wrong time scale, lower bit depths would have much finer time steps. You are now comparing PCM and SDM DACs by just looking at "bits" which is not going to help at all.

 

Since DSC1 can crank out any of the 33 possible voltage levels at 24.576 MHz speed, that is new level every 40 nanoseconds, this gives a lot of room for noise shaping to operate.

 

While typical PCM ladder DAC runs up to 384 kHz speed, being able to produce new level every 2.6 microseconds.

 

I agree and I see the power of DAC in accordance to time steps (abscissa for sine wave).

But let's look a little more on the ordinate.

Shift register are supplied by 3.3V, resistors are 8.2Kohm, at the end of I/v converter, the maximum output voltage can reach 6.4V. And the minimum output voltage available is 0.2Volt.

 

If we take example with Mola Mola dac for the maximum output voltage of 6.4V, min output voltage could be 0.025V.

258 combinations available.

 

In comparison if the output voltage should be at 0.1 Volt, we cannot obtain this value with DAC DSC1=> we can obtain 0V or 0.2V.

 

I discussed with T+A, they have only 2 shift registers but coefficient change with different resistors values.

IMO 1.5% of accuracy seems a little to just.:(

 

 

 

22.png

Link to comment
37 minutes ago, Eclectico said:

I agree and I see the power of DAC in accordance to time steps (abscissa for sine wave).

But let's look a little more on the ordinate.

Shift register are supplied by 3.3V, resistors are 8.2Kohm, at the end of I/v converter, the maximum output voltage can reach 6.4V. And the minimum output voltage available is 0.2Volt.

 

If we take example with Mola Mola dac for the maximum output voltage of 6.4V, min output voltage could be 0.025V.

258 combinations available.

 

In comparison if the output voltage should be at 0.1 Volt, we cannot obtain this value with DAC DSC1=> we can obtain 0V or 0.2V.

 

I discussed with T+A, they have only 2 shift registers but coefficient change with different resistors values.

IMO 1.5% of accuracy seems a little to just.:(

 

Not sure how relevant this is for a DSD DAC being fed DSD512 ... we are talking about different ways to filter out the 24.6mHz signal ...

 

No the DSC1 DAC is perfectly capable of 0.1 V output! or any other output. The audible range 20-20khz exists entirely in the DSD stream, and is there after the BCLK is filtered out. No the shift register FIR doesn't do this itself, think of it as a "prefilter" for the I-V section, for lack of a better term. But it does not replace the analog output filter and it is the analog output filter that provides smooth analog signals.

Custom room treatments for headphone users.

Link to comment
23 hours ago, jabbr said:

 

Not sure how relevant this is for a DSD DAC being fed DSD512 ... we are talking about different ways to filter out the 24.6mHz signal ...

 

No the DSC1 DAC is perfectly capable of 0.1 V output! or any other output. The audible range 20-20khz exists entirely in the DSD stream, and is there after the BCLK is filtered out. No the shift register FIR doesn't do this itself, think of it as a "prefilter" for the I-V section, for lack of a better term. But it does not replace the analog output filter and it is the analog output filter that provides smooth analog signals.

Jabbr, please explains how is it possible to reach 0.1V output if maximum output voltage is 6.4Volt with 33 voltage levels after the I/V converter?

IMO more there are voltage levels, less analog output filter is required.

 

 

Link to comment
1 hour ago, Eclectico said:

Jabbr, please explains how is it possible to reach 0.1V output if maximum output voltage is 6.4Volt with 33 voltage levels after the I/V converter?

IMO more there are voltage levels, less analog output filter is required.

 

 

I'm trying to help you understand this. What is your understanding about how an analog filter works on a digital waveform? Let's start very simple -- let's start with a digital signal that switches between 0 and 5volts every 1/1000 second. This is a 500 hz square wave. Now apply a low pass filter with a cutoff of 1khz. What does the output look like?

Custom room treatments for headphone users.

Link to comment
On 6/21/2017 at 3:14 AM, Miska said:

 

Well, the DSC1 doesn't play PCM at all... But this depends on the MUTE signal handling of the Amanero.

 

 

This is a known issue, 1099 firmware versions don't work reliably at DSD512 speeds yet. DSD256 tends to work...

 

I can confirm this as it confounded me for awhile thinking I had an issue with my server. Thanks for the heads up on that one awhile back Jussi! FWIW, I even had soft clicking in the background of quiet passages with DSD256.

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
2 hours ago, 4est said:

 

I can confirm this as it confounded me for awhile thinking I had an issue with my server. Thanks for the heads up on that one awhile back Jussi! FWIW, I even had soft clicking in the background of quiet passages with DSD256.

The newer firmware versions also don`t work for me (on Windows OS). After lots of reflashing I settled for "CPLD_1080_XC12"and "firmware_1097c". Lots of hassle to get dsd512 working.

 

What version did you end up with?

Link to comment
12 minutes ago, Marco said:

The newer firmware versions also don`t work for me (on Windows OS). After lots of reflashing I settled for "CPLD_1080_XC12"and "firmware_1097c". Lots of hassle to get dsd512 working.

 

What version did you end up with?

 

I am running 1096 and also running to the mute button! Ok, I stroll to the mute button as it takes a minute or two for playback to start while HQP is building the filter.

 

There is a very loud pop/crack at first turn on and also turn off/power down/sleep from my server. Beyond that there is only a tick when I start a playlist/album/track and additional tracks within those albums or playlists are fine.

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
On 2017-6-21 at 5:59 PM, Eclectico said:

I agree and I see the power of DAC in accordance to time steps (abscissa for sine wave).

But let's look a little more on the ordinate.

Shift register are supplied by 3.3V, resistors are 8.2Kohm, at the end of I/v converter, the maximum output voltage can reach 6.4V. And the minimum output voltage available is 0.2Volt.

 

If we take example with Mola Mola dac for the maximum output voltage of 6.4V, min output voltage could be 0.025V.

258 combinations available.

 

In comparison if the output voltage should be at 0.1 Volt, we cannot obtain this value with DAC DSC1=> we can obtain 0V or 0.2V.

 

I discussed with T+A, they have only 2 shift registers but coefficient change with different resistors values.

IMO 1.5% of accuracy seems a little to just.:(

 

 

 

22.png

 

Eclectico, DSD streams basically work by means of averaging the electrical values by a low pass filter.

In your example it could work by averaging a stream of 0,2 volt, next clock cycle 0,0 volt, next clock cycle 0,2 volt again, next 0,0 etc etc. On average this gives 0,1 volts.

As Jussi pointed out, the values are not changed every 22 microseconds as with PCM 44,1 KHz coding, but with DSD512 around every 42 nanoseconds/24 MHz. Averaging all these high data rate changes is easier done as well as less jitter sensitive when done with a FIR-filter. 

Link to comment
10 minutes ago, 4est said:

 

I am running 1096 and also running to the mute button! Ok, I stroll to the mute button as it takes a minute or two for playback to start while HQP is building the filter.

 

There is a very loud pop/crack at first turn on and also turn off/power down/sleep from my server. Beyond that there is only a tick when I start a playlist/album/track and additional tracks within those albums or playlists are fine.

Ah, the dreaded mute-problems. I am running the output of the shift registers at different speeds than the datastream from Amanero. I only get pops when turning the dac on and off and when shutting down the pc. For the rest no problems when starting, changing filters or starting/exiting HQPlayer. This is without a mute circuit populated. I think it works because the storage registers still get their clock independent of what amanero does, but I haven`t given it much thought yet.

The problems i had were different: fluttering/ noise related problems in one channel. It is amanero based, because with a different CPLD (CPLD 1080 channels swapped) the noise problems also swapped channels. Maybe it is my version of the board, but I have 2 and have the same problems with both at dsd512. 256 and lower worked fine.

 

You`re saying don`t have those problems at those speeds?

Link to comment
1 minute ago, Marco said:

Ah, the dreaded mute-problems. I am running the output of the shift registers at different speeds than the datastream from Amanero. I only get pops when turning the dac on and off and when shutting down the pc. For the rest no problems when starting, changing filters or starting/exiting HQPlayer. This is without a mute circuit populated. I think it works because the storage registers still get their clock independent of what amanero does, but I haven`t given it much thought yet.

The problems i had were different: fluttering/ noise related problems in one channel. It is amanero based, because with a different CPLD (CPLD 1080 channels swapped) the noise problems also swapped channels. Maybe it is my version of the board, but I have 2 and have the same problems with both at dsd512. 256 and lower worked fine.

 

You`re saying don`t have those problems at those speeds?

 

I had that fluttering issue in one channel using 1099. Upon switching back to 1096 (after much ado from ignorance), the fluttering went away. This is on an original Amanero, and the LKS Amanero type I am using now. The latter is not a copy per se, but slightly modded with extra regulators and I added a 22M Crystek clock from some previous experimentation.

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
36 minutes ago, 4est said:

 

I had that fluttering issue in one channel using 1099. Upon switching back to 1096 (after much ado from ignorance), the fluttering went away. This is on an original Amanero, and the LKS Amanero type I am using now. The latter is not a copy per se, but slightly modded with extra regulators and I added a 22M Crystek clock from some previous experimentation.

4est, many thanks! I couldn't find this flutter related problem on the Internet,  so I reckoned it had something to do with my hardware. I'll see if 1096 works also.

Btw if you're interested in a, imho, better sounding source (and/or in a network connection), you might want to check out the Twisted Pears' Cronus/Rhea etc. No fluttering there whatsoever and easy to connect to the DSC1. I'm not sure if Mute is operational though..

Link to comment
11 minutes ago, Marco said:

4est, many thanks! I couldn't find this flutter related problem on the Internet,  so I reckoned it had something to do with my hardware. I'll see if 1096 works also.

Btw if you're interested in a, imho, better sounding source (and/or in a network connection), you might want to check out the Twisted Pears' Cronus/Rhea etc. No fluttering there whatsoever and easy to connect to the DSC1. I'm not sure if Mute is operational though..

 

It had me too! I thought the same thing as well. I am using an older cpu and OCing it now for 512, but then I had assumed I just didn't have enough oomph to do 256 proper. Does TP's solution do DSD512? If so, I'll definitely have a look!

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
7 hours ago, 4est said:

 

It had me too! I thought the same thing as well. I am using an older cpu and OCing it now for 512, but then I had assumed I just didn't have enough oomph to do 256 proper. Does TP's solution do DSD512? If so, I'll definitely have a look!

It does do 512, but you need to populate the clocks with 45 & 49 MHz versions. Any higher would maybe be possible if it weren`t for the 100mbit NIC reaching its limits, I assume. It runs rock solid, sounds very organic and transparent and it serves as an NAA. I did replace the smt electrolytics with tantalums. Really nice!

Link to comment
2 hours ago, Marco said:

It does do 512, but you need to populate the clocks with 45 & 49 MHz versions. Any higher would maybe be possible if it weren`t for the 100mbit NIC reaching its limits, I assume. It runs rock solid, sounds very organic and transparent and it serves as an NAA. I did replace the smt electrolytics with tantalums. Really nice!

Hmm, thanks for the heads up! Are you using a BBB for it then?

Forrest:

Win10 i9 9900KS/GTX1060 HQPlayer4>Win10 NAA

DSD>Pavel's DSC2.6>Bent Audio TAP>

Parasound JC1>"Naked" Quad ESL63/Tannoy PS350B subs<100Hz

Link to comment
On 22/06/2017 at 7:25 PM, jabbr said:

I'm trying to help you understand this. What is your understanding about how an analog filter works on a digital waveform?

I know surface operation.

With fixed supply voltage of shift registers and resistors, current is created.

Current is summed and converts in voltage before applying low pass filter to obtains smooth analog signal.

Some use fixed values and others differents values to obtain severals coefficients.

 

Quote

Let's start very simple -- let's start with a digital signal that switches between 0 and 5volts every 1/1000 second. This is a 500 hz square wave. Now apply a low pass filter with a cutoff of 1khz. What does the output look like?

I dont have knowledge about this approch...

Link to comment
On 23/06/2017 at 0:58 AM, Marco said:

 

Eclectico, DSD streams basically work by means of averaging the electrical values by a low pass filter.

In your example it could work by averaging a stream of 0,2 volt, next clock cycle 0,0 volt, next clock cycle 0,2 volt again, next 0,0 etc etc. On average this gives 0,1 volts.

As Jussi pointed out, the values are not changed every 22 microseconds as with PCM 44,1 KHz coding, but with DSD512 around every 42 nanoseconds/24 MHz. Averaging all these high data rate changes is easier done as well as less jitter sensitive when done with a FIR-filter. 

Thanx Marco.

Overall i understand average give the expected value.

And the way of the average value by low pass filter is related to what Jabbr is going to explain.

I am waiting the answer to jabbr.

Interesting topic.

Link to comment
2 hours ago, Eclectico said:

 

I dont have knowledge about this approch...

 

ok it will be a sine wave with smooth analogue voltages. this is how a DAC reconstructs a smooth (not stepped) analogue signal from digital. The analogue output filter is an anti-aliasing filter which converts the steps of the digital numbers into smoothly varying analogue voltages. if you have a "0" and then an interval later a "1", the output voltage smoothly rises from 0 v to 1 v. in this way there are not sharp voltage changes (the filter performs anti-aliasing)

Custom room treatments for headphone users.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...