REKLAMA


Jitter – źródło największych mitów w technologiach cyfrowych

jitter-titleJeśli trafiłeś na ten artykuł to zakładam, że wiesz już co to jest jitter. A jeśli jeszcze nie, to jak podaje wikipedia, jest to krótkookresowe odchylenie od ustalonych, okresowych charakterystyk sygnału. Przekładając to na „ludzki” język znaczy to tyle, że każda próbka sygnału cyfrowego musi być dostarczona do odbiornika w ściśle określonych odstępach czasowych. Czyli strumień musi być zsynchronizowany do jakiejś określonej częstotliwości, z którą kolejne próbki będą trafiały do odbiornika. Za tą synchronizację odpowiada układ zwany zegarem. A skąd się biorą owe odchylenia… Najczęściej z nieprecyzyjnej pracy zegara taktującego (ogólnie zegary kwarcowe są bardzo precyzyjne, ale np. pod wpływem temperatury ich takt może ulec zachwianiu). Jitter może również powstawać w samym źródle, np. na skutek nadmiernego obciążenia magistrali po której transportowane są dane.

Ważne jest zrozumienie tego, że te wszystkie odchylenia synchronizacji są istotne tylko i wyłącznie w przypadku konwersji sygnału cyfrowego na analogowy i odwrotnie. Dlatego skutki jittera mogą (co nie znaczy, że muszą) być odczuwalne przy odtwarzaniu cyfrowej muzyki, a także jej nagrywaniu w studiu (ten rodzaj jittera jest gorszy, bo niemożliwy do usunięcia). Oczywiście zjawisko jittera dotyczy w jakimś stopniu wszystkich transmisji cyfrowych, bo wszystkie one są synchronizowane do określonej częstotliwości, jednak gdy nie zachodzi konwersja tych danych na postać analogową, to całe zjawisko praktycznie nie ma znaczenia. Odchylenie synchronizacji musiałyby być bardzo duże, aby spowodowało to przekłamanie danych. A nawet gdyby taka sytuacja mogła się wydarzyć, to w tych sytuacjach właściwe dane zabezpiecza się danymi naprawczymi, które są w stanie odtworzyć dużą część błędów. Dobrym przykładem może być np. odczyt kiepsko nagranej płyty CD/DVD, gdzie liczba błędów jest spora, a użytkownik nawet tego nie zauważa.

Jako ciekawostkę podam, że zjawisko podobne do jittera występuje również w świecie analogowym – z ang. zwane wow & flutter. Wynika z nieprawidłowego wycentrowania płyty winylowej lub nierównej pracy napędu obrotowego.

 

Jak powstają mity i fałszywe przekonania w świecie audio/video

Najważniejsze pytanie brzmi: dlaczego tyle osób uparcie twierdzi, że słyszy wyraźną różnicę pomiędzy dwoma identycznymi strumieniami dźwięku, tylko dlatego, że wykonali jakąś banalną modyfikację, której jak wskazują fakty, nie mają prawa usłyszeć? Odpowiedź na to znajdziemy w psychologii. Wszystko co dociera do naszych zmysłów jest potem interpretowane w mózgu, więc tak naprawdę to widzimy i słyszymy mózgiem. Jeśli więc posiadamy wystarczająco silne przekonanie, że zmiana programu do odtwarzania, interfejsu czy jakaś modyfikacja systemu operacyjnego spowoduje, że dźwięk będzie brzmiał lepiej to zadziała tutaj efekt placebo i rzeczywiście będziemy „słyszeć”, że brzmi on lepiej. Nie będzie to jednak miało nic wspólnego z rzeczywistością. Nasze zmysły dużo łatwiej oszukać, niż wyniki badań (jeśli oczywiście były wykonane rzetelnie).

Efekt ten wykorzystuje też wielu producentów sprzętu audio, którzy konstruują go w taki sposób, aby już sam jego nietypowy wygląd czy egzotyczna marka miały nas przekonać, że będzie brzmiał lepiej od innych. Czyli zanim go w ogóle usłyszymy oddziałuje już na nas efekt wizualny, wywołując odpowiednie pozytywne nastawienie do danego urządzenia. Nie trudno zatem już w trakcie odsłuchu o wywołanie przekonania, że rzeczywiście dany sprzęt brzmi lepiej od innych.

Opisany efekt przenosi się również do świata PC Audio. Niektórzy próbują nam usilnie wmówić, że komputer i jego system operacyjny nie nadaje się jako dobre źródło muzyki i trzeba mnóstwa zabiegów, żeby w ogóle usłyszeć dźwięk na dobrym poziomie. Dlaczego? Ponoć główną winę ponosi za to właśnie jitter. Tak, to wygodne wytłumaczenie… zwalenie wszystkiego na jakieś skomplikowane zjawisko, które mało kto rozumie i już można wmawiać ludziom, że muszą modyfikować system, instalować specjalne hi-endowe odtwarzacze, kupować kabelki za grube pieniądze… wygodne, prawda? Dołożyć do tego internetowe artykuły, pisane prawdopodobnie na zamówienie lub wynikające z bardzo głębokiej niewiedzy autora (np. mój „ulubiony”, udowadniający, że jitter powoduje przekłamania kolorów w transmisjach przez HDMI) i mamy komplet „mitologii” jaka powstała na temat jittera. Co gorsza w Internecie można napisać wszystko i nikt nie jest w stanie potem tego skorygować (komentarze czytelników można przecież wyłączyć). Więc wiszą w sieci takie „perełki”, na które nabierają się kolejne rzesze czytelników.

