You are on page 1of 60

Filtry cyfrowe

Procesory sygnałowe (DSP),


układy programowalne

x(n) Filtr cyfrowy y(n)

h(n) – odpowiedź impulsowa

x(n) y(n)

y(n) = x(n)  h(n) 1

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtry cyfrowe

Po co filtrujemy sygnały?
Aby uzyskać:
 redukcję zakłóceń sygnału
(np. zakłóceń od sieci energetycznej)
 zmianę charakterystyki widmowej sygnału
(preemfaza, deemfaza)
 wyodrębnienie zadanych składowych sygnału
spośród jego innych składowych (detekcja)
2

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


„Wygładzanie” sygnału
przez filtrowanie
smoothing filters

0.3

0.2

0.1

-0.1

-0.2

-0.3

-0.4

-0.5

-0.6

-0.7

1100 1200 1300 1400 1500 1600 1700 1800 1900


3

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Analogowy filtr dolnoprzepustowy

Filter amplitude transfer function


1

0.9

0.8

0.7 -3dB0.707
Ui Uo
0.6

|Uo/Ui|
0.5

0.4

0.3

0.2

0.1

0
Charakterystyka amplitudowa: 10
-2
10
-1
10
0 1
10
f[Hz]

Uo 1
 fc=?
Ui 1  RC 
2
4
Charakterystyki
częstotliwościowe - filtry idealne
A(f) A(f)
górnoprzepustowy dolnoprzepustowy

f f
A(f) A(f)
pasmowoprzepustowy pasmowozaporowy

f f
5

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów
pasmo
A(f) przejściowe
Filtr dolno-przepustowy
pasmo
(np. filtr anty-alisingowy, zaporowe
redukcja zakłóceń) pasmo
przepustowe f
fp fs
A(f)
Filtr górno-przepustowy
(np. preemfaza)

f 6

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów
A(f)

Filtr środkowo-przepustowy
(np. detekcja cech sygnału)
f
A(f)

Filtr środkowo-zaporowy
(np. redukcja zakłóceń od sieci
energetycznej) 50 Hz f
7

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów - przykłady
A(f)

Filtr dolnoprzepustowy
(redukcja zakłóceń)
f

1500 1500

1000 1000

500 500

0V 0V
0 0
200 400 600 800 1000 200 400 600 800 8
1000

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów - przykłady
A(f)

Filtr górno-przepustowy
(np. usuwanie wartości średniej)
f

100
1500
50

1000 0

-50
500

0V
-100
0V
0 -150
200 400 600 800 1000 0 200 400 600 800 1000
9

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów - przykłady

A(f)
Filtr środkowo-przepustowy
(np. detekcja cech sygnału)

f
6000
1500

4000
1000

2000

500
0
0V
0
200 400 600 800 1000 -2000
0 200 400 600 800 1000
10

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Charakterystyki
częstotliwościowe filtrów - przykłady
A(f)
Filtr środkowo-zaporowy
(np. redukcja zakłóceń o
zadanej częstotliwości)
50 Hz f
1600 1400

1500
1300
1400

1300 1200

1200
1100
1100
1000
1000

900 900
0 200 400 600 800 1000 0 200 400 600 800 1000

11

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Zastosowania filtrów cyfrowych w
przetwarzaniu elektrokardiogramu

 donoprzepustowe (redukcja zakłóceń o


częstotliwościach radiowych, aktywności mięśni
szkieletowych)
 górnoprzepustowe (eliminacja pełzania linii
izoelektrycznej, fg=0.5 Hz, zob. ‘ecg_mit.mat’)
 pasmowoprzepustowe (wydzielanie
składowych sygnału EKG, np. fali P, T, QRS)
 pasmowozaporowe (redukcja zakłóceń od sieci
energetycznej, f=50 Hz)
12

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Rodzaje filtrów
A
Wykreśl charakterystyki
filtrów:
B
Filtr
?

C
- Dolnoprzepustowy
- Pasmowo-przepustowy
- Górnoprzepustowy

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtry cyfrowe – SOI i NOI
Filtry dzielimy również na: 1

0.8

filtry o skończonej 0.6

odpowiedzi impulsowej (SOI) 0.4

0.2

tzw. filtry nierekursywne 0


0 5 10 15 20

filtry o nieskończonej 0.8

odpowiedzi impulsowej (NOI) 0.6

0.4

tzw. filtry rekursywne 0.2

0
0 5 10 15

20

14

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtry cyfrowe – SOI i NOI

Elementy (działania) potrzebne realizacji filtru


cyfrowego:

Mnożenie Opóźnienie
Sumator
przez stałą jednostkowe

