Return-to-zero shift register FIRDAC

I've been attempting to keep up with the technical discussions but in the background I thought I'd do some practical experiments...:geek:

I am really interested in Marcel's idea of a discrete class-A filter board and will certainly be up for trying that out. However in the meantime...

I was interested in trying out the circuits that Bohrok2610 posted using the opa1632 op-amp and so I initially made a pcb design to the original design and tried that out but then once the updated design with the modified filter parameters was presented then I made an updated version to compare that too. Yesterday I fixed my deliberate (haha) mistake on the board and listened to the result. I really like the sound. It has taken the dac to another level for me.

IMG_20240404_175304.jpg


I have a new version uploaded to JLC to fix my errors. This one has options for regs (ie something like LT3045/3094) with the LM317/337 pin-outs. Also mute relays optionally although I've not found them necessary.

This is being tested here on my 2nd DAC which I intend to revamp the power supplies and distribution on. I keep saying that but not quite getting around to it. I have it on the "roadmap" just not got around to it, although I know it could be an easy win and easier than making pcbs but I happen to like making the pcbs. :ROFLMAO:

If anyone is interested I can put the gerbers up, or indeed the KiCad files.
 
  • Like
Reactions: 6 users
I've been attempting to keep up with the technical discussions but in the background I thought I'd do some practical experiments...:geek:

I am really interested in Marcel's idea of a discrete class-A filter board and will certainly be up for trying that out. However in the meantime...

I was interested in trying out the circuits that Bohrok2610 posted using the opa1632 op-amp and so I initially made a pcb design to the original design and tried that out but then once the updated design with the modified filter parameters was presented then I made an updated version to compare that too. Yesterday I fixed my deliberate (haha) mistake on the board and listened to the result. I really like the sound. It has taken the dac to another level for me.

View attachment 1294915

I have a new version uploaded to JLC to fix my errors. This one has options for regs (ie something like LT3045/3094) with the LM317/337 pin-outs. Also mute relays optionally although I've not found them necessary.

This is being tested here on my 2nd DAC which I intend to revamp the power supplies and distribution on. I keep saying that but not quite getting around to it. I have it on the "roadmap" just not got around to it, although I know it could be an easy win and easier than making pcbs but I happen to like making the pcbs. :ROFLMAO:

If anyone is interested I can put the gerbers up, or indeed the KiCad files.
Excellent work there and thanks to Bohrok2610 for sharing the design , hopefully others thats built Marcels dac will give it a try .
 
Last edited:
3) The Alternate filter, based on Bohrok's design, has two 10nF caps instead of 8.2nF and 10nF has been added between the two Firdac outlets replacing the 1nF in version 2).
I tested this by changing the 1nF cap to 10nF cap while keeping 8.2nF caps. No change for the better so the improvement in simulation does not seem to carry over to reality.

The modulator has more impact on distortions at low level. In addition to quasi-multibit modulators the sox-dsd modulator with 6th order filter at DSD64 performs well even with stock output stage (see attachment).
 

Attachments

  • stock_1k_-60dBFS_sdm6.JPG
    stock_1k_-60dBFS_sdm6.JPG
    236.7 KB · Views: 39
  • Like
Reactions: 1 user
I don’t see any advantage either in the simulation with 3x10nF.
However as it seems, the JRiver conversion that I use for PCM to DSD, also seems to use a similar algorithm as Marcel with his PWM8.
When converting a 44.1 .wav file into a DSD128 .dsf,
HF noise starts at 10Khz.
So with this quasi-multibit it will never show the low level distortion product.

I finally have figured out the right set up for my simulations.
A 1nsec step time was still too large to prevent anomalies from the Firdac’s, so I finally settled at 0.5 nsec.
Since I have only 600GB free space on my disk, I can simulate 16msec max from the DSD128 .dsf file taking 560GB.
That restricts the frequeny bin width to 62.5 Hz, thereby also limiting the minimum noise level.
It will be impossible to get those nice low noise level images that Bohrok produces.

Hans

P.S. every 16msec run takes ca. 4 hours, so I need quite some time to finalise the things on my list and report my findings.
 
Last edited:
  • Like
Reactions: 1 user
Hi Studley,

1) JRiver can’t convert on the fly while playing.
You have to select a file, instruct JRiver to convert and select to any of the many possibilities.
I used the DSD128 selection.
It takes a minute or so and then your .dsf file apears in the list of files to be played.

2) I don’t have PCMtoDSD but in tests JRiver was rated as one of the very best converters.

Hans
 
Since I have only 600GB free space on my disk, I can simulate 16msec max from the DSD128 .dsf file taking 560GB.
Do you store all node voltages and branch currents or just the ones you want to take the DFT of?

16 ms/500 ps = 32 000 000, so a few hundreds of megabytes should suffice when you store only a few node voltages - unless the simulator takes a huge number of extra time steps to ensure convergence.
 
Marcel,

Do you think it makes a lot of sense to look at HD at a particular signal level only when comparing modulators? What about the old stepped DC offset versus noise metric?

I mean, I get that there is interest in minimizing HD coming out of the dac, but does focusing on that to the exclusion of other metrics give a well rounded picture of modulator performance tradeoffs?

For me at least, I know if I only look at HD performance then I start to feel like its the most important consideration, even though I know its only a feeling. IOW, I believe its probably a Focusing Illusion bias.

Beyond that, if we look at all the modulators and filters in HQ Player, they all sound different. Some perform better in time domain transient reproduction, and others look better in the discrete frequency domain view. How best to evaluate those differences?
 
Last edited:
  • Like
Reactions: 1 user

TNT

Member
Joined 2003
Paid Member
I have a Tidal subsciption but to be honest use it hardly, so I probably misinterpreted the question.
When the question was whether JRiver can play DSD files on the fly either from a local disk or from Tidal, the answer is a full yes.

Hans
I think the question was if River was able to convert wav/flac to DSD on the fly...

Do Tidal send DSD... don't think so... hence the question...

//
 
Do you store all node voltages and branch currents or just the ones you want to take the DFT of?

16 ms/500 ps = 32 000 000, so a few hundreds of megabytes should suffice when you store only a few node voltages - unless the simulator takes a huge number of extra time steps to ensure convergence.
Marcel, Good point.
I will have a look at it and see what settimgs I have.
All that huge data is in a .raw file, but when I delete this file with the LTSpice image still active, I can still make a FFT.
So it seems those 560GB aren’t needed for making an FFT.

Hans