9.CYFROWA OBRÓBKA SYGNAŁÓW
Wzrastająca szybkość
pracy układów komputerowych otwiera przed nimi nową dziedzinę zastosowań - cyfrową obróbkę
sygnałów COS (ang. Digital Signal Processing - DSP). Technika ta jest coraz szerzej
stosowana nie tylko w profesjonalnej aparaturze łączności, sprzęcie akustycznym i
komputerowym, ale także w sprzęcie amatorskim w:
- radiostacjach,
- odbiornikach,
- filtrach akustycznych,
- modemach i kontrolerach TNC/PTC.
Zrozumienie zasady działania układów cyfrowej obróbki sygnałów
wymaga przytoczenia pewnego minimum wzorów i schematów blokowych. Ich wyprowadzenia
wymagające znajomości rachunku różniczkowego i całkowego zostały pominięte. Czytelnicy,
którym zrozumienie wzorów sprawi mimo to trochę trudności, mogą pominąć je za pierwszym
razem i zapoznać się z nimi później.
W ostatnim czasie na rynku pojawiły się niedrogie zestawy
eksperymentalne zawierające procesory sygnałowe. Pozwalają one szerszym rzeszom amatorów
na podjęcie eksperymentów z techniką COS. Programy tego typu spotykane są nawet w
skrzynkach elektronicznych pakiet radio. W procesory sygnałowe wyposażone są również
płytki muzyczne do komputerów PC. Ich rozpowszechnienie i coraz niższa cena predystynują
je do eksperymentów amatorskich. Eksperymenty te nie są jednak możliwe bez minimalnego
przygotowania teoretycznego.
Zasadę działania obróbki cyfrowej wyjaśnia rysunek 9.1. Analogowy
sygnał zmienny przetwarzany jest w stałych odstępach czasu na postać cyfrową w przetworniku
analogowo-cyfrowym. Zasada próbkowania sygnałów wymaga, aby dla bezbłędnego uchwycenia
przebiegu częstotliwość próbkowania była co najmniej dwa razy wyższa od maksymalnej
częstotliwości sygnału próbkowanego (zasada Nyquista). Pasmo sygnału wejściowego musi
więc być ograniczone za pomocą filtru dolnoprzepustowego. Charakterystyka filtrów
rzeczywistych odbiega od idealnie prostokątnej, co w praktyce oznacza, że częstotliwość
graniczna filtru musi być mniejsza od połowy częstotliwości próbkowania. W niektórych
systemach częstotliwość próbkowania jest nawet wielokrotnie wyższa od minimalnej,
wynikającej z zasady Nyquista (ang. oversampling). Liczby odpowiadające wartościom
sygnału w momentach próbkowania są zapisywane w pamięci i używane do obliczeń
matematycznych naśladujących funkcje elementów i podzespołów elektronicznych - np.
filtrów, detektorów amplitudy i fazy, wzmacniaczy, generatorów, modulatorów itp. Wynik
obliczeń jest zamieniany w przetworniku cyfrowo-analogowym na sygnał analogowy sterujący
dalsze stopnie urządzenia akustycznego lub radiokomunikacyjnego. Dane wyjściowe podawane
są na przetwornik analogowo-cyfrowy w regularnych odstępach czasu równych cyklowi
próbkowania i obliczeń. Wyjściowy filtr dolnoprzepustowy odfiltrowuje wyższe harmoniczne
schodkowego sygnału przetwornika analogowo-cyfrowego (a/c).
Cyfrowy układ przetwarzający może być oczywiście zbudowany w postaci
klasycznego układu logicznego, realizuje on jednak wówczas jedną wybraną funkcję lub zespół
funkcji pokrewnych i nie pozwala na łatwe zmiany i dopasowanie do zmieniających się
potrzeb.
Zastosowanie układów mikroprocesorowych zapewnia pożądaną
elastyczność - możliwość zmiany parametrów lub całych funkcji układu przez prostą
wymianę programu lub wywołanie innego zbioru zainstalowanych podprogramów. Stosunkowo
skomplikowana konstrukcja klasycznych układów logicznych powoduje konieczność upraszczania
algorytmów i stosowania daleko idących przybliżeń. Ich zaletą jest za to dużo większa, niż
w przypadku systemów mikroprocesorowych, szybkość działania. Układy te mogą pracować w
zakresie wyższych częstotliwości - do kilkudziesięciu, a nawet kilkuset MHz. Do tych
zastosowań produkowanych jest wiele typów obwodów realizujących określone funkcje.
Są to m.in. syntezery częstotliwości i dekodery systemu telewizyjnego D2MAC.
Niektóre z nich przewidziane do rozszerzenia możliwości systemów mikroprocesorowych
są odrazu dostosowane do bezpośredniego podłączenia do szyn adresowych i danych
mikroprocesorów. W zależności od pożądanej szybkości pracy są one konstruowane w
technice TTL lub ECL. Obwody te wytwarzane wielkoseryjnie pozwalają na obniżenie
kosztów gotowego sprzętu, do celów amatorskich i eksperymentalnych korzystniejsze
jest jednak zastosowanie rozwiązania mikroprocesorowego lub wspomnianych już gotowych
zestawów eksperymentalnych zawierających procesor sygnałowy i produkowanych przez znane
firmy j.np. "Texas Instruments".
[rys. 9_01]
Cyfrowa obróbka sygnałów niesie ze sobą wiele korzyści dla
konstruktorów i użytkowników urządzeń elektronicznych. Raz sprawdzony i funkcjonujący
zadowalająco program może być powielany i instalowany w produkowanych seryjnie
urządzeniach bez konieczności skomplikowanego zestrajania i regulacji. Upraszcza
to nie tylko produkcję, ale i naprawy aparatury oraz pozwala na obniżenie
kosztów.
Dalsze obniżenie kosztów osiągane jest dzięki uniknięciu
stosowania drogich elementów, jak np. filtrów kwarcowych, a wymiana oprogramowania
na nowsze wersje pozwala na łatwe dopasowywanie możliwości sprzętu do nowych wymagań
techniki bez jego rozbudowy i przeróbek. Rozpowszecznienie się nowego rodzaju
modulacji wymaga od użytkowników klasycznych rozwiązań kontrolerów TNC nabycia
dodatkowego modemu o ile w układzie jest przewidziany wtyk do jego podłączenia i
w trakcie użytkowania mniej lub bardziej skomplikowanego przełączania modemów w
zależności od potrzeb. Liczba zainstalowanych fabrycznie modemów jest mocno
ograniczona i zależna m.in. od rozmiarów obudowy. W przypadku gdy rozbudowa
nie jest możliwa lub okazuje się zbyt skomplikowana konieczne jest nabycie
nowego urządzenia. Kontrolery TNC zrealizowane w technice COS mogą być odrazu
wyposażone w znaczną liczbę modemów np. kilkanaście, a ich liczba ograniczona
jest jedynie pojemnością pamięci programu. Dodanie nowej odmiany modemu wymaga
jedynie wymiany programu na nowszą wersję. Analogicznie jak w powyższym przykładzie
wygląda rozbudowa innych urządzeń COS.
Funkcje zrealizowane za pomocą odpowiednich algorytmów
matematycznych (np. filtry) są niewrażliwe na tolerancje użytych elementów, wpływy
temperatury i starzenie się podzespołów, a uzyskane wyniki są w wysokim stopniu
powtarzalne i pozwalają na konstrukcję układów trudnych do uzyskania w wydaniu
analogowym (filtrów o b. dużej dobroci) lub zbyt skomplikowanych, by mogły być
skonstruowane w sposób klasyczny (analogowy).
Stosowane obecnie procesory sygnałowe nadają się do użycia w
układach cyfrowej obróbki sygnałów pracujących w zakresach częstotliwości akustycznych,
wizyjnych lub co najwyżej na niższych częstotliwościach pośrednich odbiorników.
W niedługim czasie z pewnością możliwe będzie rozszerzenie zakresu pracy do członów
wielkiej częstotliwości.
Ze względu na konieczną bardzo dużą szybkość przetwarzania,
realizacja układów cyfrowej obróbki sygnałów stała się możliwa dopiero po wprowadzeniu
szybkich procesorów 16- i 32- bitowych. W ostatnim czasie skonstruowano wiele typów
procesorów specjalnie przewidzianych do tego celu - procesorów o odpowiednio dobranej
architekturze i zestawie rozkazów (tzw. procesorów sygnałowych).
Pożądana szybkość pracy osiągana jest w nich m.in. dzięki użyciu
większej liczby szybkich rejestrów wewnętrznych, rozdzieleniu obszarów adresowych
programu i danych (architektura Harvard) co pozwala na ich równoległy odczyt, wczytywaniu
kolejnych rozkazów do wewnętrznej kolejki - rejestru FIFO (ang. First In First Out) oraz
zastąpieniu mikroprogramów ich realizacją układową wewnątrz procesora.
W klasycznych mikroprocesorach każdy z rozkazów języka maszynowego
(asemblera) powoduje wywołanie odpowiedniego mikroprogramu zawartego w jednostce
arytmetyczno-logicznej (ang. ALU). Mikroprogram taki składa się z wielu kroków,
w każdym z nich dokonywane są odpowiednie przełączenia wejść i wyjść rejestrów,
układów sumacyjnych, przesunięcia danych w rejestrach itp. Poszczególne kroki
mikroprogramu wykonywane są kolejno. Czas wykonywania mikroprogramu zależny jest
od stopnia komplikacji rozkazu i wynosi od kilku do kilkuset okresów sygnału
zegarowego (taktów). W jednostkach arytmetyczno-logicznych procesorów sygnałowych
zawarte są odpowiednie układy sumatorów, układy mnożące itp. złożone z bramek
logicznych. Operacja wykonywana jest równolegle na wszystkich bitach wchodzących
w skład słowa maszynowego, a czas jej wykonania może być nawet równy tylko jednemu
okresowi sygnału zegarowego.
Wprowadzenie cyfrowej obróbki sygnałów spowodowało też zmiany
w realizowanych układach. Niektóre, dotąd mało popularne rozwiązania (np. trzecia metoda
generacji sygnału SSB albo metoda fazowa) są łatwiejsze do przedstawienia w postaci
algorytmu matematycznego niż obecnie stosowane rozwiązania klasyczne (w tym przypadku
niż metoda filtrowa).
Występującym w układach analogowych podstawowym grupom układów,
jak wzmacniacze, tłumiki, filtry, generatory i układy nieliniowe (mieszacze i detektory)
można przyporządkować odpowiednie grupy algorytmów stosowanych w technice COS.
Wzmocnienie lub tłumienie sygnału osiągane jest przez pomnożenie
sygnału wejściowego przez odpowiedni stały współczynnik (lub jego odwrotność dla
uniknięcia czasochłonnego dzielenia).
Algorytmy filtrów wykorzystują odpowiednio dobrane opóźnienia
czasowe, na ogół równe wielokrotności okresu próbkowania, natomiast układy nieliniowe
zastąpione są odpowiednimi funkcjami nieliniowymi - np. prostowanie sygnału sprowadza
się do zwykłej zmiany jego znaku.
W przypadku bardziej skomplikowanych obliczeń trygonometrycznych,
pierwiastkowania itp. algorytm obliczający może korzystać z tablic wartości zapisanych w
pamięci systemu. Operacja obliczenia sprowadza się wówczas do odczytu z pamięci
odpowiednio zaadresowanego słowa a ew. przeliczenia adresów są naogół mniej
skomplikowane.