fir

22
Capitolul 3 - Proiectarea filtrelor digitale. Filtre cu răspuns finit la impulsul unitate (RFI) 3 Proiectarea filtrelor digitale. Filtre cu răspuns finit la impuls (Finite Impulse Response - FIR) Obiectivele capitolului Prezentarea principalelor metode de proiectare a filtrelor digitale FIR şi ilustrarea caracteristicilor acestora cu ajutorul programului MATLAB. Introducere în mediul de programare diagrama-modul Simulink. Simularea filtrelor digitale FIR în Simulink. 3.1 Introducere teoretică Filtrele digitale reprezintă ecuaţii cu diferenţe finite, a căror rezolvare se realizează prin algoritmi matematici care pot fi implementaţi hardware sau software. Filtrele digitale preiau o secvenţă de intrare şi o transformă, pe baza ecuaţiei cu diferenţe finite caracteristice filtrelor, în secvenţe de ieşire. Tipuri de filtre digitale Filtrele digitale pot fi clasificate pe baza funcţiei pondere care le caracterizează (răspunsul acestora la secvenţa de intrare impuls unitar/ unitate/ Dirac discret) în: filtre cu răspuns finit la impuls (FIR). filtre cu răspuns infinit la impuls (IIR). Filtrele FIR au funcţia pondere de lungime finită şi sunt caracterizate de o ecuaţie cu diferenţe finite de forma: (3.1) unde este ordinul (sau lungimea) filtrului. Relaţia ( 3 .1) reprezintă exact convoluţia discretă, comutativă, care poate fi utilizată pentru orice sistem LIT pentru a calcula răspunsul la o secvenţă de intrare arbitrară; particularizarea pentru FIR constă în stabilirea unor limite finite în relaţia de sumare. 1

Upload: kisslenna4871

Post on 15-Sep-2015

221 views

Category:

Documents


0 download

DESCRIPTION

FIR

TRANSCRIPT

LUCRAREA 3

Capitolul 3 - Proiectarea filtrelor digitale. Filtre cu rspuns finit la impulsul unitate (RFI)

3 Proiectarea filtrelor digitale. Filtre cu rspuns finit la impuls (Finite Impulse Response - FIR)

Obiectivele capitoluluiPrezentarea principalelor metode de proiectare a filtrelor digitale FIR i ilustrarea caracteristicilor acestora cu ajutorul programului MATLAB. Introducere n mediul de programare diagrama-modul Simulink. Simularea filtrelor digitale FIR n Simulink.

3.1 Introducere teoreticFiltrele digitale reprezint ecuaii cu diferene finite, a cror rezolvare se realizeaz prin algoritmi matematici care pot fi implementai hardware sau software. Filtrele digitale preiau o secven de intrare i o transform, pe baza ecuaiei cu diferene finite caracteristice filtrelor, n secvene de ieire.Tipuri de filtre digitale

Filtrele digitale pot fi clasificate pe baza funciei pondere care le caracterizeaz (rspunsul acestora la secvena de intrare impuls unitar/ unitate/ Dirac discret) n: filtre cu rspuns finit la impuls (FIR).

filtre cu rspuns infinit la impuls (IIR).

Filtrele FIR au funcia pondere de lungime finit i sunt caracterizate de o ecuaie cu diferene finite de forma:

(3.1)unde este ordinul (sau lungimea) filtrului. Relaia (3.1) reprezint exact convoluia discret, comutativ, care poate fi utilizat pentru orice sistem LIT pentru a calcula rspunsul la o secven de intrare arbitrar; particularizarea pentru FIR const n stabilirea unor limite finite n relaia de sumare.

Filtrele IIR au funcia pondere de lungime infinit, aa cum arat i denumirea lor. Evident c o relaie de forma (3.1) nu poate fi utilizat pentru caracterizarea acestui tip de filtre din cauza imposibilitii de a putea calcula rspunsul ca sum finit de termeni. De aceea filtrele IIR sunt caracterizate de ecuaii recursive de forma:

(3.2)S-au notat cu , coeficienii filtrului. este ordinul filtrului direct iar este. ordinul reaciei. Aplicnd transformata Z n relaiile (3.1) i (3.2) se obin urmtoarele funcii de transfer (transformatele Z ale funciilor pondere):

Filtre FIR:

(3.3)

Filtre IIR:

(3.4)Pentru o aplicaie dat, alegerea tipului filtrului utilizat, FIR sau IIR, se face pe baza urmtoarelor considerente:

