9.4. ZASADA DZIAŁANIA NIEKTÓRYCH UKŁADÓW
Dla każdego
analogowego układu liniowego istnieje odpowiednie równanie różniczkowe opisujące
jego funkcję. Stopień i złożoność tego równania zależne są od liczby występujących
w układzie niezależnych elementów magazynujących energię (cewek, kondansatorów).
Wyprowadzenie równań przekraczałoby ramy obecnej książki i wymagało znajomości
elementów wyższej matematyki. Dlatego też w następujących podpunktach podane są
jedynie wzory ostateczne w możliwie najprostszej i zrozumiałej postaci. Są one
dodatkowo zobrazowane za pomocą schematów blokowych. Poszczególne bloki na schematach
odpowiadają elementom układu i jednocześnie opisującym je operacjom matematycznym
(oprócz obliczeń występuje tu także operacja opóźnienia odpowiadająca późniejszemu
odczytowi danych z pamięci). Połączenia między blokami ilustrują przepływ danych
tzn. wykorzystanie wyników jednej z operacji przez następną. Tak rozumiany schemat
blokowy algorytmu nie jest schematem elektrycznym prezentowanego układu. Oznaczenia
elementów i napięć występujące na schematach odpowiadają użytym we wzorach.
Algorytm cyfrowej obróbki sygnałów musi realizować równanie
różniczkowe pożądanego układu - dokładnie lub z dostatecznie dobrym przybliżeniem.
W praktyce mamy zawsze do czynienia z przybliżeniami ze względu na konieczną dużą
szybkość przetwarzania danych. Poza tym wielkości przetwarzane występują tu w postaci
dyskretnej - w postaci próbek wczytywanych w określonych odstępach czasu, dlatego
też konieczne jest (przybliżone) zastąpienie pochodnej różnicą wartości kolejnych
próbek. Dla krótkich okresów próbkowania otrzymana różnica nie odbiega znacznie od
wartości pochodnej.
Jednym z najprostszych obwodów liniowych jest filtr
dolnoprzepustowy RC pierwszego rzędu (składający się z pojedyńczego kondensatora
i opornika). Jest on przedstawiony na rysunku 9.4.
[rys. 9_04]
Układ zawiera jeden element magazynujący energię - kondensator -
co oznacza, że napięcie wyjściowe w danym momencie zależne jest nie tylko od aktualnej
wartości napięcia wejściowego ale także i od poprzedniego stanu - wartości napięcia na
kondensatorze. Napięcie na wyjściu układu w momencie t + T można więc wyrazić wzorem:
u2(t + T) = u1 (t) + ku2(t)
gdzie T jest odstępem między uwzględnianymi próbkami równym okresowi próbkowania lub
jego wielokrotności. Blokowo równanie to jest przedstawione na rysunku 9.5.
[rys. 9_05]
Otrzymany schemat zastępczy składa się z układu opóźniającego
(realizowanego przez uwzględnienie w obliczeniach odpowiednio jednej z poprzednich
próbek zamiast próbki bieżącej) i sprzężenia zwrotnego realizowanego w postaci sumy
wartości próbki bieżącej z odpowiednio wzmocnioną (pomnożoną przez współczynnik k)
próbką opóźnioną. Filtr wielostopniowy wymaga wielokrotnego zastosowania wspomnianego
algorytmu z uwzględnieniem odpowiedniego opóźnienia czasowego (starości) próbek.
Najprostszy obwód rezonansowy LC (rysunek 9.10) zawiera dwa
elementy magazynujące energię - może więc być opisany poniższym równaniem:
u(t + T) = k u(t) - u(t - T)
Blokowo jest ono przedstawione na rysunku 9.06.
[rys. 9_06]
Analogowy obwód rezonansowy LC ma skończoną dobroć ze względu na
straty w elementach rzeczywistych. W wykonaniu COS możliwe jest uzyskanie stabilnego
obwodu bezstratnego (Q równe nieskończoności). Wzmocnienie (lub straty) w układzie
wyrażane są przez współczynnik wzmocnienia k sygnału wyjściowego z drugiego elementu
opóźniającego. Wartość -1 odpowiada obwodowi bezstratnemu - układowi generatora - i
jest łatwa w realizacji programowej, ponieważ odpowiada jedynie zmianie znaku liczby,
nie występują tu więc problemy z dokładnością (zaokrągleniem) wyniku obliczeń, dzięki
czemu algorytm zachowuje się stabilnie i może dostarczać sygnału sinusoidalnego o
stałej amplitudzie.
Obydwa filtry należą do grupy filtrów rekursywnych, tzn. ich
reprezentacja w postaci algorytmicznej zawiera człony sprzężenia zwrotnego. Odpowiedź
filtru rekursywnego na pobudzenie impulsowe trwa teoretycznie nieskończenie długo,
dlatego są też one znane pod angielską nazwą Infinite Impulse Response Filter (IIF).
Postać ogólną tego typu filtru przedstawia rysunek 9.7.
[rys. 9_07]
Jednostopniowy filtr środkowoprzepustowy opisany jest równaniem
różnicowym (wywodzącym się ze wzorów przedstawionych wyżej):
u2(t + T) = u1(t) + k1 u2(t) - k2 u2(t - T)
W odróżnieniu od bezstratnego obwodu rezonansowego wartość bezwzględna współczynnika
k2 jest mniejsza od 1. Wzór ten oznacza, że nowa wartość sygnału wyjściowego zależna
jest od bieżących wartości sygnałów wejściowego i wyjściowego oraz od poprzedniej
wartości sygnału wyjściowego.
Wielostopniowe filtry programowane są w postaci szeregowego
połączenia układów jednorezonatorowych lub w postaci filtru o większej liczbie członów
opózniających. Połączenie szeregowe jest rozwiązaniem pewniejszym, ponieważ wzajemne
wpływy poszczególnych członów są mniejsze niż w przypadku drugim, a wypadkowa funkcja
przenoszenia równa jest iloczynowi funkcji pojedyńczych obwodów i jest łatwa do
obliczenia.
Drugą grupę stanowią filtry o skończonym czasie trwania
odpowiedzi impulsowej (ang. Finite Impulse Response - FIR). Algorytmy ich zawierają
(podobnie jak algorytmy filtrów pierwszej grupy) człony opóźniające i iloczyny, nie
występuje tu jednak sprzężenie zwrotne. Czas trwania odpowiedzi impulsowej takiego
filtru równy jest sumie opóźnień wszystkich członów opóźniających. Ich odpowiednikiem
w technice analogowej są wielowyjściowe linie opóźniające stosowane m.in. w filtrach
z falą powierzchniową.
Dla osiągnięcia pożądanej charakterystyki przenoszenia muszą
one zawierać większą liczbę członów opóźniających (a więc większą liczbę obliczeń) niż
filtry rekursywne. Ponieważ pozwalają one na łatwe ukształtowanie różnicowej
charakterystyki fazy (co zapewnia niezniekształcone przenoszenie przebiegów
impulsowych) są często stosowane w układach wizyjnych lub w torach transmisji
danych i torach telegraficznych. Występują też jako filtry korekcyjne fazy w
urządzeniach nadawczo-odbiorczych (rysunek 9.8). Przyjmując wartość wszystkich
(poza jednym, wybranym) współczynników mnożenia równą zero otrzymujemy układ
opóźniający, stosowany często w urządzeniach nagłaśniających i pozwalający na
kompensację pogłosu. Regulacja opóźnienia wymaga jedynie zmiany zestawu
współczynników (kolejnego numeru współczynnika niezerowego).
[rys. 9_08]
Szeroko stosowanym w technice cyfrowej algorytmem jest
szybka transformata Fouriera (ang. Fast Fourier Transform - FFT). Znana w matematyce
wyższej klasyczna transformata Fouriera pozwala na obliczenie widma
częstotliwościowego sygnału na podstawie jego przebiegu czasowego. Znalezienie
przebiegu czasowego sygnału w oparciu o dane widmo możliwe jest za pomocą
transformaty odwrotnej. Obie one mają bardzo zbliżoną postać całki nieskończonej,
a uzyskany wynik jest również funkcją argumentu w granicach od minus do plus
nieskończoności. Teoretycznie wymagana jest więc znajomość przebiegu o
nieskończonej długości podczas gdy wszystkie przebiegi rzeczywiste mają
skończony czas trwania. Klasyczne wzory Fouriera są łatwe w użyciu w obliczeniach
analitycznych, tzn. jeśli posługujemy się zapisami przebiegu sygnału w postaci
funkcji matematycznych.
W obliczeniach numerycznych, gdzie zamiast tego do dyspozycji
stoją jedynie liczbowe wartości np. przebiegu napięcia w pewnym skończonym przedziale
czasu stosuje się metody przybliżone do których należą szybka transformata Fouriera
FFT i dyskretna transformata Fouriera DFT. Pozwalają one na obliczenie widma sygnału
w oparciu o pewną ustaloną liczbę jego próbek. Dokładność obliczeń (ale również i
potrzebny na to czas) zależne są od liczby próbek. Liczba próbek jest ze względów
praktycznych wyrażana przez potęgę 2, a więc brane są np. 1024 próbki.
Szybka transformata Fouriera znajduje zastosowanie w cyfrowych
analizatorach widma sygnału zastępujących analogowe wobulatory (rysunek 9.11), a także
w detektorach sygnałów o różnych częstotliwościach. Cyfrowe analizatory widma mogą w
miarę potrzeby wyświetlać charakterystyki amplitudowo-częstotliwościowe albo
fazowo-częstotliwościowe, a także dokonywać dodatkowych obliczeń rozkładu gęstości
widma. Wiele z nowszych rozwiązań wobulatorów analogowych wyposażonych jest także
w filtry cyfrowe. W zakresach częstotliwości akustycznych stosowane są też często
analizatory tercji - analizatory widma o szerokości pasma 3/8 oktawy (zakres
obejmujący trzy kolejne nuty nosi w muzyce nazwę tercji).
Oprócz tego szybka transformata Fouriera stosowana jest do
analizy zniekształceń nieliniowych sygnałów, filtracji i ogólnej analizy nieznanych
sygnałów np. w celu rozpoznania szybkości transmisji, dewiacji itp.
[rys. 9_09]
Następną grupę algorytmów stanowią algorytmy układów nieliniowych.
Proste funkcje nieliniowe mogą być obliczane na bieżąco, tak jak w grupie poprzedniej.
Bardziej skomplikowane obliczenia mogą (lub ze względów czasowych muszą) być uproszczone
poprzez zastosowanie tablic wartości funkcji zapisanych w pamięci układu. Rozwiązanie
takie zostało zastosowane np. w cyfrowym detektorze AM. Na rysunku 9.10b przedstawiono
dla porównania jego schemat elektryczny.
Klasyczne analogowe rozwiązania detektorów wymagają użycia na
ich wyjściu filtrów dolnoprzepustowych w celu odfitrowania resztek fali nośnej. Gdy
częstotliwość fali nośnej bliska jest górnej granicy pasma sygnału zdemodulowanego
konstrukcja filtru musi być dość złożona.
Przykładowy detektor cyfrowy (rysunek 9.10a) pracuje poprawnie
bez użycia filtru i może być zastosowany np. jako detektor sygnału wizyjnego odbieranego
z satelitów meteorologicznych.
Amplituda sinusoidalnej nośnej o częstotliwości
W/2P obliczana
jest na podstawie dwóch kolejnych próbek:
____________________
f(x,y) = k1 Örx^2 + y^2 - k2 xy
gdzie:
1
k1 = -------
sin(WT)
k2 = 2 cos(WT)
Jest to, jak widać, operacja dość skomplikowana, składająca się
z 4 mnożeń, 2 dodawań i pierwiastkowania. Przyjmując częstotliwość próbkowania równą
4-krotnej częstotliwości nośnej można uprościć obliczenia do postaci:
__________
f(x,y) = Örx^2 + y^2
wynika to z równości:
WT = P / 2
W dalszym ciągu pozostaje dość skomplikowane i długie
pierwiastkowanie. Zastosowanie logarytmicznego przetwornika analogowo-cyfrowego
dostarczającego danych w formacie CODEC upraszcza obliczenia do jednego odczytu
wartości z tablicy. Wynik jest funkcją dwóch wartości 7-bitowych (razem 14 bitów),
a więc liczba wszystkich możliwych wartości równa jest 2^14 - długość tablicy wynosi
16 kB. Rozwiązanie to jest bardzo proste i praktyczne, o ile dysponujemy dostateczną
pojemnością pamięci. Jednocześnie zastąpienie wielokrotnych operacji mnożenia i
pierwiastkowania przez pojedyńczy dostęp do pamięci jest często jedynym możliwym
sposobem uzyskania niezbędnej szybkości przetwarzania. Dlatego też niektóre z
procesorów sygnałowych zawierają tablice funkcji sinus.
[rys. 9_10a]
[rys. 9_10b]
W technice COS realizowane są także generatory sygnałów nośnych,
mieszacze, detektory iloczynowe itp. Podobnie jak układy poprzednie, również układ
generatora można opisać za pomocą odpowiedniego równania. Możliwe są jednak i realizacje
prostsze. Jedną z nich jest uprzednio przedstawiony bezstratny obwód rezonansowy.
W wielu przypadkach szczególnych możliwe są dalsze uproszczenia
jak na przykład w układzie generatora sygnałów piłokształtnych i sinusoidalnych
przedstawionym na rysunku 9.11.
[rys. 9_11]
Sumowanie sygnału odniesienia u1(t) z sygnałem opóźnionym daje
za każdym razem napięcie o wartości większej od poprzedniej aż do momentu wystąpienia
przeniesienia. Powstaje wówczas skok napięcia z wartości maksymalnej do zera, co daje
w efekcie przebieg piłokształtny o amplitudzie ograniczonej zakresem dynamiki
przetwornika cyfrowo-analogowego równej Nmax - Nmin.
Częstotliwość sygnału piłokształtnego zależy od stosunku
sygnału odniesienia do zakresu dynamiki oraz od częstotliwości próbkowania. Sygnał
odniesienia może być sygnałem stałym lub zmiennym pochodzącym z innych układów COS
albo elementów sterujących. Generator taki może być więc wykorzystany jako generator
VCO w układach synchronizacji fazy (PLL) lub syntezerach częstotliwości. Zmiana
kierunku zliczania w momencie wystąpienia przeniesienia pozwala na otrzymywanie
sygnału trójkątnego.
Wyjściowy sygnał sinusoidalny odczytywany jest z tabeli wartości
adresowanej przez sygnał piłokształtny. Dalsze operacje matematyczne na sygnale
piłokształtnym pozwalają na łatwe przetworzenie go na postać trójkątną lub
prostokątną o pożadanym współczynniku wypełnienia. Proste mnożenie (z przeniesieniem)
jest równoznaczne z generacją sygnałów harmonicznych. Szybszy (dzięki mnożeniu) wzrost
amplitudy sygnału piłokształtnego powoduje częstsze występowanie przeniesienia w
sumatorze.
Sygnał sinusoidalny może być także obliczany przez rozwinięcie
funkcji sinus na szereg potęgowy:
x^3 x^5 x^7
sin(x) = x - ---- + ---- + ---- ...
3! 5! 7!
Teoretycznie szereg ten jest nieskończony, w praktyce wystarczy
użycie kilku pierwszych członów, w zależności od wymaganej dokładności. W powyższym
przykładzie osiągana jest dokładność 16 bitów.
Konieczność generacji sygnałów wysokiej i bardzo wysokiej
częstotliwości pozostawia w chwili obecnej jedyną możliwość realizacji syntezera
numerycznego (ang. DDS) - konwencjonalny układ logiczny wykorzystujący tablicę
wartości funkcji zapisaną w odpowiednio szybkiej pamięci. Rozwiązania mikroprocesorowe
jako powolniejsze mogą pracować w zakresie niskich częstotliwości, a cykliczność
funkcji sinus eliminuje konieczność wykonywania obliczeń na bieżąco.
Odczytane z tablicy wartości funkcji, po zamianie na postać
analogową i odfiltrowaniu dają sygnał wyjściowy o częstotliwości przełączanej z bardzo
dużą rozdzielczością (możliwą do uzyskania dopiero w wielopętlowym układzie PLL) i dużą
szybkością (odpada tu czas konieczny na ponowne zsynchronizowanie się pętli PLL).
Sygnał ten charakteryzuje się bardzo niskim poziomem składowych pasożytniczych, a
zwłaszcza szumów fazowych tak charakterystycznych dla pętli PLL.
Wartości sygnału sinusoidalnego zapisane są w tabeli jako
funkcja argumentu - kąta fazowego. Ich liczba (a więc długość tabeli) zależy od
przyjętego skoku argumentu, co oznacza, że przy skoku co jeden stopień tabela miałaby
długość 360 słów. Dla maksymalnego wykorzystania dynamiki wartości te powinny być
wyskalowane tzn. przemnożone przez wartość maksymalną możliwą do przedstawienia
przy danej długości słowa. Tablica zawiera więc ciąg wartości całkowitych. Adresując
kolejno komórki tablicy za pomocą licznika sterowanego sygnałem o częstotliwości
zegarowej fT otrzymujemy na wyjściu przetwornika cyfrowo-analogowego schodkowy
przebieg sinusoidalny, a po odfiltrowaniu falę sinusoidalną o okresie w tym
przypadku równym fT/360 i wartości międzyszczytowej odpowiadającej przyjętej
dynamice układu.
Zastępując licznik sumatorem (rysunek 9.12) możemy adresować
tablicę w stałych dowolnych skokach fazy, np. co dwa lub trzy stopnie otrzymując
odpowiednio przebiegi sinusoidalne o częstotliwościach fT/180, fT/120 itd. Sumator
dodaje wybrany przez użytkownika stały skok do uprzedniej wartości fazy (bieżącego
adresu), a uzyskany w ten sposób wynik (nowy adres) zapamiętywany jest w akumulatorze.
Praca sumatora synchronizowana jest sygnałem zegarowym pochodzącym z generatora
kwarcowego, co zapewnia kwarcową stabilność sygnału generowanego.
[rys. 9_12]
Omówiona zasada ważna jest oczywiście dla tablic o dowolnym
skoku fazy, a więc i o dowolnej długości. Szczególnego rozważenia wymaga przypadek,
gdy długość tablicy i skok adresów (fazy) są liczbami pierwszymi względem siebie.
Dla ułatwienia rozważmy ten przypadek na przykładzie tablicy zawierającej tylko 16
wartości. Przykładowy przebieg sygnału wyjściowego przy zmianie adresu co jeden
przedstawia rysunek 9.13.
[rys. 9_13]
[rys. 9_14]
Dla dowolnej liczby N (np. trzy jak na rysunku 14) po szesnastu
krokach i osiągnięciu ponownie zerowego stanu sumatora adresów otrzymujemy N okresów
przebiegu sinusoidalnego. Częstotliwość wyjściowa f wynosi N fT/16.
Krzywa schodkowa na wyjściu przetwornika cyfrowo-analogowego
ma znacznie bogatsze widmo częstotliwości o składowych M fT + f0 gdzie: M jest liczbą
naturalną.
Wszystkie niepożądane składowe muszą być odfiltrowane przez
filtr wyjściowy. Najtrudniejsza do odfiltrowania jest składowa o częstotliwości fT - f0.
Dla małych wartości N jest ona jeszcze znacznie oddalona od pożądanej częstotliwości
wyjściowej, ale już dla N równego 7 (rysunek 9.15) otrzymany przebieg jest niezbyt
podobny do przebiegu sinusoidalnego. Zauważalny jest tu wpływ składowej o
częstotliwości 2fT/16. Jeszcze wyraźniej widać to na wykresie widma przebiegu
(rysunek 9.15a). Widoczna jest składowa o częstotliwości 9fT/16, jak również wiele
składowych o wyższych częstotliwościach. Wymagania stawiane filtrowi wyjściowemu są
więc dość wysokie.
[rys. 9_15]
[rys. 9_15a]
Na poziom składowych pasożytniczych istotny wpływ wywierają
błędy kwantyzacji. W rozwiązaniu powyższym występują dwie wartości skwantyzowane:
argument funkcji - faza, której stopień kwantyzacji (liczba bitów) określa niezbędną
długość tablicy, oraz amplituda sygnału wyjściowego - tu stopień kwantyzacji wpływa
na zastosowaną szerokość słowa. Intuicyjnie nasuwa się stwierdzenie, że zwiększenie
pojemności tabeli - zarówno jej szerokości, jak i długości (a więc liczby stopni
kwantyzacji obu wielkości) zmniejsza odchyłki otrzymanej krzywej od przebiegu
idealnego, a więc i zawartość składowych pasożytniczych.
Analityczne określenie amplitud i faz tych składowych jest w
układzie podwójnie kwantyzowanym dość skomplikowane. W dużym przybliżeniu można
stwierdzić, że stosunek najsilniejszej z tych składowych do generowanej nośnej
wynosi -8 dB/bit kwantyzacji amplitudy i fazy. Tak więc dla szerokości słowa
równej 8 bitów wpływ kwantyzacji amplitudy powoduje powstanie najsilniejszej
składowej o poziomie -64 dBc (w stosunku do pożądanej nośnej). Kwantyzacja fazy
pogarsza dodatkowo ten stosunek. Ograniczenie negatywnego wpływu do 1 - 2 dB wymaga
10-bitowej kwantyzacji fazy (1024 adresy). Dodatkowe pogorszenie powodują błędy
konwersji przetwornika cyfrowo-analogowego - w praktyce należy liczyć się z
kilkudecybelową różnicą. Uzyskanie odpowiedniej czystości sygnału wyjściowego
jest trudniejsze dla wyższych częstotliwościach pracy syntezera.
Zaletą syntezerów cyfrowych jest bardzo krótki czas przełączania,
znacznie krótszy niż w układach syntezerów z pętlą fazową PLL. Cecha te predystynuje
je m. in. do zastosowania w torach transmisyjnych pracujących z rozpraszaniem widma
sygnału (w systemie z kluczowaniem częstotliwości). Teoretycznie zmiana częstotliwości
wyjściowej może nastąpić w dowolnym momencie - oczywiście synchronicznie z sygnałem
zegarowym. W praktyce zależy to od wewnętrznej konstrukcji sumatora. Sumatory
wyposażone w większą liczbę rejestrów pośrednich (spotykane często w scalonych
wersjach syntezerów) charakteryzują się opóźnieniem kilku cykli zegarowych - po
upływie tego opóźnienia następuje natychmiastowe przełączenie częstotliwości
wyjściowej. Ogranicza ono maksymalną częstotliwość zmiany kanałów.
Na rynkach zachodnich dostępny jest wiele scalonych syntezerów
cyfrowych wykonanych w technice CMOS, ECL i GaAs o zakresach częstotliwości zegarowej
od 50 MHz (CMOS) do 1000 MHz (GaAs) i maksymalnych częstotliwościach wyjściowych
odpowiednio od 20 MHz do 450 MHz. Możliwy do osiągnięcia odstęp kanałów dochodzi
nawet do 0,2 uHz, a poziom sygnałów pasożytniczych nie przekracza -70 dBc.