Cyfrowe przetwarzanie sygnałów
Cyfrowe przetwarzanie sygnałów (CPS; ang. Digital Signal Processing, DSP) - dziedzina nauki i techniki zajmująca się sygnałami w postaci cyfrowej i metodami przetwarzania takich sygnałów. Cyfrowe przetwarzanie sygnałów i analogowe przetwarzanie sygnałów są gałęziami nadrzędnej dyscypliny: przetwarzania sygnałów. W ramach CPS wskazać można takie obszary jak: cyfrowe przetwarzanie dźwięku, cyfrowe przetwarzanie obrazów oraz przetwarzanie mowy.
Pierwszym etapem cyfrowego przetwarzania sygnałów jest zazwyczaj konwersja sygnału z postaci analogowej na cyfrową za pomocą przetwornika analogowo-cyfrowego. Często, sygnał przetworzony cyfrowo jest sygnałem wejściowym dla układu analogowego - wymaga to zastosowania przetwornika cyfrowo-analogowego.
Algorytmy cyfroweg (Algorytm - w matematyce oraz informatyce skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Słowo "algorytm" pochodzi od nazwiska Muhammed ibn Musa Alchwarizmi (أبو عبد الله محمد بن موسى الخوارزمي) matematyka perskiego z IX wieku i początkowo oznaczało w Europie sposób obliczeń oparty na dziesiętnym systemie liczbowymo) przetwarzania sygnałów są niekiedy realizowane przez specjalizowane urządzenia komputerowe, które korzystają ze specjalizowanych procesorów sygnałowych (ang. Digital Signal Processor, DSP). Pozwalają one na przetwarzanie sygnałów w czasie rzeczywistym (ang. real time signal processing).
Dziedziny, w których realizuje się CPS
W CPS zazwyczaj analizuje się sygnał w jednej z następujących dziedzin: w dziedzinie czasu (sygnały jednowymiarowe), w dziedzinie przestrzeni (sygnały wielowymiarowe), w dziedzinie częstotliwości .
Dziedzina czasu i przestrzeni Dziedzina czasu to naturalna dziedzina opisu i analizy sygnałów i układów w funkcji zmiennej t - czasu
Do najpowszechniejszych operacji przetwarzania sygnałów w dziedzinie czasu i przestrzeni należy obróbka sygnału wejściowego w celu poprawienia jego własności. Odbywa się to w procesie nazywanym filtracją. Ogólnie, filtracja sprowadza się do wykonania pewnych operacji na zbiorze próbek wejściowych sąsiadujących z bieżącą próbką, a niekiedy także z wykorzystaniem pewnej ilości poprzednich próbek sygnału wyjściowego. Są różne sposoby charakteryzowania filtrów np:
Filtr "liniowy" jest liniowym przekształceniem próbek wejściowych; pozostałe filtry określane są jako "nieliniowe". Filtry liniowe spełniają zasadę superpozycji.
Filtr "przyczynowy" używa wyłącznie poprzednich próbek wejściowych lub wyjściowych; podczas gdy filtr "nieprzyczynowy" do obliczenia aktualnej próbki wyjściowej przyszłych próbek wejściowych. Filtr nieprzyczynowy może być zmieniony w filtr przyczynowy poprzez dodanie do niego opóźnienia.
Filtr "niezmienny w czasie" ma stałe właściwości w czasie; inne filtry, takie jak np. filtry adaptacyjne zmieniają swoje właściwości w czasie.
Filtry o "skończonej odpowiedzi impulsowej" (SOI) korzystają tylko z sygnału wejściowego, podczas gdy filtry o "nieskończonej odpowiedzi impulsowej" (NOI) korzystają zarówno z próbek wejściowych jak i poprzednich wartości próbek wyjściowych. Filtry SOI są zawsze stabilne, podczas gdy filtry NOI mogą być niestabilne.
Dziedzina częstotliwości
Dziedzina częstotliwości to dziedzina opisu i analizy sygnałów i układów w funkcji zmiennej f - częstotliwości
Sygnały są przekształcane z dziedziny czasu do dziedziny częstotliwości zazwyczaj za pomocą transformacji Fouriera. Z wyniku transformaty możemy dowiedzieć się o amplitudzie i fazie poszczególnych składowych częstotliwościowych.
Zastosowania
Do głównych zastosowań CPS należą przetwarzanie dźwięku, kompresja dźwięku, cyfrowe przetwarzanie obrazów, kodowanie wideo, przetwarzanie mowy, rozpoznawanie mowy i telekomunikacja cyfrowa. Szczególnymi przykładami mogą być: kompresja mowy i transmisja w cyfrowej telefonii komórkowej, filtry DSP w urządzeniach radiokomunikacyjnych pozwalające zwiększyć stosunek sygnału użytecznego do szumu, equalizacja dźwięku w sprzęcie hi-fi, prognozy pogody, prognozy ekonomiczne, przetwarzanie danych sejsmicznych, analiza i kontrola procesów przemysłowych , obrazowanie medyczne takie jak tomografia komputerowa, magnetyczny rezonans jądrowy i efekty cyfrowe używane w gitarach elektrycznych i wzmacniaczach. Ważną dziedziną zastosowań, która znacząco posunęła naprzód badania, technologię i układy DSP była obróbka sygnałów w sprzęcie militarnym, w szczególności technika sonarowa, a potem w raz z rozwojem układów mogących przetwarzać sygnały wyższych częstotliwości - technika radarowa. Cyfrowe przetwarzanie sygnałów znalazło zastosowanie w nowoczesnym elektronicznym sprzęcie pomiarowym ze zobrazowaniem wyników pomiarów na ekranie. Wielokanałowe cyfrowe przetwarzanie sygnałów stanowi podstawę współczesnych systemów badawczych w radioastronomii.
Filtr cyfrowy
Filtrem cyfrowym nazywamy algorytm realizowany przez program komputerowy lub cyfrowy układ sekwencyjny, który w reakcji na ciąg próbek sygnału dyskretnego podanego na swoje wejście odpowiada ciągiem próbek wyjściowych, zgodnie z deterministyczną funkcją przejścia, która może być liniowa lub nieliniowa.
Filtr cyfrowy posiada pamięć wewnętrzną, w której zapisywany jest stan, dzięki któremu odpowiedź na każdą kolejną próbkę nie zależy wyłącznie od tej próbki, ale również od innych próbek. Jeśli zależność ta dotyczy wyłącznie próbek poprzednich, taki filtr nazywamy przyczynowym, jeśli uwzględniane są również próbki przyszłe - nieprzyczynowym.
W przypadku filtru liniowego jego właściwości całkowicie określa dyskretna odpowiedź impulsowa, a sygnał wyjściowy jest splotem dyskretnym sygnału wejściowego z tą odpowiedzią. W dziedzinie częstotliwości właściwości takiego filtru opisuje transmitancja.
(Splot (mnożenie splotowe) - w matematyce specyficzne działanie dwuargumentowe często wykorzystywane również w informatyce i automatyce; nazwą tą nazywa się również wynik tego działania.)
Zachowanie dynamiczne filtru nieliniowego jest zazwyczaj bardziej skomplikowane, dlatego odpowiedź impulsowa takiego filtru nie opisuje wszystkich jego właściwości i nie wystarcza do przewidzenia reakcji filtru na dowolny sygnał wejściowy.
Filtry cyfrowe można podzielić na dwie grupy:
Filtry o skończonej odpowiedzi impulsowej (SOI, ang. finite impulse response - FIR)
Filtry o nieskończonej odpowiedzi impulsowej (NOI, ang. infinite impulse response - IIR)
Filtr o skończonej odpowiedzi impulsowej
Filtr o skończonej odpowiedzi impulsowej - (ang. Finite Impulse Response filter - FIR filter) to rodzaj nierekursywnego filtru cyfrowego.
Nazwa FIR oznacza filtr o skończonej odpowiedzi impulsowej (polski skrót tej nazwy to filtr SOI). Oznacza to tyle, że reakcja na wyjściu tego układu na pobudzenie o skończonej długości jest również skończona (przez długość pobudzenia i odpowiedzi rozumiemy tu długość odcinka czasu, dla którego próbki sygnału przyjmują wartości niezerowe). Aby warunek ten był spełniony, w filtrach tego typu nie występuje pętla sprzężenia zwrotnego, co widać na poniższym schemacie (porównaj z filtrem NOI, w którym występuje pętla sprzężenia zwrotnego).
Na powyższym schemacie człony bi oznaczają współczynniki filtru, a człony z − 1 są to opóźnienia o jedną próbkę.
Wzór na transmitancję filtru jest wielomianem opisanym za pomocą współczynników filtru:
Odpowiedź impulsowa filtru FIR jest tożsama z ciągiem współczynników {bi}.
Realizacja skomplikowanych transmitancji wymaga wielomianu wysokiego rzędu, dlatego w porównaniu z filtrem o nieskończonej odpowiedzi impulsowej dla uzyskania podobnej charakterystyki potrzeba więcej zasobów sprzętowych, przez co realizacja jest bardziej złożona obliczeniowo. Współczesne implementacje filtrów FIR wykorzystują realizacje transformacje ortogonalne (DFT, DCT), co znacząco zmniejsza złożoność, przybliżając ją do złożoności filtrów IIR.
Zalety i wady
Filtry FIR są obecnie częściej stosowane niż IIR, z powodu następujących zalet:
Implementacja filtrów FIR może być łatwo zrównoleglona, a niektóre procesory wręcz wspomagają operacje sumy iloczynów pozwalając obliczać wynik filtracji w znikomej liczbie cykli zegara
Projektowanie filtrów FIR jest znacznie łatwiejsze niż filtrów IIR
Filtry FIR są zawsze stabilne, gdyż w ich funkcji transmitancji występują tylko zera, a nie ma rekursywności mogącej spowodować niestabilność
W wielu zastosowaniach (przetwarzanie bieżącego sygnału w blokach, przetwarzanie obrazów) skończona odpowiedź impulsowa jest bardzo pożądana
Łatwo jest uzyskać w tego typu filtrach liniową fazę, filtry z liniową fazą opóźniają wszystkie składowe sygnału w jednakowym stopniu.
Jedynymi, choć istotnymi wadami filtrów FIR w porównaniu do IIR są:
Większa złożoność obliczeniowa
Większe zapotrzebowania na pamięć operacyjną
Filtr o nieskończonej odpowiedzi impulsowej
Filtr IIR jest jednym z rodzajów filtrów cyfrowych, który w odróżnieniu od filtrów FIR jest układem rekursywnym. Skrót IIR (ang. Infinite Impulse Response) oznacza nieskończoną odpowiedź impulsową (w polskiej literaturze stosowany jest również skrót NOI). Znaczy to tyle, że reakcja na pobudzenie o skończonym czasie trwania jest teoretycznie nieskończenie długa. Jest to efektem występowania pętli sprzężenia zwrotnego widocznej na schemacie blokowym (porównaj ze schematem filtru FIR).
Na powyższym schemacie moduły z − 1 oznaczają opóźnienie sygnału o jedną próbkę, natomiast ai oraz bi są współczynniki filtra.
Transmitancję filtru IIR można opisać:
lub po rozpisaniu wzorów na wielomiany opisujące bieguny i zera:
Zera transmitancji determinowane są przez miejsca zerowe wielomianu licznika, zaś miejsca zerowe wielomianu mianownika określają bieguny transmitancji.
Zalety i wady
Ze względu na dużą elastyczność w kształtowaniu przebiegu funkcji za pomocą ilorazu wielomianów, znacznie łatwiej uzyskać pożądaną charakterystykę używając filtru IIR niskiego rzędu niż filtru FIR. Wynikają z tego dwie podstawowe zalety filtrów IIR w porównaniu do FIR:
Niska złożoność obliczeniowa
Niewielkie zapotrzebowanie na pamięć operacyjną.
Te zalety spowodowały duże zainteresowanie filtrami IIR i burzliwy rozwój teorii ich projektowania w latach 70. XXw, które przypadają na początki rozwoju technik CPS, gdy nie były dostępne procesory o odpowiedniej mocy.
Do wad filtrów IIR należy zaliczyć:
Rekursywność filtru wprowadza potencjalne zagrożenie utraty stabilności (odpowiedź filtru w sposób niekontrolowany narasta do nieskończoności); niestabilność może mieć miejsce wtedy, gdy bieguny transmitancji (miejsca zerowe wielomianu w mianowniku) znajdą się poza okręgiem jednostkowym
Projektowanie filtrów IIR jest znacznie trudniejsze niż w przypadku filtrów FIR (nie tylko ze względu na dodatkowy warunek zapewnienia stabilności)
Filtry IIR są znacznie bardziej wrażliwe na błędy zaokrągleń: zaokrąglenia wartości współczynników mogą znacząco zmienić charakterystykę, zaokrąglenia wartości sygnału i wyników pośrednich wprowadzają szum, który może się akumulować
Nie da się ich zaimplementować jako filtrów o liniowej fazie, czyli takich, które wprowadzają takie samo opóźnienie dla wszystkich składowych częstotliwościowych przepuszczanego sygnału.
Z uwagi na rosnącą wydajność układów cyfrowych i procesorów sygnałowych, filtry IIR nie są obecnie tak chętnie wykorzystywane jak dawniej, a największa popularność mają filtry FIR, które nie posiadają wyżej wymienionych wad.