Filtrele FIR pot fi realizate cu faz absolut liniar, deci filtrul nu introduce distorsiuni de faz. n cazul filtrelor IIR faza rspunsului este profund neliniar;

Filtrele FIR implementate nerecursiv sunt ntotdeauna stabile. n schimb, stabilitatea filtrelor IIR nu poate fi garantat ntotdeauna;

Erorile datorate zgomotului de rotunjire i erorilor de cuantizare (deci, n ansamblu, efectele lungimii finite a reprezentrilor eantioanelor/coefcienilor), sunt mai puin critice n cazul filtrelor FIR dect n cazul filtrelor IIR;

Pentru a obine filtre cu frecvene de tiere bine marcate (deci cu benzi de trecere ct mai nguste), n cazul FIR sunt necesari mai muli coeficieni dect pentru filtrele IIR;

Filtrele analogice IIR pot fi transformate direct n filtre digitale IIR corespunztoare acelorai specificaii de proiectare, ceea ce nu este posibil n cazul filtrelor FIR. Cu toate acestea, sinteza filtrelor FIR este mai simpl n cazul n care se doresc rspunsuri n frecven arbitrare.

Proiectarea filtrelor digitale

Proiectarea filtrelor digitale presupune:

LISTNUM NumberDefault \l 1 \s 0 LISTNUM NumberDefault \l 1 Precizarea datelor de proiectare ale filtrului (specificarea caracteristicilor dorite).

LISTNUM Alegerea tipului de filtru (FIR sau IIR) i calculul coeficienilor filtrului.

LISTNUM Reprezentarea filtrului printr-o structura corespunztoare (realizarea filtrului).

LISTNUM Analiza efectelor lungimii finite a cuvintelor asupra performanelor filtrului.

LISTNUM Implementarea SW sau HW a filtrului.

ObservaieDatele de proiectare specifice filtrului definesc de obicei caracteristicile ale filtrului n domeniul frecven. De exemplu, pentru un filtru trece jos (FTJ) este important s se precizeze mrimile:

fp frecvena limit a benzii de trecere

fs

frecvena limit a benzii de oprire

fefrecvena de eantionare

