zuivere DSD dac

Traditionele bronapparaten zoals CD-, DVD- en platenspelers.
(streaming-/computeraudio graag in de daarvoor aangewezen forumgroep)

Moderators: Barry2001, Beheerdersteam

Gebruikersavatar
Pjotr
Berichten: 36743
Lid geworden op: do 26 aug 2004, 18:34
Locatie: bollenstreek

Re: zuivere DSD dac

Bericht door Pjotr »

jeroen_d schreef: vr 25 nov 2022, 12:11
Peter doelt duidelijk op ground bounce op de PCB.
Eigenlijk meer op de draadjes tussen het Anamero bordje en het DA-filterbordje. Op de PCB's zelf zal het wel loslopen.

Jitter is er trouwens in 2 smaken: Als fase ruis en als signaal gerelateerd. Vooral die laatste kon nog wel eens een probleem zijn bij S/PDIF, zowel met coax als met Toslink. Maar met de huidige stand der techniek meestal eigenlijk ook geen issue meer. Fase ruis t.g.v. de oscillator, tja... W.m.b. is dat op een dermate laag niveau dat het meer een academische discussie is.
Gebruikersavatar
knuisje
Berichten: 3690
Lid geworden op: zo 15 apr 2007, 0:07
Locatie: Julianadorp

Re: zuivere DSD dac

Bericht door knuisje »

Leuk project! Ik heb naar aanleiding hiervan geprobeerd of het afspelen van PCM-bestanden op een Sabre dac anders klinkt via DSD (met HQPlayer). En dat doet het inderdaad, ten gunste van DSD. Dus zelfs als de rest van het circuit hetzelfde is kun je al vrij duidelijk verschil merken. Ik heb ook wel eens gelezen dat de Sabre met DSD beter klinkt dan met PCM.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

Welke draadjes peter? Die 10mm header pinnen? Er zitten geen draadjes tussen de Amanero en de print.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

knuisje schreef: vr 25 nov 2022, 12:42
Leuk project! Ik heb naar aanleiding hiervan geprobeerd of het afspelen van PCM-bestanden op een Sabre dac anders klinkt via DSD (met HQPlayer). En dat doet het inderdaad, ten gunste van DSD. Dus zelfs als de rest van het circuit hetzelfde is kun je al vrij duidelijk verschil merken. Ik heb ook wel eens gelezen dat de Sabre met DSD beter klinkt dan met PCM.
Ja precies, omdat dit zo duidelijk is, wat ook door Walter zo is ervaren waardoor hij eerst naar Roon DSD upsampling ging en later ook op HQPlayer is overgestapt, ben ik dit project begonnen.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

jeroen_d schreef: vr 25 nov 2022, 10:19
Dan begrijp ik het niet. De klok die ik aangeef is de enige die naar buiten wordt gebracht. De MCLK uitgang is niet van toepassing met dsd, heb je niet nodig.
Daarbij, van de chip naar de header neemt de afstand tussen de banen van deze symmetrische opzet toe. Vervolgens ga je direct naar de dsd print waar ze noodzakelijkerwijs verder uit elkaar worden getrokken om naar het weerstandsnetwerk te worden geleid.
Voor de rest is alles aardvlak wat via pinnen 8, 13, 14 en 15 wordt verbonden met het aardvlak van de dsd print. Wat zouden ze nou precies beter moeten doen dan? Pinnen 13, 14 en 15 zitten tegenover 3, 4 en 5.
Op zijn minst de volgorde. Je hebt nu in ruwe DSD-modus de bitklok-poot midden tussen twee poten zitten waar een DSD-signaal op staat, dus heb je gegarandeerd capacitieve overspraak van de DSD-data naar de klok. Er had een aardpoot of een statisch signaal kunnen zitten als afscherming. Als de DSD-data met een gewone enkelbits sigma-deltamodulator zijn opgewekt, kan dat intermodulatie tussen idle tones net onder en net boven de halve bitklokfrequentie opleveren.

Verder had de bitklok natuurlijk via een aparte connector gekund, een aparte header of een of andere coax-connector (U.FL als het goedkoop moet, anders SMA).
Gebruikersavatar
SSassen
Berichten: 11528
Lid geworden op: vr 22 apr 2005, 10:21
Locatie: Zuidoostbeemster
Contacteer:

Re: zuivere DSD dac

Bericht door SSassen »

Even een andere vraag, als dat mag? Werkt HQplayer al probleemloos op de RPi 4?
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

MarcelvdG schreef: vr 25 nov 2022, 13:01
jeroen_d schreef: vr 25 nov 2022, 10:19
Dan begrijp ik het niet. De klok die ik aangeef is de enige die naar buiten wordt gebracht. De MCLK uitgang is niet van toepassing met dsd, heb je niet nodig.
Daarbij, van de chip naar de header neemt de afstand tussen de banen van deze symmetrische opzet toe. Vervolgens ga je direct naar de dsd print waar ze noodzakelijkerwijs verder uit elkaar worden getrokken om naar het weerstandsnetwerk te worden geleid.
Voor de rest is alles aardvlak wat via pinnen 8, 13, 14 en 15 wordt verbonden met het aardvlak van de dsd print. Wat zouden ze nou precies beter moeten doen dan? Pinnen 13, 14 en 15 zitten tegenover 3, 4 en 5.
Op zijn minst de volgorde. Je hebt nu in ruwe DSD-modus de bitklok-poot midden tussen twee poten zitten waar een DSD-signaal op staat, dus heb je gegarandeerd capacitieve overspraak van de DSD-data naar de klok. Er had een aardpoot of een statisch signaal kunnen zitten als afscherming. Als de DSD-data met een gewone enkelbits sigma-deltamodulator zijn opgewekt, kan dat intermodulatie tussen idle tones net onder en net boven de halve bitklokfrequentie opleveren.

Verder had de bitklok natuurlijk via een aparte connector gekund, een aparte header of een of andere coax-connector (U.FL als het goedkoop moet, anders SMA).
Ik denk toch dat dit heel erg meevalt. De totale weg van Xylinx uitgang naar de buffer op de PCB is ongeveer 4cm, inclusief de headerhoogte.
Vervangen door coax is met dit soort afstanden in ieder geval niet aan de orde.
Iedereen die dit bordje gebruikt weet dat je direct door moet prikken naar de volgende PCB en geen header to header kabelverbinding moet leggen.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

SSassen schreef: vr 25 nov 2022, 13:02
Even een andere vraag, als dat mag? Werkt HQplayer al probleemloos op de RPi 4?
HQPlayer vraagt voor DSD een intel core i5 of i7 of vergelijkbaar van AMD.

De RPi 4 kan je wel als netwerk eindpunt gebruiken door er de NAA daemon van HQPlayer op te zetten.
Gebruikersavatar
Pjotr
Berichten: 36743
Lid geworden op: do 26 aug 2004, 18:34
Locatie: bollenstreek

Re: zuivere DSD dac

Bericht door Pjotr »

jeroen_d schreef: vr 25 nov 2022, 12:43
Welke draadjes peter? Die 10mm header pinnen? Er zitten geen draadjes tussen de Amanero en de print.
Oh dat was niet zo duidelijk. Zorg i.i.g. voor een deugdelijke (gesoldeerde) aardverbinding tussen beide bordjes.

Leuk Knuis, die merkbare verbetering! Ja, de DA omzetting doet in feite nu HQ-Player in software door de conversie van PCM --> DSD. De ESS is alleen nog een filter. Volgens mij omzeil je zo de IM-hobbel van de ESS.
Gebruikersavatar
Walt
Berichten: 14139
Lid geworden op: vr 24 feb 2006, 13:33

Re: zuivere DSD dac

Bericht door Walt »

Het bizarre is dat je denkt dat het goed klinkt, en dan heb je met HQ player weer zo’n verbetering, ga je dan terug naar de oude situatie, is dat bijna onluisterbaar. Je hersenen wennen snel aan een beter geluid.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

