Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » matematica
Filtrele numerice IIR 1D si 2D

Filtrele numerice IIR 1D si 2D


filtre numerice IIR

Obiectivele lucrarii

Studiul operatorilor de filtrare numerica

2) Asimilarea functiilor MATLAB pentru proiectarea filtrelor cu raspuns infinit la impuls;

Realizarea filtrajului numeric IIR al secventelor 1D si 2D;

4) Studiul interactiv al filtrelor numerice IIR 1D si 2D utilizand mediul DIDACTICIEL.



Desfasurarea lucrarii

Proiectarea FILTRELOR NUMERICE tip RII (IIR)


Proiectarea unui FA FTJ prototip

buttap, cheb1ap, ellipap, cheb2ap

 

Transformare de frecventa lp2lp, lp2hp, bp2bp, bp2bs

 

Discretizare

- biliniar

- impinv

 
Metoda de proiectare FN tip IIR dintr-un filtru prototip

Proiectare directa in planul variabilei z

iar:

Exemple de proiectare a unor FA prototip

Proiectati un FA-FTB Cebasev tip I de ordinul cu si si .

[b,a]=cheby1(n,Rp,wn,'ftype','s')

[b,a]=cheby1(10,3,1,'s')

freqs(b,a)

w1=0.2*pi ;

w2=pi;

Bw=w2-w1;

w0=sqrt(w1*w2);

[bt,at]=lp2bp(b,a,w0,Bw);

w=linspace(0.01,1,500)*2*pi;

H=freqs(bt,at,w);

semilogy(w/2/pi,abs(H));

grid

Proiectarea FN prin aproximare in planul z

Proiectati un FN FTB cu banda de trecere 1 KHz, 2 KHz], benzile de blocare [0, 500 Hz] si [2.5 KHz, 5 KHz], iar .

[n,Wn]=buttord([1000,2000]/5000,[500,2500]/5000,1,60);

[b,a]=butter(n,Wn)

sau:

[n,Wn]=ellipord([1000,2000]/5000,[500,2500]/5000,1,60)

[b,a]=ellip(n,1,60,Wn)

w=linspace(0.01,1)*pi;

freqz(b,a,w);

Proiectati un FN-FTS cu:

ws = ws = 0.25p ds = ds = 0.02

wp = wp = 0.35p dp = dp = 0.1

prin aproximare directa tip Cebasev (in banda de trecere) in planul z.

[n,wt]=cheby1ord(wp,wa,aM,am)

[Bd,Ad]=cheby1(nc1,aM,wt,'high');

freqz(Bd,Ad)

Proiectarea FN-IIR prin metoda invariantei la impuls

Proiectati un FN dintr-un FA-tip Butterworth cu prin metoda invariantei la impulsul unitate alegand

In general functia folosita este:

[bz,az]=impinvar(b,a,Fs)

Daca lipseste, atunci implicit .

[b,a]=butter(4,0.3,'s');freqs(b,a)

[bz,az]=impinvar(b,a,10)

real(bz); freqz(bz,az)

Exemplu: Sa se proiecteze un FN-IIR tip trece jos dintr-un FA prin metoda invariantei raspunsului la impulsul unitate.

wp = wp = 0.2p dp = dp = 0.1

ws = ws = 0.3p ds = ds = 0.01

Se va considera frecventa de esantionare .

Sa determinam parametri FA.

Sa determinam ordinul FA-Butterworth care satisface aceste conditii:

[n,Wt]=butterord(wp,ws,aM,am,'s');

Sa proiectam FA-Butterworth:

[b,a]=butter (n,Wt,'s');

Sa analizam FA proiectat:

freqz(Ba,Aa)

Se proiecteaza FN din FA prototip:

[Bd,Ad]=impinvar(Ba,Aa,Fs)

Comentariu: in Matlab: si nu .

In acest ultim caz se va modifica Bd astfel:

Se analizeaza FN obtinut:

freqz(Bd,Ad)

Exemplu: Proiectati un FN - FTS cu:

ws = ws p ds = 0.02 = ds

wp = wp p dp = 0.1 = dp

dintr-un FA - FTS de referinta prin metoda invariantei la impulsul unitate pentru .

omgp=wp*Fs;omgs=ws*Fs;aM=20*log10(1/(1-dp));am=20*log10(1/ds);

