My no DAC project, FPGA and transistors

I see thanks, did you know any FPGA solution have better DSD (PDM) modulation?

Sorry I don't understand your question, with FPGA your options are basically limitless... once you start to design modulators you open a whole bag of hurt... and end up down many endless rabbit holes...

For an "off the shelf" PCM to 1bit SDM and 1bit SDM to PCM converter the AKM4137 is the best currently available solution... (I've not heard the Comtrue Device, they have such poor support)... designing a decent sounding 1bit SDM modulator is hard - I just dont trust such unknown company's who hide there designers...

You can be small and unknown company if you present your designers to the world and let them discuss there ideas... much like Dustin did here in the early days of ESS's HiFi DAC designs :)
 
...once you start to design modulators you open a whole bag of hurt... and end up down many endless rabbit holes...
... designing a decent sounding 1bit SDM modulator is hard...

John,

For those of us who have never delved much into that area, maybe you could help us understand a bit more about what makes it so hard to design one that sounds good?
 
Last edited:
Design of 1 bit modulators present a whole host of challenges, the ever present issue of noise floor modulation and idle tones being the most basic...

An issue that I dont see mentioned is the modulator order, with 7th order being typical for Sony DSD - however I find that the higher the modulator order the worst the transient sound quality - the "realness" of the reproduced audio...

Higher order modulators are designed to achieve good simulation results and help with the issue of idle tones etc.

With 1 bit SDM, your really balancing so many interrelated / opposing variables - the trouble is most designers simply "design by numbers" and are not secure enough to listen to the result - "it measures well so it MUST sound good"... maybe / maybe not, but for sure that concentrating on Dynamic Range and THD we trust in the wrong measurements... the time domain performance is almost always overlooked and IMO is JUST SO CRITICAL...

I suspect that ESS SQ issues is fundamentally down to there modulator architecture...
 
Last edited:
Member
Joined 2007
Paid Member
@JohnW: Hi John,

The PCM4202 are still the best sounding ADC's we are aware of that have a true 1bit SDM output

Are you familiar with the ADS1204? Pure second order 1-bit modulator from TI possibly in practice capable of operating at DSD256 speeds. I'm not entirely sure about its basic noise level but since the datasheet's FFT is 4096 point (fig 18 & 19) these may be unusually revealing ...

Cheers,

Jesper
 
Member
Joined 2017
Paid Member
I see thanks, did you know any FPGA solution have better DSD (PDM) modulation?

I guess you need ADC with 1bitDSM output for digital processing, and the final target is an analog signal. The former is in the digital domain, where I can't find much difference between DSM order and OSR. The latter isn't so simple because it's in the analog domain, where sound quality depends on DSM architecture and DAC topology: very complex combination. That's why I can't have the best DSM modulator in the digital domain. The best one must include DAC you use in the analog domain. In other words, no best combination exists so far, IMHO.

As to DSM order, as long as your target is limited in the digital domain, you don't need to worry about DSM order and OSR even with a small FPGA like xc6slx25 though you have to do a little bit hacking. Eighth order with 128OSR is possible. I don't think you need 8th order with more than 256OSR because 4th order with 256OSR is enough for the audio band. I want to emphasize that low order(3rd or 4th) is superior to high order(8th) if your target is an analog signal; 8th order with 256OSR is superior in the digital domain but is difficult to convert into an excellent analog signal in my experience.
 
The "DSD" outputs of the AKM5578 are not native DSD, they are re-modulated from the native mutlibit Delta sigma architecture..

The PCM4202 has native DSD outputs and IMO audibly Superior in DSD mode...

I have the Tascam 3000 DSD recorder (PCM4202) and despite pretty average
analog circuitry, it does sound reasonably good in DSD mode. I also have the
PCM4222 eval board but have not gotten around to comparing the two.

I'm wondering if it is possible to run PCM4202 at DSD256? tDCKP is specced
at min of 156nS = 6.4MHz, however that's not to say the chip won't run
faster.

It's a pity Burr Brown didn't continue to develop their top tier audio ADC's
and DAC's as they are still pushing the envelope with newer opamps which
are very good performers.

TCD
 
I have the Tascam 3000 DSD recorder (PCM4202) and despite pretty average
analog circuitry, it does sound reasonably good in DSD mode. I also have the
PCM4222 eval board but have not gotten around to comparing the two.

I'm wondering if it is possible to run PCM4202 at DSD256? tDCKP is specced
at min of 156nS = 6.4MHz, however that's not to say the chip won't run
faster.

It's a pity Burr Brown didn't continue to develop their top tier audio ADC's
and DAC's as they are still pushing the envelope with newer opamps which
are very good performers.

TCD

Terry,

We have tired the PCM4202 at DSD256 and sadly it does not work directly, but we pulled a trick and interleave two channels at 128fs and this works well (differential and phase flipped), This does not give a real 256x noise sharper performance, BUT does sound very good as the device is now used in dual mono configuration...
 
Member
Joined 2017
Paid Member
the 3rd PCB

I have successfully fixed my 3rd version 1bitDSM PCB.:) The destination,120dB SNR, is probably achieved with some modification, which means additional LT3042 to decrease power dissipation. This is for thermal isolation between the switching section(a differential amp) and LT3042. The switching performance of transistors strongly depends on Vbe voltage. The transistors on the right side are much polluted than the left side by heat from LT3042. The PCB layout wasn't proper. Two LT3042(one is on the solder side) is one solution to decrease the unbalance temperature rise. The acceptable difference is almost 10mV for fast switching between 48 taps; the 3rd version has 48 taps.

