Post on 17-Jan-2016
description
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
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