(pondulaia (riplul) n banda de trecere

(sondulaia (riplul) n banda de oprire

Asatenuarea n banda de oprire n dB (As = (20 log10 (s [dB])

Apriplul n banda de trecere n dB (Ap = 20 log10 (1 + (p) [dB])

n Fig. 3.1 s-au marcat aceste mrimi, fiind considerat cazul unui filtru de tip trece jos (FTJ).

Fig. 3.1. Caracteristicile de frecven pentru un filtru FTJ

3.2 Metode de sintez n cazul filtrelor FIR cu faza liniar

Metodele de sintez n cazul filtrelor FIR cu faz liniar folosite uzual sunt:

Metoda seriilor Fourier (numit i metoda ferestrelor)

Metoda eantionrii n frecven

Metoda optimal (n sens Cebev)

3.2.1 Metoda ferestrelorMetoda determin funcia pondere a filtrului pe baza specificaiilor legate de rspunsul su n frecven; seria infinit obinut este limitat la un numr de coeficieni, cu scopul de a face filtrul realizabil. Aceasta este echivalent cu a multiplica funcia pondere cu o secven constant, cu valoarea 1, de durat limitat, fereastra dreptunghiular (rectangular). Multiplicarea n domeniul timp nseamn n domeniul frecven convoluia dintre spectrul dorit pentru filtrul pe care l proiectm i spectrul ferestrei dreptunghiulare, convoluie care duce la apariia fenomenului Gibbs, caracterizat astfel:

n vecintatea zonelor de tranziie din caracteristicile de frecven ale filtrului digital apar unor ondulaii (ripluri), numite oscilaii Gibbs.

frecvenele de tranziie ale caracteristicii de frecven se transform n benzi de tranziie.

O soluie mai bun este folosirea altor tipuri de funcii fereastr, care s realizeze o trunchiere ponderat a funciei pondere specifice filtrului dorit, care s prezinte caracteristici de frecven superioare ferestrei dreptunghiulare (limea lobului principal mai mic i o atenuare mai mare a lobilor laterali). n aceast lucrare vor fi prezentate principalele funcii fereastr (Bartlett, Blackman, Hamming, Hanning, Kaiser).

n tabelul 3.2 este prezentat algoritmul pentru proiectarea filtrelor FIR prin metoda ferestrelor, iar n tabelul 3.3 sunt prezentate comparativ, avantajele si dezavantajele metodei ferestrelor.

Pai de proiectare a unui filtru FIR prin metoda ferestrelor LISTNUM NumberDefault \l 1 \s 0 LISTNUM NumberDefault \l 1 Specificarea rspunsului ideal (dorit) n frecven al filtrului, . LISTNUM NumberDefault \l 1 Obinerea funciei pondere (rspunsul filtrului la impuls) prin transformata Fourier invers a lui . LISTNUM NumberDefault \l 1 Alegerea unei funcii fereastr care s satisfac cerinele referitoare la banda de trecere i atenuarea necesar. LISTNUM NumberDefault \l 1 Obinerea secvenei pentru funcia fereastr aleas, precum i a valorilor coeficienilor filtrului FIR selectai, , prin multiplicarea funciei pondere dorite, , cu secvena fereastr, :

(3.5)Metoda ferestrelor permite proiectarea simpl a filtrelor FIR, dar datorit efecturii convoluiei n domeniul frecven cu spectrul funciei fereastr, nu se pot preciza exact valorile frecvenelor care delimiteaz benzile de trecere i oprire. n plus, riplul maxim este limitat inferior pentru fereastra dreptunghiular (indiferent ct crete valoarea lui , riplul nu poate scdea sub o anumit valoare).3.2.2 Metoda optimal n sens CebevProiectarea filtrelor FIR cu faz liniar este o problem de aproximare n sens Cebev, ceea ce nseamn obinerea unui set de condiii care s garanteze o soluie optimal, n sensul minimizrii maximului erorii de aproximare, pe ntregul interval de aproximare, soluie care s fie unic.

3.2.3 Realizarea filtrelor FIREtapa realizrii filtrelor const n alegerea structurii pentru implementare:. structura transversal (direct), structura cu eantionare n frecven, structura cu convoluie direct, structura latice

3.2.4 Funcii MATLAB folosite n proiectarea filtrelor FIRFuncii pentru prelucrarea semnalelor

absAmplitudine complex

angle, phaseUnghiul, faza

convConvoluie

deconvDeconvoluie

fftTransformata Fourier 1-D

ifftTFD invers 1-D

fftshiftSchimb cadranele matricilor

unwrapFaza desfcut

filterFiltrare

Funcii pentru lucrul cu ferestre

bartlettFereastra Bartlett

blackmanFereastra Blackman

hammingFereastra Hamming

hanningFereastra Hanning

kaiserFereastra Kaiser

Funcii pentru proiectarea filtrelor FIR

fir1, fir2Proiectarea filtrelor FIR cu metoda ferestrelor

remezProiectarea filtrelor FIR prin metoda Parks - McClellan

3.3 Aplicaii

3.3.1 Proiectarea filtrelor FIR prin metoda ferestrelor

LISTNUM NumberDefault \l 2 \s 0 LISTNUM Fenomenul Gibbs poate fi analizat considernd exemplul EX1_L3.m, al crui listing este prezentat mai jos. Studiai acest exemplu i modificai programul pentru cazul unui alt rspuns dorit n frecven. Modificai lungimea ferestrei dreptunghiulare i studiai efectul acesteia asupra rspunsului n frecven specific filtrului obinut.

% Exemplu FIR

% Proiectarea filtrelor FIR cu metoda ferestrelor, N = 54 pt metoda ferestrelor

% Punerea in evidenta a fenomenului Gibbs

% : Toate reprezentarile in frecventa sunt facute pe o perioada a TFTD [0, 2*pi)

% 64 puncte pentru TFTD

omega=[0:1:63]*2*pi/64;

t=-32:1:31;

Hd = ones(64,1);

for i=10:1:54

Hd(i) = 0;

end;

figure,subplot(221),plot(omega,Hd), title('Rasp. in frecventa dorit'),xlabel('\omega'), ylabel(' | H_{d}(e^{j \omega}) | ');

axis([min(omega),max(omega),0,2]);

% Functia pondere dorita hd(n) este TFDI(Hd)

hd = ifft(Hd);

subplot(222),stem(t,fftshift(hd)),title('Functia pondere dorita'),xlabel ('n'), ylabel('hd(n)'),axis([-32 31 -0.2 0.5]);

w=[zeros(1,5) ones(1,54) zeros(1,5)];

h = fftshift(fftshift(hd).* w');

subplot(223), stem(t,w), title('Fereastra dreptunghiulara'),xlabel('n'), ylabel(' w(n) '),axis([-32 31 0 2]);

H = fft(h);

subplot(224), stem(t,fftshift(h)), title('Functia pondere h = hd * w'),xlabel('n'), ylabel(' h(n) '),axis([-32 31 -0.2 0.5]);

% Generarea raspunsului dorit in frecventa ...

figure,subplot(211),plot(omega,Hd), title('Rasp. in frecventa dorit'),xlabel('\omega'), ylabel(' | H_{d}(e^{j \omega}) | '),axis([min(omega),max(omega),0,2]);

subplot(212), plot(omega,abs(H)), title('Rasp. in frecv. obtinut'),xlabel('\omega'), ylabel(' | H(e^{j \omega}) | '),axis([min(omega),max(omega),0,2]); LISTNUM Reluai punctul a) pentru cazul ferestrei de tip Blackman.

LISTNUM Se consider secvena dreptunghiular periodic ,

Semnalului i se adaug zgomot aleator, rezultnd secvena cu zgomot . Limitarea acesteia se poate face direct, cu ajutorul funciei fereastr care poate fi, de exemplu, de tip Bartlett.Scriei secvena de instruciuni MATLAB pentru trunchierea secvenei iniiale, utiliznd exemplul EX1_L3.m .

Modificai programul scris la punctul a), pentru a putea opera asupra transformatelor Fourier ale secvenei si ferestrei. n acest caz, trebuie calculat secvena de convoluie a acestor transformate (n domeniul frecven) i apoi realizat transformarea Fourier invers. Secvena global ce trebuie calculat este:

unde este TFD a funciei fereastr , iar este numrul de eantioane n care se calculeaz transformata Fourier. Comparai rezultatele cu cele obinute anterior i interpretai-le.

LISTNUM Cu ajutorul comenzii help, studiai funciile MATLAB fir1 i fir2, "freqz", "filter", input.

d1) S se ruleze programul EX2_L3.m (listat mai jos) i s se urmreasc modul n care a fost proiectat i implementat filtrul. Ce putei spune despre semnalul rezultat n urma filtrrii.

Fs=1000;

x = sin(2*200*pi*(1/Fs)*(0:(100-1)));%sinus cu frecventa 200 Hz, esantionat la 1000 Hz

N = length(x);

t = [0:N-1]/Fs;

f = [0:N/2-1]*Fs/N;

X = fft(x);

MX = abs(X);

figure,subplot(221),plot(t,x),title('Semnalul in timp'),xlabel('Timp (s)');

subplot(222),plot(f,abs(MX(1:N/2))),title('Spectrul semnalului'),xlabel('Frecventa (Hz)');

Wn = 1/10;

B = fir1(30,Wn,bartlett(31));

[H,W] = freqz(B,1,N/2, Fs);

MH = abs(H);

y = filter(B,1,x);

Y = fft(y);

MY = abs(Y);

subplot(223),plot(f,MH),title('Raspunsul in frecventa al FIR'),xlabel('Frecventa (Hz)');

subplot(224),plot(f,abs(MY(1:N/2))),title('Spectrul semnalului filtrat'),xlabel('Frecventa (Hz)');

figure,subplot(211),plot(t,x),title('b - Semnalul initial, r - semnalul filtrat'),xlabel('Timp (s)');hold on, plot(t,y,'r');

subplot(212),plot(t,y),title(['Semnalul filtrat, filtru de ordinul ' num2str(length(B))]),xlabel('Timp (s)');

% a se observa ca semnalul initial a fost mult atenuatd2)S se modifice programul EX2_L3.m, lund diferite valori ale frecvenei de tiere i urmrind rezultatul filtrrii.

LISTNUM S se ruleze programul ex3_L3.m (listat mai jos), urmrind forma ferestrelor dreptunghiular, Bartlett, Hamming, Hanning, Blackman, Cebev si Kaiser, precum i spectrul acestora.

Observaie

Proprietile ferestrelor pot fi analizate i cu lansnd wintool n fereastra de comand.f = -63:1:64;

x1 = [zeros(1,14) boxcar(100)' zeros(1,14)];

X1 = fftshift(abs(fft(x1)));

logX1 = 20*log10(X1+0.00001);

figure,subplot(221), plot(x1), title('Fereastra dreptunghiulara'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X1), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f,logX1), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

x2 = [zeros(1,14) bartlett(100)' zeros(1,14)];

X2 = fftshift(abs(fft(x2)));

logX2 = 20*log10(X2+0.00001);

figure,subplot(221), plot(x2), title('Fereastra Bartlett'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X2), title('Spectrul ferestrei simetrizat'),xlabel('Freceventa'),xlim([-63 64]);

subplot(223), plot(f,logX2), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

x3 = [zeros(1,14) hamming(100)' zeros(1,14)];

X3 = fftshift(abs(fft(x3)));

logX3 = 20*log10(X3+0.00001);

figure,subplot(221), plot(x3), title('Fereastra Hamming'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X3), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f,logX3), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

clear x3 X3 logX3

x4 = [zeros(1,14) hanning(100)' zeros(1,14)];

X4 = fftshift(abs(fft(x4)));

logX4 = 20*log10(X4+0.00001);

figure,subplot(221), plot(x4), title('Fereastra Hanning'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X4), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f,logX4), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

clear x4 X4 logX4;

x5 = [zeros(1,14) blackman(100)' zeros(1,14)];

X5 = fftshift(abs(fft(x5)));

logX5 = 20*log10(X5+0.00001);

figure,subplot(221), plot(x5), title('Fereastra Blackman'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X5), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f,logX5), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

clear x5 X5 logX5;

x6 = [zeros(1,14) chebwin(99,40)' zeros(1,14)];

X6 = fftshift(abs(fft(x6)));

logX6 = 20*log10(X6+0.00001);

figure,subplot(221), plot(x6), title('Fereastra Cebisev'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f(1:127),X6), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f(1:127),logX6), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);

clear x6 X6 logX6;

x7 = [zeros(1,14) kaiser(100,5.2)' zeros(1,14)];

X7 = fftshift(abs(fft(x7)));

logX7 = 20*log10(X7+0.00001);

figure,subplot(221), plot(x7), title('Fereastra Kaiser'),xlabel('Timp'),xlim([1 128]);

subplot(222), plot(f,X7), title('Spectrul ferestrei simetrizat'),xlabel('Frecventa'),xlim([-63 64]);

subplot(223), plot(f,logX7), title('Spectrul ferestrei simetrizat (dB)'),xlabel('Frecventa'),xlim([-63 64]);e1) Discutai care dintre ferestre este mai potrivit pentru proiectarea filtrelor FIR prin metoda ferestrelor i precizai criteriul de selecie considerat.

e2) Modificai n program parametrul ferestrei Cebev (riplul n dB) i parametrul ferestrei Kaiser (beta). Precizai care este avantajul acestor tipuri de fereastr fa de celelalte ferestre.

LISTNUM Rulai programul EX4_L3.m, listat mai jos. Urmrii modul n care este recuperat un semnal util acoperit de zgomot, pe baza informaiei spectrale a semnalelor obinute prin transformata Fourier.

Fs = 1000;

NFFT = 256;

t = 0:(1/1000):.25;

% Semnalul dorit este:

x = sin(2*pi*100*t) + sin(2*pi*350*t);%100 Hz si 350 Hz

% Se adauga la semnalul util un semnal perturbator.

% Se obtine semnalul zgomotos y:

y = x + 0*rand(size(t)) + sin(2*pi*250*t) ;%250 Hz este perturbatia

figure,plotyy(t,x,t,y);

title('Semnalul neperturbat (blue) si perturbat (green) in domeniul timp'),xlabel('Timp (ms)');

% Transformata Fourier discreta, calculata cu algoritmi FFT este:

Y = abs(fft(y,NFFT));

X = abs(fft(x,NFFT));

% Pentru primele 127 puncte, desenam densitatea spectrala de putere

% deoarece pentru urmatoarele 127 puncte, este simetrica.

f = Fs/NFFT*(0:(NFFT/2-1));

figure,subplot(221),plot(f,X(1:(NFFT/2))), title('Spectrul semnalului initial'),xlabel('frecventa (Hz)');

subplot(222),plot(f,Y(1:(NFFT/2))), title('Spectrul semnalului perturbat'),xlabel('frecventa (Hz)');

F = [0.0 0.18 0.2 0.22 0.5 0.68 0.7 0.72 0.8 1];

M = [0 0 6.3 0 0 0 6 0 0 0];

B = fir2(31,F,M);

[H, W] = freqz(B,1,NFFT,Fs);

MH = abs(H);

z = filter(B,1,y);

Z = fft(z);

MZ = abs(Z);

subplot(224),plot(W,abs(H)), title('Raspunsul in frecventa al FIR'),xlabel('frecventa (Hz)');

subplot(223),plot(f,abs(MZ(1:(NFFT/2)))),title('Spectrul semnalului filtrat'),xlabel('Frecventa (Hz)');

figure,subplot(221), plot(x(50:100)), title(' Segment din semnalul neperturbat');

subplot(222), plot(y(50:100)), title('Segment din semnalul perturbat');

subplot(223), plot(z(15+(50:100))), title('Segment din semnalul filtrat');f1) Justificai proiectarea filtrului i modificai parametrii acestuia, observnd rezultatul.

