Cyfrowe przetwarzanie sygnałów

46
Cyfrowe przetwarzanie sygnałów mgr inż. Adam Łutkowski [email protected] p.211

description

Cyfrowe przetwarzanie sygnałów. mgr inż. Adam Łutkowski [email protected] 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. - PowerPoint PPT Presentation

Transcript of Cyfrowe przetwarzanie sygnałów

Page 1: Cyfrowe przetwarzanie sygnałów

Cyfrowe przetwarzanie sygnałów

mgr inż. Adam Ł[email protected]

p.211

Page 2: Cyfrowe przetwarzanie sygnałów

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

2

Page 3: Cyfrowe przetwarzanie sygnałów

Wprowadzenie – zalety i wady DSP

3

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

Page 4: Cyfrowe przetwarzanie sygnałów

Wprowadzenie – pełny tor przetwarzania DSP

4

LP ADC DSP DAC LP

dB

f

dB

f

Analogowy sygnał wejściowy

Analogowy filtr anty-aliasingowy

Przetwornik analogowo-cyfrowy

Cyfrowe przetwarzanie sygnału

Przetwornik cyfrowo-analogowy

Analogowy filtr rekonstrukcyjny

opcjonalnesygnały sterujące

Page 5: Cyfrowe przetwarzanie sygnałów

5

xc(nT)

n0

T1 2 3

0

1

2

3

próbkowanie (sampling)

kw

an

tyza

cja

Sygnał ciągłypróbkowanie

Sygnał dyskretnykwantyzacja

Sygnał cyfrowy

Próbkowanie i kwantyzacja sygnału

Page 6: Cyfrowe przetwarzanie sygnałów

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/26

Page 7: Cyfrowe przetwarzanie sygnałów

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

Page 8: Cyfrowe przetwarzanie sygnałów

AliasingBłę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.

8

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

Page 9: Cyfrowe przetwarzanie sygnałów

Kwantyzacja

0 100 200 300 400 500 600 700

Q/2

-Q/2

QQ

2Q

-Q

-2Q

0

9

Page 10: Cyfrowe przetwarzanie sygnałów

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.

10

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ę)

Page 11: Cyfrowe przetwarzanie sygnałów

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 Dithering11

Page 12: Cyfrowe przetwarzanie sygnałów

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

Page 13: Cyfrowe przetwarzanie sygnałów

Pytania z kwantyzacji i aliasingu

13

•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?

Page 14: Cyfrowe przetwarzanie sygnałów

Dyskretna transformata Fourier’a

Joseph Fourier(1768-1830)

Genialny fizyk i matematyk. Twórca Szeregu Fouriera i Analizy Fourierowskiej.

Page 15: Cyfrowe przetwarzanie sygnałów

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.

tjte tj00 sincos0

Page 16: Cyfrowe przetwarzanie sygnałów

Szereg Fouriera

16

1

000k

kk tksinbtkcosaatx

T 2

0 gdzie: tzw. pulsacja podstawowa

dttxT

aT

t

0

01

,2,1,cos2

00

kdttktx

Ta

T

tk

,2,1,sin2

00

kdttktx

Tb

T

tk

Sposób wyliczenia współczynników zaproponowany przez Fouriera

(iloczyny skalarne funkcji bazowychi funkcji rozwijanej

w szereg)

Page 17: Cyfrowe przetwarzanie sygnałów

Dyskretne Przekształcenie Fouriera (DFT)

Nnxnx

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:

Tt

Nt0 1 2 N-1

tx(t) x(n)

Page 18: Cyfrowe przetwarzanie sygnałów

Dyskretne Przekształcenie Fouriera (DFT)

18

N

kf

tN

k

T

kkf s

0

Najmniejsza częstotliwość szeregu Fouriera (tzw. częstotliwość podstawowa) wynosi:

Tt

Nt

0 1 2 N-1

x(t) fo=1/T=1/(Nt)

2fo

tNTf

11

0

Częstotliwości kolejnych k-tych harmonicznych analizy:

Page 19: Cyfrowe przetwarzanie sygnałów

n

NjkN

n

enxkX

21

0

n

NjkN

k

ekXN

nx

21

0

1

DFT proste:

DFT odwrotne:

k = 0, 1, 2, …, N-1

n = 0, 1, 2, …, N-1

indeks próbki w czasie

numer harmonicznej

Dyskretne Przekształcenie Fouriera (DFT)

Page 20: Cyfrowe przetwarzanie sygnałów

DFT przykład 4431nx

31

0

2N

n

nN

jk

enxkX

jkX

kX

jkX

xxxxenxkXN

n

nj

3.....?3

2.....?2

3.....?1

1244313210031

