Cyfrowe przetwarzanie sygnaw mgr in Adam utkowski adam

  • Slides: 46
Download presentation
Cyfrowe przetwarzanie sygnałów mgr inż. Adam Łutkowski adam. lutkowski@gmail. com p. 211

Cyfrowe przetwarzanie sygnałów mgr inż. Adam Łutkowski adam. lutkowski@gmail. com p. 211

Plan wykładu • Wprowadzenie • Sygnał • Próbkowanie i kwantyzacja • Dyskretna transformata Fourier’a

Plan wykładu • Wprowadzenie • Sygnał • Próbkowanie i kwantyzacja • Dyskretna transformata Fourier’a • Filtry cyfrowe • Implementacja sprzętowa – procesory sygnałowe 2

Wprowadzenie – zalety i wady DSP Zalety Wady • Łatwość modyfikacji • Ograniczona dokładność

Wprowadzenie – zalety i wady DSP Zalety Wady • Łatwość modyfikacji • Ograniczona dokładność • Łatwość powielenia • Zniekształcenia wprowadzane przez przetworniki • Mała powierzchnia zajmowana na płytce PCB • Wyższa cena i niska opłacalność przy prostych systemach • Duża odporność na czynniki zewnętrzne • Większy pobór mocy w niektórych przypadkach 3

Wprowadzenie – pełny tor przetwarzania DSP opcjonalne sygnały sterujące d. B f LP Analogowy

Wprowadzenie – pełny tor przetwarzania DSP opcjonalne sygnały sterujące d. B f LP Analogowy sygnał wejściowy Analogowy filtr antyaliasingowy f ADC Przetwornik analogowocyfrowy DSP DAC LP Cyfrowe przetwarzanie sygnału Przetwornik cyfrowoanalogowy Analogowy filtr rekonstrukcyjny 4