f2) Poate fi folosit n acest caz un filtru trece jos pentru eliminarea zgomotului? Dar un filtru trece banda? Justificai rspunsul.

f3) Proiectai i implementai n MATLAB un sistem realizat cu dou filtre diferite (precizai tipul acestora: FTJ, FTB, sau FTS), care s recupereze eficient semnalul util de la punctul f1).

LISTNUM Folosind funciile utilizate anterior s se proiecteze prin metoda ferestrelor un filtru digital FIR de tip trece jos, cu urmtoarele caracteristici:

- atenuarea n banda de oprire

50 dB

- frecvena de tiere

3.4 kHz- limea benzii de tranziie

0.6 kHz

- frecvena de eantionare

12 kHz

LISTNUM Modificai programul de la punctul g), pentru a funciona n regim interactiv, folosind funcia input.

LISTNUM Proiectai un filtru digital FIR cu faz liniar, care s aproximeze urmtorul rspuns n frecven:

i1) Determinai cei 25 de coeficieni ai filtrului, prin metoda ferestrelor, folosind o fereastr Bartlett.i2) Determinai i desenai amplitudinea i faza rspunsului n frecven al filtrului.

i3) Repetai punctele i1) i i2) pentru fereastra Hamming.

i4) Repetai punctele i1) i i2) pentru fereastra Hanning