jeroen_d schreef: vr 25 nov 2022, 13:27
MarcelvdG schreef: vr 25 nov 2022, 13:01
Op zijn minst de volgorde. Je hebt nu in ruwe DSD-modus de bitklok-poot midden tussen twee poten zitten waar een DSD-signaal op staat, dus heb je gegarandeerd capacitieve overspraak van de DSD-data naar de klok. Er had een aardpoot of een statisch signaal kunnen zitten als afscherming. Als de DSD-data met een gewone enkelbits sigma-deltamodulator zijn opgewekt, kan dat intermodulatie tussen idle tones net onder en net boven de halve bitklokfrequentie opleveren.

Verder had de bitklok natuurlijk via een aparte connector gekund, een aparte header of een of andere coax-connector (U.FL als het goedkoop moet, anders SMA).
Ik denk toch dat dit heel erg meevalt. De totale weg van Xylinx uitgang naar de buffer op de PCB is ongeveer 4cm, inclusief de headerhoogte.
Vervangen door coax is met dit soort afstanden in ieder geval niet aan de orde.
Iedereen die dit bordje gebruikt weet dat je direct door moet prikken naar de volgende PCB en geen header to header kabelverbinding moet leggen.
Ik betwijfel of iedereen dat weet, maar het is zeker verstandig om er geen bandkabel of zo tussen te doen.

Als de data en de bitklok uit dezelfde FPGA komen, zonder een losse flip-flop met een schone voeding ertussen om de bitklok netjes af te klokken met de kristalklok, dan zou het zomaar kunnen dat overspraak in de FPGA of via de voeding meer doet dan de header.

Overigens kun je die intermodulatieproducten tussen idle tones waar ik het over had bijvoorbeeld hoorbaar proberen te maken door een zeer zachte toon (-40 dBFS of zo) van 1 Hz af te spelen terwijl het volume heel hoog staat. Het signaal van 1 Hz moduleert de frequenties van de idle tones, wanneer het frequentieverschil in het hoorbare gebied zit, hoor je een rare glijdende toon - of niet, als het meevalt. Gelukkig zou een FIRDAC met uniforme weging over een even aantal klokperioden (of een andere weging waarmee je een notch op de halve bemonsteringsfrequentie krijgt) er veel minder gevoelig voor moeten zijn dan een recht-toe-recht-aan enkelbits DAC.
Gebruikersavatar
hannesie
Berichten: 17866
Lid geworden op: wo 31 dec 2008, 15:27
Locatie: Dordrecht
Contacteer:

Re: zuivere DSD dac

Bericht door hannesie »

i2s.jpg
Dus zoiets als wat ik heb gedaan is duidelijk af te raden?

Ik leer graag van de praktijk. :)
Gebruikersavatar
Pjotr
Berichten: 36743
Lid geworden op: do 26 aug 2004, 18:34
Locatie: bollenstreek

Re: zuivere DSD dac

Bericht door Pjotr »

Klinkt het niet goed dan? Nee hoor Hans, je bent geen pro elektronica designer toch :lol: Voor de hobby mag dat best, het werkt toch?

Wel grappig dat een moderne top high-end DAC eigenlijk gewoon een I5 is met wat software en daarachter een low pass filter. Lust wel wat meer stroom... Ok, je moet er wat voor over hebben.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Bij mijn laatste DAC mat ik een duidelijk hogere ruisvloer met een stukje bandkabel tussen de digitale sigma-deltamodulator en de DAC-print, ondanks dat er een aarddraad tussen de data en de klok zat. Met de klok gescheiden van de rest (bandkabel gesplitst, later met een stukje coaxkabel voor de klok) werd het duidelijk beter.

Het is allemaal niet 1:1 te vergelijken, want ik heb een veel kortere FIRDAC en geen Amanero maar een FPGA-module met een paar flip-floppen erachter.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

Waarom gebruik je een kortere firdac? Het moving average filter is het beste filter om ruis te verminderen en tegelijkertijd zo steil mogelijke staprespons te behouden.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Om de schakeling eenvoudig en goedkoop te houden, en om haar te kunnen vergelijken met een eerdere FIRDAC met dezelfde lengte.

Het belangrijkste is dat je een notch rond de halve bemonsteringsfrequentie hebt, en die heb ik. Het is een RTZ-FIRDAC met uniforme weging met een lengte van vier, geklokt met de dubbele klokfrequentie.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