Próbkowanie i kwantyzacja sygnału Sygnał ciągły próbkowanie Sygnał dyskretny kwantyzacja Sygnał cyfrowy kwantyzacja xc(n.

Próbkowanie i kwantyzacja sygnału Sygnał ciągły próbkowanie Sygnał dyskretny kwantyzacja Sygnał cyfrowy kwantyzacja xc(n. T) 3 2 1 0 0 1 2 3 próbkowanie (sampling) T n 5

Twierdzenie o próbkowaniu Whittakera-Nyquista-Kotielnikova-Shannona: Jeśli sygnał ciągły nie posiada składowych widma o częstotliwości równej

Twierdzenie o próbkowaniu Whittakera-Nyquista-Kotielnikova-Shannona: Jeśli sygnał ciągły nie posiada składowych widma o częstotliwości równej i większej niż B, to może on zostać wiernie odtworzony z ciągu jego próbek tworzących sygnał dyskretny, o ile próbki te zostały pobrane w odstępach czasowych nie większych niż 1/(2 B). Częstotliwość Nyquista: Maksymalna częstotliwość składowa sygnału która może zostać odtworzona bez zniekształceń po próbkowaniu f. N=fs/2 6

Przykład: próbkowanie dźwięku Zakres słyszalny przez człowieka: 20 Hz – 20 k. Hz Typowe

Przykład: próbkowanie dźwięku Zakres słyszalny przez człowieka: 20 Hz – 20 k. Hz Typowe częstotliwości próbkowania 44. 1 k. Hz (Audio CD) – daje f. N= 22. 05 k. Hz Dlaczego stosuje się też 88. 2 k. Hz lub 192 k. Hz? (zniekształcenia harmoniczne po użyciu filtrów) 7

Aliasing Błędna rejestracja sygnałów o wysokiej częstotliwości jako sygnały o niskiej częstotliwości. Spowodowane jest

Aliasing Błędna rejestracja sygnałów o wysokiej częstotliwości jako sygnały o niskiej częstotliwości. Spowodowane jest to zbyt niską częstotliwością próbkowania. Przykłady aliasingu: * sinus 1 k. Hz – 7 k. Hz * próbkowanie 8 k. Hz * Piersi – Bałkanica * próbkowanie 4410 k. Hz * j. w. * Porównanie z oryginałem i filtrem LP 2205 k. Hz 8

Kwantyzacja 2 Q Q Q Q/2 0 -Q/2 -Q -2 Q 0 100 200

Kwantyzacja 2 Q Q Q Q/2 0 -Q/2 -Q -2 Q 0 100 200 300 400 500 600 700 9

Kwantyzacja - głębia bitowa Ilość liczb do zapisania na n bitach = 2 n:

Kwantyzacja - głębia bitowa Ilość liczb do zapisania na n bitach = 2 n: 1 bit = 2 liczby (maks 1) 2 bity = 4 liczby (maks 11=3) 3 bity = 8 liczb (maks 111 = 7) 4 bity = 16 liczb (maks 111 = 15) Przejście między głębią 8 -bitową a 4 -bitową itd. Każdy dodatkowy bit to 6 d. B zakresu sygnału. Przykład dla głębi 16, 8, 4 i 2 bitowej (2 s na każdą głębię) 10

Głębia bitowa Zakres słyszalnych dźwięków 0 d. B do 120 d. B 120/6 20

Głębia bitowa Zakres słyszalnych dźwięków 0 d. B do 120 d. B 120/6 20 bitów Główne standardy kwantyzacji to: 16 bitów (96 d. B) i 24 bity (144 d. B) 16 bitów wystarcza bo wykorzystujemy Dithering 11

Dithering Randomizacja błędu kwantyzacyjnego. Eliminuje harmoniczne zakłócenia w zamian wprowadzając równomierny szum. Np. 2.

Dithering Randomizacja błędu kwantyzacyjnego. Eliminuje harmoniczne zakłócenia w zamian wprowadzając równomierny szum. Np. 2. 7 – możemy: przyciąć (zawsze 2), zaokrąglić (zawsze 3), ditherować (losowo 30% przyciąć i 70% zaokrąglić w górę) 12

Pytania z kwantyzacji i aliasingu • Czemu służy filtr dolnoprzepustowy na wejściu przetwornika ADC?

Pytania z kwantyzacji i aliasingu • Czemu służy filtr dolnoprzepustowy na wejściu przetwornika ADC? • Standard audio CD dlaczego 16 bitów i 44100 Hz, • Dlaczego w telefonii używa się próbkowania 8000 Hz? • Kiedy zjawisko aliasingu najbardziej słychać w dźwięku? 13

Dyskretna transformata Fourier’a Joseph Fourier (1768 -1830) Genialny fizyk i matematyk. Twórca Szeregu Fouriera

Dyskretna transformata Fourier’a Joseph Fourier (1768 -1830) Genialny fizyk i matematyk. Twórca Szeregu Fouriera i Analizy Fourierowskiej.

Sin i cos jako wektory bazowe Sygnały okresowe (lub wycinki dowolnego sygnału) spełniające odpowiednie

Sin i cos jako wektory bazowe Sygnały okresowe (lub wycinki dowolnego sygnału) spełniające odpowiednie warunki (np. . ciągłości i ograniczoności) możemy przedstawić jako kombinację sinusów i cosinusów.

Szereg Fouriera gdzie: tzw. pulsacja podstawowa Sposób wyliczenia współczynników zaproponowany przez Fouriera (iloczyny skalarne

Szereg Fouriera gdzie: tzw. pulsacja podstawowa Sposób wyliczenia współczynników zaproponowany przez Fouriera (iloczyny skalarne funkcji bazowych i funkcji rozwijanej w szereg) 16

Dyskretne Przekształcenie Fouriera (DFT) Sygnał okresowy x(t) jest próbkowany N razy w czasie jego

Dyskretne Przekształcenie Fouriera (DFT) Sygnał okresowy x(t) jest próbkowany N razy w czasie jego okresu T , tj. T=N t. Otrzymywany jest sygnał dyskretny x(n) o okresie N: x(n) x(t) t T 0 1 2 N t N-1 t

Dyskretne Przekształcenie Fouriera (DFT) Najmniejsza częstotliwość szeregu Fouriera (tzw. częstotliwość podstawowa) wynosi: Częstotliwości kolejnych

Dyskretne Przekształcenie Fouriera (DFT) Najmniejsza częstotliwość szeregu Fouriera (tzw. częstotliwość podstawowa) wynosi: Częstotliwości kolejnych k-tych harmonicznych analizy: x(t) fo=1/T=1/(N t) T 0 1 t N-1 2 N t 2 fo 18

Dyskretne Przekształcenie Fouriera (DFT) DFT proste: indeks próbki w czasie k = 0, 1,

Dyskretne Przekształcenie Fouriera (DFT) DFT proste: indeks próbki w czasie k = 0, 1, 2, …, N-1 DFT odwrotne: numer harmonicznej n = 0, 1, 2, …, N-1

DFT przykład N=4 ? Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać

DFT przykład N=4 ? Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.

DFT przykład N=4 Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną

DFT przykład N=4 Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.

Filtry cyfrowe – SOI i NOI Filtry dzielimy na: filtry o skończonej odpowiedzi impulsowej

Filtry cyfrowe – SOI i NOI Filtry dzielimy na: filtry o skończonej odpowiedzi impulsowej (SOI/FIR) tzw. filtry nierekursywne filtry o nieskończonej odpowiedzi impulsowej (NOI/IIR) tzw. filtry rekursywne 22

Dlaczego projektować filtr? Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT?

Dlaczego projektować filtr? Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT?

Dlaczego projektować filtr? Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT?

Dlaczego projektować filtr? Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT? * Sygnał dźwięku próbkowany 44 k. Hz ; * 1 s sygnału to 44000 próbek ; * Pełne widmo (1 Hz do 44 k. Hz) to 44000 prążków do przemnożenia i policzenia odwrotnego DFT (dodatkowo 1 s opóźnienia)

Równanie różnicowe filtru Jeżeli wszystkie współczynniki a(n) są zerowe to równanie różnicowe opisuje filtr

Równanie różnicowe filtru Jeżeli wszystkie współczynniki a(n) są zerowe to równanie różnicowe opisuje filtr cyfrowy SOI, w przeciwnym przypadku filtr NOI 25

Projektowanie filtru SOI h(n) – odpowiedź impulsowa x(n) y(n) = x(n) h(n) Dla filtru

Projektowanie filtru SOI h(n) – odpowiedź impulsowa x(n) y(n) = x(n) h(n) Dla filtru SOI współczynniki filtru = jego odpowiedź impulsowa!

Metody projektowania filtrów SOI metoda okien czasowych – skracamy nieskończoną odpowiedź impulsową filtru poprzez

Metody projektowania filtrów SOI metoda okien czasowych – skracamy nieskończoną odpowiedź impulsową filtru poprzez splot ze skończonym oknem - metody aproksymacji – próbkowanie widma z niższą rozdzielczością, nadając różne wagi prążkom, w celu przybliżenia kształtu widma (często iteracyjnie) -

Projektowanie filtrów SOI metodą okien czasowych Chcemy zaprojektować idealny filtr dolnoprzepustowy. Otrzymujemy nierealizowalną, nieskończoną

Projektowanie filtrów SOI metodą okien czasowych Chcemy zaprojektować idealny filtr dolnoprzepustowy. Otrzymujemy nierealizowalną, nieskończoną w czasie charakterystykę odpowiedzi impulsowej: A( ) 0 Należy ograniczyć czas trwania tej odpowiedzi. 28

Projektowanie filtrów SOI metodą okien czasowych Zastosowanie okna czasowego ograniczającego czas trwania tej odpowiedzi

Projektowanie filtrów SOI metodą okien czasowych Zastosowanie okna czasowego ograniczającego czas trwania tej odpowiedzi pozwala uzyskać filtr realizowalny fizycznie. Przykład: dla filtru LP o f 0 = 0. 4*fmax i odpowiedzi impulsowej ograniczonej do 51 próbek: b=0. 4*sinc(0. 4*(-25: 25)); uzyskuje się charakterystykę: [H, f] = freqz(b, 1, 512, 2); plot(f, abs(H)), grid; 29

Projektowanie filtrów SOI metodą okien czasowych 1. 4 1. 2 1 tzw. efekt Gibbsa

Projektowanie filtrów SOI metodą okien czasowych 1. 4 1. 2 1 tzw. efekt Gibbsa ~9% amplitudy impulsu 0. 8 0. 6 0. 4 0. 2 0 0 0. 2 0. 4 0. 6 0. 8 1 f Efekt Gibbsa – charakterystyczny wygląd aproksymacji funkcji szeregiem Fouriera w punktach nieciągłości. Można go zredukować stosując zamiast okna prostokątnego wycinającego odpowiedź impulsową, okno o kształcie podobnym do funkcji Gaussa, np. okno Hamminga 30

Projektowanie filtrów SOI metodą okien czasowych Okno Hamminga %MATLAB b=b. *hamming(51)’; [H, f]=freqz(b, 1,

Projektowanie filtrów SOI metodą okien czasowych Okno Hamminga %MATLAB b=b. *hamming(51)’; [H, f]=freqz(b, 1, 512, 2); plot(f, abs(H)), grid f rząd filtru 31

Projektowanie filtrów SOI metodą okien czasowych Minimalizacja efektu Gibbsa dzięki zastosowaniu okna Hamminga f

Projektowanie filtrów SOI metodą okien czasowych Minimalizacja efektu Gibbsa dzięki zastosowaniu okna Hamminga f W programie Matlab opisaną procedurę projektowania filtrów implementuje instrukcja syntezy filtru FIR ‘fir 1’ 32

Projektowanie filtrów NOI 33

Projektowanie filtrów NOI 33

Projektowanie filtrów NOI Metoda bezpośrednia - aproksymacyjna: % % % MATLAB [b, a]=yulewalk(n, f,

Projektowanie filtrów NOI Metoda bezpośrednia - aproksymacyjna: % % % MATLAB [b, a]=yulewalk(n, f, m) n – rząd filtru f – próbki char. częstotl. z zakresu <0, 1> m – dyskretne częstotl. z zakresu <0, 1> f = [0 0. 6 1]; m = [1 1 0 0]; [b, a] = yulewalk(8, f, m); [h, w] = freqz(b, a, 128); plot(f, m, w/pi, abs(h), '--') Nieliniowa faza! Zobacz też ‘zplane(b, a)’ 34

Projektowanie filtrów NOI Metoda niezmienności odpowiedzi impulsowej: % MATLAB Wyznacz odpowiedzi impulsowe tych filtrów

Projektowanie filtrów NOI Metoda niezmienności odpowiedzi impulsowej: % MATLAB Wyznacz odpowiedzi impulsowe tych filtrów %dolnoprzepustowy Butterwotha [b, a]=butter(5, 0. 4) %pasmowoprzepustowy Czebyszewa typu I [b, a]=cheby 1(4, 1, [. 4. 7]) %górnoprzepustowy Czebyszewa typu II [b, a]=cheby 2(6, 60, . 8, ’high’) %pasmowozaporowy eliptyczny [b, a] = ellip(3, 1, 60, [. 4. 7], ’stop’); 35

Porównanie filtrów SOI i NOI SOI NOI n z definicji stabilne n mogą być

Porównanie filtrów SOI i NOI SOI NOI n z definicji stabilne n mogą być niestabilne n łatwe projektowanie n bardziej złożone projektowanie n łatwo zapewnić liniową fazę n nieliniowa faza n uzyskanie stromej n możliwość uzyskiwania bardzo charakterystyki wymaga dużego rzędu filtru n skończoną dokładność reprezentacji współczynników filtru nie jest dokuczliwa stromej charakterystyki przy niskim rzędzie filtru n problemy implementacyjne z uwagi na skończoną dokładność reprezentacji współczynników filtru 36

Trzy główne typy korelacji: Splot Korelacja wzajemna Autokorelacja wikipedia. org

Trzy główne typy korelacji: Splot Korelacja wzajemna Autokorelacja wikipedia. org

Korelacja wzajemna - określanie stopnia podobieństwa sygnałów wyszukanie znanej sekwencji w sygnale rozpoznawanie wzorców

Korelacja wzajemna - określanie stopnia podobieństwa sygnałów wyszukanie znanej sekwencji w sygnale rozpoznawanie wzorców określanie kierunku źródła dźwięku miara jakości akustyki sal koncertowych

Autokorelacja - wykrycie okresowości w sygnale odszumianie sygnału pomiar wysokości tonu podstawowego detekcja tempa/rytmu

Autokorelacja - wykrycie okresowości w sygnale odszumianie sygnału pomiar wysokości tonu podstawowego detekcja tempa/rytmu piosenki

Układy cyfrowe do DSP Mikrokontroler Procesor sygnałowy Procesor graficzny Zalety • Tani • Energooszczędny

Układy cyfrowe do DSP Mikrokontroler Procesor sygnałowy Procesor graficzny Zalety • Tani • Energooszczędny • Mnogość peryferiów wewnętrznych, • Autonomiczność • Wydajny rdzeń potokowa obsługa, instrukcji • Rozbudowany moduł MAC • Wiele mniej rozbudowanych rdzeni • Najwyższa wydajność przy obliczeniach na macierzach Wady • Mało wydajny rdzeń (jedna operacja naraz, liczby int) • Na ogół brak wsparcia dla operacji DSP • Stosunkowo drogi • Wymaga dodatkowych elementów (RAM, Flash) • Słabo rozbudowana część analogowa • Wysoka cena • Duży pobór mocy • Trudne do implementacji w systemach wbudowanych Zastosowanie • Kontrola i nadzór nad innymi urządzeniami • Potokowe przetwarzanie sygnałów w czasie rzeczywistym • Przetwarzanie obrazów i wielowymiarowych macierzy 40

Implementacja sprzętowa procesory sygnałowe Jak implementować sprzętowo DSP? -używając procesorów sygnałowych Czemu procesory sygnałowe?

Implementacja sprzętowa procesory sygnałowe Jak implementować sprzętowo DSP? -używając procesorów sygnałowych Czemu procesory sygnałowe? -specyficzna architektura rdzenia Po co implementować? -mniejsze zużycie energii, niższa cena 41

Procesor sygnałowy Przystosowany do potokowego przetwarzania danych: • mnogość szeregowych interfejsów komunikacyjnych, • zwielokrotnione

Procesor sygnałowy Przystosowany do potokowego przetwarzania danych: • mnogość szeregowych interfejsów komunikacyjnych, • zwielokrotnione bloki ALU rdzenia dla zrównoleglenia, przetwarzania • rozbudowany blok MAC (Multiply And Accumulate) • blok do operacji na liczbach zmiennoprzecinkowych • wysoka częstotliwość taktowania 42

Procesor sygnałowy - rdzeń Rdzeń procesora TMS 320 C 6713: • 2 bloki mogące

Procesor sygnałowy - rdzeń Rdzeń procesora TMS 320 C 6713: • 2 bloki mogące wykonywać te same operacje, • Każdy blok posiada 4 różne jednostki: • D – operacje transferu i adresowania danych; • M – układ MAC • S – operacje arytmetycznologiczne • L – operacje logiczne w tym przesunięcia bitowe. • możliwość wykonania do 8 równoległych mnożeń z akumulacją. • Maksymalna częstotliwość 225 MHz 43

Procesor sygnałowy – pozostałe peryferia EMIF – kontroler obsługi zewnętrznych pamięci Mc. ASP –

Procesor sygnałowy – pozostałe peryferia EMIF – kontroler obsługi zewnętrznych pamięci Mc. ASP – wielokanałowy nadajnik/odbiornik do przesyłu danych w standardzie audio. Mc. BSP – buforowany wielokanałowy nadajnik/odbionik. Może obsługiwać wiele różnych magistrali szeregowych. I 2 C – kontroler magistrali zgodnej z I 2 C. Timer – 2 licznik 32 -bitowe GPIO – 16 wyprowadzeń wejścia/wyjścia ogólnego użytku HPI – obsługa równoległego interfejsu Host - Port 44

Pytania? ? 45

Pytania? ? 45

Dziękuję za uwagę 46

Dziękuję za uwagę 46