LISTNUM Repetai problema i) pentru cazul unui filtru digital de tip oprete band, cu rspunsul ideal n frecven:

LISTNUM S se proiecteze un filtru de tip trece band (FTB), cu urmtoarele date de proiectare:

- numrul benzilor de trecere:

2

- frecvenele centrale ale benzilor de trecere: 2 i 4 Hz

- lrgimea benzilor de trecere:

2 i 1 Hz

- tipul ferestrei:

Blackman, de dimensiune 7

LISTNUM Proiectai un filtru digital de tip trece band, cu banda de trecere: 40 kHz ( f ( 80 kHz. Cea mai nalt frecven prezent n spectrul semnalului ce trebuie filtrat este 100 kHz. Care este frecvena de eantionare minim ?

LISTNUM S se proiecteze un filtru FIR trece jos optimal n sens Cebev cu metoda Parks-McCllelan, avnd urmtoarele caracteristici:

- frecvena de eantionare

10kHz

- frecvena de tiere

2.5kHz

- limea benzii de tranziie0.5kHz.

- ordinul filtrului

30.

Soluie: Secvena MATLAB pentru rezolvarea problemei este prezentat n exemplul EX5_L3.m. Lansai n execuie programul i interpretai rezultatele.

% Sa se proiecteze un filtru FIR optimal in sens Cebisev

% cu metoda Parks-McCllelan, avind urmatoarele caracteristici de gabarit:

% Frecventa de esantionare = 10kHz

% Frecventa de taiere in banda de trecere = 2.5kHz

% Latimea benzii de tranzitie 0.5kHz.

Fe = 10000;

N = 100;%puncte pt reprezentarea in frecventa

f = (Fe/2)*[0:(N-1)]/N;

F = [0.0 0.5 0.6 1];

M = [1 1 0 0];

B = remez(30, F, M);

Hf = freqz(B,1,100);

Hd = [ones(1,50) zeros(1,10) zeros(1,40)]';

H = [Hf Hd];

% Se reprezinta filtrul FIR optimal si fitrul ideal cu frecventa de taiere 2.5kHz

figure,plot(f,abs(H)),title('Modulul filtrul trece-jos ideal si al celui proiectat optimal'),xlabel('Frecventa (Hz)');

figure,plot(f,unwrap(angle(Hf))),title('Faza filtrul trece-jos proiectat optimal'),xlabel('Frecventa (Hz)');

LISTNUM S se proiecteze un filtru digital de tip trece sus, cu frecvena de trecere 750 Hz. Se tie faptul c n spectrul semnalului ce trebuie filtrat, nu exist component de frecven mai mare de 1000 Hz.n1) Se poate alege frecvena de eantionare de 4000 Hz ?

n2) Desenai funcia de transfer ideal a filtrului.