Dat van het vergelijk snap ik. De rest niet. Waarom moet je filter een 0 hebben daar waar die toch al in het signaal zit. Je gooit met zo’n kort filter een hoop potentieel aan ruisonderdrukking weg.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Gewoonlijk zit er in een enkelbits sigma-deltamodulaat juist een flinke piek bij de halve bemonsteringsfrequentie, of twee pieken, eentje net eronder en eentje net erboven. Dat geldt althans bij stilte of bij zachte muziek, de pieken worden in frequentie gemoduleerd door het signaal en smeren daardoor uit bij harde muziek.

Overigens heb ik er ook nog een gewoon analoog filter in zitten. Zonder dat zou er veel te veel ultrasone rotzooi uit komen. Dat filter helpt natuurlijk niet om het effect van jitter/de faseruisvloer te verminderen, terwijl een langere FIRDAC dat wel doet.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

MarcelvdG schreef: zo 27 nov 2022, 19:47
Gewoonlijk zit er in een enkelbits sigma-deltamodulaat juist een flinke piek bij de halve bemonsteringsfrequentie, of twee pieken, eentje net eronder en eentje net erboven. Dat geldt althans bij stilte of bij zachte muziek, de pieken worden in frequentie gemoduleerd door het signaal en smeren daardoor uit bij harde muziek.
Heb je hier een referentie voor? Dit is voor mij volkomen nieuw. Ik ben gewend aan heel andere getallen. Bijvoorbeeld bij dsd64 zie je een piek rond 80kHz en bij dsd128 rond 160kHz als gevolg van de noise shaping door de modulator. Dat zit meer dan een factor 30 beneden de samplerate.

Volgens het theorema van Nyquist zul je, los van de noise shaping, bij dsd64 een nul zien bij ongeveer 1,4MHz wat de halve samplerate is.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Ik vermoed dat de bult waar jij het over hebt na laagdoorlaatfiltering is. Het bemonsteringstheorema zegt alleen dat je een herhalend spectrum krijgt en dat je alles boven de Nyquistfrequentie (halve bemonsteringsfrequentie) moet wegfilteren als je dat niet wilt, niet dat er niets rond of op de Nyquistfrequentie kan staan voordat je begint te filteren.

Voorbeeld: als het tijddiscrete signaal bestaat uit de monsters +1, -1, +1, -1 enzovoort is er een spectrale component op de Nyquistfrequentie. Aangezien er geen anti-aliasfilter achter de sigma-deltamodulator zit, komt alles wat een sigma-deltamodulator rond de Nyquistfrequentie produceert in het DSD-signaal terecht.

Ik moet even op zolder kijken voor die literatuur waar je om vroeg. Hieronder staan een paar simulatieplaatjes van een sigma-deltamodulator die op 28,224 MHz draait, de horizontale as is de frequentie in kilohertz, de verticale as is logaritmisch, elk groot hok is een factor 10 dus 20 dB. De twee grafieken zonder toon net onder de Nyquistfrequentie zijn voor geditherde quasi-multibitssystemen, die met piek is een chaotische eenbitter. Zonder chaos zou de piek veel hoger zijn. Het ingangssignaal was een kleine offset.
drieoptiesoffsetspectrum_0tot15MHz.png
drieoptiesoffsetspectrum_14MHztot14MHz2.png
Het is gesimuleerd met een paar Pascalprogrammaatjes, ik weet alleen niet meer precies welke van de vele Pascalprogrammaatjes die ik op mijn computer heb staan. Als je wilt, kan ik dat uitzoeken.
Laatst gewijzigd door MarcelvdG op di 29 nov 2022, 7:11, 1 keer totaal gewijzigd.
Gebruikersavatar
Pjotr
Berichten: 36743
Lid geworden op: do 26 aug 2004, 18:34
Locatie: bollenstreek

Re: zuivere DSD dac

Bericht door Pjotr »

jeroen_d schreef: ma 28 nov 2022, 0:27

