Anatomia RobotaRobotyka

Przetwarzanie sygnału cyfrowego (DSP)

Wszyscy ludzie praktykują przetwarzanie sygnału cyfrowego (DSP) codziennie. Może to zaskoczyć, ale to prawda. Co więcej, bardzo niewielu ludzi zna prostą teorię, którą praktykują każdego dnia instynktownie. W tym rozdziale omówimy teorię i odniesiemy ją do przykładów z życia wziętych. Najpierw, szybko sprawdźmy, jak funkcjonuje DSP. Większość prawdziwego świata jest analogowa, a nie cyfrowa. Robot będzie musiał patrzeć na sygnały wszelkiego rodzaju. Sygnały te muszą być dostępne dla komputera sterującego, aby możliwe było prawidłowe przetwarzanie. Rysunek 8-1 pokazuje, w jaki sposób można to zrobić. Przetwornik analogowo-cyfrowy (A / D) digitalizuje analogowe sygnały wejściowe. Cyfrowe reprezentacje sygnałów trafiają następnie do komputera, gdzie są przetwarzane zgodnie z potrzebą aplikacji. Komputer może następnie wysyłać cyfrowe wyniki, z których niektóre mogą napędzać konwerter cyfrowo-analogowy (D / A), który generuje sygnały analogowe dla wyjścia. Każdy element tego łańcucha elektroniki służy do modyfikowania informacji z oryginalnych sygnałów na różne sposoby. Omówimy charakterystykę każdego bloku na rysunku w dalszej części rozdziału, ale na razie, po prostu uświadom sobie, że komputer nie widzi sygnałów analogowych przez cały czas. Może tylko okresowo je próbkować z A / D, i nie ma pojęcia, co sygnały robią między próbkami. Podamy główne twierdzenie stosowane w DSP, a następnie zademonstrujemy, że znamy już twierdzenie i używamy go instynktownie każdego dnia.



Twierdzenie o próbkach Nyquista-Shannona

Nie możemy uchwycić istoty zdigitalizowanego sygnału bez próbkowania go z częstotliwością dwukrotnie większą niż częstotliwość sygnału. Innymi słowy, musimy próbkować sygnał dwa razy szybciej niż komponent o najwyższej częstotliwości w sygnale.

FILTR OCHRONNY

Aby pomyślnie przetestować sygnał, musimy najpierw go zmienić, aby odfiltrować wszystkie składowe częstotliwości, które są powyżej połowy częstotliwości próbkowania. Częstotliwość na poziomie 50 procent częstotliwości próbkowania jest również nazywana częstotliwością Nyquist. Rozpoczynamy dyskusję o tym, co dalej oznacza aliasing. Stwierdzenia te są uproszczeniami oryginalnego twierdzenia. Sprawdź dokładniejsze adresy URL pod koniec tej sekcji. Więc gdzie używamy całej tej teorii matematycznej w naszym codziennym życiu? Oto jeden dla czytelników z dziećmi. Nikt nie zwraca uwagi na dzieci. Nie można tego zrobić, ponieważ zabiera to zbyt dużo energii, a ponadto ciągłe poświęcanie uwagi uczy ich niczego. Zamiast tego, próbujemy ich zachowania okresowo, słuchając ich. Często odwracamy głowy, przykładamy uszy do słuchania i mówimy: "Ojej, tam jest za cicho". Dziwnie, z dziećmi, całkowity brak danych jest sygnałem, że coś jest nie tak. To był łatwy przykład. Oto trudniejszy. Rozważmy następujący eksperyment - nie rób tego naprawdę. Gdy jesteś pasażerem, wyobraź sobie, że jedziesz i zwracasz uwagę na drogę. Przejedź ulicą obok długiego rzędu zaparkowanych samochodów. Przy stałej prędkości mijaj zaparkowany samochód co sekundę. Nie można oglądać każdego samochodu na sekundę. Prawdą jest, że próbujemy drogi naprzód naszymi oczami. Oto pytanie. Jak często musimy próbować zaparkowanych samochodów, aby czuć się komfortowo podczas jazdy przez nich z taką prędkością? Pamiętaj, że przejeżdżamy obok jednego samochodu na sekundę. Załóżmy, że zamykamy oczy i otwieramy je tylko na krótko z ustaloną częstotliwością próbkowania. Jak często musimy je otwierać, aby czuć się komfortowo? Cóż, aby się spowiadać, próbowałem tego głupiego eksperymentu. To trochę jak lekarz wstrzykujący sobie zarazki, żeby przetestować swoją nową szczepionkę. Zrobiłem to jednak bezpiecznie. Oto mój raport. Zamknięcie moich oczu było bardzo niewygodne i nie próbowałem tego zbyt długo, czego z pewnością można się było spodziewać. Otwarcie oczu raz na sekundę było niewygodne. Widziałem każdy samochód tylko raz, gdy go mijałem. Otwieranie oczu dwa razy na sekundę było wygodniejsze, ponieważ czułem, że mogę właściwie sterować samochodem. W tym eksperymencie doświadczyłem na własne oczy twierdzenia o próbkowaniu. Aby właściwie obserwować samochody, musiałem próbować samochodów dwa razy na sekundę w sytuacji, gdy samochody jechały raz na sekundę. Krytycy tego eksperymentu mogą powiedzieć: "To świetnie, ale co by było, gdyby szybkobieżny samochód wypadł z bocznej ulicy? Czy to nie może spowodować wypadku? "Odpowiedź brzmi: tak. Próbkowanie może nie działać prawidłowo, jeśli na ulicy pojawi się niespodziewany samochód. Gdybyśmy mieli szczęście, zauważylibyśmy szybki samochód, gdy nasze oczy byłyby otwarte i moglibyśmy tego uniknąć. Prawdopodobnie nie bylibyśmy w stanie powiedzieć, jak szybko się to odbywało. W najgorszym przypadku nigdy nie zobaczymy szybkiego samochodu; pojawiłoby się i uderzyłoby nas, gdy nasze oczy pozostałyby zamknięte. Kluczem jest tutaj filtr antyspamowy, który w naszym przykładzie byłby znakiem ograniczenia prędkości. Planiści miast automatycznie chronią ciche boczne ulice (te z rzędami zaparkowanych samochodów), otaczając okolicę znakami ograniczenia prędkości. Dlatego szybko poruszające się pojazdy są odfiltrowywane. Gdyby szybko poruszające się samochody były normą w sąsiedztwie, bylibyśmy na straży i częściej próbowali drogi. Instynktownie reagujemy, stosując w ten sposób Twierdzenie o próbkowaniu. Podsumujmy eksperyment przeprowadzania w kategoriach DSP. Samochody są napędzane z różnymi prędkościami; to są nasze sygnały wejściowe. Aby zabezpieczyć nasz system pobierania próbek, wprowadziliśmy filtr antyaliasingu (znaki ograniczenia prędkości), abyśmy nie musieli radzić sobie z samochodami poruszającymi się szybciej niż jedna samochód na sekundę. Przejeżdżając obok zaparkowanych samochodów z prędkością jednego samochodu na sekundę, wizualnie próbujemy samochody dwa razy na sekundę. Zgodnie z twierdzeniem o próbkowaniu daje to nam wystarczającą ilość informacji do przetwarzania danych i do prowadzenia pojazdu ostrożnie. Spróbujmy innego eksperymentu. Będziemy używać czystych fal sinusoidalnych jako sygnałów wejściowych do systemu DSP i będziemy próbkować ze stałą prędkością co 0,3 sekundy. To działa z częstotliwością próbkowania równą 3,33 Hz lub około 20 radianów na sekundę. Będziemy zmieniać częstotliwość analogowych sygnałów wejściowych z 3 do 15 radianów na sekundę. Przy stałej częstotliwości próbkowania wynoszącej 20 radianów na sekundę, Twierdzenie o próbowaniu przewiduje, że wykonamy dobrą robotę próbkowania sygnałów wejściowych fali sinusoidalnej o częstotliwościach rzędu 10 radianów na sekundę. Patrząc na fale sinusoidalne od 3 do 15 radów na sekundę, powinniśmy zaobserwować załamanie w układach pobierania próbek powyżej 10 radianów na sekundę. Ostatecznie wyeliminowaliśmy filtr antyaliasingu z systemu DSP, aby zilustrować problemy, które mogą wystąpić przy jego braku. Powinniśmy spodziewać się problemów. Spójrz na dowody na poniższych rysunkach. Każda para wykresów pokazuje wejściową falę sinusoidalną na górze i próbkę wyniku na dole. Te wykresy zostały wykonane w arkuszu kalkulacyjnym, który próbował dopasować krzywą do próbkowanych danych na dole. Przebieg w ten sposób odtworzony z danych próbki jest pokazany na dole każdego wykresu. Reprezentuje to, co komputer DSP uważa za oryginalny przebieg. Pobieranie próbek przebiegało dość dobrze od 3 do 9 radianów. Patrząc na rysunek