n3) Proiectai filtrul.

LISTNUM Un semnal analogic discretizat are o component nedorit cu frecvena de 60 Hz i conine i armonicile sale de 120 Hz, 180 Hz, 240 Hz, 300 Hz, 360 Hz. Frecvena de eantionare este de 1200 Hz. Proiectai un filtru digital care s nlture att componenta de 60 Hz ct i armonicile sale.

LISTNUM Un filtru digital FIR este descris de ecuaia cu diferene finite:

p1) Calculai i desenai amplitudinea i faza rspunsului n frecven.

p2) Determinai rspunsul filtrului la secvenele de intrare:

LISTNUM Un semnal vocal cu frecvena maxim 10 kHz este eantionat cu frecvena de eantionare de 20 kHz. Presupunem c semnalului i se adaug zgomot, sub forma a 4 sinusoide avnd frecvenele:

f1 = 10 000 Hz

f3 = 7778 Hz

f2 = 8889 Hz

f4 = 6667 Hz

q1) Proiectai un filtru FIR care elimin componentele aflate la aceste frecvene parazite.

q2) Alegei ctigul filtrului astfel nct componenta continu s nu fie distorsionat, , i apoi desenai amplitudinea (n reprezentare logaritmic) i faza rspunsului su n frecven.

q3) Filtrul obinut corespunde sau nu obiectivelor propuse prin datele de proiectare? Ai recomanda utilizarea sa n aplicaii practice ? Justificai.