u1(k)
y(k) u(k) c y(k) u(k) y(k)
z-1
u2(k)

yk   u1 k   u2 k  yk   cuk  yk   uk  1


15

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Idea filtracji cyfrowej
współczynniki
współczynniki
ruchomej średniej autoregresji
x(n) b0 a0=1 y(n)

z-1
t z-1
t
b1 a1
x(n-1) y(n-1)

z-1
t z-1
t
b2 a2
x(n-2) y(n-2)

z-1
t zt
bM aN 16
x(n-M) y(n-N)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Filtr o Skończonej Odpowiedzi
Impulsowej(SOI) - przykład

LP:
yn  0.5xn  0.5xn  1
b0 =0.5
x(n)

z-1
t
b1 =0.5
x(n-1) HP:
yn  0.5xn  0.5xn  1

BP: ?

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtr o Nieskończonej odpowiedzi
Impulsowej (NOI) - przykład

yn  a1 yn  1  xn


Pętla sprzężenia
zwrotnego

x(n) y(n)

a1 t
a1y(n-1) y(n-1)

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Równanie różnicowe filtru

N M

 ak yn  k    bk xn  k 


k 0 k 0

Powyższe równanie jest równoważne zapisowi:

a[0]=1
M N
a0 yn    bk xn  k    ak  yn  k 
k 0 k 1

19

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Równanie różnicowe filtru

M N
yn    bk xn  k    ak  yn  k 
k 0 k 1

Jeżeli wszystkie współczynniki a(n) są zerowe to


równanie różnicowe opisuje filtr cyfrowy SOI, w
przeciwnym przypadku filtr NOI
SOI – ang. Finite Impulse Response (FIR)
NOI – ang. Infinite Impulse Response (IIR)
20

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty filtr dolnoprzepustowy
(freqz)
Impulse response
1

0.5
h=[0.5 -0.5]
0
5 10 15 20 25 30 35 40 45 50
Transfer function
1

HL=FFT(hL)
0.5

0
0 5 10 15 20 25 30 35 40 45 50

N/2+1  fs/2

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty filtr górnoprzepustowy
(freqz)
Impulse response
1

0 h=[0.5 -0.5]
-1
5 10 15 20 25 30 35 40 45 50
Transfer function
1

HH=FFT(hH)
0.5

0
0 5 10 15 20 25 30 35 40 45 50

N/2+1  fs/2

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Połączenie kaskadowe filtrów

x(n)
hL hH
y(n)

hB hB=hL*hH
x(n) y(n)

hB=hL*hH  HB()= HL()HH()

23
Prosty filtr pasmowoprzepustowy
(freqz)
Impulse response hB  [0.25 0  0.25]
0.5

-0.5
5 10 15 20 25 30 35 40 45 50
Transfer function
1

0.5
HB=FFT(hB)
0
0 5 10 15 20 25 30 35 40 45 50

N/2+1  fs/2

24
Prosty przykład filtru SOI
Filtr o ruchomej średniej:

yn   xn  4  xn  3  xn  2  xn  1  xn 


1
5
Określ wektory współczynników a i b dla tego filtru .

Odpowiedź:
a=[1];
b=[0.2 0.2 0.2 0.2 0.2];
Zatem jest to dolnoprzepustowy filtr SOI
25

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
Jaka jest odpowiedź impulsowa tego filtru?

1 k
yk   xk  4  xk  3  xk  2  xk  1  xk    xn 
1
5 5 nk 4

Odpowiedź:
h=[0.2 0.2 0.2 0.2 0.2];
Wniosek: dla filtru SOI współczynniki filtru i jego
! odpowiedź impulsowa to jest to samo!

26

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
Charakterystyka
Charakterystyka fazowafazowa Charakterystyka amplitudowa
Charakterystyka amplitudowa
3 1

2
0.8

1 tzw. zero filtru


0.6

Amplituda
radiany

0.4
-1

0.2
-2

-3 0
0 20 40 60 80 100 0 20 40 60 80 100
f [Hz] f [Hz]

0.2

0.15
Odpowiedź 0.1
impulsowa filtru 0.05

0 27
0 5 10 15 20
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Prosty przykład filtru SOI
Ćwiczenie:

Zbadaj amplitudy i przesunięcia fazowe przebiegów


wyjściowych filtru gdy na jego wejście podano:
 przebieg sinusoidalny f=1 Hz
 przebieg sinusoidalny f=5 Hz
 przebieg sinusoidalny f=20 Hz

28

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
1 Hz
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
5 Hz
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
20 Hz
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Prosty przykład filtru SOI
input signal
2

