Filtry cyfrowe
Filtr cyfrowy
x
(
n
)
y
(n)
h
(
n
)
Procesory sygnałowe (DSP),
układy programowalne
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
1
h
(
n
)
– odpowiedź impulsowa
x
(
n
)
y
(n)
y
(n) = x(
n
) ∗
h
(
n
)
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)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
2
(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)
Charakterystyki
częstotliwościowe - filtry idealne
f
A(f)
A(f)
dolnoprzepustowy
górnoprzepustowy
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
3
f
f
f
A(f)
pasmowoprzepustowy
f
A(f)
pasmowozaporowy
Charakterystyki
częstotliwościowe filtrów
Filtr
dolno-przepustowy
(np. filtr anty-alisingowy,
redukcja zakłóceń)
A(f)
pasmo
zaporowe
pasmo
pasmo
przejściowe
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
4
f
f
A(f)
Filtr
górno-przepustowy
(np. preemfaza)
przepustowe
f
p
f
s
Filtr ś
rodkowo-przepustowy
(np. detekcja cech sygnału)
f
A(f)
Charakterystyki
częstotliwościowe filtrów
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
5
f
f
A(f)
Filtr ś
rodkowo-zaporowy
(np. redukcja zakłóceń od sieci
energetycznej)
50 Hz
Charakterystyki
częstotliwościowe filtrów - przykłady
f
A(f)
Filtr
dolnoprzepustowy
(redukcja zakłóceń)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
6
200
400
600
800
1000
0
500
1000
1500
200
400
600
800
1000
0
500
1000
1500
0 V
0 V
Charakterystyki
częstotliwościowe filtrów - przykłady
f
A(f)
Filtr
górno-przepustowy
(np. usuwanie wartości średniej)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
7
200
400
600
800
1000
0
500
1000
1500
0 V
0
200
400
600
800
1000
-150
-100
-50
0
50
100
0 V
Charakterystyki
częstotliwościowe filtrów - przykłady
Filtr ś
rodkowo-przepustowy
(np. detekcja cech sygnału)
f
A(f)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
8
200
400
600
800
1000
0
500
1000
1500
0 V
0
200
400
600
800
1000
-2000
0
2000
4000
6000
f
Charakterystyki
częstotliwościowe filtrów - przykłady
Filtr ś
rodkowo-zaporowy
(np. redukcja zakłóceń o
zadanej częstotliwości)
f
A(f)
50 Hz
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
9
f
50 Hz
0
200
400
600
800
1000
900
1000
1100
1200
1300
1400
1500
1600
0
200
400
600
800
1000
900
1000
1100
1200
1300
1400
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
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
10
górnoprzepustowe (eliminacja pełzania linii
izoelektrycznej, f
g
=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)
Rodzaje filtrów
Filtr
?
A
B
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
Filtr
- Dolnoprzepustowy
- Pasmowo-przepustowy
- Górnoprzepustowy
?
C
Filtry cyfrowe – SOI i NOI
0.2
0.4
0.6
0.8
1
Filtry dzielimy również na:
filtry o
skończonej
odpowiedzi impulsowej (SOI)
tzw. filtry nierekursywne
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
12
0
5
10
15
20
0
tzw. filtry nierekursywne
filtry o
nieskończonej
odpowiedzi impulsowej (NOI)
tzw. filtry rekursywne
0
5
10
15
20
0
0.2
0.4
0.6
0.8
1
Filtry cyfrowe – SOI i NOI
Elementy wykonawcze potrzebne do realizacji
filtru cyfrowego:
Sumator
Mnożenie
Opóźnienie
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
13
u(k)
z
-1
y(k)
u
1
(k)
u
2
(k)
y(k)
u(k)
c
y(k)
( )
( )
( )
k
u
k
u
k
y
2
1
+
=
( )
( )
k
cu
k
y
=
( )
(
)
1
k
u
k
y
−
=
Sumator
przez stałą
jednostkowe
Idea filtracji cyfrowej
z
-1
b
0
x(k)
b
1
y(k)
współczynniki
ruchomej średniej
współczynniki
autoregresji
z
-1
a
2
a
1
=1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
14
z
-1
z
-1
x(k-1)
x(k-M)
x(k-2)
b
1
b
M
b
2
z
-1
z
-1
y(k-2)
y(k-1)
y(k-N)
a
2
a
3
a
N
( )
( )
(
)
1
5
.
0
5
.
0
−
+
=
k
x
k
x
k
y
Filtr o Skończonej odpowiedzi
Impulsowej(SOI) - przykład
z
-1
x(k)
∆
t
b
0
=0.5
LP:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
b
1
=0.5
z
x(k-1)
∆
t
( )
( )
(
)
1
5
.
0
5
.
0
−
−
=
k
x
k
x
k
y
HP:
BP: ?
( )
(
)
( )
k
x
k
y
a
k
y
+
−
=
1
1
Filtr o Nieskończonej odpowiedzi
Impulsowej (NOI) - przykład
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
∆
t
x
(k)
y
(k)
a1
y
(k-1)
a
1
y
(k-1)
Równanie różnicowe filtru
( )
( ) (
)
( ) (
)
∑
∑
=
=
−
−
−
=
N
n
M
n
n
k
y
n
a
n
k
x
n
b
k
y
1
0
Z uwagi na implementację programową filtrów w
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
17
( ) ( )
( ) (
)
( ) (
)
∑
∑
=
=
+
−
−
+
−
=
N
n
M
n
n
k
y
n
a
n
k
x
n
b
k
y
a
2
1
1
1
1
Z uwagi na implementację programową filtrów w
programie Matlab (zob. funkcję ‘filter’) stosujemy
następujące indeksowanie współczynników filtru:
1=
*
Równanie różnicowe filtru
( )
( ) (
)
( ) (
)
∑
∑
=
=
+
−
−
+
−
=
N
n
M
n
n
k
y
n
a
n
k
x
n
b
k
y
2
1
1
1
Jeżeli wszystkie współczynniki
a
(n)
są zerowe to
*
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
18
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)
Równanie różnicowe filtru
( )
( ) ( )
( ) (
)
( ) (
)
K
+
−
+
−
+
=
2
3
1
2
1
k
x
b
k
x
b
k
x
b
k
y
Zwróćmy uwagę na indeksowanie
współczynników filtru i próbek sygnału:
*
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
19
( )
( ) ( )
( ) (
)
( ) (
)
( ) (
)
( ) (
)
( ) (
)
K
K
−
−
−
−
−
−
−
+
−
+
−
+
=
3
4
2
3
1
2
2
3
1
2
1
k
y
a
k
y
a
k
y
a
k
x
b
k
x
b
k
x
b
k
y
*
Jest to równanie filtru przyczynowego, …...
Prosty filtr górnoprzepustowy
(freqz)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
×π
M
a
g
n
it
u
d
e
(
d
B
)
h=[0.5 -0.5]
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
50
100
Normalized Frequency (
×π
rad/sample)
P
h
a
s
e
(
d
e
g
re
e
s
)
Normalized Frequency (
×π
rad/sample)
Prosty filtr dolnoprzepustowy
(freqz)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
×π
M
a
g
n
it
u
d
e
(
d
B
)
h=[0.5 -0.5]
-3dB
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-100
-50
0
Normalized Frequency (
×π
rad/sample)
P
h
a
s
e
(
d
e
g
re
e
s
)
Normalized Frequency (
×π
rad/sample)
Prosty przykład filtru SOI
Filtr o ruchomej średniej:
( )
(
)
(
)
(
)
(
)
( )
[
]
( )
∑
−
=
=
+
−
+
−
+
−
+
−
=
k
k
n
n
x
k
x
k
x
k
x
k
x
k
x
k
y
4
5
1
1
2
3
4
5
1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
22
Określ wektory współczynników a i b dla tego filtru (wzór
*
).
Odpowiedź:
a=[1];
b=[0.2 0.2 0.2 0.2 0.2];
Zatem jest to filtr SOI – „kiepski” filtr dolnoprzepustowy.
Prosty przykład filtru SOI
Jaka jest odpowiedź impulsowa tego filtru?
( )
(
)
(
)
(
)
(
)
( )
[
]
( )
∑
−
=
=
+
−
+
−
+
−
+
−
=
k
k
n
n
x
k
x
k
x
k
x
k
x
k
x
k
y
4
5
1
1
2
3
4
5
1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
23
Odpowiedź:
h=[0.2 0.2 0.2 0.2 0.2];
Wniosek:
Wniosek:
dla filtru SOI
współczynniki filtru i jego
odpowiedź impulsowa to jest to samo!
!!
Korzystając z instrukcji:
- conv
- filter
Prosty przykład filtru SOI
Ć
wiczenie:
Ć
wiczenie:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
24
- filter
Wyznacz odpowiedź zdefiniowanego filtru SOI na
pobudzenie sygnałem:
Na tym samym wykresie wyświetl sygnał oraz
otrzymane sygnały po filtracji. Porównaj długość
sygnałów wynikowych?
x=[10 50 24 60 37 77 89 22 63 9 52 31 49 54 28 14];
Prosty przykład filtru SOI
Wyznacz charakterystykę amplitudową i fazową
zadanego filtru.
Ć
wiczenie:
Ć
wiczenie:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
25
Podpowiedź:
-
utwórz wektor 512 elementowy uzupełniając wektor
odpowiedzi impulsowej 507 zerami,
-
oblicz transformacje Fouriera tego wektora (fft)
-
wyznacz charakterystyki amplitudowe (abs) i fazowe
(angle) filtru przyjmując, że zastosowano f
s
=100 Hz.
Prosty przykład filtru SOI
-1
0
1
2
3
Charakterystyka fazowa
ra
d
ia
n
y
0.4
0.6
0.8
1
Charakterystyka amplitudowa
A
m
p
lit
u
d
a
tzw. zero filtru
Charakterystyka fazowa
Charakterystyka amplitudowa
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
26
0
20
40
60
80
100
-3
-2
-1
f [Hz]
0
20
40
60
80
100
0
0.2
f [Hz]
Odpowiedź
impulsowa filtru
0
5
10
15
20
0
0.05
0.1
0.15
0.2
%MATLAB
freqz(b,a)
freqz(b,a,N,f
s
)
Prosty przykład filtru SOI
Zbadaj amplitudy i przesunięcia fazowe przebiegów
wyjściowych filtru gdy na jego wejście podano:
przebieg sinusoidalny f=1 Hz
Ć
wiczenie cd:
Ć
wiczenie cd:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
27
przebieg sinusoidalny f=1 Hz
przebieg sinusoidalny f=5 Hz
przebieg sinusoidalny f=20 Hz
Potwierdź, dla zadanego sygnału wejściowego filtru,
ż
e filtracja (splot) w dziedzinie czasu odpowiada
mnożeniu widma odpowiedzi impulsowej filtru i widma
sygnału.
0.2
0.4
0.6
0.8
1
1 Hz
Prosty przykład filtru SOI
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
5 Hz
Prosty przykład filtru SOI
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
20 Hz
Prosty przykład filtru SOI
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.5
1
1.5
2
input signal
Prosty przykład filtru SOI
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-2
-1.5
-1
-0.5
0
Prosty przykład filtru SOI
1
1.5
1.5
2
(
)
(
)
t
sin
t
sin
x
we
π
π
60
10
+
=
Hz
f
s
200
=
(
)
(
)
β
π
α
π
+
+
+
=
t
sin
b
t
sin
a
x
wy
60
10
?
,
,
b
,
a
=
β
α
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
32
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1.5
-1
-0.5
0
0.5
1
[sek]
W
y
j
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-2
-1.5
-1
-0.5
0
0.5
1
[s ek ]
W
e
j
tzw. liniowe zniekształcenia amplitudowe
Przekształcenie
z
Definicja:
Definicja:
Przekształceniem
z
ciągu próbek:
jest wyrażenie:
( ) ( ) ( )
( )
{
}
K
K
,
,
,
2
,
,
0
nT
x
T
x
T
x
x
(
)
n
j
j
n
j
e
e
e
ω
ω
−
−
ω
=
1
ω
=
j
e
z
(
)
( )
0
0
t
j
e
X
t
t
x
ω
ω
↔
−
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
33
jest wyrażenie:
( )
( )
( )
( )
(
)
( )
n
N
n
N
z
nT
x
z
NT
x
z
T
x
z
T
x
x
z
X
−
=
−
−
−
∑
=
+
+
+
+
=
0
2
1
2
0
K
Przekształcenie z pełni ważną rolę w cyfrowym
przetwarzaniu sygnałów, np. dla impulsu
jednostkowego
X
(z)=1
(
)
n
j
j
n
j
e
e
e
ω
ω
−
−
ω
=
1
Prze
ksz
tałcenie
z
- analogia do DFT
Przekształcenie
z
:
( )
( )
( )
(
)
( )
ω
ω
jn
n
n
j
n
e
r
n
x
re
n
x
z
n
x
z
X
−
−
∞
∞
−
−
∞
∞
−
−
∞
∞
−
∑
∑
∑
=
=
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
34
Zatem dla r=1 równanie powyższe,
tj. przekształcenie
z
jest równoważne
szeregowi Fouriera.
Jeżeli
x
(n)
reprezentuje odpowiedź
impulsową filtru, to
X
(z)
dla
|z|=1
jest
charakterystyką częstotliwościową filtru.
|z|=
1
r=
1
z=e
j
ω
Prze
ksz
tałcenie
z
- analogia do DFT
Przekształcenie
z
:
( )
( )
n
N
n
z
n
x
z
X
−
−
=
∑
=
1
0
Przekształcenie dyskretne Fouriera:
ω
π
j
jk
=
=
2
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
35
Przekształcenie dyskretne Fouriera:
( )
( )
n
N
k
j
N
n
N
jk
j
e
n
x
k
X
e
X
e
X
π
−
−
=
π
ω
∑
=
=
=
2
1
0
2
)
(
ω
j
N
jk
e
e
z
=
=
indeks częstotliwości
indeks czasu
ω=2πf/f
s
Przekształcenie
z
Równanie różnicowe filtru SOI:
Można wyrazić w dziedzinie przekształcenia
z
w postaci:
( )
( )
(
)
(
)
T
nT
x
T
nT
x
nT
x
nT
y
2
3
2
−
+
−
+
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
36
i otrzymać funkcję przejścia filtru:
( )
( )
( )
( )
2
1
3
2
−
−
+
+
=
z
z
X
z
z
X
z
X
z
Y
( )
( )
( )
2
1
3
2
1
−
−
+
+
=
=
z
z
z
X
z
Y
z
H
Przekształcenie
z
Podobnie, ogólne równanie różnicowe filtru cyfrowego:
( )
( ) (
)
( ) (
)
∑
∑
=
=
−
−
−
=
N
n
M
n
n
k
y
n
a
n
k
x
n
b
k
y
1
0
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
37
w dziedzinie przekształcenia
z
można zapisać w postaci:
( )
( )
( )
∑
∑
=
−
=
−
+
=
=
N
n
n
n
M
n
n
n
z
a
z
b
z
X
z
Y
z
H
1
0
1
zera filtru
bieguny filtru
Płaszczyzna
z
Zmienną
z
definiuje się:
ω
=
j
e
z
2
π
ω
=
π
f
π
=
ω 2
z=j
z=-1
z=1
r=1
Im(z)
radiany
na okres
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
38
π
2
3
ω
=
π
0
0
ω
=
2
π
s
f
f
π
=
ω 2
2
f
f
s
=
s
f
f
=
z=-j
z=-1
z=1
r=1
Re(z)
Filtr jest stabilny gdy bieguny filtru leżą wewnątrz
okręgu jednostkowego.
pulsacja unormowana
względem
f
s
Płaszczyzna
z
%MATLAB
zplane(0.2*ones(1,5),1)
1
Charakterystyka amplitudowa
Charakterystyka amplitudowa
1
0.8π
0.4π
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
39
0
20
40
60
80
100
0
0.2
0.4
0.6
0.8
f [Hz]
A
m
p
lit
u
d
a
tzw. zero filtru
-1
-0.5
0
0.5
1
-1
-0.5
0
0.5
Real part
Im
a
g
in
a
ry
p
a
rt
Wyznacz odpowiedź impulsową i analitycznie wyznacz
charakterystykę amplitudową filtrów:
Podstawowe filtry SOI
Ć
wiczenie:
Ć
wiczenie:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
40
( )
1
1
−
−
=
z
z
H
( )
(
)
1
1
5
.
0
−
+
=
z
z
H
Podpowiedź: przyjmij T=1 i zastosuj podstawienie:
T
j
e
z
ω
=
~ pierwsza pochodna sygnału
Podstawowe filtry SOI
( )
(
)
(
)
( )
ω
ω
j
j
e
H
e
z
z
H
=
+
=
+
=
−
−
1
5
.
0
1
5
.
0
1
Ć
wiczenie rozwiązanie :
Ć
wiczenie rozwiązanie :
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
41
( )
(
)
(
)
2
cos
2
cos
2
5
.
0
5
.
0
1
5
.
0
2
2
2
2
ω
ω
ω
ω
ω
ω
ω
ω
=
=
+
=
+
=
−
−
−
−
j
j
j
j
j
j
e
e
e
e
e
e
H
( )
2
2
cos
arg
arg
2
ω
ω
ω
ω
−
=
=
− j
j
e
e
H
charakterystyka
amplitudowa
charakterystyka
fazowa
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-60
-40
-20
0
M
a
g
n
it
u
d
e
R
e
sp
o
n
se
(
d
B
)
Podstawowe filtry SOI
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
42
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-100
-80
-60
-40
-20
0
Normalized frequency (Nyquist == 1)
P
h
a
se
(
d
e
g
re
e
s)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Normalized frequency (Nyquist == 1)
%MATLAB
freqz(0.5*[1 1],1);
Można projektować filtry SOI tak by zachować
liniową charakterystykę fazową. Zapewniają to
warunki symetrii dla współczynników filtru:
Warunek liniowej fazy dla filtrów SOI
(
)
( )
k
h
k
M
h
=
−
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
43
(
)
( )
k
h
k
M
h
=
−
(
)
( )
k
h
k
M
h
−
=
−
dla
M
k
,
,
1
,
0 K
=
Jaka jest korzyść z liniowej fazy filtru?
Opóźnienie sygnału na wyjściu filtru jest niezależne od
jego częstotliwości (zob. pierwsze ćwiczenie nt. filtrów).
!!
dla
M
parzystych lub nieparzystych
Filtr o liniowej fazie
t
d
– opóźnienie czasowe
s(t)=sin(
ω
t)
π
/4 – opóźnienie fazowe
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
44
s(t)=sin(2
ω
t)
π
/2 – opóźnienie czasowe
Filtry o liniowej fazie opóźniają wszystkie
częstotliwości o ten sam czas!
Warunek liniowej fazy dla filtrów SOI
(
)
( )
k
h
k
M
h
=
−
(
)
( )
k
h
k
M
h
−
=
−
dla
M
k
,
,
1
,
0 K
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
45
czas dyskretny
czas dyskretny
czas dyskretny
czas dyskretny
Zniekształcenia fazowe
(
)
(
)
t
sin
t
sin
x
we
π
π
20
10
+
=
+
+
+
=
2
20
2
10
π
π
π
π
t
sin
t
sin
x
wy
1
1.5
2
1
1.5
2
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
46
tzw. nieliniowe zniekształcenia fazowe
(np. duże zniekształcenia sygnałów akustycznych)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-1.5
-1
-0.5
0
0.5
[s ek ]
W
y
j
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-2
-1.5
-1
-0.5
0
0.5
[sek]
W
y
j
Zniekształcenia fazowe - przykład
20
30
M
a
g
n
it
u
d
e
R
e
s
p
o
n
s
e
(
d
B
)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
47
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-80
-60
-40
-20
0
Normalized frequency (Nyquist == 1)
P
h
a
s
e
(
d
e
g
re
e
s
)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
-10
0
10
20
Normalized frequency (Nyquist == 1)
M
a
g
n
it
u
d
e
R
e
s
p
o
n
s
e
(
d
B
)
%Matlab
x=wavread(‘glos_meski.wav’);
y=filter(1,[1 -0.95],x);
sound(y,fs)
Jak przekształcić dolnoprzepustowy
filtr SOI w filtr górno przepustowy?
Ć
wiczenie:
Ć
wiczenie:
Zastosuj następujące przekształcenie dla współczynników
b
H
przykładowego dolnoprzepustowego filtru SOI.
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
48
Zbadaj charakterystykę otrzymanego filtru i porównaj ją z
prototypowym filtrem dolnoprzepustowym.
Zobacz tw. o modulacji dla przekształcenia Fouriera
( )
( )
n
b
b
L
n
H
1
−
=
Inne przykłady filtrów SOI
Zbadaj charakterystyki filtrów o odpowiedzi impulsowej:
h=0.25*[1 2 1] , tzw. filtr von Hanna
Ć
wiczenie cd:
Ć
wiczenie cd:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
49
h=0.25*[1 2 1] , tzw. filtr von Hanna
h=[1 -2 1] , ~ druga pochodna sygnału
Projektowanie filtrów SOI
metodą rozmieszczania zer filtru
( )
( ) ( )
( ) ( )
( ) ( )
n
z
z
X
n
b
z
z
X
b
z
X
b
z
Y
−
−
+
+
+
=
K
1
1
0
Równanie różnicowe filtru SOI:
Transmitancja operatorowa filtru SOI:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
50
Transmitancja operatorowa filtru SOI:
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
(
)(
) (
)
n
n
n
n
n
n
z
z
z
z
z
z
z
b
b
n
b
z
b
b
z
z
b
z
n
b
z
b
b
z
H
−
−
−
=
=
+
+
+
=
=
+
+
+
=
−
−
−
−
−
K
K
K
2
1
1
1
0
0
0
1
0
1
0
zera filtru
Projektowanie filtrów SOI
metodą rozmieszczania zer filtru
Pierwiastki równania:
to liczby
z
,
z
, …
z
. Ponieważ współczynniki
( )
( )
(
)(
) (
)
0
0
2
1
=
−
−
−
=
−
n
n
z
z
z
z
z
z
z
b
z
H
K
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
51
to liczby
z
1
,
z
2
, …
z
n
. Ponieważ współczynniki
równania są rzeczywiste to zera tworzą pary
zespolone sprzężone albo są rzeczywiste.
Charakterystyki częstotliwościowe filtrów SOI
można kształtować odpowiednio rozmieszczając
zera filtru.
0.6
0.8
1
Projektowanie filtrów SOI
metodą rozmieszczania zer filtru
Przykład:
Skonstruować filtr SOI, który „zeruje” pulsację π/4
rad/okres.
( )
( )
(
)(
)
4
/
4
/
2
0
π
−
π
−
−
−
=
j
j
e
z
e
z
z
b
z
H
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
52
-1
-0.5
0
0.5
1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
Real part
Im
a
g
in
a
ry
p
a
rt
( )
( )
(
)
(
)
2
1
2
−
+
−
−
=
k
x
k
x
k
x
k
y
Równanie różnicowe filtru:
( )
( )
(
)(
)
0
−
−
=
Dla
b
(0)=1:
( )
(
)(
)
2
1
2
2
4
/
4
/
2
2
1
1
4
cos
2
−
−
−
π
−
π
−
+
−
=
+
π
−
=
=
−
−
=
z
z
z
z
z
e
z
e
z
z
z
H
j
j
Projektowanie filtrów SOI
metodą rozmieszczania zer filtru
Przykład:
( )
4
sin
π
=
k
k
x
Sprawdzenie dla sygnału:
6
5
4
3
2
1
0
:
k
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
53
( )
( )
(
)
(
)
2
1
2
−
+
−
−
=
k
x
k
x
k
x
k
y
Równanie różnicowe filtru:
( )
( )
0
0
0
0
0
2
/
1
0
:
1
2
/
1
0
2
/
1
1
2
/
1
0
:
6
5
4
3
2
1
0
:
k
y
k
x
k
−
−
Sprawdź przebieg charakterystyki widmowej:
freqz
Projektowanie filtrów SOI
metodą okien czasowych
Chcemy zaprojektować idealny
filtr dolnoprzepustowy.
Otrzymujemy nierealizowalną,
nieskończoną w czasie
A(
ω
)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
54
nieskończoną w czasie
charakterystykę odpowiedzi
impulsowej:
ω
ω
0
( )
?
2
1
0
0
=
=
∫
+
−
−
ω
π
ω
ω
ω
d
e
n
h
n
j
Należy ograniczyć czas trwania tej odpowiedzi.
Projektowanie filtrów SOI
metodą okien czasowych
Zastosowanie okna czasowego ograniczającego czas
trwania tej odpowiedzi pozwala uzyskać filtr realizowalny
fizycznie,
np. dla filtru dolnoprzepustowego o częstotliwości odcięcia
0.4π rad/s i odpowiedzi impulsowej ograniczonej do 51
próbek:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
55
próbek:
b=0.4*sinc(0.4*(-25:25));
%zobacz również (-100:100)
uzyskuję się charakterystykę:
[H,f]=freqz(b,1,512,2);
plot(f,abs(H)),grid
Projektowanie filtrów SOI
metodą okien czasowych
0.6
0.8
1
1.2
1.4
tzw. efekt Gibbsa
~9% amplitudy impulsu
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
56
0
0.2
0.4
0.6
0.8
1
0
0.2
0.4
~9% amplitudy impulsu
f
Efekt Gibbsa można zredukować stosując zamiast
okna prostokątnego wycinającego odpowiedź
impulsową, okno o kształcie podobnym do funkcji
Gaussa, np. okno Hamminga
Projektowanie filtrów SOI
metodą okien czasowych
%MATLAB
0.4
0.6
0.8
1
Okno Hamminga
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
57
f
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
rząd filtru
W programie Matlab opisaną procedurę projektowania
filtrów implementuje instrukcja syntezy filtru FIR ‘fir1’
Zadanie dla dociekliwych
Wyjaśnić skąd się bierze tzw.
efekt Gibbsa
efekt Gibbsa
.
Pokazać, że maksymalna amplituda oscylacji
w tym efekcie jest niezależna od czasu
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
58
w tym efekcie jest niezależna od czasu
trwania okna prostokątnego wycinającego
sygnał.
Prosty filtr NOI
( )
( )
( )
1
1
1
−
−
=
=
z
z
X
z
Y
z
H
β
Rozważmy prosty filtr NOI:
( )
(
)
( )
n
x
n
y
n
y
+
−
=
1
β
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
59
( )
1
− z
z
X
β
( )
β
β
−
=
−
=
−
z
z
z
z
z
z
H
1
1
1
zero z=0
biegun z=
β
a
(1)
a
(2)=-
β
Prosty filtr NOI
-5
0
5
10
M
a
g
n
it
u
d
e
R
e
s
p
o
n
s
e
(
d
B
)
0.5
1
Im
a
g
in
a
ry
p
a
rt
5
.
0
=
β
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
60
0
0.2
0.4
0.6
0.8
1
-30
-20
-10
0
Norm aliz ed frequenc y (Ny quis t = = 1)
P
h
a
s
e
(
d
e
g
re
e
s
)
0
0.2
0.4
0.6
0.8
1
-5
Norm aliz ed frequenc y (Ny quis t = = 1)
M
a
g
n
it
u
d
e
R
e
s
p
o
n
s
e
(
d
B
)
-1
-0.5
0
0.5
1
-1
-0.5
0
Real part
Im
a
g
in
a
ry
p
a
rt
5
.
0
=
β
Prosty filtr NOI
3
4
5
6
7
x 10
5
β=1.5>1
0.8
1
β=0.5<1
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
61
0
10
20
30
0
1
2
3
β=1.5>1
pł. z
0
5
10
0
0.2
0.4
0.6
β=0.5<1
pł. z
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>
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
62
% 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)’
Projektowanie filtrów NOI
Metoda niezmienności odpowiedzi impulsowej:
% MATLAB
%dolnoprzepustowy Butterwotha
[b,a]=butter(5,0.4)
Wyznacz odpowiedzi impulsowe
tych filtrów
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
63
[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’);
Porównanie filtrów SOI i NOI
SOI
NOI
z definicji stabilne
łatwe projektowanie
łatwo zapewnić liniową fazę
mogą być niestabilne
bardziej złożone projektowanie
nieliniowa faza
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
64
łatwo zapewnić liniową fazę
uzyskanie stromej
charakterystyki jest możliwe
dla dużego rzędu filtru
skończoną dokładność
reprezentacji współczynników
filtru nie jest dokuczliwa
nieliniowa faza
możliwość uzyskiwania bardzo
stromej charakterystyki
problemy implementacyjne
z uwagi na skończoną
dokładność reprezentacji
współczynników filtru
Narzędzie projektowania filtrów „sptool”
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
65
Idea filtru adaptacyjnego
x
(n-P+1)
...
w
1
w
2
y
(n)
∑
w
0
x
0
= 1
kolejne próbki sygnału
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
66
x
(n-1)
x
(n)
w
P
∑
∑
d
(n)
ε
(n)
Funkcja celu
:
E
[d(n)
–
w
T
x] = [(d(n) - y(n))
2
] = E[
ε
2
]
→ min
Adaptacyjna redukcja zakłóceń
s(t) = x(t) + v(t)
Σ
e(t) = x(t)
^
ź
ródło
sygnału
+
_
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
67
Filtr
adaptacyjny
n(t)
ź
ródło
zakłóceń
v(t)
^
(tzw. wejście
odniesienia)
Reguła
adaptacji wag
( )
( )
t
e
t
w
∇
−
=
∆
η
Adaptacyjna redukcja zakłóceń
Minimum wielkości e(t) odpowiada najskuteczniejszej
(zgodnie z minimum błędu średniokwadratowego)
redukcji zakłóceń:
)
(
ˆ
)
(
)
(
)
(
ˆ
)
(
)
(
t
v
t
v
t
x
t
v
t
s
t
e
−
+
=
−
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
68
)
(
ˆ
)
(
)
(
)
(
ˆ
)
(
)
(
t
v
t
v
t
x
t
v
t
s
t
e
−
+
=
−
=
]
[
]
)
ˆ
[(
)]
ˆ
(
[
2
]
[
]
[
2
2
2
2
x
E
v
v
E
v
v
x
E
x
E
e
E
≈
−
+
−
+
=
→ ∅
=
∅
sygnał i zakłócenie
są nieskorelowane
c.n.d.
Zastosowania filtracji adaptacyjnej
w adaptacyjnej redukcji zakłóceń mierzonego sygnału
od sieci energetycznej oraz redukcji zakłóceń od
Filtry adaptacyjne są stosowane głównie do
filtracji sygnałów niestacjonarnych, np.:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
69
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)
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
Uśrednianie synchroniczne sygnału
( )
( )
( )
t
n
t
s
t
x
+
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
70
( )
( )
( )
t
n
t
s
t
x
+
=
f
zakłócenie
sygnał
użyteczny
A(f)
f
zakłócenie
sygnał
użyteczny
A(f)
Widma częstotliwościowe sygnału i zakłócenia
( )
ω
N
( )
ω
N
( )
ω
S
( )
ω
S
Uśrednianie synchroniczne sygnału
Idea uśredniania synchronicznego
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
71
Sygnały synchronizujące
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
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
72
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
Uśrednianie synchroniczne sygnału
∑
=
=
N
n
n
N
1
1
ˆ
x
x
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
73
x
1
x
2
x
3
x
N
……
x
^
Odchylenie standardowe sygnału:
σ
s
Odchylenie standardowe zakłócenia:
σ
n
Stosunek sygnału do zakłócenia:
Uśrednianie synchroniczne sygnału
n
s
SNR
σ
σ
=
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
74
Po N uśrednieniach:
n
s
N
N
SNR
σ
σ
=
n
σ
N
Zatem poprawa SNR po
N uśrednieniach wynosi:
0
100
200
300
400
500
10
0
10
1
10
2
Zastosowania:
detekcja podszumowa sygnału tj. dla
σ
s
<<
σ
n
(zastosowania w telekomunikacji)
analiza elektrycznych potencjałów wywołanych
Uśrednianie synchroniczne sygnału
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
75
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)
Uśrednianie synchroniczne sygnału
Ć
wiczenie:
Ć
wiczenie:
Zakłócony sygnał EKG ‘ecg_s.mat’
poddaj wygładzeniu przez synchronizowane
sumowanie jego kolejnych cykli.
Sprawdź jaką poprawę SNR uzyskałeś po
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
76
Sprawdź jaką poprawę SNR uzyskałeś po
kolejnych 2, 3, 4, … uśrednieniach sygnału.
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}
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
77
x
(n)={1, 5, -7, 101, -25, 3, 0, 11, 7}
Porządkowanie (sortowanie) ciągu:
x
s
(n)={-25, -7, 0, 1, 3, 5, 7, 11, 101 }
Element środkowy
Filtracja medianowa sygnałów
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
78
czas dyskretny
czas dyskretny
M
M=2
=2m
m+1=5
+1=5
sortowanie
M
M=5
=5
Filtracja medianowa sygnałów
2
5
-1
7
0
3 -15 9
1 20 6
-9
x
n
Filtracja medianowa sygnału:
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
79
1
2
7
-1
2
5
2
2
5
0
3
0
?
?
?
?
6
6
med
3
(x
n
)
Kierunek przesuwania
okna filtracji
wyznacz medianę
Filtracja medianowa sygnałów
Własności filtru medianowego:
usuwają zakłócenia impulsowe sygnału o szerokości
mniejszej niż połowa szerokości okna filtracji
nie zniekształca położenia i kształtu zbocz impulsów
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
80
o szerokości większej niż połowa okna filtracji
zakres [min, max] sygnału po filtracji medianowej nie
jest przekroczony
z uwagi na konieczne sortowanie próbek sygnału w
oknie filtracji koszt obliczeniowy filtracji medianowej
jest wielokrotnie większy od filtracji splotowej
Filtracja medianowa sygnałów
Ć
wiczenie:
Ć
wiczenie:
Utwórz przebieg prostokątny
(‘help square’) i dodaj losowe zakłócenia
impulsowe do tego przebiegu.
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
81
impulsowe do tego przebiegu.
Porównaj wynik filtracji tego sygnału uzyskany po
liniowej filtracji wygładzającej z wynikiem filtracji
uzyskanym po zastosowaniu filtru medianowego
(‘help medfilt1’).
Filtracja medianowa -przykład
360
370
380
390
400
y=med
(x)
x
(t)
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
82
0
20
40
60
80
100
120
140
160
310
320
330
340
350
M
=7
0
20
40
60
80
100
120
140
160
-5
0
5
10
15
20
25
30
35
40
45
y=x-med
(x)
Filtracja medianowa sygnałów
Ć
wiczenie:
Ć
wiczenie:
Zastosuj ideę filtracji medianowej
pokazanej na slajdzie 31 do detekcji zespołów QRS w
sygnale ‘ecg_mit.mat’.
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
83
sygnale ‘ecg_mit.mat’.
Jaka jest optymalny zakres szerokości okna filtracji dla
tego zastosowania filtru medianowego?
Filtracja nieliniowa sygnałów
Czy dla filtrów nieliniowych można wyznaczyć
transmitancje filtru?
Paweł Strumiłło, Instytut Elektroniki Politechniki Łódzkiej
84