LISTNUM S se proiecteze un filtru FIR trece-band cu faz liniar, avnd urmtoarele caracteristici de frecven:

- Frecvena de eantionare

20kHz

- Frecvena central a benzii de trecere4kHz

- Lrgimea benzii de trecere

2kHz

- Benzile de tranziie

0.2kHz

Cu ajutorul filtrului construit, filtrai semnalul afectat de zgomot existent n fiierul semnal2.mat. Reprezentai semnalul filtrat.

Soluie: Programul MATLAB pentru rezolvarea problemei este prezentat n exemplul EX6_L3.m listat mai jos. Lansai n execuie programul i interpretai rezultatele.

% Sa se proiecteze un filtru FIR trece-banda cu faza linara,

% avind urmatoarele caracteristici de gabarit:

% Frecventa de esantionare = 20kHz

% Banda de trecere cu frecventa centrala = 4kHz

% Largimea benzii de trecere = 2kHz

% benzile de tranzitie = 0.2kHz

%!!!!! atentie la definirea frecventelor

Fe = 20000;

F = [0.0 0.28 0.3 0.5 0.52 1];

M = [0 0 1 1 0 0];

B = fir2(30, F,M);

[H,W] = freqz(B,1,100,Fe);

Hd = [zeros(1,30) ones(1,20) zeros(1,50)]';

% Se reprezinta filtrul trece-banda FIR

% si fitrul ideal trece banda corespunzator benzii 3kHz-5kHz.

figure,subplot(211),plot(W,abs(H)),title('b- Modulul filtrului trece-banda ideal si al celui proiectat, r - ideal'),xlabel('Hz');

hold on,plot(W,Hd,'r');

subplot(212),plot(W,unwrap(angle(H))),title('Faza filtrului trece-banda proiectat '),xlabel('Frecventa (Hz)');3.4 Proiectarea filtrelor FIR cu ajutorul mediului de programare Simulink

LISTNUM NumberDefault \l 2 \s 0 LISTNUM Mediul de programare Simulink este un mediu integrat programului MATLAB care permite simularea unor sisteme complexe de orice natur, prin utilizarea unui limbaj de programare orientat pe diagrame de module, pe interconectarea unor module predefinite sau definite de utilizator. La baza Simulink st limbajul de programare MATLAB cu funciile predefinite ale acestuia. Programele asociate unei scheme Simulink au, ca orice program MATLAB, extensia ".m", putnd fi apelate direct de la prompterul MATLAB, prin tastarea numelui fiierului, fr extensie. La apelarea unui program Simulink se va deschide o fereastra cu un meniu care ofer o serie de opiuni. Pe lng facilitile uzuale de salvare fiier, editare, etc., avem i opiunile de pornire/oprire a simulrii din meniul "Simulation". Mediul de programare Simulink se apeleaz tastnd n fereastra de comand a MATLAB-ului:

>> simulink

Pentru a vedea biblioteca de module Simulink se selecteaz modulele de interes, observnd modul n care acestea sunt folosite (programele demonstrative - demo din blocul "Extras" pot clarifica mai bine aceste informaii).

LISTNUM Rulai programul Simulink EX7_L3.mdl comentnd rezultatele obinute. Analizai toate blocurile Simulink existente n program.

