Ulubiony kiosk PRZEJRZYJ ONLINE LISTOPADOWE WYDANIE Live Sound PRZESYŁKA GRATIS

Tutoriale

Technika cyfrowa - przetwarzanie cyfrowo-analogowe. Dither, kształtowanie widma szumu

Technika cyfrowa - przetwarzanie cyfrowo-analogowe. Dither, kształtowanie widma szumu

Dodano: niedziela, 12 czerwca 2011

Dobrnęliśmy do końca łańcucha cyfrowego, a na końcu tegoż łańcucha trafiamy na konwerter cyfrowo-analogowy (C/A lub z angielska D/A), czyli urządzenie, które przetwarza ciąg zer i jedynek z powrotem na sygnał rozpoznawalny przez urządzenia analogowe.

 

Zanim jednak przejdziemy do przetwornika C/A, powiemy sobie kilka zdań o tym, co to jest dither oraz o funkcji zwanej „kształtowaniem widma szumu” – oba wykorzystywane w przetwornikach A/C do eliminacji, albo chociaż minimalizacji, szumu kwantyzacji. O tym bowiem, że urządzenia cyfrowe też szumią, już 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ć. Jak już wiemy 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, czyli ta część etapu przetwarzania sygnału analogowego na cyfrowy, którą omawialiśmy dwa miesiące temu.

Nie będziemy wracać więc do tego, skąd się bierze ten szum (zainteresowanych odsyłam do ubiegłorocznego, 6 numeru Live Soundu), ale zajmiemy się teraz – o czym wspomniałem na wstępie – próbami jego minimalizacji. Pierwszym sposobem dokonania tego jest

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, 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 również minimalizować tę niekorzystną cechę poprzez zastosowanie kształtowania widma szumu, o czym nieco później. 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 teraz do najbardziej zagmatwanej sprawy. Postaram się 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. Jest to proces, o którym więcej powiemy sobie przy innej okazji, na dziś wystarczy, jeśli „naocznie” stwierdzimy przydatność tego procesu. 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-ch okresów, otrzymamy nieco „pogryziony” przebieg, który 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ą tym, że w 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.

W przypadku układów sigma-delta możliwe jest wykorzystanie techniki dither bez pogorszenia zakresu dynamiki sygnału. Stosuje się w tym celu sygnał o gaussowskim rozkładzie funkcji prawdopodobieństwa, umieszczany w zakresie częstotliwości słyszalnych. W konwerterach sigma-delta pierwszego rzędu dodanie niewielkiego sygnału dither nie zmniejsza zniekształceń, natomiast dodanie sygnału dither o większym poziomie nie jest celowe, ponieważ powoduje pogorszenie dynamiki sygnału.

Natomiast w układach rzędu drugiego i wyższych możliwe jest zastosowanie takiego szumu dither, który zmniejsza zniekształcenia wprowadzane przez kwantyzer, a jednocześnie nie powoduje pogorszenia dynamiki sygnału. Sygnał dither może być również zastosowany w układach sigma- -delta w celu zredukowania zniekształceń w postaci tonów „pustego kanału” (ang. „idle tones”) oraz szumu modulowanego. Zniekształcenia w postaci tonów pojawiają się, gdy na wejście układu sigma-delta zostanie podana składowa stała, i są zależne od amplitudy sygnału wejściowego.

Zniekształcenia o najwyższym poziomie pojawiają się na częstotliwościach równych w przybliżeniu połowie częstotliwości próbkowania, jednak występujące w paśmie podstawowym są również duże. Zniekształcenia w postaci szumu modulowanego powstają w podobny sposób. Pojawiają się one w przypadku, gdy na wejście podawany jest sygnał stały lub sinusoidalny o zmiennej amplitudzie. Z badań wynika, że jeżeli w układzie nie występują zniekształcenia w postaci tonów, nie powinny występować także zniekształcenia w postaci szumu modulowanego. Najlepsze wyniki, przy zastosowaniu ditheringu w celu eliminacji tych zniekształceń, osiąga się stosując sygnał losowy lub pseudolosowy.

Trochę zamotałem na końcu, więc może 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ś go do zakresu, w którym nie będzie tak dokuczliwy dla słuchacza.

Rysunek 7 przedstawia schemat ideowy układu kształtowania szumu. Sygnał jest kwantowany jednobitowo, czyli przyjmuje jedynie wartości +E i –E. Sygnał szumu ε, wynikający z operacji kwantowania (błąd zaokrąglania), jest podawany na wejście filtru H, który umieszczony w pętli sprzężenia zwrotnego kształtuje widmo sygnału szumu ?. Układ ogranicznika L obcina sygnał, gdy jego wartość bezwzględna przekracza pewien ustalony poziom.

