Return-to-zero shift register FIRDAC

At some point you might try swapping them out for Acrylic, at least for the clock buffer and the inverter that follows. Give them overnight to settle in, then see if you notice any difference. Another thing to try might be C0G. I haven't tried the latter, but I have noticed replacing ceramic with Acrylic seems to help reduce MCLK jitter. Of course, the better the clocks are to begin with, the more capacitor choice might be more noticeable.
 
  • Like
Reactions: diyiggy
First listen of Marcel's DSD512 PWM modulator. Two listeners present for initial impressions. Unfortunately, in our opinion it doesn't yet have the refinement equal to what multiple iterations of the latest version of PCM2DSD firmware from @PJotr25 have produced.

Relatively speaking there is some loss of imaging localization and depth, loss of recording room echoes definition and low-level fade out, as well as some blurring together of instruments and vocal sounds as compared to v4 from PJotr25.

That said, some listening tests along with some measurements were needed to bring v4 firmware to its highest state so far. Maybe there is still some opportunity for Marcel to take these issues on as yet another puzzle?

If I understand correctly from PJtor25, a lot of what was adjusted to optimize v4 was signal level relative to dither level. Something like more or less like that.
 
With the apodizing filter, maybe its slightly better but overall the issues I described in #3,642 still tend to dominate.

IOW, still sounds a lot like what I would tend to interpret as a likely noise issue. If not seen on an typical FFT, then I would guess correlated-noise.

Also, I would say that the PWM modulator in HQ Player doesn't have as much issues as I described previously for this modulator. HQP actually sounds pretty good, with good low level detail including spatial cues.
 
Last edited:
A little better, would be my initial impression. However, there are some remaining issues. For HQ Player the filters than give maybe the best spatial cues are the gaussian ones. So, now I am starting to wonder about filter characteristics.

Also, right now in one musically busy test song we use here there is a rhythm cymbal playing in the right channel which is clear and well defined with v4 firmware, but using your modulator v3 firmware it is close to fully hidden by other instrument sounds. Whether it is more some type of masking noise issue that follows other instruments or a FR issue is not quite clear at this point.

In addtion, we use another test song which has vocals at different lateral and depth locations. They are still not spatially as well defined as with PJtor25 v4 firmware. Probably not as much separation between instrument and vocal sounds either (still some blurring together).

All that said, I do think the dither change seems to have helped some. Would like some other listeners to opine when I can get them here to listen.


EDIT: given that PJtor25 v4 dither is adjusted by ear since non-subtractive dither theory can't work with 1-bit PDM, I also might wonder if it might be worth a try to depart from dither theory a bit with your modulator and see what happens? Somehow some trial and error worked out pretty well for PJtor25.
 
Last edited:
There is one other thing I might mention. I thought it should be easy to bring is a crystal clock signal to replace your XOR gate frequency doubler. I tried more than once, including designing a custom low noise driver board that connected to your dac board over u.fl cables. Nothing I tried could quite get the excellent performance of your doubler. I attribute my failure to your doubler being on the same ground plane as the rest of the dac, it being very close to the shift registers, and the very low noise power supply you designed for that circuit function. My expectation that it would be easy to do better was destroyed.

So much for expectation. Yes, I had some of that, but the evidence was against me; I can't deny it.

Likewise, I think, you don't quite have what PJtor25 modulator has despite my wish that yours would be just as good or better. Still holding out the hope you will prevail with something that in theory should be better. But my bias to that effect can't change what I hear. If I want to believe my expectation bias and I turn out to be wrong, I know my friends will disabuse me of any such bias when they listen. They judge independent from each other and according to their training. The latter factor, that I will be caught by my friends if I make a mistake, carries more weight with me than any bias of what I would like to hear. So, I have to be very careful about my bias. Learn not to fall into traps as much as is possible, etc.
 
There is one other thing I might mention. I thought it should be easy to bring is a crystal clock signal to replace your XOR gate frequency doubler. I tried more than once, including designing a custom low noise driver board that connected to your dac board over u.fl cables. Nothing I tried could quite get the excellent performance of your doubler. I attribute my failure to your doubler being on the same ground plane as the rest of the dac, it being very close to the shift registers, and the very low noise power supply you designed for that circuit function. My expectation that it would be easy to do better was destroyed.
When I tried using MCK for clock2fs I noticed an increase in noisefloor. Tuning the setup and hold times with series termination resistors proved unsuccessful. BTW my guess is that the close-in phase noise performance is impacted partly by the clock doubler circuit.
 
Maybe due to uncontrolled grounding? It's best to practice a star grounding scheme while designing the pcb, so that signal gnd, dc gnd, digital gnd, clock gnd... etc all have their own controlled path, the worst you can do is the usual uncontrolled huge ground layer and components connected to them via vias, that way the gnd is not under control and they don't have their own set path, they can wander uncontrollably and that's how unpredictable disturbances occur where they shouldn't be. Or at least put some canals and separate that huge gnd layer into sections somehow so that current flow excatly trought an boiler capacitor at least and not trought master clock for example, in worst case : )

e.g. while using huge gnd layer
 

Attachments

  • 2024-10-29_161627.jpg
    2024-10-29_161627.jpg
    27.3 KB · Views: 59
