Dither. Walka z szumem jego własną bronią

2016-06-16
Dither. Walka z szumem jego własną bronią

O tym, że urządzenia cyfrowe też szumią, chyba nikogo nie trzeba przekonywać. Co prawda nie tak, jak „analogi” (różnica jest zarówno w kwestii wielkości tego szumu, jak i w jego formie), ale niestety nie jesteśmy w stanie całkowicie się od niego uwolnić.

Szum w sygnale cyfrowym spowodowany jest faktem, iż przetworniki A/C nie są w stanie idealnie, a co najważniejsze – odwracalnie, przetworzyć sygnału analogowego na cyfrowy, a głównym tego „winowajcą” jest kwantyzer. Nie będziemy tutaj wnikać, w jaki sposób i dlaczego powstaje ten szum, ale zajmiemy się omówieniem jednej z metod jego minimalizacji. Jest nią

DITHER


Polega on na eliminacji szumu poprzez dodanie do sygnału… szumu. Teraz pewnie, Drogi Czytelniku, pukasz się w głowę z cisnącymi się na usta słowami: „Coś Pan, zwariował?”. Choć z pozoru tak to wygląda, przytoczona przeze mnie przed chwilą teza ma jednak sens, aczkolwiek żeby to wyjaśnić logicznie, musimy głębiej wniknąć w temat. Zacznijmy od struktury szumu konwersji.

Błąd konwersji jest w znacznym stopniu zależny od poziomu sygnału wejściowego. W sytuacji kiedy mamy do czynienia ze złożonymi sygnałami wejściowymi o dużych poziomach (jak choćby z dźwiękami muzycznymi), błędy są nieskorelowane (czyli, w dużym skrócie tłumacząc, niezależne) i dlatego widmo gęstości mocy błędu kwantyzacji ma charakter podobny do szumu białego. Dla przypomnienia, szum biały jest to sygnał o widmie ciągłym, w którym składowe widma, wyrażone poziomem ciśnienia akustycznego, mają stałą wartość w całym paśmie częstotliwości (rysunek 1).

Dla sygnałów wejściowych o niskim poziomie sytuacja nie wygląda jednak tak kolorowo (a raczej tak „biało”), gdyż błąd staje się w dużym stopniu zależny od sygnału wejściowego. Sygnałom z przedziału (-Δ/2, Δ/2), gdzie Δ jest to wysokość schodka kwantyzacji, konwerter przyporządkowuje wartość zero, przez co sygnały te nie zostają przeniesione przez tor. Jest to tzw. „głuchota cyfrowa”. W tej sytuacji na wyjściu nie otrzymujemy żadnego sygnału, a błąd jest równy sygnałowi wejściowemu, z przeciwnym znakiem. Ten typ błędu jest zauważalny przy odsłuchu i dlatego jest niepożądanym zjawiskiem towarzyszącym kwantyzacji.

Aby zminimalizować to zjawisko wykorzystuje się właśnie sygnał zwany dither (niestety, jeszcze nikt nie znalazł polskojęzycznego określenia tego sygnału, dlatego posługujemy się oryginalnym określeniem angielskim). Jest to stochastyczny (czyli losowy) szum dodawany do sygnału wejściowego. Dzięki temu eliminujemy zniekształcenia zwane szumem kwantyzacji, kosztem pojawienia się w sygnale pewnego szumu, słyszalnego jako bardzo ciche syczenie. Można jednakże minimalizować tę niekorzystną cechę poprzez zastosowanie kształtowania widma szumu (o czym dwa zdania na końcu). Na razie przyjmijmy, że musimy ponieść pewien koszt w postaci takiego właśnie szumu w sygnale.

Ktoś zapyta, cóż więc takiego dobrego mamy w tym, skoro usuwamy jeden szum, wstawiając drugi? Sęk w tym, że do szumu białego jesteśmy przyzwyczajeni, gdyż otacza nas on wszędzie na co dzień, więc jego słyszalność jest mniej zauważalna niż zniekształcenia spowodowane kwantyzacją.

Przejdźmy do najbardziej zagmatwanej sprawy, czyli postaram się teraz wytłumaczyć, jak to za pomocą szumu eliminujemy szum. Celem stosowania techniki dither jest modyfikacja statystycznych właściwości błędu całkowitego. No, jakież to proste, nieprawdaż? Może jednak zacznę mówić „ludzkim głosem”. Kwantowany sygnał sinusoidalny w zakresie (-Δ/2, Δ/2) powoduje, że na wyjściu kwantyzera otrzymujemy sygnał o poziomie 0 („głuchota cyfrowa” – rysunek 2a), natomiast sygnał sinusoidalny o poziomie nieco przekraczającym zakres (-Δ/2, Δ/2) po skwantowaniu reprezentowany jest przez przebieg prostokątny („kwantyzacja binarna” – rysunek 2b). Jeżeli teraz do takich sygnałów wejściowych dodamy szum dither, na wyjściu konwertera otrzymamy odpowiednio sygnały jak na rysunkach 2c i d. Nastąpiła tu likwidacja nieczułości konwertera i rozmycie odpowiedzi w przypadku kwantyzacji binarnej.

No tak, ale to w dalszym ciągu niewiele ma wspólnego z sygnałem sinusoidalnym, a wręcz przeciwnie, wydaje się, że taki sygnał wprowadza jeszcze większe zniekształcenia. Owszem, ale weźmy pod uwagę, że w procesie „odzyskiwania” sygnał jest odfiltrowywany, a poza tym stosuje się uśrednianie.