Wokół samego jittera narosło tyle mitów, że trudno już chyba je wszystkie zliczyć. Na dodatek zdania na temat jego wpływu na dźwięk są ze sobą sprzeczne: jedni twierdzą, że nawet minimalny jitter może być słyszalny jako cyfrowa naleciałość, inni zaś twierdzą, że jest on minimalizowany przez pewne mechanizmy w układach DAC, a samo zniekształcenie jest na tyle małe, że znajduje się poza progiem słyszalności i właściwie to można w ogóle pominąć jego wpływ na dźwięk. Przyznaję, że sam do końca nie byłem pewny jak to z nim jest. Po przeczytaniu całej masy artykułów na ten temat i przeanalizowaniu jeszcze większej liczby pomiarów muszę przyznać, że prawda leży gdzieś po środku.

Żeby to jednak zrozumieć musimy się nieco zagłębić w teorię.

 

Jak można zmierzyć jitter i kiedy jest on słyszalny

Jak to się dzieje, że odchylenie synchronizacji danych napływających do przetwornika C/A powoduje, że generuje on zniekształcony sygnał analogowy na wyjściu? Nawet jeśli żaden bit ze strumienia nie został przekłamany. Najprościej to zrozumieć analizując poniższy rysunek:

jitter-powstawanie
Po lewej: sygnał analogowy bez jittera; po prawej: zniekształcenie sygnału powstałe na skutek odchylenia czasowego próbki nr 2. (źródło: [2] z modyfikacjami własnymi)

 

Taka analiza jittera na poziomie pojedynczych próbek jest bardzo trudna, więc najczęściej stosuje się metodę polegającą na generowaniu sygnału testowego (na ogół 10-12 kHz), a następnie analizie powstałego widma częstotliwości. Jest to uproszczona i mało dokładna metoda pomiaru jittera – Julian Dunn zaproponował bardziej złożoną i dokładniejszą metodę tzw. J-test [14]. Zakłócenia, których źródłem jest jitter widoczne są jako piki symetrycznie rozłożone względem sygnału testowego. Czym są one wyższe i jest ich więcej, tym jitter jest wyższy (i większe zniekształcenia). Najczęściej występującym rodzajem jittera jest jitter sinusoidalny. Myślę, że analiza poniższego rysunku wyjaśni na czym polega ten rodzaj odchylenia (źródło: [15]):

sinusoidalny-jitter

Można się również spotkać z jitterem o rozkładzie losowym (rzadszy). Nie generuje on symetrycznych szczytów w widmie częstotliwości, ale podnosi ogólny poziom szumów [2][7]. Przykładowe zakłócenia pochodzące od jittera mogą w widmie częstotliwości wyglądać tak:

jitter-FFT
Sygnał testowy: 10 kHz. Widoczne piki jittera na 7 i 13 kHz. (źródło: [14])

 

Ale zostawmy te symulacje… Jak te zakłócenia wyglądają w realnym nagraniu? Poniżej przykład widma częstotliwości krótkiego nagrania gry fletu, bez oraz ze sztucznie dodanym 1 μs jitterem sinusoidalnym o częstotliwości 2 kHz:

jitter-nagranie-fletu
Niebieska linia: czysty sygnał, czerwona: z dodanym jitterem. (źródło: [2])

 

Wyraźnie widać zniekształcenie w okolicach 400 Hz oraz mniejsze w okolicach 3,5 kHz, które nie są maskowane przez sygnał i mogą być słyszalne.

 

Jaki jest próg słyszalności jittera?

Zdania na ten temat są podzielone nawet wśród naukowców badających to zagadnienie. NwAvGuy na potrzeby wykonywanych przez siebie pomiarów, określił granicę słyszalności jittera na -110 dB FS (oraz -100 dB FS blisko sygnału testowego). Czyli jeśli żaden z pików nie przekracza tej granicy to zakłócenie nie mogą być słyszalne. Przykład z widoczną linią graniczną (zielona) (źródło: [3]):

FiiO-E10-Jitter

No dobrze, ale co jeśli nie mamy wyników pomiarów, a znamy maksymalne odchylenie taktowania zegara i chcielibyśmy wiedzieć czy taki jitter będzie słyszalny. Na to pytanie trudno odpowiedzieć, bo jak wyjaśnię dalej, samo taktowanie sygnału to nie wszystko. Bardzo istotna jest budowa oraz sposób działania samego przetwornika, okablowanie jakim jest połączony, a także inne urządzenia w systemie. Sam jitter też jest zjawiskiem zróżnicowanym. Poza samym czasem odchylenia istotny jest jeszcze rodzaj jittera oraz jego częstotliwość. W przypadku jittera o rozkładzie losowym jego słyszalność została określona przez K. Ashihare na podstawie testu ABX (przeprowadzony na ochotnikach, którzy porównywali próbki A i B z próbką X, określając w ten sposób czy słyszą różnice między czystym dźwiękiem, a tym ze sztucznie dodanym jitterem). Próg jego słyszalności został określony na 250 ns (ani jedna osoba nie rozpoznała różnic w próbkach) [4].