[n omgt]=cheby1ord(omgp,omgs,aM,am,'s');

[Ba,Aa]=cheby1(n,aM,omgp,'high','s');

figure(1); freqs(Ba,Aa)

[Bd,Ad]=impinvar(Ba,Aa,Fs);

figure(2); freqz(Bd,Ad)

Proiectarea FN - IIR prin transformarea biliniara

Proiectarea FN tip IIR dintr-un FA folosind transformarea biliniara

[zd,pd,kd]=bilinear(z,p,k,Fs,Fp)

unde este optional si precizeaza frecventa de preaccentuare.

[bd,ad]=bilinear(b,a,Fs,Fp)

cu iar si .

Rezulta: 

Optional, pentru :

,

Proiectarea FN - IIR dintr-un FA folosind metoda biliniara

Sa se proiecteze un FN - FTJ plecand de la un FA - FTJ de tip Butterworth, Cebasev I, Cebasev II si Eliptic pentru:

wp = wp p dp = 0. 1 = dp

ws = ws p ds = 0.01 = ds

Sa determinam parametrii FA:

Sa proiectam FA-prototip:

[nb,wb]=butterord(wp,ws,aM,am,'s')

[nc1,wc1]=cheby1ord(wp,ws,aM,am,'s')

[nc2,wc2]=cheby2ord(wp,ws,aM,am,'s')

[nel,wel]=ellipord(wp,ws,aM,am,'s')

Sa proiectam cate un FA prototip:

[Bb,Ab]=butter(nb,wb,'s')

[Bc1,Ac1]=cheby1(nc1,aM,wc1,'s')

[Bc2,Ac2]=cheby2(nc2,aM,wc2,'s')

[Bel,Ael]=ellip(nel,aM,am,wel,'s')

[Bbd,Abd]=bilinear(Bb,Ab,1)

[Bc1d,Ac1d]=bilinear(Bc1,Ac1,1)

[Bc2d,Ac2d]=bilinear(Bc2,Ac2,1)

[Beld,Aeld]=bilinear(Bel,Ael,1)

freqz(B_d,A_d)

Exemplu: Proiectati un FN - FTS pentru:

ws = ws p ds = 0.02= ds

wp = wp p dp = 0. 1 = dp

dintr-un FA - FTS de referinta prin metoda transformarii biliniare. Se va considera .

T=1; omgp=(2/T)*tan(wp/2); omgs=(2/T)*tan(ws/2);

aM=20*log10(1/(1-dp)); am=20*log10(1/ds);

[n,ongt]=cheby1ord(omgp,omgs,aM,am,'high','s');

[Ba,Aa]=cheby1(n,aM,omgt,'high','s');

wa=linspace(0.1,1,500)*2*pi; figure(1),freqs(Ba,Aa);

[Bd,Ad]=bilinear(Ba,Aa,1/T); figure(2),freqz(Bd,Ad,);

Proiectarea FN- IIR prin optimizarea in planul z

Proiectarea unui FN - IIR care aproximeaza in sensul erorilor patratice minime o caracteristica de frecventa foloseste functia:

[b,a]=yulewalk(n,f,m)

unde:

- un vector cu valorile amplitudinilor dorite

- un vector cu valorile frecventelor specificate

Exemplu: Proiectati un FN de gradul de tip trece jos, a carui caracteristica de frecventa este specificata prin:

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),'--')

Proiectarea unui FN tip Butterworth generalizat:

[b,a]=maxflat(nb,na,Wn)

[b,a,b1,b2]=maxflat(na,nb,Wn)

[b,a,b1,b2]=maxflat(nb,na,Wn,'design_flat')

Studiul filtrelor numerice IIR utilizand mediul DIDACTICIEL

1) Se lanseaza DIDACTICIEL-ul prin introducerea comenzii:

didact

2) Se studiaza interactiv operatorii de filtraj numeric IIR 1D si 2D cu ajutorul meniurilor definite in:

Filtering

Image processing

Tema

Sa se proiecteze un FN - FTJ IIR plecand de la un FA - FTJ de tip eliptic, prin metoda invariantei la impuls si metoda transformarii biliniare pentru:

wp = wp p dp = 0.1 = dp

ws = ws p ds = 0.001 = ds

Se va considera frecventa de esantionare .





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.