2A 5 id 32294 Nieznany (2)

background image












Metody projektowania wybranych filtrów

cyfrowych



Instrukcja laboratoryjna

























Opracował:


………………………………….…………..
Imię i nazwisko, numer grupy szkoleniowej

background image


1. Teoria

Filtr cyfrowy jest liniowym układem dyskretnym niezmiennym względem przesunięcia, zrealizowany
za pomocą arytmetyki o skończonej precyzji. Projektowanie filtrów cyfrowych obejmuje trzy etapy:

1. określenie pożądanych właściwości układu,
2. aproksymację tych właściwości za pomocą przyczynowego układu dyskretnego,
3. realizację układu za pomocą arytmetyki o skończonej precyzji.

Równanie filtru opisuje jego transmitancja dyskretna w postaci:

)

...

/(

)

...

(

)

(

1

1

0

1

1

0

m

m

m

n

n

n

a

z

a

z

a

b

z

b

z

b

z

H

+

+

+

+

+

+

=

lub jako równoważne równanie różnicowe:

=

=

=

N

k

N

k

k

n

k

k

n

k

k

y

a

x

b

y

0

1

Jeżeli funkcja ma mianownik równy 1 to filtr jest określony jako FIR (ang. Finite Impulse Response) .
Jeśli funkcja ma licznik równy 1, to filtr jest określony jako IIR (ang. Infinite Impulse Response).

Zwyczajowo projektowanie filtrów cyfrowych typu NOI jest w istocie przekształcaniem filtru

analogowego w filtr cyfrowy spełniający założone wymagania.
Metoda niezmienności impulsowej – zakłada się, ze odpowiedź impulsowa filtru cyfrowego jest
równa ciągowi próbek równomiernie pobranych z odpowiedzi impulsowej filtru analogowego. Metodę
tę stosuje się często nie dlatego, aby odtwarzać kształt odpowiedzi impulsowej, ale dlatego, że
zapewnia ona w przypadku analogowego filtru wąskopasmowego charakterystykę częstotliwościową
filtru cyfrowego, która dobrze aproksymuje charakterystykę częstotliwościową filtru analogowego.
Projektowanie oparte na numerycznym rozwiązywaniu równań różniczkowych – rozważmy
transmitancję układu analogowego, gdzie x

a

(t) jest sygnałem wejściowym, y

a

(t) sygnałem wyjściowym,

X

a

(s) i Y

a

(s) zaś odpowiednio ich transformatami Laplace’a:

)

(

)

(

)

(

0

0

s

X

s

Y

s

c

s

d

s

H

a

a

N

k

k

k

M

k

k

k

a

=

=

=

=

, układ analogowy mający transmitancję H

a

(s) może być

równoważnie opisany za pomocą równania różniczkowego:

=

=

=

N

k

M

k

k

a

k

k

k

a

k

k

dt

t

x

d

d

dt

t

y

d

c

0

0

)

(

)

(

, projektowanie oparte na numerycznym rozwiązywaniu

równań różniczkowych polega na zastąpieniu pochodnych w powyższym równaniu różnicami
skończonymi.
Projektowanie w oparciu o transformację dwuliniową.

Metoda ta jest oparta na

całkowaniu równania różniczkowego i wykorzystaniu numerycznej aproksymacji całki.

Odwracalna transformacja wyrażona równaniem

1

1

1

1

2

+

=

z

z

T

s

jest znana jako transformacja

dwuliniowa.

2. Zadania laboratoryjne


LAB_3_1 :
PROJEKTOWANIE FILTRU IIR NA PODSTAWIE PROTOTYPU ANALOGOWEGO

Celem ćwiczenia jest zapoznanie z metodą projektowania filtru IIR w oparciu o transformacje
jego prototypu analogowego.

background image

W projektowaniu filtru cyfrowego z użyciem prototypu analogowego praktyką jest
projektowanie filtru dolnoprzepustowego a następnie jego transformacja do żądanej postaci
(środkowoprzepustowy, górnoprzepustowy lub środkowozaporowy). W rozwiązaniu
zastosowanym w Matlabie procedura projektowania składa się z następujących etapów:

a) Określenie specyfikacji prototypu filtru na podstawie wymagań charakterystyki

częstotliwościowej (

ω

p

,

ω

s

, R

p

, R

s

)

b) Projekt znormalizowanego prototypu analogowego N-tego rzędu o częstotliwości

odcięcia równej 1.

c) Transformacja otrzymanego opisu znormalizowanego filtru dolnoprzepustowego do

odpowiedniego typu filtru o częstotliwościach rzeczywistych.

d) Zastosowanie transformacji biliniowej

1

1

2

+

=

s

s

s

f

s

, gdzie f

s

oznacza częstotliwość

próbkowania, dla przekształcenia prototypu analogowego w cyfrowy.