Fig. 3.2. Exemplul EX7_L3.mdl

b1) Rulai programul pentru diferite forme i frecvene ale semnalului de intrare. Operai n blocul denumit "Signal Gen.".

b2) Discutai cnd trebuie i cum trebuie s se modifice (s creasc sau s scad) frecvena de eantionare folosit la proiectarea filtrului, dac frecvena semnalului de intrare crete. Precizai care este criteriul determinant pentru o astfel de variaie.

b3) Modificai caracteristica de gabarit a filtrului (limea, frecvena central a benzii de trecere), modificai tipul filtrului.

b4) Modificai filtrul FTB (iniial) astfel nct atenuarea n banda de trecere s fie nul.

LISTNUM Reluai problema b) pentru semnalul existent n fiierul semnal4.mat.

Soluie: Se va ncrca acest fiier semnal3.mat cu comanda

>> load semnal4Rezultatul va fi ncrcarea n spaiul de lucru a unei matrice "x". Prima linie a matricei reprezint momentele la care au fost nregistrate eantioanele de semnal, iar a doua linie reprezint valorile propriu-zise ale semnalului, la momentele respective. S se afieze semnalul. Programul soluie care va fi rulat i analizat este EX8_L3.mdl.

Fig. 3.3. Exemplul EX8_L3.mdl

LISTNUM S se filtreze un semnal ECG (electrocardiografic) uman, existent n fiierul foetal_ecg.dat (eantionat cu 500 Hz), i s se analizeze spectrul semnalului filtrat. Semnalul este afectat de un zgomot alb de band limitat. Se va rula programul Simulink EX9_L3, cu studierea tuturor modulelor care apar.

d1) Studiai ce se ntmpl dac cretem puterea zgomotului alb.d2) Modificai parametrii filtrului pentru o mai bun filtrare a semnalului util ECG.

Fig. 3.4. Exemplul EX9_L3.mdl

3.5 Exerciii i probleme recapitulative

a) Pentru filtrul FIR caracterizat de ecuaia cu diferene finite:

a1) Calculai i desenai amplitudinea i faza rspunsului n frecven.a2) Calculai rspunsul filtrului la secvena de intrare:

a3) Explicai rezultatele obinute la punctul a2), n funcie de rezultatele de la punctul a1).

b) Reluai exerciiul anterior utiliznd Matlab, respectiv o implementare Simulink.

Bibliografie LISTNUM NumberDefault \l 1 \s 0 LISTNUM Ungureanu Georgeta Mihaela - Analiza i prelucrarea semnalelor: aplicaii n ingineria biomedical, MATRIX ROM, 2013;

LISTNUM Ungureanu G. Mihaela Prelucrarea digital a semnalelor, MATRIX ROM, 2008;

LISTNUM Ungureanu Mihaela, Munteanu Cristian, Dumitras Adriana, Vieru Rodica, Coordonator: Prof.Dr.Ing. Lazarescu Vasile - Prelucrarea digital a semnalelor. Aplicaii Matlab, Matrix ROM, 2003;

LISTNUM Vasile Lzrescu - Prelucrarea digital a semnalelor; Amco Press, Bucuresti, Romania, 1995;

LISTNUM Robert D. Strum, Donald E. Kirk - First Principles of Discrete Systems and Digital Signal Processing; Addison - Wesley Publ. Comp., USA, 1988;

LISTNUM Alan V. Oppenheim, Roland W. Schaffer - Discrete Time Signal Processing - Prentice-Hall International, Inc., 1988

16

_1488268098.unknown

_1488278882.unknown

_1488283311.unknown

_1488283604.unknown

_1488287737.unknown

_1488288388.unknown

_1488290494.unknown

_1488290529.unknown

_1488288576.unknown

_1488288369.unknown

_1488283633.unknown

_1488283375.unknown

_1488283586.unknown

_1488283362.unknown

_1488279705.unknown

_1488283115.unknown

_1488278963.unknown

_1488278703.unknown

_1488278769.unknown

_1488278819.unknown

_1488278716.unknown

_1488278740.unknown

_1488268539.unknown

_1488276838.unknown

_1488268529.unknown

_1488267852.unknown

_1488267974.unknown

_1488268083.unknown

_1488267967.unknown

_1488267255.unknown

_1488267506.unknown

_1124102360.unknown

_1124102362.unknown

_1488267155.unknown

_1124102361.unknown

_1124102343.doc

Banda

de tranziie

frecvena

fs

fp

0

Banda de trecere

Banda de oprire

(s

|H|

1((p

1+(p