W przypadku jittera sinusoidalnego najbardziej wiarygodne wydają się badania przeprowadzone przez Benjamina i Gannona, którzy na podstawie testu odsłuchowego ustalili, że w normalnej muzyce nie jest możliwe usłyszenie jittera poniżej 20 ns. Natomiast na podstawie badań teoretycznych J. Dunn ustalił, że słyszalność jittera zależy zarówno od jego czasu, jak i częstotliwości (źródło: [16]):

jitter-slyszalnosc

W najgorszym, teoretycznie możliwym przypadku próg słyszalności jittera to tylko 20 ps. Jak jednak przyznaje sam autor, w świetle nowszych badań jest to bardzo ostrożne wyliczenie i szansa, aby taka sytuacja wystąpiła w realnym systemie jest mało prawdopodobna [14].

 

Rodzaje transmisji USB

W świecie PC Audio najbardziej rozpowszechnionym rodzajem połączenia jest USB. Dlatego przede wszystkim skupiłem się na transmisji USB i tym jak powstaje jitter w tym środowisku. USB stosuje trzy różne rodzaje transmisji: przerwaniową, masową oraz izochroniczną. Nas interesuje transmisja izochroniczna, która jest używana do przesyłania strumieni multimedialnych, gdzie warunkiem jest dostarczanie kolejnych próbek w ściśle określonych odstępach czasowych. Transmisja izochroniczna w odróżnieniu od masowej, nie zapewnia retransmisji próbek w razie wykrycia błędu (zakłóciłoby to synchronizację czasową). Żeby nie było tak prosto to transmisja izochroniczna dzieli się na:

-       synchroniczną
-       adaptacyjną
-       asynchroniczną

Transmisja synchroniczna polega na tym, że oba urządzenia są zsynchronizowane do częstotliwości taktowania USB (dokładnie częstotliwości wysyłania ramek, czyli sygnału SOF). Urządzenie źródłowe nadsyła kolejne ramki, a docelowe podporządkowuje się do częstotliwości ich przyjmowania (nie ma żadnej kontroli nad synchronizacją). W tej transmisji wszystko zależy od dokładności zegara taktującego źródło – jeśli wystąpią jakieś zakłócenia to urządzenie docelowe również otrzyma zakłócony sygnał zegara.

Transmisja adaptacyjna jest gdzieś pomiędzy synchroniczną, a asynchroniczną. Synchronizacja odbywa się po obu stronach. Magistrala USB wysyła dane według swojego zegara, które trafiają do bufora urządzenia docelowego. Owo urządzenie posiada własny zegar, który działa ze zmiennym taktowaniem. Układ sterujący mierzy ilość danych trafiających do bufora urządzenia i dostosowuje do tego taktowanie zegara. Synchronizacja jest również wspomagana przy pomocy PLL (pętla synchronizacji fazy), która „widzi” odchylenie taktowania między oboma zegarami. Jitter jest tutaj dużo mniejszy niż w przypadku transmisji synchronicznej, jednak nadal występuje, ponieważ nie uwalniamy się zupełnie od taktowania magistrali USB. Jego skutki są tylko łagodzone przez stosowanie bufora i zegara ze zmiennym taktowaniem.

Transmisja asynchroniczna polega na tym, że taktowanie danych po stronie USB nie jest w ogóle istotne, a za synchronizację odpowiada wyłącznie urządzenie podpięte do USB (niezależnie od kierunku przepływu danych). Dla uproszczenia rozpatrzmy kierunek przepływu USB → urządzenie docelowe. Po stronie odbiornika tworzony jest bufor na dane, z którego urządzenie docelowe je pobiera według określonego przez siebie taktu zegara. A skąd wiadomo jak szybko źródło (magistrala USB) ma je dostarczać, żeby nie doszło do przepełnienia bufora lub jego opróżnienia? Urządzenie docelowe przesyła informację zwrotną do źródła (przy pomocy dodatkowego kanału) o stanie bufora i w razie potrzeby koryguje szybkość z jaką dostarczane są dane. Jitter zależy tylko i wyłącznie od stabilności zewnętrznego zegara urządzenia. Jeśli jest on stabilny możemy osiągnąć pomijalnie niski jitter. Wdrożenie transmisji asynchronicznej w DAC-ach z wejściem USB dosyć długo sprawiało problemy techniczne, jednak obecnie jest to najczęściej stosowana metoda komunikacji z nimi. [7]

W tym momencie możemy skorygować jeden z często powtarzanych na różnych forach błędów, że większość współczesnych, tanich DAC-ów działa w trybie synchronicznym. Nie jest to prawdą – ten tryb to już raczej przeszłość. Przy transferze synchronicznym częstotliwość próbkowania 44,1 kHz jest praktycznie niemożliwe do osiągnięcia i stosuje się resampling do 48 kHz, co dodatkowo pogarsza jakość dźwięku [9]. Obecnie wykorzystywane są tryby adaptacyjny i asynchroniczny (oraz w rzadkich przypadkach również transmisję masową, która również jest asynchroniczna). [7][8]

 

Jitter a płyty CD-Audio

