570 likes | 1.06k Views
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 Filtry cyfrowe Implementacja sprzętowa – procesory sygnałowe. Wprowadzenie – zalety i wady DSP.
E N D
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 • Filtry cyfrowe • Implementacja sprzętowa – procesory sygnałowe
Wprowadzenie – pełny tor przetwarzania DSP dB dB f f opcjonalne sygnały sterujące DSP LP ADC DAC LP Analogowy sygnał wejściowy Analogowy filtr anty-aliasingowy Cyfrowe przetwarzanie sygnału Przetwornik cyfrowo-analogowy Analogowy filtr rekonstrukcyjny Przetwornik analogowo-cyfrowy
Próbkowanie i kwantyzacja sygnału próbkowanie kwantyzacja Sygnał ciągły Sygnał dyskretny Sygnał cyfrowy xc(nT) 3 2 kwantyzacja 1 0 0 1 2 3 n T próbkowanie (sampling)
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/(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
Przykład: próbkowanie dźwięku Zakres słyszalny przez człowieka: 20Hz – 20kHz Typowe częstotliwości próbkowania 44.1 kHz (Audio CD) – daje fN= 22.05 kHz Dlaczego stosuje się też 88.2 kHz lub 192kHz? (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 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
Kwantyzacja 2Q Q Q Q/2 0 -Q/2 -Q -2Q 0 100 200 300 400 500 600 700
Kwantyzacja - głębia bitowa Ilość 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ę)
Głębia bitowa Zakres słyszalnych dźwięków 0dB do 120dB 120/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
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ę)
Pytania z kwantyzacji i aliasingu • Czemu 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?
Joseph Fourier(1768-1830) Dyskretna transformata Fourier’a 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 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 funkcji bazowychi funkcji rozwijanej w szereg) 16
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 0 1 2 N-1 Nt
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 0 1 2 2fo Nt 18
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ć znormalizowaną amplitudę danej harmonicznej.
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ńczonejodpowiedzi impulsowej (SOI/FIR) tzw. filtry nierekursywne filtry o nieskończonejodpowiedzi 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? * Sygnał dźwięku próbkowany 44kHz ; * 1s sygnału to 44000 próbek ; * Pełne widmo (1Hz do 44kHz) to 44000 prążków do przemnożenia i policzenia odwrotnego DFT (dodatkowo 1s opóźnienia)
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
h(n) – odpowiedź impulsowa x(n) y(n) y(n) = x(n) h(n) Projektowanie filtru SOI Dla filtru SOI współczynniki filtru = jego odpowiedź impulsowa!
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 A() 0 Chcemy zaprojektować idealnyfiltr dolnoprzepustowy. Otrzymujemy nierealizowalną, nieskończoną w czasie charakterystykę odpowiedzi impulsowej: Należy ograniczyć czas trwania tej odpowiedzi. 28
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 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
Projektowanie filtrów SOI metodą okien czasowych 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 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
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 W programie Matlab opisaną procedurę projektowania filtrów implementuje instrukcja syntezy filtru FIR ‘fir1’ 32
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 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: 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
Porównanie filtrów SOI i NOI NOI SOI • z 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 implementacyjnez uwagi na skończoną dokładność reprezentacji współczynników filtru 36
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 • 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 piosenki
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
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
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ść - 225MHz
Procesor sygnałowy – pozostałe peryferia EMIF – 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
Pytania? ?