jest oczywiste, że oprogramowanie nie może wykryć częstotliwości (lub kształtu) wejściowych fal sinusoidalnych o częstotliwościach powyżej 10 radianów na sekundę, ale pojawia się coś innego. Próbkowany kształt fali wygląda coraz bardziej jak sygnał o niskiej częstotliwości. Spójrz na to, co dzieje się na rysunku 8-3, ponieważ rozszerzamy wykresy znacznie powyżej 15 radianów na sekundę sygnału wejściowego. Próbkowane kształty fali wydają się zmniejszać w zakresie od 16 do 21 radianów na sekundę, a następnie ponownie zwiększać częstotliwość między 21 a 26 radianów na sekundę. System próbkowania uważa, że rzeczywisty kształt fali robi coś, czego nie robi. To klasyczne wygłaszanie na naszych oczach. System pobierania próbek jest oszukiwany. Alias, zgodnie z definicją w słowniku Webstera, jest "przybranym nazwiskiem". Próbkowana, zrekonstruowana fala z prędkością 16 radianów na sekundę wygląda jak fala o częstotliwości tylko dwóch ułamków na tej samej częstotliwości. Reprezentuje siebie jako coś, czym nie jest, stąd nazwa alias. Wszyscy widzieliśmy, że taki sam efekt ma miejsce w przypadku kół samochodowych. W nocy, pod żarzącymi się światłami, spójrz na kołpaki jadącego samochodu, który zatrzymuje się do zatrzymania. Wybierz samochód z wieloma szprychami w kołpaku. Ponieważ moc elektryczna wynosi 60 Hz (lub 50 Hz w innym miejscu), światła elektryczne migają na tej częstotliwości. Światła skutecznie próbkują szprych kołpaków dla naszych oczu. Widzimy tylko kołpaki, gdy światła są najjaśniejsze. Gdy samochód zwalnia z dużych prędkości, kołpaki wydają się zwalniać do zera, zanim samochód się zatrzyma. Następnie, gdy samochód nadal zwalnia, kołpaki wydają się ruszać do tyłu. Jest to dokładnie ten sam efekt, który właśnie widzieliśmy na naszych wykresach dotyczących aliasingu. Aby uniknąć oszukania komputera DSP w ten sam sposób, zwracaj szczególną uwagę na Twierdzenie o próbkowaniu. Niech próbka komputera będzie dwa razy wyższa niż częstotliwość sygnałów wejściowych. Ponadto umieść filtr antyaliasingu na wejściu D / A, który odfiltrowuje wszystkie częstotliwości powyżej połowy częstotliwości próbkowania. Wobec tak wielkich teoretyków, jak Nyquist i Shannon, czuję się dziwnie z powodu wprowadzenia pewnych praktycznych szczegółów do tej dyskusji. Niestety, musi to być zrobione. Świat jest trudnym miejscem, Grasshopper, i nie można wylać ogólników bez wpadania w kłopoty. Więc trzymaj swój nos; oto olej rycynowy! Procesor DSP polega na transformacji danych, aby można je było przetwarzać i wykorzystywać z dobrym skutkiem. Problem w tym, że większość transformacji zniekształca dane po drodze. Zanim zaczniemy pracę z DSP, stwierdzimy, że filtry antyalergiczne i A / D zmieniają dane w sposób, który należy dokładnie uwzględnić. Ponadto, gdy procesor DSP i D / A wejdą do gry, zobaczymy, że one również zniekształcają dane. Bardzo łatwo jest uderzyć A / D i D / A w komputer i nazwać go systemem DSP. Trudność polega na tym, aby postrzegać świat poprawnie i pomagać mu podejmować właściwe decyzje. Oto kilka istotnych szczegółów, które należy wziąć pod uwagę.