Volgens het theorema van Nyquist zul je, los van de noise shaping, bij dsd64 een nul zien bij ongeveer 1,4MHz wat de halve samplerate is.
Dat klopt En met een averaging filter met gelijke weging ga je daarvan nulpunten zien om de Fs/aantal_taps. M.i. is een filterlengte van 32 taps een aardig compromis. Met een langer filter schuiven die nulpunten alleen maar op naar lagere frequenties, maar de vorm van de demping blijft gelijk. Een langer filter gaat denk ik niet beter klinken, het wordt alleen maar duurder.
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Misschien hebben jullie het over een nulde-orde houdfunctie, maar die levert toch echt een nul op de hele en niet op de halve bemonsteringsfrequentie op. Dat klopt ook met de vergelijking van Pjotr, trouwens.
Gebruikersavatar
Pjotr
Berichten: 36743
Lid geworden op: do 26 aug 2004, 18:34
Locatie: bollenstreek

Re: zuivere DSD dac

Bericht door Pjotr »

Ja klopt. Ik las daar even overheen.
Gebruikersavatar
jeroen_d
Ook commercieel actief
Berichten: 12869
Lid geworden op: za 28 aug 2004, 1:21
Contacteer:

Re: zuivere DSD dac

Bericht door jeroen_d »

MarcelvdG schreef: ma 28 nov 2022, 7:30
Ik vermoed dat de bult waar jij het over hebt na laagdoorlaatfiltering is. Het bemonsteringstheorema zegt alleen dat je een herhalend spectrum krijgt en dat je alles boven de Nyquistfrequentie (halve bemonsteringsfrequentie) moet wegfilteren als je dat niet wilt, niet dat er niets rond of op de Nyquistfrequentie kan staan voordat je begint te filteren.
In dit zich herhalend spectrum zit toch echt een 0 op de Nyquist frequentie. Dus wat me nog steeds niet duidelijk is dat je met jouw zeer korte FIRDAC een 0 wilt plaatsen daar waar het toch al 0 is. Als je zo minimaal wilt filteren, zet dan in ieder geval een 0 op de bemonsteringsfrequentie zelf, daar is tenminste wat weg te filteren. Als dit niet klopt, dan mis ik iets en begrijp ik het niet wat je bedoelt.

Peter, ik denk inderdaad dat de 32 taps een aardig compromis is. Het is ook bedoeld voor minimaal DSD128 en liefst DSD256 en DSD512. Die laatste twee draaien bij mij erg mooi.

Wat ik met het argument van ruisonderdrukking probeer aan te geven, is dat dit door een moving average ook op het gewenste signaal gebeurt. Je behoudt gewenst signaal en random noise wordt onderdrukt. Dit is niet hetzelfde als een laagdoorlaatfilter dat alleen hoogfrequent spectrum (inclusief ruis) wegfiltert. Een filter is geen 'in-band' ruisonderdrukker. De FIRDAC doet dus twee dingen. Filteren en ruisonderdrukken.

Met 4 punten geeft dat slechts 6dB ruisonderdrukking. Met 32 punten zit je op 15dB.

Analog.com schrijft er een aardig artikeltje over: https://www.analog.com/media/en/technic ... k_ch15.pdf
Bijlagen
moving average filters.png
MarcelvdG
Berichten: 1273
Lid geworden op: do 31 jan 2013, 21:47
Locatie: Haarlem

Re: zuivere DSD dac

Bericht door MarcelvdG »

Stel, je monsters zijn +1, -1, +1, -1 enzovoort. De herhalingsfrequentie is dan de halve bemonsteringsfrequentie, ook wel bekend als de Nyquistfrequentie. Geef het weer met een DAC die als nulde-orde houd werkt, dat wil zeggen de waarde vasthoudt tot het volgende monster er is, en je hebt een blokgolf op de Nyquistfrequentie met als grondtoon de Nyquistfrequentie. De Nyquistfrequentie wordt dus niet onderdrukt.

Stel, je monsters zijn +1, +1, +1, +1 enzovoort. De herhalingsfrequentie van de +1'en is dan de hele bemonsteringsfrequentie. Geef het weer met een DAC die als nulde-orde houd werkt, dat wil zeggen de waarde vasthoudt tot het volgende monster er is, en je hebt continu +1. De bemonsteringsfrequentie wordt dus wel onderdrukt door een nulde-orde houd.

Het is me echt een raadsel waar jij die nul op de Nyquistfrequentie vandaan haalt.
Plaats reactie