Kolejny wyjątkowo niedorzeczny mit, w który wierzą niektórzy audiofile to pogląd, że zgrywanie (potocznie zwane ripowaniem) danych z płyty CD-Audio powoduje zwiększenie jittera, ponieważ poza samymi danymi zapisuje się również sygnał zegara. Jest to kompletną bzdurą: dane z płyty nie są synchronizowane sygnałem zegarowym podczas ich zgrywania na dysk. Ma to miejsce wyłącznie podczas ich odtwarzania.

Na tej samej zasadzie powstają równie dziwne teorie, jakoby płyta CD-Audio zgrana na dysk i ponownie nagrana na nośniku CD-R brzmiała słyszalnie gorzej od oryginału. Nie zaprzeczam, taka sytuacja jest możliwa, ale wyłącznie w przypadku bardzo złej jakości nagrania (niska jakość nośnika, słaba nagrywarka, zbyt szybkie nagrywanie itp.). W normalnych warunkach taka sytuacja nie może mieć miejsca. Spróbuję krótko wyjaśnić dlaczego… Jitter na płycie CD również występuje i wynika z nieidealnej długości pitów i landów (czyli fizycznej reprezentacji bitów na nośniku). Jest to inny rodzaj jittera, czasem nazywany jako data-to-data jitter. Bezpieczny poziom tego rodzaju jittera dla płyt CD-Audio powinien wynosić poniżej 35 ns – wyższy może powodować błędy odczytu (pamiętajmy jednak o korekcji błędów). Badania jednak wykazały, że płyty tłoczone (oryginały) często mają wyższy jitter od dobrze nagranych nośników CD-R [1]. Poniżej typowy przykład testu płyty CD-R pod kątem jittera – jak widać jest on sporo niższy od dopuszczalnej normy (źródło: [17]):

CDR-jitter

Data-to-data jitter nie nakłada się na jitter zegarowy – odtwarzacze CD wykonują korekcję błędów i umieszczają strumień danych w buforze przed wysłaniem go do DAC-a. Podsumowując, jeśli komuś płyty CD-R poprawnie nagrane z oryginałów grają gorzej, to powinien zmienić nagrywarkę lub kupić lepsze nośniki, ponieważ taka sytuacja nie ma prawa mieć miejsca.

 

Jitter a kable cyfrowe

Kable cyfrowe (a poprawnie kable transmitujące dane cyfrowe) wbrew opiniom wielu audiofili, nie są aktywnym źródłem jittera, mogą się jednak przyczynić do jego zwiększenia. Sygnał cyfrowy w idealnej postaci powinien mieć wygląd fali prostokątnej. Niestety stany 0-1, odwzorowane przez stan napięcia w przewodzie, nie są w stanie przełączać się tak szybko. Stąd rzeczywiste zbocza sygnałów cyfrowych, mają większe lub mniejsze nachylenie. Po podłączeniu przewodu po którym transmitowane są cyfrowe dane do oscyloskopu i specjalnego oprogramowania, można wykreślić charakterystyczne wzory, tzw. diagramy oka (eye diagram). Analizując te diagramy można ocenić jakość transmisji cyfrowej, przewodu, a także w przybliżeniu wyznaczyć jitter i inne parametry transmisji. Poniżej przykłady wzorów eye diagram:

digital-1

digital-2

W dużym uproszczeniu, czym większy obszar wyznaczający „oko”, i węższe linie sygnałowe, tym lepsze parametry transmisji. Na tej zasadzie możemy stwierdzić, że prawy diagram obrazuje transmisję cyfrową dobrej jakości i z niskim jitterem, za to ta z diagramu lewego jest słabszej jakości.

Jak można z takiego diagramu wyznaczyć jitter [6]:

jitter-eyediagram

Niektóre źródła podają, że taka metoda wyznaczania jittera nie daje prawidłowych wyników [3]. Jeśli chodzi o wpływ kabla na pogorszenie jakość transmisji, to od samej jego jakości większe znaczenie ma jego długość. Jeśli jednak spełnia on normy dla przewodów USB (w tym warunek długości), to nie powinniśmy się tym martwić [7][8][12]. Bardziej zainteresowanych, znających język angielski czytelników odsyłam do bardzo ciekawego testu kabli cyfrowych: [tutaj]. Warto zapoznać się też z oficjalną specyfikacją USB i szczegółowością procedury testowej, która muszą przejść kable, aby spełniały normę dla transmisji USB.

Ale co z tego wszystkiego wynika dla naszego dźwięku? Ano tyle, że w przypadku transmisji asynchronicznej USB to wszystko ma niewielkie znaczenie. Wystarczy przypomnieć sobie jak działa tryb asynchroniczny – przewód USB dostarcza dane do DAC-a, który je buforuje i taktuje swoim precyzyjnym zegarem. Tak więc nie ma większego znaczenia jaki będzie jitter wychodzących z magistrali USB danych i jaka będzie jakość transmisji tych danych poprzez kabel. Nawet jeśli będzie on wyjątkowo kiepskiej jakości i wprowadzi dodatkowy jitter, to nic to nie zmieni. Ważne tylko, żeby nie powodował przekłamania stanów 0-1, ale żeby to nastąpiło przewód musiałby być zbyt długi, uszkodzony lub poddany wyjątkowo silnym zakłóceniom.