Konwersja A / D

Nie będziemy dyskutować o typach konwerterów A / D, które są dostępne, ani też my omówimy, jak działają. Pozostawiamy to czytelnikowi, aby zagłębić się w te szczegóły, w tym koszt i liniowość. Pamiętaj tylko, że musi być wystarczająco szybki, aby nadążyć za częstotliwością próbkowania wybraną zgodnie z Twierdzeniem o próbkowaniu. Musimy przeprowadzić dyskusję na temat liczby bitów w A / D. Przede wszystkim musimy zdać sobie sprawę, że podstawową cechą przetwornika A / D jest zwykle liczba bitów na wyjściu cyfrowym. Uważaj na A / D, które mają wiele bitów. Nie jest niczym niezwykłym, że A / D nie osiąga poziomu raportowanego. Więc nawet jeśli A / D nagrywa 16 bitów rozdzielczości, może dostarczyć tylko równoważną wydajność 12 lub 14 bitów. Wydaje się oczywiste, że sygnał z rzeczywistego świata nie może być dobrze reprezentowany przez zaledwie 2 lub 3 bity danych. Ale ile bitów naprawdę potrzebujemy? Najpierw musimy zdefiniować db lub decybel. Ten akronim ma wiele zastosowań, z których każdy ma swoją własną definicję. Tutaj przyjmiemy to jako metodę pomiaru stosunków napięciowych. Sygnał napięciowy, który jest o 6 dB mniejszy niż inny, to zaledwie 50 procent drugiego. Zwiększenie napięcia o 6 dB podwaja go. W podobny sposób 20 dB oznacza współczynnik równy 10. Główną kwestią przy rozpatrywaniu długości bitów A / D jest charakter sygnałów wejściowych. Jaki stosunek sygnału do szumu (S / N) mają sygnały? Wszystkie sygnały mają na nich szum. Niektóre sygnały mają znacznie więcej niż inne. Jeśli sygnał jest około 10 razy większy niż hałas, to wynosi 20 dB S / N. Rysunek pokazuje wizualną reprezentację szumu przy różnych stosunkach S / N.

Ważne jest, aby znać stosunek S / N mierzonych sygnałów. Zasadą jest, że każdy dodatkowy bit w A / D zapewnia kolejne 5 dB zdolności S / N w silniku DSP. Zwykle inny bit podwoiłby efektywny zakres słowa i tym samym zapewniłby 6 dB zdolności S / N, ale eksperci twierdzili, że nie spodziewają się teoretycznego limitu, więc licz na 5 db na bit. Teraz jeśli mierzony sygnał ma stosunek S / N 40 dB, to 8-bitowy A / D może być tylko biletem od 8 x 5= 40. Tak długo, jak zwiększenie do kilku bitów nie jest zbyt kosztowne, rozważałbym 10-bitowy A / D dla takiej pracy. Zakup 16-bitowego A / D nie zapewni żadnej dodatkowej dokładności z tak niskim sygnałem S / N. Zazwyczaj 16-bitowe A / D może pozwolić na 80 db przetwarzania S / N (5 x 16), ale jeśli sygnały wejściowe nie są do tej liczby, nie ma sensu próbować więcej. Generalnie użyj A / D, który jest nieco lepszy niż sygnały, które musi zmierzyć. Oto nasz pierwszy quiz popowy! Jeśli sygnały mają stosunek S / N 60 dB, to ile bitów rozdzielczości ma A / D? Powinien mieć co najmniej 12 bitów. Obliczenie wynosi 60 db / 5 db / bit = 12 bitów.

A / D Dithering

Przetworniki A / D nie są idealne. Zamieniają sygnały analogowe na cyfrowe reprezentacje oryginalnego sygnału. Jeśli pierwotny sygnał jest bardzo płynnie zmieniającym się sygnałem, wówczas cyfryzacja sygnału może dodać znaczny szum do sygnału. To wchodzi w grę w co najmniej dwóch sytuacjach:

•  Czasami sam A / D będzie miał trudności z przekraczaniem większych bitowych granic. Załóżmy na przykład, że używamy 16-bitowego A / D i że sygnał przekracza granicę z 7FFFH do 8000H. Liczba 7FFFH jest zapisana w zapisie szesnastkowym (podstawa 16) . Wiele bitów zmienia się w tym samym czasie, a A / D może mieć problemy z utrzymaniem takiej samej dokładności, jak tylko przejście z 7FFEH na 7FFFH.
•  Występuje również błąd kwantyzacji. Bez względu na to, A / D może reprezentować sygnał wejściowy tylko z dokładnością określoną przez liczbę bitów w A / D. W płynnie zmieniającym się sygnale wejściowym efekty te stają się zauważalne. Efekt ten jest najczęściej widoczny w obrazach graficznych; oko ludzkie jest bardzo skuteczne w wybieraniu wzorców błędów w płynnie zmieniających się obrazach.

Aby przeciwdziałać tym efektom, sygnał losowy jest dodawany do sygnału wejściowego. Ten dithering sygnału wejściowego jest zwykle wystarczająca do rozmycia wspomnianych wcześniej szkodliwych efektów. Dithering można dodać na wiele sposobów:

•  Szum analogowy Możemy po prostu umieścić źródło szumu na wejściu A / D. Wielkość źródła hałasu powinna być równa wielkości szumu kwantyzacji. Jeśli zakres A / D wynosi 10 woltów, a jest to 10- bitowe A / D, to jednokrotna zmiana w cyfrowym wyjściu A / D pokrywa 10V / 210? 10 mv. Dodanie źródła szumu 10 mv do wejścia sygnału analogowego stworzy rodzaj wymaganego ditheringu. Używanie źródła hałasu większego niż 10 mv również działałoby kosztem niższej rozdzielczości.
bull;  Losowe przesuwanie Jednym ze sposobów obejścia niedoskonałości A / D jest dynamiczne (i losowe) przesunięcie zakresu A / D. Losowe napięcie można dodać do wejścia A / D, a następnie odjąć cyfrowo od wyjścia A / D. Cały sprzęt do konwersji działa w ten sposób na losowych poziomach w zakresie roboczym. Strona opisująca tę metodę to www.chipcenter.com/TestandMeasurement/tn024.html.
•  Szum cyfrowy Można go dodać do wyjścia A / D. Ta technika jest prawdopodobnie najłatwiejsze do wykonania i można to zrobić za pomocą sprzętu lub procesora DSP