Stosując więc technikę oversaplingu, czyli nadpróbkowania, powodujemy, że całkowite pasmo „robocze”, w którym rozkłada się całkowita moc szumu, jest znacznie szersze, niż pasmo „słyszalne” dla człowieka, a więc standardowe 20 Hz do 20 kHz (przy częstotliwości próbkowania 44,1 kHz i 64-krotnym oversamplingu wynikowa częstotliwość próbkowania wyniesie 2.822,4 kHz, a więc pasmo częstotliwości obejmuje zakres od 0 do 1.411,2 kHz). A zatem w paśmie słyszalnym „umieści” się tylko niewielka część energii szumu. Jeśli teraz dodatkowo tak ukształtujemy ten szum, aby nie rozkładał się równomiernie w całym tym paśmie, ale największa część jego energii przypadła na zakres powyżej częstotliwości 20 kHz, otrzymamy układ, który uwolni nas w znacznym stopniu od „atrakcji” wysłuchiwania szumu. Dodatkowo, odpowiednio ukształtowując układ sigma-delta, możemy doprowadzić do analogii pomiędzy nim a układem kształtowania szumu. Można więc bezpośrednio wykorzystać konwerter sigma-delta do kształtowania widma szumu.

KONWERTERY CYFROWOANALOGOWE PCM

I tak dobrnęliśmy do końca naszego łańcucha cyfrowego, czyli do konwertera cyfrowo-analogowego C/A. Konwerter ten ma za zadanie zamianę ciąg zer i jedynek z powrotem na rozpoznawalny przez urządzenia analogowe sygnał analogowy. Typowy układ z napięciowym źródłem odniesienia składa się z sieci zbudowanej z rezystorów o wartościach wagowych (rysunek 8).

Jeżeli wartość k- -tego bitu ak jest równa 1, odpowiadający mu przełącznik jest włączony i napięcie odniesienia UR jest przyłączane do rezystora wagowego, odpowiadającego danemu bitowi. Jeżeli ak = 0, przełącznik jest przyłączony do masy. Sieć rezystorów jest tak projektowana, że stosunek wartości kolejnych rezystorów jest równy 2. Na dokładność działania konwerterów ma wpływ dokładność wykonania i powtarzalność parametrów termicznych rezystorów. Wadą konwerterów tego typu jest fakt, że trudno dobrać rezystory o jednakowych parametrach termicznych, ponieważ mają one różne wartości.

Aby uniknąć wspomnianych trudności zaprojektowano układ z siecią drabinkową rezystorów: R-2R. Wszystkie rezystory mają jedną z dwóch wartości: R albo 2R. Dzięki temu konwerter jest mniej czuły na rozrzut parametrów, ale przez to bardziej rozbudowany. Dokładność jego nie zależy od bezwzględnej wartości wszystkich rezystancji, a jedynie od rozrzutu pomiędzy tymi wartościami. Drugi rodzaj konwerterów cyfrowo- -analogowych to konwertery działające w oparciu o metodę przełączania prądów. Konwertery tego typu są szybsze od konwerterów, w których przełączane są napięcia. Prądy odpowiadające poszczególnym bitom są przełączane za pomocą sprzężonych emiterowo par tranzystorów.

Istnieją jeszcze inne rodzaje konwerterów, jak np. konwertery mnożące, ale nie komplikujmy za bardzo sprawy, chodzi bowiem tylko o ideę przetwarzania cyfrowo-analogowego, a nie szczegóły techniczne budowy konkretnych przetworników. Wiemy już jak przetwarza się sygnał analogowy na cyfrowy oraz jak zamienić z powrotem sygnał cyfrowy na analogowy, z wszystkimi tego konsekwencjami. Wiemy więc już co nieco o tym, co na początku, oraz o tym, co jest na końcu toru cyfrowego. Możemy przejść już do innych zagadnień związanych z przetwarzaniem cyfrowym sygnałów. Zapraszam więc już teraz na kolejne spotkania ze światem dźwięku cyfrowego.

Jan Erhard


Jan Erhard z wykształcenia jest informatykiem i specjalistą od sieci cyfrowych, zaś z zamiłowania muzykiem. Zajmuje się też realizacją dźwięku, stąd jego zainteresowania i duża wiedza na temat cyfrowego przetwarzania sygnałów.