Bits zijn bits.

Dit is een technisch artikel over streaming en digitale conversies , de diepgang fluctueert enigszins, en er zijn enkele voorbeelden opgenomen van apparatuur waarmee de schrijver bekend is.

Achtergrond

Wanneer digitale informatie is vastgelegd is het stabiel. Als het bestand wordt gekopieerd of verstuurd zijn er diverse controle- en herstel-mechanismen bij betrokken. Bij het kopiëren met een PC worden deze door het operating systeem en de I/O controller uitgevoerd, bij transport over een netwerk, thuis of het internet, controleert en herstelt de netwerkapparatuur met mechanismen op verschillende logische niveaus. Kortom data kan worden gekopieerd of getransporteerd zonder fouten; het resultaat is dat de data na de handeling op een andere plaats beschikbaar is. Maar op welk moment is niet bepaald, nog de “reistijd” of de aankomst van de delen van die informatie.

Bij audio en video is het belangrijk dat een sample van de muziek of een frame van de film op het juiste moment beschikbaar zijn. Tijd is juist heel kritisch voor de kwaliteit. Een tweede aspect is dat er vaak geen tijd of mogelijkheden zijn voor een herstelactie , bijvoorbeeld door her-transmissie van het packet over het netwerk. Dit laatste is over een TCP-IP-netwerk juist heel gewoon. Maar bij audio en video wordt vaak het UDP-protocol gebruikt dat geen her-transmissies kent, daarom fire and forget wordt genoemd. (TCP en UDP zijn protocollen op laag 4, IP is een protocol op laag 3 en Ethernet op laag 2 van het OSI-model, zie ook https://www.lifewire.com/layers-of-the-osi-model-illustrated-818017 )

Digitale audiobestanden ontstaan door analoog digitaal conversie. Het analoge signaal wordt op zeer strikte momenten in de tijd bemonsterd; de waarde van de sample is weergegeven door de hoogte op de verticale as. Onderstaande figuur 1 geeft dit weer, het zijn zeer zeker geen trapjes maar zeer korte momenten waarop de waarde van het oorspronkelijke signaal wordt gemeten. Bij het afspelen van een digitaal audio bestand gebeurt het omgekeerde, de analoge golfvorm ontstaat als een lijn over alle “digitale” punten, een integraal functie, zie figuur 2.

Exact dezelfde golfvorm ontstaat onder de voorwaarden dat de bemonsteringsfrequentie minimaal 2 maal de maximale frequentie is van het analoge signaal aan de ingang, de monsters een grote nauwkeurigheid hebben en een grote nauwkeurigheid van beide frequenties.

De eerste voorwaarde, de Nyquist-bemonsterings-frequentie, wordt bij de analoog-digitaal conversie opgelost door het ingangssignaal in bandbreedte te beperken met een laag-doorlaatfilter.
Als het filter niet goed werkt, niet stijl genoeg is, komen frequenties van boven de bemonsteringsfrequentie in het resultaat van de A-D-conversie. In Figuur 3 stelt f0 een frequentie voor ruim onder de Nyquist-bemonsteringsfrequentie, fN, voor. Maar f1 ligt boven fN en wordt gespiegeld over FN waardoor deze frequentie in het gesampelde signaal komt als fa.

Stel fN if 22 kHz en f1 is 24 kHz dat ontstaat er een “nieuwe” frequentie, fa, van 2 kHz in de samples.

De tweede voorwaarde kan deels worden ingevuld omdat een AD-omzetting een grens heeft in de nauwkeurigheid van het monster, die is 16 of 24 bit.
Omdat dit niet exact overeenkomt met de exacte analoge waarde van het signaal op dat moment ontstaat er een kleine fout in de digitale waarde. Al deze foutjes vormen ruis op een zeer laag niveau, de quantiseringsruis.

De laatste voorwaarde is de timing, ook wel de clock, bij beide omzettingen. Het is belangrijk dat de clock op korte termijn nauwkeurig is, niet zoals een GPS-signaal heel nauwkeurig op een lange termijn zoals een maand of een jaar. Een tweede belangrijk aspect van de clock is de ruis van de clock als deze een beetje verloopt.
Het verlopen van de clock, jitter, heeft invloed op het signaal; figuur 5 stelt dit wat overdreven voor. De lineariteit wat aangetast, wat vreemde harmonische oplevert.

De tweede voorwaarde kan deels worden ingevuld omdat een AD-omzetting een grens heeft in de nauwkeurigheid van het monster, die is 16 of 24 bit.
Omdat dit niet exact overeenkomt met de exacte analoge waarde van het signaal op dat moment ontstaat er een kleine fout in de digitale waarde. Al deze foutjes vormen ruis op een zeer laag niveau, de quantiseringsruis.

De laatste voorwaarde is de timing, ook wel de clock, bij beide omzettingen. Het is belangrijk dat de clock op korte termijn nauwkeurig is, niet zoals een GPS-signaal heel nauwkeurig op een lange termijn zoals een maand of een jaar. Een tweede belangrijk aspect van de clock is de ruis van de clock als deze een beetje verloopt.
Het verlopen van de clock, jitter, heeft invloed op het signaal; figuur 5 stelt dit wat overdreven voor. De lineariteit wat aangetast, wat vreemde harmonische oplevert.

Jitter is altijd en overal aanwezig, de mate waarin verschilt sterk. In een CD-speler waar de data en het clocksignaal veelal gescheiden over een I2S bus worden geleid, is de jitter laag. Maar bij transport over een USB-, coaxiale- of gebalanceerde -verbinding, waar de clock in de data is verwerkt, is de jitter hoger.

I2S is speciaal ontworpen om de data en clock met lage jitter door te geven en er is bewust gekozen voor de scheiding van clock en data; vaak uitgevoerd met een HDMI-aansluiting. Weinig toegepast voor externe verbindingen naar een DAC, recent wel door Auralic opgepakt bij de G2 modellen.
De Sony Philips Digital Interface Facility, SPDIF, is een geïntegreerde wijze van transport met als nadeel dat de clock aan de ontvangende zijde moet worden gereconstrueerd; uitgevoerd als RCA, BNC en Toslink. SPDIF is een subset van AES3, een gebalanceerde professionele aansluiting.
USB is nooit ontworpen om audio en video te transporteren, de asynchrone modus is een belangrijke aanpassing juist om de DAC de master te laten zijn in de master/slave communicatie.

Streaming

Het model van streaming bestaat uit 3 actieve rollen en opslag; er is een renderer die de data ontvangt via het netwerk en omzet naar datastroom over een digitale aansluiting, coaxiaal, AES of I2S, voor de DAC. Er is een serverrol die, gestuurd door de controllerrol, de data over het netwerk verstuurd. De serverrol haalt ook de data van de opslag.

Er zijn veel verschillende invullingen van het model:

  • Bluesound-node:
    • De servertaak is geïntegreerd in de renderer.
    • De server benadert bestanden met CIFS/SMB, zoals het ophalen van een Word-bestand
    • De bediening is gerealiseerd met een eigen App of een applicatie op een Windows-PC
    • Gesloten systeem
    • Is eigenlijk geen streaming
  • Aries-mini
    • De renderer benadert een server-taak zoals Minimserver op een NAS of een PC, of de ingebouwde server voor de ingebouwde HardDisk, voor de muziek
    • De bediening is gerealiseerd met een eigen App of een App van een andere leverancier zoals Lumin
    • Deels een open systeem
  • Direct Stream DAC + Bridge
    • De renderer benadert een server-taak zoals Minimserver op een NAS of een PC voor de muziek-bestanden
    • De bediening is gerealiseerd met een App van een andere leverancier zoals HDConnect
    • De Bridge, renderer, geeft de data via een interne I2S door aan de DAC
    • Een geheel open systeem gebaseerd op de DLNA standaard
  • Rock, Roon server op een dedicated NUC met Roon-OS,
    • De servertaak benadert bestanden met CIFS/SMB
    • De bediening is gerealiseerd met een eigen App of een applicatie op een Windows-PC
    • De renderer is bij voorkeur een Roon-ready device zoals een Bluesound node of een PSAudio Bridge via RAAT, maar kan ook een Aries-mini zijn via Airplay.
    • Deels een open systeem

Bij alle systemen komt de data, muziek, over een ethernet-verbinding binnen en wordt analoog geleverd aan de (voor)versterker, maar de server-taak is soms gecombineerd met de renderer-taak en de data(storage) staat soms dicht bij de servertaak, zoals op een NAS, en soms op afstand, zoals bij Bluesound Node en Roon-server.

Het transport

Bij het transport zijn op het fysieke niveau kabels, routers en switches betrokken om het gehele pad end-to-end op te bouwen, en op de logische niveaus protocollen waarmee de server taak met de renderer communiceert.

Als een digitaal signaal over een kabel wordt getransporteerd is dit een “analoog” transport. Er wordt een pulsvormig-signaal met een specifieke codering op de kabel gezet om het ethernet-frame te transporteren; figuur 6 is een eenvoudig voorbeeld, in werkelijkheid blijft het signaal af en toe meerdere periodes hoog of laag. Het signaal komt vervormd aan, ieder signaal door een kabel raakt de flanksteilheid van de blok gedeeltelijk kwijt, net zoals een deel van de amplitude en wint aan ruis omdat geen enkel transmissie-medium perfect is, en door Elektro Magnetische Interferentie, zie figuur 7. De kabel werkt als een laag-doorlaatfilter door de beperkte bandbreedte; een Cat-5 kabel heeft een bandbreedte van 100 Mhz, een Cat-7A+ wel 1200 Mhz.
Het is niet zozeer de hoeveelheid aan data die een grote bandbreedte nodig heeft, maar de periode dat er pakketten over het netwerk worden verzonden gaat is kort, waardoor er een hoog tempo nodig is.

De puls die aankomt geschetst in figuur 8, is imperfect door jitter, ruis en beperkte flanksteilheid. De switch is een digitaal apparaat en is zeker niet ruisvrij op de voeding en de aarde. De voeding levert de referentie-spanning waartegen moet worden bepaald op welk moment de waarde van “0”naar “1” omslaat. En het moment waarop dit gebeurt is belangrijk, zeker voor het laatste bit van het ethernet-frame, omdat op dat moment de processing in de switch begint. Er volgt nog een CRC, cyclic redundancy check, van het ethernetframe voordat het frame in een buffer wordt geplaatst. Kleine fouten kunnen met de CRC worden gecorrigeerd. In een thuisnetwerk is de BER, Bit Error Rate, heel erg goed, zeker beter dan 10-9, dus dit gebeurt zelden.

De switch heeft een eigen clock waarmee de data uit de buffer via de uitgaande ethernetpoort wordt verstuurd. De switch introduceert ook wat delay door de processing, maar het belangrijkste is dat deze delay niet varieert door grote verkeerslast, dan ontstaat en een delay-variation, dus jitter. Uiteindelijk zal de switch flink wat jitter van de eerste kabel wegwerken en met de kwaliteit van de eigen clock + mogelijk het restje jitter het signaal weer op de volgende kabel zetten. Een clock in een netwerkapparaat heeft een typisch waarde van 10-4 voor goedkope apparatuur tot minimaal 10-8 voor apparatuur van bedrijfsnetwerken.

De EMI die via de eerste kabel op de switch wordt gezet kan worden doorgezet naar de volgende kabel; dat is afhankelijk van de switch en de afscherming(wijze) van de kabel. Een goede voeding en aarding van de switch helpt hier tegen.

Bij de streamer of de bridge eindigt het ethernet-transport. Het grote verschil met een switch is dat dit een audioapparaat is en voorzien van een veel betere voeding. Ook hier worden de ethernet-frames samengesteld en gebufferd. Om de jitter te verkleinen zijn in veel streamers grotere buffers en speciale algoritmes opgenomen; PSAudio bijvoorbeeld heeft een “digital lens” zowel in de Bridge als in de DAC, en NAIM gebruikt een ram-buffer met master-clock jitter onderdrukking.
Een goede aarding vermindert de invloed van EMI die op de netwerkkabel staat.

Over het fysiek pad en de ethernet-connectiviteit loopt de end-to-end logische connectie tussen de renderer en de server, met DLNA , CIFS/SMB of RAAT.

Het is aan de servertaak om de data naar de renderer te versturen; na de processing om de data van de storage te halen wordt de data in de output-buffer geplaatst en de buffer moet steeds op tijd worden aangevuld. De servertaak kan de parameters instellen op de ethernet-, IP- en UDP-laag., en heeft daarmee invloed op het transport. Het media-transport van de DLNA architectuur gebruikt HTTP of RTP. De eerste is bekend van de internetbrowser, de laatste is een real-time protocol.

 

Op een Synology NAS kan als server taak DSAudio draaien, DLNA, deze wordt standaard meegeleverd. Simon Nash heeft Minimserver geschreven en beschikbaar gemaakt op meerdere platformen, waaronder NAS’sen van Synology. Minimserver gebruikt HTTP als media-tansport-protocol. Er is een hoorbare verbetering tussen Minimserver en de DSAudio-server op een NAS.

De Roonserver op een NUC klinkt erg goed, waarschijnlijk door RAAT. Roon laat weinig los over dit protocol maar het lijkt erop dat er gebruik wordt gemaakt van priority-bits of RTP.

Conclusie

In de praktijk blijkt dat bits geen bits zijn als het om real-time applicaties gaat zoals audio en video. De juiste informatie op het juiste moment moet hieraan worden toegevoegd. De grootste vijand is jitter en EMI, waarbij de laatste de eerste vergroot. Maar ook de software en de protocollen hebben invloed.

Ervaringen

Mijn ervaringen na enkele jaren ervaring met streamen:

  • een switch dicht bij de renderer en vanaf de switch de beste kabel naar de renderer is een goed stap om lange goede kabels te voorkomen.
  • een SB00ster op de laatste switch is een grote stap in stilte en rust in het geluid, en het voorkomen van rommel in het hoog. Het is t.o.v. kabels relatief goedkoop.
  • Een iFi op de voorlaatste switch (als deze er is, anders op de router), geeft ook een verbetering en is kosteneffectief. De invloed is minder dan op de laatste switch.
  • Gebruik de beste kabels aan het eind van de keten
  • Naar mate het eind van het netwerk beter wordt, hoor je het karakter van de mindere kabels eerder in de keten.
  • Sommige combinaties werken totaal niet; zoals een optische sectie met een AQ Diamond naar de renderer.
  • In mijn netwerk waar vanaf de Melco via de Rock naar de Bridge in de PSAudio wordt gestreamd, is ook de verbinding naar de router kritisch terwijl daar alleen controller-informatie over gaat. Dat kan alleen maar worden verklaard door invloed van EMI.
  • De filterwerking van de Melco aan de Player-poort is erg goed. Het geluid is analoger dan van mijn NAS (aan de andere kant van de Router)