Próbka i wstrzymanie (S / H)

Wejścia analogowe mogą się zmieniać, gdy są próbkowane. Nawet po odfiltrowaniu komponenty o wysokiej częstotliwości w filtrze antialiasingu, dane wejściowe do A / D mogą się zmieniać, gdy A / D wykonuje swoją funkcję. Niektóre przetworniki A / D mogą zostać odrzucone przez zmieniające się wejście, dostarczając błędne dane wyjściowe. Jeśli konwerter A / D musi mieć stabilne wejście podczas procesu konwersji, to sam konwerter ma na ogół wzmacniacz próbkujący i podtrzymujący (S / H) wbudowany w konwerter A / D. Jeśli nie, będziemy musieli dodać jeden przed wejściem A / D. Wzmacniacz S / H posiada wejście wstrzymania, które steruje funkcją wstrzymania. Niski poziom sygnału wyjściowego wzmacniacza S / H następuje po wprowadzeniu. Gdy jest wysoka, wykonuje szybkie migawkę analogowej wartości wejściowej S / H i zamraża wyjście wzmacniacza S / H na tej wartości. S / H utrzymuje tę wartość wystarczająco długo, aby A / D przekształcił ją w wartość cyfrową. Sprawdź sekcje aplikacji i wskazówki dotyczące akwizycji.

Filtry antyaliasingu

Teraz, gdy mamy jakiś pomysł, co musi znajdować się w bloku A / D w naszym systemie DSP, a co z filtrem antyaliasowym? Cóż, wiadomości tutaj są nawet nieco trudniejsze. Po chwili stwierdziliśmy, że filtr antyaliasowy powinien być filtrem dolnoprzepustowym, filtrującym wszystkie częstotliwości powyżej częstotliwości Nyquista. Idealny filtr antyalergiczny przejdzie wszystkie częstotliwości (nietknięte) do częstotliwości Nyquista. Powyżej tego punktu przerwania filtr antyaliasowy nie powinien nic przekazywać. Rysunek pokazuje odpowiedź filtru w funkcji częstotliwości. Widzimy, że filtr doskonale przechodzi wszystkie sygnały o niższej częstotliwości niż 0,5 x Fs, częstotliwość próbkowania, która w tym przykładzie wynosi 0,5. Powyżej tego punktu filtr nic nie przechodzi. Ten wykres jest typowym wykresem odpowiedzi częstotliwościowej dla komponentu. Problem polega na tym, że nie można zbudować filtra, który mógłby to zrobić. Musimy pójść na kompromisy, aby uzyskać odpowiedni projekt filtru antyalergicznego. Jakie problemy występują przy projektowaniu idealnego filtra?

KOSZT

Nie można stworzyć idealnego filtra antyalergicznego z nieskończenie stromym zwojem (zdefiniowanym krótko), jak na rysunku. Filtry są wykonane z komponentów świata rzeczywistego, które mają ostateczne, złożone impedancje. Oznacza to, że filtr będzie miał funkcję transferu, która redukuje się do równań różniczkowych za pomocą rozwiązań ciągłych. To wszystko jest skomplikowanym sposobem stwierdzenia, że na wykresie przenoszenia częstotliwości filtra nie będą wyświetlane pionowe linie przesunięcia. Filtr musi mieć krzywe i rampy. Pionowe zrzuty pokazane w idealnym filtrze będą musiały zejść z mniejszym pionowym spadkiem. Im bardziej pionowy spadek, tym droższy i bardziej skomplikowany musi być filtr. To stawia nas w wiązaniu. Jeśli chcemy bardziej idealnego filtra, nasz koszt rośnie. Jeśli chcemy zaoszczędzić pieniądze, będziemy musieli zadowolić się mniej doskonałym filtrem. Typowym rozwiązaniem jest umieszczenie filtru przeciwzbijalnego na częstotliwości nieco niższej niż częstotliwość Nyquista i zrolowanie jej łagodniejszym (tańszym) kątem. Bardzo podobnym rozwiązaniem jest umieszczenie niedoskonałego filtru antyalergicznego na częstotliwości Nyquist, a następnie przesunięcie częstotliwości próbkowania o około 20 procent. Wkrótce przyjrzymy się projektowi filtra.

ZNIEKSZTAŁCENIE

Sam filtr antialias zniekształci sygnały, które próbujemy zmierzyć. Dzieje się tak, ponieważ większość sygnałów jest mieszanką różnych przebiegów częstotliwości. Tylko czyste fale sinusoidalne zawierają przebiegi jednofazowe. Nawet czysty sygnał fali sinusoidalnej zostanie zniekształcony przez filtr, ale sygnały składające się z kilku przebiegów częstotliwości będą bardziej zniekształcone, ponieważ różne częstotliwości są traktowane w różny sposób przez filtr. Przekonamy się, że nawet zniekształcenie może być wykorzystane na naszą korzyść, jeśli można przewidzieć zniekształcenie. Przez lata projektowanie filtrów antyalergicznych opierało się na kilku dobrych rozwiązaniach, z którymi mogą żyć projektanci. Dobry filtr będzie miał stromy zejście i głębokie pasmo zaporowe

SPADEK

Spadek to nachylenie charakterystyki częstotliwościowej pomiędzy pasmem przepuszczania i ogranicznikiem. Ze wzmacniaczem operacyjnym i kilkoma komponentami, takimi jak cewka i kondensator, można uzyskać roll-out o 12 dB / oktawę. Oznacza to, że przy każdym podwojeniu częstotliwości filtr tłumi sygnały o współczynnik 4.

PASMO ZAPOROWE

W przypadku filtra antyaliasingu dolnoprzepustowego, pasmo zaporowe obejmuje te wyższe częstotliwości, które filtr dolnoprzepustowy ma wyeliminować. Ograniczenie to obszar po prawej stronie krzywej przesunięcia, który jest znacznie niższy niż część krzywej o niskiej częstotliwości. Zasadniczo, jeśli współczynnik S / N dla sygnałów o wartości 40 db, chcielibyśmy cały rzeczywisty szum o wysokiej częstotliwości w ograniczniku powinien wynosić 40 dB lub więcej w paśmie zaporowym

FILTRY ANALOGOWE

