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.

9.4.1. ALGORYTMY I ICH REALIZACJE


9.4.1.1. OBWODY LINIOWE

    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]


9.4.1.2 UKŁADY NIELINIOWE

    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.



Wydanie z dn. 20.03.1999.

© Prawa autorskie Krzysztof Dąbrowski, OE1KDA.