Documente Academic
Documente Profesional
Documente Cultură
a. Forma directa
Forma directa de implementare a filtrelor de tip FIR poate fi dedusa din
relatia (2) sau (1).
Y ( z ) M −1 − k
H ( z) = = hk z
X ( z ) k =0
M −1
Y ( z) = h z
k =0
k
−k
X ( z)
Aplicatia 1
- Utilizand filterDesigner, sa se proiecteze utilizand un filtru de tip FIR de
ordin 4 si sa se exporte in Workspace coeficentii filtrului:
- File->Export-> se selecteaza Export;
coeficentii filtrului apar in fereastra Workspace;
- Utilizand Simulink, sa se realizeze filtrul utilizand filtrul elemente de
sistem, utilizand: sumatoarea, scaloare (Gain) si elemente de
intarziere (Unit delay);
- Se aplica sistemului semnal de tip treapta unitate;
- Sa se compare iesirea sistemului implementat cu iesirea blocului
Discrete Filter din Simulink;
1
Library Block
Simulink/Sources
Simulink/Math Operations
Simulink/Math Operations
Simulink/Discrete
Simulink/Sinks
Simulink/Discrete
OBS:
- Pasul de esantionare pentru sursa se considera 1:
2
- Coeficentii filtrului de tip FIR se pot apela in Simulink, in blocul Discrete
Transfer Fcn. apeland vectorul corespunzator functiei de transfer;
3
Aplicatia 2
- Sa se implementeze filtrul de tip FIR de la aplicatia 1, folosind structura
corespunsatoare filtrelor cu faza liniara;
- Sa se aplice filtrului realizat semnal de tip treapta unitate si sa se
compare iesirea cu iesirea implementarii la aplicatia 1
4
2. Realizarea filtrelor de tip IIR.
H FIR ( z ) H IIR ( z )
x[n] u[n] y[n]
+ +
p0
−1 z −1
z
x[n-1] + + y[n-1]
p1 − d1
z −1
z −1
x[n-2] + + y[n-2]
p2 −d 2
z −1 z −1
x[n-3] y[n-3]
p3 −d3
5
Deci Y ( z ) = H FIR ( z ) ⋅ H IIR ( z ) ⋅ X ( z ) , unde:
H FIR ( z ) = p0 + p1 z −1 + p2 z −2 + p3 z −3
1
H IIR ( z ) =
1 + d1 z + d 2 z −2 + d3 z −3
−1
+ w[n − 1] w[n − 1] +
−d1 p1
z −1
z −1
+ w[n − 2] w[n − 2] +
−d 2 p2
z −1 z −1
w[n − 3] w[n − 3]
−d3 p3
6
Aplicatia 3
- Utilizand filterDesigner, sa se proiecteze utilizand un filtru de tip IIR de
ordin 3;
- Sa se transforme filtrul proiectat intr-o structura de tip forma directa;
- Edit-> Convert to Single Section;
- sa se exporte in Workspace coeficentii filtrului:
- File->Export-> se selecteaza Export;
coeficentii filtrului apar in fereastra Workspace;
- Utilizand Simulink, sa se realizeze filtrul utilizand filtrul elemente de
sistem, utilizand: sumatoarea, scaloare (Gain) si elemente de
intarziere (Unit delay);
- Se aplica sistemului semnal de tip treapta unitate;
- Se va utiliza pasul de esantionare 1
- Sa se defineasca parametrii simularii pentru sisteme discrete utilizand
„Fundamental Sample time” 1.
- Sa se compare iesirea sistemului implementat cu iesirea blocului
Discrete Filter din Simulink;
+ +
− a11 b11 − a12 b12
z −1
− a21 b21
7
Pentru determinarea coeficentilor bij si aij se poate folosi functia Matlab
tf2sos(); pentru informatii despre functie apelati doc tf2sos;
Daca vectorii exporati din filterDesigner sunt Num si Den, codul Matlab pentru
pentru calcularea vectorilor bij si aij este:
sos=tf2sos(Num,Den)
OBS: - Daca matricea sos este definita in Workspace, atunci elementele matricei
pot fi utilizate in Simulink pentru a seta valoarea Gain-urilor:
Aplicatia 4
- Sa se implementeze in Simulink folosind forma in cascada functia de
transfer H(z) utilizata la aplicatia 3.
- Sa se aplice sistemului semnal de tip treapta unitate.
- Sa se compare raspunsul filtrului implementat cu cel obtinut la
aplicatia 3.
8
a) polii complecsi conjugati cei mai apropiati de cercul unitate fac
pereche cu zeroul cel mai apropiat din planul z. Astfel se
formeaza sisteme de ordin maxim 2 (Hk(z)).
b) Regula a) se repeta pana cand s-au format perechi din toti polii si
zerourile lui H(z).
c) Sistemele de ordin maxim 2 astfel formate trebuie ordonate
crescator sau descrescator in raport cu apropierea de cercul
unitate.
(Pentru determinarea perechilor poli-zerouri pentru biquazi, se pot
folosi functiile Matlab: zplane(), roots() si abs() ).
9
Selectand Sectiunile 1, 2 si respectiv 3, se observa perechile poli-zerouri care
formeaza realizeaza cascada. Se observa ca prima sectiune este formata din
polii cei mai apropiati de cercul unitate si ca acestia fac pereche cu zerourile cele
mai apropiate de poli. Sectiunile 2 si respectiv 3 respecta de asemenea regulile
de proiectare a biquazilor.
Functia tf2sos() de asemenea proiecteaza biquazii folosind aceleasi reguli de
realizare a perechilor poli-zerouri.
Pentru a se utiliza functia tf2sos() mai intai se transforma implementarea
cascada in realizare de tipul FD 1 (se selecteaza din meniul EDIT optiunea
„Convert to single section”). Dupa ce se exporta in Workpace filtrul de ordin 5
proiectat, vectorii Num si Den sunt utilizati ca parametri de intrare pentru functia
tf2sos().
Daca se afiseaza diagramele poli-zerouri pentru implementarea in forma FD2 si
respectiv pentru cei 3 biquazi se obtine:
10
Codul Matlab este:
sos=tf2sos(Num,Den);
figure(1);
zplane(Num,Den);grid on;
figure(2);
subplot(1,3,1);zplane(sos(1,1:3),sos(1,4:6));
axis([-1.1 1.1 -1.1 1.1]);
title('Biquad 1');
subplot(1,3,2);zplane(sos(2,1:3),sos(2,4:6));
axis([-1.1 1.1 -1.1 1.1]);
title('Biquad 2');
subplot(1,3,3);zplane(sos(3,1:3),sos(3,4:6));
axis([-1.1 1.1 -1.1 1.1]);
title('Biquad 3');
OBS: Implicit functia tf2sos() ordoneaza biquazii de la polii cei mai apropiati
de origine la cercul unitate. Aceeasi realizare a formei cascada se obtine si daca
in filterDesigner se selecteaza in Edit -> Reorder and Scale Second-Order
Sections -> Least selective section to most selective section.
11
∏| e ω − z
j
k |
| H (ω ) |= k
(7)
∏| e ω − p
k
j
k |
U k (ω ) BL
| H (ω ) |= = (8)
Vk (ω ) AL
Din exemplul de mai sus se observa ca filtre cu factor de calitate mare
apar in situatia in care distanta dintre polii si zerourile biquazilor este mare.
12