1. Uruchomić Matlaba
2. Otworzyć okno edycyjne m.-pliku funkcyjnego: File -> New -> M-file
3. Zaprojektować kilka typów filtrów dolnoprzepustowych o rzędach: 10, 20, 50 o różnych

typach podstawiając odpowiednie wartości do wzoru:


[l,m]= butter(N,Wn)

- filtr Butterwortha

[l,m]= cheby1(N,R

p

,W

n

)

– filtr Czebyszewa I

[l,m]= cheby2(N,R

s

,W

n

)

– filtr Czebyszewa II

[l,m]= ellip(N,R

p

,Rs,Wn) – filtr eliptyczny (Cauera)

Argumentami wywołania funkcji jest: N rząd filtru, W

n

– znormalizowana

częstotliwość odcięcia filtru, R

p

– amplituda tętnień w paśmie przepustowym (w dB), R

s

amplituda tętnień w paśmie zaporowym (w dB). W wyniku takiego wywołania otrzymuje się
dwa wektory wyjściowe l i m, zawierajęce współczynniki wielomianu licznika i mianownika.
Zmieniając jedynie parametry wyjściowe funkcji z [l,m] na [z,p,k] lub [A,B,C,D], otrzymać
można inne formy opisu transmitancji filtru. Przedstawiony sposób wywołania ma jedynie
zastosowanie do filtrów dolnoprzepustowych. W przypadku filtrów górnoprzepustowych,
środkowoprzepustowych i górnozaporowych należy odpowiednio zmodyfikować parametry
i linie wywołania funkcji.

Przy filtrze środkowoprzepustowym jako częstotliwość odcięcia W

n

wystarczy podać

wektor W

n

=[W

1

W

2

], w których W

1

i W

2

oznaczają dolną i górną częstotliwość zaporową, a

linia wywołania funkcji (na przykładzie filtru Butterwortha) ma postać:

[l,m] = butter(N,Wn, ‘Stop’)

Dla ułatwienia procesu projektowania można skorzystać z dodatkowych m-plików
funkcyjnych określających wielkości: W

n

(częstotliwość znormalizowana) i N rząd filtru

Na podstawie wymagań odczytanych z zadanej charakterystyki częstotliwościowej filtru, to
jest W

p

, W

s

, R

p

oraz R

s .


1. Uruchomić Matlaba
2. Otworzyć okno edycyjne m-pliku funkcyjnego: File -> New -> M-file
3. Zaprojektować kilka typów filtrów dolnoprzepustowych (ich rząd oraz znormalizowaną

częstotliwość odcięcia) podstawiając odpowiednie wartości do wzoru:


[N, W

n

]=buttord(W

p

,W

s

,R

p

,R

s

)

– filtr Butterwortha

[N, Wn]=cheb1ord(W

p

,W

s

,R

p

,R

s

) – filtr Czebyszewa I

background image

[N, W

n

]=cheb2ord(W

p

,W

s

,R

p

,R

s

) – filtr Czebyszewa II

[N, W

n

]=ellipord(W

p

,W

s

,R

p

,R

s

)

– filtr Cauera

4. Wyrysuj charakterystyki tak zaprojektowanych filtrów np.

[l,m]=butter(N,W

n

)

[h1,w1]=freqz(l,m,128);
subplot(2,1,1), plot(w1/pi, abs(h1))

Zanotuj wnioski po przeanalizowaniu w ten sposób otrzymanych charakterystyk. Czy dla
wymienionych typów filtrów selektywność filtru jest taka sama dla tych samych rzędów
filtrów?

LAB_3_2:
PROJEKTOWANIE BEZPOŚREDNIE FILTRÓW TYPU IIR

W projektowaniu bezpośrednim filtru typu IIR wykorzystuje się metodę Yule’a-Walkera
dobierającą optymalizacyjnie współczynniki filtru w taki sposób, aby jego charakterystyka
amplitudowa najlepiej pokrywała się z zadaną charakterystyką amplitudową mag(f), w której
f

jest wektorem określającym punkty częstotliwościowe, a mag wartości amplitudy w tych

punktach. Funkcja do projektowania bezpośredniego nosi nazwę yulewalk.

Wektor f określa punkty częstotliwościowe od 0 do 1 (1 odpowiada częstotliwości Nyquista)
w porządku rosnącym, przy czym dozwolone jest dwukrotne użycie wartości częstotliwości
(odpowiada to skokowej zmianie charakterystyki amplitudowej mag). Wartość N jest
proponowanym rzędem filtru. Im wyższa wartość N, tym lepsze dopasowanie.

1. Uruchomić Matlaba
2. Otworzyć okno edycyjne m.-pliku funkcyjnego: File -> New -> M-file
3. Wpisz poniższy kod źródłowy
4. Zaproponuj własny filtr środkowoprzepustowy o bardzo dużej selektywności, wyrysuj