Last edited:
I ruined several boards because of a common gnd practice, one board made according to the same scheme has no noise and the other one has noise, I realized that it was because of the gnd that was not under control. Now I practicing strictly the star scheme with definitelly noticeable better results. It's about the post regulators and they work great now, and I believe that everything else that doesn't concern the regulators has to work better when practicing that. I'm relatively new to designing boards, but so far I've had a bad experience with common ground problems. It turned out to be much better when practicing star ground.
 
Last edited:
The problem with using star ground at RF frequencies is that current loops are big, thus they make good antennas. Such boards are unlikely to meet emissions standards required for products sold commercially.

Instead of using star ground you have to learn to think about where current is going to flow in a board with a ground plane. Usually layer 2 of a 4-layer board will be the ground plane. Areas of surface fill on the top layer can be grounded, but the top layer fill doesn't necessarily have to be continuous, and even it is continuous you can often have a lot of control over where impulsive noise currents will flow. You can also put sensitive analog components such as clock oscillators where ground currents flowing underneath them will be minimal.

For example, you could put clocks in a corner of the board, with voltage regulators off to the side. That way ground currents from the clocks themselves can return directly to the regulator, and ground currents from other circuitry flowing back to the regulator will not pass under the clocks. You can also keep most bypass cap current loops on the top layer so that impulsive currents don't have to pollute the ground plane layer so much (and so that bypass current loops can have very small loop area, and can also be very low inductance). Ground planes have very low impedance, which mainly means voltage differences across the ground plane should be very small. However, currents still need to flow and they will produce magnetic fields. When di/dt is fast then ground currents tend to follow traces carrying the mirror image current on an adjacent layer. When di/di is slow the ground current spreads out. The mirroring and spreading out is happening constantly with signals like clock pulses. On clock edges di/dt is fast. While the clock is high or low for awhile before the next edge, di/dt will be slower.
 
Last edited:
  • Like
Reactions: MarcelvdG
It is, but it is desirable that the current flows in a controlled manner otherwise you can't predict where current flow is ongoing on an huge bottom gnd layer, its better to divide bottom gnd layer into smaller areas with contolled direction, it is desirable that it goes first through the capacitor and not through an opamp first, for example.
 
No, I'm just saying that some auxiliary circuit can "pull" something from another circuit from which we don't want it, when the current flows uncontrollably across the gnd surface. That is why it is desirable to divide that area into smaller areas so that it has its own controlled direction.
 
Then you risk making resonant slotted-ground plane structures. In that case you may have a pretty good radio transmitter.

OTOH, star ground may work pretty well for a MC phono preamp design, as there should be essentially no RF energy to speak of in that particular case.
 
Last edited:
What I meant about strictly star gnd was star point between power ground, analog ground, digital ground, and signal ground. Each section have their own sub ref gnd plane with controled flow. Whole gnd's is on one layer only. Nevermind.
 
Last edited:
A little better, would be my initial impression. However, there are some remaining issues. For HQ Player the filters than give maybe the best spatial cues are the gaussian ones. So, now I am starting to wonder about filter characteristics.

Also, right now in one musically busy test song we use here there is a rhythm cymbal playing in the right channel which is clear and well defined with v4 firmware, but using your modulator v3 firmware it is close to fully hidden by other instrument sounds. Whether it is more some type of masking noise issue that follows other instruments or a FR issue is not quite clear at this point.

In addtion, we use another test song which has vocals at different lateral and depth locations. They are still not spatially as well defined as with PJtor25 v4 firmware. Probably not as much separation between instrument and vocal sounds either (still some blurring together).

All that said, I do think the dither change seems to have helped some. Would like some other listeners to opine when I can get them here to listen.


EDIT: given that PJtor25 v4 dither is adjusted by ear since non-subtractive dither theory can't work with 1-bit PDM, I also might wonder if it might be worth a try to depart from dither theory a bit with your modulator and see what happens? Somehow some trial and error worked out pretty well for PJtor25.

I have a counterproposal:

1. I can do some more checks to make certain that each and every requantizer is really dithered according to dither theory. It's very easy to make a mistake and the fact that the spectrum looks as expected doesn't say everything. If any bugs are found, I will fix them.

2. I'm fine with trying a constrained Gaussian windowed sinc apodizing filter instead of the present symmetrical Wilkinson filter. The choice is rather random anyway. The impulse response needs to be symmetrical to fit in the FPGA, otherwise I would have used asymmetrical Wilkinson like in the valve DAC. (To be precise, the present filter is a filter according to R. H. Wilkinson, “High-fidelity FIR filters based on central-difference operators”, IEE Proceedings on Circuits, Devices and Systems, vol. 141, no. 2, April 1994, pages 111...120, with tau set to 0.)

3. One could also play with third- or fourth-order dither, if headroom allows. Mind you, in an earlier blind listening test with Mooley and PMA, they could hear a difference between a file with high-order dither and one with additive noise with a similar probability distribution, but they had no preference.

If none of this helps, I suggest Mark keeps on using PJotr25 and olo111's latest version. Of course everyone else can try for themselves what they prefer.

I will not attempt to use dither that is not according to nonsubtractive dither theory. There is no point in accepting the worsened noise shaping of my algorithm then.