FPGA to drive 48 taps is xc6slx25_BGA484, which has two banks with the capability of high speed and controllable propagation delay I/O. Xc6slx25 has four banks, but only two are available for fast switching: I leaned the limitation of xc6slx25 with 2nd version. The 1st pic is PCB, which is mono for thermal isolation between L and R. The 2nd is switching performance. As long as your playground is discrete, this is almost maximum. Each tap has a common collector, which means long trace(more than 10cm), results in switching delay even if FPGA outputs a perfect drive pulse. I'm sure if you want glitchless switching, the only answer is a monolithic implementation: beyond a DIYer design. Excellent switching automatically brings you high SNR and THD, especially in 1bitDSM architecture, where both have almost the same meaning.

The 3rd pic is 1kHz measurement. SNR must be adjusted if your target is more than 115dB because the residual noise of ADC can degrade the value. Audio Tester also can't output an accurate number. RX7 is the alternate tool to have precise SNR: removing the fundamental and harmonics by a notch filter. Notch depth and bandwidth can make some errors, but almost reliable. More than 120dB without A filter is achievable. The 4th is quantization noise above the audio band in 4th DSM(x128OSR); analog LPF is gentle 6dB/oct. The inherent nature(advantage) of analog FIR is low out of band noise. Fouty-eight taps(x128OSR) mean moving average LPF starting at 128kHz. The 4th is better than 8th DSM(the 5th pic) because 8th has theoretically large out of band noise(the audio band noise in the digital domain is small), though the 5th pic has less noise than SACD(probably 7th order). ;)

Then, I needed to swing by DSM ADC for better THD measurement. My ADC is SAR(AD7960), which has an internal C2C ladder for conversion. I guess C2C also has linearity error like standard R2R ladder DAC. The 3rd pic has a little bit strange grass at HF(more than 10kHz). So, I designed the AD7768 PCB for THD(the 6th pic). The AD7768 has eight DSM ADCs up to 256kHz sampling. Each one has 130dB THD and 118dB SNR with 256kHz sampling and 5V reference. It's a little bit inconvenient to have 256kHz sampling to be compatible with standard audio software. Xc6slx9 is the solution for SSRC from 256kHz to 96kHz, SPI to I2S conversion(AD7768 outputs SPI, not I2S), Ir interface, and spdif interface.

It took one month to fix the ADC. It can populate a notch filter. But with a notch and without a notch, had no difference if your target is less than -3dBFS. The performance of AD7768 is excellent. The 7th pic is measured data by AD7768. You can no longer find grass at HF. The upper is -0.5dBFS(DAC 9.5Vpp). the lower is -3dBFS(DAC 7Vpp). A little bit small amplitude(-3dBFS) can have better THD, So is other DAC topology. THD at -3dBFS is a very extreme number(128dB). The most surprising is repeatability. You need ten-minute warming up for thermal stability before measurement. Once Vbe has reached a stable temperature, You can always have 128dBTHD: the very inherent advantage of 1bitDSM. You can modify the AD7688 for SNR measurement. Eight ADCs are mandatory for the low noise floor(126.6dB), though it's better to have 3dB ATT to ensure the headroom. The 8th pic is SNR measured by the AD7768. The Ad7768 and the AD7960 have almost the same value. The difference is probably due to notch performance.

1bitDSM has high potential as I imagined one year ago. The 4th PCB can be the final one. I have to modify PCB for the fixed version. It takes two or three months. My journey to 1bitDSM is going to cut the goal tape at the end of this year.:)
 

