Zapisz jako PDF

Transkrypt

Zapisz jako PDF
TI/ Analogowy a cyfrowy
Dlaczego właściwie mówimy o rewolucji cyfrowej?
Najważniejszą korzyścią, wynikającą z przyjęcia zapisu cyfrowego, jest możliwość wykrywania
błędów. Pozwala to na ich korekcję, a w konsekwencji całkowicie bezbłędne przesyłanie i powielanie
informacji.
Aby dokładniej zrozumieć ten podstawowy fakt, zobaczmy dla przykładu, dlaczego cyfrowy zapis
dźwięku (płyty CD) zastąpił całkowicie analogowe 'czarne krążki' z winylu i kasety.
Słyszymy często, że CD zapewnia lepszą jakość. Ale to niekoniecznie prawda, jeśli porównywać np. z
nową płytą z dobrej tłoczni, odtwarzaną na wysokiej klasy gramofonie. No właśnie, nową...
Zastanówmy się: płyty CD nie trzeszczą, nawet stare! Czasami nie dadzą się w ogóle odtwarzać,
czasami 'gubią' fragmenty na mocno porysowanych płytkach, ale nie trzeszczą! Jak to się dzieje?
Kluczem do tajemnicy jest korekcja błędów.
Aby zrozumieć, dlaczego korekcja błędów związana jest z zapisem cyfrowym, przyjrzyjmy się bliżej
analogowym i cyfrowym zapisom dźwięku.
schemat odtwarzania dźwięku z płyty
gramofonowej
Na płycie analogowej dźwięk kodowany jest w zmiennym wyżłobieniu (głębokości) rowka, po którym
przemieszcza się igła gramofonu. W przybliżeniu możemy wyobrazić sobie, że 'podskok' igły w
większym wgłębieniu rowka powoduje większe wychylenie membrany głośnika (po zamianie w
impuls elektryczny i przejściu przez wzmacniacz). Wyżłobienie rowka nowej płyty odwzorowuje więc
dokładnie zapisany dźwięk. Zarysowanie lub zabrudzenie wprowadzi przy odtwarzaniu zakłócenia
(zwykle trzaski). Jednoznaczne rozróżnienie, które z wyżłobień rowka winylowej płyty
odzwierciedlają oryginalny zapis muzyki, a które powstały skutkiem uszkodzeń, jest właściwie
niemożliwe, dlatego też muzyka ze starych płyt kojarzy nam się z obecnością trzasków i szumu.
Od góry: ciągły (analogowy) zapis fali dźwiękowej, poniżej próbkowanie, czyli
wybór chwil, w których ją mierzymy, dalej zamiana zmierzonych wartości na
liczby i liczb na bity. Pasek na dole rysunku może symbolizować na przykład
fragment ścieżki na płycie CD: białe pola (zera) odbijają światło lasera, a czarne
(jedynki) nie.
Natomiast w przypadku zapisu cyfrowego możemy w prosty sposób wykryć wystąpienie zakłóceń. Na
płycie CD muzykę zapisujemy jako szereg liczb, oznaczających, powiedzmy, wychylenie membrany
głośnika, mierzone w ustalonych odstępach czasu — 44100 razy na sekundę (ideę zapisu cyfrowego
pokazano na rys. 1). Umówmy się dla przykładu, że z każdych dziesięciu kolejnych liczb do zapisu
muzyki będziemy wykorzystywać tylko dziewięć, a ostatnią wykorzystamy do zapisania ich sumy.
Taki sposób zapisu wprowadza redundancję, czyli nadmiar informacji w zapisie, ponieważ przy
prawidłowym odczycie wystarczyłoby znać dziewięć kolejnych liczb, aby szybko obliczyć dziesiątą
(ich sumę). Jednak jeśli wczytamy z takiego zapisu wszystkie liczby, i w którejś dziesiątce ostatnia
liczba będzie różna od sumy poprzedzających dziewięciu, to mamy pewność, że w tym miejscu
wystąpił błąd.
Ta dziesiąta liczba to suma kontrolna; sumy kontrolne (w trochę bardziej wyrafinowanej postaci)
stosowane są na przykład w numerach kart kredytowych — pozwala to łatwo i szybko wykryć błąd
przy ich wpisywaniu czy przesyłaniu. Informacja o wystąpieniu błędu jest bardzo cenna, również przy
odtwarzaniu muzyki:
Jeśli jesteśmy pewni, że nagły skok natężenia w kilku kolejnych próbkach jest wynikiem błędu
zapisu, a nie efektem zamierzonym przez muzyka, to możemy ten skok 'przemilczeć', czyli np.
zastąpić 'popsute' próbki średnią wartością poprzednich.
Po drugie, możemy zwiększyć redundancję jeszcze bardziej i zapisać np. dwie jednakowe
kopie. Jeśli uszkodzeniu ulegnie fragment pierwszej kopii, program odtwarzający muzykę może
automatycznie sięgnąć do odpowiedniego fragmentu drugiej kopii.
Teraz już łatwo sobie wyobrazić, że jeśli nie zgodzi się suma kontrolna przy transmisji danych przez
modem, program zażąda po prostu powtórnego przesłania uszkodzonego fragmentu.
Problemy na granicy światów, czyli próbkowanie i aliasing
Powyżej opisaliśmy podstawową korzyść z zapisu cyfrowego informacji — możemy wykryć
wystąpienie błędów. Implikacje tego faktu zmieniły świat w którym żyjemy:
w dużej mierze przestało istnieć pojęcie kopii i oryginału: dzięki sumom kontrolnym możemy
mieć pewność, że (jeśli program kopiujący nie zgłosił błędów) kopia jest dokładnie jednakowa z
oryginałem: te same bity mogą być utrwalone na innym nośniku, ale ich znaczenie — obraz,
dźwięk, wideo czy tekst — są dokładnie takie same, jak w oryginale
transmisja i przechowywanie informacji mogą opierać się na nieporównywalnie tańszych
realizacjach niż w przypadku analogowym: nawet jeśli dane operacj bankowej obciążającej
kartę kredytową przesyłamy zaszumioną linią telefoniczną, błędy w transmisji nie spowodują
na przykład obciążenia cudzego konta. Po wykryciu błędu transmisja będzie powtarzana tak
długo, aż zgodzą się sumy kontrolne.
Próbkowanie przetwornikiem 4-bitowym (16 poziomów);
rysunek z artykułu w Wikipedii
Jednak musimy też być świadomi ograniczeń zapisu cyfrowego, a szczególnie błędów, które możemy
popełnić przy przejściu ze świata analogowego co cyfrowego. Przejście to zwiemy
konwersją analogowo-cyfrową. Prześledzimy ten proces na przykładzie próbkowania sygnału
jednowymiarowego:
wartość amplitudy mierzymy tylko "co jakiś czas" — zwykle w równych odstępach. Długość
tych odstępów zależy od częstości próbkowania, mierzonej zwykle w Hercach, czyli ilości
próbek na sekundę. Częstość próbkowania 100 Hz oznacza, że amplituda jest mierzona co 10
milisekund.
każda zmierzona wartość musi być następnie zamieniona na liczbę. Dokładność tej liczby
zależy od tego, ile bitów przeznaczymy na jej zapis — stąd przetwoniki 12-bitowe, 24-bitowe
itd. Zależność zakresu liczb od ilości bitów, czyli zapis dwójkowy, wyjaśniona jest w następnym
rozdziale.
Ilustracja twierdzenia Nyquista: jeśli częstości zawarte w
sygnale są większe niż połowa częstości próbkowania,
występuje aliasing czyli błędny odczyt sygnału cyfrowego.
Jak widać, przy przejściu z zapisu analogowego na cyfrowy możemy utracić część informacji —
wartości amplitudy 'spomiędzy' próbek oraz dokładność wartości samych amplitud. Ale to jeszcze nie
jest najgorsze, co może się przytrafić. Jeśli nie będziemy sygnału próbkować z odpowiednią
częstością, może pojawić się aliasing: wyższe częstości nie tylko nie będą widocze w sygnale
cyfrowym, ale zafałszują też niższe częstości. Aby uniknąć takiego zniszczenia informacji zawartej w
sygnale, musimy stosować twierdzenie Nyquista, które mówi w skrócie, że w próbkowanym sygnale
nie może być częstości większych niż połowa częstości próbkowania. Czyli jeśli próbkujemy sygnał z
częstością 100 Hz, to musimy upewnić się, że nie ma w nim częstości wyższych niż 50 Hz.
Realizowane jest to zwykle przez dolnoprzepustowe filtry antyaliasingowe, usuwające z sygnału
wyższe częstości przed próbkowaniem.
Filmy z youtube:
http://www.youtube.com/watch?v=UDfR6GVFFSc — w drugiej części filmu jest pokazany
aliasing na ekranie komputera.
http://www.youtube.com/watch?v=xTo3gxsZOWo — aliasing na zegarku; ten sam efekt
obserwujemy na filmach gdy koła dyliżansu kręcę się w "niewłaściwą" stronę. Obraz filmowy
próbkowany jest 25 (PAL) lub 30 (NTSC) razy na sekundę.