1 Cyfrowe przetwarzanie sygnałówmgr inż. Adam Łutkowski p.211
2 Plan wykładu Wprowadzenie Sygnał Próbkowanie i kwantyzacjaDyskretna transformata Fourier’a Filtry cyfrowe Implementacja sprzętowa – procesory sygnałowe
3 Wprowadzenie – zalety i wady DSPŁ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
4 Wprowadzenie – pełny tor przetwarzania DSPopcjonalne sygnały sterujące dB f dB f DSP LP ADC DAC LP Analogowy sygnał wejściowy Analogowy filtr anty-aliasingowy Przetwornik analogowo-cyfrowy Cyfrowe przetwarzanie sygnału Przetwornik cyfrowo-analogowy Analogowy filtr rekonstrukcyjny
5 Próbkowanie i kwantyzacja sygnałuSygnał ciągły Sygnał dyskretny Sygnał cyfrowy xc(nT) 3 2 kwantyzacja 1 1 2 3 n T próbkowanie (sampling)
6 Twierdzenie o próbkowaniuWhittakera-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/(2B). Częstotliwość Nyquista: Maksymalna częstotliwość składowa sygnału która może zostać odtworzona bez zniekształceń po próbkowaniu fN=fs/2
7 Przykład: próbkowanie dźwiękuZakres słyszalny przez człowieka: 20Hz – 20kHz Typowe częstotliwości próbkowania 44.1 kHz (Audio CD) – daje fN= kHz Dlaczego stosuje się też 88.2 kHz lub 192kHz? (zniekształcenia harmoniczne po użyciu filtrów) 7
8 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 1kHz – 7kHz * próbkowanie 8kHz * Piersi – Bałkanica * próbkowanie 4410kHz * j.w. * Porównanie z oryginałem i filtrem LP 2205 kHz
9 Kwantyzacja 2Q Q Q Q/2 -Q/2 -Q -2Q 100 200 300 400 500 600 700
10 Kwantyzacja - głębia bitowaIlość liczb do zapisania na n bitach = 2n: 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) itd. Każdy dodatkowy bit to 6dB zakresu sygnału. Przejście między głębią 8-bitową a 4-bitową Przykład dla głębi 16,8,4 i 2 bitowej (2s na każdą głębię)
11 Głębia bitowa Zakres słyszalnych dźwięków 0dB do 120dB120/6 20 bitów Główne standardy kwantyzacji to: 16 bitów (96dB) i 24 bity (144dB) 16 bitów wystarcza bo wykorzystujemy Dithering 11
12 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ę)
13 Pytania z kwantyzacji i aliasinguCzemu służy filtr dolnoprzepustowy na wejściu przetwornika ADC? Standard audio CD dlaczego 16bitów i 44100Hz, Dlaczego w telefonii używa się próbkowania 8000Hz? Kiedy zjawisko aliasingu najbardziej słychać w dźwięku?
14 Dyskretna transformata Fourier’aJoseph Fourier ( ) Genialny fizyk i matematyk. Twórca Szeregu Fouriera i Analizy Fourierowskiej.
15 Sin i cos jako wektory bazoweSygnał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.
16 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
17 Dyskretne Przekształcenie Fouriera (DFT)Sygnał okresowy x(t) jest próbkowany N razy w czasie jego okresu T , tj. T=Nt . Otrzymywany jest sygnał dyskretny x(n) o okresie N: x(n) x(t) t T t 1 2 N-1 Nt
18 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/(Nt) T t N-1 1 2 2fo Nt 18
19 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
20 DFT przykład N=4 ? Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.
21 DFT przykład N=4 Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.
22 Filtry cyfrowe – SOI i NOIFiltry 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
23 Dlaczego projektować filtr?Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT?
24 Dlaczego projektować filtr?Nie wystarczy zrobić DFT sygnału, przemnożyć widmo i zrobić odwrotne DFT? * Sygnał dźwięku próbkowany 44kHz ; * 1s sygnału to próbek ; * Pełne widmo (1Hz do 44kHz) to prążków do przemnożenia i policzenia odwrotnego DFT (dodatkowo 1s opóźnienia)
25 Równanie różnicowe filtruJeżeli wszystkie współczynniki a(n) są zerowe to równanie różnicowe opisuje filtr cyfrowy SOI, w przeciwnym przypadku filtr NOI 25
26 Projektowanie filtru SOIh(n) – odpowiedź impulsowa x(n) y(n) y(n) = x(n) h(n) Dla filtru SOI współczynniki filtru = jego odpowiedź impulsowa!
27 Metody projektowania filtrów SOImetoda 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)
28 Projektowanie filtrów SOI metodą okien czasowychChcemy zaprojektować idealny filtr dolnoprzepustowy. Otrzymujemy nierealizowalną, nieskończoną w czasie charakterystykę odpowiedzi impulsowej: A() 0 Należy ograniczyć czas trwania tej odpowiedzi. 28
29 Projektowanie filtrów SOI metodą okien czasowychZastosowanie okna czasowego ograniczającego czas trwania tej odpowiedzi pozwala uzyskać filtr realizowalny fizycznie. Przykład: dla filtru LP o f0 = 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
30 Projektowanie filtrów SOI metodą okien czasowych0.2 0.4 0.6 0.8 1 1.2 1.4 tzw. efekt Gibbsa ~9% amplitudy impulsu 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
31 Projektowanie filtrów SOI metodą okien czasowychOkno Hamminga %MATLAB b=b.*hamming(51)’; [H,f]=freqz(b,1,512,2); plot(f,abs(H)),grid f rząd filtru 31
32 Projektowanie filtrów SOI metodą okien czasowychMinimalizacja efektu Gibbsa dzięki zastosowaniu okna Hamminga f W programie Matlab opisaną procedurę projektowania filtrów implementuje instrukcja syntezy filtru FIR ‘fir1’ 32
33 Projektowanie filtrów NOI33
34 Projektowanie filtrów NOIMetoda 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 = [ ]; m = [ ]; [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
35 Projektowanie filtrów NOIMetoda niezmienności odpowiedzi impulsowej: Wyznacz odpowiedzi impulsowe tych filtrów % MATLAB %dolnoprzepustowy Butterwotha [b,a]=butter(5,0.4) %pasmowoprzepustowy Czebyszewa typu I [b,a]=cheby1(4,1,[.4 .7]) %górnoprzepustowy Czebyszewa typu II [b,a]=cheby2(6,60,.8,’high’) %pasmowozaporowy eliptyczny [b,a] = ellip(3,1,60,[.4 .7],’stop’); 35
36 Porównanie filtrów SOI i NOIz definicji stabilne łatwe projektowanie łatwo zapewnić liniową fazę uzyskanie stromej charakterystyki wymaga dużego rzędu filtru skończoną dokładność reprezentacji współczynników filtru nie jest dokuczliwa mogą być niestabilne bardziej złożone projektowanie nieliniowa faza możliwość uzyskiwania bardzo stromej charakterystyki przy niskim rzędzie filtru problemy implementacyjne z uwagi na skończoną dokładność reprezentacji współczynników filtru 36
37 Trzy główne typy korelacji:Splot Korelacja wzajemna Autokorelacja wikipedia.org
38 Korelacja wzajemna określanie stopnia podobieństwa sygnałówwyszukanie znanej sekwencji w sygnale rozpoznawanie wzorców określanie kierunku źródła dźwięku miara jakości akustyki sal koncertowych
39 Autokorelacja wykrycie okresowości w sygnale odszumianie sygnałupomiar wysokości tonu podstawowego detekcja tempa/rytmu piosenki
40 Układy cyfrowe do DSP Mikrokontroler Procesor sygnałowyProcesor 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
41 Implementacja sprzętowa - procesory sygnałoweJak 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
42 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
43 Procesor sygnałowy - rdzeńRdzeń procesora TMS320C6713: 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 arytmetyczno-logiczne L – operacje logiczne w tym przesunięcia bitowe. możliwość wykonania do 8 równoległych mnożeń z akumulacją. Maksymalna częstotliwość MHz
44 Procesor sygnałowy – pozostałe peryferiaEMIF – kontroler obsługi zewnętrznych pamięci McASP – wielokanałowy nadajnik/odbiornik do przesyłu danych w standardzie audio. McBSP – buforowany wielokanałowy nadajnik/odbionik. Może obsługiwać wiele różnych magistrali szeregowych. I2C – kontroler magistrali zgodnej z I2C. 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
45 Pytania? ?
46 Dziękuję za uwagę