DSD Playback system, DSF Player + USB DDC + DSD Amplifier

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
You do "pulse height control" in a way that is equal to analog amplifier. You will have the finals open only partially and disipate heat like any AB class.

Also I thought that you have solved the PCM-DSD part. Wasn't that what you where after at first?
And yes, straight DSD is not easy to control in volume.
 
Last edited:
Pulse height control is..
DSD(1/0)*(V1*C1+V2*C2+V3*C3+V4*C4+V5*C5+V6*C6)
C1-C6 is 1/0 control from PIC(ADC), does not changes while volume is not touched.
V1=1/2Vcc, V2=1/4Vcc, V3=1/8Vcc...
So this is not related to audio frequency, only effects DSD frequency.

DSD amplifier can be un-linear (but to be controllable), for example, +-0.1V pulse in -> +-0.5V final out and +-0.15V pulse in -> +-0.77V final out, is terrible distortion in analog amplifier. but no problem in DSD amplifier.

Before LPF, there are no analog signal, only DSD pulse. attached LPF output from single DSD pulse - it lasts some msecs.
Then thousands of this impulse response will be summarized to final analog(audio range) signal.
So DSD amplifier don't have to work like analog amplifier, just should be fast enough to process DSD.
 

Attachments

  • LPF.png
    LPF.png
    45.8 KB · Views: 580
I don't care partial or full...
This amplifier does not require Amplitude Linearity.
If this amplifier has terrible 2nd distortion like below (actually not)
input +-0.5V -> output +-2.5V
input +-0.8V -> output +-3.6V
Still signal result (after LPF) is clean.
This amplifier is built as 'high-speed only' analog amplifier, don't care about NFB / current mirror / constant current source-sink etc.
but this amp is not working in analog area.
Please make your one and look on Oscilloscope, what's happening.
 
I don't need, I know what happens :)
Sure, you don't have to worry about the zero-crossing distortions, but you will still have variable time-switching due to the fact that you don't saturate the transistors. And the heat issues. All that will result in some level of distortion IMO.
Did you measure it at lower levels of volume (like 10%)?
 
Hey, I have one ideea - why stick to 2.8224 MHz? Let the 48 and 96 generate the higher signal (x64 or x32 give 3.072 MHz) - you are not using a regular DAC anyway after that, so it will not be a problem!

