Cyfrowe przetwarzanie sygnałów

Post on 17-Jan-2016

86 views 3 download

description

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. - PowerPoint PPT Presentation

Transcript of Cyfrowe przetwarzanie sygnałów

Cyfrowe przetwarzanie sygnałów

mgr inż. Adam Łutkowskiadam.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

2

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

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

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

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

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

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

Kwantyzacja

0 100 200 300 400 500 600 700

Q/2

-Q/2

QQ

2Q

-Q

-2Q

0

9

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

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

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

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?

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 warunki (np.. ciągłości i ograniczoności) możemy przedstawić jako kombinację sinusów i cosinusów.

tjte tj00 sincos0

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)

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)

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:

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)

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

?

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

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

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)

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

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!

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)

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.

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;

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

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

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’

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

)

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

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

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

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

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

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

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

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

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

Pytania?

45

?

Dziękuję za uwagę

46