Prześledźmy rysunek 3. Pierwszy przebieg (a) to sygnał sinusoidalny bezpośrednio po kwantyzacji. Jeżeli jednak dodamy do sygnału oryginalnego dither i skwantujemy taki sygnał, otrzymamy takie „dziwadło”, jak na drugim rysunku (b). Fakt, że niewiele ma on wspólnego ani z sinusoidą, ani z prostokątem, ani z żadnym innym „normalnym” przebiegiem. Jeżeli jednak zastosujemy uśrednianie w czasie 32 okresów, otrzymamy nieco „pogryziony” przebieg, który jednakże już bardziej przypomina sinusoidę, a po uśrednieniu w czasie 960 okresów nasz sygnał wygląda niemalże jak idealna sinusoida.

Można też zauważyć korzystny wpływ dithera na minimalizację błędów kwantyzacji, przyglądając się charakterystyce kwantyzera. Bez dithera jest to charakterystyka schodkowa, natomiast przy odpowiednim doborze poziomu szumu jej schodki ulegają rozmyciu i zbliża się ona do charakterystyki liniowej, przez co maleje błąd kwantyzacji i związany z nią szum. Przedstawia to rysunek 4, przy czym liczby przy wykresach są to wartości szumu dither o poziomach odpowiadających ułamkom wartości skoku kwantyzacji.

Z kolei rysunek 5 pokazuje nam, jak szum dither wpływa na redukcję zniekształceń harmonicznych. Rysunek 5a przedstawia sygnał sinusoidalny o częstotliwości 1 kHz, kwantowany bez szumu dither. Widać tu szereg harmonicznych nie występujących w sygnale oryginalnym, które są produktem kwantyzacji, i są interpretowane jako szum kwantyzacji. Widzimy tu, że nie jest to szum szerokopasmowy (biały), z jakim mamy do czynienia w systemach analogowych i do jakiego jest przyzwyczajone nasze ucho. W zasadzie są to zniekształcenia słyszalne jako „charczenie”. Jeśli do sygnału przed kwantyzacją dodamy dither o wartości międzyszczytowej równej 1/3 „skoku” kwantyzacji, otrzymamy sygnał, którego widmo przedstawia rysunek 5b. Bezspornym zyskiem jest tu znaczne obniżenie składowych związanych ze zniekształceniami harmonicznymi. Kosztem tego stosunek sygnał/szum spada nam o ok. 3 dB, jednak jest to szum szerokopasmowy, przypominający „z wyglądu” odfiltrowany z wysokich częstotliwości szum biały. Tak więc będzie słyszalny nie jako zniekształcenia sygnału (charczenie), ale jako cichy syk w tle sygnału oryginalnego.


Stosuje się dwa rodzaje układów wykorzystujących technikę dither:
– używające subtraktywnej techniki dither
– używające nie-subtraktywnej techniki dither

System wykorzystujący subtraktywną technikę dither różni się od systemu z nie-subtraktywną techniką dither tym, że w tym pierwszym przypadku sygnał dither jest dodatkowo odejmowany na wyjściu kwantyzera, co teoretycznie poprawia stosunek sygnał/szum („subtraktywny” można przetłumaczyć jako „odejmujący”). Z tym że takie odejmowanie dithera może następować zarówno po konwersji A/C, jak i już na końcu toru, czyli po konwersji C/A. Możemy też stosować źródło szumu analogowe, jak i cyfrowe. W przypadku techniki analogowej może to być zwykłe źródło szumu białego. Zaś dithering cyfrowy polega na wprowadzaniu do każdego słowa binarnego przypadkowego sygnału cyfrowego poniżej ostatniego miejsca binarnego. Pseudoprzypadkowy sygnał cyfrowy otrzymywany jest zwykle za pomocą odpowiedniej procedury programowej. Na rysunku 6a pokazano, jak uzyskuje się skorelowany sygnał szumu w celu umożliwienia jego odjęcia po konwersji A/C, a na rysunku 6b uzyskiwanie takiego szumy w przypadku odjęcia go po konwersji C/A.

PODSUMUJMY


Wprowadzenie szumu dither pozwala na uzyskanie pożądanych efektów związanych z eliminacją zakresu nieczułości konwertera i minimalizacją zniekształceń, które występują dla bardzo małych amplitud sygnału poddawanego konwersji. Słyszalność wprowadzonego szumu (w przypadku systemu nie-subtraktywnego, czyli kiedy dither nie jest odejmowany) może być zmniejszona na drodze wstępnego kształtowania jego widma w taki sposób, aby energia szumu była wyższa w zakresie wysokich częstotliwości. Można to osiągnąć albo bezpośrednio, poprzez ukształtowanie widma szumu dither, albo na drodze filtracji związanej z kształtowaniem charakterystyki widmowej całego układu konwersji. Ten drugi przypadek wiąże się z techniką kształtowania widma szumu, zwaną z angielska „noise shaping”.

Układ taki służy do takiego ukształtowania widma szumu, aby usunąć go z zakresu, w którym słuch ludzki jest najbardziej czuły, i przenieś do zakresu, w którym nie będzie tak dokuczliwy dla słuchacza. Ale to już zupełnie inna historia…

Armand Szary

Estrada i Studio Kursy
Produkcja muzyczna od podstaw
Produkcja muzyczna od podstaw
50.00 zł
Produkcja muzyczna w praktyce
Produkcja muzyczna w praktyce
120.00 zł
Bitwig Studio od podstaw
Bitwig Studio od podstaw
55.00 zł
Sound Forge od podstaw
Sound Forge od podstaw
40.00 zł
Kontakt 5 Kompedium
Kontakt 5 Kompedium
60.00 zł
Zobacz wszystkie
Live Sound & Instalation Newsletter
Krótko i na temat, zawsze najświeższe informacje