Inaczej jest w przypadku jeśli nasz DAC korzysta z transmisji adaptacyjnej – tam jakość kabla USB może mieć pewne znaczenie dla generowania jittera i tym samym jakości dźwięku – chociaż jak wynika z testu do którego odsyłałem, różnica jest tak minimalna, że zawracanie sobie tym głowy zostawiam już wyjątkowym purystom.

Podsumowując, jeśli nasz DAC działa w trybie asynchronicznym, wydawanie pieniędzy na drogi kabel USB nie ma żadnego sensu. Jeśli już to zrobiłeś to niestety, ale dałeś się nabrać na marketing firm produkujących okablowanie.

 

Jitter a obciążenie magistrali USB innymi transferami danych

Magistrala USB jest tak skonstruowana, aby umożliwić kilku transferów danych równocześnie. Rodzi się więc pytanie, czy jeśli podczas słuchania muzyki z naszego DAC-a podpiętego pod USB, równocześnie odczytujemy lub zapisujemy jakieś dane np. na pendrivie to może to wpłynąć na to, że nastąpi utrata płynności w wysyłaniu danych do DAC-a? Pierwsze podejrzenia, że odpowiedź na to pytanie może być twierdząca miałem po przeczytaniu, że w trybie full-speed ramki (SOF) wysyłane są z nominalną częstotliwością co 1 ms, z dopuszczalnym odchyleniem ±0,0005 ms (500 ns), a w trybie high-speed co 125 μs z odchyleniem ±0,0625 μs (62,5 ns) [7][12]. Dość spore to odchylenie. Dodatkowo odnalazłem badania na ten temat, że w rzeczywistości może ono być dużo większe, jeśli równocześnie realizowane są transfery różnych rodzajów (w tym przypadku izochroniczny i masowy) [10]. Badanie polegało na tym, że sprawdzano jaki wpływ na prędkość wysyłania ramek USB będzie miało, gdy do transferu danych multimedialnych z kamery (izochroniczny) doda się równoczesny transfer z zewnętrznego dysku twardego (masowy). Poniżej wyniki tych pomiarów:

USB-zmienna-dlugosc-ramki
Pomiary wykonane na dwóch niezależnych komputerach. Przypadek „a” – wyłącznie transfer izochroniczny, przypadek „b” – transfer izochroniczny i masowy przebiegające równocześnie. (źródło: [10])

 

Jak widać z powyższych pomiarów, w obu przypadkach czas wysyłania ramek skracał się aż o 0,5 μs (500 ns). Skutkowało to utratą regularności wysyłania danych po stronie nadajnika. Niestety nie znalazłem już dalszych badań jak wpłynie to na jitter w przetworniku DAC. Można się tylko domyślać, że szczególnie w przypadku trybu adaptacyjnego może być on znaczny. Wniosek: lepiej nie używajmy szybkich zewnętrznych nośników danych w trakcie korzystania z DAC-a podłączonego pod USB.

 

Jitter a proces dekompresji plików (czyli WAV vs FLAC)

Spotkałem się z jeszcze inną teorią, że tylko pliki WAV grają naprawdę dobrze, natomiast wszystkie inne bezstratne formaty jak FLAC wprowadzają jakieś zakłócenia. O dziwo te osoby słyszą te różnice. Jeśli ktoś tak bezgranicznie wierzy w swój słuch, to odsyłam go do definicji pojęcia efekt placebo. Technicznie pomiędzy odtwarzaniem plików WAV, a FLAC nie ma prawie żadnej różnicy – efekt końcowy jest dokładnie ten sam. FLAC jest skompresowany, więc dodatkowo odtwarzacz musi wykonać jego dekompresję, co minimalnie obciąża procesor (różnica trudna do zmierzenia). WAV zajmuje nieco więcej miejsca na dysku, więc wymaga więcej operacji odczytu. Na tym kończą się różnice. Nie ma możliwości, aby te kilka operacji więcej wykonanych przez procesor, wpłynęło na ciągłość wysyłania danych do DAC-a. Gdyby tak było, to robienie czegokolwiek na komputerze podczas odtwarzania muzyki, również powodowałoby takie zakłócenia, a tak się nie dzieje.

Dochodzimy powoli do ważnego zagadnienia jakim jest…

 

Jitter a stopień obciążenia systemu operacyjnego

To pytanie wymaga poważniejszego potraktowania, ponieważ ilość mitów rozsiewana na ten temat przez audiofilów oraz speców od marketingu jest porażająca. Ich podstawą jest pogląd, że mocno obciążony system operacyjny (w tym procesor oraz działające w tle procesy systemowe) jest źródłem odchyleń czasowych przy dostarczaniu kolejnych próbek do DAC-a. Dodatkowo taktowanie USB staje się mniej stabilne. Trzeba przyznać, że brzmi dość przekonująco, ale… po raz kolejny zadam pytanie, czy w każdym przypadku będzie to miało znaczenie dla jakości dźwięku? Wbrew temu co twierdzą ci „słyszący lepiej”, niektóre zakłócenia dźwięku są tak niewielkie, że nie da się ich usłyszeć. Można je jednak zobaczyć na wynikach pomiarów (źródło: [7][8]):

USB_Adaptive-zero-load
Transmisja USB adaptacyjna – brak obciążenia systemu.

 

USB_Adaptive-full-load
Transmisja USB adaptacyjna – obciążenie 100% CPU oraz GPU.

 