Jednym z prostych sposobów wykonania filtra antyaliasingu jest tradycyjna analogowa elektronika. Przy niewielu komponentach analogowych możliwe jest uzyskanie filtra z przyzwoitym spadkiem i pasmem zaporowym Rysunek



pokazuje schemat prostego filtra drugiego rzędu i funkcji transferu, która się z nim wiąże. L jest indukcyjnością, C jest pojemnością, a R jest oporem. Posługując się teraz notacjami Laplace'a, równanie różniczkowe dla tego obwodu wyprowadza się w następujący sposób:



Funkcja transferu została przedstawiona na rysunku

Zwój tego obwodu wynosi 12 db na oktawę. Ponieważ ten konkretny obwód odskakuje w nieskończoność, ogranicznik powinien znajdować się znacznie poniżej poziomu szumu sygnału wejściowego (a zatem nie współczynnika). Powinniśmy zauważyć, że równanie różniczkowe tego obwodu jest bardzo podobne do układu sterowania drugiego rzędu, którego badanie przeprowadzono w części 2 dotyczącej układów sterowania. Dzieje się tak dlatego, że istnieją bezpośrednie analogie między typami komponentów w następujący sposób:

• Kondensatory są analogiem masy. Podobnie jak energia jest magazynowana w masie, gdy zyskuje prędkość, tak samo energia jest przechowywana w kondensatorze, gdy elektrony wpływają do niego, a napięcie wzrasta.
•  Dławiki są analogiem sprężyn. Induktory, podobnie jak sprężyny, działają jak element magazynujący energię. Prąd porusza się przez cewkę indukcyjną, tworzy pole wokół cewki indukcyjnej i wytwarza na niej napięcie. Tak jak sprężyna może się wyczerpać, tak też cewka może wyczerpać magnetyczne materiały, które absorbują energię pola wokół cewki indukcyjnej. Dopóki ilość energii jest przechowywana w cewce indukcyjnej pozostaje poniżej pewnej ilości, będzie działać poprawnie. To samo dotyczy źródła.
•  Rezystory są analogiem tarcia. Rezystor, podobnie jak tarcie, działa, aby spowolnić i odprowadzić ruch energii między dwoma pozostałymi elementami w obwodzie.

Odpowiedź filtra na wejście krokowe pokazano na rysunku



Krzywa powinna wyglądać bardzo znajomo, ponieważ jest praktycznie identyczna z układem sterowania drugiego rzędu, o którym mówiliśmy wcześniej. Obwód mógłby być używany do napędzania wzmacniacza serwomechanizmu, ale pozostawiamy to czytelnikom, aby dowiedzieć się, biorąc pod uwagę R, L i C, jak znaleźć wartości stałej tłumienia d i częstotliwości v. To nie jest nasza sprawa tutaj, aby użyć tego obwodu do czegokolwiek innego niż filtr antyaliasowy. Biorąc pod uwagę nasz przykład systemu o współczynniku S / N 40 dB i używając tego konkretnego obwodu jako filtra antyalergicznego, możemy zobaczyć, jakie kompromisy możemy mieć w projekcie naszego systemu pobierania próbek:

•  Jeśli mamy filtr analogowy drugiego rzędu z dryftem 12 db na oktawę, potrzebujemy więcej niż 3 oktawy, aby osiągnąć pożądany spadek dla antyaliasingu:

(3 okatwy x 12 db/oktawę + 4 db) = 40 db

Aby uzyskać pasmo zaporowe do 40 db na częstotliwości Nyquista z tym filtrem, musielibyśmy zwiększyć częstotliwość próbkowania o współczynnik około 10 (3 oktawy +).

•  Jeśli połączymy dwa takie filtry analogowe, uzyskamy 24 db na jeden oktawę, a to będzie tylko coś mniej niż 2 oktawy, aby osiągnąć takie same wyniki:

(2 okatwy x 24 db/oktawę - 8 db) = 40 db

Aby obniżyć stopę o 40 dB z częstotliwością Nyquista z tym filtrem, musielibyśmy zwiększyć częstotliwość próbkowania o około 3,7: (2 oktawy -). Byłby to dobry kompromis, ponieważ filtry analogowe są stosunkowo niedrogie, a filtry DSP mogą być drogie, w zależności od zastosowanej technologii.

•  Jeśli połączymy 3 takie filtry analogowe, uzyskamy 36 db na jedną oktawę, a to będzie tylko coś więcej niż 1 oktawa, aby osiągnąć te same wyniki:

(1 oktawa x 36 db/oktawę + 4 db_ = 40 db

Aby uzyskać pasmo zaporowe obniżające 40 db na częstotliwości Nyquista z tym filtrem, musielibyśmy zwiększyć częstotliwość próbkowania o współczynnik 2,1 lub więcej: (1 oktawa +). To też byłby dobry kompromis.

FILTRY DSP

Nie ma powodu, aby nie stosować filtra antyaliasowego za pomocą technik DSP. Omówimy teraz, jak zsyntetyzować filtr DSP.

Efekty D / A: Kompensacja Sinc

Na wyjściu układu DSP, D / A generuje strumień wyjściowy wartości analogowych. D / A wyprowadza tylko serię wartości analogowych, które wyglądają jak prostokątne schody o stałym napięciu. W ten sposób D / A z natury zmienia sygnał wyjściowy za pomocą funkcji sinc, którą omówimy wkrótce. W filtrze DSP potrzebny jest filtr wyrównawczy antysynchroniczny. Ten filtr wstępnej kompensacji antisinc może znajdować się wewnątrz silnika obliczeniowego DSP. Powiedzmy, że silnik obliczeniowy DSP generuje wartości wyjściowe D / A z prędkością N na sekundę. Obliczenia antysinc są teraz dodawane na końcu silnika obliczeniowego DSP. To, jak to się robi, zależy od projektanta. Ponieważ zakłada się, że wszystkie te systemy są liniowymi układami czasu, filtr antisinc można po prostu dodać w samym środku obliczeń DSP. Poprzednie wyniki D / A są podawane do nowego bloku obliczeniowego, który wykonuje obliczenia dla kompensacji antisinc. Wynikiem tego jest nowy blok obliczeniowy, generujący strumień wartości D / A z szybkością większą niż szybkość N. Moduł D / A będzie wówczas działał z większą szybkością niż normalnie. Wygładzamy wartości D / A za pomocą prostego filtra dolnoprzepustowego z zegarem D / A. Wynikowy przebieg wyjściowy nie będzie nadmiernie zniekształcony przez efekt sinc. Zauważ, że szybsze działanie D / A będzie oznaczać wyższe zużycie energii.

Projektowanie filtra DSP

Filtry DSP są silnikami, które robią dokładnie to: przetwarzają sygnały cyfrowe. Filtry DSP przetwarzają dane cyfrowe w uporządkowany sposób. Procesor DSP można zrealizować w sprzętowej macierzy programowalnej (FPGA) lub przetwarzanie może odbywać się w oprogramowaniu. Nawet komputer ogólnego przeznaczenia może wykonywać obliczenia DSP. Filtry DSP to konstrukcja matematyczna, która może być realizowana na różne sposoby fizyczne. Najpierw omówimy strukturę matematyczną i fizyczną implementację w osobnej sekcji. Dopóki nie dojdziemy do tej sekcji, żadna z poniższych dyskusji nie odnosi się do konkretnych fizycznych implementacji. Jest to dyskusja w kategoriach matematycznych. Filtry DSP przetwarzają strumień cyfrowy reprezentujący sygnał. Strumień danych zostanie ponownie obliczony w skoordynowany sposób, aby utworzyć strumień wyjściowy filtra. To charakter obliczeń nadaje filtrowi DSP pożądaną funkcję przenoszenia częstotliwości. Filtry DSP mogą być zbudowane na wiele sposobów, ale istnieje kilka standardowych sposobów budowania takiego filtra. Standardowy filtr DSP jest zdefiniowany przez jego strukturę: ogólna sekwencja operacji arytmetycznych wykonywanych w wejściowym strumieniu danych. Aby utworzyć niestandardowy filtr, projektanci biorą standardowy filtr DSP i modyfikują go. Narzędzia i formuły przekształcają niestandardową funkcję transferu filtra w zestaw zmian standardowego filtru DSP. Zmiany, gdy zostaną wprowadzone, zmieniają standardowy filtr DSP w filtr niestandardowy. Aby faktycznie utworzyć niestandardowy filtr, projektanci mapują zarówno standardowy filtr DSP, jak i niestandardowe modyfikacje fizycznej implementacji. Jedną z prostszych standardowych struktur dla filtra DSP jest filtr odpowiedzi na skończoną odpowiedź impulsową (FIR) . Sekwencje danych w liniowej serii rejestrów zwanych kranami. Przy każdym zegarze próbkowania dane przesuwają się do następnego dotknięcia. Po ostatnim dotknięciu dane są odrzucane. Wyjście filtra FIR przy każdym zegarze jest generalnie pojedynczym elementem danych utworzonym przez połączenie wszystkich danych we wszystkich odczepach. Dane w każdym dotknięciu są mnożone przez współczynnik tego kranu, a wyniki są sumowane w celu uzyskania danych wyjściowych. To wektor współczynników przekształca standardową strukturę DSP FIR w niestandardowy filtr FIR. Gdy projektanci zdecydują, że niestandardowy filtr FIR może zostać zbudowany ze standardową strukturą FIR (proces do omówienia później), kilka zadań projektowych pozostaje innych niż generowanie współczynników. Współczynniki dla filtru FIR można zaprojektować na wiele sposobów. Aby opisać wszystkie metody, potrzebowalibyśmy całej kolejnej książki. Zamiast tego opiszemy prawdopodobnie najprostszy, najbardziej ogólny sposób zaprojektowania filtru FIR. Technika wykorzystuje transformaty Fouriera i technikę zwaną okienkowanie. Nie będziemy dokładnie wiedzieć, dlaczego ta technika działa, ale raczej jak to działa. Technika jest ogólna, ponieważ umożliwia zbudowanie filtra o arbitralnej funkcji przenoszenia częstotliwości. Projektant może opisać niestandardową odpowiedź częstotliwościową (w granicach), a następnie zastosować techniki. W praktyce większość filtrów ma bardzo specyficzne funkcje, a następujące cztery filtry to najczęściej używane projekty. Rysunek



przedstawia filtry dolnoprzepustowe, górnoprzepustowe, pasmowo-przepustowe i ograniczające pasmo:

•  Dolnoprzepustowy Filtr dolnoprzepustowy przeznaczony jest do eliminowania częstotliwości powyżej częstotliwości odcięcia filtra. Przede wszystkim częstotliwość odcięcia i tłumienie odcięcia charakteryzują filtr. Jest powszechnie stosowany do eliminowania szumów o wysokiej częstotliwości lub jako filtr antyaliasowy.
•  Górnoprzepustowy. Filtr górnoprzepustowy przeznaczony jest do eliminowania częstotliwości poniżej częstotliwości odcięcia filtru. Przede wszystkim częstotliwość odcięcia i tłumienie odcięcia charakteryzują filtr. Jest powszechnie stosowany do eliminacji szumu 60 Hz w systemach lub do akcentowania komponentów wysokiej częstotliwości w kanałach audio.
•  Przesuw pasmowy Filtr pasmowoprzepustowy jest przeznaczony do tłumienia wszystkich częstotliwości z wyjątkiem częstotliwości w wąskim paśmie. Filtr charakteryzuje się przede wszystkim dwiema potrzebami (początek pasma i końca pasma) oraz tłumieniem odcięcia.
•  Ogranicznik pasma. Filtr ograniczający pasmo ma za zadanie tłumienie wszystkich częstotliwości w wąskim paśmie. Filtr charakteryzuje się przede wszystkim dwiema częstotliwościami (początkiem pasma i końca pasma) oraz tłumieniem odcięcia.

Podejście Fouriera do projektowania filtra FIR rozpoczyna się od wymaganego kształtu funkcji przenoszenia filtra. Cztery poprzednie filtry są przykładami, a my pójdziemy naprzód z przykładem dolnoprzepustowym. Poniższa matematyka ma charakter ogólny i dotyczy dowolnej funkcji transferu filtra (w określonych granicach). Przytoczone później adresy URL pozwalają projektantom na określenie parametrów filtru i rozpoczęcie obliczeń. Obliczenia wykonywane na stronach internetowych używają matematyki podobnej do matematyki, którą opiszemy dalej. Z zastrzeżeniem warunków, odpowiedź częstotliwościowa prostego filtru może być umieszczona w ogólnej formie:



gdzie N będzie liczbą kliknięć w filtrze FIR. c (n) stanie się współczynnikiem n-tego dotknięcia. Lub przez matematyczną substytucję,



Wykreślenie współczynnika c (n) z tego wzoru może wiązać się z pewnym trudnym rachunkiem z całką w zakresie 2 pensów. Dzieje się tak w przypadku ogólnej odpowiedzi częstotliwościowej (niestandardowej), ale jeśli krzywa odpowiedzi częstotliwości jest podobna do filtra dolnoprzepustowego, obliczenia są prostsze. Wzmocnienie jest płaskie o wartości 1, a następnie całkowicie spada (w idealnym równaniu matematyki). Korzystając z uproszczonego kształtu filtra i z kilku innych operacji matematycznych, integracja zmniejsza się do zamkniętego rozwiązania matematycznego w następujący sposób:



Korzystanie z tożsamości matematycznej sinc (x) = sin (x) / x,



Funkcja sinc jest dobrze znana jako obwiednia widmowa ciągu impulsów. Wykres



pokazuje kształt funkcji sinc. Jedną z trudności metody Fouriera jest to, że wytwarza on nieskończony zbiór współczynników. Stanowi to problem, ponieważ nie możemy mieć nieskończonej liczby stuknięć w filtrze FIR. Jeśli po prostu wyeliminujemy niektóre kliknięcia, filtr nie będzie działał zgodnie z założeniami lub symulacją. Zamiast tego stosuje się różne techniki w celu zminimalizowania kranów do wygodnie małej liczby. Te techniki tworzą wartość okna dla każdego współczynnika w nieskończonej serii. Wszystkie współczynniki są mnożone przez okno podczas obliczeń filtra FIR. Wszystkie te okna ograniczają liczbę współczynników do żądanej liczby stuknięć, ponieważ okno ma wartość zero dla dotknięć poza zakresem okna. Oznacza to, że filtr FIR może być ograniczony do określonej liczby stuknięć opartych na oknie. Większość tych okien utrzymuje centralne zaczepy (generalnie o największych współczynnikach) i zmniejsza rozmiar okna do zera, gdy osiąga współczynniki krawędzi. Okna mają dobrze znane nazwy i przewidywalne efekty na filtrze. Są one automatycznie dodawane do obliczeń, ponieważ okno musi być używane do obliczeń. Następujące adresy URL pozwalają nam wykonywać obliczenia przy użyciu narzędzi JAVA. Mają wbudowane okna narzędzia Java, które oblicza współczynniki i pokazuje wynikową funkcję transferu filtra. Każde okno ma swoją moc i słabe strony, ale musimy wybrać okno dla każdego obliczenia. Niektóre okna są tutaj opisane. W każdym przypadku pokazujemy kształt okna. Dodatkowo pokazujemy filtr FIR zbudowany z tymi samymi parametrami, z wyjątkiem wyboru typu okna.

•  Okno prostokątne Okno prostokątne po prostu ustawia każdą wartość okna na 1 wokół środkowego współczynnika. Jest to prawdą w stosunku do krawędzi filtra. Poza filtrem wszystkie współczynniki wyzerowane są z okna. Wykres okna ma charakterystyczny prostokątny kształt. Prostokątne okno jest łatwe do obliczenia w locie, ponieważ wymagane jest tylko mnożenie przez jedność. Większość współczynników filtru FIR jest jednak wstępnie obliczona w fazie projektowania.
•  Okno Bartletta (trójkątne) Okno trójkątne po prostu ustawia każdą wartość okna na liniowo malejącą wartość, zaczynając od środkowego współczynnika. Tuż przy brzegu filtra osiąga zero. Poza filtrem wszystkie współczynniki wyzerowane są z okna. Karta okien ma charakterystyczny trójkątny kształt



•  Okno Hanninga Okno to służy do implementacji filtra podniesionej cosinus które omówimy później


•  Okno Hamminga Jest to niewielka modyfikacja okna Hanning


•  Okno Blackmana Podobnie jak w oknach Hamminga i Hanninga, okno Blackmana ma dodatkowy termin, który redukuje tętnienia


Fizyczna implementacja filtrów DSP

Jak wspomnieliśmy wcześniej, wszystkie techniki DSP, o których wspomnieliśmy, mają charakter matematyczny.

FILTRY FIR

Fizyczna implementacja układów wygładzania i ditheringu, niezależnie struktura filtra FIR jest teoretyczna: seria rejestrów, współczynników i sumatorów, które tworzą wynik arytmetyczny. Obliczenia DSP można wykonać za pomocą sprzętu lub oprogramowania. W większości przypadków obliczenia można wykonać w dowolny sposób.

Oprogramowanie

Ci z nas, którzy budują sprzęt do życia, mogą odnosić się do frustracji, jeśli chodzi o oprogramowanie DSP. W jakiś sposób programiści DSP czują, że odpowiedzi DSP po prostu unosić się w powietrzu, obliczenia nie są zakłócane przez obecność sprzętu lub elektronów. Prawda jest taka, że komputery DSP to bardzo hardcorowy sprzęt, specjalnie zaprojektowany do obliczeń DSP. Omówiliśmy wcześniej komputery DSP w książce, więc nie będę wchodził w strukturę. Układy DSP są specjalnie zaprojektowane, aby skutecznie radzić sobie z typami obliczeń wymaganych dla filtrów FIR. Specyficzne struktury logiczne w DSP mogą być używane jako ciąg rejestrów FIR i rejestrów współczynników. Struktury są również wykorzystywane do efektywnego przenoszenia danych przez układ DSP tak szybko, jak to możliwe. Programiści DSP mogą korzystać z wielu funkcji bibliotecznych. Wdrożenie prostego filtru FIR można osiągnąć po prostu określając liczbę stuknięć i współczynników. Kompilator DSP zajmuje się resztą pracy.

Sprzęt komputerowy

Cóż, wystarczająco dużo ratuje ludzi oprogramowania i sprzętu. Smutna prawda jest taka, że potrzebujemy siebie nawzajem. Nawet czysta sprzętowa implementacja filtrów FIR wymaga dużej ilości oprogramowania i programowania. Proporcjonalne implementacje filtrów FIR są dostępne, ale nie są powszechne. Najczęściej stosowane są w układach scalonych specyficznych dla aplikacji (ASIC) lub FPGA. Układ FPGA zawiera wiele rejestrów i elementów logicznych, które można skonfigurować za pomocą oprogramowania. Oprogramowanie jest zazwyczaj napisane w językach wyższego poziomu, takich jak VHDL lub Verilog. Linie kodu VHDL generują rejestry zaczepów, rejestry współczynników oraz pomnożenie i akumulowanie (MAC). Cała struktura filtru FIR jest widoczna bezpośrednio w samym kodzie. Kiedy kod VHDL jest kompilowany i ładowany do FPGA, filtr FIR przyjmuje fizyczną instancję.

Testowanie filtrów FIR

Kilka łatwych testów może być uruchomionych na projekcie filtru FIR, gdy jest ono po raz pierwszy testowane. Niektóre testy są tak proste, że można je wbudować w fizyczną implementację. To pozwala na test do wykonania w późniejszym czasie. Testy filtrów FIR są następujące:

•  Test współczynników .Podaj filtr FIR serii punktów danych składających się z samych zer z jedną pełną wartością w środku strumienia. Po osiągnięciu pełnej wartości każdego dotknięcia filtra FIR po drodze, wyjście będzie strumieniem szeregowym równym wszystkim właściwym współczynnikom.
•  Przemiatanie częstotliwości. Aby przetestować dowolny filtr, analogowy lub DSP, przetrzyj go serią czystych fal sinusoidalnych. Krzywa odpowiedzi częstotliwościowej powinna być podobna do tej przedstawionej w oprogramowaniu do projektowania DSP. Co więcej, jeśli będziemy kontynuować falę sinusoidalną powyżej częstotliwości Nyquista, powinniśmy obserwować efekty filtra antyalergicznego. Jeśli zaobserwujemy znaczącą odpowiedź z filtra powyżej częstotliwości próbkowania, powinniśmyponownie przeanalizować integralność konstrukcji filtru antyalergicznego. Wyjściowe fale sinusoidalne powinny być czyste i dobrze zachowane.

FILTRY INFINITE IMPULSE RESPONSE (IIR)

Okay, teraz, gdy zmusiliśmy filtry FIR do zejścia na ziemię, oto kolejna zmarszczka. Filtry Infinite Impulse Response (IIR) to kolejna opcja do projektowania filtra DSP. Chociaż filtr FIR przekazuje sygnały jednorazowo w ustalonej, liniowej sekwencji, filtry IIR mają pętle sprzężenia zwrotnego. Sygnały wyjściowe, a nawet sygnały pośrednie, są podawane w trakcie przetwarzania. Ma to kilka następstw:

•  Filtry IIR są krótsze. Pomyśl przez chwilę o ścieżce, którą dane przechodzą przez filtr IIR. Zamiast przechodzić jeden raz, jak w filtrze FIR, dane mogą być zwrotne kilka razy. Te dodatkowe pętle przez filtry IIR działają prawie jak rozszerzenia filtra. W rezultacie filtr IIR może uzyskać podobne wyniki przy znacznie mniejszej liczbie kliknięć. Spójrzmy na przybliżone porównanie. Rysunek



przedstawia prostokątny, okienkowany filtr FIR z 34 tap. Spada 20 dB w zakresie częstotliwości około 0,050 znormalizowanym.



Powyższe pochodzi z dwunastego rzędu filtra Butterworth IIR. Również spada o około 20 dB w zakresie częstotliwości około 0,050 znormalizowanym. Ale filtr IIR to zaledwie dwunasta kolejność, wykonana z serii filtrów IIR drugiego rzędu. Filtr drugiego rzędu może przyjmować wiele różnych struktur. Każde zamówienie jest sprzętowym ekwiwalentem około 2 kranów FIR, więc filtr IIR XII rzędu jest odpowiednikiem około 24 tap FIR, krótszych dla tych samych wyników.

•  IIR mają przesunięcie fazowe. Opóźnienie grup filtrów FIR i IIR, które właśnie porównywaliśmy, pokazano na rysunkach





Filtr FIR ma stosunkowo stałe opóźnienie o 16,5 okresów, co można było oczekiwać w przypadku 34- stopniowego filtra FIR próbkowanego z częstotliwością dwukrotnie większą. Podejrzewam, że wykres powinien wykazywać płaskie opóźnienie wynoszące dokładnie 17 okresów. Oznacza to, że na wyjściu filtru FIR będzie stałe, ale stałe opóźnienie. Filtr IIR ma zmienne opóźnienie, w zależności od częstotliwości sygnału wejściowego. Wolniejsze sygnały mają zerowe opóźnienie! Etap drugiego rzędu IIR ma prostą ścieżkę, więc sygnały przechodzą bezpośrednio poza kijem. Sygnały o wyższej częstotliwości mają opóźnienie rosnące, zbliżając się do 19 okresów zegara. Ponieważ większość filtrów IIR ma różne opóźnienia przy różnych częstotliwościach, generalnie zniekształcają one sygnały w sposób, w jaki filtry FIR nie działają. Może to być niewielka cena do zapłacenia za mniejsze nieruchomości wykorzystane przy budowie filtra IIR .

Multirate DSP

Multirate DSP Filtry są bardzo podobne do filtrów FIR i IIR, z wyjątkiem danych z nich pochodzących filtr z inną szybkością niż trafia do filtra. Nie będziemy stosować dokładnie tych technik, ale wspomina się o nich w książkach. Jest to używane, gdy próbkowane dane są już dostępne, ale szybkość transmisji danych nie odpowiada szybkości wymaganej w konkretnej aplikacji. Konkretnym przykładem może być cyfrowy sygnał wideo przychodzący z pełną szybkością transmisji. Przy 270 milionach bitów na sekundę może to być zbyt dużo danych do wysłania przez Internet! Tak więc pytanie brzmi, w jaki sposób możemy odciąć dane do niższej przepływności, nawet zanim użyjemy MPEG do skompresowania go do transmisji internetowej? Może być sensowne zmniejszenie współczynnika wideo o współczynnik trzy do pięciu przed przesłaniem go do silnika kompresji MPEG. Multiratowy filtr DSP doskonale nadaje się do tego zadania. Digital Signal Processing to potężne narzędzie, które możemy wykorzystać w projektowaniu robotów. Jeśli zwrócimy uwagę na kilka podstawowych twierdzeń i skonstruujemy silnik DSP we właściwy sposób, możemy uzyskać bardzo przewidywalną wydajność.