Recently I have been completely absorbed in playing DSD256 sources.
I felt quite a "break through" in the DSD256 sounds obtained by ES9018 DAC.
(In the case of DSD128, the resulting sounds are not so much impressive. However, DSD256 has a great leap! Koon, why don't you try DSD256 in your system?)

Of course, native recordings in DSD256 are very rare. I have just only one source. I convert and upsample PCM and DSD of lower sampling frequencies into DSD256 using Korg AudioGate program. Surprisingly all the sources sound better on DSD256.

While converting 48kHz, 96kHz, 192kHz PCM sources into DSD128(5.6MHz), I remembered SoNic_real_one's comment quoted above.
It must be quite natural to have the 48kHz series DSD when converting original PCM sources of 48kHz series.

I use Chiaki's SDTrans384 for DSD256 play. I asked him whether implementing DSD of 48 kHz series was possible or not. He said "Yes".
I think DSD64,128,256 for 48kHz is feasible in the combination of SDTrans384 and ES9018 and I'm going to try them under Chikaki's help.

Bunpei
 
If ES9018 can lock on those signals 48k-multiple, why not?
ES9018 upsamples too the PCM and DSD inside (like any other sigma-delta DAC). Final internal result is probably 6 bit DSD128 applied to actual sigma-delta converters.
I think that improved quality comes from the fact that you are doing the upsampling/interpolation outside the DAC, with a better algorithm that the one inside ES9018.
 
ES9018 upsamples too the PCM and DSD inside (like any other sigma-delta DAC). Final internal result is probably 6 bit DSD128 applied to actual sigma-delta converters.
I think that improved quality comes from the fact that you are doing the upsampling/interpolation outside the DAC, with a better algorithm that the one inside ES9018.

I agree with you. In the DAC chip, the final DAC stage is a 6 bit DAC for delta-sigma modulation. (The conversion frequency is not disclosed, I think)
All the digital input signals, regardless PCM or DSD, are internally to be converted into the same 6 bit delta-sigma modulation format.
However, according to my experience, a pre-processed DSD256 input brings the best result.
 
In addition to the usual 44.1 kHz series DSD sources; DSD64(2.8MHz), DSD128(5.6MHz), DSD256(11.2MHz) & DSD512(22.5MHz), I could play DSD sources of 48 kHz series; DSD64(3.1MHz), DSD128(6.1MHz) & DSD256(12.3MHz) with the combination of ExaU2I and Fidelix CAPRICE (a Japanese ES9018-based DAC) using "synchronous master clocking method".

Bunpei
 
A program for direct conversion from PCM 44.1kHz/16bit WAV to DSD256 DFF

Based on the source codes released by Koon, Sunacchi, a Japanese user of SDTrans added his coding that makes direct conversion from PCM 44.1kHz/16bit WAV to DSD256 DFF.
His program can be downloaded from here http://ama-audio.up.seesaa.net/image/wav2dff-5c465.zip.
No major modifications are made to Koon's original algorithm.

----------------------------------------------
Wave to Dsdiff Converter - Version1.3
----------------------------------------------
1. Command line example;
> wav2dff "c:\data\aaa.wav" /DSD256 /t:32768

2. Usage;
wav2dff.exe infile <outfile> </DSDrate> </t:nnnnn> </k:mm> </p:5>

Option parameters are,
Rate of DSD: /DSD64(default) or /DSD128 or /DSD256
Number of taps in FIR: /t:2048(default) or /t:4096 or /t:8192 or /t:16384 or /t:32768
Kaiser Window Alpha Value: /k:4 .. /k:16 /k:10(default)
Noise Shaper Zero parameter set pattern number: /p:1 .. /p:5 /p:2(default)
/p:1 NoiseShaper param Zero1=0.94, Zero2=0.73, Zero3=0.41
/p:2 NoiseShaper param Zero1=0.95, Zero2=0.74, Zero3=0.42
/p:3 NoiseShaper param Zero1=0.96, Zero2=0.76, Zero3=0.43
/p:4 NoiseShaper param Zero1=0.97, Zero2=0.77, Zero3=0.43
/p:5 NoiseShaper param Zero1=0.98, Zero2=0.78, Zero3=0.44

Sunacchi and Bunpei would like to express our sincere gratitude to Koon because he generously releases his valuable source code to public. Especially his source code helped us to have a clear understanding how a DSD signal is practically generated through a Delta-Sigma modulation technology as well as an upsampling pre-processing using a FIR.
 
... can't execute the programm, how have to do?

Oh, you are right.
I ran the program on my Windows 7 64bit Edition PC. The program terminated without any error message during its execution.
I'm now checking it on my Windows XP 32bit slow notebook PC. It will take more time to get a result.
Would you tell me your execution environment?

I will ask Sunacchi to find a work around.
I appreciate your patience.

Bunpei
 
I found a possible cause of the error.

Please add "/r" option in your command line, for example,
> wav2dff "c:\data\aaa.wav" /r /DSD256 /t:32768
and please execute it again.

I omitted options "/r" and "/n:xx" in my explanation of the previous post because I think they were so complicated. But now, I need to explain these.

When the program encounters a "clipping" event, it recognizes the audio level value as erroneous and terminates the processing. That might be why you couldn't get any resulting file.

The program has an internal value named as "Normalization factor" which initial value is proportional to a given DSD sampling rate. The factor is used to re-adjusting the audio level values.

If you specify the "/r" option, the program automatically try to re-generates a DSD output file by decreasing the Normalization factor value by 1 at the occurrence of the first clipping. In the case that the program finds a new clipping again, it will try processing again by decreasing the Normalization factor by 1. The iteration limit is 10.
If you can not get any result even within 10 decrements, you need to specify a larger decrement value by using the option "/n:-xx", for example, "/n:-16". (The value "-16" is named as "Normalization Offset" by Sunnachi.)

Bunpei
 
Last edited:
Member
Joined 2009
Paid Member
Oh, you are right.
I ran the program on my Windows 7 64bit Edition PC. The program terminated without any error message during its execution.
I'm now checking it on my Windows XP 32bit slow notebook PC. It will take more time to get a result.
Would you tell me your execution environment?

I will ask Sunacchi to find a work around.
I appreciate your patience.

Bunpei

Thanks Bunpei, I run Windows XP & Windows Vista

Felipe
 
I'm here:

C:\Documents & Settings\usuari>

How can do to execute the programm for windows XP?

Hi, Felipe,

You seems to be unfamiliar with running programs on PC.

First, this is the easiest way for checking.
Please put wav2dff.exe program in the zip file in your appropriate folder.
(Please tell the folder name to me later.)
You will be able to find its icon in a Windows Explorer window.
Please drag your wav file and drop it on the icon.
A command prompt screen will appear automatically and you will be able to read some information on the screen.
The converted output file will be created in the same folder of your wav file.

Bunpei
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.