2.1. Wiadomości podstawowe o przetwarzaniu analogowo-cyfrowymWe współczesnym Świecie zdominowanym przez komputery oraz urządzenia i media cyfrowe, przetwarzanie (konwersja) sygnałów - przenoszących dźwięki, obrazy, filmy i inne informacje - na postać cyfrową jest bardzo istotną i powszechną operacją, realizowaną przez urządzenia nazywane przetwornikami analogowo-cyfrowymi, lub krócej przetwornikami A/C, lub angielskim akronimem ADC - od słów: Analog to Digital Converter Zapisane cyfrowo dane multimedialne mogą być przechowywane na cyfrowych nośnikach jak płyty CD, DVD, pendrajwy czy dyski, oraz przetwarzane komputerowo. Dla zaprezentowania tych informacji człowiekowi muszą one najczęściej być poddane odwrotnej konwersji: cyfrowo-analogowej co realizują przetworniki DAC (Digital to Analog Converter). Tak musi być np. w przypadku dźwięku. Przetwarzanie analogowo-cyfrowe składa się z trzech procesów: Próbkowanie polega na wyznaczeniu momentów pomiarów wartości napięcia elektrycznego (ang.: voltage) podawanego na wejście przetwornika A/C (reprezentującego sygnał ciągły, analogowy), w taki sposób aby otrzymany ciąg liczb możliwie wiernie odwzorowywał zmiany tego sygnału. Najczęściej pomiar czyli "pobieranie próbki" odbywa się co stały okres Dt zwany okresem próbkowania (ang.: sampling period, sampling time), a jego odwrotność to częstotliwość próbkowania fp=1/Dt. Im większa częstotliwość próbkowania (czyli krótszy okres próbkowania) tym większa szybkość konwersji (conversion rate) i tym dokładniejsze może być odwzorowanie zmian przebiegu wejściowego co pokazuje poniższy rysunek.
Dolną granicę częstotliwości próbkowania określa twierdzenie o próbkowaniu (twierdzenie Kotielnikowa-Shannona). Według niego częstotliwość próbkowania musi być co najmniej dwukrotnie większa od częstotliwości najwyższej składowej sygnału wejściowego, aby dało się w zadowalający sposób odtworzyć z sygnału cyfrowego sygnał oryginalny. Kwantowanie to po prostu cyfrowy pomiar czyli przedstawienie mierzonej wartości jako liczby elementarnych kwantów (najczęściej liczby binarnej - w układzie dwójkowym), podobnie jak mierzoną w centymetrach lub milimetrach długość wyrażamy jako liczbę działek o szerokości odpowiednio centymetra lub milimetra. Precyzja pomiaru zależy od liczby poziomów (kwantów) odpowiadających pełnemu zakresowi mierzonego napięcia (patrz Rys. 2) a nazywanej rozdzielczością przetwornika. Rozdzielczość podawana jest jako liczba bitów przeznaczonych do zapisu wyniku pomiaru. Ponieważ przy pomocy n bitów można zapisać wartości od zera do 2n-1 więc n bitowa rozdzielczość odpowiada 2n-1 poziomom kwantowania. Na przykład cztero-bitowy przetwornik dzieli zakres pomiaru na 24-1=15 przedziałów, 8-mio bitowy na 28-1=127 a 10 bitowy na 1023. Kwantowanie może być realizowane różnymi metodami ale każda z nich wymaga odpowiedniego czasu. Na ogół pożądany jest jak najkrótszy czas pomiaru przy równoczesnym zapewnieniu wystarczającej rozdzielczości przetwornika. Jednym ze sposobów kwantowania jest wytwarzanie schodkowo narastającego napięcia porów-naw-czego tak długo aż zrówna się ono z napięciem mierzonym, a następnie zapamiętanie liczby schodków (czyli kwantów) jako wyniku pomiaru. Na Rys. 2. Przetwornik powinien zapewnić działki (schodki) równej szerokości, czyli skalę liniową ale w praktyce może wystąpić błąd. liniowości.
Taki sposób kwantowania wymaga jednak stosunkowo wiele czasu - w najgorszym przypadku tyle ile trzeba na wygenerowanie maksymalnej liczby schodków. Na przykład dla 6-ciobitowego ADC 32 cykle generatora. Inny sposób kwantowania polega na aproksymacji wagowej i przypomina ważenie na wadze szalkowej przy użyciu zestawu 6-ciu odważników (dla przetwornika 6-cio bitowego) z których każdy następny jest o połowę lżejszy. Inaczej mówiąc ich masy są proporcjonalne do wag kolejnych bitów liczby dwójkowej np.: 128, 64, 32, 16, 8, 4, 2, 1. Ważenie ciała o nieznanej masie rozpoczyna się od położenia na szalce największego odważnika a następnie na zdejmowaniu lub dokładaniu kolejnych coraz lżejszych, zależnie do tego czy suma ich mas przewyższa masę ciała ważonego czy nie. Pomiar odbywa się w 6-ciu krokach a nie 32. Gdy uzyskana w danym kroku wartość przekracza mierzoną to zapisywane jest zero a w przeciwnym przypadku 1. Na rysunku poniżej uzyskano w ten sposób wartość binarną 010011 co odpowiada mierzonej wartości równej 19 bo 0*32 + 1*16 + 0*8 + 0*4 + 1*2 + 1*1=19
Istnieje wiele innych sposobów kwantowania - na przykład pośrednio przez pomiar czasu lub częstotliwości - a ich nazwy są przeważnie również nazwami poszczególnych typów przetworników A/C. Kodowanie Ponieważ wyniki kwantowania są liczbami binarnymi (dwójkowymi) to potrzebny jest jeszcze etap kodowania ich do postaci dziesiętnej lub do kodu najodpowiedniejszego do przesyłania na przykład kodu z kontrolą parzystości lub kodu korekcyjnego. 2.2. Wykresy sygnału sinusoidalnegoSygnał sinusoidalny ma bardzo istotne znaczenie gdyż inne sygnały okresowe mogą być na podstawie transformacji Fouriera przedstawione jako suma składowych sinusoidalnych.
2.3. Szybka transformacja Fourier'aDokładniejsze wyjaśnienie i przykłady zastosowania funkcji fft() są w następujących miejscach: |