rozkład zer i biegunów na płaszczyźnie Z.


f=[0 0.1 0.13 0.3 0.32 0.4 0.42 0.6 0.63 0.8 0.83 0.9 0.92 1];
mag=[0 0 1 1 0.5 0.5 0 0 1 1 0.7 0.7 0 0 ];
[l1,m1]=yulewalk(18,f,mag);
[h1,w1]=freqz(l1,m1,128);
[l2,m2]=yulewalk(50,f,mag);
[h2,w2]=freqz(l2,m2,128);
subplot(211),plot(f,mag,w1/pi,abs(h1)),
grid,xlabel(‘f’),ylabel(‘abs(h1)’),title(‘rzad N=18’)
subplot(212), plot(f,mag,w2/pi,abs(h2)),
grid,xlabel(‘f’),ylabel(‘abs(h2)’), title(‘rzad N=50’)
pause,clg
[z,p,k]=tf2zp(l1,m1);
fi=0:0.05:2*pi;
axis(‘square’)
plot(real(p),imag(p),’x’, sin(fi),cos(fi))
xlabel(‘real(p)’),ylabel(‘imag(p)’),title(‘Rozklad biegunow’), grid

background image

Program dokonuje projektowania dwu filtrów typu IIR: jeden jest rzędu 18, drugi rzędu
50. Dodatkowo analizowane jest położenie biegunów otrzymanej funkcji w celu
sprawdzania warunków stabilności filtru.

LAB_3_3:
PROJEKTOWANIE FILTRÓW TYPU FIR

Filtry o skończonej odpowiedzi impulsowej FIR, choć zwykle dużo wyższego rzędu niż IIR,
posiadają wiele zalet, z których najważniejsze to możliwość uzyskania dokładnie liniowej
charakterystyki fazowej, bezwzględna stabilność, prostota projektowania. Matlab zapewnia
kilka funkcji do projektowania tego typu filtru. Należy do nich remez, w której realizuje się
algorytm Parks-McClelllana. Wywołanie tej funkcji ma postać:

b = remez (N, f, mag)

Gdzie argumenty wejściowe N, f, mag mają identyczną interpretację jak funkcji yulewalk,
natomiast b zawiera obliczone wartości współczynników transmitancji filtru FIR.

1. Uruchomić Matlaba
2. Otworzyć okno edycyjne m.-pliku funkcyjnego: File -> New -> M-file
3. Zaprojektować dolnoprzepustowy filtr FIR rzędu 30 o znormalizowanej częstotliwości

odcięcia 0.3 wykorzystując metodę remez

4. Wyrysować charakterystykę amplitudową oraz położenie zer na płaszczyźnie Z


W sposób podobny wywołuje się funkcję fir2, stosującą klasyczny algorytm okienkowy
projektowania filtru FIR z oknem wybieranym przez użytkownika. Sposób jej wywołania

b = fir2(N, f, mag, window)

Uwzględnia dodatkowo możliwość użycia wybranego okna (jedno spośród następujących
funkcji okna: bartlett, blackman, boxcar, chebwin, hamming, hanning, kaiser, triang). Przy
opuszczeniu w linii wywołania nazwy okna, stosowane jest okno Hamminga.

1. Uruchomić Matlaba
2. Otworzyć okno edycyjne m.-pliku funkcyjnego: File -> New -> M-file
3. Zaprojektować dolnoprzepustowy filtr FIR rzędu 30 o znormalizowanej częstotliwości

odcięcia 0.3 wykorzystując metodę okienkową fir2

4. Wyrysować charakterystykę amplitudową oraz położenie zer na płaszczyźnie Z


LAB_3_4 :
BADANIE WPŁYWU RZĘDU FILTRU NA JEGO CHARAKTERYSYKĘ
AMPLITUDOWĄ

Celem ćwiczenia jest zapoznanie z własnościami filtru cyfrowego zrealizowanego w postaci
kaskady ogniw drugiego rzędu (posiadających po 2 bieguny (i zera) sprzężone), oraz
wpływem poszczególnych ogniw na charakterystykę filtru

1. Uruchomić MATLABA
2. Uruchomić program “sosdemo”, pisząc jego nazwę w oknie MATLABA
3. W drugim menu po prawej stronie wybrać filtr Butterwortha opcją “Butter
4. Zaobserwować przebieg łącznej charakterystyki filtru w zależności od ilości ogniw.

background image

5. W polu “Cascade” wyłączyć łączne wyliczanie charakterystyki i zaobserwować
charakterystyki poszczególnych ogniw filtru.
6. W polu “Show all” wyłączyć wyświetlanie wszystkich charakterystyk, w polu “3-D plot
wyłączyć rysowanie trójwymiarowe, przerysować poszczególne charakterystyki łączne i
poszczególnych ogniw.
7. W drugim menu po prawej stronie wybrać kolejne filtry i powtórzyć kroki 4-6