Attachments

  • IMG_5536.JPG
    IMG_5536.JPG
    455.4 KB · Views: 362
  • AD7768_SNR.jpg
    AD7768_SNR.jpg
    304.1 KB · Views: 187
  • 1kHz_05_3dB.jpg
    1kHz_05_3dB.jpg
    575.7 KB · Views: 205
  • IMG_5588.JPG
    IMG_5588.JPG
    350 KB · Views: 194
  • 8th_128.jpg
    8th_128.jpg
    320.6 KB · Views: 333
  • 4th_128.jpg
    4th_128.jpg
    286.3 KB · Views: 342
  • ffto48_THD.jpg
    ffto48_THD.jpg
    274.3 KB · Views: 339
  • tek00632.jpg
    tek00632.jpg
    134.1 KB · Views: 364
Member
Joined 2017
Paid Member
Thanks a lot. My 1bitDAM project is based on my interest in the principle. I believe 1bitDSM is the best DAC architecture. I know believing doesn't mean the truth unless you prove it by the fact in my career. Of course, no need to do such an inconvenient step in the hobby world. ;)I still couldn't get rid of the way I used to do. It's 80% fun and 20% obligation for me now.:eek: I have enough time to waste and a little bit of money to design PCBs.

As to SQ, I am already satisfied with my current DAC:3bit DSM(5th order,x128OSR, 110dBSNR, and 110dBTHD). More than 120dB is probably overkilling. The only advantage to have such numbers is fast response, IMHO. I feel PCM is inferior to DSM in response speed at tutti because my listening is almost orchestral music. I don't expect exceptional improvement from my 1bitDSM. It's scientific interest and particularity about the theory.
 
Member
Joined 2007
Paid Member
... very interesting xx3stksm - also looking forward to seeing where you can take this ...

One puzzling question though to your last paragraph above:

I feel PCM is inferior to DSM in response speed at tutti

I take it that this is a listening observation (?) - but if this is so can I then ask you why you think it would be so from a more theoretical point of view?

Cheers,

Jesper
 
Member
Joined 2017
Paid Member
That's my impression when I listened to the 3bitDSM sound for the first time. Then I gave up to stay with my old friend, PCM DAC(pcm1704). DSMDAC, even with 3bit, had extraordinary power like an explosion when it came to tutti. I hypothesize that PCMDAC has a noise floor rise by 4 or 5 dB when the output becomes max(around 0dBFS). DSMDAC has less noise floor change than PCM. The best one is 1bitDSM, which has almost zero increase. From silence like blackness to an explosion is the point that I want with 1bitDSM.
 
Member
Joined 2007
Paid Member
@xx3stksm: Thanks for your feedback ... ;-) ... Hmmm ...

I am just wondering if there could be some other explanation than that there's fundamentally a difference between PCM and DSD (with different bit resolutions). I read what you are writing about the noise floor but - and I may not know all the associated theory here - I reckon that PCM doesn't per definition have to have a higher noise floor at 0 dBFS ... Right? ... I suppose this rise in noise floor could be due to different internal circuitry designs which may not be "noiseless" when loaded in the full dynamic range (?) ...

Well, as it is I am still pondering why this difference could be there ... One of the best sound reproductions I have heard in terms of tonal nuance, overall speed, coherence and fluidity has been a very simple DSD based playback. On the other hand I understand that e.g. someone like Andrea Mori (TWTMC clocks) prefer R2R DACs ...

Hmmm ... puzzling ... :rolleyes:

Cheers,

Jesper
 
Last edited:
Member
Joined 2017
Paid Member
comparison between silence and tutti

I measured the difference between no input and a large amplitude. Standard 1kHz doesn't have a distinct difference. The 1st pic is 16bit PCM, which was the replacement for pcm1704: I was satisfied with it. The 2nd is 3bitDSM, which is the same hardware as the 1st pic. The 3rd is 1bitDSM. I preferred pcm1704 to pcm1792. So, I wanted to figure out if the difference comes from the architecture(PCM or DSM). The same HW with different modulations can be the answer.

Static measurement like 1kHz doesn't tell you the truth. The difference is little variation in THD. But the listening test had an audible one. DSM was better than PCM for me. Thirty-two sinewaves(the 4th pic) used in ASR measurement is more effective than 1kHz. The test must have synchronous sampling to utilize the correct bin; the rectangular window is mandatory.
Another problem to do 32 sinewaves is ADC quality. It's not easy to guarantee excellent quality as AP has. I don't know which side is to blame for noise increase at LF, DAC, or ADC. The 5th (16bit PCM), the 6th (3bit DSM), and 7th (1bit DSM) are my results. The 8th and the 9th are magnification.