1.5

0.5

-0.5

-1

-1.5

-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Warunek liniowej fazy dla filtrów SOI

Można projektować filtry SOI tak by zachować


liniową charakterystykę fazową. Zapewniają to
warunki symetrii dla współczynników filtru:

hM  k   hk 
dla k  0,1,, M
hM  k   hk  dla M parzystych lub nieparzystych

Jaka jest korzyść z liniowej fazy filtru?


Opóźnienie sygnału na wyjściu filtru jest niezależne od
! jego częstotliwości.
33

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtr o liniowej fazie
/4 – opóźnienie fazowe
s(t)=sin(t)

td – opóźnienie czasowe

s(t)=sin(2t)

/2 – opóźnienie czasowe

Filtry o liniowej fazie opóźniają wszystkie


częstotliwości o ten sam czas!
34

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Warunek liniowej fazy dla filtrów SOI

hM  k   hk 
dla k  0,1,, M
hM  k   hk 

czas dyskretny czas dyskretny


35

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Zniekształcenia fazowe
   
xwe  sin10t   sin20t  xwy  sin10t    sin 20t  
 2  2
2 2

1.5
1.5

1
1

0.5
0.5
Wyj

Wyj
0
0
-0.5

-0.5
-1

-1.5 -1

-2 -1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
[sek] [sek]

tzw. nieliniowe zniekształcenia fazowe


(np. duże zniekształcenia sygnałów akustycznych) 36

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Zniekształcenia fazowe - przykład

30

Magnitude Response (dB)


20

10

-10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)
Phase (degrees) 0

-20

-40

-60

-80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized frequency (Nyquist == 1)
37

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Inne przykłady filtrów SOI
Ćwiczenie cd:

Zbadaj charakterystyki filtrów o odpowiedzi impulsowej:

 h=0.25*[1 2 1] , tzw. filtr von Hanna (tzw. filtr Gaussa)

 h=[1 -2 1] , ~ druga pochodna sygnału

38

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Projektowanie filtrów
from scipy.signal import firwin

Gdzie f jest tzw. częstoli-


wością znormalizowaną
f=<0,1>, przy czym
1 odowiada fs/2

39
Projektowanie filtrów SOI
M=40 rząd filtru

foff=0.7*fs/2

3dB

fs/2 fs

40
Projektowanie filtrów NOI

Butterworth filter
-0dB ->
len(coeff[0])=16
len(coeff[1])=17
-3dB ->

fs/2

-60dB ->

41
Zastosowanie filtru

a[0]=1

42
Porównanie filtrów SOI i NOI
SOI NOI

 z definicji stabilne  mogą być niestabilne

 łatwe projektowanie  bardziej złożone projektowanie

 łatwo zapewnić liniową fazę  nieliniowa faza

 uzyskanie stromej  możliwość uzyskiwania bardzo


charakterystyki jest możliwe stromej charakterystyki
dla dużego rzędu filtru
 problemy implementacyjne
 skończoną dokładność z uwagi na skończoną
reprezentacji współczynników dokładność reprezentacji
filtru nie jest dokuczliwa współczynników filtru
43

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Idea filtru adaptacyjnego
kolejne próbki sygnału
x0 = 1
w1
x(n-P+1) w0
w2 y(n)
... 
x(n-1)
wP (n)
x(n) 
d(n)

Funkcja celu:
E[d(n) – wTx] = [(d(n) - y(n))2] = E[2]  min
44

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Adaptacyjna redukcja zakłóceń

źródło
sygnału e(t) = ^x(t)
s(t) = x(t) + v(t) +
S
_
n(t) ^
v(t)
Filtr
adaptacyjny
źródło
zakłóceń (tzw. wejście
odniesienia) Reguła
adaptacji wag

wt   et 
45

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Adaptacyjna redukcja zakłóceń
Minimum wielkości e(t) odpowiada najskuteczniejszej
(zgodnie z minimum błędu średniokwadratowego)
redukcji zakłóceń:

e(t )  s(t )  vˆ(t )  x(t )  v(t )  vˆ(t )

E[e2 ]  E[ x 2 ]  2E[ x(v  vˆ)]  E[(v  vˆ)2 ]  E[ x 2 ]


c.n.d.
= 

sygnał i zakłócenie
są nieskorelowane 46

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Adaptacyjna redukcja zakłóceń

Po usunięciu EKG matki


Źródło: Widrow, B. ; Glover, J.R., Jr. ; McCool, J.M. ; Kaunitz, J. ;Williams, C.S. ; Hearn, R.H. ; Zeidler, J.R. ; Eugene Dong,
Jr. ;Goodlin, R.C., Adaptive noise cancelling: Principles and applications, Proceedings of the IEEE
vol: 63 ,no: 12, 1975 47
Zastosowania filtracji adaptacyjnej

