Ich habe da schon viel probiert, es kommt ganz alleine auf Kombination von Kabel und SPDIF-Sender und Empfänger an.
Z.b. die Hifiberry Digi I/O für den Raspberry pi macht viel Mist, Eingang wie Ausgang, erst das 200€ teurer Audioquest Toslink-Kabel mit vielen Einzel-Fasern hat halbwegs saubere Signale geliefert - mit dem billigen Kabeln war es deutlich schlechter, sogar mit Aussetzern teils. Gemessen wohlgemerkt, nicht nur gehört.
Dann eine teure RME Digiface USB genommen als Empfänger, nicht den Raspi, schon habe ich mit dem 1€ Amazon Kabel einen sauberen Clock, und damit bitgenaue Wiedergabe. Weil die Soundkarte hier aber auch viel analysiert und den Clock auch unter widrigen Umständen rekonstruieren kann, der Preis macht sich bemerkbar. Aber auch mit dem Inline SPDIF-IN Adapter mit CMedia Chip kann man bitgenaue Ergebnisse mit einigermaßen günstigen (z.b. um 10€) Kabeln bekommen, dann auch unter Linux.
Ich habe auch schon Kombinationen aus Toslink-IN und OUT mit billigen Kabeln gehabt, bei denen es starkes Kratzen gab, aufgrund von Reflexionen am Stecker. Das Kabel ein paar mm aus dem Stecker gezogen, Signal war mind. mal Knackfrei, aber nicht zwangsweise bitgenau. Kann man sich auch nicht vorstellen, man denkt an sonst was, das kaputt ist.
Messen kann man das über Umwege, wenn man ein bekanntes File wiedergibt (und dabei bitte genaustens(!) sicherstellen das der Player, Software wie auch Hardware, keine Bearbeitung wie Resampling vornimmt, das ist selten out-of-the box der Fall!) und dann aufnimmt (hier gilt das gleiche, Aufnahme bevor es bearbeitet wird von irgendeiner Software-Komponente!), kann man es zu Fuss (invertieren, aufs Sample ausrichten, dann Differenz berechnen) oder per Software vergleichen mit dem Original-File. Da sieht man dann wie stark das Signal geändert wurde, beim Weg zu Fuss kann man sogar die Änderungen (das was fehlt quasi) hörbar machen. Das passt sehr gut zum Höreindruck in den meisten Fällen.