There are measurements done by AP. They also have a noise increase at LF. The test signal is the same as my measurement, but the FFT length is probably 256k. The results are normalized to have 0dBFS(each 32-tone), which means 32bit floating because the max level(total of 32-tone) is far beyond 0dBFS. So are my plots.
Review and Measurements of GUSTARD-DACA22 - 4499 First Show at ASR | Audio Science Review (ASR) Forum
Mola Mola Tambaqui DAC and Streamer Review | Audio Science Review (ASR) Forum

I guess a large noise increase like 16bitPCM is the worst. It's better to have large noise at silence rather than low noise at silence. If no fluctuation between silence and tutti, the human ear can't notice an audible difference, IMHO. An old school DAC probably has large noise at silence, where you can't notice a noise increase at tutti: good impression.
CD-quality noise floor (-90dBFS) is often recognized as a warm and organic sound. I sometimes inject such noise into a noiseless digital recording file. Recent noiseless one is cold and not a humanlike sound for me. Noise injection is one solution to make them live.
 

Attachments

  • 32tone_dsm1_mag.jpg
    32tone_dsm1_mag.jpg
    286.5 KB · Views: 93
  • 32tone_pcm_mag.jpg
    32tone_pcm_mag.jpg
    294.6 KB · Views: 100
  • 32tone_dsm1.jpg
    32tone_dsm1.jpg
    296.1 KB · Views: 94
  • 32tone_dsm3.jpg
    32tone_dsm3.jpg
    296.8 KB · Views: 104
  • 32tone_pcm.jpg
    32tone_pcm.jpg
    301.4 KB · Views: 285
  • imd8_E.jpg
    imd8_E.jpg
    87.4 KB · Views: 296
  • 1k_dsm1.jpg
    1k_dsm1.jpg
    249.1 KB · Views: 285
  • 1k_dsm3.jpg
    1k_dsm3.jpg
    258.4 KB · Views: 280
  • 1k_pcm.jpg
    1k_pcm.jpg
    256.8 KB · Views: 290
Last edited:
xx3stksm,

Very good results :)

Do you have THD FFT at 0dB?

With my simple discrete "Dual tap" DAC I see the highest harmonic at about -120dB @ 0dB - with the 3rd harmonic being the highest....

The Mola Mola DAC has -130dB apparently, but with far more taps... with just 2 taps (DAC elements) I have to balance DNR verses THD...
 
Last edited:
Member
Joined 2017
Paid Member
That idea has occurred to me before, but never got around to trying it. Thought of using tape noise since people may be somewhat accustomed to the sound of it

My audio career began in the late '70s when vinyl was a major medium. I remember the beginning of the CD era in the early '80s. I didn't appreciate CD sound so much those days because it was a little bit cold, not heartwarming. But there were some excellent digital recordings by Dutoit and Montreal at Eustache church. I was absent in the audio world during the '90s and '00s to make a living as an engineer. After retiring, I came back to the audio and wanted to listen to the old sound in my memory, Dutoit & Montreal.

Memories are not always the same as what I want. So was "Carmem suite" by Dutoit. Then, I tried to remaster the old discs myself with recent editing software, RX4, or RX7. I managed to make the most of the old golden discs with "noise injection." Noise injection can decrease its cold sound, which sometimes seems like an ice doll, but I don't like it. Some noise sources are available, white noise, tube noise, and extracted one from a live concert. I used white noise for warming CDs. My remastering ended soon after I began to rip vinyl. Vinyl was superior to "remastered CD" in my listening circumstance. RX7 is a handy tool to make the best of vinyl. So, my injection project was over.:)
 
Member
Joined 2017
Paid Member
xx3stksm,

Very good results :)

Do you have THD FFT at 0dB?

With my simple discrete "Dual tap" DAC I see the highest harmonic at about -120dB @ 0dB - with the 3rd harmonic being the highest....

The Mola Mola DAC has -130dB apparently, but with far more taps... with just 2 taps (DAC elements) I have to balance DNR verses THD...

The max amplitude of 1bitDSM isn't so distinct because stability is a dominating factor. PCM can have the max amplitude at 0x7fffff(24bit ). My 4th order DSM is almost at 0x500000. More than the max ends up the oscillation. The attached pic is the max amplitude (0dBFS). Additional 0.3dB probably results in oscillation. Once oscillation occurs, there is a chance to fry up a speaker. So, my absolute max is 0dBFS but recommended one is -0.5dBFS.

Mola Mola is measured by AP. An ordinary ADC used by a DIYer isn't so good as AP, where I guess a DIYer's result is less value than real performance. I'm sure more than 120dB is a tough challenge to have an accurate number.
 

Attachments

  • 1kHz_01dBFS.jpg
    1kHz_01dBFS.jpg
    294.8 KB · Views: 143