Filtry adaptacyjne są stosowane głównie do


filtracji sygnałów niestacjonarnych, np.:

 w adaptacyjnej redukcji zakłóceń mierzonego sygnału


od sieci energetycznej oraz redukcji zakłóceń od
elektronarzędzi chirurgicznych (f~120 Hz)
 do redukcji energii sygnału EKG matki przy pomiarze
EKG płodu
 jako model predykcyjny sygnałów biologicznych do
wykrywania ich zaburzeń (np. detekcji stanu fibrylacji
komór serca  implantowane defibrylatory)
48

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału

Filtry dolnoprzepustowe nie są skuteczne przy


wygładzaniu sygnałów, w których pasmo zakłóceń
pokrywa się z pasmem składowych użytecznych sygnału

xt   st   nt 


A(f) sygnał
A(f) sygnał
użyteczny
użyteczny zakłócenie zakłócenie
S  
S   N   N  

f f
Widma częstotliwościowe sygnału i zakłócenia 49

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału

Idea uśredniania synchronicznego

Sygnały synchronizujące
50

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału

Uśrednianie synchroniczne sygnału jest skuteczne przy


spełnieniu następujących warunków:
 składowe deterministyczne sygnału powinny
występować okresowo (niekoniecznie w regularnych
odstępach)
 sygnał zakłócający powinien być sygnałem losowym,
nieskorelowanym ze składowymi deterministycznymi
sygnału
 powinna istnieć możliwość detekcji cech sygnału
potrzebnych do synchronizacji kolejnych jego cykli 51

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału
N
1
xˆ 
N
x
n 1
n

……

x1 x2 x3 xN ^
x
52

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału
Odchylenie standardowe sygnału: s
Odchylenie standardowe zakłócenia: n

s
Stosunek sygnału do zakłócenia: SNR 
n
Po N uśrednieniach:
s
2
10

SNRN  N
n
1
10

Zatem poprawa SNR po


N uśrednieniach wynosi: N
0
10
0 100 200 300 400 53500

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Uśrednianie synchroniczne sygnału

Zastosowania:
 detekcja podszumowa sygnału tj. dla s << n
(zastosowania w telekomunikacji)
 analiza elektrycznych potencjałów wywołanych
mózgu, tj. potencjałów generowanych w mózgu o
amplitudzie kilku mikrowoltów na skutek okresowego
pobudzenia bodźcem: świetlnym (potencjały
wzrokowe), dźwiękowym (potencjały słuchowe) lub
dotykowym (potencjały czuciowe)
54

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Czuciowe potencjały wywołane

M. F. El-Bab, COGNITIVE EVENT RELATED POTENTIALS DURING A LEARNING TASK,


PhD, University of Southampton, UK. 55
Filtracja medianowa sygnałów

Mediana – element środkowy w ciągu


uporządkowanych liczb, np.:

x(n)={1, 5, -7, 101, -25, 3, 0, 11, 7}

Porządkowanie (sortowanie) ciągu:

xs(n)={-25, -7, 0, 1, 3, 5, 7, 11, 101 }

Element środkowy

56

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtracja medianowa sygnałów

sortowanie

czas dyskretny
M=2m+1=5 M=5
57

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtracja medianowa sygnałów

Filtracja medianowa sygnału:

xn 2 5 -1 7 0 3 -15 9 1 20 6 -9

Kierunek przesuwania
-1 1
2 2
5 7
okna filtracji

med3(xn) 2 2 5 0 3 0 ? ? ? ? 6 6

wyznacz medianę

58

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej


Filtracja medianowa -przykład
400

390

380
x(t)
370
y=med(x)
360

350

340

330
M=7
320
45
310
40
35 0 20 40 60 80 100 120 140 160
30
25
20
y=x-med(x)
15
10
5
59
0
-50
Paweł20Strumiłło,
40 Instytut
60 Elektroniki
80 Politechniki
100 120 Łódzkiej
140 160
Filtracja cyfrowa - podsumowanie
1. Idea filtracji sygnału
2. Charakterystyka częstotliwościowa filtru
3. Rodzaje filtrów
4. Real filters
5. Równania różnicowe
6. Filtry SOI i NOI
7. Liniowa faza i zniekształcenia fazowe
8. Projektowanie filtrów i filtrowanie sygnału
9. Filtracja adaptacyjna
10. Filtracja medianowa (filtracja nieliniowa)
60

Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej

You might also like