Simple DSD modulator for DSC2

I was send gerber and order this pcb.
I hope the future it will measure the sampling frequency input, then choose TCXO 44.1K / 48Khz family to Reclock - it mean are no need the MCLK input.
And the Mute, DSD_OE pin at output will work independently without depending Mute, DSD_OE pin base on input.
We're have a SRC Universal, alright :D
 
Last edited:
Finally I'm using dynamic partial dithering. The dithering levels were chosen experimentally because I don't know how to calculate them correctly yet.

Just out of curiosity, what do you mean by dynamic dithering (what's the difference with static dithering) and what kind of dither probability distribution do you use? Rectangular, triangular or just a few equally probable discrete values?
 
Member
Joined 2017
Paid Member
success

I have successfully squeezed my xc6slk25 version into xc6slx9(pic. 1). The differences between them(post#30) are an oversampling stage and two 5th order DSMs. Xc6slx9 has a half-size FIR because of time multiplexing, which results in a bit large HF droop(pic. 2). More than 0 dB(+0.1dB) doesn't mean clipping because the gain of oversampling FIR is almost -8dB; -5dB for DSM stability and -3dB anti-ISO. I guess -3dB is enough to guarantee ISO-free. One advantage of the FPGA-based preprocess is easy to implement anti-ISO logic. I'm sure ISO is a more dominating factor than clock jitter as long as I have experienced it.

Xc6slx9 version has an option to select 160OSR or 80OSR; EEPROM 1pin=open:160OSR,EEPROM 1pin=GND:80OSR. Pic.3 is the digital domain performance of 5th order 160OSR. There is small quantization noise above 20kHz; almost no degradation. Pic.4 is 80OSR. You can see large quantization noise if you compare it with 160OSR. But what you need is the analog domain performance, not the digital. Even if you have excellent hardware(120dB SNR), 80OSR is enough in the analog domain;pic.5. High OSR means high sampling frequency, which ends up poor performance in the analog domain. I prefer 80OSR to 160OSR, though you have an option which to use.

Xc6slx9 has a different pin assignment from olo111's PCB because the development was done with a spare PCB(pic.6) having an xc6slx9 footprint. It's a straightforward process to change the pin assignment when his PCB is ready. Then, I will post the final version.
 

Attachments

  • stats_xc6slx9.jpg
    stats_xc6slx9.jpg
    266.5 KB · Views: 611
  • frq_res.jpg
    frq_res.jpg
    418.7 KB · Views: 508
  • 5th_x160_DSM.jpg
    5th_x160_DSM.jpg
    306.5 KB · Views: 484
  • 5th_x80_DSM.jpg
    5th_x80_DSM.jpg
    304.2 KB · Views: 484
  • 56tap_5th_X.jpg
    56tap_5th_X.jpg
    320 KB · Views: 592
  • IMG_5778.JPG
    IMG_5778.JPG
    340.6 KB · Views: 487
i have a very little grasp on theese topics... but as far as i understand yours could be a different sythesis for the olo pcb ?
Do you advice better performances from it ? sorry, but i guess i need a down-to-the-ground version of your (surely accurate) explanation :)

i have gathered all the parts/pcb to make the olo iteration. I guess by this weekend i have something working on my bench to test it out.

thanks
 
Member
Joined 2017
Paid Member
i have a very little grasp on theese topics... but as far as i understand yours could be a different sythesis for the olo pcb ?
Do you advice better performances from it ? sorry, but i guess i need a down-to-the-ground version of your (surely accurate) explanation :)

i have gathered all the parts/pcb to make the olo iteration. I guess by this weekend i have something working on my bench to test it out.

thanks

Yes, It's another synthesis for olo111's PCB. The attached has the same pin assignment as olo111. You can enjoy it unless the reassignment is incorrect.:)
 

Attachments

  • xc6slx9.zip
    82 KB · Views: 263
Member
Joined 2017
Paid Member
Hi xx3stksm!

Excellent work, congrats!
Did you use only one output tap for measurments?

I'm afraid I can't get what you mean. If you think one DSM channel is replaced with a 4096 length decimation filter for measurement purposes, it's almost correct. The decimation filter from 1bitDSM to PCM doesn't require a multiplier but several adders. But unfortunately, two 5th order DSMs with one local FB and a 4096 decimation filter can't coexist because of the small capacity of xc6slx9. One 5th order DSM with one local FB, One 5th order DSM without local FB, and a 4096 decimation filter are possible. So, measurement of 5th order DSM with one local FB is done in such condition. The final version(xc6slx9.zip) includes two 5th order DSMs with one local FB, no 4096 decimation filter. Attached is the difference between with and without.
 

Attachments

  • 5th_x80_localFB.jpg
    5th_x80_localFB.jpg
    271.8 KB · Views: 429
Member
Joined 2017
Paid Member
Thanks !

can you summarize the main differences between your version and the "official" one ?

i think oversampling is done in both cases.

you use 2x 5th order modulators vs 1x 7th order ?

Xc6slx9 version is 256length FIR for 192k, 512length FIR for 96k, 1024length FIR for 48k, and two 5th order DSMs. Xc6slx25 is 1024length FIR for 96k, one 4th order DSM, and one 5th order DSM. Xc6slx9 has only one oversample module because of a small size. That's why xc6slx9 has a half-size FIR with time-multiplexing.