W trybie adaptacyjnym na pierwszy rzut oka ciężko dostrzec jakieś różnice, ale po dokładniejszej analizie widać dodatkowe zakłócenia między 8 – 9 kHz. Mimo wszystko różnice nie są duże i prawdopodobnie nie będą słyszalne.

USB_Async-zero-load
Transmisja USB asynchroniczna – brak obciążenia systemu.

 

USB_Async-full-load
Transmisja USB asynchroniczna – obciążenie 100% CPU oraz GPU.

 

W trybie asynchronicznym brak jakichkolwiek różnic. Wniosek jest jasny: jeśli DAC działa w trybie asynchronicznym, obciążenie systemu operacyjnego nie ma żadnego znaczenia dla jakości dźwięku.

 

Widząc te pomiary możemy dodatkowo porównać oba rodzaje transmisji USB. DAC działający w trybie asynchronicznym ma ogólnie niższy poziom szumów i ich rozkład jest bardziej wygładzony. W trybie adaptacyjnym mamy dwa wyraźne piki zakłóceń ok. 11,6 kHz (-105 dB) i 15 kHz (-90 dB), gdzie ten drugi może już być słyszalny jako nieczystość.

 

Jitter a audiofilskie odtwarzacze programowe

Jeśli nie słyszałeś jeszcze o tzw. audiofilskich odtwarzaczach, to wyjaśnię krótko: powstało kilka wybitnie trudnych w konfiguracji, a czasem i niewygodnych w użytkowaniu lub nawet pozbawionych interfejsu użytkownika odtwarzaczy, które w zamian mają dawać dźwięk lepszej jakości. Spośród nich warto wymienić: XXHighEnd, StealthAudioPlayer oraz JPlay. Ich twórcy próbują przekonać użytkowników, że muzyki nie można tak zwyczajnie odtwarzać z dysku w normalnie pracującym systemie operacyjnym, bo według nich prawie wszystko jest źródłem jittera, zakłóceń i Bóg wie czego jeszcze. Co więc próbują robić te odtwarzacze? Wyłączają niektóre procesy systemowe, przenoszą odtwarzane utwory do pamięci RAM (najlepiej niepofragmentowanej), blokują plik wymiany i masę innych równie niepotrzebnych rzeczy. Najdalej w swym „audiofilstwie” posunął się JPlay, który za najlepszy jakościowo tryb uznaje zupełną hibernację komputera, gdzie odtwarzanie z góry zadanej playlisty jest jedyną czynnością komputera. Najciekawsze, że za te wszystkie niedogodności, twórcy każą sobie jeszcze słono płacić (99 euro). Wiem, że audiofilom bez odpowiedniej wiedzy można sporo wmówić, w dodatku jeśli dany program jest agresywnie promowany na różnych forach i testowany przez „specjalistów”, którzy w niezwykle kwiecisty sposób opisują te wszystkie różnice. Ale drogi czytelniku nie daj się nabierać. Jeśli czytałeś od początku to co napisałem, to pewnie domyślasz się, że wszystkie magiczne zabiegi w tych odtwarzaczach kompletnie nic nie wnoszą, poza tym, że programy są wybitnie niewygodne w użyciu. Oczywiście w bardzo rzadkich przypadkach może to wszystko mieć jakieś znaczenie, ale są to sytuacje marginalne (bardzo stary, mało wydajny komputer, wyjątkowo zaśmiecony system operacyjny, ewentualnie mocno zawirusowany). Wtedy takie wyłączenie większości procesów systemowych może pomóc w poprawnym odtwarzaniu dźwięku (ale nie poprawie jego jakości)… ale czy naprawdę nie łatwiej skonfigurować sobie dobrze system, zamiast płacić prawie 100 euro za jakiś magiczny odtwarzacz? Dla bardziej dociekliwych – dokładne pomiary odtwarzacza JPlay, dowodzące brak różnic między odtwarzaczem foobar znajdziesz tutaj: [tutaj]

 

 

Źródła:

[1] http://www.positive-feedback.com/Issue43/jitter.htm
[2] „Asynchronous USB”. Naim Audio Ltd., January 2013
[3] http://nwavguy.blogspot.com/
[4] „Detection threshold for distortions due to jitter on digital audio”. Kaoru Ashihara, Shogo Kiryu, Nobuo Koizumi, Akira Nishimura, Juro Ohga, Masaki Sawaguchi, Shokichiro Yoshikawa, 16 July 2004
[5] „Understanding Data Eye Diagram Methodology for Analyzing High Speed Digital Signals”. ON Semiconductor, June 2014
[6] http://www.maximintegrated.com/en/app-notes/index.mvp/id/1856
[7] http://www.thewelltemperedcomputer.com/
[8] http://archimago.blogspot.ca/
[9] http://www.audioasylum.com/forums/pcaudio/messages/7719.html
[10] „Zmiana długości cyklu izochronicznego w szeregowych interfejsach komunikacyjnych USB 2.0 i IEEE 1394A”. Michał Sawicki, listopad 2013
[11] „Jitter in Digital Audio”. R.A. de Gruyl, 2005
[12] „Universal Serial Bus Specification, Revision 2.0”. Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips, April 2000
[13] „The D/A diaries: A personal memoir of engineering heartache and triumph”. Hitoshi Kondoh
[14] „Jitter Theory”. Julian Dunn
[15] „Jitter Funfamentals: Agilent 81250 ParBERT Jitter Injection and Analysis Capabilities”. Agilent Technologies
[16] „Jitter: Specification and Assessment in Digital Audio Equipment”. Julian Dunn, October 1992
[17] http://forum.cdrinfo.pl/

 