0

4

02

N=4

Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.

sincos je j

?

Page 21: Cyfrowe przetwarzanie sygnałów

DFT przykład 4431nx

31

0

2N

n

nN

jk

enxkX

jkX

kX

jkX

xxxxenxkXN

n

nj

3.....?3

2.....?2

3.....?1

1244313210031

0

4

02

N=4

Wynik DFT należy dodatkowo podzielić przez liczbę próbek aby otrzymać znormalizowaną amplitudę danej harmonicznej.

sincos je j

Page 22: Cyfrowe przetwarzanie sygnałów

22

Filtry cyfrowe – SOI i NOI

0 5 10 15 200

0.2

0.4

0.6

0.8

1

Filtry dzielimy na:

filtry o skończonejodpowiedzi impulsowej (SOI/FIR)

tzw. filtry nierekursywne

filtry o nieskończonejodpowiedzi impulsowej (NOI/IIR)

tzw. filtry rekursywne 0 5 10 15 200

0.2

0.4

0.6

0.8

1

Page 23: Cyfrowe przetwarzanie sygnałów

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

Page 24: Cyfrowe przetwarzanie sygnałów

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)

Page 25: Cyfrowe przetwarzanie sygnałów

25

Równanie różnicowe filtru

N

n

M

n

nkynankxnbky21

11

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

Page 26: Cyfrowe przetwarzanie sygnałów

Projektowanie filtru SOI

h(n) – odpowiedź impulsowa

x(n) y(n)

y(n) = x(n) h(n)

23121 kxbkxbkxbky

Dla filtru SOI współczynniki filtru = jego odpowiedź impulsowa!

Page 27: Cyfrowe przetwarzanie sygnałów

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)

Page 28: Cyfrowe przetwarzanie sygnałów

28

Projektowanie filtrów SOI metodą okien czasowych

Chcemy zaprojektować idealnyfiltr dolnoprzepustowy.

Otrzymujemy nierealizowalną,

nieskończoną w czasie charakterystykę odpowiedzi impulsowej:

A()

0

?21 0

0

denh nj

Należy ograniczyć czas trwania tej odpowiedzi.

Page 29: Cyfrowe przetwarzanie sygnałów

29

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;

Page 30: Cyfrowe przetwarzanie sygnałów

30

Projektowanie filtrów SOI

metodą okien czasowych

0 0.2 0.4 0.6 0.8 10

0.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

Page 31: Cyfrowe przetwarzanie sygnałów

31

Projektowanie filtrów SOI

metodą okien czasowych

f

%MATLAB

b=b.*hamming(51)’;[H,f]=freqz(b,1,512,2);plot(f,abs(H)),grid 10 20 30 40 50

0

0.2

0.4

0.6

0.8

1

Okno Hamminga

rząd filtru

Page 32: Cyfrowe przetwarzanie sygnałów

32

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’

Page 33: Cyfrowe przetwarzanie sygnałów

33

Projektowanie filtrów NOI

0 0.2 0.4 0.6 0.8 1-30

-20

-10

0

Normalized frequency (Nyquist == 1)

Phase (

degre

es)

0 0.2 0.4 0.6 0.8 1-5

0

5

10

Normalized frequency (Nyquist == 1)

Magnitude R

esponse (

dB

)

Page 34: Cyfrowe przetwarzanie sygnałów

34

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)’

Page 35: Cyfrowe przetwarzanie sygnałów

35

Projektowanie filtrów NOI

Metoda niezmienności odpowiedzi impulsowej:

% 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’);

Wyznacz odpowiedzi impulsowe tych filtrów

Page 36: Cyfrowe przetwarzanie sygnałów

36

Porównanie filtrów SOI i NOI

SOI NOI

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

Page 37: Cyfrowe przetwarzanie sygnałów

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

wikipedia.org

Page 38: Cyfrowe przetwarzanie sygnałó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

Page 39: Cyfrowe przetwarzanie sygnałów

Autokorelacja

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

Page 40: Cyfrowe przetwarzanie sygnałów

Układy cyfrowe do DSP

40

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

Page 41: Cyfrowe przetwarzanie sygnałów

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 cena41

Page 42: Cyfrowe przetwarzanie sygnałów

Procesor sygnałowy

42

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

Page 43: Cyfrowe przetwarzanie sygnałów

Procesor sygnałowy - rdzeń

43

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

Page 44: Cyfrowe przetwarzanie sygnałów

Procesor sygnałowy – pozostałe peryferia

44

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

Page 45: Cyfrowe przetwarzanie sygnałów

Pytania?

45

?

Page 46: Cyfrowe przetwarzanie sygnałów

Dziękuję za uwagę

46