1 Filtrowanie a sploty
Filtrowanie sygnału to splatanie go z funkcją odpowiedzi impulsowej filtru
np.:
x = randn(5,1); % sygnał stochastyczny o długości 5 próbek
h = [1 1 1 1]/4; % Filtr uśredniający po 4 sąsiednich elementach
y = conv(h,x); % zaaplikowanie filtru h do sygnału x
W dziedzinie częstości filtrowanie odpowiada przemnożeniu transformaty
sygnału przez transformatę funkcji przenoszenia filtru:
b(1) + b(2)z-1 + . . . + b(nb + 1)z-nb
Y (z) = H(z)X(z) = X(z) (1)
a(1) + a(2)z-1 + . . . + a(na + 1)z-na
Nazewnictwo
" Jeśli nb = 0 czyli licznik jest skalarem w zerach mianownika H(z)
wybucha więc mamy filtr nieskończonej odpowiedzi impulsowej nazywa
się go: (Infinite Impulse Responce IIR), filtr rekursywny, autoregresyw-
ny AR,
" Jeśli na = 0 czyli mianownik jest skalarem to funkcja H(z) jest
przyzwoita i nie wybucha filtr ma skończoną odpowiedz impulsową.
Nazywamy go (Finite Impulse Responce FIR), nierekursywny, średnia
biegnąca (Moving Average MA)
" jak w mianowniku i w liczniku mamy jakieś wielomiany to filtr jest
typu IIR albo ARMA - autoregresive moving average.
Określenia AR MA ARMA stosuje się głównie dla sygnałów stochastycznych
(np. EEG !)
Jeśli policzyć odwrotną transformatę z równania 1 to dostaniemy filtr w
postaci równania różnicowego:
a(1)y(n)+a(2)y(n-1)+. . .+a(an+1)y(n-na) = b(1)x(n)+b(2)x(n-1)+. . .+b(nb+1)x(n-nb)
(2)
coś takiego jest zaiplemetnowane w funkcji
filter
1
np:
b=1; %licznik
a=[1 -0.9];%mianownik
y=filter(b,a,x)% x nasz sygnał y - wynik filtrowania o takiej samej długości c
1.1 Badanie własności filtru w dziedzinie częstości
[h,w]=freqz(b,a,n); % n ilość punktów na których będzie obliczona funkcja h
m=abs(h); % przenoszenie częstości
ph=unwrap(angle(h)); % faza
1.2 Opóznienie grupowe i fazowe filtru
grupowe:
dĆ()
g() = -
d
[gd, w]= grpdelay(b,a,n);
fazowe
Ć()
p() = -
Przykład:
[b,a] = butter(10,200/1000);
gd = grpdelay(b,a,128);
[h,f] = freqz(b,a,128,2000);
pd = -unwrap(angle(h))*(2000/(2*pi))./f;
plot(f,gd, - ,f,pd, -- )
axis([0 1000 -30 30])
legend( Group Delay , Phase Delay )
1.3 Zaburzanie fazy
filtfilt
2
2 Projektowanie filtru
2.1 Specyfikacja własności filtru
" ogólne określenie pasma przenoszenia np: dla sygnału próbkowanego
128 Hz zaprojektować filtr dolnoprzepustowy 30 Hz
" w bardziej rygorystycznym opisie możemy wymagać:
wielkość lisków (ripple) w paśmie przenoszenia (pass band), tłu-
mienie pasma tłumieniowego (stop band), szerokość pasma przej-
ściowego
Oknowanie odwrotnej transformaty fouriera
fir1 - klasyczne pasma lowpass, bandpass, highpass, bandstop
fir2 - dowolne, odcinakmi prostoliniowe pasmo przenoszenia
firls - uogólnienie fir1 i fir2 robi minimalizację błędu kwadratowego między po
remez - algorytm optymalizuje filtr pod względem maksymalnej rozbieżności po
Wszystkie funkcje do projektowania filtow w matlabie dzialaja na znormali-
zowanej czestosci: F N = 1
3 Zadania
3.1 Zaprojektuj i zbadaj własności filtru:
1. FIR 48 rzędu z pasmem przenoszenia 35 < < 0.65
2. FIR 20 rzędu dolnoprzepustowy z pasmem przenoszenia do 40 Hz dla
sygnału próbkowanego 256 Hz
3. FIR gornoprzepustowy z pasmem przenoszenia od 30 Hz dla sygnału
próbkowanego 256 Hz
Przykład:
f = [0 0.6 0.6 1]; m = [1 1 0 0];
b = fir2(30,f,m);
[h,w] = freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend( Idealny , To co wyszlo z fir2 )
3
Przykład:
n = 20; % Filter order
f = [0 0.4 0.5 1]; % Frequency band edges
a = [1 1 0 0]; % Desired amplitudes
b = remez(n,f,a);
bb = firls(n,f,a);
3.2 Porownaj oba powyzsze filtry
4
Wyszukiwarka
Podobne podstrony:
Mazda5 Filtro Particulas Diesellab Projektowanie filtrowTrasowanie i filtrowanie w LinuxieFAZY DZIAŁANIA FILTROWANIE CZĄSTEKFiltrowanieObrazowUniwersalny moduł filtrów Sallen Keyainstrukcja bhp przy obsludze urzadzenia filtrowentylacyjnego smok 1a ww2010 06 Wyklad 11 Filtrowanie Nieznanyfiltrowanie pakietów w Linuksie 2 4Wykład 5 3 porównanie rzędu filtrówFiltrowanie pakietów w Linuksie 2 4więcej podobnych podstron