Opublikowano: 31 lip 2014 / Kategoria: artykuły » technologie / 18 510 wyświetleń

Odpowiedzi: 18 do wpisu “Jitter – źródło największych mitów w technologiach cyfrowych”


  1. Dzięki za przybliżenie bardzo dokładne tego tematu, widać że się napracowałeś, bo jest to jedno z najlepszych opracowań jakie znalazłem. Wszystko w jednym miejscu
    Kamil Samselski ostatnio opublikował: E-mail marketing. Poznaj najskuteczniejszą metodę promocjiMy Profile

  2. Adam pisze:

    Bardzo ciekawy artykuł w pełni przybliżający takie pojęcie jak jitter :) widać, że osoba prowadząca blog wie co pisze. Pozdrawiam!

  3. Janek90 pisze:

    Kawał dobrej roboty w życiu sam bym nie dał rady tak szczegółowego artykułu napisać.Bardzo ciekawy czytałem go z przyjemnością i zaciekawieniem.Czekam z niecierpliwością na następny.

  4. Kamil pisze:

    Przyznam, że zajmujemy się tematem na studiach i nie znalazłem lepszego opracowania tematu. Kawał dobrej roboty, i dziękujemy!

  5. Zenuś pisze:

    Uczyłem się o Jitterach na elektrotechnice w 2 klasie technikum, ach to były czasy..
    Zenuś ostatnio opublikował: Jak tworzy się stojaki i inne wyroby reklamowe z pleksi?My Profile

  6. Johan pisze:

    Fajna strona, ciekawa graficznie, przyciagajace uwage tytuly i fotografie czy wykresy.. brak mi jedynie czestszego jej aktualizowania.
    Johan ostatnio opublikował: Święta Bożego Narodzenia 2014 w ORW Kamyczek w SarbinowieMy Profile

  7. bachmann pisze:

    też muszę podziękować za dobre opracowanie, te wszystkie pozycje naukowe często zawierają szereg niepotrzebnych informacji
    bachmann ostatnio opublikował: Systemy kuchenneMy Profile

  8. Adam pisze:

    Wow Stary! Ale dobra robota. Tak szczegółowo wszystko opisałeś i te wykresy. Przypisy i źródła. W żadnej ze znanych mi publikacji tak rzetelnie i zrozumiale nie wyjaśniono technologii Jitter.

  9. Piramidon pisze:

    Gratuluję efektu wykonanej pracy!

  10. Radek pisze:

    Dziękuję, dziękuję bardzo w koncu zrozumialem tyle rzeczy naraz, czytając tylko jeden artykuł SUPER!!!

  11. Marcin pisze:

    Nie do końca rozumiem pierwszy rysunek. Oznacza on, że musiałaby być przesunięta czasowo cała próbka w więc np. 16 bitów- 16 zer i jedynek. Rozumiem przesunięcie pojedynczych bitów (ewentualnie wielu próbek) ale równo całej próbki? Żeby to nastąpiło trzebaby mieć wyjątkowe „szczęście” :)

    • qbakos pisze:

      Jitter to przesunięcie czasowe. Próbki się nie zmieniają i nic się w nich nie przesuwa. Jedynie zostają dostarczone w niedokładnych odstępach czasu, przez co sygnał analogowy który powstaje na wyjściu będzie zniekształcony.
      Marcin, to o czym Ty piszesz to już nie jitter, tylko dużo poważniejsze zniekształcenia w domenie cyfrowej.

      • Marcin pisze:

        No właśnie- według rysunku cała próbka została dostarczona za wcześnie. Tylko nie wiem z czego to wynika skoro jitter dotyczy pojedynczych impulsów? Czy to ma oznaczać, że przy próbce 16 bitowej wszystkie 16 impulsów (pewnie jeszcze dodatkowo z impulsami reprezentującymi bity nadmiarowe w ramce) doszło za wcześnie?

        Ciekawi mnie jeszcze jedna rzecz- czy użycie karty dźwiękowej (razem z DAC oczywiście) wewnętrznej nie zmniejsza jittera w stosunku do karty zewnętrznej? To pozawala pominąć magistralę USB. Tylko czy używana wtedy np. PCIe, będzie lepsza? A czy samo pominięcie złącz USB nie będzie miało znaczenia w kwestii ewentualnych opóźnień?

        • qbakos pisze:

          Ale czemu akurat 16 impulsów? Przecież przetwornik nie dostaje informacji bit po bicie, tylko całą próbkę do przetworzenia. Są przetworniki przetwarzające po 1 bicie (tzw. modulacja delta-sigma) wykorzystywane np. przy płytach SACD, ale to inny temat. Tutaj mówimy o klasycznych przetwornikach PCM, czyli wielobitowych.
          DAC przetwarza próbki w takt sygnału zegarowego. Jeśli ten sygnał nie jest idealnie dokładny to próbki przetwarzane są w niejednakowych odstępach czasu… to jest cały problem przy powstawaniu jittera.

          Co do drugiego pytania to wewnętrzne karty dźwiękowe zazwyczaj dają gorszą jakość dźwięku od zewnętrznych. Spowodowane jest to tym, że DAC umieszczony we wnętrzu komputera jest narażony na sporo różnych zakłóceń pochodzących od działających podzespołów. O ile na sygnał cyfrowy nie będzie to miało aż tak dużego wpływu, to na przetworzony analogowy już tak. Dlatego zdarzają się karty, gdzie słychać zakłócenia pochodzące z pracującego dysku lub ruchów myszką. Oczywiście istnieją profesjonalne karty wewnętrzne, które są świetnie przed tym zabezpieczone, ale to naprawdę wyższa półka cenowa. Dlatego do normalnego użytkowania polecam karty zewnętrzne.
          Pomijanie magistrali USB nie ma większego sensu. Jeśli DAC jest dobrze skonstruowany to magistrala USB działa tutaj na korzyść (np. standard USB-Audio). Zwróć uwagę, że praktycznie wszystko poważniejsze DAC-i przy połączeniu z komputerem wykorzystują właśnie USB.

          • Marcin pisze:

            No właśnie tego nie rozumiem, dlaczego skoro DAC pracuje na całych próbkach obchodzi go jitter związany z pojedynczymi bitami?

            A co do karty dźwiękowej zdaję sobie oczywiście sprawę z zakłóceń i sam ich nawet doświadczyłem. Dodałbym jeszcze, że nie tylko karta powinna być dobrze ekranowana, ale też podłączone kable analogowe. Chodziło mi jednak tylko o kwestie samego jittera, bo zastanawiam się czy zasada skracania toru audio może mieć tutaj zastosowanie. Dotyczy to zresztą także odtwarzaczy CD i podobnych urządzeń.

  12. qbakos pisze:

    Ale nigdzie nie jest napisane, że jitter dotyczy pojedynczych bitów. Na tym pierwszym rysunku masz wyraźnie podpisane „sample number”, a próbka jest 16 lub 24-bitowa. Zapomnij o tych pojedynczych bitach, bo niepotrzebnie komplikujesz sobie sprawę.
    Moim zdaniem akurat tutaj skracanie toru audio nic nie da, a może nawet zwiększać jitter. Biorąc pod uwagę że po magistralach jest przesyłanych dużo więcej danych, niż po USB i nie mają one tych „specjalnych” trybów transmisji, to wynik może być bardzo różny. Ale musiałbyś już na własną rękę poszukać, czy ktoś to badał, bo ja w tym art. się tym nie zajmowałem.

    • Marcin pisze:

      Jitter nie dotyczy pojedynczych bitów? Wszystkie źródła tak właśnie podają (w tym Wikipedia) i powyższy tekst miejscami także o tym mówi np:
      „Sygnał cyfrowy w idealnej postaci powinien mieć wygląd fali prostokątnej. Niestety stany 0-1, odwzorowane przez stan napięcia w przewodzie, nie są w stanie przełączać się tak szybko.” Dalej jest opisany jitter na podstawie przedstawionych diagramów obrazujących pojedyncze bity.
      Poza tym USB to magistrala szeregowa więc w takt zegara wysyła pojedyncze bity.

      • qbakos pisze:

        Widzę, że mam dociekliwych czytelników :)
        W artykule stosowałem pewne uproszczenia, bo sporo osób mówiło mi, że moje artykuły są mało zrozumiałe. Wchodząc w teorię jak działa DAC na poziomie elektroniki i do tego analizując standard SPDIF lub USB na poziomie bitów to już dla większości byłby zupełny „bełkot”.
        Oczywiście masz rację, że zegar taktuje pojedyncze bity (w SPDIF przypadają nawet 2 takty na 1 bit), tylko że dla DAC-a istotne jest kiedy dotrze do niego cała próbka. A jeśli choćby jeden bit dotrze za późno, to chyba logiczne, że kolejne też będą opóźnione. Chyba że zegar potem jakoś magicznie przyspieszy i idealnie wyrówna czas dostarczenia całej próbki. Ale raczej bym na to nie liczył, bo jeśli zegar taktuje niedokładnie to i cała próbka dotrze opóźniona lub przyspieszona. I myślę, że to jest odpowiedź na Twoje wątpliwości.

        Dodam jeszcze jako uzupełnienie, że ten problem nie dotyczy przypadku, gdy dane są transmitowane jako bitstream (AC-3, DTS i inne). Znaczy jitter też może tam powstawać, ale jest zupełnie niezależny od urządzenia wysyłającego strumień.

Musisz mieć włączoną obsługę JavaScript, aby dodawać komentarze!

Zostaw odpowiedź


CommentLuv badge

Następny / poprzedni artykuł:



Kategorie

O autorze

    Nazywam się Jakub Kościelny. Na forach jako qbakos. Technikami przetwarzania i kompresji wideo interesuję się właściwie od studiów, czyli już dość długo.
    Kilka lat temu postanowiłem połączyć to hobby z czymś poważniejszym i zacząłem o tym pisać, robić badania, pomiary.
    Na tej stronie zebrałem to wszystko w mam nadzieję przystępnej formie i udostępniłem zainteresowanym tą tematyką.
    A przy okazji mam motywację, aby cały czas szukać nowych tematów na artykuły... oraz zgłębiać tajniki WordPressa. Zapraszam :)