LAB_3_5 :
BADANIE WPŁYWU TYPU FILTRU NA JEGO RZĄD, PRZY ZADANYCH
TOLERANCJACH NA CHARAKTERYSTYKĘ AMPLITUDOWĄ

Celem ćwiczenia jest zapoznanie z zależnością między typem filtru a rzędem przy zadanych
zafalowaniach, pasmie przejściowym i tłumieniu w pasmie zaporowym.

1. Uruchomić MATLABA
2. Uruchomić program “filtdemo”, pisząc jego nazwę w oknie MATLABA
3. W górnym menu po prawej stronie wybrać filtr Butterwortha opcją “Butter
4. Zaobserwować przebieg charakterystyki filtru w zależności od zadanych tolerancji.
5. W polu “Order” odczytać rząd filtru spełniającego zadane wymagania.
6. W polu “Fstop” zmienić częstotliwość z 600 na 550, 800 Hz i odczytać niezbędne rzędy
filtru. Powrócić do ustawienia początkowego.
7. W polu “Rpass” zmienić zafalowania w paśmie przepustowym z 3 dB na 1, i 0.1 dB
i odczytać niezbędne rzędy filtru. Powrócić do ustawienia początkowego.
8. W polu “Rstop” zmienić tłumienie w paśmie zaporowym z 50 dB na 30, i 80 dB i odczytać
niezbędne rzędy filtru. Powrócić do ustawienia początkowego.
9. Powtórzyć kroki 4-8 dla pozostałych typów filtrów.

LAB_3_6 :
BADANIE WPŁYWU FILTRU CYFROWEGO NA SYGNAŁY CYFROWE

Celem ćwiczenia jest zapoznanie z efektem filtracji sygnału za pomocą filtru cyfrowego.

1. Uruchomić MATLABA
2. Uruchomić program “simulink”, pisząc jego nazwę w oknie MATLABA
3. Uruchomić program “extras”, klikając myszą na jego nazwę w oknie SIMULINKA.
4. Uruchomić program “filters”, klikając myszą na jego nazwę w oknie EXTRAS.
5. Uruchomić program “digital lowpass”, zawierający bibliotekę filtrów cyfrowych
dolnoprzepustowych klikając myszą na jego nazwę.
6. Uruchomić program “demo”, klikając myszą na jego nazwę w oknie EXTRFILT
7. Uruchomić symulację wybierając w menu “simulation” opcję “start
8. Zaobserwować przebieg sygnału szumowego na wejściu i wyjściu filtru oraz jego gęstość
widmową i przesunięcie fazy.
9. Zatrzymać symulację wybierając w menu “simulation” opcję “stop
10. Zmienić parametry źródła sygnału, klikając myszą na generator. Wybrać przebieg
prostokątny o częstotliwości 62.8 rad/s (10 Hz).
11. Usunąć filtr pasmowoprzepustowy zaznaczając go i naciskając klawisz DELETE
12. Przenieść z biblioteki filtrów dolnoprzepustowych filtr Czebyszewa i umieścić go w
miejsce filtru pasmowego.
13. Usunąć analizator zaznaczając go i naciskając klawisz DELETE

background image

14. Przenieść z biblioteki ujść “sinks” oscyloskop “scope” i umieścić go na wyjściu filtru.
Kliknięcie na ikonę spowoduje rozwinięcie oscyloskopu.
15. Kliknąć na filtr i zmienić okres próbkowania na 0.001 s.
16. Zmienić częstotliwość graniczną filtru na 10/500 i nacisnąć OK.
17. Uruchomić symulację wybierając w menu “simulation” opcję “start
18. Zaobserwować przebieg sygnału na oscyloskopie
19. Zatrzymać symulację wybierając w menu “simulation” opcję “stop
20. Powtórzyć kroki 16-19 dla częstotliwości filtru 20/500, 30/500, 40/500, 50/500 i 60/500.
21. Zamknąć okno Simulink i pozostałe biblioteki bez zapisywania zmian (save changes NO)


Wyszukiwarka

Podobne podstrony:
lista 2a id 269862 Nieznany
mech 2a id 290414 Nieznany
lidar poprawiony 2a id 268284 Nieznany
barwienie wyklad 2a id 632278 Nieznany (2)
lista 2a id 269862 Nieznany
mech 2a id 290414 Nieznany
0 50V 2A LM10C LM10 id 598174 Nieznany
2a s 3 Jablonsk JPG id 32308 Nieznany (2)
cwiczenie projektowe nr 2A id 1 Nieznany
Laborki mechanika sprawko 2A id Nieznany
2A II id 32318 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany

więcej podobnych podstron