Törölt nick Creative Commons License 2023.12.01 0 0 10880

Megpróbáltam kiszámolni, hogy az abszolút eltérés mennyit számít egy soros, egybites, aszinkron átvitelnél, ha a vevőoldal ragaszkodik a saját órajeléhez a DAC meghajtása során. Tegyük fel, hogy a küldő és a fogadó oldalán a 20 ppm-es kristályok pont az ellenkező végén rezegnek a tartományaiknak - vagy 40-50 ppm-esek pont ennyivel rezegnek távol egymástól. Ha 10 MHz-es oszcillátor kockánk van, az 400 impulzus eltérés másodpercenként.

 

Az egybites adatfolyam 48 kHz/16 bit sztereó jel esetén kb. 1,5 Mbps (persze tömörítetlenül), vagyis egy csatorna 750 kbps-sel pörög. Erre a 750 kbps-re jut másodpercenként 3-4 bit késés egy másodpercre. Mivel a bufferelés nem valószínű, hogy akár egy másodperc hosszú lenne vezetéken (bár ki tudja), ezek a hiányok ennél komolyabban fognak érvényesülni, de az a pár kieső minta így sem valószínű, hogy hallható lenne, legalábbis nem úgy, hogy megváltoznak a hangok...

 

Az az érdekes, hogy ha valamennyire tömörítjük is az adatfolyamot és ütemezve adjuk tovább a vevőnek, a probléma megmarad: a küldési sebesség eltérhet a lejátszásétól, így vagy kevesebb, vagy több adat kerül átvitelre adott idő alatt, mivel az S/PDIF egyirányú és semmilyen flow control nincs benne. Persze csak akkor, ha a vevő nem a jelfolyamból visszaállított órajellel dolgozik, de akkor meg ott a PLL viszonylagos bizonytalansága. Esetleg a lejátszás ütemezését egy lassú hurokkal lehet a jitteresebb visszaállított órajelből kinyerni, és akkor béke van. :--) Ez nyilván mind-mind alapprobléma, de eddig nem volt szerencsém ilyen szakirodalmat olvasni.

 

Érdekesség: ennek kapcsán olvastam, hogy Bluetooth-nál, annak valamelyik szintjén egy eszköz csak max. 30 ppm-es eltéréssel tud együttműködni a többiekkel.

Előzmény: XANTIi (10867)