12.07.2015 Views

PRELUCRAREA SEMNALELOR:

PRELUCRAREA SEMNALELOR:

PRELUCRAREA SEMNALELOR:

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Universitatea ”Politehnica” BucureştiFacultatea de Automatică şi Calculatoare<strong>PRELUCRAREA</strong><strong>SEMNALELOR</strong>:breviar teoretic, probleme rezolvate, ghid Matlabconf.dr.ing. Bogdan Dumitrescuversiunea 5.2, martie 2003


PrefaţăLucrarea de faţă este destinată studenţilor de anul IV ai Facultăţii de Automaticăşi Calculatoare, secţia Automatică, care urmează cursul de PrelucrareaSemnalelor. După cum sugerează titlul, lucrarea urmăreşte mai multe scopuri.În primul rând, ea constituie un suport teoretic condensat al informaţiilor predatela curs; lipsesc deci explicaţiile detaliate; lucrarea are mai degrabă un rol defixare a cunoştinţelor teoretice decât unul de iniţiere.Al doilea scop major este obişnuirea studentului cu rezolvarea de probleme. Deaceea, fiecare secţiune conţine atât probleme rezolvate, cât şi probleme propusecititorului. Problemele propuse au în general un nivel mediu de dificultate, sauchiar uşor. Lipsesc, sau sunt foarte rare, problemele grele.În fine, lucrarea conţine şi informaţii despre funcţiile Matlab, în special din SignalProcessing Toolbox, utile în contextul chestiunilor teoretice studiate. Informaţiilesunt sumare, iar cititorul este invitat să le completeze utilizând programul Matlab.Fiecare secţiune este organizată în ordinea: teorie, probleme rezolvate, problemepropuse, ghid Matlab; această din urmă parte poate lipsi, dacă secţiunea respectivănu are implicaţii calculatorii.Lucrarea este încă incompletă. Prima versiunea a ei, din decembrie 2002,conţine doar cinci capitole din cele cel puţin şapte proiectate (numărul de versiunede pe copertă are două cifre: prima este numărul de capitole, a doua reprezintă”ediţia” curentă). Autorul promite să completeze lucrarea, în măsura posibilului,în primăvara anului 2003 (sperând că numerele de versiuni vor fi crescătoare). Sugestiileşi corecturile cititorilor sunt binevenite.Versiuni5.0: iniţială.5.1: nou: semnale aleatoare; corecturi: cap. 1, 2, 4.5.2: corecturi şi adăugiri: secţ. 4.5.


Cuprins1 Semnale 31.1 Semnale discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Transformata Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Transformata Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.4 Semnale aleatoare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Sisteme 312.1 Definiţii şi proprietăţi de bază . . . . . . . . . . . . . . . . . . . . . . 312.2 Sisteme liniare invariante în timp . . . . . . . . . . . . . . . . . . . . 342.3 Reprezentarea în frecvenţă a sistemelor LIT . . . . . . . . . . . . . . 402.4 Filtre de fază minimă . . . . . . . . . . . . . . . . . . . . . . . . . . 512.5 Filtre cu fază liniară . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 Eşantionare 653.1 Eşantionare (conversie analogic-numeric) . . . . . . . . . . . . . . . . 653.2 Conversie numeric-analogic . . . . . . . . . . . . . . . . . . . . . . . 704 Proiectarea filtrelor 774.1 Specificarea performanţelor . . . . . . . . . . . . . . . . . . . . . . . 774.2 Proiectarea filtrelor FIR prin metoda ferestrei . . . . . . . . . . . . . 834.3 Proiectarea filtrelor FIR în sens CMMP . . . . . . . . . . . . . . . . 914.4 Proiectarea filtrelor FIR în sens Chebyshev . . . . . . . . . . . . . . 1004.5 Proiectarea filtrelor IIR: metode detransformare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054.5.1 Filtre analogice . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.5.2 Transformarea biliniară . . . . . . . . . . . . . . . . . . . . . 1084.5.3 Transformări discret-discret în frecvenţă . . . . . . . . . . . . 1115 Analiza în frecvenţă a semnalelor 1195.1 Seria Fourier discretă . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195.2 Transformata Fourier discretă . . . . . . . . . . . . . . . . . . . . . . 1255.3 Transformata Fourier rapidă . . . . . . . . . . . . . . . . . . . . . . . 1305.3.1 Decimare în timp . . . . . . . . . . . . . . . . . . . . . . . . . 1305.3.2 Decimare în frecvenţă . . . . . . . . . . . . . . . . . . . . . . 1353


A Semnale şi sisteme analogice 143A.1 Semnale analogice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143A.2 Sisteme analogice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1451


Capitolul 1Semnale1.1 Semnale discreteDefiniţia 1.1 Un semnal discret x este o funcţie definită pe mulţimea numerelorîntregi, x : Z → R.Mulţimea Z are semnificaţia de timp (discret). Notăm x[n] valoarea semnaluluila momentul n; numim x[n] şi eşantionul n al semnalului. Printr-un abuz curent denotaţie, vom scrie şi că întreg semnalul este x[n], subînţelegând prin aceasta că n ∈ Zeste o variabilă liberă. Un exemplu de semnal discret este prezentat în figura 1.1.În practică apar îndeosebi semnale reale, i.e. care au valori în mulţimea numerelorreale, ca în definiţia 1.1. Teoretic, semnalele complexe sunt foarte importante; unsemnal complex este o funcţie x : Z → C. Prezentăm mai jos câteva posibileproprietăţi ale semnalelor discrete.Definiţia 1.2 Un semnal x[n] este periodic de perioadă N sau N − periodic, dacăx[n] = x[n + kN], pentru orice n, k ∈ Z. În general, numim perioadă a semnaluluicel mai mic N pozitiv cu proprietatea de mai sus.Definiţia 1.3 Se spune că semnalul x[n] este absolut sumabil dacă∞∑n=−∞|x[n]| < ∞.Mulţimea tuturor semnalelor absolut sumabile este notată l 1 .Definiţia 1.4 Se spune că semnalul x[n] are energie finită dacă∞∑n=−∞|x[n]| 2 < ∞.Mulţimea tuturor semnalelor de energie finită este notată l 2 .Suportul unui semnal. Spunem că semnalul x[n] are suport T ∈ Z dacă x[n] = 0,∀n ∈ Z \ T , adică semnalul este nul în afara mulţimii suport. Semnalele pot avea:3


4 CAPITOLUL 1. SEMNALE2.5x[n]21.51... ...0.50n−0.5−1−1.5−2−10 −8 −6 −4 −2 0 2 4 6 8 10Figura 1.1: Un exemplu de semnal discret.• suport finit, când T este o mulţime finită, e.g. T = 0 : M, unde M este unîntreg pozitiv;• suport infinit la dreapta, când x[n] = 0 pentru n < M, cu m ∈ Z fixat.• suport infinit la stânga, când x[n] = 0 pentru n > M, cu m ∈ Z fixat.• suport dublu infinit (sau infinit bilateral), când T = Z.Prezentăm în continuare câteva semnale extrem de folosite.Impuls unitate. Semnalul impuls unitate, prezentat în figura 1.2a este definit deδ[n] ={1, dacă n = 0,0, altfel.(1.1)Orice semnal x[n] poate fi descris ca o sumă infinită de impulsuri unitate (decalateîn timp), anume∞∑x[n] = x[k]δ[n − k]. (1.2)k=−∞Treaptă unitate. Semnalul treaptă unitate, prezentat în figura 1.2b este definitde{1, dacă n ≥ 0,u[n] =(1.3)0, altfel.Aplicând relaţia (1.2) se observă că între treapta şi impulsul unitate există relaţiau[n] =∞∑δ[n − k]. (1.4)k=0


1.1. SEMNALE DISCRETE 5δ[n]11u[n]... ...... ...n−5 −4 −3 −2 −1 0 1 2 3 4 5−5 −4 −3 −2 −1 0 1 2 3 4 5a) b)nFigura 1.2: a) Impuls unitate; b) treapta unitate.Semnale sinusoidale. Un semnal sinusoidal discret real are formax[n] = sin(ωn + ϕ). (1.5)Există o mare deosebire între sinusoidele discrete şi cele continue. Acestea dinurmă, de forma x(t) = sin(Ωt + ϕ), t ∈ R, sunt întotdeauna periodice, de perioadăT 0 = 2π/Ω. Sinusoida discretă (1.5) este periodică doar dacă există un întreg kastfel încâtN = 2πk(1.6)ωsă fie întreg. Cu alte cuvinte, este necesar ca π/ω să fie un număr raţional. În acestcaz, perioada este cel mai mic întreg pozitiv N care satisface (1.6). Prezentăm înfigura 1.3 semnalul sin(πn/3), a cărui perioadă este N = 6; punctat, este figuratăsinusoida continuă sin(πt/3), care trece prin aceleaşi puncte ca şi cea discretă. Osinusoidă aperiodică este sin n, desenată în figura 1.4.Numim ω din (1.5) frecvenţa semnalului sinusoidal. (Acesta este un abuz comunîn prelucrarea semnalelor, deoarece termenul corespunzător din fizică este pulsaţia.Abuzul este justificat de proporţionalitatea dintre frecvenţă şi pulsaţie.) O proprietateesenţială a semnalelor sinusoidale discrete este că semnale cu frecvenţediferite pot fi identice. (Spre deosebire, sinusoidele continue cu frecvenţe diferitesunt întotdeauna diferite.)Propoziţia 1.5 Două sinusoide de forma (1.5), cu frecvenţele ω şi ω + 2kπ, undek este un întreg arbitrar, sunt identice.Demonstraţie. În mod evident avem sin((ω + 2kπ)n + ϕ) = sin(ωn + ϕ).Aşadar, doar semnalele sinusoidale cu frecvenţe ω ∈ [−π, π] sunt distincte.Prezentăm în figura 1.5 sinusoidele identice sin(πn/4) = sin(9πn/4), precum şisinusoidele continue diferite din care provin.Semnale sinusoidale complexe. Un semnal sinusoidal discret complex are formax[n] = e j(ωn+ϕ) = cos(ωn + ϕ) + j sin(ωn + ϕ). (1.7)


6 CAPITOLUL 1. SEMNALE10.5... ...0n−0.5−1−6 −4 −2 0 2 4 6 8 10 12 14Figura 1.3: Semnalul sin(πn/3), de perioadă 6. Punctat, sinusoida continuăsin(πt/3).10.5... ...0n−0.5−1−6 −4 −2 0 2 4 6 8 10 12 14Figura 1.4: Semnalul aperiodic sin n. Punctat, sinusoida continuă sin t.


1.1. SEMNALE DISCRETE 710.5... ...0n−0.5−1−10 −8 −6 −4 −2 0 2 4 6 8 10Figura 1.5: Sinusoidele identice sin(πn/4) = sin(9πn/4). Punctat, sinusoidele continuediferite sin(πt/4) şi sin(9πn/4).Semnale exponenţiale. Un semnal discret exponenţial are formax[n] = α n u[n], α ∈ C, (1.8)cu u[n] treapta unitate definită în (1.3). Dacă |α| < 1, atunci lim n→∞ x[n] = 0.Dacă α = 1, atunci x[n] = u[n] este treapta unitate. Dacă |α| = 1, atunci se obţineo sinusoidă (pentru n ≥ 0). În fine, dacă |α| > 1, atunci semnalul este divergent (însensul că nu există lim n→∞ x[n]).Operaţii cu semnale. Fie x[n], y[n] două semnale. Având în vedere că un semnaleste o funcţie, produsul unui semnal cu un scalar, i.e. αx[n], α ∈ R, sau suma a douăsemnale, i.e. x[n] + y[n], au definiţii evidente. Alte operaţii de interes în prelucrareasemnalelor sunt următoarele.Definiţia 1.6 Convoluţia semnalelor x[n], y[n] este semnalulx[n] ∗ y[n] def=∞∑k=−∞x[k]y[n − k]. (1.9)Definiţia 1.7 Modulaţia în timp a semnalelor x[n], y[n] este semnalul x[n]y[n]obţinut prin înmulţirea eşantioanelor corespunzătoare aceluiaşi moment de timp.(Frecvent se spune că semnalul x[n] este modulat în timp prin semnalul y[n], sauinvers.)Probleme rezolvatePR 1.1.1 a. Ce perioadă are semnalul cos(3πn/5) ?b. Ce semnificaţie are numărul k din (1.6) ?c. Daţi un exemplu de semnal sinusoidal discret de perioadă 3.


8 CAPITOLUL 1. SEMNALE10.5... ...0n−0.5−1−2 0 2 4 6 8 10 12Figura 1.6: Semnalul cos(3πn/5) are perioada N = 10. Unei perioade a semnaluluiîi corespund k = 3 perioade ale semnalului continuu cos(3πt/5).Soluţie. a. Deoarece frecvenţa semnalului este ω = 3π/5, se observă din (1.6)că cel mai mic k pentru care N este întreg este k = 3; perioada semnalului esteN = 10. Semnalul este ilustrat în figura 1.6.b. Numărul k din (1.6) reprezintă numărul de perioade ale semnalului sinusoidalcontinuu x(t) = sin(ωt+ϕ) care corespund unei perioade a semnalului discret (1.5).Vezi şi figura 1.6.c. Alegând ω = 2π/3, rezultă din (1.6) că N = 3 pentru k = 1.PR 1.1.2 Fie semnalelex[n] = 2 sin( π3 n + π )( π), y[n] = cos4 4 n .Este x[n] + y[n] un semnal periodic ? Dacă da, care este perioada lui ?Soluţie. Semnalul x[n] are perioadă 6, iar semnalul y[n] are perioadă 8. Sumaa două semnale periodice este periodică, iar perioada sa este cel mai mic multiplucomun al perioadelor celor două semnale, în cazul nostru 24.PR 1.1.3 a. Care este sinusoida discretă cu cea mai înaltă frecvenţă ?b. Pot fi identice două sinusoide discrete cu aceeaşi frecvenţă, dar cu amplitudinidiferite ? (Semnalul sinusoidal x[n] = a sin(ωn + ϕ), cu a > 0 are amplitudinea a.)Soluţie. a. Frecvenţa cea mai înaltă este ω = π. Un semnal cu această frecvenţăeste cos(πn) = (−1) n , desenat în figura 1.7.b. Da, de exemplu cos(πn) = 2 cos(πn + π 3 ).


1.1. SEMNALE DISCRETE 910.5... ...0n−0.5−1−8 −6 −4 −2 0 2 4 6 8Figura 1.7: Semnalul cos(πn) are frecvenţă maximă.Probleme propusePP 1.1.1 Poate fi periodic un semnal cu suport finit ? Dar unul cu suport infinitla dreapta ?PP 1.1.2 Un semnal x[n] este întârziat cu n 0 momente de timp (adică noul semnaleste y[n] = x[n − n 0 ]). Care din următoarele proprietăţi ale semnalului x[n] seconservă după întârziere: a) periodicitate, b) formă sinusoidală, c) suport finit, d)suport infinit la dreapta ?PP 1.1.3 Aceeaşi întrebare pentru semnalul y[n] = x[−n] obţinut prin inversareasensului timpului.PP 1.1.4 Este un semnal constant periodic ? Dacă da, care este perioada sa ?PP 1.1.5 Care dintre semnalele impuls unitate (1.1), treaptă unitate (1.3), sinusoidal(1.5), exponenţial (1.8) este absolut sumabil ?PP 1.1.6 Demonstraţi că orice semnal absolut sumabil are energie finită, i.e. căeste satisfăcută incluziunea l 1 ⊂ l 2 .Daţi un exemplu de semnal cu energie finită care nu este absolut sumabil;demonstraţi astfel că incluziunea de mai sus e strictă.PP 1.1.7 Demonstraţi că operaţia de convoluţie a semnalelor, definită de (1.9),este comutativă şi asociativă.PP 1.1.8 Fie x[n] şi y[n] două semnale periodice. Sunt periodice semnalele obţinuteprin convoluţia sau modulaţia în timp a celor două semnale date ?PP 1.1.9 Fie x 1 [n] şi x 2 [n] două semnale cu suport infinit la dreapta, anume M 1 :∞ şi M 2 : ∞. Care este suportul convoluţiei lor x 1 [n] ∗ x 2 [n] ? Caz particular:M 1 = M 2 = 0.


10 CAPITOLUL 1. SEMNALEFormulaţi şi rezolvaţi o problemă asemănătoare pentru semnale cu suport infinitla stânga.Dacă x 1 [n] are suport infinit la stânga iar x 2 [n] suport infinit la dreapta, demonstraţică x 1 [n] ∗ x 2 [n] are suport dublu infinit.Ghid MatlabÎn Matlab se pot utiliza doar semnale cu suport finit, în variabile de tip vector;adoptăm convenţia ca aceşti vectori să fie de tip linie. Pentru exemplificare vomconsidera suportul>> n = 0:Mde lungime>> L = length(n)Semnalele definite în această secţiune, i.e. impuls unitate (1.1), treaptă unitate(1.3), sinusoidă reală (1.5), exponenţial (1.8) se introduc simplu astfel>> imp_unit = eye(1,L) % impuls unitate>> tr_unit = ones(1,L) % treapta unitate>> sin_real = sin(w*n + phi) % sinusoida reala>> j = sqrt(-1)>> sin_compl = exp( j*(w*n + phi)) % sinusoida complexa>> e = ones(1,L)>> e(2:end) = alfa>> e = cumprod(e) % semnal exponentialDesigur, înainte de executarea instrucţiunile de mai sus, variabilele w, phi, alfa auprimit valori numerice adecvate. Graficul unui semnal real se poate face cu funcţiaplot; tipică pentru semnale discrete este însă funcţia stem (cu care au fost trasategraficele din această secţiune), apelată e.g. astfel>> stem(n, sin_real)Pentru a ilustra operaţiile cu semnale, considerăm că x1 şi x2 conţin două semnalecu acelaşi suport. Atunci, suma lor se scrie>> xs = x1 + x2modulaţia în timp (produsul la nivel de element) este>> xm = x1 .* x2iar convoluţia lor este>> xc = conv(x1,x2)Atenţie, semnalul xc obţinut prin convoluţie are alt suport decât x1 şi x2; de exemplu,dacă x1 şi x2 au suport 0 : M, atunci xc are suport 0 : 2M.


1.2. TRANSFORMATA FOURIER 111.2 Transformata FourierDefiniţia 1.8 Transformata Fourier a unui semnal discret x[n] este funcţia X :R → C, definită de∞∑X(ω) = x[n]e −jωn . (1.10)Notăm pe scurt X(ω) = T F (x[n]).n=−∞Din motive care vor fi evidente mai târziu, folosim şi notaţia X(e jω ) cu aceeaşisemnificaţie ca X(ω). Deocamdată vom utiliza mai ales notaţia din (1.10); înschimb, atunci când va fi vorba despre sisteme, cealaltă notaţie va prevala.Observaţia 1.9 Ştim din Propoziţia 1.5 că sinusoidele cu frecvenţe diferind cu 2πsunt identice. În consecinţă, transformata Fourier X(ω) este periodică cu perioada2π şi de aceea este suficient să studiem transformata Fourier a unui semnal doar înintervalul ω ∈ [−π, π].Observaţia 1.10 Nu orice semnal x[n] are o transformată Fourier definită pe întregintervalul [−π, π], deoarece seria (1.10) poate fi divergentă. O condiţie suficientă deconvergenţă este următoarea.Propoziţia 1.11 Dacă semnalul x[n] este absolut sumabil, atunci X(ω) din (1.10)există pentru orice ω. (Mai mult, seria (1.10) converge uniform către o funcţiecontinuă în ω.)Propoziţia 1.12 Dacă x[n] este un semnal de energie finită, atunci seria (1.10)converge (i.e. transformata Fourier există) aproape peste tot. Mai precis, fieX M (ω) =M∑n=−Mx[n]e −jωn . (1.11)Atunci avem∫ πlim |X(ω) − X M (ω)| 2 dω = 0, (1.12)M→∞ −πadică ”energia” erorii de aproximare a lui X(ω) prin X M (ω) tinde spre zero, dareroarea nu se anulează neapărat peste tot. (Pe scurt, X M (ω) poate să nu conveargăpeste tot la X(ω); desigur, convergenţa nu e uniformă, în general.)Teorema 1.13 Transformata Fourier inversă, care asociază unei funcţii X(ω) semnalulx[n] (a cărui transformată Fourier este X(ω)) estex[n] = 12π∫ π−πX(ω)e jωn dω. (1.13)Forma transformatei Fourier inversă (1.13) sugerează semnificaţia transformateiFourier a unui semnal: X(ω), ω ∈ [−π, π], reprezintă conţinutul în frecvenţă alsemnalului x[n]. Funcţia complexă X(ω) este numită spectrul semnalului x[n]; desigur,|X(ω)| este amplitudinea (magnitudinea) spectrului, iar argX(ω) este fazaspectrului. De asemenea, |X(ω)| 2 este numită densitate de energie spectrală, dinmotive ce vor fi evidente mai jos, după prezentarea teoremei lui Parseval.


12 CAPITOLUL 1. SEMNALEProprietăţi ale transformatei FourierVom enumera în continuare câteva proprietăţi importante ale transformatei Fourier.Fie x[n], y[n] semnale complexe, iar X(ω), Y (ω) transformatele Fourier ale acestora.Liniaritate. Pentru orice α, β ∈ C avemT F (αx[n] + βy[n]) = α · T F (x[n]) + β · T F (y[n]). (1.14)Întârziere. Fie n 0 un întreg oarecare şi y[n] = x[n − n 0 ], i.e. y[n] este semnalulx[n] întârziat cu n 0 momente de timp (o întârziere negativă este de fapt oanticipare). Relaţia între transformatele Fourier ale celor două semnale esteComplex conjugare. Fie y[n] = x ∗ [n]. AtunciY (ω) = e −jωn0 X(ω). (1.15)Y (ω) = X ∗ (−ω). (1.16)Simetrii ale TF pentru semnale reale. Dacă semnalul x[n] este real, atunci auloc următoarele proprietăţi de simetrie:X(−ω) = X ∗ (ω),ReX(ω) = ReX(−ω),ImX(ω) = −ImX(−ω),|X(ω)| = |X(−ω)|,argX(ω) = −argX(−ω).(1.17)Cu alte cuvinte, |X(ω)| şi ReX(ω) sunt funcţii pare, iar ImX(ω) şi argX(ω) suntfuncţii impare.Timp invers. Considerăm semnalul y[n] = x[−n] obţinut prin inversarea sensuluitimpului pentru semnalul x[n]. AvemDerivare în frecvenţă:Y (ω) = X(−ω). (1.18)T F (nx[n]) = j dX(ω)dω . (1.19)Teorema lui Parseval. Forma generală a acestei teoreme este∞∑n=−∞x[n]y ∗ [n] = 1 ∫ πX(ω)Y ∗ (ω)dω. (1.20)2π −πTermenul din stânga are semnificaţie de produs scalar în spaţiul semnalelor; similar,termenul din dreapta are semnificaţie de produs scalar în spaţiul funcţiilor definitepe intervalul [−π, π]. Punând y[n] = x[n] în (1.20) se obţine egalitatea numită deobicei teorema lui Parseval∞∑|x[n]| 2 = 1 ∫ π|X(ω)| 2 dω. (1.21)2π −πn=−∞


1.2. TRANSFORMATA FOURIER 13Aşadar, energia în timp a semnalului este egală (modulo constanta 1/2π) cu energiaîn frecvenţă a acestuia. Termenul din dreapta justifică denumirea de densitate deenergie spectrală atribuită lui |X(ω)| 2 .Convoluţie. Prin transformata Fourier, convoluţia a două semnale este transformatăîn produs al transformatelor Fourier, i.e.Modulaţie în timp. AvemT F (x[n] ∗ y[n]) = X(ω) · Y (ω). (1.22)T F (x[n]y[n]) = 12π∫ π−πX(θ)Y (ω − θ)dθ. (1.23)Probleme rezolvatePR 1.2.1 a. Demonstraţi că dacă m este întreg, atunci∫ π{e jωm 2π, dacă m = 0dω = 2πδ[m] =0, altfel.−πb. Demonstraţi Teorema 1.13.(1.24)Soluţie. a. Calculăm direct. Pentru m = 0 obţinemiar pentru m ≠ 0 avem∫ π−π∫ π−πe jωm dω =∫ π−πdω = 2πe jωm dω = 1jm ejωm | π 2j sin(mπ)−π= = 0,jmdeoarece sin(mπ) = 0 pentru orice m întreg.b. Substituim (1.10) în (1.13), apoi utilizăm (1.24) şi obţinem∫ (1 π ∞)∑x[k]e −jωk e jωn dω = 1 ∞∑∫ πx[k] e jω(n−k) dω =2π −π2πk=−∞k=−∞−π∞∑= x[k]δ[n − k] = x[n].k=−∞Ultima egalitate este (1.2). Aşadar funcţia (1.13) este inversa funcţiei (1.10).PR 1.2.2 a. Calculaţi transformata Fourier a semnalului exponenţial definit de(1.8), cu |α| < 1.b. Calculaţi transformata Fourier a semnalului y[n] = −α n u[−n−1], cu |α| > 1.Soluţie. a. Folosim definiţia (1.10) şi obţinem∞∑∞∑X(ω) = α n e −jωn = (αe −jω ) n 1=1 − αe −jω .n=0n=0


14 CAPITOLUL 1. SEMNALEÎn calculul sumei progresiei geometrice de mai sus am ţinut seama că lim n→∞ (αe −jω ) n =0, deoarece raţia αe −jω are modul subunitar.b. Aplicând din nou definiţia (1.10) obţinemY (ω) = −∑−1n=−∞α n e −jωn = −∞∑((α −1 e jω ) n = −n=1)11 − α −1 e jω − 1 =11 − αe −jω .De data aceasta avem lim n→∞ (α −1 e −jω ) n = 0. Atenţie, semnalele x[n] = α n u[n] şiy[n] = −α n u[−n − 1] nu au transformate Fourier identice, deoarece ele sunt definitepentru valori diferite ale parametrului α. În primul caz avem |α| < 1, în al doilea|α| > 1. De altfel, două semnale nu pot avea aceeaşi transformată Fourier, deoareceTF este o bijecţie.PR 1.2.3 Considerăm semnalul x[n] al cărui spectru, ilustrat în figura 1.8, este{1, pentru |ω| ≤ ωt ,X(ω) =0, pentru ω t < |ω| ≤ π,unde ω t este dat. Aşadar, semnalul x[n] are un spectru ideal de joasă frecvenţă.Calculaţi x[n] folosind transformata Fourier inversă (1.13).Soluţie. Introducem funcţia sinc (numită şi nucleul Dirichlet; ea va apărea demulte ori în continuare):sinc ω = sin ωω . (1.25)Folosind transformata Fourier inversă obţinemx[n] = 12π∫ π−π= sin(ω tn)πnX(ω)e jωn dω = 12π∫ ωt−ω te jωn dω = 12πjn ejωn ∣ ∣∣∣ω t−ω t= ω tπ sinc(ω tn). (1.26)Un exemplu de astfel de semnal este prezentat în figura 1.8. Se observă că semnalulare suport dublu infinit. Am obţinut deci egalitateaX(ω) =∞∑n=−∞sin(ω t n)e −jωn = ω tπnπ∞∑n=−∞sinc(ω t n)e −jωn . (1.27)PR 1.2.4 (Fenomenul Gibbs) Se consideră semnalul x[n] definit de (1.26), cuspectrul ideal de joasă frecvenţă din figura 1.8. Scrieţi un program Matlab care sădeseneze modulul spectrului semnalului{x[n], pentru n = −M : M,x M [n] =0, altfel;cu alte cuvinte, seria (1.27) se trunchiază ca în (1.11).


1.2. TRANSFORMATA FOURIER 151.20.40.3510.30.80.250.20.60.40.150.1... ...0.20−π −π/3 π/3 π−0.2−4 −3 −2 −1 0 1 2 3 4ω0.050−0.05−0.1−15 −10 −5 0 5 10 15nFigura 1.8: Spectru de joasă frecvenţă ideal, cu ω t = π/3 (stânga). Semnalulcorespunzător (dreapta).Observaţi că, pe măsură ce M creşte, spectrul X M (ω) se apropie de caracteristicaideală, mai puţin în apropierea frecvenţei ω t . Aceasta este o ilustrare a convergenţeitransformatei Fourier conform Propoziţiei 1.12 şi se numeşte fenomenul Gibbs. (Deasemenea, demonstraţi că semnalul (1.26) are energie finită.)Soluţie. Programul este prezentat în figura 1.9, în două variante. Prima estecea naivă, în care seria (1.27) se trunchiază pur şi simplu. Singurul artificiu decalcul este utilizarea simetriei transformatei Fourier pentru semnale reale (primarelaţie din (1.17)). Observăm că spectrul este calculat într-un număr de punctenp, pentru comoditate alese echidistant. De asemenea, trebuie precizată explicitvaloarea x[0] = ω t /π care rezultă din (1.26) pentru n = 0; în Matlab (şi în orice altlimbaj de programare care utilizează formatul virgulă mobilă pentru numere reale),calculul direct al lui x[0] duce la operaţia 0/0, al cărui rezultat este NaN (”not anumber”, simbolul pentru rezultate nedeterminate în standardul virgulă mobilă).A doua variantă de program utilizează proprietăţile semnalului (1.26) pentru uncalcul mai rapid. Observăm că semnalul (1.26) este par, adică x[−n] = x[n]. Înacest caz se poate demonstra uşor că X(ω) este real (şi deci par), şi căX(ω) = ω tπ + 2 M ∑n=1sin(ω t n)πncos(ωn).(Vezi problema PP1.2.4 pentru mai multe amănunte.)Transformata Fourier X(ω) calculată de programul de mai sus este prezentatăîn figura 1.10, pentru M = 3, 10, 30, 100 şi ω t = π/3. Fenomenul Gibbs este evident,eroarea absolută în jurul frecvenţei ω = ω t rămânând mare chiar pentru valori foartemari ale lui M, pentru care x[n] este foarte mic (spre exemplu x[100] = −0.0028,dar eroarea absolută maximă este aproape 0.09).În sfârşit, pentru a demonstra că semnalul (1.26) are energie finită este suficientsă observăm că |x[n]| < 1/n, pentru n > 0, şi deci ∑ ∞n=1 |x[n]|2 < ∑ ∞n=1 1/n2 ; seriadin termenul drept este convergentă. În plus, avem x[−n] = x[n].PR 1.2.5 (Transformata Fourier a semnalelor sinusoidale complexe) Semnalulsinusoidal complex x[n] = e jω0n , unde ω 0 ∈ [−π, π] este dat, nu are energie


16 CAPITOLUL 1. SEMNALEfunction [X,w] = tf_jf(wt, M, np)% calculeaza transformata Fourier a semnalului ideal% de joasa frecventa trunchiat la intervalul -M:M% wt - frecventa maxima (banda de frecvente este [0,wb])% M - limita suportului semnalului% np - numarul de frecvente (echidistante) in care se calculeaza% transformata Fourierif nargin < 3np = 200;end%------------------------------------------% VARIANTA 1n = -M:M;x = sin(wt*n)./(pi*n);x((1+end)/2) = wt/pi;w = 0:2*pi/np:pi;for k = 1 : length(w)X(k) = sum( x .* exp(-j*w(k)*n) );endX = [ conj(X(end:-1:2)) X ];w = [ -w(end:-1:2) w ];%------------------------------------------% VARIANTA 2n = (1:M)’;x = sin(wt*n)./(pi*n);w = 0:2*pi/np:pi;X = x’ * cos(n*w);X = 2*X + wt/pi;X = [ X(end:-1:2) X ];w = [ -w(end:-1:2) w ];Figura 1.9: Program de calcul al modulului transformatei Fourier (1.27) trunchiatăla suportul −M : M.


1.2. TRANSFORMATA FOURIER 171.21.2110.80.80.60.60.40.40.20ωω0.20ω−π −π/3 π/3 π−0.2−4 −3 −2 −1 0 1 2 3 4−π −π/3 π/3 π−0.2−4 −3 −2 −1 0 1 2 3 41.21.2110.80.80.60.60.40.40.20ω0.20ω−π −π/3 π/3 π−0.2−4 −3 −2 −1 0 1 2 3 4−π −π/3 π/3 π−0.2−4 −3 −2 −1 0 1 2 3 4Figura 1.10: Modulul transformatei Fourier (1.27) trunchiată la suportul −M : M,pentru M = 3, 10, 30, 100.finită şi seria (1.10) nu este convergentă.Fourier acestui semnal, anumeTotuşi, putem asocia o transformatăX(ω) = 2π∞∑l=−∞δ(2πl + ω − ω 0 ). (1.28)Notăm δ(ω) impulsul Dirac situat în origine. Observăm că X(ω) este periodică şică restricţia la intervalul [−π, π] este impulsul 2πδ(ω − ω 0 ).Interpretare: semnalul sinusoidal are un spectru nenul într-o singură frecvenţă(în care se concentrează toată energie sa). Un spectru de acest tip se numeşte şispectru de linii (una singură, în cazul de faţă).Demonstraţi, folosind definiţia (1.13), că semnalul sinusoidal x[n] se obţineaplicând transformata Fourier inversă funcţiei (spectru) X(ω).Soluţie.Dirac:Demonstraţia este banală, ţinând seama de proprietăţile impulsului∫1 π2πδ(ω − ω 0 )e jωn dω = e jω0n .2π −πPR 1.2.6 Demonstraţi proprietăţile (1.14–1.23) ale transformatei Fourier.


18 CAPITOLUL 1. SEMNALESoluţie. Liniaritatea (1.14) este evidentă.Întârziere. Luând y[n] = x[n − n 0 ] şi aplicând definiţia (1.10) obţinemY (ω) =∞∑n=−∞x[n − n 0 ]e −jωn =∞∑n=−∞x[n]e −jω(n+n 0) = e −jωn 0X(ω).Complex conjugare. Luăm y[n] = x ∗ [n] şi obţinem(∞∑∞) ∗∑Y (ω) = x ∗ [n]e −jωn = x[n]e jωn = X ∗ (−ω).n=−∞n=−∞Simetriile TF pentru semnale reale rezultă din (1.16), ţinând seama că x ∗ [n] =x[n]. Aşadar avem X(ω) = X ∗ (−ω), ceea ce implică toate relaţiile (1.17).Derivare în frecvenţă. AvemdX(ω)dω= ddω( ∞∑n=−∞x[n]e −jωn )=∞∑n=−∞(−jnx[n]e −jωn ),de unde (1.19) rezultă imediat.Teorema lui Parseval. Folosim definiţia TF şi proprietatea (1.24):∫1 πX(ω)Y ∗ (ω)dω =2π −π=(1.24)=∫1 π2π12π∞∑−π n=−∞∞∑∞∑n=−∞ k=−∞∞∑n=−∞x[n]y ∗ [n].x[n]e −jωnx[n]y ∗ [k]∞ ∑k=−∞∫ π−πy ∗ [k]e jωk dωe jω(k−n) dω∞∑Convoluţie. Transformata Fourier a semnalului x[n] ∗ y[n] definit în (1.9) este∞∑n=−∞ k=−∞x[k]y[n−k]e −jωn =∞∑k=−∞x[k]e −jωk∞ ∑n=−∞y[n−k]e −jω(n−k) = X(ω)Y (ω),ceea ce demonstrează (1.22).Modulaţie în timp. Relaţia (1.23) se demonstrează înlocuind X(θ) şi Y (ω − θ)cu definiţia (1.10).Probleme propusePP 1.2.1 Calculaţi transformata Fourier a semnalului{1, pentru n = 0 : M,x[n] =0, altfel,unde M este un întreg pozitiv dat.


1.2. TRANSFORMATA FOURIER 19PP 1.2.2 Calculaţi transformata Fourier a semnalului x[n] = α |n| , cu |α| < 1.PP 1.2.3 Calculaţi transformata Fourier a semnalului x[n] = nα n u[n], unde |α|


20 CAPITOLUL 1. SEMNALEpentru diverse valori ale lui M. Veţi obţine aproximări ale impulsului unitate (înfrecvenţă, adică într-un domeniu continuu). Aceste aproximări vor avea oscilaţiimari în apropierea frecvenţei ω = 0.PP 1.2.8 Fie x[n] un semnal cu energie finită şi X(ω) transformata sa Fourier.Definim semnalul∞∑r[k] = x[n]x ∗ [n − k] (1.29)n=−∞şi notăm R(ω) transformata sa Fourier.a. Demonstraţi că are loc egalitatea R(ω) = |X(ω)| 2 .b. Observaţi că r[0] = ∑ ∞n=−∞ |x[n]|2 este energia semnalului x[n]. Din transformataFourier inversădeduceţi teorema lui Parseval.Ghid Matlabr[k] = 1 ∫ πR(ω)e jωk dω,2π −πTransformata Fourier a unui semnal cu suport finit se poate calcula într-un modsimilar programului din figura 1.9. Deci, luând o grilă de frecvenţe>> w = 0:pas:piunde, e.g. pas=0.01, transformata Fourier a semnalului x cu suportul>> n = 0:Mse poate calcula simplu prin>> X = x * exp(-j*n’*w)Amplitudinea transformatei Fourier se desenează cu>> plot(w, abs(X))iar faza prin>> plot(w, angle(X))De exemplu, pentru problema PP1.2.1, făcând abstracţie de formula simplăcerută acolo, transformata Fourier se poate calcula astfel>> M = 10 % o valoare intreaga oarecare>> w = 0 : pi/200 : pi % sunt de fapt 201 puncte>> x = ones(1, M+1) % semnalul>> X = x’ * exp(-j*(0:M)’*w) % transformata FourierO altă variantă de calcul presupune utilizarea funcţiei freqz, care va fi discutatămai în detaliu în capitolul 2. Transformata Fourier se calculează pe grila de frecvenţew prin apelul>> X = freqz(x, 1, w)De asemenea, transformata Fourier se poate calcula eficient (pe o anumită grilăde frecvenţe), cu funcţia fft. Aceasta va fi discutată după prezentarea transformateiFourier discrete şi a algoritmilor rapizi de implementare a acesteia, în capitolul5.


1.3. TRANSFORMATA Z 211.3 Transformata ZDefiniţia 1.14 Transformata Z (bilaterală) a unui semnal discret x[n] este funcţiaX : C → C∞∑X(z) = x[n]z −n . (1.30)Folosim şi notaţia X(z) = T Z(x[n]).n=−∞Observăm că transformata Fourier (1.10) este un caz particular al transformateiZ, pentru z = e jω . Notaţia X(e jω ) pentru transformata Fourier (spre deosebire denotaţia naturală X(ω)) subliniază această legătură.Observaţia 1.15 Pentru marea majoritate a semnalelor, transformata Z există (însensul că seria (1.30) converge) într-o anume regiune a planului complex (care nuconţine neapărat cercul unitate), numită regiune de convergenţă. Aşadar semnalecare nu au transformată Fourier pot avea transformată Z. Vezi problema PR1.3.1pentru un exemplu.Observaţia 1.16 Mai multe semnale pot avea aceeaşi transformată Z, dar regiunide convergenţă disjuncte. Exemple de astfel de semnale sunt prezentate în problemelePR1.3.1 şi PR1.3.2.Teorema 1.17 Transformata Z inversă, care asociază unei funcţii X(z) semnalulx[n] (a cărui transformată Z este X(z)) estex[n] = 1 ∮X(z)z n−1 dz. (1.31)2πjIntegrala se calculează pe un contur închis în jurul originii în planul complex, parcursîn sens invers acelor de ceas; conturul este situat în regiunea de convergenţă atransformatei Z pentru semnalul x[n].Aşadar transformata Z inversă nu depinde doar de X(z) ci şi de regiunea deconvergenţă a transformatei. În aceste condiţii, transformata Z este unică.Teorema de mai sus are puţină utilitate practică, datorită dificultăţii calculăriiintegralei (1.31). De obicei, recuperarea unui semnal a cărui transformată Z estecunoscută se face utilizând transformate Z elementare (unele prezentate în tabelul1.1) şi proprietăţi ale transformatei Z (prezentate mai jos).Proprietăţi ale transformatei ZVom enumera în continuare câteva proprietăţi importante ale transformatei Z. Fiex[n], y[n] semnale şi X(z), Y (z) transformatele lor Z.Liniaritate. Pentru orice α, β ∈ C avemT Z(αx[n] + βy[n]) = α · T Z(x[n]) + β · T Z(y[n]). (1.32)


22 CAPITOLUL 1. SEMNALESemnal Transformata ZImpuls unitate întârziat: δ[n − n 0 ] z −n 01Treaptă unitate:u[n]1 − z −1Exponenţială:α n 1u[n]1 − αz −1Sinus:sin(ω 0 n)u[n]sin ω 0 · z −11 − 2 cos ω 0 · z −1 + z −2Cosinus:cos(ω 0 n)u[n]1 − cos ω 0 · z −11 − 2 cos ω 0 · z −1 + z −2Tabelul 1.1: Transformate Z ale unor semnale uzuale.Întârziere. Fie n 0 un întreg oarecare şi y[n] = x[n − n 0 ], i.e. semnalul x[n]întârziat. Relaţia dintre transformatele Z ale celor două semnale esteY (z) = z −n0 X(z). (1.33)În cazul în care n 0 = 1, relaţia de mai sus este Y (z) = z −1 X(z), adică întârziereacu un moment de timp corespunde unei înmulţiri cu z −1 . De aceea, z −1 se numeşteşi operator de întârziere cu un pas (eşantion).Înmulţirea cu o exponenţială. Fie x[n] un semnal oarecare şi y[n] = α n x[n], cuα ∈ C. Atunci avemY (z) = X(z/α). (1.34)Timp invers. Considerăm semnalul y[n] = x[−n] obţinut prin inversarea sensuluitimpului pentru semnalul x[n]. AvemDerivare după z:Y (z) = X(z −1 ). (1.35)T F (nx[n]) = −z dX(z) . (1.36)dzConvoluţie. Prin transformata Z, convoluţia a două semnale este transformatăîn produs al transformatelor Z, i.e.Probleme rezolvateT Z(x[n] ∗ y[n]) = X(z) · Y (z). (1.37)PR 1.3.1 Calculaţi transformata Z a semnalului exponenţial definit de (1.8). Careeste regiunea de convergenţă a transformatei Z a acestui semnal ?Soluţie. Aplicând (1.30) obţinem∞∑∞∑X(z) = α n z −n = (αz −1 ) n 1=1 − αz −1 .n=0n=0


1.3. TRANSFORMATA Z 23Seria de mai sus converge dacă raţia αz −1 are modul subunitar, deci în regiuneainelară (infinită) a planului complex în care |z| > |α|. Aşadar, când |α| > 1,transformata Z a semnalului exponenţial există într-o zonă a planului complex, întimp ce transformata Fourier nu există.PR 1.3.2 Calculaţi transformata Z a semnalului y[n] = −α n u[−n−1] şi determinaţiregiunea de convergenţă a acesteia.Soluţie. Aplicând (1.30) obţinemY (z) = −∑−1n=−∞α n z −n = −∞∑((α −1 z) n = −n=1)11 − α −1 z − 1 =11 − αz −1 .Convergenţa are loc când |α −1 z| < 1, i.e. |z| < |α|. Regiunile de convergenţăale semnalelor y[n] (din această problemă) şi x[n] (din problema precedentă) suntdisjuncte; transformatele Z ale semnalelor sunt identice.PR 1.3.3 Determinaţi semnalul a cărui transformată Z esteSoluţie.simple:X(z) =1 + 2z −11 − 1.5z −1 + 0.5z −1 .Scriem numitorul ca produs a doi factori şi descompunem în fracţii11 − 1.5z −1 + 0.5z −1 = 1(1 − z −1 )(1 − 0.5z −1 ) = 21 − z −1 − 11 − 0.5z −1 .Din problema PR1.3.1 observăm căX 1 (z) =11 − z −1 , X 12(z) =1 − 0.5z −1sunt transformatele Z ale treptei unitate x 1 [n] = u[n], respectiv exponenţialeix 2 [n] = 0.5 n . Regiunile de convergenţă ale transformatelor sunt |z| > 1, respectiv|z| > 0.5. Ţinând seama de proprietăţile de liniaritate (1.32) şi întârziere (1.33),semnalul a cărui transformată Z este X(z) estex[n] = 2x 1 [n] + 4x 1 [n − 1] − x 2 [n] − 2x 2 [n − 1]= (2 − 0.5 n )u[n] + 2(2 − 0.5 n−1 )u[n − 1].Mai sus am presupus că regiunea de convergenţă a transformatei Z este |z| > 1 adicăintersecţia regiunilor de convergenţă considerate pentru X 1 (z) şi X 2 (z). Putem însăconsidera alte două regiuni, pentru care se obţin semnale diferite (cititorul este rugatsă completeze detaliile).Dacă regiunea de convergenţă este |z| < 0.5, atunci conform PR1.3.2, semnalula cărui transformată Z este X(z) estex[n] = (−2 + 0.5 n )u[−n − 1] + 2(−2 + 0.5 n−1 )u[−n].


24 CAPITOLUL 1. SEMNALEDacă regiunea de convergenţă este 0.5 < |z| < 1, atunci obţinemx[n] = −2u[−n − 1] − 4u[−n] − 0.5 n u[n] − 2 · 0.5 n−1 u[n − 1].În acest caz am folosit PR1.3.2 pentru X 1 (z) şi PR1.3.1 pentru X 2 (z).Aşadar există trei semnale a căror transformată Z este X(z), dar cu regiuni deconvergenţă disjuncte două câte două.Probleme propusePP 1.3.1 Demonstraţi proprietăţile (1.32–1.37) ale transformatei Z.PP 1.3.2 Ce semnal are transformata Z egală cu (1 − z −1 )(1 + z −1 )(1 − 2z −1 ) ?PP 1.3.3 Se cunoaşte transformata Z a unui semnal x[n]. Care este transformataZ a semnalului y[n] = x[n 0 − n], unde n 0 ∈ Z este dat ?PP 1.3.4 Calculaţi transformatele Z şi stabiliţi regiunile lor de convergenţă pentrusemnalele de mai jos:{1, pentru n = 0 : M (cu M ∈ N),x 1 [n] =0, altfel,x 2 [n] = nα n u[n],x 3 [n] = α n u[n − 1],x 4 [n] = α n cos(ω 0 (n − 1))u[n − 1]x 5 [n] = cos(ω 0 n)u[n − 1]x 6 [n] = u[−n + 1].1.4 Semnale aleatoarePână acum am discutat doar despre semnale deterministe. În practică apar însăde multe ori semnale cu caracter aleator; caracterizarea lor este subiectul acesteisecţiuni.O variabilă aleatoare reală ξ este caracterizată de funcţia de densitate de probabilitatep : R → R + , cu proprietatea∫ ∞−∞p(ξ)dξ = 1. (1.38)Probabilitatea ca valoarea variabilei aleatoare să se afle într-un interval precizat[ξ 1 , ξ 2 ] esteProb(ξ 1 ≤ ξ ≤ ξ 2 ) =∫ ξ2ξ 1p(ξ)dξ.Speranţa matematică (expectaţia). Fie ξ şi η două variabile aleatoare legate prinrelaţia η = f(ξ), unde f este o funcţie precizată. Atunci speranţa matematică(expectaţia) a variabilei η esteE{η} =∫ ∞−∞f(ξ)p(ξ)dξ. (1.39)


1.4. SEMNALE ALEATOARE 25p(ξ)p(ξ)11ξ1ξFigura 1.11: Densităţi de probabilitate uniformă (stânga) şi gaussiană N (0, 1)(dreapta).Aceasta are semnificaţia de medie a valorilor variabilei η peste toate valorile posibileale variabilei ξ, luând în considerare probabilităţile asociate acestor valori. OperatorulE{·} se mai numeşte şi operator de mediere.Media µ a variabilei aleatoare ξ se obţine punând η = ξ în (1.39), adică estedefinită prinµ = E{ξ} =∫ ∞−∞Varianţa σ 2 a variabilei aleatoare ξ este definită prinσ 2 = E{(ξ − µ) 2 } =∫ ∞−∞ξp(ξ)dξ. (1.40)(ξ − µ) 2 p(ξ)dξ. (1.41)Definiţia 1.18 O variabilă aleatoare cu distribuţie uniformă în intervalul [0, 1] aredensitatea de probabilitate{1, pentru ξ ∈ [0, 1],p(ξ) =0, altfel.(1.42)Definiţia 1.19 O variabilă aleatoare cu distribuţie gaussiană (sau normală) de medieµ şi varianţă σ 2 are densitatea de probabilitatep(ξ) = 1 √2πσe − (ξ−µ)22σ 2 . (1.43)De obicei, această distribuţie este notată N (µ, σ 2 ).Graficele densităţilor de probabilitate ale variabilelor uniformă şi gaussiană suntprezentate în figura 1.11.Definiţia 1.20 Un proces aleator x[n], n ∈ Z, este un şir de variabile aleatoare.Un semnal aleator, notat tot x[n], este o realizare a procesului aleator, în sensul că,la fiecare moment de timp n, se consideră o singură valoare a variabilei aleatoarecorespunzătoare.


26 CAPITOLUL 1. SEMNALEDefiniţia 1.21 Autocorelaţiile unui proces aleator reprezintă speranţele matematiceale produselor variabilelor aleatoare (la diferite momente de timp):E{x[n]x[n − k]} = r[n, k], n, k, ∈ Z.Se observă imediat că r[n, k] = r[n, −k].Cele mai simple, dar extrem de utile, procese aleatoare sunt cele ale căror proprietăţinu se modifică în timp. În această lucrare va fi vorba doar despre astfel deprocese, definite ca mai jos.Definiţia 1.22 Un proces aleator x[n] este staţionar (în sens larg) dacă variabilelealeatoare x[n] au aceeaşi medie, i.e.iar autocorelaţiileE{x[n]} = µ, ∀n ∈ Z, (1.44)E{x[n]x[n − k]} = r[k], ∀n ∈ Z, (1.45)depind doar de ”distanţa” k între momentele de timp. (Evident, avem r[k] = r[−k].)Autocovarianţele unui proces aleator staţionar sunt autocorelaţiile procesuluix[n] − µ, i.e.E{(x[n] − µ)(x[n − k] − µ)} = ρ[k].Pentru procese cu medie nulă, avem r[k] = ρ[k].Definiţia 1.23 Un zgomot alb de medie nulă şi varianţă σ 2 este un proces aleatorw[n] pentru careE{w[n]} = 0,E{w[n]w[n − k]} = σ 2 (1.46)δ[k].Estimarea mediei şi a autocorelaţiilor. În aplicaţiile practice, dispunem de orealizare finită a unui proces aleator, adică de un semnal aleator cu suport finitx[n], n = 0 : N − 1. Presupunând că procesul este staţionar, se pune problemasă estimăm valorile mediei (1.44) şi autocorelaţiilor (1.45). Pentru medie, cea mainaturală estimaţie esteˆµ = 1 NN−1∑n=0Pentru autocorelaţii se folosesc estimaţia nedeviatăx[n]. (1.47)ˆr[k] = 1N−1∑x[n]x[n − k], 0 ≤ k ≤ N − 1, (1.48)N − kn=k(numele provine din faptul că E{ˆr[k]} = r[k], vezi problema PR1.4.3; o estimaţieeste nedeviată dacă expectaţia sa este egală cu valoarea adevărată), dar mai alescea deviatăˆr[k] = 1 NN−1∑n=kx[n]x[n − k], 0 ≤ k ≤ N − 1. (1.49)


1.4. SEMNALE ALEATOARE 27Pentru k < 0, în (1.48) şi (1.49) se ia ˆr[k] = ˆr[−k].Densitate de putere spectrală. Considerăm un proces aleator staţionar x[n] cumedie nulă şi dorim să descriem distribuţia în frecvenţă a energiei sale. Deoareceorice semnal x[n], realizare a procesului, are energie infinită, nu putem folosi transformataFourier pentru a calcula densitatea de energie spectrală |X(ω)| 2 . În schimb,putem evalua densitatea de putere spectrală, care se poate defini în două moduri,ambele inspirate de rezultate pentru semnale deterministe.Pornind de la similaritatea dintre ”autocorelaţiile deterministe” (1.29) şi celealeatoare (1.45), densitatea de putere spectrală P (ω) se defineşte ca transformataFourier a secvenţei de autocorelaţiiP (ω) =∞∑k=−∞r[k]e −jωk . (1.50)O definiţie echivalentă se obţine aplicând relaţia generală ”putere = energie/timp”şi ţinând seama de definiţia densităţii de energie spectrală (vezi paragraful de dupăTeorema 1.13)⎧ ⎨P (ω) = lim E 1N→∞ ⎩2N + 1 ∣N∑n=−Nx[n]e −jωn ∣ ∣∣∣∣2 ⎫ ⎬⎭ . (1.51)În definiţia de mai sus, suma este o trunchiere de lungime 2N + 1 a transformateiFourier, împărţirea cu 2N +1 transformă energia în putere, iar operatorul E{·} facemedierea pe ansamblul realizărilor.Probleme rezolvatePR 1.4.1 Fie ξ o variabilă aleatoare cu media µ şi varianţa σ 2 . Demonstraţi că:a. E{af(ξ) + bg(ξ)} = aE{f(ξ)} + bE{g(ξ)}, pentru orice constante a, b şifuncţii f, g. În particular, E{a} = a.b. E{ξ − µ} = 0.c. σ 2 = E{ξ 2 } − µ 2 ;Soluţie. a,b. Se aplică definiţia (1.39) şi se foloseşte liniaritatea operatorului deintegrare.c. Avem σ 2 = E{(ξ − µ) 2 } = E{ξ 2 } − 2µE{ξ} + µ 2 = E{ξ 2 } − µ 2 . Am folositliniaritatea operatorului de mediere demonstrată mai sus.PR 1.4.2 Calculaţi media şi varianţa unei variabile aleatoare uniform distribuiteîn intervalul [0, 1], i.e. cu densitatea de probabilitate (1.42). Ce valori au media şivarianţa în cazul în care variabila este uniform distribuită în intervalul [a, b], undea < b sunt constante reale.Soluţie. Media esteµ =∫ 10ξdξ = 1/2,


28 CAPITOLUL 1. SEMNALEiar varianţa (aplicând punctul c de la problema precedentă) esteσ 2 =∫ 10ξ 2 dξ − µ 2 = 1 3 − 1 4 = 112 .Pentru o variabilă ξ uniform distribuită în intervalul [a, b], densitatea de probabilitateeste p(ξ) = 1/(b − a). Media şi varianţa suntCalculele sunt lăsate cititorului.µ = a + b2 , σ2 =(b − a)2.12PR 1.4.3 Demonstraţi că estimaţiile (1.47) şi (1.48) ale mediei, respectiv autocorelaţiilor,sunt nedeviate, i.e. E{ˆµ} = µ, respectiv E{ˆr[k]} = r[k].Soluţie. Aplicând operatorul de mediere în (1.47) obţinemE{ˆµ} = E{1NN−1∑n=0x[n]}= 1 NN−1∑n=0Pentru autocorelaţii demonstraţia este similară.E{x[n]} = 1 NN−1∑n=0µ = µ.PR 1.4.4 Care este densitatea de putere spectrală a zgomotului alb (1.46) ?Soluţie. Ţinând seama de definiţia (1.50) a densităţii de putere spectrală şide expresiile autocorelaţiilor (1.46), se obţine imediat P (ω) = σ 2 . Aşadar spectrulzgomotului alb este constant (zgomotul alb conţine toate frecvenţele cu putere egală,de aici numele său, prin analogie cu lumina).Probleme propusePP 1.4.1 Considerăm o variabilă aleatoare ξ cu distribuţie ”triunghiulară”, a căreidensitate de probabilitate are expresia:{1 − |ξ|, pentru |ξ| ≤ 1,p(ξ) =0, altfel.Verificaţi valabilitatea relaţiei (1.38). Calculaţi media (1.40) şi varianţa (1.41) variabileialeatoare ξ.PP 1.4.2 a. Dându-se o variabilă aleatoare cu distribuţie uniformă în intervalul[0, 1], cum se poate obţine o variabilă cu distribuţie uniformă în intervalul [a, b] ?b. Dându-se o variabilă aleatoare cu distribuţie gaussiană N (0, 1), cum se poateobţine o variabilă cu distribuţie N (0, σ 2 ) ?PP 1.4.3 Fie w[n] un proces de tip zgomot alb pentru care, la fiecare moment detimp i, variabila aleatoare w[i] are distribuţie uniformă în intervalul [−1, 1].a. Calculaţi varianţa σ 2 a zgomotului alb (vezi (1.46)).


1.4. SEMNALE ALEATOARE 29b. Considerăm procesul aleator{w[n], pentru n par,u[n] =−w[n], pentru n impar.Este acesta un zgomot alb ?c. Considerăm procesul aleator{w[n], pentru n par,v[n] =2w[n], pentru n impar.Este acest proces staţionar ?PP 1.4.4 Demonstraţi că densitatea de putere spectrală P (ω) a unui proces aleatorreal este pozitivă, pară (i.e. P (−ω) = P (ω)) şi periodică cu perioada 2π.Ghid MatlabMatlab posedă generatoare de numere (aproximativ) aleatoare. Un semnal aleatorcu distribuţie uniformă în intervalul [0, 1], de lungime N, se poate genera cu>> x = rand(1,N)Un semnal aleator cu distribuţie gaussiană de medie nulă şi varianţă egală cu 1 sepoate genera cu>> x = randn(1,N)Media (1.47) a unui semnal aleator se calculează cu>> mean(x)Autocorelaţiile nedeviate (1.48) se calculează cu>> r = xcorr(x, ’unbiased’)iar cele deviate (1.49) cu>> r = xcorr(x, ’biased’)În ambele cazuri, vectorul de autocorelaţii r are lungimea 2N − 1; de altfel, aceastaeste lungimea maximă permisă de suportul finit al semnalului, după cum se vededin (1.48) şi (1.49).Autocovarianţele se estimează cu funcţia xcov. Atenţie, în această funcţie nu sefoloseşte media exactă a procesului (care este necunoscută), ci estimaţia ei (1.47).


30 CAPITOLUL 1. SEMNALE


Capitolul 2Sisteme2.1 Definiţii şi proprietăţi de bazăÎn cea mai generală accepţiune, un sistem discret transformă un semnal de intrarex[n] într-un semnal de ieşire y[n], aşa cum este ilustrat în figura 2.1. Notăm y[n] =S{x[n]} transformarea produsă de sistemul S; numim y[n] şi răspuns al sistemuluila intrarea x[n]. În prelucrarea semnalelor, sistemele sunt numite deseori filtre.Enumerăm în continuare patru proprietăţi fundamentale ale sistemelor.Definiţia 2.1 (Liniaritate) Un sistem S este liniar dacă pentru orice semnale deintrare x 1 [n], x 2 [n] şi orice scalari α 1 , α 2 are loc egalitateaS{α 1 x 1 [n] + α 2 x 2 [n]} = α 1 S{x 1 [n]} + α 2 S{x 2 [n]}. (2.1)Definiţia 2.2 (Invarianţă în timp) Sistemul S este invariant în timp dacă pentruorice semnal de intrare x[n], cu ieşirea corespunzătoare y[n] = S{x[n]}, şi oriceîntârziere n 0 ∈ Z, aplicând semnalul x[n − n 0 ] la intrarea sistemului se obţineieşirea y[n − n 0 ]. (Altfel spus, întârziind cu n 0 semnalul de intrare, se obţine oieşire întârziată tot cu n 0 , conform schemei din figura 2.2, în care operaţiile S şi”întârziere” comută.)Definiţia 2.3 (Cauzalitate) Sistemul S este cauzal dacă, luând orice semnal deintrare x[n], cu ieşirea corespunzătoare y[n] = S{x[n]}, pentru orice n 0 ∈ Z, valoareay[n 0 ] depinde doar de intrările x[n], n ≤ n 0 . (Altfel spus, valoarea curentă aieşirii depinde doar de valoarea curentă şi de valori anterioare ale intrării.)Definiţia 2.4 (Stabilitate) Sistemul S este stabil în sens BIBO (Bounded Input,Bounded Output—Intrare Mărginită, Ieşire Mărginită) dacă, pentru orice semnalde intrare x[n] mărginit, în sensul că există M x astfel încât |x[n]| ≤ M x , ∀n ∈ Z,semnalul de ieşire y[n] = S{x[n]} este şi el mărginit, i.e. există M y astfel încât|y[n]| ≤ M y , ∀n ∈ Z.31


32 CAPITOLUL 2. SISTEMEx[n]✲S✲y[n] = S{x[n]}Figura 2.1: Un sistem discret.x[n]✲S✲y[n]❄întârzierecu n 0❄întârzierecu n 0x[n − n 0 ]✲S✲ ❄ y[n − n 0 ]Figura 2.2: Un sistem invariant în timp transferă întârzierea intrării la ieşire(operaţiile S şi ”întârziere” comută).Probleme rezolvatePR 2.1.1 Caracterizaţi următoarele sisteme din punctul de vedere al liniarităţii,invarianţei în timp, cauzalităţii şi stabilităţii.a. Sistemul ”medie pe două eşantioane”, descris de relaţia y[n] = (x[n] + x[n −1])/2.b. Decimatorul, descris de y[n] = x[Mn], unde M ≥ 2 este un întreg pozitivfixat. (Decimatorul extrage fiecare al M-lea eşantion al semnalului de intrare şi leelimină pe celelalte.)c. Acumulatorul, descris de y[n] = ∑ nk=−∞ x[k].Soluţie. a. Sistemul este liniar, invariant în timp, cauzal şi stabil. Deşi banale,prezentăm mai jos demonstraţiile.Fie y 1 [n] = (x 1 [n] + x 1 [n − 1])/2 şi y 2 [n] = (x 2 [n] + x 2 [n − 1])/2 răspunsurile laintrările x 1 [n], respectiv x 2 [n]. Dacă intrarea este α 1 x 1 [n] + α 2 x 2 [n], atunci ieşireaeste y[n] = (α 1 x 1 [n] + α 2 x 2 [n] + α 1 x 1 [n − 1] + α 2 x 2 [n − 1])/2 = α 1 y 1 [n] + α 2 y 2 [n],ceea ce demonstrează liniaritatea.Dacă intrarea este x[n − n 0 ], atunci ieşirea este (x[n − n 0 ] + x[n − n 0 − 1])/2 =y[n − n 0 ], deci sistemul e invariant în timp.y[n] depinde doar de x[n] şi de x[n − 1], deci sistemul e cauzal.Dacă |x[n]| ≤ M x , atunci |y[n]| ≤ (|x[n]| + |x[n − 1]|)/2 ≤ M x , deci sistemul estestabil.b. Decimatorul este evident liniar şi stabil.Nu este invariant în timp. Fie M = 2 şi semnalul de intrare x[n] = n. Atunciieşirea este y[n] = x[2n] = 2n. Întârziem intrarea cu un eşantion; la intrarea


2.1. DEFINIŢII ŞI PROPRIETĂŢI DE BAZĂ 33x 1 [n] = x[n − 1] ieşirea este y 1 [n] = x 1 [2n] = x[2n − 1] = 2n − 1. Pe de altă parte,avem y[n − 1] = 2(n − 1) = 2n − 2 ≠ y 1 [n].De asemenea, nu este cauzal, deoarece e.g. y[1] = x[M], deci ieşirea la momentuln = 1 depinde de intrarea la momentul M > 1.c. Acumulatorul este evident liniar, invariant în timp şi cauzal.Nu este stabil: pentru intrarea treaptă x[n] = u[n] se obţine y[n] = (n + 1)u[n],care este un semnal nemărginit.Probleme propusePP 2.1.1 Considerăm sistemul cu intrarea x[n] şi ieşirea{x[n/2], dacă n este par,y[n] =x[(n − 1)/2], altfel.a. Desenaţi un exemplu de semnale de intrare şi ieşire.b. Caracterizaţi sistemul din punctul de vedere al liniarităţii, invarianţei întimp, cauzalităţii şi stabilităţii.PP 2.1.2 Aceleaşi cerinţe ca la problema anterioară, pentru sistemul cu intrareax[n] şi ieşirea y[n] = x[N − n], unde N este un întreg dat.PP 2.1.3 Aceleaşi cerinţe ca la problema anterioară, pentru sistemul cu intrareax[n] şi ieşirea y[n], funcţionând după legea y[n] = ny[n − 1] + x[n].PP 2.1.4 Demonstraţi că dacă un sistem este liniar, atunci intrarea nulă x[n] = 0produce ieşirea nulă y[n] = 0. Arătaţi printr-un contraexemplu că reciproca nu esteadevărată.PP 2.1.5 Fie S un sistem invariant în timp.a. Demonstraţi că aplicând lui S o intrare constantă se obţine o ieşire constantă.b. Demonstraţi că aplicând lui S o intrare periodică se obţine o ieşire periodică,cu aceeaşi perioadă.c. Arătaţi prin contraexemple că reciprocele afirmaţiilor de mai sus nu suntadevărate.PP 2.1.6 La intrarea unui sistem S se aplică un semnal cu suport finit. Se constatăcă ieşirea este mărginită. Este sistemul stabil ?PP 2.1.7 Un sistem anticauzal are proprietatea că ieşirea y[n] depinde doar deintrări x[m], cu m ≥ n. Daţi un exemplu de astfel de sistem.PP 2.1.8 Un sistem poate avea (sau nu) oricare dintre cele patru proprietăţi descrisemai sus (liniaritate, invarianţă în timp, cauzalitate, stabilitate) independentde celelalte. În total, sunt 16 combinaţii posibile ale acestor proprietăţi. Daţi câteun exemplu de sistem pentru fiecare combinaţie. (Notă: în problema PR2.1.1 suntdeja prezentate trei astfel de exemple; vă mai rămân deci 13.)


34 CAPITOLUL 2. SISTEME2.2 Sisteme liniare invariante în timpÎn restul capitolului ne ocupăm doar de sisteme liniare şi invariante în timp (LIT),care au o importanţă majoră în teoria şi practica prelucrării semnalelor. Fie S unsistem LIT şi h[n] = S{δ[n]} răspunsul la impuls al sistemului (h[n] se mai numeşteşi secvenţă pondere a sistemului).Propoziţia 2.5 Răspunsul la impuls h[n] al unui sistem LIT S caracterizează completfuncţionarea sistemului. Dacă x[n] este un semnal de intrare oarecare, atunciieşirea y[n] = S{x[n]} este dată de relaţiay[n] =∞∑k=−∞x[k]h[n − k] =∞∑k=−∞x[n − k]h[k], (2.2)adică este convoluţia dintre semnalul de intrare şi răspunsul la impuls al sistemului.Demonstraţie. Deoarece sistemul este invariant în timp, avem h[n−k] = S{δ[n−k]}. Folosind expresia (1.2) pentru semnalul de intrare, obţinemy[n] = S{∞∑k=−∞x[k]δ[n − k]} lin.=∞∑k=−∞x[k]S{δ[n − k]} =∞∑k=−∞x[k]h[n − k].Expresia din dreapta din (2.2) rezultă datorită comutativităţii convoluţiei.Prezentăm în continuare caracteristicile răspunsului la impuls atunci când sistemulLIT este cauzal sau stabil.Propoziţia 2.6 Un sistem LIT este cauzal dacă şi numai dacă răspunsul său laimpuls este nul pentru timp negativ, i.e. h[n] = 0 pentru n < 0.Demonstraţie. Din (2.2) rezultă că y[n] depinde doar de x[k], cu k ≤ n, dacă şinumai dacă h[n − k] = 0 pentru k > n, adică h[n] = 0, pentru n < 0.Propoziţia 2.7 Un sistem LIT este stabil dacă şi numai dacă răspunsul său laimpuls este absolut sumabil.Demonstraţie. (”⇒”) Folosim reducerea la absurd: presupunem că h[n] nu esteabsolut sumabil. Construim semnalul de intrare⎧⎨ h ∗ [−n], dacă h[n] ≠ 0x[n] = |h[−n]|⎩0, dacă h[n] = 0.În acest caz, pentru y[0] obţinem valoareay[0] =∞∑k=−∞h[k]x[−k] =∞∑k=−∞|h[k]| 2|h[k]|∞∑= |h[k]|,k=−∞care nu e mărginită, deci sistemul nu ar fi stabil.


2.2. SISTEME LINIARE INVARIANTE ÎN TIMP 35(”⇐”) Deoarece h[n] este absolut sumabil, există M h astfel încât ∑ ∞n=−∞ |h[n]| ≤M h . Fie x[n] o intrare mărginită, pentru care |x[n]| ≤ M x , ∀n ∈ Z. Atunci avem|y[n]| = |∞∑k=−∞h[k]x[n − k]| ≤∞∑k=−∞|h[k]||x[n − k]| ≤ M xşi deci ieşirea este mărginită, adică sistemul este stabil.∞ ∑k=−∞|h[k]| ≤ M x M h ,Definiţia 2.8 Funcţia de transfer a unui sistem LIT este transformata Z a răspunsuluisău la impuls∞∑H(z) = h[n]z −n . (2.3)n=−∞Propoziţia 2.9 Fie X(z), Y (z) transformatele Z ale semnalelor de intrare, respectivieşire ale unui sistem LIT cu funcţia de transfer H(z). Atunci este adevăratărelaţiaY (z) = H(z)X(z). (2.4)Demonstraţie. Aplicăm transformata Z relaţiei (2.2), unde termenii din dreaptareprezintă o convoluţie, deci (2.4) rezultă imediat din (1.37).Sistemele (filtrele) se împart în două mari categorii, după suportul răspunsuluilor la impuls, care poate fi finit sau infinit. În primul caz, filtrele sunt numite FIR(Finite Impulse Response—”răspuns finit la impuls”; păstrăm abrevierea din englezădeoarece s-a consacrat şi în română). În cazul suportului infinit, filtrele suntnumite IIR (Infinite Impulse Response). Prezentăm în continuare câteva caracteristiciimportante ale celor două tipuri de filtre.Filtre FIRUn filtru FIR are funcţia de transferH 1 (z) =∑M 2n=−M 1h[n]z −n . (2.5)Este evident că suportul răspunsului la impuls este −M 1 : M 2 , i.e. finit.Dacă filtrul FIR este cauzal, atunci, ţinând seama de Propoziţia 2.6, funcţia sade transfer esteM∑H(z) = h[n]z −n . (2.6)n=0Această formă va fi folosită în continuare, având în vedere că, luând M = M 1 +M 2 ,avem H(z) = z −M 1H 1 (z) (o simplă întârziere face filtrul (2.5) cauzal).Numim M ordinul (sau gradul) filtrului. Observăm că un filtru de ordin M areM + 1 coeficienţi (în general) nenuli: lungimea filtrului este M + 1.Propoziţia 2.10 Orice filtru FIR este stabil.


36 CAPITOLUL 2. SISTEMEDemonstraţie. Deoarece suma ∑ Mn=0|h[n]| are un număr finit de termeni, eaeste finită, deci filtrul e stabil.Dacă la intrarea filtrului FIR cauzal (2.6) se aplică semnalul x[n], atunci, conformcu (2.2), ieşirea y[n] estey[n] =M∑h[k]x[n − k], (2.7)k=0adică eşantionul curent n al ieşirii depinde doar de cele mai recente M +1 eşantioaneale intrării. Să notăm că filtrele FIR mai sunt numite, în anumite contexte (e.g. înidentificarea sistemelor), şi sisteme MA (Moving Average—”medie alunecătoare”),deoarece formula (2.7) poate fi interpretată în sens larg ca o medie (ponderată) acelor mai recente eşantioane ale intrării.Datorită simplităţii lor, a implementării facile, stabilităţii implicite şi, după cumvom vedea mai târziu, a metodelor rapide de proiectare, filtrele FIR sunt extremde utilizate în practică.(Mai observăm că o funcţie de transfer ca (2.6), formată numai din numitor, nuexistă pentru sistemele continue.)Filtre IIRÎntre filtrele IIR sunt interesante cele care au o funcţie de transfer raţională, i.e.H(z) = B(z)A(z) =M∑n=0b n z −n, (2.8)N∑a n z −nunde de obicei a 0 = 1 (în caz contrar, se împart şi numitorul şi numărătorul laa 0 ). Filtrul (2.8) este cauzal; filtre IIR necauzale se obţin înmulţind H(z) cu z m ,cu m > 0. Observăm că, în general, gradul numărătorului poate fi diferit de gradulnumitorului. Ordinul filtrului este max(M, N).Funcţia de transfer H(z) este reprezentată în (2.8) cu ajutorul coeficienţilor. Oreprezentare echivalentă este forma poli-zerouri, în care avemH(z) = B(z)A(z) = b 0a 0n=0M ∏k=1(1 − c k z −1 ). (2.9)N∏(1 − d k z −1 )În formula de mai sus, c k , k = 1 : M, sunt zerourile funcţiei de transfer, iard k , k = 1 : N, sunt polii funcţiei, i.e. rădăcinile polinoamelor B(z), respectivA(z), din (2.8). Pentru evitarea ambiguităţilor, precizăm că rădăcinile polinomuluiA(z) = ∑ Nn=0 a nz −n sunt soluţiile ecuaţiei A(z) = 0 sau, echivalent, ale ecuaţieik=1


2.2. SISTEME LINIARE INVARIANTE ÎN TIMP 37z N A(z) = 0, adică ∑ Nn=0 a nz N−n = 0. (Mai riguros este să se considere numărulde poli egal cu cel de zerouri; în acest caz, dacă M > N se adaugă M − N polila valorile d k , iar dacă M < N se adaugă N − M zerouri la valorile c k ; polii sauzerourile suplimentari sunt plasaţi în origine.)În general, polii şi zerourile au valori complexe. Dacă funcţia de transfer arecoeficienţi reali (cazul obişnuit), atunci valorile complexe apar în perechi complexconjugate.Propoziţia 2.11 Un filtru IIR este stabil dacă toţi polii săi sunt în interiorul cerculuiunitate.Putem asocia filtrului IIR (2.8) o ecuaţie cu diferenţe, care rezultă imediat din(2.4), ţinând seama de semnificaţia de operator de întârziere a lui z −1 :N∑M∑a k y[n − k] = b k x[n − k]. (2.10)k=0Cu a 0 = 1, relaţia precedentă poate indica un mod recurent de calcul al ieşiriik=1k=0N∑M∑y[n] = − a k y[n − k] + b k x[n − k]. (2.11)Aşadar, eşantionul curent al ieşirii depinde de cele mai recente M + 1 eşantioaneale intrării, dar şi de precendentele N eşantioane ale intrării.Presupunând de exemplu că semnalul de intrare satisface x[n] = 0 pentru n < 0,observăm că ieşirea se poate calcula cu ajutorul recurenţei (2.11) doar dacă se cunoscvalorile y[−N], . . . , y[−1], care au rol de condiţii iniţiale. Ecuaţia cu diferenţe(2.11) este un model mai general decât funcţia de transfer (2.8); deoarece funcţiade transfer este cauzală, este clar că modelele (2.8) şi (2.11) sunt echivalente dacăy[n] = 0 pentru n < 0, deci condiţiile iniţiale pentru (2.11) sunt nule.Un caz particular de filtru IIR este cel de formak=0H(z) = 1A(z) , (2.12)numit şi filtru AR (AutoRegresiv); numele este natural dacă observăm că ecuaţiacu diferenţe asociată filtrului estey[n] = −N∑a k y[n − k] + x[n], (2.13)k=1adică, lăsând x[n] la o parte, semnalul y[n] se obţine combinând versiuni întârziate(regresate) ale lui însuşi.Probleme rezolvatePR 2.2.1 Care sunt răspunsurile la impuls ale sistemelor din problema PR2.1.1 ?


38 CAPITOLUL 2. SISTEMESoluţie. Sistemul ”medie pe două eşantioane” are răspunsul h[0] = h[1] = 1/2şi zero în rest.Răspunsul la impuls al decimatorului este δ[n]. Atenţie însă, acest sistem nu einvariant în timp, deci rezultatele din această secţiune nu i se aplică.Acumulatorul are răspunsul la impuls h[n] = u[n].PR 2.2.2 Semnalul x[n] = (−1) n se aplică la intrarea filtrului H(z) = (1 + z −1 )/2.Care este semnalul de ieşire ?Soluţie. y[n] = (x[n] + x[n − 1])/2 = ((−1) n + (−1) n−1 )/2 = 0.PR 2.2.3 La intrarea filtrului FIR (2.6) se aplică un semnal x[n] cu suport 0 : L,unde L este un întreg pozitiv dat. Ce suport are semnalul de ieşire ?Soluţie. Din (2.7) rezultă că eşantionul curent al ieşirii y[n] depinde doar de celemai recente M + 1 eşantioane ale intrării. Printre acestea trebuie să se găseascăcel puţin unul nenul; ultimul moment de timp la care se întâmplă aceasta esteL + M, adică y[n] = 0 pentru n > L + M. Cum y[n] = 0 pentru n < 0 (datorităcauzalităţii), rezultă că suportul semnalului de ieşire este 0 : L + M.Altă soluţie: deoarece Y (z) = H(z)X(z), iar H(z) şi X(z) sunt polinoame degrad M, respectiv L (în z −1 ), rezultă că Y (z) este un polinom de grad L + M.Aşadar, suportul lui y[n] este 0 : L + M.Probleme propusePP 2.2.1 Demonstraţi că răspunsul la impuls al unui sistem stabil are întotdeaunatransformată Fourier (în sensul că (1.10) converge pentru orice ω).PP 2.2.2 Calculaţi ieşirea filtrului H(z) = 1 − 2z −1 atunci când intrarea estesemnalul cu suport n = 0 : 3 ale cărui eşantioane nenule au valorile, în ordine, 1,−1, 1, 2.PP 2.2.3 Daţi un exemplu de filtru IIR necauzal, dar stabil.PP 2.2.4 Scrieţi ecuaţia cu diferenţe asociată acumulatorului, descris de relaţiaintrare-ieşire y[n] = ∑ nk=−∞ x[k].PP 2.2.5 Scrieţi ecuaţia cu diferenţe corespunzătoare filtruluiH(z) =Care sunt polii şi zerourile acestui filtru ?z −11 − z −1 + z −2 .1PP 2.2.6 Demonstraţi că filtrul IIR cu funcţia de transfer H(z) =instabil calculând răspunsul acestuia la impuls.1−2z −1PP 2.2.7 Care este mulţimea polinoamelor de gradul doi cu coeficienţi reali, deforma A(z) = 1 + a 1 z −1 + a 2 z −2 , care au rădăcinile în interiorul cercului unitate ?(Aceste polinoame pot fi numitoare ale unor filtre IIR stabile.)este


2.2. SISTEME LINIARE INVARIANTE ÎN TIMP 39Ghid MatlabUn polinom A(z) se reprezintă în Matlab printr-un vector linie în care coeficienţiisunt aşezaţi în ordine descrescătoare a puterilor lui z. De exemplu, polinomulA(z) = 1 − 0.7z −1 + 0.1z −2 se reprezintă prin vectorul>> a = [1 -0.7 0.1]De asemenea, un polinom monic (i.e. al cărui prim coeficient este 1) se poatereprezenta printr-un vector coloană conţinând rădăcinile polinomului. Aşadar A(z) =1 − 0.7z −1 + 0.1z −2 = (1 − 0.5z −1 )(1 − 0.2z −1 ) se poate reprezenta prin vectorul>> ra = [0.5; 0.2]Rădăcinile unui polinom se calculează din coeficienţi prin>> ra = roots(a)iar coeficienţii se calculează din rădăcini prin>> a = poly(ra)Un filtru IIR se reprezintă prin două polinoame, unul pentru numărător, altulpentru numitor. Modelul uzual presupune reprezentarea polinoamelor princoeficienţi, ca în (2.8). De exemplu, filtrul IIRse reprezintă prinH(z) =>> b = [2 1], a = [1 -0.7 0.1]2 + z −11 − 0.7z −1 + 0.1z −2Modelul poli-zerouri (2.9) doi vectori conţinând rădăcinile polinoamelor B(z) şiA(z) şi un scalar conţinând amplificarea b 0 /a 0 . Conversia între modelele (2.8) şi(2.9) se face prin funcţiile>> [rb, ra, k0] = tf2zp(b, a)>> [b, a] = zp2tf(rb, ra, k0)Desigur, pentru un filtru FIR se ia>> a = 1Calculul ieşirii unui filtru IIR, atunci când la intrare se aplică un semnal x[n]cu suport finit, se face utilizând ecuaţia cu diferenţe (2.11). Presupunând condiţiiiniţiale nule şi semnalul de intrare memorat într-un vector x, ieşirea se calculeazăcu>> y = filter(b, a, x)Semnalul de ieşire are acelaşi suport ca semnalul de intrare.


40 CAPITOLUL 2. SISTEME2.3 Reprezentarea în frecvenţă a sistemelor LITPropoziţia 2.12 Considerăm un sistem LIT stabil, al cărui răspuns la impuls esteh[n]. Fie H(z) funcţia sa de transfer şiH(e jω ) =∞∑n=−∞h[n]e −jωn (2.14)transformata Fourier a răspunsului la impuls. Dacă la intrarea sistemului se aplicăsemnalul sinusoidal complex x[n] = e jω0n , atunci ieşirea este semnalul sinusoidaly[n] = H(e jω 0)e jω 0n = |H(e jω 0)|e j(ω 0n+argH(e jω 0 )) . (2.15)Demonstraţie. Pornim de la (2.2) şi obţinemy[n] =∞∑k=−∞i.e. chiar (2.15).h[k]x[n − k] =∞∑k=−∞h[k]e jω0(n−k) =( ∞∑k=−∞h[k]e −jωk )e jω0n ,Observaţia 2.13 Relaţia (2.15) spune că răspunsul unui sistem LIT la intraresinusoidală de frecvenţă ω 0 (de amplitudine 1 şi fază nulă) este tot o sinusoidă, cuaceeaşi frecvenţă, a cărei amplitudine şi fază depind de valoarea, la frecvenţa ω 0 , atransformatei Fourier (2.14) a răspunsului la impuls h[n]. Mai precis, amplitudineaieşirii este |H(e jω 0)|, iar faza argH(e jω 0).Mai mult, dacă intrarea x[n] este un semnal oarecare, a cărui transformatăFourier X(e jω ) există, atunci ieşirea are transformata Fourier Y (e jω ) = H(e jω )X(e jω ).Aşadar, spectrul semnalului de ieşire este, la fiecare frecvenţă ω, produsul dintrevaloarea spectrului intrării la frecvenţa ω şi H(e jω ).Denumirea de filtru ca sinonim pentru sistem, utilizată în prelucrarea semnalelor,provine din proprietatea sistemelor de a modifica spectrul semnalelor de intrare, dea trata în mod diferit semnale de frecvenţe diferite, pe scurt de a filtra semnale.Definiţia 2.14 Transformata Fourier (2.14) a răspunsului la impuls a unui sistemse numeşte răspuns în frecvenţă al sistemului. De asemenea, în special pentrureprezentarea grafică a răspunsului în frecvenţă, se foloseşte denumirea de caracteristicăde frecvenţă a sistemului.Observaţia 2.15 Dacă H(z) are coeficienţi reali, se reprezintă amplitudinea |H(e jω )|şi faza argH(e jω ) pentru ω ∈ [0, π]; pentru ω ∈ [−π, 0] se ţine seama de proprietăţilede simetrie (1.17) (amplitudinea este pară, iar faza impară). În cazul funcţiilor detransfer cu coeficienţi complecşi, mai rar utilizate în practică, se ia ω ∈ [−π, π].Amplitudinea se măsoară deseori în decibeli (dB), caz în care se reprezintă graficfuncţia |H(e jω )| dB = 20 log 10 |H(e jω )|. Amplitudinea |H(e jω )| dB este numită şiamplificare, iar opusul ei, −|H(e jω )| dB , atenuare. (Denumirile sunt naturale avândîn vedere (2.15).)Deoarece exponenţiala complexă este o funcţie periodică, de perioadă 2π, fazase poate reprezenta doar cu valori în intervalul [−π, π], prin adunarea sau scăderea


2.3. REPREZENTAREA ÎN FRECVENŢĂ A SISTEMELOR LIT 41în mod adecvat a unor multipli de 2π; se obţine astfel valoarea principală a fazei,notată ARG[H(e jω )]. Aceasta este folosită întotdeauna atunci când faza unui filtrueste calculată numeric.În unele lucrări, precum şi în funcţiile Matlab dedicate reprezentării caracteristicilorde frecvenţă, frecvenţa este normalizată la intervalul [0, 1], în sensul că în locde ω ∈ [0, π], se foloseşte frecvenţa normalizată ω/π ∈ [0, 1].Interpretare pentru procese aleatoare. Răspunsul în frecvenţă al unui sistem LITarată şi felul în care sistemul filtrează o intrare care reprezintă un proces aleator.Propoziţia 2.16 Considerăm un sistem LIT stabil, cu răspunsul la impuls h[n]şi răspunsul în frecvenţă H(e jω ), la intrarea căruia se află un semnal aleator x[n]cu densitatea de putere spectrală P xx (ω) (vezi definiţia acesteia în (1.50)). Atunciieşirea y[n] a sistemului are densitatea de putere spectralăP yy (ω) = P xx (ω)|H(e jω )| 2 . (2.16)Aşadar, puterea semnalului x[n] într-o anume frecvenţă este multiplicată la ieşirecu pătratul amplitudinii răspunsului sistemului pentru acea frecvenţă.Demonstraţie. Notând r xx [k] = E{x[n]x[n − k]}, k ∈ Z, autocorelaţiile semnaluluide intrare, şi ţinând seama că ieşirea estey[n] =∞∑l=−∞h[l]x[n − l],autocorelaţiile ieşirii au expresia (mai departe omitem limitele de sumare, care sunt−∞ şi ∞)r yy [k]def= E{y[n]y[n − k]}= E{ ∑ h[l]x[n − l] ∑ h[i]x[n − k − i]}li= ∑ ∑h[l]h[i]r xx [k + i − l].l iDeci, densitatea de putere spectrală a ieşirii esteP yy (ω)def== ∑ k= ∑ l∞∑k=−∞r yy [k]e −jωk∑ ∑h[l]h[i]r xx [k + i − l]e −jωklih[l]e −jωl ∑ ih[i]e jωi ∑ kr xx [k + i − l]e −jω(k+i−l)ceea ce demonstrează (2.16).= H(ω)H ∗ (ω)P xx (ω)


42 CAPITOLUL 2. SISTEMECaracteristica de frecvenţă a filtrelor raţionaleÎn cazul filtrelor IIR raţionale (de acum înainte vom subînţelege că filtrele IIR decare discutăm sunt raţionale), caracteristica de frecvenţă se poate trasa mai uşoratunci când funcţia de transfer se reprezintă în forma poli-zerouri (2.9). Aceastăreprezentare are avantajul că poate fi analizată prin studierea caracteristicilor defrecvenţă ale funcţiilor de transfer de grad 1. Mai precis, amplitudinea în decibelieste|H(e jω )| dB = 20 log 10∣ ∣∣∣ b 0a 0∣ ∣∣∣+ 20iar faza se poate scrie ca( )arg|H(e jω b0)| = arg +a 0k=1M∑N∑log 10 |1 − c k e −jω | − 20 log 10 |1 − d k e −jω |,k=1k=1(2.17)M∑N∑arg(1 − c k e −jω ) − arg(1 − d k e −jω ). (2.18)Se observă deci că în (2.17) şi (2.18) apar sume ale amplitudinilor, respectiv fazelorunor termeni elementari de gradul 1 (dar cu coeficienţi complecşi, în general). Maimult, singura diferenţă între efectul polilor şi cel al zerourilor este semnul termenilorcorespunzători. De aceea, este justificat studiul funcţiei de transfer cu un singurzero, efectuat în continuare.Filtrul FIR de ordinul 1. Studiem caracteristica de frecvenţă a filtruluik=1H(z) = 1 − cz −1 , c = re jθ , r ∈ [0, 1], θ ∈ [0, π]. (2.19)Aşadar, zeroul c este în general complex, de modul r şi fază θ. Restricţia modululuila valori subunitare va fi justificată ulterior. Ca şi restricţia asupra fazei, ea nulimitează generalitatea concluziilor.Amplitudinea răspunsului în frecvenţă al filtrului (2.19) este|H(e jω )| 2 = |1 − re j(θ−ω) | 2 = 1 + r 2 − 2r cos(ω − θ).(Am ridicat la pătrat pentru simplitatea calculelor. In decibeli, amplitudinea originalăse obţine simplu ca |H(e jω )| 2 dB = 20 log 10 |H(e jω )| = 10 log 10 |H(e jω )| 2 .) Seobservă că valoarea maximă a amplitudinii este (1+r) pentru ω = θ±π, iar valoareaminimă este (1 − r), pentru ω = θ. Prezentăm în figura 2.3 amplitudinea pentruθ = 0 (deci zero real) şi trei valori r = 0.5, 0.8, 1. Pentru comparaţie, în graficulde sus amplitudinea este reprezentată adimensional, iar în cel din mijloc în decibeli.(Amintim că 20 log 10 2 ≈ 6 şi că, evident, 20 log 10 1 = 0, 20 log 10 0.2 ≈ −14.)Frecvenţa este normalizată, deci 2 înseamnă de fapt 2π. Grafice similare suntprezentate în figura 2.4, pentru θ = 0.4π.Observăm că cu cât r este mai aproape de 1 (i.e. zeroul este mai aproape de cerculunitate), cu atât atenuarea în jurul frecvenţei ω = θ este mai mare. În particular,atunci când r = 1, deci zeroul este pe cerc, avem H(e jθ ) = 0 (şi |H(e jθ )| dB = −∞),deci amplificarea filtrului la această frecvenţă este nulă; semnalele sinusoidale cufrecvenţa θ sunt tăiate complet de filtru.


2.3. REPREZENTAREA ÎN FRECVENŢĂ A SISTEMELOR LIT 432Amplitudine1.510.500 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210Amplitudine (dB)0−10−200 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2100Faza (val.princ.)500−50−1000 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2Frecventa normalizataFigura 2.3: Caracteristica de frecvenţă a filtrului (2.19), pentru θ = 0, r = 1 (liniecontinuă), r = 0.8 (linie întreruptă), r = 0.5 (linie-punct).2Amplitudine1.510.500 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 210Amplitudine (dB)0−10−200 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2100Faza (val.princ.)500−50−1000 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2Frecventa normalizataFigura 2.4: Caracteristica de frecvenţă a filtrului (2.19), pentru θ = 0.4π, r = 1(linie continuă), r = 0.8 (linie întreruptă), r = 0.5 (linie-punct).


44 CAPITOLUL 2. SISTEME3Amplitudine2100 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110Amplitudine (dB)0−10−200 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1100Faza (val.princ.)500−50−1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 2.5: Caracteristica de frecvenţă a filtrului (2.20), pentru θ = 0.4π, r = 1(linie continuă), r = 0.8 (linie întreruptă), r = 0.5 (linie-punct).Deoarece răspunsul în frecvenţă al filtrului (2.19) estevaloarea principală a fazei esteH(e jω ) = 1 − r cos(ω − θ) + jr sin(ω − θ),ARG[H(e jω )] = arctg( )r sin(ω − θ).1 − r cos(ω − θ)În partea de jos a figurilor 2.3 şi 2.4 sunt prezentate grafice de fază respectândexpresia de mai sus; faza este măsurată în grade.Filtrul FIR de ordinul 2. În general, funcţiile de transfer ale filtrelor au coeficienţireali. De aceea este interesant să studiem răspunsul în frecvenţă al unui filtru FIRde ordinul 2, cu zerouri complex conjugate. Aşadar, zerourile sunt c = re jθ şic ∗ = re −jθ , iar funcţia de transfer are formaH(z) = (1 − cz −1 )(1 − c ∗ z −1 ) = 1 − 2r cos θ · z −1 + r 2 z −2 . (2.20)Amplitudinea răspunsului în frecvenţă, în decibeli, se obţine adunând două amplitudinide tipul celor prezentate în figurile 2.3 şi 2.4, corespunzătoare valorilor θ şi−θ. Similar, faza se obţine adunând fazele corespunzătoare factorilor de grad 1ai lui (2.20). Prezentăm caracteristica de frecvenţă a filtrului (2.20) în figura 2.5,pentru θ = 0.4π. Deoarece coeficienţii filtrului sunt reali, graficul amplitudinii estesimetric faţă de ω = 0 şi deci este suficientă desenarea lui pentru intervalul [0, π](normalizat [0, 1]).


2.3. REPREZENTAREA ÎN FRECVENŢĂ A SISTEMELOR LIT 4520Amplitudine15105Amplitudine (dB)00 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 23020100−100 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2100Faza (val.princ.)500−50−1000 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2Frecventa normalizataFigura 2.6: Caracteristica de frecvenţă a filtrului (2.21), pentru θ = 0.4π, r = 0.95(linie continuă), r = 0.8 (linie întreruptă), r = 0.5 (linie-punct).Filtre AR cu un singur pol. Caracteristica de frecvenţă a filtruluiH(z) =1, (2.21)1 − cz−1 i.e. a inversului filtrului (2.19)—al cărui răspuns în frecvenţă se presupune cunoscut—se obţine imediat. Atât amplitudinea în decibeli cât şi faza filtrului (2.21) suntopusele analoagelor lor pentru filtrul (2.19). Exemple de răspuns în frecvenţă alfiltrului (2.21) sunt prezentate în figura 2.6; pentru comparaţie, revedeţi figura 2.4,pentru filtrele FIR cu un singur zero; graficele din figura 2.6 se obţin prin oglindireafaţă de abscisă a celor din figura 2.4. (De notat că nu am reprezentat răspunsulfiltrului (2.21) cu r = 1, care are un pol pe cercul unitate, i.e. este instabil.)Legătura dintre diagrama poli-zerouri şi caracteristica de frecvenţă. Din celeprezentate mai sus rezultă că poziţia în planul complex a polilor şi zerourilor unui filtrudă informaţii importante despre caracteristica de frecvenţă a filtrului. Influenţapolilor şi zerourilor este cu atât mai mare cu cât sunt mai aproape de cercul unitate.În linii mari, un zero de fază θ situat în apropierea cercului unitate implică o atenuaremare a răspunsului la frecvenţa θ. Dimpotrivă, un pol de fază θ înseamnă oamplificare mare la frecvenţa θ, sau, în orice caz, o creştere a amplificării în preajmafrecvenţei θ. Pentru ilustrare, prezentăm în figura 2.7 caracteristicile de frecvenţăa două filtre IIR cu doi poli şi trei zerouri. Zerourile filtrelor sunt identice şi se aflăpe cercul unitate, având valorile j = e jπ/2 , −j = e −jπ/2 şi −1 = e jπ . În consecinţă,amplitudinea răspunsului în frecvenţă este nulă la frecvenţele π/2 şi π. Pentruprimul filtru (graficele de sus), polii (complex conjugaţi) au modul 0.9 şi argumentπ/4. Deoarece polii sunt aproape de cercul unitate, amplitudinea răspunsului în


46 CAPITOLUL 2. SISTEME1100.800.6Parte imaginara0.40.20−0.2−0.4Amplitudine−10−20−30−40−0.6−0.8−50−1−1 −0.5 0 0.5 1Parte reala−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata1100.800.6Parte imaginara0.40.20−0.2−0.4Amplitudine−10−20−30−40−0.6−0.8−50−1−1 −0.5 0 0.5 1Parte reala−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 2.7: Diagrame poli-zerouri (stânga) şi caracteristici de frecvenţă (dreapta)pentru două filtre IIR cu doi poli şi trei zerouri.frecvenţă are valori mari în jurul frecvenţei π/4. Pentru al doilea filtru, modululpolilor este 0.7, iar efectul lor e mai puţin sesizabil. Deşi amplitudinea răspunsuluiîn frecvenţă nu mai este mare la ω = π/4, totuşi polii au ca efect palierul aproapeorizontal în intervalul [0, π/4]. (Anticipând capitolul despre proiectarea filtrelor,observăm că al doilea filtru are o caracteristică de tip trece-jos; modulul polilor afost ales special pentru a o obţine.)Probleme rezolvatePR 2.3.1 Fie sistemul ”întârziere pură” descris de y[n] = x[n − n 0 ], unde n 0 esteun întreg pozitiv. Reprezentaţi caracteristica sa de frecvenţă.Soluţie. Funcţia de transfer este H(z) = z −n0 , deci H(e jω ) = e −jωn0 . Amplitudineaeste |H(e jω )| = 1, iar faza argH(e jω ) = −ωn 0 este liniară în ω. (Reprezentareagrafică rămâne cititorului.)PR 2.3.2 Considerăm H(z) = (1+z −1 )/2, filtrul FIR ”medie pe două eşantioane”.a. Reprezentaţi caracteristica sa de frecvenţă.b. Care este răspunsul filtrului la intrarea x[n] = cos(ω 0 n), cu ω 0 ∈ [−π, π]dat ? Exemplu numeric: ω 0 = π/3.


2.3. REPREZENTAREA ÎN FRECVENŢĂ A SISTEMELOR LIT 47Soluţie. a. AvemH(e jω ) = 1 + e−jω2( e= e −jω/2 jω/2 + e −jω/2 )= cos(ω/2) · e −jω/22şi deci pentru ω ∈ [0, π] obţinem|H(e jω )| = cos(ω/2),argH(e jω ) = −ω/2.Caracteristica de frecvenţă este prezentată în figura 2.8. Remarcaţi normalizareafrecvenţei (abscisa 1 înseamnă ω = π) şi reprezentarea fazei în grade (nu radiani).b. Deoarececos(ω 0 n) = 1 (ejω 0 n + e −jω 0n ) ,2răspunsul filtrului estey[n] = 1 2(H(ejω 0)e jω0n + H(e −jω0 )e −jω0n) .Deoarece H(z) are coeficienţi reali şi deci H(e −jω 0) = H ∗ (e jω 0), obţinemy[n] = Re ( H(e jω 0)e jω 0n ) = |H(e jω 0)| cos ( ω 0 n + argH(e jω 0) ) ,adică un rezultat similar cu (2.15). (Atenţie, dacă funcţia de transfer are coeficienţicomplecşi, rezultatul nu mai e acelaşi.)Dacă ω 0 = π/3, ieşirea pentru filtrul considerat estey[n] =√3( π2 cos 3 n − π ),6i.e. semnalul de intrare a fost atenuat şi defazat.PR 2.3.3 Semnalul x[n] = (−1) n se aplică la intrarea filtrului H(z) = (1 + z −1 )/2.Care este semnalul de ieşire ?Soluţie. Cititorul atent a observat că această problemă este identică cu PR2.2.2.Prezentăm aici altă soluţie. Observăm că x[n] = (−1) n = cos(πn), adică x[n] esteun semnal sinusoidal de frecvenţă π. Pe de altă parte, avem H(e jπ ) = H(−1) = 0,ceea ce înseamnă că semnalul de frecvenţă π este tăiat complet de filtru, deci ieşireaeste nulă.PR 2.3.4 Considerăm filtrul FIR ”medie pe M + 1 eşantioane”, care are funcţiade transferH(z) = 1 M∑z −n . (2.22)M + 1Reprezentaţi caracteristica sa de frecvenţă.n=0


48 CAPITOLUL 2. SISTEME10.8Amplitudine0.60.40.200 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata0−20Faza−40−60−80−1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 2.8: Caracteristica de frecvenţă a filtrului H(z) = (1 + z −1 )/2.Soluţie. Utilizând formula pentru suma unei progresii geometrice, obţinemH(e jω ) ===1M + 1M∑n=0e −jωn = 1 1 − e −jω(M+1)M + 1 1 − e −jω1 e −jω(M+1)/2 (e jω(M+1)/2 − e −jω(M+1)/2 )M + 1 e −jω/2 (e jω/2 − e −jω/2 )1M + 1sin(ω(M + 1)/2)e −jωM/2 .sin(ω/2)În mod evident, amplitudinea este|H(e jω )| = 1M + 1∣sin(ω(M + 1)/2)sin(ω/2)În reprezentarea fazei apare un fenomen specific. Când ω ∈ [0, π], observăm căsin(ω/2) ≥ 0, dar că semnul lui sin(ω(M + 1)/2) variază. În concluzie, deoarece−1 = e −jπ , faza este{argH(e jω −ωM/2, când sin(ω(M + 1)/2) ≥ 0,) =−ωM/2 − π, când sin(ω(M + 1)/2) < 0.Graficele amplitudinei şi fazei sunt prezentate în figura 2.9, pentru M = 5, în douăvariante; prima este cea ”teoretică”, în care formulele de mai sus sunt utilizate caatare; a doua este cea ”inginerească”, în care amplitudinea este reprezentată îndecibeli, iar faza prin valoarea sa principală. În reprezentarea fazei, am ţinut seamacă sin(3ω) < 0 pentru ω ∈ [π/3, 2π/3], de unde discontinuităţile graficului.∣ .


2.3. REPREZENTAREA ÎN FRECVENŢĂ A SISTEMELOR LIT 4910.8Amplitudine0.60.40.200 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata0−100Faza−200−300−400−5000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata0−10Amplitdine (dB)−20−30−40−50−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata10050Faza (val.princ.)0−50−100−1500 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 2.9: Caracteristica de frecvenţă a filtrului H(z) = 1M+1∑ Mn=0 z−n , pentruM = 5. Sus, reprezentarea ”teoretică” amplitudine-fază. Jos, reprezentarea”inginerească”: amplitudine în dB şi valoarea principală a fazei.


50 CAPITOLUL 2. SISTEMEProbleme propusePP 2.3.1 Reprezentaţi caracteristica de frecvenţă a filtrului FIR H(z) = (1 −z −1 )/2.Care este ieşirea sa atunci când la intrare sunt semnalele a) x[n] = 1, b) x[n] =(−1) n ?PP 2.3.2 Desenaţi caracteristica de frecvenţă a filtrului H(z) = 1 − 0.5z −1 +0.25z −2 şi comparaţi rezultatul obţinut cu cel din figura 2.5.PP 2.3.3 a. Presupunem că se cunosc graficele (amplitudine şi fază) răspunsuluiîn frecvenţă al unui filtru H(z). Cum se pot trasa rapid graficele răspunsului înfrecvenţă al filtrului H 2 (z) ?b. Presupunem că se cunosc graficele răspunsurilor în frecvenţă a două filtreH 1 (z) şi H 2 (z). Cum se pot trasa rapid graficele răspunsului în frecvenţă al filtruluiH 1 (z)H 2 (z) obţinut prin conectarea în serie a celor două filtre ?PP 2.3.4 Filtrul AR (2.21) cu polul c = e jω este instabil deoarece polul se aflăpe cercul unitate. Daţi exemplu de un semnal de intrare x[n] mărginit pentru carerăspunsul filtrului y[n] este nemărginit. Cazuri particulare: c = 1, c = −1.PP 2.3.5 Filtrul IIR cu funcţia de transferH(z) =1 + z−1 + z −2 + z −31 − 0.9 √ 2z −1 + 0.81z −2are zerourile şi polii ca în figura 2.7, stânga sus. Desenaţi caracteristica sa defrecvenţă şi observaţi că nu obţineţi exact graficul din dreapta sus a figurii. De ce ?Ghid MatlabCaracteristica de frecvenţă a unui filtru IIR (2.8) se poate trasa cu ajutorul funcţieifreqz. Dacă variabilele b şi a conţin coeficienţii numărătorului, respectiv numitorului,atunci>> freqz(b,a)desenează amplitudinea (în dB) şi valoarea principală a fazei (în radiani) în douăgrafice. De exemplu, filtrul FIR de ordinul doi (2.20) cu r = 0.8, θ = π/3 sedesenează prin>> b = [1 -0.8 0.64]>> freqz(b,1)Apelul>> [H,w] = freqz(b,a)pune în H valorile răspunsului în frecvenţă calculat în elementele grilei de frecvenţew (generată de funcţie). Desenarea e.g. amplitudinii răspunsului se face cu>> plot(w, abs(H))În alte moduri de apel ale funcţiei freqz se pot specifica numărul de puncte de pegrilă, se pot preciza explicit frecvenţele în care se calculează răspunsul etc.Diagrama poli-zerouri a unui filtru IIR se desenează cu apelul>> zplane(b,a)


2.4. FILTRE DE FAZĂ MINIMĂ 512.4 Filtre de fază minimăDefiniţia 2.17 Un filtru IIR cu funcţia de transfer (2.9) având zerourile şi poliisituaţi în interiorul cercului unitate, i.e. cu proprietatea că |c k | < 1, k = 1 : M,|d i | < 1, i = 1 : N, se numeşte filtru de fază minimă.Deoarece în practică sunt interesante doar filtrele stabile, pentru care |d i | < 1,i = 1 : N, proprietatea de fază minimă este dată de poziţia zerourilor unui filtru.În secţiunea precedentă am analizat doar caracteristica de frecvenţă a filtrelor defază minimă. Pentru a studia cazul filtrelor de fază neminimă—care au cel puţinun zero în afara cercului unitate—avem nevoie de definiţia filtrelor trece-tot.Definiţia 2.18 Un filtru trece-tot de ordin N are funcţia de transfer∏ Nk=1H T (z) =(z−1 − c ∗ k∏ )Nk=1 (1 − c kz −1 ) , (2.23)iar polii c k ∈ C, k = 1 : N, au modul subunitar (deci filtrul este stabil).Observăm că zerourile filtrului sunt 1/c ∗ k, k = 1 : n, şi se află în afara cerculuiunitate. Numele filtrului este dat de următoarea proprietate.Propoziţia 2.19 Fie H T (z) filtrul trece-tot cu funcţia de transfer (2.23). Răspunsulsău în frecvenţă are modul constant |H T (e jω )| = 1, pentru orice frecvenţă ω.Demonstraţie. Modulul unui factor al numărătorului răspunsului H T (e jω ) este|e −jω − c ∗ k| = |e −jω (1 − c ∗ ke jω )| = |1 − c k e −jω |,i.e. este egal cu modulul factorului corespunzător al numitorului (ultima egalitatea fost obţinută prin complex conjugare).Propoziţia 2.20 Orice filtru (stabil) H(z) de fază neminimă poate fi exprimat caprodus între două filtre: unul de fază minimă H m (z) şi unul trece-tot H T (z), i.e.H(z) = H m (z)H T (z). (2.24)Demonstraţie. Să presupunem pentru simplitate că H(z) are un singur zero înafara cercului unitate, i.e. se poate scrie sub forma H(z) = ˜H m (z)(z −1 − c ∗ ), cu|c| < 1, unde ˜H m (z) este un filtru de fază minimă. Atunci avemH(z) = ˜H m (z)(1 − cz −1 ) z−1 − c ∗1 − cz −1 .adică H(z) are forma (2.24), cu H m (z) = ˜H m (z)(1 − cz −1 ) şi H T (z) un filtru trecetotde ordinul 1 cu polul c.Dacă H(z) are mai multe zerouri în afara cercului unitate, atunci demonstraţiaeste similară.Observăm că H m (z) se obţine din H(z) prin reflectarea şi complex conjugareazerourilor din afara cercului (1/c ∗ se transformă în c). Combinând Propoziţiile 2.19şi 2.20 obţinem următorul rezultat important.


52 CAPITOLUL 2. SISTEMECorolarul 2.21 Amplitudinea răspunsului în frecvenţă al unui filtru H(z) de fazăneminimă exprimat ca în (2.24) este identică cu cea a filtrului de fază minimăH m (z), i.e. |H(e jω )| = |H m (e jω )|.Fazele răspunsurilor în frecvenţă ale celor două filtre, H(z) şi H m (z), diferă.Alte proprietăţi ale filtrelor de fază minimă. Denumirea de filtru de fază minimăprovine din următorul rezultat.Propoziţia 2.22 Fie H(z) un filtru de fază neminimă şi H m (z) filtrul de fazăminimă din (2.24). Între fazele celor două filtre există relaţiaargH(e jω ) ≤ argH m (e jω ), ∀ω ∈ [0, π]. (2.25)Observăm că de fapt faza filtrului de fază minimă este mai mare decât cea aunui filtru de fază neminimă corespunzător. Deoarece faza este în general negativă,filtrul de fază minimă are faza mai mică în valoare absolută, de unde şi denumireasa.Propoziţia 2.23 Fie H(z) un filtru cauzal de fază neminimă şi H m (z) filtrul defază minimă din (2.24). Fie h[n], respectiv h m [n], răspunsurile la impuls ale celordouă filtre. Atunci, pentru orice n ≥ 0, are loc inegalitatean∑|h[k]| 2 ≤k=0n∑|h m [k]| 2 . (2.26)Sumele din (2.26) au semnificaţia de energii parţiale ale răspunsului la impuls.Ţinând seama că amplitudinile răspunsurilor în frecvenţă ale celor două filtre suntidentice, din teorema lui Parseval rezultă că răspunsurile la impuls h[n] şi h m [n]au aceeaşi energie. Relaţia (2.26) spune că răspunsul la impuls al filtrului de fazăminimă are mai multă energie în partea sa iniţială, în comparaţie cu filtrele de fazăneminimă provenite din el.Probleme rezolvatePR 2.4.1 Scrieţi forma generală a unui filtru trece-tot de ordin N. (Evidenţiaţicoeficienţii, nu polii şi zerourile ca în (2.23).)Soluţie. Fie H T (z) = B(z)/A(z), unde B(z), A(z) sunt polinoamele din (2.23).Dacă c este rădăcină a lui A(z), din definiţia (2.23) a filtrului trece-tot rezultă că1/c ∗ e rădăcină a lui B(z). Aşadar avem B(z) = z −N A ∗ (z −1 ) (înmulţirea cu z −Nface B(z) polinom în z −1 ), adică coeficienţii lui B(z) sunt identici cu cei ai lui A(z),dar în ordine inversă şi complex conjugaţi şi deci funcţia de transfer a filtrului esteH T (z) =k=0∑ Nn=0 a∗ N−n z−n∑ Nn=0 a nz −n (2.27)unde a 0 = 1. Se observă imediat că pentru N = 1 se obţine chiar (2.23).


2.4. FILTRE DE FAZĂ MINIMĂ 53PR 2.4.2 Demonstraţi Propoziţia 2.22. Indicaţie: demonstraţi că filtrul trece-tot(2.23) are faza negativă pentru ω ∈ [0, π]; folosind apoi (2.24), Propoziţia estedemonstrată.Soluţie. Negativitatea fazei filtrului trece-tot (2.24) se demonstrează după următorulplan, ale cărui detalii (de calcul) le lăsăm cititorului:1. Se consideră filtrul trece-tot de ordinul 1H 1 (z) = z−1 − c ∗1 − cz −1 , c = rejθ , 0 < r ≤ 1, (2.28)şi se calculează expresia fazei sale, obţinându-seφ(ω) = argH 1 (e jω r sin(ω − θ)) = −ω − 2arctg1 − r cos(ω − θ) .2. Se calculează derivata fazeiφ ′ (ω) =r 2 − 11 − 2r cos(ω − θ) + r 2şi se observă că φ ′ (ω) ≤ 0, ∀ω ∈ [0, π].3. Deoarece φ(0) = 0, rezultă imediat că φ(ω) ≤ 0, ∀ω ∈ [0, π].4. Cum filtrul trece-tot (2.23) este produs de termeni de tipul (2.28), rezultă căşi faza sa este negativă.Probleme propusePP 2.4.1 Scrieţi funcţia de transfer a unui filtru trece-tot cu coeficienţi reali aicărui poli sunt ρe ±jθ , unde ρ ∈ [0, 1) şi θ ∈ [0, π] sunt daţi.PP 2.4.2 Demonstraţi că un filtru H(z) este trece-tot dacă şi numai dacă egalitateaH(z)H ∗ (z −1 ) = 1 are loc pentru orice z complex.PP 2.4.3 Un semnal x[n] de energie finită este aplicat la intrarea unui filtru trecetot(2.23), obţinându-se la ieşire semnalul y[n]. Demonstraţi că semnalele de intrareşi de ieşire au aceeaşi energie, i.e.∞∑∞∑|x[n]| 2 = |y[n]| 2 .n=−∞n=−∞(Indicaţie: folosiţi teorema lui Parseval.)PP 2.4.4 Desenaţi caracteristicile de frecvenţă ale filtrelor H 1 (z) = 1 − 0.5z −1 +0.25z −2 şi H 2 (z) = 0.25−0.5z −1 +z −2 . Ştiind că unul dintre ele este de fază minimă,aflaţi din caracteristica de frecvenţă care este acesta, fără a calcula zerourile filtrelor.Puteţi afla răspunsul doar din valorile coeficienţilor filtrelor ?PP 2.4.5 Fie H m (z) un filtru FIR de fază minimă, de ordin M, cu coeficienţi reali.Câte filtre FIR de ordin M au aceeaşi amplitudine a răspunsului în frecvenţă caH m (z), dar faze diferite ? Indicaţi valorile maximă şi minimă ale numărului acestorfiltre şi daţi exemple de filtre H m (z) pentru care se ating valorile extreme.PP 2.4.6 Demonstraţi Propoziţia 2.23. Indicaţie: consideraţi (2.26) pentru cazulparticular cu un filtru de fază minimă H m (z) şi un filtru de fază neminimă cu unsingur zero în afara cercului unitate.


54 CAPITOLUL 2. SISTEME2.5 Filtre cu fază liniarăRăspunsul în frecvenţă al sistemului de întârziere cu n 0 eşantioane este H(e jω ) =e −jωn 0(vezi problema PR2.3.1). Se observă că faza acestui sistem este liniară.În prelucrarea semnalelor, întârzierea unui semnal este o modificare acceptabilă aacestuia. Filtrele cu faza liniară sunt aşadar interesante pentru că ele acţioneazădoar asupra amplitudinii spectrului semnalului, modificările fazei reprezentând osimplă întârziere.În sens strict, un filtru are fază liniară dacă răspunsul său în frecvenţă poate fiscris în forma H(e jω ) = |H(e jω )|e −jωn0 , unde se poate accepta şi n 0 ∈ R. Aceastădefiniţie poate fi reformulată în sens mai larg.Definiţia 2.24 Un filtru are fază liniară generalizată dacă răspunsul său în frecvenţăpoate fi scris în formaH(e jω ) = A(e jω )e −jωn 0−jα , (2.29)unde A(e jω ) ∈ R (deci, putând avea valori negative, nu este amplitudinea răspunsului),n 0 ∈ R, iar e −jα reprezintă un defazaj suplimentar (α ∈ R).Definiţia 2.25 Întârzierea de grup (group delay) a unui filtru este derivata fazeirăspunsului în frecvenţă al filtrului (cu semn schimbat), i.e.grdH(e jω ) = − ddω argH(ejω ). (2.30)În mod evident, întârzierea de grup a unui filtru cu faza liniară generalizată esteconstantă (şi pozitivă, de obicei).Filtre idealeUn filtru trece-jos ideal, care lasă să treacă nealterate semnalele cu frecvenţă maimică decât ω t şi taie complet semnalele de alte frecvenţe, are răspunsul în frecvenţăH T J (e jω ) ={1, dacă |ω| ≤ ωt ,0, dacă ω t < |ω| ≤ π.(2.31)Să notăm că [0, ω t ] se numeşte bandă de trecere, iar [ω t , π] bandă de oprire (sautăiere). Admiţând întârzierea semnalelor din banda de trecere, filtrul trece-jos arerăspunsul în frecvenţăH T Ji (e jω ) ={e−jωn 0, dacă |ω| ≤ ω t ,0, dacă ω t < |ω| ≤ π,(2.32)unde n 0 ∈ R este întârzierea de grup a filtrului.Filtrele ideale au răspunsuri la impuls necauzale, cu suport infinit. De exemplu,filtrul (2.31) are răspunsul la impulsh T Ji [n] = sin ω t(n − n 0 ). (2.33)π(n − n 0 )


2.5. FILTRE CU FAZĂ LINIARĂ 55M par M imparH(z) simetric (h[n] = h[M − n]) I IIH(z) antisimetric (h[n] = −h[M − n]) III IVTabelul 2.1: Tipurile de filtre FIR cu fază liniară.(Demonstraţia este lăsată cititorului în problema PP2.5.1.) Răspunsurile la impuls(2.33) pentru ω t = π/4, sunt reprezentate in figura 2.10. Observăm că dacă n 0 esteîntreg, atunci răspunsul este simetric faţă de verticala dusă prin n 0 . Aceeaşi simetrieeste valabilă şi în cazul n 0 = k 0 + 1/2, cu k 0 ∈ Z. În celelalte cazuri, răspunsul nuare nici o simetrie.Datorită suportului infinit şi necauzalităţii, filtrele ideale nu sunt utilizabile înpractică. De asemenea, nu există filtre IIR raţionale cu fază liniară. De aceea,singura soluţie practică de obţinere a liniarităţii exacte a fazei o reprezintă filtreleFIR.Filtre FIR cu fază liniarăDefiniţia 2.26 Fie H(z) un filtru FIR cu coeficienţi reali descris de (2.6), de ordinM. Spunem că H(z) este simetric dacă vectorul coeficienţilor săi (răspunsul său laimpuls) este simetric, i.e. h[n] = h[M − n].De asemenea, spunem că H(z) este antisimetric dacă h[n] = −h[M − n].Se poate demonstra următorul rezultat.Propoziţia 2.27 Un filtru FIR are fază liniară generalizată—în sensul că răspunsulsău în frecvenţă are forma (2.29)—dacă şi numai dacă este simetric sau antisimetric.Filtrele FIR cu fază liniară sunt de patru tipuri, după simetria coeficienţilor şiparitatea ordinului filtrului. În mod tradiţional, tipurile sunt numerotate de la I laIV, după cum se arată în tabelul 2.1. În cele ce urmează, vom arăta că fiecare dincele patru tipuri de filtre are răspunsul în frecvenţă de forma (2.29) şi vom vedeacare sunt poziţiile zerourilor acestor filtre în planul complex.Tipul I. Când M este par, numărul de coeficienţi ai filtrului este impar, decifuncţia de transfer are formaH(z) = h[0] + h[1]z −1 + . . . + h[ M 2 ]z− M 2 + . . . + h[1]z −(M−1) + h[0]z −M . (2.34)Răspunsul în frecvenţă este (forţăm factor comun exponenţiala corespunzătoaretermenului central)H(e jω ) = e −jω M 2()h[ M 2 ] + h[ M 2 − 1](ejω + e −jω ) + . . . + h[0](e jω M 2 + e −jω M 2 )= e −jω M 2(2h[0] cos(ωM2 ) + . . . + 2h[ M 2 − 1] cos ω + h[ M 2 ]) . (2.35)


56 CAPITOLUL 2. SISTEME0.30.250.20.150.1... ...0.050n−0.05−5 0 5 10 15 200.30.250.20.150.1... ...0.050n−0.05−5 0 5 10 15 200.30.250.20.150.1... ...0.050n−0.05−5 0 5 10 15 20Figura 2.10: Răspunsuri la impuls ale filtrului ideal trece-jos, pentru ω t = π/4 şiîntârziere de grup n 0 = 8 (sus), n 0 = 8.5 (mijloc) şi n 0 = 8.4 (jos).


2.5. FILTRE CU FAZĂ LINIARĂ 57110.50.5Parte imaginara0Parte imaginara0−0.5−0.5−1−1−1.5 −1 −0.5 0 0.5 1 1.5 2Parte reala−1.5 −1 −0.5 0 0.5 1 1.5 2Parte realaFigura 2.11: Zerourile filtrelor FIR cu fază liniară, de tip I (stânga) şi II (dreapta).Din (2.35) se observă că întârzierea de grup estegrdH(e jω ) = M/2.Pentru a vedea care sunt poziţiile zerourilor, observăm că, pentru un filtru simetric,este adevărat şirul de egalităţiH(z) =M∑h[n]z −n = z −Mn=0M ∑n=0h[M − n]z M−n = z −MM ∑n=0h[n]z n = z −M H(z −1 ).(2.36)Aşadar, dacă c este un zero al lui H(z), atunci şi 1/c este zero, adică orice zeroîn interiorul cercului unitate este însoţit de unul în afara cercului. Mai mult, dacăfiltrul are coeficienţi reali, atunci c este zero al filtrului împreună cu c ∗ , 1/c, 1/c ∗ .Zerourile filtrului au poziţiile ilustrate în figura 2.11, stânga; zerourile complexeapar în general în grupuri de patru. Zerourile aflate pe cercul unitate sunt perechi,deoarece în acest caz avem 1/c = c ∗ ; cele două zerouri sunt simetrice faţă de axareală. În fine, zerourile reale sunt şi ele perechi (c = c∗ ); dacă zerourile sunt realeşi pe cercul unitate, adică sunt egale cu 1 sau −1, atunci ele sunt duble.Tipul II. Funcţia de transfer are formaH(z) = h[0] + . . . + h[ M−12]z − M−12 + h[ M−12]z − M+12 + . . . + h[0]z −M . (2.37)Procedând ca în (2.35), răspunsul în frecvenţă este(H(e jω ) = e −jω M 2 2h[0] cos(ωMM−12) + . . . + 2h[2] cos( ω 2 )) . (2.38)Ca şi pentru tipul I, întârzierea de grup este M/2.Şi pentru tipul II este adevărată relaţia (2.36), adică simetriile poziţiilor zerourilorsunt aceleaşi ca la tipul I, cu o singură excepţie. Punând z = −1 în (2.36)obţinem H(−1) = (−1) M H(−1) = −H(−1); aşadar H(−1) = 0, deci −1 esteîntotdeauna un zero al filtrului; multiplicitatea sa este impară, deoarece zerouri


58 CAPITOLUL 2. SISTEME110.50.5Parte imaginara0Parte imaginara0−0.5−0.5−1−1−1.5 −1 −0.5 0 0.5 1 1.5 2Parte reala−1.5 −1 −0.5 0 0.5 1 1.5 2Parte realaFigura 2.12: Zerourile filtrelor FIR cu fază liniară, de tip III (stânga) şi IV (dreapta).duble pot apărea aşa cum s-a discutat la tipul I. Figura 2.11 (dreapta) prezintăpoziţiile tipice ale zerourilor unui filtru de tip II.Tipul III. Deoarece numărul coeficienţilor este impar, antisimetria implică h[ M 2 ] =−h[ M 2], deci coeficientul central este nul, iar funcţia de transfer esteH(z) = h[0] + . . . + h[ M 2 − 1]z−( M 2 −1) − h[ M 2 − 1]z−( M 2 +1) − . . . − h[0]z −M . (2.39)Ţinând seama că j = e jπ/2 , răspunsul în frecvenţă esteH(e jω ) = e −j(ω M 2 − π 2 ) ( 2h[0] sin(ω M 2 ) + . . . + 2h[ M 2 − 1] sin ω) , (2.40)iar întârzierea de grup este M/2.Procedând ca în (2.36), pentru un filtru cu coeficienţi antisimetrici obţinemrelaţiaH(z) = −z −M H(z −1 ). (2.41)În general, aceasta implică aceleaşi simetrii ale zerourilor ca pentru un filtru de tipI. În plus, observăm că pentru M par, din relaţia (2.41) rezultă H(1) = −H(1) şiH(−1) = −H(−1); aşadar atât 1 cât şi −1 sunt întotdeauna zerouri ale filtruluide tip III; în cazul cel mai general, multiplicitatea lor este impară. Figura 2.12(stânga) prezintă poziţiile tipice ale zerourilor unui filtru de tip III.Tipul IV. Funcţia de transfer are formaH(z) = h[0] + . . . + h[ M−12]z − M−12 − h[ M−12]z − M+12 − . . . − h[0]z −M . (2.42)Răspunsul în frecvenţă esteH(e jω ) = e −j(ω M 2 − π 2 ) ( 2h[0] sin(ω M 2) + . . . + 2h[M−12] sin( ω 2 )) (2.43)şi întârzierea de grup este M/2.În privinţa poziţiei zerourilor, diferenţa faţă de tipul III este că, M fiind impar,din (2.41) rezultă doar H(1) = −H(1), deci numai 1 este un zero al filtrului demultiplicitate impară (vezi figura 2.12, dreapta).


2.5. FILTRE CU FAZĂ LINIARĂ 59Probleme rezolvatePR 2.5.1 Determinaţi răspunsul la impuls al filtrului de întârziere ideal, al căruirăspuns în frecvenţă este H(e jω ) = e −jωn0 , unde n 0 ∈ R.Soluţie. Folosind transformata Fourier inversă ca în soluţia problemei PR1.2.3,se obţine răspunsul la impulsh[n] = sin π(n − n 0).π(n − n 0 )Dacă n 0 este întreg, atunci h[n] este impulsul unitate întârziat δ[n − n 0 ]. Altfel,răspunsul are suport infinit ! Răspunsul este simetric dacă 2n 0 ∈ Z. Figura 2.13ilustrează aceste situaţii.PR 2.5.2 Fie H(z) un filtru FIR cu faza liniară, de tip I. Ce fel de filtre sunt(1 − z −1 )H(z), (1 − z −2 )H(z), (1 + z −1 )H(z), (1 + z −2 )H(z) ?Soluţie. Toate filtrele de mai sus au fază liniară. Demonstrăm doar că G(z) =(1 − z −1 )H(z) este de tip IV. În primul rând, gradul lui G(z) este M + 1, deciimpar. Apoi, observăm că între coeficienţii celor două filtre există relaţia g[n] =h[n] − h[n − 1], n = 0 : M + 1; desigur, considerăm h[−1] = h[M + 1] = 0. Deoareceh[n] este simetric, putem scrieg[M + 1 − n] = h[M + 1 − n] − h[M − n] = h[n − 1] − h[n] = −g[n],aşadar filtrul G(z) are coeficienţi antisimetrici.PR 2.5.3 Găsiţi un filtru FIR a cărui fază să fie nulă.Soluţie. Evident, un astfel de filtru are fază liniară şi întârziere de grup egalăcu zero. Dacă ne mărginim la filtrele descrise în această secţiune, a căror întârzierede grup este M/2, vom constata că gradul filtrului trebuie să fie nul, deci funcţiade transfer este o constantă.Dacă permitem şi filtre FIR necauzale, cu funcţia de transferH(z) =M∑n=−Mh[n]z −n ,atunci se observă cu uşurinţă că filtrele simetrice, cu h[n] = h[−n], au răspunsulîn frecvenţă H(e jω ) real, deci întârziere de grup nulă. Totuşi, pentru a avea fazănulă este necesar ca H(e jω ) ≥ 0, ∀ω ∈ [−π, π]. Un exemplu de astfel de filtru esteH(z) = z+2+z −1 . (Atenţie, filtrele cu răspuns la impuls antisimetric h[n] = −h[−n]au răspunsul în frecvenţă pur imaginar, deci chiar dacă întârzierea de grup este nulă,faza este nenulă.)


60 CAPITOLUL 2. SISTEME10.80.60.40.2... ...n0−0.2−2 0 2 4 6 8 10 12 14 16 1810.80.60.40.2... ...n0−0.2−2 0 2 4 6 8 10 12 14 16 1810.80.60.40.2... ...n0−0.2−2 0 2 4 6 8 10 12 14 16 18Figura 2.13: Răspunsuri la impuls ale filtrului de întârziere ideal, cu întârzierea degrup n 0 = 8 (sus), n 0 = 8.5 (mijloc) şi n 0 = 8.4 (jos).


2.5. FILTRE CU FAZĂ LINIARĂ 61Probleme propusePP 2.5.1 Demonstraţi că filtrul trece-jos ideal cu răspunsul în frecvenţă (2.32) arerăspunsul la impuls (2.33).Dacă n 0 ∈ Z, demonstraţi că h T Ji [n 0 + n] = h T Ji [n 0 − n], ∀n ∈ Z.Dacă 2n 0 ∈ Z, demonstraţi că h T Ji [n] = h T Ji [2n 0 − n], ∀n ∈ Z.PP 2.5.2 Filtrul trece-bandă ideal, care lasă să treacă semnalele sinusoidale cufrecvenţa în banda de trecere [ω 1 , ω 2 ] şi taie toate celelalte frecvenţe, are răspunsulîn frecvenţăH T B (e jω ) ={e−jωn 0, dacă ω 1 ≤ |ω| ≤ ω 2 ,0, dacă |ω| ≤ ω 1 sau ω 2 < |ω| ≤ π,(2.44)unde n 0 ∈ R este întârzierea introdusă în banda de trecere. Demonstraţi cărăspunsul la impuls al filtrului esteh T B [n] = sin ω 2(n − n 0 )π(n − n 0 )− sin ω 1(n − n 0 ). (2.45)π(n − n 0 )Arătaţi că răspunsurile la impuls ale filtrului trece-jos ideal (2.33) şi filtruluide întârziere ideal din problema PR2.5.1 sunt cazuri particulare ale (2.45). Deasemenea, deduceţi răspunsul la impuls al filtrului trece-sus ideal.PP 2.5.3 Fie un filtru cu faza liniară (în sens strict), al cărui răspuns în frecvenţăpoate fi scris în formaH(e jω ) = |H(e jω )|e −jωn0 ,cu n 0 ∈ R. Presupunem că filtrul are proprietatea că |H(e jω )| = |H(e −jω )| (valabilăcând răspunsul la impuls al filtrului este real).Demonstraţi că dacă 2n 0 este întreg, atunci răspunsul la impuls h[n] este simetricfaţă de ”momentul” n 0 , i.e. h[n] = h[2n 0 − n]. (Ghilimelele sunt puse pentru că n 0poate să nu fie întreg, deci nu reprezintă într-adevăr o valoare a timpului discret.)PP 2.5.4 Filtrul FIR H(z) = 1 − z −1 + 0.25z −2 nu are fază liniară (desenaţicaracteristica sa de frecvenţă). Găsiţi un filtru cu fază liniară care să aibă aceeaşiamplitudine a răspunsului în frecvenţă ca H(z).Este adevărat că pentru orice filtru FIR există un filtru FIR cu fază liniară careare aceeaşi amplitudine a răspunsului în frecvenţă ?PP 2.5.5 Daţi un exemplu de filtru FIR cu fază liniară, de tip I, ale cărui zerourisunt toate duble şi complexe. Alegeţi gradul cel mai mic posibil.PP 2.5.6 Demonstraţi că produsul a două filtre FIR cu fază liniară este tot unfiltru FIR cu fază liniară.Completaţi tabelul 2.2, în care sunt prezentate tipurile produselor a două filtrecu fază liniară. De exemplu, produsul unui filtru de tip I cu unul de tip X este unfiltru de tip X, unde X este oricare din cele patru tipuri.Aţi demonstrat aşadar că prin conectarea în serie a două filtre FIR cu fază liniarăse obţine un filtru cu fază liniară. Ce puteţi spune despre conexiunea în paralel acelor două filtre ?


62 CAPITOLUL 2. SISTEMEI II III IVI I II III IVII ? ? ? ?III ? ? ? ?IV ? ? ? ?Tabelul 2.2: Tipurile produselor a două filtre FIR cu fază liniară.Tip Ordin H r (ω)K∑I M = 2Kg n cos(nω)n=0II M = 2K + 1 cos(ω/2)III M = 2(K + 1) sin ωIV M = 2K + 1 sin(ω/2)K∑g n cos(nω)n=0K∑g n cos(nω)n=0K∑g n cos(nω)n=0Tabelul 2.3: Tipurile produselor a două filtre FIR cu fază liniară.PP 2.5.7 Demonstraţi că răspunsurile în frecvenţă ale filtrelor FIR cu fază liniarăde ordin M pot fi scrise în forma H(e jω ) = γH r (ω)e −jωM/2 , unde H r (ω) este realşi are forma din tabelul 2.3 (unde coeficienţii g n sunt reali şi depind de coeficienţiih[n] ai filtrului, dependenţele fiind diferite pentru fiecare dintre cele patru tipuri defiltre), iar γ = 1 pentru filtrele simetrice şi γ = j pentru filtrele antisimetrice.PP 2.5.8 Are filtrul H(z) = z 2 + z + 1 + z −1 + z −2 fază nulă ?PP 2.5.9 La intrarea unui filtru FIR cu fază liniară de tip III se aplică semnalulx n = 1 + cos πn. Să se demonstreze că ieşirea este nulă.Ce se întâmplă dacă filtrul este de tip IV ?PP 2.5.10 Considerăm filtrele FIR cauzale descrise de (2.6), cu coeficienţi complecşi.Un astfel de filtru este simetric dacă h[M − n] = h ∗ [n], şi antisimetric dacăh[M − n] = −h ∗ [n]. Demonstraţi că filtrele simetrice şi cele antisimetrice au fazăliniară generalizată.PP 2.5.11 Pot aparţine unor filtre FIR cu fază liniară diagramele de zerouri dinfigura 2.14 ? Dacă da, de ce tip sunt filtrele respective ? (Cifrele din dreptul locaţieiunui zero indică multiplicitatea zeroului respectiv.)Ghid MatlabGraficul întârzierii de grup a unui filtru IIR se poate trasa cu funcţia grpdelay. Deexemplu, pentru filtrul ”medie pe 6 eşantioane”, graficul este obţinut cu


2.5. FILTRE CU FAZĂ LINIARĂ 6310.80.6210.80.60.40.4Parte imaginara0.20−0.235Parte imaginara0.20−0.2−0.4−0.4−0.6−0.6−0.8−12−0.8−1−1 −0.5 0 0.5 1Parte reala−1 −0.5 0 0.5 1Parte reala110.80.80.60.60.40.4Parte imaginara0.20−0.22Parte imaginara0.20−0.2−0.4−0.4−0.6−0.6−0.8−0.8−1−1−1 −0.5 0 0.5 1Parte reala−1 −0.5 0 0.5 1Parte realaFigura 2.14: Diagrame de zerouri pentru diverse filtre FIR. Au aceste filtre fazăliniară ?>> b = [1 1 1 1 1 1]>> grpdelay(b,1)Modificaţi unul din coeficienţii filtrului, dându-i valoarea 2, şi observaţi că întârziereade grup nu mai este constantă (deci faza nu mai este liniară).


64 CAPITOLUL 2. SISTEME


Capitolul 3Eşantionare3.1 Eşantionare (conversie analogic-numeric)Definiţia 3.1 Un semnal în timp continuu este o funcţie x a : R → R. Notămx a (t) valoarea semnalului în momentul t ∈ R. (Aceeaşi notaţie poate fi folosităpentru întreg semnalul.)Mai departe, vom numi x a semnal analogic sau semnal continuu (chiar dacăfuncţia x a nu este continuă), cu scopul de a-l diferenţia de semnalele discrete studiateanterior. (O alta denumire utilizată este cea de semnal continual.) Vom studia încontinuare eşantionarea, adică transformarea unui semnal analogic într-unul discretprin reducerea suportului semnalului de la R la Z.Definiţia 3.2 Fie x a (t) un semnal analogic şi {t n } n∈Z , o mulţime numărabilă devalori reale distincte ordonate, i.e. t n < t m dacă n < m. Eşantionarea este transformareasemnalului x a (t) în semnalul discret x[n] definit prinEşantionarea uniformă este definită de relaţiax[n] = x a (t n ). (3.1)x[n] = x a (nT ), (3.2)unde T > 0 este perioada de eşantionare. (Deci, se ia t n = nT în (3.1) pentru aobţine (3.2).)Un exemplu de semnal analogic eşantionat uniform şi neuniform este prezentatîn figura 3.1. Din punct de vedere practic, eşantionarea uniformă este mult maiimportantă, de aceea ne vom ocupa doar de ea în continuare. Deoarece efectultemporal al eşantionării este evident, vom studia mai departe efectul ei asupraspectrului semnalului.Spectrul unui semnal analogic x a (t) este transformata Fourier a semnalului,adicăX a (Ω) =∫ ∞−∞x a (t)e −jΩt dt, Ω ∈ R. (3.3)65


66 CAPITOLUL 3. EŞANTIONAREx a(t)x a(t)T 2T nTx[n]tt 1t 2t nx[n]t1 2 nn1 2 nnFigura 3.1: Sus: un semnal analogic eşantionat uniform (stânga) şi neuniform(dreapta). Jos: semnalele discrete obţinute.Presupunem că semnalul x a (t) are energie finită, astfel că transformata sa Fourierexistă. Convenim să notăm Ω ∈ R frecvenţa în domeniul analogic şi ω ∈ [−π, π]frecvenţa în domeniul discret. Spectrul semnalului eşantionat este transformataFourier (1.10)∞∑X(ω) = x[n]e −jωn .n=−∞În continuare, căutăm răspunsul unor întrebări foarte naturale:• Care este relaţia între X a (Ω) şi X(ω) ?• Ce (din spectrul semnalului analogic) se pierde prin eşantionare ?• Când nu se pierde nimic ? (Este posibil acest caz ?)Teorema 3.3 Fie x a (t) un semnal analogic de energie finită şi x[n] semnalul discretobţinut din x a prin eşantionare cu perioada T . Între spectrele celor două sem-


3.1. EŞANTIONARE (CONVERSIE ANALOGIC-NUMERIC) 67nale are loc relaţiaX(ω) = 1 T∞∑l=−∞( ) ω + 2lπX a , ω ∈ [−π, π]. (3.4)TDemonstraţie. Folosind (3.2) şi expresia transformatei Fourier inverse pentru unsemnal analogic, putem scriex[n] = x a (nT ) = 12π= 1 ∞∑2πl=−∞∫ ∞−∞∫ (2l+1)π/T(2l−1)π/TX a (Ω)e jΩnT dΩX a (Ω)e jΩnT dΩ.Mai departe, cu substituţiile succesive Ω ← Ω + 2lπ/T şiobţinemx[n] = 12π= 12π∞∑l=−∞∫ π−π1TΩ = ω/T, (3.5)∫ π/T−π/T∞∑l=−∞X a (Ω + 2lπ/T )e jΩnT dΩ( ) ω + 2lπX a e jωn dω.TComparăm ultima relaţie de mai sus cu transformata Fourier inversă a spectruluisemnalului discret x[n], anumex[n] = 12π∫ π−πşi egalitatea (3.4) rezultă prin identificare.X(ω)e jωn dω,Observaţia 3.4 Din egalitatea (3.4) se observă că, pentru o frecvenţă ω fixată,spectrul X(ω) al semnalului eşantionat este o sumă infinită de valori X a (Ω l ), cuΩ l ∈ [(2l − 1)π/T, (2l + 1)π/T ], l ∈ Z. Distingem două situaţii importante.1. Fie Ω N = π/T . Presupunem că semnalul analogic are spectrul limitat labanda [−Ω N , Ω N ], deci X a (Ω) = 0, pentru |Ω| > Ω N . În acest caz, egalitatea (3.4)se reduce laX(ω) = 1 T X a(ω/T ), ω ∈ [−π, π], (3.6)deci spectrul semnalului eşantionat este esenţialmente egal cu cel al semnalului analogic.Frecvenţa Ω N , egală cu jumătatea frecvenţei de eşantionare Ω e = 2π/T , senumeşte frecvenţă Nyquist. Prezentăm în figura 3.2 spectrul unui semnal analogiccu bandă de frecvenţă limitată la frecvenţa Nyquist, precum şi spectrul (periodic)al semnalului eşantionat.2. Dacă spectrul semnalului analogic se întinde dincolo de frecvenţa Nyquist,atunci spectrul semnalului eşantionat nu mai este, în general, egal cu cel al semnaluluianalogic. Spre deosebire de cazul anterior, suma din (3.4) conţine mai multde un termen. Apare fenomenul de aliere (engl. aliasing), ilustrat în figura 3.3.


68 CAPITOLUL 3. EŞANTIONARE|X a(Ω)|Ω−Ω NΩ N|X(ω)|... ...ω−π π 2π 3πFigura 3.2: Spectrul unui semnal analogic de bandă limitată (sus) şi spectrul semnaluluieşantionat.|X a(Ω)|Ω−Ω NΩ N|X(ω)|... ...ω−π π 2π 3πFigura 3.3: Spectrul unui semnal analogic a cărui bandă depăşeşte frecvenţa Nyquistşi spectrul semnalului eşantionat, în care este vizibil fenomenul de aliere.


3.1. EŞANTIONARE (CONVERSIE ANALOGIC-NUMERIC) 69x a (t)✲Filtruanti-aliere(trece-jos)✲Eşantionare(+ cuantizare)x[n]✲Figura 3.4: Schemă practică de eşantionare.Conversia analog-numeric. Schema practică de eşantionare, ilustrată în figura3.4, conţine două blocuri. Filtrul anti-aliere este un filtru analogic trece-jos, cufrecvenţa de tăiere egală cu frecvenţa Nyquist Ω N = Ω e /2. În mod normal, frecvenţade eşantionare este aleasă astfel încât spectrul semnalului analogic util x a (t) să fiepractic nul deasupra frecvenţei Nyquist; filtrul anti-aliere este folosit pentru a prevenialierea în cazul alterării semnalului util cu zgomot de înaltă frecvenţă, care, prinaliere, ar modifica spectrul semnalului eşantionat la frecvenţe joase. Al doilea blocdin figura 3.4 efectuează eşantionarea propriu-zisă, adică operaţia (3.2). Un convertoranalog-numeric (CAN) mai face în plus cuantizarea semnalului eşantionat;conform cu (3.2), semnalul x[n] are valori reale; în sistemele numerice de prelucrarea semnalelor se utilizează însă numere reprezentate într-un format precizat,care permite utilizarea unei mulţimi finite de valori; operaţiunea de transformarea valorilor reale în valori din această mulţime finită se numeşte cuantizare şi va fidiscutată într-un capitol următor.Probleme rezolvatePR 3.1.1 Un semnal analogic sinusoidal cu frecvenţa de 1KHz este eşantionat uniformcu perioada T = 100µs. Care este frecvenţa semnalului discret obţinut ?Soluţie 1. Relaţia (3.5) dintre frecvenţele continue şi cele discrete este liniară.Aplicăm regula de trei simplă. Având în vedere că frecvenţei Nyquist Ω N = Ω e /2 =π/T = 5KHz îi corespunde frecvenţa discretă π, rezultă că frecvenţei analogiceΩ = 1KHz, îi corespunde frecvenţa discretă ω = Ω · π/Ω N = π/5.Soluţie 2. Perioada semnalului analogic sinusoidal este de 1ms. O perioadăa semnalului eşantionat conţine 10 eşantioane, deci frecvenţa acestui semnal este2π/10 = π/5.PR 3.1.2 Explicaţi forma spectrului semnalului discret din figura 3.3.Soluţie. Spectrul se calculează ca în relaţia (3.4). Spectrul semnalului analogicdin figura 3.3 se împarte în trei părţi, corespunzătoare intervalelor (−3Ω N , −Ω N ],(−Ω N , Ω N ], (Ω N , 3Ω N ]. Se deplasează (pe orizontală) graficele celor trei părţi înacelaşi interval [−Ω N , Ω N ], după care se adună. Graficul obţinut este cel al spectruluidiscret, pe intervalul (−π, π] (mai puţin o scalare pe verticală, pentru a luaîn considerare factorul 1/T din (3.4)). Desenul din figura 3.3 mai pune în evidenţăşi periodicitatea spectrului unui semnal discret.


70 CAPITOLUL 3. EŞANTIONAREProbleme propusePP 3.1.1 Considerăm semnalul analogic x a (t) cu spectrul ideal{1, dacă |Ω| > Ω0 ,X a (Ω) =0, altfel,cu Ω 0 > 0 fixat. Semnalul este eşantionat cu frecvenţa Ω e . Desenaţi spectrulsemnalului discret rezultat, pentru diverse valori ale lui Ω e . Consideraţi cel puţincazurile Ω e = Ω 0 , Ω e = 3Ω 0 /2, Ω e = 3Ω 0 .PP 3.1.2 Un semnal analogic x a (t) are spectrul de bandă limitată, în sensul căexistă o frecvenţă Ω 0 astfel încât X a (Ω) = 0 pentru |Ω| > Ω 0 . Se eşantioneazăsemnalul cu frecvenţa Ω e = 4Ω 0 , obţinându-se semnalul discret x[n]. Se considerăsemnalele x 1 [n] = x[2n] şi x 2 [n] = x[2n+1], care conţin eşantioanele pare, respectivimpare, ale semnalului x[n]. Ce puteţi spune despre spectrele semnalelor x 1 [n] şix 2 [n] ?PP 3.1.3 Se poate schimba ordinea operaţiilor în schema din figura 3.4 ? Maiprecis, se poate face întâi eşantionare şi apoi aplica un filtru trece-jos discret ?3.2 Conversie numeric-analogicTeorema 3.3 spune că, dacă un semnal analogic cu bandă de frecvenţă limitată(superior) este eşantionat corect, atunci spectrele semnalelor analogic şi eşantionatcoincid esenţialmente. Intuitiv, acest rezultat are semnificaţia că semnalul analogicx a (t) este determinat în întregime de semnalul eşantionat x[n]. Într-adevăr, are locurmătorul rezultat.Teorema 3.5 Fie x a (t) un semnal analogic şi x[n] = x a (nT ), n ∈ Z, semnaluldiscret obţinut din x a (t) prin eşantionare uniformă cu perioada T . Presupunem căsemnalul analogic are spectrul de bandă limitată, i.e. X a (Ω) = 0 pentru |Ω| > Ω N ,unde Ω N = π/T este frecvenţa Nyquist. Atunci are loc egalitateax a (t) =∞∑n=−∞x[n]sin(π(t − nT )/T ). (3.7)π(t − nT )/TDemonstraţie. Putem scrie următorul şir de egalităţi, explicate mai jos:x a (t) = 12π= 12π=12πT= 12π∫ ∞−∞∫ π/T−π/T∫ π−π∫ π−πX a (Ω)e jΩt dΩX a (Ω)e jΩt dΩX a (ω/T )e jωt/T dωX(ω)e jωt/T dω


3.2. CONVERSIE NUMERIC-ANALOGIC 71= 1 ∫ (π ∑ ∞2π −π= 1 ∞∑x[n]2πn=−∞n=−∞∫ πx[n]e −jωn )e jωt/T dω−πe jω(t−nT )/T dωPrima egalitate este definiţia transformatei Fourier inversă (în timp continuu). Adoua provine din condiţia de limitare a spectrului semnalului x a (t). A treia sebazează pe schimbarea de variabilă (3.5), care face legătura între frecvenţele continuăşi discretă. A patra utilizează relaţia (3.6) dintre spectre. A cincea foloseştedefiniţia transformatei Fourier a semnalului x[n], iar pentru ultima se permută sumacu integrala.Ţinând seama că∫ πe jωτ dω = sin(πτ) ,πτ−πegalitatea (3.7) rezultă imediat.Convertorul numeric-analogic (CNA) ideal. Egalitatea (3.7) poate fi interpretatăprin schema din figura 3.5. Formatorul de impulsuri transformă semnaluldiscret x[n] în semnalul analogicx i (t) =∞∑n=−∞x[n]δ(t − nT ), (3.8)i.e. într-o sumă de impulsuri echidistante, ca în figura 3.6. (Impulsul Dirac x[n]δ(t−nT ) are ”înălţime” infinită, dar este figurat printr-o săgeată de amplitudine x[n].)Filtrul continuu H tj (Ω) este un filtru trece-jos ideal cu banda de trecere [0, Ω N ],i.e.{T, pentru |ω| ≤ ΩN ,H tj (Ω) =(3.9)0, pentru |ω| > Ω N .Demonstrăm în continuare corectitudinea schemei din figura 3.5. Notând h tj (t)răspunsul la impuls al acestui filtru şi ţinând seama de (3.8), putem scriex a (t) =∫ ∞−∞x i (τ)h tj (t − τ)dτ =Prin identificare cu (3.7) rezultă imediat∞∑n=−∞x[n]h tj (t − nT ). (3.10)h tj (t) = sin(πt/T ) , (3.11)πt/Tcare este într-adevăr răspunsul la impuls al filtrului ideal (3.9); vezi PR3.2.1.Răspunsul la impuls (3.11) are suport infinit bilateral, ceea ce se vede şi dinrelaţia (3.7), care descrie modul de refacere a semnalului analogic din cel eşantionat.Aşadar, convertorul numeric-analogic ideal are doar importanţă teoretică. În practică,se folosesc scheme simple care aproximează comportarea CNA din figura 3.5.


72 CAPITOLUL 3. EŞANTIONAREx[n]Formatorx i (t) Filtru x a (t)✲ ✲ trece-jos ideal ✲de impulsuriH tj (Ω)Figura 3.5: Convertorul numeric-analogic ideal.x[n]x i(t)......1 2 3 4nT 2T 3T 4TtFigura 3.6: Funcţionarea formatorului de impulsuri din figura 3.5. Stânga: semnaluldiscret de intrare. Dreapta: semnalul analogic de ieşire.Interpolare de ordinul zero. Un mijloc simplu de transformare a unui semnal discret(eşantionat) x[n] într-unul analogic, respectând relaţia (3.2), este de a menţinesemnalul constant pe durate egale cu perioada de eşantionare T , ca în figura 3.7.Semnalul obţinut estex 0 (t) = x[⌊t/T ⌋], (3.12)unde ⌊·⌋ este funcţia parte întreagă cu rotunjire inferioară. Se observă imediatcă x 0 (t) = x[n] pentru t ∈ [nT, (n + 1)T ). Semnalul x 0 (t) este o aproximare asemnalului analogic x a (t), refăcut ideal ca în (3.7). Pentru a avea o imagine înfrecvenţă a calităţii aproximării, înlocuim, în figura 3.5, filtrul ideal H tj (Ω), cuun filtru H 0 (Ω), astfel încât la ieşire să se obţină semnalul x 0 (t). Notând h 0 (t)răspunsul la impuls al filtrului H 0 (Ω), prin analogie cu (3.10) rezultăx 0 (t) =∞∑n=−∞x[n]h 0 (t − nT ).Această relaţie trebuie să fie identică cu (3.12), i.e. răspunsul la impuls este (vezifigura 3.8){1, pentru t ∈ [0, T ),h 0 (t) =(3.13)0, altfel.


3.2. CONVERSIE NUMERIC-ANALOGIC 73Răspunsul în frecvenţă esteH 0 (Ω) =∫ T0e −jΩt dt = 2 sin(ΩT/2) e −jΩT/2 . (3.14)ΩAmplitudinea răspunsului, |H 0 (Ω)|, este desenată în dreapta figurii 3.8. Se observăcaracterul trece-jos al răspunsului, care aproximează grosier răspunsul ideal (3.9).Desigur, alegerea altor filtre în locul lui H 0 (Ω) poate furniza aproximări mai bune.Un exemplu este interpolatorul de ordinul unu, descris în problema PR3.2.2.x 0(t)... ...tnT(n+1)TFigura 3.7: Funcţionarea unui interpolator de ordin zero.h 0(t)|H 0(Ω)|1TTt2π/T4π/TΩFigura 3.8: Filtrul de interpolare de ordinul zero: răspunsul la impuls (stânga) şiamplitudinea răspunsului în frecvenţă.


74 CAPITOLUL 3. EŞANTIONAREProbleme rezolvatePR 3.2.1 Demonstraţi că răspunsul la impuls al filtrului trece-jos ideal (3.9) areforma (3.11).Soluţie. Aplicând transformata Fourier inversă (în timp continuu), obţinemh tj (t) = 1 ∫ ∞H(Ω)e jΩt dΩ = T ∫ ΩNe jΩt dΩ2π −∞ 2π −Ω NÎnlocuind Ω N = π/T rezultă (3.11).=∣T ∣∣∣Ω N2πjt ejΩt = sin(Ω N t)−Ω Nπt/T . (3.15)PR 3.2.2 (Interpolare de ordinul unu) Un semnal discret x[n] poate fi transformatîntr-unul continuu x 1 (t), prin interpolare de ordinul unu, aşa cum se aratăîn figura 3.9, unind cu segmente de dreaptă valorile semnalului discret. Semnalulobţinut estex 1 (t) =(t − nT )x[n + 1] + ((n + 1)T − t)x[n], t ∈ [nT, (n + 1)T ). (3.16)TProcedând analog cu cazul interpolării de ordinul zero şi notând H 1 (Ω) filtrul careaproximează filtrul ideal H tj (Ω) din figura 3.5, demonstraţi că răspunsul la impulsal filtrului este{1 − |t|/T, pentru |t| ≤ T ,h 1 (t) =(3.17)0, altfel,iar răspunsul în frecvenţă esteH 0 (Ω) = 4 sin2 (ΩT/2)T Ω 2 = 1 T |H 0(Ω)| 2 , (3.18)unde H 0 (Ω) este răspunsul în frecvenţă (3.14) al interpolatorului de ordin zero. Celedouă răspunsuri sunt ilustrate în figura 3.10.Apreciaţi calitatea interpolatorului de ordin unu (comparativ cu cel de ordinzero) şi comentaţi eventuale dificultăţi de implementare.Soluţie. Expresia (3.17) a răspunsului la impuls se demonstrează identificânddefiniţia (3.16) a interpolatorului, rescrisă astfelx 1 (t) = 1 {(t − (n + 1)T + T )x[n + 1] + (−t + nT + T )x[n]},Tcu relaţia (analoagă cu (3.10))x 1 (t) =∞∑n=−∞x[n]h 1 (t − nT ).


3.2. CONVERSIE NUMERIC-ANALOGIC 75x 1(t)... ...nT t (n+1)TFigura 3.9: Funcţionarea unui interpolator de ordin unu.tCalculând transformata Fourier a răspunsului la impuls obţinemH 1 (Ω) =∫ T−T= 2 sin(ΩT )Ω(1 − |t|/T )e −jΩt dt = e−jΩtT−jΩ ∣ − 1−TT− 2 TUn calcul elementar arată că∫ T0∫ T0t cos(Ωt)dt = T sin(ΩT )Ω∫ T0t(e −jΩt + e −jΩt )dtt cos(Ωt)dt. (3.19)− 2 sin2 (ΩT/2)Ω 2 ,şi deci (3.18) rezultă imediat.În mod evident, interpolatorul de ordin unu are o atenuare mai bună decâtcel de ordin 0, precum şi o zonă de tranziţie mai abruptă. Pe de altă parte, aşacum era de aşteptat, avem H 1 (0) = H 0 (0) = T . Răspunsul la impuls h 1 (t) aratăcă interpolatorul de ordin 1 este necauzal. Totuşi, introducând o întârziere T , eldevine cauzal şi poate fi astfel implementat.Probleme propusePP 3.2.1 Construim un interpolator de ordinul zero înlocuind relaţia de funcţionare(3.12) cux 0 (t) = x[[t/T ]],unde [·] este partea întreagă prin rotunjire (la cel mai apropiat întreg). Desenaţi unexemplu de funcţionare a acestui interpolator. Calculaţi răspunsurile lui la impulsşi în frecventă.


76 CAPITOLUL 3. EŞANTIONARE|H 1(Ω)|h (t) 11T−TTt2π/T4π/TΩFigura 3.10: Filtrul de interpolare de ordinul unu: răspunsul la impuls (stânga) şiamplitudinea răspunsului în frecvenţă.PP 3.2.2 Fie interpolatorul care, având la intrare semnalul discret x[n], are ieşireax m (t) = 1 (x[⌊t/T ⌋] + x[⌊t/T − 1⌋]) .2Desenaţi un exemplu de funcţionare a acestui interpolator. Calculaţi răspunsurilelui la impuls şi în frecventă. Poate fi el un interpolator util ? Comparaţi-l cuinterpolatorul de ordinul zero.


Capitolul 4Proiectarea filtrelorÎn acest capitol vom prezenta mai multe metode de proiectare a filtrelor FIR şi IIR.Toate aceste metode pornesc de la specificarea caracteristicilor de frecvenţă dorite şigăsesc coeficienţii filtrului care satisface specificaţiile sau se apropie suficient de multde ele. Ordinul filtrului este de obicei fixat dinainte. Vom presupune permanent căfiltrele au coeficienţi reali.Prima secţiune prezintă moduri posibile de specificare a performanţelor. Următoarelesecţiuni conţin metode de proiectare—întâi pentru filtrele FIR, apoi pentrucele IIR—şi sunt relativ independente.4.1 Specificarea performanţelorÎn general, un filtru trebuie să lase să treacă—pe cât posibil nemodificate—semnalede anumite frecvenţe, şi să taie—dacă se poate complet—semnalele cu alte frecvenţe.Un interval de frecvenţe [ω 1 , ω 2 ] se numeşte bandă de trecere dacă semnalele sinusoidalecu aceste frecvenţe sunt aproape nealterate de filtru; un astfel de intervalse numeşte bandă de oprire (de tăiere, de stop) dacă semnalele cu aceste frecvenţesunt tăiate sau mult atenuate de filtru. Răspunsul în frecvenţă al unui filtru estedeci |H(e jω )| ≈ 1, pentru frecvenţe ω din banda de trecere şi |H(e jω )| ≈ 0, pentrufrecvenţe ω din banda de oprire. Faza filtrului nu este considerată în denumirile demai sus; de obicei, se preferă filtrele cu fază liniară.Filtrele ideale prezentate în figura 4.1 dau o imagine perfectă a funcţiei unuifiltru, iar denumirile lor sunt sugestive: trece-jos, trece-sus, trece-bandă, opreştebandă.(Prototipuri mai complicate, în care există cel puţin două benzi de trecereşi două de tăiere, apar uneori în practică, dar mult mai rar decât cele simple dinfigură.) Aşa cum am văzut în capitolul anterior, filtrele ideale nu pot fi implementate,nefiind cauzale, deci nu sunt utile ca atare. Problemele de proiectareutilizează specificaţii care aproximează filtrele ideale. Prezentăm mai jos cele maicomune specificaţii, utilizând numai filtre de tip trece-jos. Extensia la celelaltetipuri se face în general banal.Răspuns cu toleranţe fixate. Figura 4.2 prezintă specificaţiile de proiectare pentruun filtru trece-jos, în care se fac două feluri de aproximări:77


78 CAPITOLUL 4. PROIECTAREA FILTRELOR11ωωω tπω tπ11ωωω 1ω 2πω 1ω 2πFigura 4.1: Caracteristicile de frecvenţă (amplitudine) ale filtrelor ideale: trece-jos,trece-sus, trece-bandă, opreşte bandă.• Răspunsul în frecvenţă este precizat cu toleranţe, în sensul că se permite oabatere maximă a amplitudinii de la valorile ideale 1 în banda de trecere şi 0în banda de oprire. Toleranţele sunt ∆ b în banda de trecere [0, ω b ] şi ∆ s înbanda de oprire [ω s , π]; valorile acestor toleranţe constituie date de proiectare.• În afară de benzile de trecere şi de oprire, răspunsul în frecvenţă conţine şi obandă de tranziţie (ω b , ω s ), în care valoarea amplitudinii este indiferentă.Problema de proiectare poate fi formulată în felul următor:F TOL. Dându-se frecvenţele ω b şi ω s şi toleranţele ∆ b şi ∆ s , să se găseascăun filtru care satisface cerinţele din figura 4.2. Filtrul poate avea ordin dat sause poate dori un filtru de ordin cât mai mic într-o clasă dată (FIR, eventualcu fază liniară, sau IIR).În problema de mai sus, un filtru este declarat soluţie dacă răspunsul său seîncadrează în toleranţele stabilite. Nu există nici un criteriu de departajare asoluţiilor în afară de ordin. Totuşi, chiar dispunând de o metodă de rezolvare aproblemei F TOL, nu avem garanţia că o altă metodă n-ar furniza un filtru deordin mai mic. Metodele prin care un filtru este găsit ca soluţie a unei probleme deoptimizare elimină defectul de mai sus.Proiectare prin optimizare. Se fixează ca obiectiv o caracteristică de frecvenţă,numită răspuns dorit. De exemplu, admiţând o bandă de tranziţie, pentru un filtru


4.1. SPECIFICAREA PERFORMANŢELOR 791+∆ b11−∆ b∆ sωω bω sπFigura 4.2: Caracteristică de frecvenţă (amplitudine) cu toleranţe şi exemplu derăspuns care satisface specificaţiile.trece-jos răspunsul dorit poate fiD(ω) ={1, pentru ω ∈ [0, ωb ],0, pentru ω ∈ [ω s , π].(4.1)Ne mărginim căutarea la o clasă de filtre de ordin M, notată C(M) (de exemplu,filtre FIR cu fază liniară, cu coeficienţi simetrici, deci de tip I sau II). Dorim săgăsim filtrul al cărui răspuns în frecvenţă H(ω) este cel mai apropiat de D(ω), pemulţimea de frecvenţe F = [0, ω b ]∪[ω s , π]. (În general, F este reuniunea benzilor detrecere şi de oprire; sau, F este diferenţa dintre intervalul complet [0, π] şi benzilede tranziţie în care răspunsul filtrului nu se ia în considerare.) Distanţa între douărăspunsuri se măsoară utilizând o normă în spaţiul funcţiilor definite pe F. Uzualesunt normele 2 şi infinit, pentru care obţinem problemele de proiectare următoare.F OPT2. Dându-se un răspuns dorit D(ω) pe o mulţime de frecvenţe F ∈[0, π], e.g. (4.1), şi o clasă de filtre C(M), să se găsească filtrul H(z) din clasaC(M) al cărui răspuns în frecvenţă H(ω) este cel mai aproape în amplitudinede D(ω), în norma 2, i.e.∫minH∈C(M)ω∈F[D(ω) − |H(ω)|] 2 dω. (4.2)F OPTINF. Dându-se un răspuns dorit D(ω) pe o mulţime de frecvenţeF ∈ [0, π] şi o clasă de filtre C(M), să se găsească filtrul H(z) din clasa C(M)al cărui răspuns în frecvenţă H(ω) este cel mai aproape în amplitudine de


80 CAPITOLUL 4. PROIECTAREA FILTRELORD(ω), în norma infinit, i.e.min max |D(ω) − |H(ω)||. (4.3)H∈C(M) ω∈FObservaţia 4.1 Proiectarea unui filtru prin rezolvarea problemei F OPT2 se mainumeşte şi proiectare în sensul celor mai mici pătrate (CMMP). Rezolvarea problemeiF OPTINF se numeşte şi proiectare în sens Chebyshev (citiţi Cebâşev).Observaţia 4.2 Prin min H∈C(M) înţelegem minimizare după parametrii funcţieide transfer H(z). De obicei, aceştia sunt chiar coeficienţii lui H(z). De exemplu,dacă impunem ca H(z) să fie un filtru FIR cu fază liniară de tip I, de grad M,atunci variabilele problemei de optimizare sunt cei M/2+1 coeficienţi independenţidin (2.34), iar H(ω) are forma (2.35).Observaţia 4.3 Soluţiile problemei F OPTINF au o alură specifică: eroarea|D(ω) − |H(ω)|| (între răspunsul dorit şi cel obţinut efectiv) maximă este atinsăpentru mai multe frecvenţe. Un exemplu de astfel de filtru de ordin M = 16, esteprezentat în figura 4.3; răspunsul dorit are forma (4.1), cu ω b = 0.25π, ω s = 0.4π.Atât în banda de trecere, cât şi în cea de oprire, ondulaţiile răspunsului au înălţimiegale. De altfel, un filtru ca acela din figura 4.3 se mai numeşte filtru cu ondulaţiiegale (equiripple). (Terminologia grafică poate fi completată după cum urmează.Răspunsul din figură are mai mulţi lobi, care se văd clar în graficul din dreapta,în care amplitudinea este reprezentată în dB; cel corespunzător benzii de trecerese numeşte lob principal, iar cei din banda de oprire se numesc lobi laterali. Încazul soluţiei unei probleme F OPTINF, lobul principal are ondulaţii egale, iarlobii laterali au înălţimi egale.)Spre deosebire, o soluţie în sens CMMP arată ca în figura 4.4, unde am considerataceleaşi date de proiectare ca mai sus. Se observă că primul lob lateral este maiînalt. (În general, lobii din apropierea benzilor de tranziţie sunt mai înalţi.) Deasemenea, ondulaţiile lobului principal sunt inegale.Observaţia 4.4 În formulările problemelor F OPT2 şi F OPTINF, importanţaerorii D(ω) − |H(ω)| este aceeaşi pentru toate frecvenţele. Pentru a avea erori maimici în anumite zone (de exemplu în banda de oprire), se poate introduce e.g. în(4.2) o funcţie de ponderare p(ω) > 0, astfel încât problema de optimizare să fie∫p(ω)[D(ω) − |H(ω)|] 2 dω. (4.4)minH∈C(M)ω∈FObservaţia 4.5 În problemele F OPT2 şi F OPTINF se optimizează doar amplitudinearăspunsului în frecvenţă al filtrului H(z). Pentru a optimiza întregulrăspuns în frecvenţă, se alege un răspuns dorit D c (ω) complex 1 şi se înlocuieşte e.g.(4.2) cu∫min |D c (ω) − H(ω)| 2 dω. (4.5)H∈C(M) ω∈F1 Pentru a evidenţia mulţimea în care ia valori răspunsul dorit, vom nota întotdeauna în felulurmător: D(ω) este un răspuns pozitiv, D r (ω) este real, iar D c (ω) este complex.


4.1. SPECIFICAREA PERFORMANŢELOR 8110 dBω bω s πωωω bω sπFigura 4.3: Amplitudinea răspunsului în frecvenţă al soluţiei unei problemeF OPTINF (stânga: adimensional; dreapta: dB).10 dBω bω s πωωω bω sπFigura 4.4: Amplitudinea răspunsului în frecvenţă al soluţiei unei problemeF OPT2 (stânga: adimensional; dreapta: dB).


82 CAPITOLUL 4. PROIECTAREA FILTRELORPunerea în acest fel a problemei este utilă în special pentru filtrele IIR. Răspunsurilecomplexe sunt necesare în special pentru a asigura liniaritatea fazei; pentru filtreleFIR, aceasta cerinţă este îndeplinită prin impunerea (anti)simetriei coeficienţilorfiltrului.Optimizare pe o mulţime discretă de frecvenţe. Pentru simplificarea calculelor,problemele F OPT2 şi F OPTINF pot fi tratate aproximativ, în sensul că mulţimeacontinuă de frecvenţe F se înlocuieşte cu o grilă discretă de frecvenţe G L ⊂ Favând L puncte (în practică L este de ordinul zecilor sau, mai degrabă, sutelor).De obicei frecvenţele ω k ∈ G L se aleg echidistante. Se obţin următoarele formulăriale problemelor de proiectare (comparaţi cu (4.2) şi (4.3)):F OPT2D. Dându-se un răspuns dorit D(ω), mulţimea de frecvenţe discreteG L = {ω 1 , . . . , ω L } şi o clasă de filtre C(M), să se rezolve1minH∈C(M) LL∑[D(ω k ) − |H(ω k )|] 2 . (4.6)k=1F OPTINFD. Dându-se un răspuns dorit D(ω), mulţimea de frecvenţe discreteG L = {ω 1 , . . . , ω L } şi o clasă de filtre C(M), să se rezolvemin max |D(ω k) − |H(ω k )||. (4.7)H∈C(M) k=1:LFactorul 1/L din (4.6) a fost pus pentru a sublinia faptul că aproximăm prindiscretizare integrala definită din (4.2).Probleme rezolvatePR 4.1.1 Să presupunem că dispunem de o procedură care rezolvă problema F TOLpentru filtre FIR, în sensul următor: dându-se ordinul M al filtrului, procedura fiegăseşte un filtru de acest ordin care satisface cerinţele problemei, fie raportează cănu există un astfel de filtru.Indicaţi un algoritm de apelare a procedurii astfel încât să se găsească soluţiade ordin minim (pe care o poate găsi procedura) a problemei F TOL.Soluţie 1. Se alege o valoare iniţială pentru M (după bunul simţ al proiectantului!). Dacă procedura de rezolvare a F TOL nu găseşte o soluţie, se măreşte ordinulM ← M + 1. Dacă procedura găseşte o soluţie, se micşorează ordinul M ← M − 1.Se continuă până la obţinerea soluţiei de ordin minim.Soluţie 2 (bisecţie). Se procedează ca mai sus, dar ordinul se măreşte saumicşorează cu o valoare µ > 1 (suficient de mare). În momentul în care pentruordinul M nu există soluţie, iar pentru M + µ există (deci ordinul minim este înintervalul M : M + µ), noua încercare se face cu M + µ/2. Astfel se micşoreazăintervalul de căutare la jumătate. Se continuă până când intervalul se reduce la osingură valoare.


4.2. PROIECTAREA FILTRELOR FIR PRIN METODA FERESTREI 83PR 4.1.2 Scrieţi un program Matlab care, dându-se frecvenţele ω b şi ω s , calculeazăL frecvenţe echidistante care acoperă mulţimea F = [0, ω b ] ∪ [ω s , π]. Capeteleintervalelor fac parte din cele L frecvenţe.Soluţie. Formulată astfel, problema este în general imposibil de rezolvat ! Obună aproximaţie este însă dată de următoarea funcţie Matlab, în care intervalelor[0, ω b ] şi [ω s , π] li se alocă un număr (în mod necesar întreg) de frecvenţe discreteproporţional cu lungimea lor.function w = frecv_echid( wb, ws, L )Lb = floor( wb / (wb+pi-ws) * L );Ls = L - Lb - 1;Lb = Lb - 1;w = [ 0 : wb/Lb : wb, ws : (pi-ws)/Ls : pi ];Generalizarea la o reuniune oarecare de intervale este banală.Probleme propusePP 4.1.1 Verificaţi dacă filtrul H(z) = 0.1 + 0.2z −1 + 0.2z −2 + 0.2z −3 + 0.2z −4 +0.1z −5 satisface cerinţele răspunsului cu toleranţe din figura 4.2, cu ω b = 0.15π,ω s = 0.35π, ∆ b = 0.25, ∆ s = 0.15.PP 4.1.2 Scrieţi problema de optimizare ce rezultă dacă în (4.3) se introduce ofuncţie de ponderare p(ω). Cu referire la filtrul trece-jos, introducem pondereap(ω) ={1, pentru ω ∈ [0, ωb ],5, pentru ω ∈ [ω s , π].Ce relaţie este între eroarea maximă din banda de oprire şi cea din banda de trecere ?Desenaţi un răspuns în frecvenţă care să fie o soluţie plauzibilă a unei probleme (4.3)cu ponderea de mai sus.PP 4.1.3 Arătaţi că prin rezolvarea unor probleme F OPTINF se poate aflaîntotdeauna soluţia FIR de ordin minim a unei probleme F TOL. Cum trebuiealese ponderile în F OPTINF pentru atingerea acestui scop ?PP 4.1.4 Desenaţi amplitudinea răspunsului în frecvenţă a soluţiilor unor (ipotetice)probleme F OPTINF şi F OPTINFD cu aceleaşi specificaţii (i.e. acelaşiD(ω)). Arătaţi grafic de ce soluţia problemei aproximative F OPTINFD este maiproastă (e.g. are atenuare mai mică în banda de oprire) decât soluţia problemeiF OPTINF corespunzătoare.4.2 Proiectarea filtrelor FIR prin metoda ferestreiMetoda ferestrei este una dintre cele mai simple proceduri de proiectare a filtrelorFIR. Ea se bazează pe modularea în timp a unui răspuns ideal cu un semnal de tip


84 CAPITOLUL 4. PROIECTAREA FILTRELOR”fereastră”, care are suport finit. Ordinul M al filtrului se fixează în prealabil, iarfiltrul are forma generală (2.6):H(z) =Algoritmul de proiectare este următorul:M∑h[n]z −n .n=00. Date de proiectare: ordinul M al filtrului şi amplitudinea răspunsului idealîn frecvenţă care trebuie aproximat; de exemplu, pentru un filtru trece-jos, seprecizează frecvenţa ω t care delimitează benzile de trecere şi de oprire.1. Se ia întârzierea de grup n 0 = M/2 şi se calculează răspunsul la impulsal filtrului ideal. De exemplu, pentru un filtru trece-jos, răspunsul ideal înfrecvenţă este (2.32){H id (e jω e−jωn 0, dacă |ω| ≤ ω) =t ,0, dacă ω t < |ω| ≤ π,iar răspunsul la impuls este (2.33)h id [n] = sin ω t(n − n 0 ).π(n − n 0 )2. Se alege o fereastră f[n] cu suport 0 : M.3. Se calculează coeficienţii filtrului FIR modulând în timp răspunsul ideal h id [n]cu fereastra f[n], i.e. prin relaţia h[n] = h id [n] · f[n], n = 0 : M. Eventual,se înmulţesc toţi coeficienţii h[n] cu o constantă potrivit aleasă (de exempluastfel încât H(1) = ∑ Mn=0h[n] = 1).Observaţia 4.6 După aplicarea algoritmului se trasează răspunsul în frecvenţă alfiltrului FIR obţinut şi se verifică dacă este convenabil (de exemplu, dacă satisfacecondiţiile impuse de o problemă F TOL). Dacă nu este convenabil, se poate măriordinul M sau se poate alege o altă fereastră f[n].Observaţia 4.7 Răspunsul în frecvenţă al filtrelor ideale (cu benzi de trecere şide oprire) are fază strict liniară; de aceea, răspunsul ideal la impuls h id [n] esteîntotdeauna simetric faţă de n 0 , vezi problema PP2.5.3. În consecinţă, dacăcoeficienţii ferestrei f[n] sunt simetrici în raport cu mijlocul M/2 al suportului0 : M, atunci H(z) rezultă un filtru cu fază liniară de tip I sau II. Un filtru cu fazăneliniară ar rezulta dacă s-ar alege o întârziere n 0 ≠ M/2.Observaţia 4.8 Alegerea ferestrei. Răspunsul în frecvenţă al filtrului H(z) poatefi scris în funcţie de răspunsurile în frecvenţă ale filtrului ideal şi ferestrei conformcu (1.23), i.e.H(e jω ) = 1 ∫ πH id (e jθ )F (e j(ω−θ) )dθ.2π −π


4.2. PROIECTAREA FILTRELOR FIR PRIN METODA FERESTREI 85Pentru ca H(e jω ) să fie cât mai aproape de H id (e jω ), e necesar ca F (e jω ) să fieo aproximaţie cât mai bună a impulsului unitate (continuu) δ(ω). (Cerinţele cafereastra să aibă suport finit în timp şi ca spectrul ei să fie cât mai concentrat înjurul frecvenţei ω = 0 sunt contradictorii; vom prezenta mai târziu principiul deincertitudine privind localitatea în timp şi frecvenţă.)Ferestre uzualeFereastra dreptunghiulară, cea mai simplă fereastră, ilustrată în figura 4.5, estedefinită de{1, dacă 0 ≤ n ≤ M,f d [n] =(4.8)0, altfel.Aplicarea ferestrei dreptunghiulare înseamnă trunchierea răspunsului ideal h id [n].Aşa cum am văzut în problema PR1.2.4, această trunchiere dă naştere fenomenuluiGibbs, deci |H(e jω )| are oscilaţii mari în apropierea frecvenţelor de tranziţie alerăspunsului ideal în frecvenţă (e.g. în apropierea frecvenţei ω = ω t pentru un filtrutrece-jos).Ferestrele mai eficiente prezentate mai jos au valori mai mici la marginea suportului,tocmai pentru a preveni fenomenul Gibbs.Fereastra triunghiulară (Bartlett) (figura 4.5):⎧⎨ 2n/M, dacă 0 ≤ n ≤ M/2,f t [n] = 2 − 2n/M, dacă M/2 ≤ n ≤ M,(4.9)⎩0, altfel.Fereastra Hanning are forma{0.5 − 0.5 cos(2πn/M), dacă 0 ≤ n ≤ M,f Hann [n] =0, altfel.Se observă că pentru aceste două ferestre eşantioanele extreme sunt nule, i.e. f[0] =f[M] = 0, ceea ce micşorează suportul ferestrei. De aceea, forma utilizată în practicăa ferestrei Hanning este (figura 4.6):{0.5 − 0.5 cos(2πn+1f Hann [n] =M+2), dacă 0 ≤ n ≤ M,0, altfel.Fereastra Hamming (figura 4.6):{0.54 − 0.46 cos(2πn/M), dacă 0 ≤ n ≤ M,f Hamm [n] =0, altfel.Fereastra Blackman (figura 4.7):{0.42 − 0.5 cos(2πn/M) + 0.08 cos(4πn/M), dacă 0 ≤ n ≤ M,f B [n] =0, altfel.Fereastra Kaiser (figura 4.7):{ √ I 0(β 1−[(n−n 0)/n 0] 2 )f B [n] =I 0(β), dacă 0 ≤ n ≤ M,0, altfel,(4.10)(4.11)(4.12)(4.13)


86 CAPITOLUL 4. PROIECTAREA FILTRELOR1.21.2110.80.80.60.60.40.40.20.200−0.2−5 0 5 10 15 20−0.2−5 0 5 10 15 20Figura 4.5: Ferestre dreptunghiulară (stânga) şi triunghiulară (dreapta), pentruM = 16.1.21.2110.80.80.60.60.40.40.20.200−0.2−5 0 5 10 15 20−0.2−5 0 5 10 15 20Figura 4.6: Ferestre Hanning (stânga) şi Hamming (dreapta), pentru M = 16.unde I 0 (·) este funcţia Bessel de ordinul zero modificată. Parametrul β permitevarierea proprietăţilor ferestrei; pentru β = 0 se obţine fereastra dreptunghiulară.Proprietăţile în frecvenţă ale ferestrelor sunt discutate în problema PR4.2.2.Pentru filtrele simple, e.g. de tip trece-jos, există unele metode empirice dealegere a ordinului M şi, pentru fereastra Kaiser, a parametrului β, astfel încât săse obţină soluţia unei probleme F TOL (sau o bună aproximare a acesteia). Nuvom discuta aceste metode; vezi mai departe funcţiile Matlab dedicate acestui scop.Probleme rezolvatePR 4.2.1 Folosind metoda ferestrei, proiectaţi filtre FIR trece-jos de ordin M =16, cu frecvenţa de tăiere ω t = 0.4π folosind toate tipurile de ferestre descrise înaceastă secţiune. Comparati caracteristicile de frecvenţă ale filtrelor obţinute şievaluaţi calităţile lor.Calculaţi care sunt valorile ∆ b şi ∆ s ale unor probleme de tip F TOL, în careprototipul este un filtru trece-jos cu ω b = 0.3π şi ω s = 0.5π, iar soluţiile sunt filtrele


4.2. PROIECTAREA FILTRELOR FIR PRIN METODA FERESTREI 871.21.2110.80.80.60.60.40.40.20.200−0.2−5 0 5 10 15 20−0.2−5 0 5 10 15 20Figura 4.7:M = 16.Ferestre Blackman (stânga) şi Kaiser (dreapta, cu β = 3), pentruFIR obţinute mai sus. Ce filtru dă cele mai mici valori pentru toleranţele ∆ b şi ∆ s ?Soluţie. Prezentăm amplitudinea răspunsurilor în frecvenţă ale filtrelor FIRobţinute cu ferestrele dreptunghiulară, Hamming şi Blackman în figura 4.8, şi pecele obţinute cu fereastra Kaiser în figura 4.9, pentru trei valori ale parametrului β,anume 1, 2.1 şi 3. Filtrele au fost obţinute cu funcţia fir1 din Matlab (Signal ProcessingToolbox); toate filtrele sunt normate astfel încât H(1) = 1, i.e. amplificareasemnalelor constante este unitară. Se observă că unele filtre (e.g. pentru fereastrădreptunghiulară sau fereastră Kaiser cu β mic) au erori mari în benzile de trecereşi oprire, dar o bandă de tranziţie mai îngustă. Altele (e.g. Blackman sau Kaisercu β mare) au erori mici şi deci o atenuare mare în banda de oprire, dar bandade tranziţie mai lată. Filtrul cel mai bun este de fapt cel potrivit cerinţelor uneiprobleme de proiectare (nespecificate aici).În tabelul 4.1 sunt prezentate toleranţele problemelor F TOL ale căror soluţiisunt filtrele proiectate. Cel mai bun rezultat a fost obţinut cu o fereastră Kaiser cuβ = 2.1. (În general, metoda ferestrei este destul de incomodă pentru rezolvareaunor probleme cu specificaţii precise. Ea este mai potrivită când specificaţiile suntvagi şi optimalitatea soluţiei nu este necesară.)PR 4.2.2 Să se traseze caracteristicile de frecvenţă ale ferestrelor (4.8–4.13), pentruM = 16. Pentru fereastra Kaiser se vor alege mai multe valori ale parametruluiβ. Comentaţi şi comparaţi proprietăţile în frecvenţă ale ferestrelor.Soluţie. Prezentăm în figurile 4.10 şi 4.11 amplitudinea răspunsurilor în frecvenţăale ferestrelor utilizate în problema anterioară (cu alte valori ale parametrului β pentrufereastra Kaiser). Se observă că toate răspunsurile au un lob principal şi maimulţi lobi laterali. În general, lăţimea lobului principal şi înălţimea lobilor secundarisunt în relaţie inversă, i.e. un lob principal lat e însoţit de lobi laterali puţinînalţi. Compromisul cel mai bun depinde de aplicaţie.Note: 1. Răspunsurile au fost normate astfel încât amplitudinea la frecvenţănulă să fie unitară. 2. Generarea răspunsurilor a fost făcută cu funcţiile Matlabprezentate mai jos.


88 CAPITOLUL 4. PROIECTAREA FILTRELOR1.21001−10−200.8−30Amplitudine0.6Amplitudine (dB)−40−500.4−60−700.2−80−9000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata−1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.8: Caracteristici de frecvenţă ale unor filtre FIR obţinute prin metoda ferestrei,cu M = 16 şi ω t = 0.4π, utilizând ferestre dreptunghiulară (linie întreruptă),Hamming (linie continuă) şi Blackman (linie-punct). În stânga, amplificarea esteadimensională, iar în dreapta în decibeli.1.21010−100.8Amplitudine0.6Amplitudine (dB)−20−300.4−400.2−5000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.9: Caracteristici de frecvenţă ale unor filtre FIR obţinute prin metoda ferestrei,cu M = 16 şi ω t = 0.4π, utilizând ferestre Kaiser cu β = 1 (linie întreruptă),β = 2.1 (linie continuă) şi β = 3 (linie-punct).Fereastra drept. Hanning Hamming Blackman Kaiser Kaiser Kaiserβ = 1 β = 2.1 β = 3∆ b 0.057 0.116 0.130 0.194 0.047 0.0336 0.068∆ s 0.103 0.119 0.131 0.197 0.078 0.0336 0.060Tabelul 4.1: Abateri de la răspunsul optim (ω b = 0.3π, ω s = 0.5π) pentru filtre FIRde ordin M = 16, proiectate prin metoda ferestrei.


4.2. PROIECTAREA FILTRELOR FIR PRIN METODA FERESTREI 89100−10−20−30Amplitudine (dB)−40−50−60−70−80−90−1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.10: Caracteristici de frecvenţă ale ferestrelor dreptunghiulară (linieîntreruptă), Hamming (linie continuă) şi Blackman (linie-punct), pentru M = 16.100−10−20−30Amplitudine (dB)−40−50−60−70−80−90−1000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.11: Caracteristici de frecvenţă ale ferestrelor Kaiser cu β = 1 (linieîntreruptă), β = 3 (linie continuă) şi β = 5 (linie-punct), pentru M = 16.


90 CAPITOLUL 4. PROIECTAREA FILTRELORPR 4.2.3 Considerăm fereastra triunghiulară simetrică faţă de origine (pentru simplificareacalculelor){f[n] = 1 −|n|M, dacă |n| ≤ M − 1,0, altfel.(4.14)Demonstraţi că transformata sa Fourier are formaF (ω) = 1 M[ ] 2 sin(ωM/2). (4.15)sin(ω/2)Funcţia F (ω) se numeşte nucleul Fejer (şi, remarcabil, este pozitivă).Soluţie. Folosind definiţia (1.10) putem scrieF (ω) =M−1∑n=−M+1(1 − |n| )e −jωn .MObservăm acum că F (ω) este de fapt suma elementelor unei matrice Toeplitz cue −jωn pe diagonala n (diagonala principală este numerotată cu 0); în consecinţăobţinemF (ω) = 1 MM∑i=1 l=1M∑e −jω(i−l) = 1 M∣M∑ ∑Me −jωi e jωl = 1 M∑ ∣∣∣∣2e jωn .M ∣i=1l=1Calculând suma progresiei geometrice se obţine (4.15).n=1Probleme propusePP 4.2.1 Ce semnal are transformata Fourier egală cu impulsul δ(ω) ? De ce nupoate fi acest semnal o fereastră ?PP 4.2.2 Poate avea un semnal fereastră coeficienţii antisimetrici (în raport cumijlocul suportului) ?PP 4.2.3 Utilizând metoda ferestrei, proiectaţi un filtru FIR cu M = 20, pornindde la răspunsul idealH id (e jω ) ={1, dacă |ω| ≤ π/2,1/2, dacă π/2 < |ω| ≤ π.PP 4.2.4 Modificaţi fereastra triunghiulară (4.9) astfel încât să nu aibă eşantioanenule la extremităţi (i.e. f[0] = f[M] ≠ 0). Aceeaşi problemă pentru fereastraBlackman.


4.3. PROIECTAREA FILTRELOR FIR ÎN SENS CMMP 91Ghid MatlabUn filtru FIR trece-jos se proiectează cu metoda ferestrei prin apelul>> h = fir1(M, wt)unde M este ordinul filtrului iar wt frecvenţa de tăiere (normalizată) a filtrului ideal(2.32). (Frecvenţele au valori normalizate în toate apelurile funcţiilor Matlab deproiectare a filtrelor.) Implicit, funcţia fir1 utilizează o fereastră de tip Hamming(4.11). De exemplu, pentru obţinerea filtrului din problema PR4.2.1, cu răspunsulîn frecvenţă din figura 4.8 (fereastră Hamming), a fost folosit apelul>> h = fir1(16, 0.4)Aceeaşi funcţie se poate utiliza pentru proiectarea unui filtru trece-sus, cu apelul>> h = fir1(M, wt, ’high’)sau pentru filtre trece-bandă etc. cu moduri de apel dezvăluite cititorului interesatde comanda help fir1. Precizarea ferestrei se face cu apelul>> h = fir1(M, wt, f)unde f este semnalul fereastră. O fereastră de lungime N = M +1 poate fi generatăcu>> f = boxcar(N)>> f = triang(N)>> f = hanning(N)>> f = hamming(N)>> f = blackman(N)>> f = kaiser(N, beta)obţinându-se, în ordine, ferestrele dreptunghiulară, triunghiulară, Hanning, Hamming,Blackman şi Kaiser (cu parametrul β).Funcţia kaiserord întoarce parametrii necesari rezolvării (aproximative a) uneiprobleme F TOL cu un apel la fir1, utilizând o fereastră Kaiser.4.3 Proiectarea filtrelor FIR în sens CMMPCazul general: filtre fără restricţie de fazăNe ocupăm acum de proiectarea filtrelor FIR în sensul celor mai mici pătrate prinrezolvarea problemei F OPT2 în varianta cea mai generală, în care• criteriul de optimizare este (4.5), i.e. răspunsul dorit D c (ω) este complex;• nu există nici o restricţie asupra coeficienţilor filtrului H(z) (e.g. de tip fazăliniară); aşadar C(M) din (4.5) este mulţimea tuturor filtrelor FIR de ordinM.Răspunsul în frecvenţă al filtrului H(z), de ordin M fixat, poate fi scris în formaH(e jω ) =M∑h[n]e −jωn = h T e(ω), (4.16)n=0


92 CAPITOLUL 4. PROIECTAREA FILTRELORundeh = [ h[0] h[1] . . . h[M] ] T ∈ R M+1 (4.17)este vectorul coeficienţilor filtrului (care reprezintă variabilele problemei de optimizare),iare(ω) = [1 e −jω . . . e −jωM ] T ∈ C M+1 (4.18)este un vector cunoscut pentru orice frecvenţă ω.Pentru a rezolva problema (4.5), observăm că utilizând (4.16) obţinem|H(e jω ) − D c (ω)| 2 = [h T e(ω) − D c (ω)][e H (ω)h − D ∗ c (ω)]= h T e(ω)e H (ω)h − 2Re[e H (ω)D c (ω)]h + |D c (ω)| 2 .Mai mult, matricea⎡e(ω)e H (ω) =⎢⎣1 e jω . . . e jωMe −jω 1. ..e jω(M−1). .. . .. . .. . ..e −jωM . . . . . . 1⎤⎥ = C(ω) + jS(ω)⎦are structură Toeplitz hermitică; partea sa reală⎡1 cos(ω) . . . cos(ωM).C(ω) =cos(ω) 1 .. cos(ω(M − 1))⎢⎣. .. . .. . .. . ..cos(ωM) . . . . . . 1este o matrice Toeplitz simetrică, iar partea imaginară⎡1 sin(ω) . . . sin(ωM).S(ω) =− sin(ω) 1 ..sin(ω(M − 1))⎢⎣. .. . .. . .. . ..− sin(ωM) . . . . . . 1este o matrice Toeplitz antisimetrică. Notândg T (ω) = Re[e H (ω)D c (ω)]⎤⎥⎦⎤⎥⎦(4.19)şi observând că h T S(ω)h = 0 (vezi problema PP4.3.1), putem scrie|H(e jω ) − D c (ω)| 2 = h T C(ω)h − 2g T (ω)h + |D c (ω)| 2 .Aşadar, ignorând termenul care nu depinde de h, problema de optimizare (4.5)poate fi scrisă în forma) (∫)min h T C(ω)dω h − 2 gh∈R(∫ω∈FT (ω)dω h. (4.20)M+1 ω∈F


4.3. PROIECTAREA FILTRELOR FIR ÎN SENS CMMP 93Notăm∫P =ω∈F∫C(ω)dω, q =ω∈Fg(ω)dω, (4.21)şi reamintim că F este mulţimea frecvenţelor corespunzătoare benzilor de trecereşi de oprire, pe care se optimizează răspunsul în frecvenţă. (De exemplu, pentruun filtru trece-jos, avem F = [0, ω b ] ∪ [ω s , π].) Pentru răspunsuri dorite D c (ω)simple, matricea P şi vectorul q se pot calcula relativ uşor, fiind integrale de funcţiitrigonometrice.În final, putem scrie (4.5) în formamin h T P h − 2q T h. (4.22)h∈R M+1Aceasta este o problemă de optimizare fără restricţii, în care criteriul este pătratic.Propoziţia 4.9 Filtrul FIR reprezentând soluţia problemei de proiectare (4.5) însens CMMP esteh = P −1 q. (4.23)Demonstraţie. Deoarece e(ω)e H (ω) ≥ 0, matricea[∫]P = Re e(ω)e H (ω)dωω∈Feste pozitiv semidefinită; mai mult, de fapt avem P > 0 (dar nu demonstrăm acestlucru). Pentru a minimiza criteriul V (h) = h T P h − 2q T h al problemei (4.22),anulăm gradientul∂V (h)= 2P h − 2q,∂hde unde rezultă (4.23).deoarece HessianulAcest h corespunde într-adevăr unui punct de minim∂ 2 V (h)∂h 2= 2Peste pozitiv definit.În concluzie, algoritmul de proiectare este următorul:0. Date de proiectare: ordinul M al filtrului, răspunsul ideal în frecvenţă D c (ω)(cu valori complexe) care trebuie aproximat şi mulţimea de frecvenţe F pecare se face aproximaţia.1. Se calculează matricea P şi vectorul q din (4.21).2. Se calculează h = P −1 q.Implementarea algoritmului în cazul proiectării unui filtru trece-jos este prezentatăîn problema PR4.3.1.


94 CAPITOLUL 4. PROIECTAREA FILTRELORFiltre cu fază liniarăÎn cazul filtrelor cu fază liniară de ordin M, răspunsul în frecvenţă are formaH(e jω ) = h T c(ω)e −jωM/2 , (4.24)unde h este vectorul coeficienţilor, iar c(ω) este un vector constant pentru o frecvenţăω precizată. Pentru fiecare din cele patru tipuri de filtre cu fază liniară, vectorii auforme specifice. De exemplu, pentru filtrele de tip I, din expresia (2.35) se vede căavemh = [ h[ M 2 ] h[ M 2 − 1] . . . h[1] h[0] ]T ∈ R M 2 +1 ,c(ω) = [1 2 cos ω . . . 2 cos(ω( M 2 − 1)) 2 cos(ω M 2 ) ]T ∈ R M 2 +1 .(4.25)Deoarece faza filtrului este structural liniară, trebuie optimizată doar ”amplitudinea”h T c(ω) (care este reală, dar nu neapărat pozitivă). Pentru aceasta, alegem unrăspuns dorit D r (ω) real şi rezolvăm o problemă de optimizare similară cu (4.2),anumemin [D r (ω) − hh∫ω∈FT c(ω)] 2 dω. (4.26)Algoritmul de rezolvare este similar cu cel pentru filtre fără restricţii de fază:0. Date de proiectare: ordinul M al filtrului, tipul filtrului, răspunsul idealîn frecvenţă D r (ω) (cu valori reale) care trebuie aproximat şi mulţimea defrecvenţe F pe care se face aproximaţia.1. Se calculează matricea P şi vectorul q cu formulele∫∫P = c(ω)c T (ω)dω, q = c(ω)D r (ω)dω. (4.27)ω∈Fω∈FAtenţie, acum P nu mai este o matrice Toeplitz, ci doar una simetrică.2. Soluţia problemei (4.26) este h = P −1 q. Coeficienţii filtrului rezultă conformregulii de simetrie pentru tipul ales.Detalii de implementare şi un exemplu de proiectare sunt prezentate în problemaPR4.3.2.Rezolvarea problemei F OPT2DAtunci când răspunsul dorit (complex) D c (ω) este dat pe o mulţime discretă defrecvenţe G L = {ω 1 , . . . , ω L } problema F OPT2D are o formă identică cu (4.22),dar matricea P şi vectorul q nu sunt calculate prin integrare, ci printr-o sumă finită.Aşadar, e.g. matricea P din (4.21) se calculează prin relaţiacu matricea C(ω) ca în (4.19).P = 1 LL∑C(ω k ), (4.28)k=1


4.3. PROIECTAREA FILTRELOR FIR ÎN SENS CMMP 95În cazul filtrelor cu fază liniară, problema (4.26) se rezolvă în mod similar.Atunci când integrala care defineşte matricea P din (4.21) se poate calculaanalitic (ceea ce e cazul pentru filtrele în care amplitudinea răspunsului e constantăsau liniară în benzile de trecere), aceasta se calculează numeric mult mai uşor decâtanalogul ei discretizat (4.28). De aceea, rezolvarea unei probleme F OPT2D estepreferabilă doar atunci când răspunsul dorit D c (ω) are o formă complicată—însensul că integralele (4.21) nu au primitive uşor calculabile.Probleme rezolvatePR 4.3.1 a. Să se scrie un program Matlab pentru proiectarea în sens CMMPa filtrelor FIR trece-jos fără restricţie de fază. Datele de proiectare sunt ordinulfiltrului M şi răspunsul doritD c (ω) ={e−jωn 0, dacă |ω| ≤ ω b ,0, dacă ω s < |ω| ≤ π.(4.29)Frecvenţele ω b şi ω s , precum şi întârzierea de grup n 0 sunt date.b. Cu programul realizat anterior, să se proiecteze un filtru FIR cu următoareledate iniţiale: M = 16, ω b = 0.3π, ω s = 0.46π, n 0 = 8. Executaţi programul şipentru alte valori ale întârzierii de grup n 0 .Soluţie. a. Programul este prezentat în figura 4.12, sub formă de funcţie.(Lipsesc verificări ale validităţii argumentelor, e.g. ω b ≤ ω s , pe care cititorul esterugat să le completeze.) Pentru înţelegerea programului, precizăm că avem∫ ω2cos(nω)dω = sin(nω 2)ω 1n− sin(nω 1)n= ω 2 sinc(nω 2 ) − ω 1 sinc(nω 1 ).Matricea P din (4.21) moşteneşte structura Toeplitz a matricei C(ω) din (4.19), şicum F = [0, ω b ] ∪ [ω s , π], rezultă că elementele sale au formaω b sinc(nω b ) − ω s sinc(nω s ) + πδ[n],cu n = 0 : M; am ţinut seama că sinc(nπ) = δ[n]. (Nu uitaţi că funcţia Matlabsinc are o definiţie diferită de cea matematică (1.25).) Similar obţinem vectorul qdin (4.21), ţinând seama de expresia răspunsului dorit D c (ω) şi de faptul că bandade oprire nu contribuie la integrală.b. Exemplul de proiectare cerut a fost obţinut cu apelul opt2c tj(16,0.3,0.46,8),iar caracteristica de frecvenţă a filtrului rezultat este prezentată în figura 4.13. Filtrulare fază liniară ! Avem n 0 = M/2. (Vezi problema PR4.3.3.)Luând n 0 = 5, obţinem răspunsul din figura 4.14. Filtrul nu mai are fază liniară.Apelaţi funcţia grpdelay pentru a vedea deviaţia de la liniaritate.PR 4.3.2 a. Să se scrie un program Matlab pentru proiectarea în sens CMMP afiltrelor FIR trece-jos cu fază liniară. Pentru simplitate, se vor considera doar filtrede tip I (ordinul filtrului M este par). Răspunsul dorit este{1, dacă |ω| ≤ ωb ,D r (ω) =0, dacă ω s < |ω| ≤ π.


96 CAPITOLUL 4. PROIECTAREA FILTRELORfunction h = opt2c_tj( M, wb, ws, n0 )% Proiectare filtru FIR trece-jos in sens CMMP cu prototip complex% M - ordinul filtrului% wb, ws - frecventele (normalizate) definind benzile% de trecere, respectiv oprire% n0 - intarzierea de grup a filtrului doritT = (0:M)’;P = wb*sinc(T*wb) - ws*sinc(T*ws) + eye(size(T));P = toeplitz(P);q = wb*sinc((T-n0)*wb);h = P \ q;Figura 4.12: Funcţie Matlab pentru proiectarea în sens CMMP a filtrelor FIR trecejosfără restricţie de fază.100Amplitudine (dB)−10−20−30−40−50−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata200Faza (val.princ.)1000−100−2000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.13: Caracteristica de frecvenţă a filtrului FIR trece-jos, fără restricţii defază, optim în sens CMMP, pentru M = 16, ω b = 0.3π, ω s = 0.46π, n 0 = 8.


4.3. PROIECTAREA FILTRELOR FIR ÎN SENS CMMP 97Frecvenţele ω b şi ω s sunt date.b. Cu programul realizat anterior, să se proiecteze un filtru FIR cu următoareledate iniţiale: M = 16, ω b = 0.3π, ω s = 0.46π. Să se compare filtrul obţinut aici cucel de la problema PR4.3.1.Soluţie. a. Programul este prezentat în figura 4.15. Din (4.25) observăm căelementele matricei c(ω) · c T (ω) au forma[c(ω) · c T (ω)] ik = γ ik cos(iω) cos(kω),i, k = 0 : M/2,unde Γ = gg T , iar g = [1 2 . . . 2] T ∈ R M/2+1 . Pentru simplitate, indexăm matriceleîncepând de la zero. Pentru a calcula matricea P din (4.27), avem deci nevoie deintegrala∫ ω2ω 1cos(iω) cos(kω)dω =∫ ω21[cos(i + k)ω + cos(i − k)ω]dω =ω 12= 1 2 [ω 2sinc(i + k)ω 2 + ω 2 sinc(i − k)ω 2 − ω 1 sinc(i + k)ω 1 − ω 1 sinc(i − k)ω 1 ].Aşadar, elementul (i, k) al matricei P are expresiap ik = 1 2 {ω bsinc(i + k)ω b + ω b sinc(i − k)ω b − ω s sinc(i + k)ω s− ω s sinc(i − k)ω s + πδ[i + k] + πδ[i − k]}.Desigur, în Matlab indicii matricelor încep de la 1, de unde expresiile din program;de asemenea, atenţie, în program se utilizează frecvenţe normalizate. Calculul vectoruluiq este similar cu cel din problema anterioară. Ultima linie din programaşează coeficienţii filtrului în ordinea firească, ţinând seama de (4.25).b. Apelând funcţia din figura 4.15 cu opt2fl tj(16,0.3,0.46) obţinem exactfiltrul al cărui răspuns în frecvenţă este desenat în figura 4.13. Explicaţia acestuifapt este dată în problema următoare.PR 4.3.3 Filtrele obţinute în rezolvările celor două probleme anterioare sugereazăurmătoarea generalizare. Presupunem că răspunsul dorit (complex) are fază strictliniară şi deci putem scrie D c (ω) = |D c (ω)|e −jωn0 , ω ∈ F; un exemplu de astfel deprototip este (4.29). Căutăm filtrul FIR H(z) de ordin M = 2n 0 ∈ N reprezentândsoluţia problemei de optimizare în sens CMMP (4.5). Să se demonstreze că soluţiaproblemei este un filtru cu fază liniară, cu coeficienţi simetrici (i.e. de tip I sau II).Soluţie. Fie H(z) = ∑ Mn=0 h[n]z−n . Secvenţa h[n], care are suport finit 0 : M,se poate descompune cah[n] = h s [n] + h a [n],unde h s [n] este simetrică, iar h a [n] antisimetrică. Într-adevăr, se observă imediatcă luândh s [n] = 1 2(h[n] + h[M − n]),h a [n] = 1 2(h[n] − h[M − n]),condiţiile de mai sus sunt îndeplinite (h s [M − n] = h s [n] şi h a [M − n] = −h a [n]).Din (2.35) şi (2.38) se observă că dacă M = 2n 0 , atunci răspunsul în frecvenţă alfiltrelor simetrice are formaH s (e jω ) = A s (ω)e −jωn 0, A s (ω) ∈ R,


98 CAPITOLUL 4. PROIECTAREA FILTRELOR100Amplitudine (dB)−10−20−30−40−50−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata200Faza (val.princ.)1000−100−2000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.14: Caracteristica de frecvenţă a unui filtru proiectat ca în figura 4.13, darcu n 0 = 5.function h = opt2fl_tj( M, wb, ws )% Proiectare in sens CMMP a unui filtru% FIR trece-jos cu faza liniara de tip I% M - ordinul filtrului% wb, ws - frecventele (normalizate) definind benzile% de trecere, respectiv oprirem = M/2 + 1; % numarul de coeficienti diferiti ai filtruluig = [1; 2 * ones(m-1, 1)];P = 0.5 * eye(m);P(1,1) = 1;for i = 1 : mfor k = 1 : iP(i,k) = P(i,k) + 0.5*( wb*sinc((i+k-2)*wb) + wb*sinc((i-k)*wb) ...-ws*sinc((i+k-2)*ws) - ws*sinc((i-k)*ws) );P(k,i) = P(i,k);endendP = P .* (g * g’);q = wb * g .* sinc((0:m-1)’*wb);h = P \ q;h = [ h(end:-1:2); h ];Figura 4.15: Funcţie Matlab pentru proiectarea în sens CMMP a filtrelor FIR (detip I) trece-jos cu fază liniară.


4.3. PROIECTAREA FILTRELOR FIR ÎN SENS CMMP 99iar din (2.40) şi (2.43) se vede că răspunsul filtrelor antisimetrice esteH a (e jω ) = jA a (ω)e −jωn 0, A a (ω) ∈ R.În acest caz, criteriul problemei de optimizare (4.5) este∫∫∣|H(e jω ) − D c (ω)| 2 dω = ∣[A s (ω) + jA a (ω) − |D c (ω)|]e −jωn 0∣ 2 dωω∈F∫ω∈F(= [As (ω) − |D c (ω)|] 2 + [A a (ω)] 2) dω.ω∈FSe observă imediat că minimul criteriului se atinge pentru A a (ω) = 0, adică pentruh a [n] = 0. În consecinţă filtrul H(z) = H s(z) este simetric. (Evident, coeficienţiih[n] = h s [n] se determină în funcţie de D c (ω) rezolvând problema CMMP ca înproblemele anterioare.)Probleme propusePP 4.3.1 Fie S ∈ R m o matrice antisimetrică, i.e. S T = −S. Demonstraţi căh T Sh = 0 pentru orice vector h ∈ R m .PP 4.3.2 Cum se modifică problema de optimizare în sens CMMP (4.22) dacă seadaugă ponderi în criteriu ca în (4.4) ?PP 4.3.3 Generalizaţi programul de la problema PR4.3.2 pentru toate tipurilede filtre cu fază liniară.PP 4.3.4 Generalizaţi programele de la problemele PR4.3.1 şi PR4.3.2 pentrufiltre cu mai multe benzi de trecere şi de oprire, în ordine oarecare. Testaţi programulpentru filtre trece-bandă şi opreşte-bandă. (Indicaţie: citiţi întâi secţiuneadedicată funcţiilor Matlab pentru a lua de acolo formatul datelor de intrare.)Ghid MatlabFuncţia firls permite proiectarea în sens CMMP a filtrelor cu fază liniară; eaconstituie o generalizare a programului prezentat în figura 4.15. Modul de apel esteurmătorul>> h = firls(M, W, A)Ordinul filtrului este M. Parametrii W şi A sunt vectori care descriu răspunsul dorit.Cei doi vectori au lungimi pare şi egale. Vectorul W conţine frecvenţele reprezentândbenzile de interes; de exemplu, în cazul răspunsului dorit (de tip trece-jos) de laproblema PR4.3.2, vectorul este>> W = [0 0.3 0.46 1]Deci, prima bandă (de trecere, în cazul de mai sus) este între W(1) şi W(2), a doua(de oprire) este între W(3) şi W(4) etc. Benzile de tranziţie sunt între W(2) şi W(3),W(4) şi W(5) etc. Vectorul A descrie valorile răspunsului dorit în benzile de interes.În exemplul nostru, vectorul este>> A = [1 1 0 0]


100 CAPITOLUL 4. PROIECTAREA FILTRELORPrima pereche de elemente descrie o bandă de trecere, iar a doua o bandă de oprire.În general, răspunsul dorit este format din segmente de dreaptă unind punctele decoordonate (W(k),A(k)) şi (W(k+1),A(k+1)), unde k este un număr impar. (Acestrăspuns este mai general decât cel constant pe porţiuni, utilizat în exemplele noastre,dar rămâne un caz particular al problemei (4.26), unde nu se impun restricţii asuprarăspunsului dorit D r (ω).)Introducerea unor ponderi în criteriul CMMP se face adăugând un al patruleaparametru de apel>> h = firls(M, W, A, p)Vectorul p are jumătate din lungimea lui W şi A, fiecare valoare din p corespunzândunei perechi de valori din cei doi vectori. O valoare din p este ponderea (constantă)asociată, în criteriul pătratic, benzii de frecvenţe corespunzătoare. Dacă, în exemplulnostru de filtru trece-jos, vrem să dăm abaterii de la răspunsul dorit pondere1 în banda de trecere şi 10 în banda de oprire (cu scopul de a creşte atenuarea înbanda de oprire), atunci punem>> p = [1 10]4.4 Proiectarea filtrelor FIR cu fază liniară în sensChebyshevProiectarea în sens Chebyshev se face mai uşor în cazul filtrelor cu fază liniară, deaceea nu ne ocupăm aici de cazul general al filtrelor fără restricţii de fază. Aşadar,în această secţiune, răspunsul în frecvenţă al filtrului are expresia (4.24).Rezolvarea problemei F OPTINFProblema F OPTINF se poate rezolva exact cu ajutorul celebrului algoritm Parks-McClellan. Deoarece descrierea riguroasă a acestui algoritm necesită un spaţiu relativmare şi unele noţiuni matematice de aproximare a funcţiilor, ne vom mărginiprezentarea la elementele esenţiale ale metodei. Considerăm doar filtrele de tip I(2.34), al căror răspuns în frecvenţă este (eliminând exponenţiala complexă caracteristicăfazei liniare)K∑H r (ω) = g n cos(nω), (4.30)n=0unde K = M/2, vezi (2.35) şi problema PP2.5.7. Se observă că cos(nω) se poatescrie ca un polinom (numit Chebyshev) de grad n în variabila cos ω (vezi problemaPR4.4.1), şi deci avemK∑H r (ω) = f n (cos ω) n . (4.31)Eroarea cu care răspunsul filtrului aproximează răspunsul dorit D(ω) esten=0E(ω) = D(ω) − H r (ω).


4.4. PROIECTAREA FILTRELOR FIR ÎN SENS CHEBYSHEV 101Pentru un filtru optim, aşa cum sugerează figura 4.3, funcţia E(ω) are un număr deextreme locale, toate cu aceeaşi amplitudine ∆. Deoarece H r (ω) este un polinom învariabila x = cos ω ∈ [−1, 1], se poate demonstra următoarea teoremă de alternanţă.Teorema 4.10 Dacă răspunsul H r (ω) (4.31) este soluţia unei probleme F OPTINF,atunci funcţia eroare E(ω) are L ≥ K + 2 extreme locale în frecvenţele ω 1 , . . . , ω L ,cu aceeaşi amplitudine şi cu semne alternante, i.e.E(ω k ) = (−1) k ∆, k = 1 : L, (4.32)unde ∆ este valoarea maximă a erorii (egală cu norma infinit, sau Chebyshev, afuncţiei E(ω)).Metoda de proiectare Parks-McClellan se bazează pe algoritmul Remez de interschimbareşi are următoarea structură simplă.1. Se aleg K + 2 frecvenţe ω k ∈ [0, π], k = 1 : K + 2. Se alege o toleranţă ε.2. Se rezolvă sistemul (4.32) (cu exact K+2 ecuaţii), necunoscutele fiind coeficienţiif 0 , . . . , f K din (4.31) şi valoarea ∆.3. Se calculează punctele de extrem ω ′ k ∈ [0, π], k = 1 : L, ale răspunsului H r(ω)obţinut, şi se reţin K + 2 dintre ele, cele pentru care |H r (ω k )| are valorile celemai mari.4. Dacă |ω k − ωk ′ | ≤ ε, k = 1 : K + 2, atunci soluţia a fost obţinută. Altfel, sepune ω k ← ωk ′ , k = 1 : K + 2, şi se reia de la pasul 2.Explicaţii. Algoritmul se bazează pe ”forţări” succesive ale relaţiei (4.32) carecaracterizează filtrul optim. Desigur, după ce la pasul 1 se alege un set arbitrar defrecvenţe ω k , rezolvarea ecuaţiei (4.32), în care şi ∆ este necunoscut, nu producevaloarea minimă a erorii ∆. De aceea, punctele de extrem ωk ′ , calculate la pasul 3,sunt diferite de punctele ω k cu care s-a rezolvat sistemul (4.32). Repetând operaţiilede mai sus, de fiecare dată cu noul set de frecvenţe, se constată convergenţa cătresetul optim, în care relaţia (4.32) este satisfăcută şi ∆ este eroarea optimă.Detaliile de implementare sunt numeroase. De exemplu, la proiectarea unuifiltru trece-jos, frecvenţele ω b şi ω s care definesc benzile de trecere şi, respectiv, deoprire, fac parte întotdeauna din setul de frecvenţe ω k cu care se rezolvă sistemul dela pasul 2 al algoritmului. Algoritmul se poate extinde uşor la filtrele de tip II-IV.Rezolvarea problemei F OPTINFDPe o mulţime discretă de frecvenţe G L = {ω 1 , . . . , ω L }, proiectarea filtrelor FIRcu fază liniară în sens Chebyshev se poate reduce la o problemă standard deoptimizare—programarea liniară. Considerând expresia (4.24) a răspunsului înfrecvenţă al filtrului de ordin M şi alegând un răspuns dorit D r (ω) real, problemaF OPTINFD (4.7) se modifică înmin max |D(ω k) − c T (ω k )h|. (4.33)h k=1:L


102 CAPITOLUL 4. PROIECTAREA FILTRELORVariabilele problemei de optimizare sunt coeficienţii independenţi ai filtrului H(z);notăm M ′ numărul lor, e.g. în cazul filtrelor de tip I, avem M ′ = M/2 + 1, vezi(4.25). Introducem o variabilă suplimentară (care depinde de coeficienţii filtrului)∆ = maxk=1:L |D(ω k) − c T (ω k )h|,care are semnificaţie de eroare maximă de aproximare pe mulţimea de frecvenţe G L .Putem aşadar scriesau−∆ ≤ c T (ω k )h − D(ω k ) ≤ ∆, k = 1 : L,D(ω k ) − ∆ ≤ c T (ω k )h ≤ D(ω k ) + ∆, k = 1 : L.Cu aceste observaţii, problema de optimizare (4.33) are formaminh,∆∆cu restrictiile c T (ω k )h − ∆ ≤ D(ω k ), k = 1 : L,−c T (ω k )h − ∆ ≤ −D(ω k ), k = 1 : L.(4.34)Notăm[ hξ =∆]∈ R M ′ +1variabilele problemei de optimizare (4.34). Coeficienţii acesteia sunt⎡Ψ =⎢⎣c T (ω 1 )..c T (ω L )−c T (ω 1 ).−c T (ω L )⎤⎡−1..−1−1∈ R 2L×(M ′ +1) , β =⎥⎢. ⎦⎣−1D(ω 1 )..D(ω L )−D(ω 1 ).−D(ω L )⎤∈ R 2L . (4.35)⎥⎦Notând γ = [0 . . . 0 1] T ∈ R M ′ +1 , problema de optimizare (4.34) poate fi scrisă înforma standard a unui program liniar, adicăminξ∈R M′ +1cu restrictiileγ T ξΨξ ≤ β(4.36)Numele de program liniar provine din faptul că atât criteriul cât şi restricţiile suntliniare în variabila vectorială ξ. (Aşa cum se subînţelege, notaţia Ψξ ≤ β aresemnificaţia că fiecare element al vectorului Ψξ este mai mic sau egal cu elementulcorespunzător al vectorului β.) Rezolvarea unei probleme de programare liniarăse face cu algoritmi dedicaţi acestui scop, de exemplu cu funcţia lp din Matlab(Optimization Toolbox).Un program pentru rezolvarea problemei de proiectare F OPTINFD pentrufiltre de tip I este prezentat în PR4.4.2, împreună cu exemple de proiectare.


4.4. PROIECTAREA FILTRELOR FIR ÎN SENS CHEBYSHEV 103Probleme rezolvatePR 4.4.1 Pe intervalul [−1, 1], polinomul Chebyshev de grad n se defineşte prinT n (x) = cos(n cos −1 (x)). Notând x = cos ω, se observă imediat că avem T n (x) =cos(nω). Să se demonstreze căiar pentru n > 0 are loc relaţia de recurenţăT 0 (x) = 1, T 1 (x) = x, (4.37)T n+2 (x) = 2xT n+1 (x) − T n (x). (4.38)Soluţie. Relaţiile (4.37) sunt evidente. Se observă că relaţia (4.38) este echivalentăcuPutem scriecos((n + 2)ω) = 2 cos(ω) cos((n + 1)ω) − cos(nω).cos((n + 2)ω) = cos(2ω) cos(nω) − sin(2ω) sin(nω)= [2 cos 2 (ω) − 1] cos(nω) − 2 sin(ω) cos(ω) sin(nω)= 2 cos(ω)[cos(ω) cos(nω) − sin(ω) sin(nω)] − cos(nω)= 2 cos(ω) cos((n + 1)ω) − cos(nω),ceea ce demonstrează (4.38).PR 4.4.2 a. Să se scrie un program Matlab pentru proiectarea în sens Chebysheva filtrelor FIR trece-jos cu fază liniară, de tip I. Datele de proiectare sunt ordinulfiltrului M (un număr par), răspunsul doritD r (ω) ={1, dacă |ω| ≤ ωb ,0, dacă ω s < |ω| ≤ π,(frecvenţele ω b şi ω s sunt date) şi numărul de frecvenţe L din mulţimea G L , presupuseechidistante. Programul va consta în calculul coeficienţilor programului liniar(4.36), urmat de apelul funcţiei lp.b. Cu programul realizat anterior, să se proiecteze un filtru FIR cu următoareledate iniţiale: M = 16, ω b = 0.3π, ω s = 0.46π, L = 100. Care este valoarea erorii∆, i.e. a criteriului problemei (4.34) ?Soluţie. a. Programul este prezentat în figura 4.16. Pentru lămuriri suplimentare,vezi PR4.1.2 pentru generarea grilei de frecvenţe şi PR4.3.2. MatriceaΨ din (4.35), cu două bloc coloane, este construită în program din patru blocuriobţinute prin separarea primelor şi ultimelor L linii.b. Cu apelul optinfd tj(16,0.3,0.46,100) a fost obţinut filtrul al căruirăspuns în frecvenţă este prezentat în figura 4.17. Valoarea erorii maxime este∆ = 0.0424. Comparaţi răspunsul cu cel din figura 4.13.


104 CAPITOLUL 4. PROIECTAREA FILTRELORfunction [h, Delta] = optinfd_tj( M, wb, ws, L )% Proiectare in sens Chebyshev% (pe o multime discreta de frecvente echidistante)% a unui filtru FIR trece-jos, cu faza liniara de tip I%% M - ordinul filtrului% wb, ws - frecventele (normalizate) definind benzile% de trecere, respectiv oprire% L - numarul de frecvente in multimea discreta% h - coeficientii filtrului% Delta - eroarea Chebyshev% genereaza frecvente echidistanteLb = floor( wb / (wb+1-ws) * L );Ls = L - Lb - 1;Lb = Lb - 1;w = [ 0 : wb/Lb : wb, ws : (1-ws)/Ls : 1 ] * pi;M2 = M/2;g = [1; 2 * ones(M2, 1)];% genereaza constantele problemei de programare liniaraCcos = repmat(g’, L, 1) .* cos(w’*(0:M2));Psi = [ Ccos -ones(L,1);-Ccos -ones(L,1) ];beta = [ ones(Lb+1,1); zeros(Ls+1,1) ];beta = [ beta; -beta ];gamma = zeros(M2 + 2, 1);gamma(end) = 1; % criteriul este Delta !% rezolva problema de programare liniarax = lp(gamma, Psi, beta);h = x(1:end-1);h = [ h(end:-1:2); h ];Delta = x(end);Figura 4.16: Funcţie Matlab pentru proiectarea în sens Chebyshev a filtrelor FIR(de tip I) trece-jos cu fază liniară.


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 105100Amplitudine (dB)−10−20−30−40−50−600 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizata200Faza (val.princ.)1000−100−2000 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Frecventa normalizataFigura 4.17: Caracteristica de frecvenţă a filtrului FIR trece-jos, soluţie a problemeiF OPTINFD, pentru M = 16, ω b = 0.3π, ω s = 0.46π, L = 100.Probleme propusePP 4.4.1 Să se generalizeze funcţia Matlab din problema PR4.4.2 pentrua. toate filtrele cu coeficienţi simetrici, respectiv antisimetrici;b. orice răspuns dorit D(ω), definit pe o mulţime discretă de frecvenţe. (Valorilerăspunsului dorit şi frecvenţele corespunzătoare sunt argumente ale funcţiei.)PP 4.4.2 Fie H r (ω) răspunsul în frecvenţă al filtrului calculat în problema PR4.4.2,punctul b. Evaluaţi eroarea |D r (ω) − H r (ω)| într-un număr mare de frecvenţe, deexemplu 1000 (în orice caz mult mai mare decât valoarea L folosită la proiectareafiltrului), şi calculaţi eroarea maximă. De ce este aceasta mai mare decât eroarea∆ calculată de programul din PR4.4.2 ?Ghid MatlabAlgoritmul Parks-McClellan pentru proiectarea în sens Chebyshev a filtrelor cu fazăliniară se face cu funcţia remez. Modul de apel este>> h = remez(M, W, A)Argumentele sunt aceleaşi ca la funcţia firls de proiectare în sens CMMP.4.5 Proiectarea filtrelor IIR: metode detransformareDin punct de vedere istoric, filtrele analogice au fost primele utilizate în aplicaţiipractice, cu decenii bune înaintea celor digitale. De aceea, metodele de proiectare afiltrelor analogice—în mod necesar filtre IIR—erau deja bine dezvoltate atunci când


106 CAPITOLUL 4. PROIECTAREA FILTRELORdiscret(digital)continuu(analogic)Transformarediscret-continuuSpecificareperformanţe❄Performanţetimp continuuH(z)✻Transformarecontinuu-discretProiectare✲ H(s)în continuuFigura 4.18: Schema generală de proiectare a filtrelor IIR prin metode de transformare.a apărut necesitatea proiectării filtrelor digitale. O metodă comodă de proiectarea filtrelor IIR digitale se bazează pe transformarea unora analogice, ca în figura4.18. Performanţele specificate ale filtrului digital (e.g. în forma unei problemeF TOL) sunt transformate în performanţe echivalente în domeniul continuu; pebaza acestora se proiectează filtrul analogic H(s), din care, printr-o transformarez = f(s), se obţine filtrul dorit H(z). Se observă că metoda are două componenteprincipale:• transformarea f între domeniile discret şi continuu, care trebuie să fie biunivocă;• proiectarea filtrelor analogice (în timp continuu).Vom prezenta în continuare detalii ale celor două componente. Peste tot vom notaω frecvenţa în domeniul discret (aşa cum am făcut până aici) şi Ω frecvenţa în domeniulcontinuu. Aşadar, dacă H(s) şi G(z) sunt funcţii de transfer în continuu, respectivdiscret, atunci caracteristicile lor de frecvenţă sunt H(jΩ), respectiv G(e jω ).4.5.1 Filtre analogiceProiectarea filtrelor analogice se face îndeosebi cu ajutorul unor filtre tip, pentrucare există o modalitate analitică de descriere. Cele mai întâlnite filtre sunt numiteButterworth, Chebyshev (tip I sau II) şi Cauer (sau eliptic). Vom prezenta mai joso descriere sumară a acestor filtre.Filtrul Butterworth. Un astfel de filtru este definit de ordinul său n şi de ofrecvenţă de tăiere Ω t . Caracteristica de frecvenţă H(jΩ) a filtrului satisface relaţia|H(jΩ)| 2 = H(jΩ)H(−jΩ) =1. (4.39)1 + (Ω/Ω t )2nDupă cum se vede în figura 4.19, amplitudinea răspunsului în frecvenţă al filtruluiButterworth este descrescătoare. La frecvenţa de tăiere Ω t , avem întotdeauna


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 1071|H(jΩ)|0.707ΩΩ tFigura 4.19: Amplitudinea răspunsului în frecvenţă al filtrului Butterworth, pentrun = 2 (linie-punct), n = 4 (linie întreruptă) şi n = 10 (linie continuă).|H(jΩ t )| = 1/ √ 2, i.e. aceasta este frecvenţa la care atenuarea este de 3dB (reamintimcă log 10 2 ≈ 0.3, deci 20 log 10 (1/ √ 2) ≈ −3); de asemenea, amplificareaH(0) = 1 este constantă. Cu cât ordinul n este mai mare, cu atât tranziţia înjurul valorii ω t este mai abruptă.Funcţia de transfer H(s) se determină prelungind analitic relaţia (4.39) (valabilăpentru s = jΩ) şi obţinândH(s)H(−s) =1. (4.40)1 + (s/jΩ t )2nCei 2n poli ai funcţiei H(s)H(−s) sunt definiţi de (−1) 1/2n jΩ t , deci au formas k = Ω t exp(−j π )2n (2k − 1 + n) , k = 0 : 2n − 1, (4.41)şi sunt plasaţi echidistant pe un cerc de rază Ω t centrat în origine, simetric faţă deaxa imaginară, ca în figura 4.20. Pentru H(s) se iau polii cu parte reală negativă,astfel încât H(s) să fie o funcţie de transfer stabilă. Vezi problema PR4.5.1 pentruexemple de filtre Butterworth cu număr mic de poli.Filtre Chebyshev. Filtrele Chebyshev de tip I au răspunsul în frecvenţă de forma|H(jΩ)| 2 = H(jΩ)H(−jΩ) =unde n este ordinul filtrului, iar{cos(n cosT n (x) =−1 (x)), pentru |x| ≤ 1,cosh(n cosh −1 (x)), pentru |x| > 1,11 + ɛ 2 T 2 n(Ω/Ω b ) , (4.42)


108 CAPITOLUL 4. PROIECTAREA FILTRELOR110.80.80.60.60.40.4Parte imaginara0.20−0.2Parte imaginara0.20−0.2−0.4−0.4−0.6−0.6−0.8−0.8−1−1−1 −0.5 0 0.5 1Parte reala−1 −0.5 0 0.5 1Parte realaFigura 4.20: Polii filtrului Butterworth (în semiplanul stâng) şi simetricii lor faţăde axa imaginară, pentru n = 4 (stânga) şi n = 5 (dreapta), Ω t = 1. Vezi formula(4.41).este polinomul Chebyshev de ordinul n. Răspunsul în frecvenţă al unui filtruChebyshev de tip I, cu n = 4, este prezentat în figura 4.21 (stânga). Se observăcă răspunsul are ondulaţii egale în banda de trecere şi este descrescător înbanda de oprire. Parametrul ɛ dictează înălţimea ondulaţiilor; în banda de trecere[0, Ω b ], răspunsul ia valori între M b = 11+ɛşi 1; pentru Ω = Ω 2 b , avem întotdeauna|H(jΩ)| = M b .Filtrul Chebyshev de tipul II, al cărui răspuns se vede în figura 4.21 (dreapta),se obţine printr-o transformare a celui de tip I şi are ondulaţii egale în banda deoprire.Filtrul eliptic are răspunsul în frecvenţă|H(jΩ)| 2 = H(jΩ)H(−jΩ) =11 + ɛ 2 U 2 n(Ω/Ω b ) , (4.43)unde U n (·) este funcţia Jacobi eliptică de ordinul II. Răspunsul are ondulaţii egaleatât în banda de trecere cât şi în cea de oprire (vezi figura 4.22, unde n = 4). Şiaici avem M b = 11+ɛ 2 .4.5.2 Transformarea biliniarăO transformare continuu-discret z = f(s) trebuie să aibă următoarele proprietăţi:• să fie biunivocă, astfel încât, împreună cu inversa sa, să asigure transformareaîn ambele sensuri;• să transforme semiplanul complex stâng în discul unitate, astfel încât un filtruanalogic stabil să fie transformat într-un filtru digital stabil şi reciproc;• să transforme axa imaginară în cercul unitate, astfel încât răspunsul în frecvenţăH(jΩ) al unui filtru analogic să-şi păstreze alura în transformatul său digi-


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 1091M b|H(jΩ)||H(jΩ)|ΩΩΩ bΩ sFigura 4.21: Amplitudinea răspunsului în frecvenţă al unor filtre Chebyshev de tipI cu n = 4 (stânga) şi II cu n = 6 (dreapta).1M b|H(jΩ)|Ω bΩ sΩFigura 4.22: Amplitudinea răspunsului în frecvenţă a unui filtru eliptic, cu n = 4.


110 CAPITOLUL 4. PROIECTAREA FILTRELORπωΩ−πFigura 4.23: Graficul transformării de frecvenţe continuu-discret biliniară.tal H(e jω ) (notăm H(s) filtrul analogic şi, cu aceeaşi literă, H(z) = H(f(s))filtrul digital).Transformarea cea mai utilizată este cea biliniară, definită de relaţiaz = 1 + s1 − s , (4.44)a cărei inversă estes = z − 1z + 1 = 1 − z−1. (4.45)1 + z−1 (Deoarece au forme similare, ambele transformări de mai sus sunt numite biliniare,sensul transformării rezultând din context.) Transformarea continuu-discret a frecvenţelorse obţine din (4.44) înlocuind s = jΩ şi z = e jω . Dine jω = 1 + jΩ1 − jΩse obţin relaţiile (vezi problema PR4.5.2)(4.46)ω = 2arctgΩ,Ω = tg ω 2 . (4.47)Desigur, transformarea ω = 2arctgΩ, care duce R în [−π, π], este neliniară, aşa cumse vede şi din figura 4.23.Filtrul Butterworth discret. Fiind o funcţie crescătoare, transformarea în frecvenţă(4.47) păstrează forma răspunsului în frecvenţă al unui filtru analogic, în sensul căe.g. un filtru trece-jos analogic este transformat într-un filtru trece-jos discret. Prinaplicarea transformării biliniare, răspunsul în frecvenţă (4.39) al filtrului Butterworthanalogic se transformă în|H(e jω )| 2 =1 +1(tg(ω/2)tg(ω t /2)) 2n, ω t = 2arctgΩ t , (4.48)


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 111care reprezintă amplitudinea răspunsului în frecvenţă al filtrului Butterworth discret.Un exemplu de proiectare a unui filtru Butterworth discret este prezentat înproblema PR4.5.3.4.5.3 Transformări discret-discret în frecvenţăFiltrele IIR analogice discutate mai sus sunt toate de tip trece-jos, iar prin transformareabiliniară se obţin filtre digitale tot de tip trece-jos. Pentru a proiectaaltfel de filtre digitale (trece-sus, trece-bandă etc.), se pot utiliza transformări înfrecvenţă (fie în domeniul continuu, fie în cel discret), care obţin filtrul dorit dintrunultrece-jos. Ne vom ocupa doar de transformările în domeniul discret. O astfelde transformare Z = G(z) trebuie să aibă următoarele proprietăţi:• să fie inversabilă;• să transforme discul unitate în el însuşi, astfel încât un filtru stabil să fietransformat într-un filtru stabil;• să transforme cercul unitate în el însuşi, astfel încât răspunsul în frecvenţă alfiltrului obţinut H(Z) să depindă doar de răspunsul filtrului iniţial H(z).Propoziţia 4.11 Toate transformările cu proprietăţile de mai sus sunt funcţii detip trece-tot, i.e.∏ NZ −1 k=1= ±(z−1 − c ∗ k∏ )Nk=1 (1 − c kz −1 ) , |c k| < 1. (4.49)În particular, transformările din trece-jos în trece-sus sau trece-jos (dar cu altăfrecvenţă de tăiere) sunt date de o funcţie de forma (4.49) cu un singur pol, iarcele din trece-jos în trece-bandă sau opreşte-bandă de funcţii cu doi poli. ProblemaPR4.5.4 ilustrează o astfel de transformare.Probleme rezolvatePR 4.5.1 a. Care sunt funcţiile de transfer ale filtrelor Butterworth analogice cuΩ t = 1 şi n = 1, 2, 3 ?b. Care sunt funcţiile de transfer ale filtrelor discrete obţinute din cele analogiceprin transformarea biliniară ?Soluţie. a. Reamintim că polii filtrelor Butterworth au forma (4.41) şi se aflăîn semiplanul complex stâng. Pentru n = 1, unicul pol este s 1 = −1. Pentrun = 2, polii sunt s 1,2 = (−1 ± j)/ √ 2. Pentru n = 3, polii sunt s 1 = −1, s 2,3 =(−1 ± j √ 3)/2. Funcţiile de transfer corespunzătoare suntH 1 (s) = 1s + 1 , H 2(s) =1s 2 + √ 2s + 1 , H 3(s) =b. Aplicând transformarea biliniară se obţin filtrele discrete1(s + 1)(s 2 + s + 1) .H 1 (z) = 1 + z−1(1 + z −1 ) 2, H 2 (z) =2(2 + √ 2) + (2 − √ 2)z , H 3(z) = (1 + z−1 ) 3−2 6 + 2z −2 .


112 CAPITOLUL 4. PROIECTAREA FILTRELORObservaţi că polii filtrelor discrete sunt pe axa imaginară.PR 4.5.2 Demonstraţi că transformarea biliniară satisface cele trei proprietăţi enumeratela începutul secţiunii 4.5.2.Soluţie. Se verifică elementar că transformările (4.44) şi (4.45) sunt una inversaceleilalte.Demonstrăm acum că semiplanul complex stâng este transformat prin (4.44) îndiscul unitate. Notăm s = u + jv. Dacă Res = u < 0, atunci (1 + u) 2 < (1 − u) 2 şidin (4.44) obţinem2 |z| 2 =1 + s∣1 − s∣= (1 + u)2 + v 2(1 − u) 2 + v 2 < 1.Ca să demonstrăm că axa imaginară e transformată prin (4.44) în cercul unitate,i.e. că are loc (4.47), luăm pur şi simplu argumentul în egalitatea (4.46); rezultăprima relaţie din (4.47), iar a doua este evident inversa ei.PR 4.5.3 Scrieţi un program Matlab care să proiecteze un filtru Butterworth discretsatisfăcând cerinţele unei probleme F TOL. Se doreşte un filtru de ordinminim, pentru care H(1) = 1 (amplificare unitară a semnalelor constante).Exemplu numeric: ω b = 0.3π, ω s = 0.45π, ∆ b = 0.1 şi ∆ s = 0.1.Soluţie. Răspunsul în frecvenţă al unui filtru Butterworth discret care satisfacecerinţele este prezentat în figura 4.24 stânga. Notăm M b = 1 − ∆ b . Graficul estedesenat presupunând că cerinţele sunt satisfăcute la limită, dar în general avem|H(ω b )| ≥ M b , |H(ω s )| ≤ ∆ s . (4.50)Evident, deoarece amplitudinea răspunsului este descrescătoare, avem M b ≤ |H(ω)| ≤1 pentru ω ∈ [0, ω b ] şi |H(ω)| ≤ ∆ s pentru ω ∈ [ω s , π].Pentru proiectarea filtrului, parcurgem următoarele etape: i) transpunem cerinţelede proiectare în domeniul continuu, ii) găsim un filtru analogic care să satisfacăcerinţele, iii) obţinem filtrul discret aplicând transformarea biliniară celui continuu.i) Filtrul analogic corespunzător celui discret are răspunsul în frecvenţă dinfigura 4.24 dreapta. Conform cu (4.47), avemΩ b = tg ω b2 , Ω s = tg ω s2 . (4.51)Dorim să aflăm ordinul n şi frecvenţa de tăiere Ω t ale unui filtru Butterworth analogic,al cărui răspuns în frecvenţă (4.39) satisface condiţiile obţinute din (4.50),i.e.|H(Ω b )| ≥ M b , |H(Ω s )| ≤ ∆ s . (4.52)şi deci11 + (Ω b /Ω t ) 2n ≥ M 2 b ,11 + (Ω s /Ω t ) 2n ≤ ∆2 s. (4.53)


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 113ii) Din (4.53) obţinemM 2 b2n (log Ω t − log Ω b ) ≥ log1 − Mb2 ,2n (log Ω s − log Ω t ) ≥ log 1 − ∆2 s∆ 2 .sAdunăm cele două inegalităţi de mai sus şi obţinemn ≥log M 2 b (1 − ∆2 s)∆ 2 s(1 − M 2 b )2 log Ω s /Ω b. (4.54)Desigur, ordinul n trebuie să fie întreg, aşa că îl luăm egal cu primul întreg maimare ca (4.54). Pentru a calcula Ω t , impunem egalitatea într-una din inegalităţile(4.53), de exemplu în prima, din care rezultăΩ bΩ t = ( ) 1 − M2 1/2n. (4.55)bM 2 bAm obţinut deci parametrii n şi Ω t ai filtrului Butterworth analogic, a cărui funcţiede transfer H(s) se calculează uşor ştiind poziţiile (4.41) ale polilor.iii) În final, filtrul discret H(z) se obţine aplicând transformarea biliniară (4.45)filtrului analogic H(s).Programul care implementează algoritmul descris mai sus este prezentat în figura4.25. Primele linii ale programului reprezintă implementarea formulelor (4.51),(4.54) şi (4.55). Calculul polilor se face conform formulei (4.41), în care se iaudoar polii din semiplanul complex stâng, corespunzând valorilor k = 1 : n. Transformareabiliniară se aplică direct asupra polilor (şi nu asupra coeficienţilor filtruluianalogic). Dacă funcţia de transfer a filtrului Butterworth analogic este∏ nk=1H(s) = ∏ (−s k)nk=1 (s − s k) ,i.e. s k , k = 1 : n, sunt polii filtrului şi H(0) = 1, atunci folosind transformarea(4.45) rezultă∏ nk=1H(z) =(−s ∏ n∏k)k=1 (1 + z−1 )nk=1 (1 − s ∏ nk)k=1 (1 − z−1 1+s k1−s k) , (4.56)formulă care evidenţiază amplificarea, zerourile şi polii z k = 1+s k1−s kai filtrului Butterworthdiscret. În ultimele instrucţiuni ale programului se ia partea reală pentrua elimina partea imaginară rezultată în urma erorilor numerice.Cu datele numerice din problemă, din (4.54) rezultă n ≥ 5.852, deci se ia n =6. Din (4.55) se obţine Ω t = 0.575. Cititorul este invitat să traseze, în Matlab,răspunsul în frecvenţă al filtrului Butterworth proiectat cu programul descris maisus.


114 CAPITOLUL 4. PROIECTAREA FILTRELOR11M bM b∆ sω bω sπω∆ sΩ bΩ sΩFigura 4.24: Filtre Butterworth discret (stânga) şi analogic (dreapta) satisfăcândcerinţele problemei PR4.5.3.PR 4.5.4 Demonstraţi că aplicând unui filtru trece-jos H(z) transformareaZ −1 = − z−1 − c, c ∈ R, |c| < 1, (4.57)1 − cz−1 se obţine un filtru trece-sus H(Z). Pentru a studia răspunsurile în frecvenţă ale filtrelor,pe cercul unitate notăm z = e jω şi Z = e jθ . Obţineţi relaţia de transformarea frecvenţelor θ = g(ω).Aplicaţi transformarea de mai sus filtrului Butterworth H 2 (z) din problemaPR4.5.1, pentru c = −0.5, 0, 0.5 şi desenaţi caracteristicile de frecvenţă ale filtrelorobţinute.Soluţie. Pe cercul unitate, din (4.57) obţineme −jθ = − e−jω − c1 − ce −jω = 2c − (1 + c2 ) cos ω + j(c 2 − 1) sin ω1 + c 2 .− 2c cos ωLuând argumentul în expresiile extreme de mai sus, rezultă[(1 − c 2 ]) sin ωθ = arctg2c − (1 + c 2 . (4.58)) cos ωGraficul transformării (4.58) este prezentat în figura 4.26; pentru a-l obţine, amconsiderat că funcţia arctg ia valori în intervalul [0, π] şi nu în [−π/2, π/2] (undeeste ramura principală a funcţiei); cu alte cuvinte, am înlocuit θ cu θ + π atuncicând θ < 0. Cea mai simplă transformare se obţine pentru c = 0, când Z = −z iarθ = π − ω, deci răspunsul în frecvenţă este oglindit faţă de verticala care trece prinπ/2.Caracteristicile de frecvenţă ale filtrele Butterworth trece-sus obţinute din H 2 (z)de la problema PR4.5.1 sunt prezentate în figura 4.27. Calculul funcţiilor detransfer este lăsat cititorului.


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 115function [b,a] = prbut(wb, ws, Delta_b, Delta_s)% Proiectare filtru Butterworth discret pentru problema F_TOL% wb, wb - frecventele normalizate definind benzile% de trecere, respectiv oprire% Delta_b - toleranta in baza de trecere% Delta_s - toleranta in baza de oprireMb = 1 - Delta_b;% transforma specificatiile in continuuOmega_b = tan(wb*pi/2);Omega_s = tan(ws*pi/2);% determina parametrii filtrului Butterworth analogicMb2 = Mb * Mb;Ds2 = Delta_s * Delta_s;n = ceil( log(Mb2 * (1-Ds2) / Ds2 / (1-Mb2)) / 2 / log(Omega_s/Omega_b) );Omega_t = Omega_b / ((1-Mb2)/Mb2)^(1/2/n);% polii filtrului Butterworth analogicpoli_a = Omega_t * exp( -sqrt(-1) * pi / 2 / n * ( (1:2:2*n) + n ) );% functia de transfer a filtrului Butterworth digitalzero_d = - ones(n,1);poli_d = (1 + poli_a) ./ (1 - poli_a);amplif = real(prod(-poli_a) / prod(1 - poli_a));b = amplif * real(poly(zero_d));a = real(poly(poli_d));Figura 4.25: Funcţie Matlab pentru rezolvarea unei probleme F TOL cu un filtrude tip Butterworth.


116 CAPITOLUL 4. PROIECTAREA FILTRELORπθωFigura 4.26: Graficul transformării în frecvenţă (4.58), din trece-jos în trece-sus,pentru c = 0 (linie continuă), c = −0.5 (linie-punct), c = 0.5 (linie întreruptă).π11πωπωFigura 4.27: Caracteristici de frecvenţă ale unui filtru Butterworth trece-jos deordinul 2 şi ale unor filtre trece-sus obţinute din acesta prin transformarea (4.57),pentru c = 0 (linie continuă), c = −0.5 (linie-punct), c = 0.5 (linie întreruptă).


4.5. PROIECTAREA FILTRELOR IIR: METODE DE TRANSFORMARE 117Probleme propusePP 4.5.1 a. Observaţi că pentru ordin n impar, filtrul Butterworth analogic areun pol în −1. Unde se află polul corespunzător al filtrului discret obţinut printransformarea biliniară ? Ce proprietate are numitorul acestui filtru ?b. Care sunt zerourile filtrului Butterworth discret ?c. Ce poli trebuie să aibă un filtru analogic pentru ca prin transformareabiliniară să se obţină din el un filtru FIR ?PP 4.5.2 Demonstraţi că transformarea biliniară (4.44) transformă cercul unitateîn axa imaginară (şi nu doar invers, aşa cum am demonstrat în PR4.5.2).Observaţi că dacă un filtru Butterworth analogic are frecvenţa de tăiere Ω t = 1,atunci polii filtrului Butterworth discret obţinut prin transformarea biliniară se aflăpe axa imaginară (vezi PR4.5.1).PP 4.5.3 Indicaţi modul de proiectare al unui filtru IIR Butterworth de tip trecesusconform următoarelor cerinţe de tip F TOL: bandă de trecere [ω b , π], bandăde oprire [0, ω s ], toleranţe ∆ b în banda de trecere şi ∆ s în cea de oprire.PP 4.5.4 Modificaţi algoritmul de proiectare din PR4.5.3 astfel încât cerinţeleproblemei F TOL să fie satisfăcute de un filtru Butterworth pentru care H(1) = 1+∆ b . (Spre deosebire, algoritmul din PR4.5.3 consideră H(1) = 1, adică amplificareunitară în regim staţionar.) Pentru scrierea algoritmului, demonstraţi că ordinulfiltrului se obţine prin modificarea relaţiei (4.54) îniar frecvenţa de tăiere esten ≥log M 2 b [(1 + ∆ b) 2 − ∆ 2 s]∆ 2 s[(1 + ∆ b ) 2 − M 2 b ]2 log Ω s /Ω b, (4.59)Ω bΩ t = [ (1 + ∆b ) 2 − Mb2 ] 1/2n. (4.60)M 2 bÎn fine, observaţi că funcţia de transfer (4.56) a filtrului trebuie înmulţită cu 1 + ∆ bpentru a obţine amplificarea dorită în regim staţionar.PP 4.5.5 De multe ori, în locul transformării biliniare (4.45) se foloseşte formamai generalăs = 2 1 − z −1, (4.61)T 1 + z−1 cu T > 0 fixat.a. Calculaţi inversa acestei transformări.b. Demonstraţi că transformarea posedă proprietăţile enumerate la începutulsecţiunii 4.5.2.c. Care sunt analoagele formulelor (4.47) în cazul acestei transformări ?


118 CAPITOLUL 4. PROIECTAREA FILTRELORGhid MatlabFiltrul Butterworth analogic se proiectează cu apelul>> [rb, ra, k0] = buttap(N)Funcţia primeşte ordinul filtrului şi întoarce zerourile, polii şi amplificarea acestuia.Frecvenţa de tăiere are valoarea normalizată Ω t = 1.Filtrele analogice Chebyshev, de tip I şi II, şi eliptic se proiectează cu funcţiilecheb1ap, cheb2ap şi, respectiv, ellipap. De exemplu, filtrul Chebyshev de tip I seobţine cu>> [rb, ra, k0] = cheb1ap(N, Mb)unde Mb este înălţimea ondulaţiilor în banda de trecere, în decibeli.Transformarea biliniară, în forma generală (4.61), este implementată de funcţiabilinear. Un apel la aceasta are forma>> [rbd, rad, k0d] = bilinear(rb, ra, k0, F)Primele trei argumente de intrare sunt zerourile, polii şi amplificarea filtrului analogic.Al patrulea argument, F, este valoarea 1/T din (4.61). Argumentele de ieşiresunt zerourile, polii şi amplificarea filtrului discret rezultat în urma aplicării transformăriibiliniare filtrului analogic.Metoda de proiectare prin transformare a filtrului Butterworth discret este implementatăde funcţia butter. Funcţia se apelează cu>> [b, a] = butter(N, wt)N este ordinul filtrului iar variabila wt corespunde frecvenţei discrete (normalizate)ω t din (4.48). Funcţia butter se comportă într-un mod echivalent următoruluialgoritm: calculează Ω t = tg(ω/2), conform cu (4.47), proiectează filtrul analogicde ordinul N, apoi aplică transformarea biliniară pentru a obţine filtrul discret dorit.De exemplu, pentru a obţine filtrul H 3 (z) cerut în problema PR4.5.1, observămcă lui Ω t = 1 îi corespunde prin (4.47) ω t = π/2 şi deci folosim apelul (nu uitaţi,frecvenţele sunt mereu normalizate)>> [b, a] = butter(3, 0.5)Filtrele discrete Chebyshev, de tip I şi II, şi eliptic se proiectează cu funcţiilecheby1, cheby2 şi, respectiv, ellip. De exemplu, filtrul Chebyshev de tip I seobţine cu>> [b, a] = cheby1(N, Mb, wb)unde Mb este înălţimea ondulaţiilor în banda de trecere, în decibeli, N este ordinulfiltrului iar wb este frecvenţa maximă de trecere.În plus faţă de comportarea deja descrisă, toate aceste funcţii permit proiectareaunor filtre trece-sus sau opreşte-bandă (care se obţin prin transformări în frecvenţăale filtrului trece-jos). De asemenea, ele pot calcula filtre analogice, înlăturândrestricţia Ω t = 1 de la funcţiile buttap etc.


Capitolul 5Analiza în frecvenţă asemnalelorScopul acestui capitol este de a prezenta metode pentru studiul practic al conţinutuluiîn frecvenţă al unui semnal discret. Principalul instrument utilizat este transformataFourier discretă, calculată cu ajutorul algoritmului FFT (Fast Fourier Transform –transformata Fourier rapidă). Semnalele de care ne ocupăm sunt de două tipuri,rezultate din practică şi legate între ele:• semnale periodice• semnale cu suport finitPrimele sunt utilizate în multe aplicaţii, iar conţinutul lor în frecvenţă poate fi calculatutilizând o singură perioadă a semnalului. Utilitatea suportului finit mai apareşi atunci când trebuie analizate în timp real proprietăţile unui semnal neperiodic(şi eventual nestaţionar); în acest scop, se iau porţiuni (cadre) succesive ale semnalului,fiecare având evident suport finit; în fiecare cadru se calculează conţinutulîn frecvenţă pentru intervalul de timp corespunzător.În tot acest capitol, dacă ˜x[n] este un semnal N-periodic, notăm x[n] semnalulcu suport 0 : N − 1 care reprezintă o perioadă a lui ˜x[n], adică{˜x[n], dacă x ∈ 0 : N − 1,x[n] =0, altfel.(5.1)Invers, dacă x[n] este un semnal cu suport 0 : N − 1, notăm ˜x[n] prelungirea luiprin periodicitate, dată de˜x[n] = x[n mod N]. (5.2)5.1 Seria Fourier discretăFie ˜x[n] un semnal N-periodic, i.e. ˜x[n + kN] = ˜x[n], ∀k ∈ Z. Ca şi în cazulsemnalelor continue, un semnal discret periodic se poate descompune ca o sumă desinusoide a căror frecvenţă este multiplu al frecvenţei fundamentale 2π/N. Spre119


120 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>deosebire de cazul continuu, unde toate aceste sinusoide sunt distincte, în cazuldiscret există doar N sinusoide distincte (vezi secţiunea 1.1).Teorema 5.1 (Reprezentarea unui semnal periodic prin seria Fourier) Orice semnalN-periodic ˜x[n] se poate reprezenta prin seria Fourier discretă (SFD)˜x[n] = 1 NN−1∑k=0˜X[k]e j 2π N kn . (5.3)Valorile ˜X[k], k = 0 : N − 1, se numesc coeficienţii seriei Fourier discrete.Factorul 1/N a fost introdus doar din considerente formale.Notăm, pe tot parcursul capitolului,Cu această notaţie, relaţia (5.3) se scrieNotămNotând (oarecum abuziv)˜x[n] = 1 Nw 0 Nw N = e −j 2π N . (5.4)N−1∑k=0˜X[k]w −knN . (5.5)⎡wN 0 wN 0 . . . w 0 ⎤NwN0 w −1N. . . w −(N−1)NF N =wN0 w −2N. . . w −2(N−1)N⎢ . ... (5.6)⎥⎣ . . . . . . ⎦⎡˜x = ⎢⎣˜x[0]˜x[1].˜x[N − 1]w−(N−1) N. . . w −(N−1)2N⎤⎥⎦ ,⎡˜X = ⎢⎣˜X[0]˜X[1]..˜X[N − 1]se observă imediat că relaţia (5.3) se poate scrie în forma compactă⎤⎥⎦ , (5.7)˜x = 1 N F N H ˜X. (5.8)Propoziţia 5.2 Matricea F N definită de (5.6) are structură Vandermonde, estesimetrică, iar FN HF N = F N FN H = N · I (adică √ 1NF N este o matrice unitară).Demonstraţie. Structura Vandermonde şi simetria sunt evidente. Atenţie, matriceaF N nu este hermitică, adică F N ≠ FN H . Pentru restul demonstraţiei, veziproblema PR5.1.2.


5.1. SERIA FOURIER DISCRETĂ 121Teorema 5.3 (Calculul coeficienţilor seriei Fourier discrete) Coeficienţii seriei Fourier(5.3) asociate semnalului periodic ˜x[n] au forma˜X[k] =N−1∑n=0˜x[n]e −j 2π N kn =N−1∑n=0Folosind notaţiile (5.6) şi (5.7), putem scrie echivalent˜x[n]w knN . (5.9)˜X = F N ˜x. (5.10)Demonstraţie. Înmulţim la stânga cu F N în (5.8) şi obţinem, graţie Prop. 5.2,egalitatea (5.10). La nivel de element, această egalitate este echivalentă cu (5.9).Aşadar, transformarea dintre vectorul ˜x, reprezentând o perioadă a semnaluluiN-periodic ˜x[n], şi vectorul ˜X este biunivocă, în sensul că relaţiile (5.3) şi (5.9) suntuna inversa celeilalte. Aceste relaţii sunt numite• (5.9): de analiză, prin care din semnalul ˜x[n] se calculează coeficienţii serieiFourier, care arată ponderea fiecărei sinusoide în semnal ( ˜X[k] este coeficientulsinusoidei de frecvenţă 2kπ/N, iar | ˜X[k]| 2 este puterea acestei frecvenţe însemnal; pentru lămuriri suplimentare, vezi problema PR5.1.3);• (5.3): de sinteză, prin care semnalul este refăcut din coeficienţii seriei Fourier.Desigur, coeficienţii ˜X[k] ai seriei Fourier pot fi definiţi pentru orice k ∈ Z, ”semnalul”astfel obţinut fiind N-periodic.Proprietăţi ale seriei Fourier discreteVom enumera în continuare câteva proprietăţi importante ale seriei Fourier discrete.Fie ˜x[n], ỹ[n] semnale complexe N-periodice, iar ˜X[k] = SF D(˜x[n]), Ỹ [k] =SF D(ỹ[n]), seriile Fourier discrete asociate acestora. Pentru comparaţie, revedeţiîn secţiunea 1.2 proprietăţile similare ale transformatei Fourier.Liniaritate. Pentru orice α, β ∈ C avemSF D(α˜x[n] + βỹ[n]) = α · SF D(˜x[n]) + β · SF D(ỹ[n]). (5.11)Întârziere. Fie n 0 un întreg oarecare şi ỹ[n] = ˜x[n − n 0 ]. Observaţi în figura 5.1că întârzierea cu n 0 a unui semnal N-periodic este echivalentă cu deplasarea ciclicăde n 0 ori la stânga a eşantioanelor cu suportul 0 : N − 1. Atunci avemỸ [k] = w kn 0 ˜X[k]. N(5.12)Complex conjugare. Fie y[n] = x ∗ [n]. Atunci avemỸ [k] = ˜X[−k] = ˜X[N − k]. (5.13)Simetrii ale SFD pentru semnale reale. Dacă semnalul ˜x[n] este real, atunci auloc următoarele proprietăţi de simetrie:˜X[k] = ˜X ∗ [−k]Re ˜X[k] = Re ˜X[−k]Im ˜X[k] = −Im ˜X[−k]| ˜X[k]| = | ˜X[−k]|arg ˜X[k] = −arg ˜X[−k](5.14)


122 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>... ...n... ...nFigura 5.1: Stânga: semnal periodic cu perioadă N = 6. Dreapta: acelaşi semnal,după întârzierea cu n 0 = 2. (Liniile punctate verticale marchează perioade alesemnalelor.)Cu alte cuvinte, | ˜X[k]| şi Re ˜X[k] sunt funcţii discrete (în variabila k) pare, iarIm ˜X[k] şi arg ˜X[k] sunt funcţii impare. În plus, toate aceste funcţii sunt N-periodice.Timp invers. Considerăm semnalul ỹ[n] = ˜x[−n]. AvemỸ [k] = ˜X ∗ [−k]. (5.15)”Teorema” lui Parseval. În privinţa conservării energiei prin transformareaSFD, avem următorul rezultat similar cu (1.21):N−1∑n=0|˜x[n]| 2 = 1 NN−1∑k=0| ˜X[k]| 2 . (5.16)Convoluţie periodică. Pentru semnalele N-periodice se defineşte o operaţie specificăde convoluţie, care ia în considerare doar câte o perioadă a semnalelor.Definiţia 5.4 Convoluţia periodică a semnalelor N-periodice ˜x[n] şi ỹ[n] este semnalul˜x[n] ⊛ ỹ[n] defN−1∑= ˜x[l]ỹ[n − l]. (5.17)l=0Seria Fourier discretă asociată convoluţiei a două semnale este produsul (la nivelde element) al seriilor Fourier ale semnalelor, i.e.SF D(˜x[n] ⊛ ỹ[n]) = ˜X[k] · Ỹ [k]. (5.18)Modulaţie în timp. Avem un rezultat dual cu (5.18), anumeSF D(˜x[n]ỹ[n]) = 1 N ˜X[k] ⊛ Ỹ [k]. (5.19)


5.1. SERIA FOURIER DISCRETĂ 123Probleme rezolvatePR 5.1.1 Demonstraţi că, pentru m ∈ Z, este adevărată egalitateaN−1∑k=0{wN km N, dacă m mod N = 0,=0, altfel,(5.20)unde w N este constanta definită de (5.4).Soluţie. Dacă m mod N = 0, atunci w kmN= 1, pentru orice k ∈ Z. Altfel, avemN−1∑k=0w kmN= 1 − wmN N1 − wNm= 0,deoarece w mNN = 1.PR 5.1.2 Demonstraţi că F H N F N = N · I, unde F N este matricea (5.6).Soluţie. Calculăm elementul (i, l) al matricei F H N F N , folosind (5.20):(F H N F N ) il =N−1∑k=0N−1∑w −kiNwkl N =k=0{w k(l−i) N, dacă i = l,N=0, dacă i ≠ l.(Observăm că, deoarece i, l ∈ 0 : N − 1, singurul caz în care egalitatea (i − l) modN = 0 are loc este când i = l.)PR 5.1.3 Calculaţi coeficienţii seriilor Fourier discrete asociate următoarelor semnaleN-periodice˜x 1 [n] = e j 2πmN n ,2πm −j N n ,˜x 2 [n] = e˜x 3 [n] = sin ( 2πmN n) ,˜x 4 [n] = cos ( 2πmN n) ,unde m ∈ 0 : N − 1. (Se observă că, dacă m şi N nu sunt numere prime între ele,perioada semnalelor este de fapt mai mică. Chiar şi în acest caz, le considerăm totN-periodice.)Soluţie. Identificând pur şi simplu în (5.9), obţinem, pentru k ∈ 0 : N − 1,˜X 1 [k] = δ[k − m],i.e. doar coeficientul X 1 [m] este nenul şi deci toată puterea semnalului este concentratăîntr-o singură frecvenţă. La fel, observând că˜x 2 [n] = e j 2π(N−m)N n ,obţinem˜X 2 [k] = δ[k − (N − m)].


124 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>Pentru celelalte două semnale, observăm căx 3 [n] = x 1[n] − x 2 [n]2j, x 4 [n] = x 1[n] + x 2 [n].2Aşadar, seria Fourier asociată unei sinusoide complexe de frecvenţă 2πm/N are unsingur coeficient nenul, cel cu indice m sau N − m; dacă sinusoida este reală, atunciambii coeficienţi sunt nenuli. Deci, în general, puterea unui semnal N-periodic ˜x[n]în frecvenţa 2πm/N este dată de doi coeficienţi ai SFD, anume ˜X[m] şi ˜X[N − m].PR 5.1.4 Demonstraţi proprietăţile (5.11–5.19) ale seriei Fourier discrete.Soluţie. Liniaritatea (5.11) este evidentă.Întârziere. Aplicând definiţia (5.9) obţinemỸ [k] =N−1∑n=0N−1∑ỹ[n]wN kn =n=0˜x[n − n 0 ]w k(n−n0)Nw kn0N= ˜X[k]. wkn0 NAm ţinut seama de faptul că atât ˜x[n] cât şi ṽ[n] = wNknşi deciN−1∑n=0N−1∑˜x[n − n 0 ]w k(n−n 0)N=n=0Complex conjugare. Pentru ỹ[n] = ˜x ∗ [n] obţinemỸ [k] =N−1∑n=0˜x ∗ [n]w knN =sunt semnale N-periodice,˜x[n]w knN .( N−1) ∗∑˜x[n]w −knN= ˜X[−k] = ˜X[N − k].n=0Ultima egalitate rezultă din periodicitatea coeficienţilor SFD.Simetriile TF pentru semnale reale rezultă din (5.13), ţinând seama că ˜x ∗ [n] =˜x[n]. Aşadar avem ˜X[k] = X ∗ (−ω), ceea ce implică toate relaţiile (5.14).Timp invers. Aplicând definiţia (5.9) obţinemỸ [k] =N−1∑n=0˜x[−n]w knN =( N−1) ∗∑˜x ∗ [N − n]w k(N−n)N= SF D(˜x ∗ [n]) ∗ = ˜X ∗ [−k].n=0”Teorema” lui Parseval. Utilizând relaţia (5.8) şi Prop. 5.2 obţinemN−1∑n=0Convoluţie periodică.definit în (5.17) esteN−1∑n=0N−1∑l=0˜x[l]ỹ[n − l]w knN =|˜x[n]| 2 = ˜x H ˜x = 1 N ˜XN−1H 1 ∑˜X =Nk=0| ˜X[k]| 2 .Seria Fourier discretă asociată semnalului ˜x[n] ⊛ ỹ[n]( N−1) ( ∑ N−1)∑˜x[l]w Nkl ỹ[n − l]w k(n−l)N=l=0n=0˜X[k]Ỹ [k].


5.2. TRANSFORMATA FOURIER DISCRETĂ 125ceea ce demonstrează (5.18). Expresia de mai sus pentru Ỹ [k] este corectă deoareceatât ỹ[n − l] cât şi w k(n−l)N(cu n ca variabilă timp) sunt N-periodice.Modulaţie în timp. Relaţia (5.19) se demonstrează pornind de la termenul dindreapta, în care se substituie definiţia (5.9).Probleme propusePP 5.1.1 Constanta w N din (5.4) are numeroase proprietăţi, unele extrem de utileîn continuare.a. Demonstraţi că dacă N şi n sunt divizibile cu k atunci avem w n N = wn/k N/k .b. Demonstraţi că dacă N este divizibil cu 2, atunci w N/2Ndivizibil cu 4, atunci avem şi w N/4N= j, w3N/4N= −j.c. Demonstraţi că ecuaţia z N − 1 = 0 are soluţiile wN n= −1. Dacă N este, n = 0 : N − 1. Din egalitateaz N − 1 = ∏ N−1n=0 (z − wn N ), folosind relaţiile lui Viète, deduceţi alte proprietăţiale numerelor wN n .PP 5.1.2 a. Fie ˜x[n] un semnal N-periodic. Seria Fourier discretă ˜X[k] = SF D(˜x[n])a semnalului este N-periodică, aşadar îi putem asocia ei însăşi o serie Fourier discretă.Demonstraţi că SF D( ˜X[k]) = N ˜x[−n] (atenţie, în ultima relaţie am interschimbatrolurile uzuale ale indicilor n şi k). Aşadar, prin calculul succesiv a douăSFD (5.9) obţinem semnalul original, în timp invers, scalat cu factorul N.b. Fie F N matricea definită în (5.6). Demonstraţi că[ ]FN 2 1 0= N,0 J N−1unde J N−1 este matricea ”contraidentitate” (cu 1 pe diagonala secundară şi 0 înrest), de dimensiune (N − 1) × (N − 1). Observaţi, utilizând (5.10), că egalitateade mai sus constituie o altă demonstraţie a cerinţei de la punctul a.PP 5.1.3 (Proprietăţi ale convoluţiei periodice)a. Demonstraţi că operaţia de convoluţie periodică este comutativă şi asociativă.b. Fie ˜x[n], ỹ[n] două semnale periodice şi ṽ[n] = ˜x[n] ⊛ ỹ[n] convoluţia lorperiodică. Demonstraţi că pentru orice n 0 ∈ N avemṽ[n − n 0 ] = ˜x[n − n 0 ] ⊛ ỹ[n] = ˜x[n] ⊛ ỹ[n − n 0 ].5.2 Transformata Fourier discretăFie x[n] un semnal cu suport 0 : N − 1. Dorim să analizăm spectrul acestui semnal.Transformata sa Fourier (TF) esteX(ω) =N−1∑n=0x[n]e −jωn . (5.21)


126 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>|x[n]|1|X[k]|n10N/2πN2πkωFigura 5.2: Stânga: un semnal cu suport 0 : 7.(amplitudine) şi eşantioanele obţinute cu TFD.Dreapta: spectrul semnaluluiDesigur, această expresie poate fi utilizată pentru evaluarea spectrului în orice punctω ∈ [0, 2π]. Totuşi, un mod de calcul mai eficient, prin care se obţine spectrul doarîn N puncte echidistante, se bazează pe transformata Fourier discretă.Definiţia 5.5 Transformata Fourier discretă (TFD) a semnalului x[n] cu suport0 : N − 1 este secvenţaX[k] =N−1∑n=0x[n]e −j 2π N kn =N−1∑n=0x[n]w knN , k = 0 : N − 1, (5.22)unde w N este definit de (5.4). Vom nota în continuare X[k] = T F D N (x[n]) (ignorândeventual indicele N atunci când lungimea suportului rezultă din context).Observaţia 5.6 Comparând (5.22) şi (5.21), observăm relaţia dintre TF şi TFD.Se observă că punând ω = 2πk/N, k ∈ 0 : N − 1, în TF (5.21), obţinem exact TFD(5.22). Aşadar, pentru semnale cu suport finit, TFD reprezintă o eşantionare a TF,în N frecvenţe echidistante aflate în intervalul [0, 2π]. Pentru ilustrare, prezentămîn figura 5.2 un semnal cu suport 0 : 7 (deci N = 8), transformata Fourier a acestuia(care este o funcţie continuă cu suport [0, 2π]) şi transformata Fourier discretă asemnalului, care eşantionează TF în frecvenţele 0 : π/4 : 7π/4.Observaţia 5.7 De asemenea, se observă imediat, comparând (5.22) cu (5.9), căTFD se defineşte la fel ca seria Fourier discretă asociată semnalului N-periodic˜x[n], care reprezintă prelungirea prin periodicitate (5.2) a semnalului x[n]. Facemconvenţia că TFD se defineşte doar pe eşantioanele 0 : N − 1, în timp ce SFD seprelungeşte prin periodicitate pentru orice k ∈ Z; în acest fel, notaţiile X[k] din(5.22) şi ˜X[k] din (5.9) sunt consistente.Cele două observaţii de mai sus ne arată cum pot fi deduse uşor proprietăţileTFD. În primul rând, toate proprietăţile SFD din secţiunea precedentă se pot aplica


5.2. TRANSFORMATA FOURIER DISCRETĂ 127transformatei Fourier discrete. Singura precauţie care trebuie luată este de a evitaieşirea din suportul finit 0 : N − 1 în urma deplasărilor. Ca în figura 5.1, toatedeplasările sunt interpretate ciclic în intervalul 0 : N − 1. Vom exemplifica încontinuare prin analogul relaţiei (5.12).Deplasarea ciclică a unui semnal. Fie x[n] un semnal cu suport 0 : N − 1.Semnalul deplasat circular (”întârziat”) cu n 0 eşantioane la dreapta este y[n] =x[(n − n 0 ) mod N], iar TFD a sa esteY [k] = w kn 0NX[k]. (5.23)Se observă că formal relaţia de mai sus este identică cu (5.12).Convoluţia circulară. Ideea deplasării ciclice se aplică şi pentru a defini ooperaţie de convoluţie specifică semnalelor cu acelaşi suport finit.Definiţia 5.8 Convoluţia ciclică a semnalelor x[n] şi y[n], ambele cu suport finit0 : N − 1, este semnalulx[n] ⊛ N y[n] defN−1∑= x[l]y[(n − l) mod N]. (5.24)l=0Transformata Fourier discretă a convoluţiei ciclice a două semnale cu suport0 : N − 1 este produsul (la nivel de element) al TFD ale celor două semnale, i.e.T F D(x[n] ⊛ N y[n]) = X[k] · Y [k]. (5.25)În al doilea rând, proprietăţile TFD pot fi deduse din cele ale TF, având învedere că TFD este o eşantionare a TF. De exemplu, relaţiile de simetrie (5.3) aleSFD pentru semnale reale (identice ca formă pentru TFD, după înlăturarea tildeicare marchează periodicitatea) pot fi deduse direct din proprietăţile similare (1.17)ale TF.În fine, să menţionăm că transformata Fourier discretă inversă (TFDI) are oformă identică cu (5.3).Propoziţia 5.9 Dacă x[n] este un semnal cu suport 0 : N−1 şi X[k] = T F D(x[n]),atunci are loc egalitateax[n] = 1 NN−1∑k=0X[k]e j 2π N kn = 1 Ncare defineşte transformata Fourier inversă.Probleme rezolvateN−1∑k=0X[k]w −knN . (5.26)PR 5.2.1 Fie x[n] un semnal cu suport 0 : N−1. Am văzut că X[k] = T F D N (x[n])calculează o eşantionare în N puncte a spectrului semnalului x[n].a. Fie m un întreg pozitiv şi x 0 [n] semnalul obţinut prin prelungirea cu zerouria semnalului x[n] până la lungime mN, i.e.{x[n], dacă 0 ≤ n ≤ N − 1,x 0 [n] =0, dacă N ≤ n ≤ mN − 1.


128 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>(De fapt am prelungit artificial suportul lui x[n].) Demonstraţi că T F D mN (x 0 [n])este o eşantionare în mN puncte a spectrului semnalului x[n].b. Cum se poate obţine o eşantionare a spectrului semnalului x[n] în N/mpuncte, unde m este un divizor al lui N ?Soluţie. a.În mod evident avemX(ω) =N−1∑n=0x[n]e −jωn = X 0 (ω),deci transformatele Fourier ale semnalelor x[n] (cu suport 0 : N − 1) şi x 0 [n] (cusuport 0 : mN − 1) coincid. Concluzia rezultă imediat. Observăm că putem puneîn loc de mN orice întreg N ′ > N, nu neapărat un multiplu al lui N.b. Se calculează pur şi simplu mai puţine eşantioane ale TFD (5.22), alegândvalori convenabile k ∈ 0 : N − 1.PR 5.2.2 Fie x[n] un semnal cu suport 0 : N − 1. Se construieşte semnalul y[n],cu suport 0 : 2N − 1, definit prin{y[n] = x[n] ↑ 2 def x[n], pentru n par,=0, pentru n impar,Operaţia ”↑ 2” este numită interpolare de ordin 2 pentru că între două eşantioanesuccesive ale lui x[n] se intercalează o valoare de zero. Fie X[k] = T F D N (x[n]) şiY [k] = T F D 2N (y[n]) (atenţie, cele două transformate au suporturi diferite). Careeste legătura dintre X[k] şi Y [k] ? Ilustraţi grafic această legătură.Generalizaţi pentru interpolarea de ordin m, când y[n] are suport 0 : mN − 1 şieste definit prin{y[n] = x[n] ↑ m def x[n], pentru n mod m = 0,=0, altfel.Soluţie. Utilizând definiţia (5.22), obţinem2N−1∑N−1∑Y [k] = y[n]w2N kn =n=0n=0N−1∑x[n]w2N 2kn =n=0x[n]w knN= X[k].În egalitatea de mai sus am prelungit prin periodicitate X[k]; riguros, ar trebui săscriem Y [k] = X[k mod n], k = 0 : 2N − 1. Aşadar transformata Fourier discretăa lui x[n] ↑ 2 se compune din două copii alăturate ale T F D N (x[n]). Dacă X[k] areforma din stânga figurii 5.3, atunci Y [k] are forma din dreapta aceleiaşi figuri.În general, în cazul interpolării de ordin m, transformata Y [k] se compune dinm copii alăturate ale lui X[k].Probleme propusePP 5.2.1 Calculaţi transformatele Fourier discrete ale semnalelor x 0 [n] = 1 şix 1 [n] = (−1) n , ambele cu suport 0 : N − 1. Pentru al doilea semnal, observaţică rezultatul depinde de paritatea lui N.


5.2. TRANSFORMATA FOURIER DISCRETĂ 129|X[k]||Y[k]|0 N/2N k 0N/2N kπ2πωFigura 5.3: Stânga: TFD a unui semnal x[n] real. Dreapta: TFD a semnaluluix[n] ↑ 2. (Cu linie continuă sunt desenate TF ale celor două semnale.)π2πωPP 5.2.2 Fie x[n], y[n] două semnale reale, cu suport 0 : N − 1. Semnalul x n estesimetric, în sensul că x[n] = x[(N − n) mod N], iar y[n] este antisimetric, în sensulcă y[n] = −y[(N − n) mod N].a. Fie X[k], Y [k] transformatele Fourier discrete ale celor două semnale. Demonstraţică X[k] este reală, iar Y [k] pur imaginară.b. Observaţi că orice semnal real v[n] se poate scrie în forma v[n] = x[n] + y[n],cu x[n] simetric şi y[n] antisimetric. Dându-se V [k] = T F D N (v[n]), cum pot ficalculate x[n], y[n] ?PP 5.2.3 Fie x[n] un semnal cu suport 0 : N − 1, iar y[n] un semnal cu suport0 : 2N − 1, astfel încât y[n] = x[n mod N] (adică semnalul y[n] se compune dindouă copii alăturate ale lui x[n]).Fie X[k] = T F D N (x[n]) şi Y [k] = T F D 2N (y[n]) Care este legătura dintre X[k]şi Y [k] ? Ilustraţi grafic această legătură.Ghid MatlabTransformata Fourier discretă a unui semnal x (memorat într-un vector) se calculeazăcu>> X = fft(x)Dacă suportul mesajului are lungime putere a lui 2, atunci algoritmul folosit esteFFT (transformata Fourier rapidă), care va fi discutat în secţiunea următoare; altfel,se foloseşte un algoritm mai lent. Apelul>> X = fft(x, N)calculează TFD a semnalului x prelungit cu zerouri până la lungime N. Aşa cum amvăzut în problema PR5.2.1, o astfel de TFD calculează o eşantionare mai deasă aspectrului semnalului.Transformata Fourier discretă inversă se calculează cu>> x = ifft(X)


130 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>Evident, ifft(fft(x)) produce semnalul original (cu inevitabilele erori numerice).Deoarece funcţia fft calculează DFT conform definiţiei (5.22), vectorul X obţinutreprezintă o eşantionare a spectrului definit pe [0, 2π). Funcţia fftshift realizeazădeplasarea vectorului X astfel încât spectrul eşantionat să corespundă intervalului[π, π). Apelul>> Y = fftshift(X)mută în primele N/2 poziţii din Y a doua jumătate a vectorului X.5.3 Transformata Fourier rapidăTransformata Fourier rapidă (FFT – Fast Fourier Transform) este numele genericpentru o clasă de algoritmi rapizi de calcul al transformatei Fourier discrete (TFD),pentru semnale cu suport finit. Primul algoritm de acest tip a fost propus deCooley şi Tukey în 1965. Numele FFT provine din complexitatea de O(N log 2 N)operaţii aritmetice necesare calculului TFD al unui semnal cu N eşantioane. Spredeosebire, algoritmul banal care implementează (5.22) ca atare (printr-o înmulţirematrice-vector) necesită O(N 2 ) operaţii. Reducerea complexităţii este semnificativăpentru valori practice ale mărimii suportului: pentru N = 1024, avem N 2 ≈ 10 6 şiN log 2 N ≈ 10 4 ; deja pentru N = 100 complexitatea scade de N/ log 2 N = 10 ori.Notăm TFD N (·) transformata Fourier discretă a unui semnal (neprecizat) cusuport de lungime N. Vom prezenta mai jos doi algoritmi de tip FFT, bazaţi peideea de decimare, adică de reducere a calculului TFD N (·) la calculul unor TFD delungime mai mică. Pentru simplitatea prezentării, vom considera doar cazul practicîn care N este o putere a lui 2. În acest caz, decimarea este de fapt înjumătăţire,iar calculul TFD N (·) se reduce la calculul a două transformări TFD N/2 (·). Ideeaesenţială este de a aplica recursiv procedeul de decimare, pentru calculul fiecăreiTFD de lungime mai mică. Aşadar, algoritmii FFT sunt de tip divide et impera.Vom detalia metodele de decimare şi aplicarea lor recursivă în cele ce urmează.5.3.1 Decimare în timpSpargerea calculului TFD N (x[n]), unde x[n] este un semnal cu suport 0 : N − 1, iarN este putere a lui doi, se face profitând de următoarea separare, în esenţă extremde simplă, a relaţiei de definiţie (5.22):X[k] ====N−1∑n=0N−1∑n parN/2−1∑m=0N/2−1∑m=0x[n]w knNx[n]w knN +N−1∑n imparx[n]w knNN/2−1∑x[2m]wN 2km +m=0N/2−1x[2m]wN/2 km + ∑wk Nx[2m + 1]w k(2m+1)Nm=0x[2m + 1]w kmN/2 . (5.27)


5.3. TRANSFORMATA FOURIER RAPIDĂ 131Aşadar, în prima linie a şirului de egalităţi de mai sus avem definiţia (5.22) a TFD.În a doua linie, separăm suma din prima linie în două sume, una corespunzândindicilor pari, cealaltă celor impari. În a treia linie exprimăm formal separarea prinsubstituţiile n = 2m, m = 0 : N/2−1, în prima sumă, şi n = 2m+1, m = 0 : N/2−1,în a doua. Trecerea la ultima linie se bazează pe relaţia evidentăw 2kmN= e −j 2π N 2km 2π −j= eN/2 km = wN/2 km .Din (5.27) rezultă că TFD N (x[n]) se calculează ca sumă a două TFD a unor semnalecu suport 0 : N/2−1, formate din eşantioanele pare, respectiv impare, ale semnaluluix[n]. Notând x p [m] = x[2m] şi x i [m] = x[2m + 1] aceste semnale şiU[k] = TFD N/2 (x p [m]),V [k] = TFD N/2 (x i [m])transformatele Fourier discrete ale lor (de lungime N/2), putem scrieX[k] = U[k] + w k NV [k], k = 0 : N − 1. (5.28)Atenţie, în această relaţie avem k = 0 : N − 1, deci apar două perioade ale transformatelorFourier discrete U[k], V [k]. Schema de calcul corespunzătoare relaţiei(5.28) este ilustrată în figura 5.4; convenim ca unirea a două săgeţi să reprezinte ooperaţie de sumare; o constantă, e.g. wN k , asociată unei săgeţi înseamnă înmulţireasemnalului reprezentat de săgeată cu constanta respectivă. Numărul de operaţiinecesar pentru implementarea relaţiei (5.28), presupunând U[k] şi V [k] cunoscute,este de 2N, anume N adunări complexe şi N înmulţiri complexe.Cheia reducerii numărului de operaţii în algoritmul FFT este utilizarea recursivăa modului de calcul din relaţia (5.27) şi figura 5.4, pentru calculul fiecărei TFD delungime mai mică. Putem ilustra ideea prin următoarea funcţie recursivă, carecalculează TFD N (x[n]).funcţie X = FFT(x, N)1. dacă N = 1 atunci1. X = x2. altfel1. Pune x p [m] = x[2m], x i [m] = x[2m + 1], pentru m = 0 : N/2 − 12. Calculează U = FFT(x p , N/2), V = FFT(x i , N/2) (apel recursiv)3. X[k] = U[k] + wN k V [k], pentru k = 0 : N/2 − 14. X[k] = U[k − N/2] + wN k V [k − N/2], pentru k = N/2 : N − 1Aşadar, se folosesc apeluri recursive până când se ajunge la TFD de lungime1, cănd transformata este identică cu semnalul iniţial. Notând T (N) numărul deoperaţii necesar calculului TFD N (·), din algoritmul de mai sus observăm că esteîndeplinită relaţia recursivăT (N) = 2T (N/2) + 2N, T (1) = 0. (5.29)Rezolvarea ei furnizează T (N) = 2N log 2 N; vom vedea imediat un mod mai intuitivde obţinere a aceluiaşi rezultat.


132 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>x[0]✲U[0] = U[4]✲X[0]x[2]x[4]x[6]x[1]x[3]x[5]x[7]✲✲✲✲✲✲✲TFD N/2 (·)TFD N/2 (·)❅ U[1] = U[5] ❅❅❅❅❅❅❅❅❅❅❅❅❘❅❅❅ ✒U[2] = U[6] ✒❅ ❅U[3] = U[7] ❅❅❅❅❅❅❅❅❅❅❅❅❘❅❅❅❅❅❅❅❅❅❘❅❅❅❅❅❅❅❅❅❅❅❅❅❘V [0] = V [4] wN4V [1] = V [5] wN5w 0 Nw 1 Nw 2 Nw 3 NV [2] = V [6] ✒ wN6V [3] = V [7] ✒ wN7✲✲✲✲✲✲✲X[1]X[2]X[3]X[4]X[5]X[6]X[7]Figura 5.4: Calculul unei TFD de lungime N = 8 utilizând două TFD de lungimeN/2 = 4 (decimare în timp).


5.3. TRANSFORMATA FOURIER RAPIDĂ 133x[0]x[4]x[2]x[6]x[1]x[5]x[3]x[7]❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ w20w21 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ w20w21 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ w20w21 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ w20w21 ❍❥❅ w 0❅❅❅❅❅❘4❅ ✒ w4❅ 1 w ❅❅❅❅❘42 ✒ w43❅ w 0❅❅❅❅❅❘4❅ ✒ w 1❅❅4 ✒ w42 ❅w ❅❅❘43❅❅❅❅❅❅❅❅❅❅❅❅❘w 0 8❅❅❅❅❅❅❅❅❅❅❅❅❘w 1 8❅ w 2❅❅❅8❅ ✒ ✒ w 3❅❅❅❅❅❅❅❅❅❅❅❘ w84 8❅ ✒ ❅❅❅❅❅❅❅❘ ✒w 85w 86w 87✲✲✲✲✲✲✲✲X[0]X[1]X[2]X[3]X[4]X[5]X[6]X[7]Figura 5.5: Schemă completă de calcul al TFD de lungime N = 8 (decimare întimp).În implementările practice ale algoritmului FFT nu se folosesc apelurile recursive,ci variante iterative echivalente, care conduc la programe mai eficiente. Pentrua ilustra varianta iterativă, am detaliat schema operaţiilor pentru calculul TFD 8 (·)în figura 5.5. Schema, numită diagramă fluture, datorită formei sale, este obţinutădin cea din figura 5.4 prin detalierea operaţiilor necesare tuturor TFD de lungimemai mică. Liniile punctate verticale separă etapele de calcul (iteraţiile sau nivelelede recursie, după cum interpretăm algoritmul); în fiecare etapă se combină TFDde lungime mai mică, pentru a obţine un număr de două ori mai mic de TFD delungime dublă. Observăm cu uşurinţă că sunt log 2 N etape şi că în fiecare dintreele se efectuează 2N operaţii, ceea ce conduce la totalul deja calculat de 2N log 2 N.O întrebare imediată este în ce ordine se află eşantioanele semnalului de intrare.(Ieşirea este ordonată natural.) Parcurgând diagrama din figura 5.5 de la dreaptala stânga, şi având în vedere separarea în parţile pară şi impară a semnalului deintrare (ca în figura 5.4), observăm următoarele. Înaintea ultimei etape, elementelex[n], cu n par, se află în jumătatea de sus a diagramei (adică sunt primele), iar celecu n impar se află în jumătatea de jos. Aşadar, privind la reprezentarea binară alui n, elementele cu ultimul bit al indicelui egal cu zero sunt în prima jumătate. Săprivim acum doar la secvenţa elementelor cu n par. Înaintea ultimei etape, ele suntseparate în două; cele cu indice par în această secvenţă, adică cele pentru care nse divide cu 4, sau pentru care penultimul bit al lui n este zero, se află în sfertulde sus al diagramei; celelalte, pentru care penultimul bit este 1, sunt în al doilea


134 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>x[0]x[4]x[2]x[6]x[1]x[5]x[3]x[7]w 0 8w 0 8w 0 8w 0 8❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ −1 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ −1 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ −1 ❍❥❍ ❍❍❍❍ ✟✯✟ ✟✟✟✟ −1 ❍❥w80w82w80w82❅❅❅❅❅❅❘❅ ✒❅❅❅❅❅❘ −1 ✒ −1❅❅❅❅❅❅❘❅ ✒ ❅❅❅❅❅❘−1✒ −1w 0 8w 1 8w 2 8w 3 8✲❅❅❅❅❅ ✒✲❅❅❅❅❅❅ ✲❅ ❅❅❅❅❅❅❘ ✒❅❅ ❅❅ ❅ ❅❅❅❅❅❅❘❅ ✒ ✲❅❅❅❅❅❅❅❅❘ −1❅❅❅❅❅❅❅ ✲ ✒ −1 ✲ −1 ✲ ❅−1 ❅❅❘ ✲X[0]X[1]X[2]X[3]X[4]X[5]X[6]X[7]Figura 5.6: Schemă îmbunătăţită de calcul al TFD de lungime N = 8.sfert. Continuând raţionamentul, observăm că semnalul de intrare este ordonatdupă numerele obţinute prin inversarea biţilor indicilor. De exemplu, cu referinţăla figura 5.5, elementul cu indicele 1 = 001 2 este în poziţia 4 = 100 2 ; ordineacompletă este (toate numerele sunt în baza 2): 000, 100, 010, 110, 001, 101, 011,111. Spunem că un semnal astfel ordonat se află în ordine bit-inversă a indicilor.Înainte de a scrie algoritmul iterativ anunţat mai devreme, vom face mici modificăriîn diagrama din figura 5.5. Rezultatul este diagrama de calcul din figura 5.6,obţinută prin simple manipulări ale puterilor numerelor de tip (5.4). Observămîntâi că, cu referire la (5.28), avem wN k = −wk−N/2 N. Apoi, pentru K putere a lui2, putem scrie wK m = wmN/K N. În concluzie, constatăm că se pot utiliza doar constantelewN k , k = 0 : N/2 − 1. În fine, calculele se pot desfăşura pe loc în vectorulcare conţine semnalul iniţial x[n]. Algoritmul corespunzător diagramei din figura5.6 este următorul:funcţie x = FFT decimare timp(x, N)1. Ordonează x în ordine bit-inversă a indicilor2. pentru i = 1 : log 2 N1. K = 2 i2. pentru k = 0 : K : N − 11. pentru m = 0 : K/2 − 11. y = x[k + m]2. z = w mN/KNx[k + K/2 + m]3. x[k + m] = y + z4. x[k + K/2 + m] = y − zAcest algoritm are avantajul că necesită, după cum se vede şi din figura 5.6,


5.3. TRANSFORMATA FOURIER RAPIDĂ 135doar 3N/2 log 2 N operaţii complexe, din care doar N/2 înmulţiri; câştigul faţă dediagrama din figura 5.5 este datorat apariţiei constantelor −1; ele nu mai necesităînmulţiri, ci doar transformă unele adunări în scăderi. Datorită calculului peloc, memoria necesară este de doar N locaţii (plus alte câteva pentru variabileleauxiliare). O implementare Matlab a acestui algoritm este prezentată în problemaPR5.3.1.5.3.2 Decimare în frecvenţăCalculul FFT prin decimare în frecvenţă se bazează pe o idee duală celei folositeîn (5.27) pentru decimarea în timp. Mai precis, dacă acolo se separa semnalul x[n]într-o parte pară şi una impară, acum separarea se face în transformata Fourierdiscretă X[k]. Considerăm întâi indicii pari, k = 2l, l = 0 : N/2 − 1 şi, folosinddefiniţia (5.22), putem scrieX[2l] ===N−1∑n=0N/2−1∑n=0N/2−1∑n=0x[n]w 2lnNx[n]w lnN/2−1N/2 + ∑n=0x[n + N/2]w l(n+N/2)N/2(x[n] + x[n + N/2]) w lnN/2 . (5.30)În linia a doua am separat primii N/2 termeni din sumă de ultimii N/2 (făcândsubstituţia n → n + N/2), iar în linia a treia am dat factori comuni şi am profitatde egalitatea evidentă w lN/2N/2= 1. Am obţinut în final egalitateaX[2l] = TFD N/2 (x[n] + x[n + N/2]), l = 0 : N/2 − 1, (5.31)adică am exprimat jumătatea pară a transformatei X[k] printr-o TFD de lungimeN/2 a semnalului u[n] = x[n] + x[n + N/2] obţinut din semnalul iniţial x[n].Pentru indicii impari, k = 2l + 1, l = 0 : N/2 − 1 scriem în mod analogX[2l + 1] ====N−1∑n=0N/2−1∑n=0N/2−1∑n=0N/2−1∑n=0x[n]w (2l+1)nNN/2−1∑x[n]w (2l+1)nN+x[n]W n N w lnn=0N/2−1N/2 + ∑n=0x[n + N/2]w (2l+1)(n+N/2)Nx[n + N/2]wNw n N/2 ln wlN N w N/2Nw n N (x[n] − x[n + N/2]) w lnN/2 . (5.32)


136 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>x[0]u[0]✲✲X[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]❅ ❅❅❅❅❅❅❅❅❅❅❅❅❘❅❅❅❅❅❅❅ ✒❅ ✒❅❅❅ ❅❅❅❅❅❅❅❅❅❅❅❅❅❘ ✒ ❅❅❅❅❅❅❘ −1 wN0❅ ❅❅❅❅❅❅❅❘ ✒ −1 wN1 −1 wN2 −1 wN3u[1]✲u[2]✲u[3]✲v[0]✲v[1]✲v[2]✲v[3]✲TFD N/2 (·)TFD N/2 (·)✲✲✲✲✲✲✲X[2]X[4]X[6]X[1]X[3]X[5]X[7]Figura 5.7: Calculul unei TFD de lungime N = 8 utilizând două TFD de lungimeN/2 = 4 (decimare în frecvenţă).Am profitat mai sus de egalităţile wNlNechivalentă cu= 1 şi wN/2N= −1. Ultima relaţie (5.32) esteX[2l + 1] = TFD N/2 (w n N(x[n] − x[n + N/2])), l = 0 : N/2 − 1, (5.33)şi are o semnificaţie similară cu (5.31), semnalul de lungime N/2 a cărui TFD secalculează fiind acum v[n] = wN n (x[n]−x[n+N/2]). În concluzie, prin (5.31) şi (5.33)am reuşit exprimarea transformatei Fourier discrete X[k] de lungime N cu ajutorula două transformate de lungime N/2, iar calculele decurg precum în diagrama dinfigura 5.7.Ca şi la decimarea în timp, ideea esenţială este de a utiliza recursiv moduluide calcul din relaţiile (5.31) şi (5.33) şi figura 5.7 pentru calculul fiecărei TFDde lungime mai mică. Se obţine următoarea funcţie recursivă care calculeazăTFD N (x[n]).funcţie X = FFT(x, N)1. dacă N = 1 atunci1. X = x2. altfel1. u[n] = x[n] + x[n + N/2], pentru n = 0 : N/2 − 12. v[n] = wN n (x[n] − x[n + N/2]), pentru n = 0 : N/2 − 13. Calculează X p = FFT(u, N/2), X i = FFT(v, N/2) (apel recursiv)


5.3. TRANSFORMATA FOURIER RAPIDĂ 137x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]❅❅❅❅❅❅❅❅❅❅❅❅❘❅❅❅❅❅❅❅❅❅ ✒❅❅❅❅❅❅❅❅❅❅❅❅❘ ✒❅ ❅❅❅❅❅❅❅❅❅❅❅❘−1 ✒ ❅−1 ❅❅❘ ✒ −1 −1w80w81w82w83❅❅❅❅❅❅❘❅ ❅✒❅❅❅❅❘ ✒ −1 −1❅❅❅❅❅❅❘❅ ✒❅❅❅❅❅❘ −1✒ −1w80w82w80w82❍✲❍❍❍❍❍❥✟✟ ✟✟✟✟✯ −1 w80 ✲❍✲❍❍❍❍❍❥✟✟ ✟✟✟✟✯ −1 w8✲0✲❍ ❍❍❍❍❍❥✟✟ ✟✟✟✟✯ −1 w80 ✲❍✲❍❍❍❍❍❥✟✟ ✟✟✟✟✯ −1 w80 ✲X[0]X[4]X[2]X[6]X[1]X[5]X[3]X[7]Figura 5.8: Schemă completă de calcul al TFD de lungime N = 8 (decimare înfrecvenţă).4. X[2l] = X p [l], X[2l + 1] = X i [l], pentru l = 0 : N/2 − 1Forma iterativă a algoritmului este prezentată în diagrama din figura 5.8. Seobservă că numărul de operaţii este de 3N/2 log 2 N, ca şi pentru algoritmul FFTcu decimare în timp din figura 5.6. Ieşirea diagramei, adică eşantioanele transformateiX[k] sunt în ordinea bit-inversă a indicilor. Din nou, forma de ”fluture”este evidentă. Deoarece detaliile tehnice sunt asemănătoare cu cazul decimării întimp, prezentăm direct forma detaliată a algoritmului iterativ de calcul al FFT prindecimare în frecvenţă; din nou calculele se fac pe loc. O implementare Matlab aalgoritmului este propusă în problema PR5.3.2.funcţie x = FFT decimare frecvenţă(x, N)1. pentru i = 1 : log 2 N1. K = N/2 i−12. pentru k = 0 : K : N − 11. pentru m = 0 : K/2 − 11. u = x[k + m] + x[k + K/2 + m]2. v = w mN/KN(x[k + m] − x[k + K/2 + m])3. x[k + m] = u4. x[k + K/2 + m] = v2. Ordonează x în ordine bit-inversă a indicilor


138 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>function x = fft_decimare_timp(x)% Calculeaza pe loc TFD(x).% Se presupune ca lungimea semnalului este putere a lui 2.% Algoritm: decimare in timpN = length(x);L = log2(N);x = sort_bitinv(x);% ordine bit-inversa a indicilorN2 = N/2;wN = exp( -j*2*pi/N*(0:N2-1) );K = 1;NK = N2;for i = 1 : LK2 = K;K = 2*K;m = 0:K2-1;for k = 1 : K : Ny = x( k+m );z = wN(1:NK:N2) .* x( k+K2+m );x( k+m ) = y + z;x( k+K2+m ) = y - z;endNK = NK/2;endFigura 5.9: Funcţie Matlab pentru calculul TFD al unui semnal cu suport delungime putere a lui doi, utilizând algoritmul iterativ cu decimare în timp.Probleme rezolvatePR 5.3.1 Scrieţi o funcţie Matlab care să implementeze algoritmul FFT cu decimareîn timp, varianta iterativă. Argumentul de intrare este un semnal cu suport0 : N − 1, unde N este o putere a lui 2. Funcţia întoarce transformata Fourierdiscretă a semnalului. Presupuneţi că dispuneţi de o funcţie de ordonare a unuisemnal în ordinea bit-inversă a indicilor. (Problema PP5.3.2 vă propune scriereaacestui program.)Soluţie. Funcţia de calcul al TFD este prezentată în figura 5.9 şi urmeazăîndeaproape algoritmul de la sfârşitul secţiunii 5.3.1. Pe parcursul iteraţiilor, variabileleK2 şi NK au valorile K/2, respectiv N/K. Am eliminat bucla cu contorulm, profitând de posibilitatea operaţiilor cu vectori din Matlab. Programul poate fioptimizat în continuare (din punctul de vedere al limbajului Matlab), sarcină carerămâne cititorului interesat.


5.3. TRANSFORMATA FOURIER RAPIDĂ 139function x = fft_decimare_frecv(x)% Calculeaza pe loc TFD(x).% Se presupune ca lungimea semnalului este putere a lui 2.% Algoritm: decimare in frecventaN = length(x);L = log2(N);N2 = N/2;wN = exp( -j*2*pi/N*(0:N2-1) );K = N;K2 = K/2;NK = 1;for i = 1 : Lm = 0:K2-1;for k = 1 : K : Nu = x(k+m) + x(k+K2+m);v = wN(1:NK:N2) .* (x(k+m) - x(k+K2+m));x( k+m ) = u;x( k+K2+m ) = v;endK = K2;K2 = K/2;NK = NK*2;endx = sort_bitinv(x);% ordine bit-inversa a indicilorFigura 5.10: Funcţie Matlab pentru calculul TFD al unui semnal cu suport delungime putere a lui doi, utilizând algoritmul iterativ cu decimare în frecvenţă.PR 5.3.2 Scrieţi o funcţie Matlab care să implementeze algoritmul FFT cu decimareîn frecvenţă, varianta iterativă. Condiţiile de implementare sunt cele descrisela problema anterioară.Soluţie. Funcţia de calcul al TFD este prezentată în figura 5.10. Rămân valabilesemnificaţiile variabilelor şi comentariile de la programul din problema anterioară.PR 5.3.3 Formulele (5.31) şi (5.33), utilizate pentru algoritmul FFT cu decimareîn frecvenţă, au şi semnificaţia că jumătate din transformata X[k] = T F D N (x[n])poate fi calculată apelând la o TFD de lungime N/2. Arătaţi cum se poate calculaX[4l + 1], l = 0 : N/4 − 1, folosind o TFD de lungime N/4.Soluţie. Separăm suma (5.22) de definiţie a TFD în patru părţi:X[4l + 1] =N−1∑n=0N−1∑x[n]w (4l+1)nN=n=0x[n]w n Nw lnN/4


140 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>=N/4−1∑+n=0N/4−1∑n=0x[n]w n N w lnN/4−1N/4 + ∑n=0x[n + N/2]w n+N/2Nw lnx[n + N/4]w n+N/4NwN/4lnN/4−1N/4 + ∑n=0x[n + 3N/4]w n+3N/4NwN/4ln= T F D N/4 {w n N(x[n] + jx[n + N/4] − x[n + N/2] − jx[n + 3N/4])} .Un rezultat identic se obţine (cu mai multe calcule), aplicând succesiv formulele(5.33) şi (5.31), prima pentru a separa X[2l + 1] din transformata X[k], iar a douapentru a separa X[4l + 1] din X[2l + 1].Probleme propusePP 5.3.1 a. Redesenaţi diagrama din figura 5.5 permutând liniile orizontale astfelîncât intrarea să fie ordonată natural, iar ieşirea în ordinea bit-inversă a indicilor.(Observaţi că forma de fluture se menţine.)b. Redesenaţi diagrama din figura 5.5 astfel încât atât intrarea cât şi ieşirea săfie ordonate natural. (Observaţi dispariţia formei de fluture.)PP 5.3.2 a. Scrieţi o funcţie Matlab care primeşte la intrare un întreg n şi numărulde biţi L pe care este reprezentat n (condiţia 0 ≤ n < 2 L este respectată) şi întoarcenumărul obţinut prin inversarea ordinii biţilor din reprezentarea binară a lui n.b. Scrieţi o funcţie Matlab care primeşte un vector format din N numere şiîntoarce vectorul ordonat în ordine bit-inversă a indicilor (se presupune că indiciiîncep de la zero şi că N este o putere a lui 2). Observaţi că operaţia se poate face peloc în vector, prin interschimbări de elemente; dacă n este un indice şi ñ = bitinv(n)indicele obţinut prin inversarea biţilor în reprezentarea binară a lui n (i.e. bitinveste funcţia cerută la punctul a), atunci avem n = bitinv(ñ).PP 5.3.3 a. Descrieţi un algoritm pentru calculul FFT al unui semnal cu suportde lungime N putere a lui 3. Folosiţi pentru aceasta ideea de decimare în timp şi oformulă asemănătoare cu (5.27), dar în care suma din definiţia (5.22) este separatăîn trei sume, fiecare corespunzând indicilor care dau acelaşi rest la împărţirea cu 3.Desenaţi o diagramă de calcul pentru cazul N = 9.b. Folosiţi decimarea în frecvenţă pentru a rezolva problema de la punctulprecedent.c. Generalizaţi ideile de mai sus pentru orice lungime N care nu este numărprim. Desenaţi diagrame de calcul pentru N = 6 şi N = 12.PP 5.3.4 Cum se poate calcula transformata Fourier discretă inversă ? Propuneţidouă metode:a. Modificând algoritmul FFT.b. Utilizând algoritmul FFT ca atare şi profitând de proprietăţile TFD. Indicaţie:dacă X[k] = T F D(x[n]), demonstraţi că Nx ∗ [n] = T F D(X ∗ [k]).PP 5.3.5 Fie H(z) = ∑ Mn=0 h[n]z−n un filtru FIR dat.a. Cum se poate calcula caracteristica sa de frecvenţă (pe o grilă de frecvenţeechidistante) utilizând FFT ?


5.3. TRANSFORMATA FOURIER RAPIDĂ 141b. Când este mai avantajos să se procedeze astfel în loc să se folosească formuladirectă H(ω) = ∑ Mn=0 h[n]e−jωn ?


142 CAPITOLUL 5. ANALIZA ÎN FRECVENŢĂ A <strong>SEMNALELOR</strong>


Anexa ASemnale şi sisteme analogiceÎn această anexă, prezentăm pe scurt definiţii şi proprietăţi de bază ale semnalelorşi sistemelor analogice (care funcţionează în timp continuu). Prezentarea urmeazăacelaşi curs ca în capitolele dedicate semnalelor şi sistemelor discrete.A.1 Semnale analogiceDefiniţia A.1 Un semnal analogic este o funcţie x : R → R. Notăm x(t) valoareasemnalului în momentul t ∈ R. Aceeaşi notaţie este folosită pentru întreg semnalul.Definiţia A.2 Semnalul x(t) este absolut sumabil dacă∫ ∞−∞|x(t)|dt < ∞.Definiţia A.3 Semnalul x(t) are energie finită dacă∫ ∞−∞|x(t)| 2 dt < ∞.Definiţia A.4 Convoluţia semnalelor x(t), y(t) este semnalul∫ ∞x(t) ∗ y(t) def= x(τ)y(t − τ)dτ.−∞(A.1)Definiţia A.5 Transformata Fourier a unui semnal analogic x(t) este funcţia X :R → CX(Ω) =Notăm pe scurt X(Ω) = T F (x(t)).∫ ∞−∞x(t)e −jΩt dt.(A.2)Folosim şi notaţia X(jΩ) cu aceeaşi semnificaţie ca X(Ω).este o funcţie periodică.În general, X(Ω) nu143


144 ANEXA A. SEMNALE ŞI SISTEME ANALOGICEPropoziţia A.6 Dacă semnalul x(t) este absolut sumabil, atunci X(Ω) din (A.2)există pentru orice Ω. (Mai mult, seria (A.2) converge uniform către o funcţiecontinuă în Ω.)Propoziţia A.7 Dacă x(t) este un semnal de energie finită, atunci seria (A.2)converge (i.e. transformata Fourier există) aproape peste tot. Mai precis, fieX M (Ω) =∫ M−Mx(t)e −jΩt .(A.3)Atunci avem∫ ∞lim |X(Ω) − X M (Ω)| 2 dΩ = 0,(A.4)M→∞ −∞adică ”energia” erorii de aproximare a lui X(Ω) prin X M (Ω) tinde spre zero, dareroarea nu se anulează neapărat peste tot.Teorema A.8 Transformata Fourier inversă, care asociază unei funcţii X(Ω) semnalulx(t) (a cărui transformată Fourier este X(Ω)) estex(t) = 12π∫ ∞−∞X(Ω)e jΩt dΩ.(A.5)Teorema A.9 (Parseval) Fie x(t), y(t) două semnale discrete ale căror TF suntX(Ω), respectiv Y (Ω). Atunci are loc egalitatea∫ ∞−∞x(t)y ∗ (t)dt = 12π∫ ∞−∞X(Ω)Y ∗ (Ω)dΩ.(A.6)Punând y(t) = x(t) în (A.6) se obţine egalitatea (numită de obicei teorema luiParseval)∫ ∞|x(t)| 2 dt = 1 ∫ ∞|X(Ω)| 2 dΩ.(A.7)−∞2π −∞Teorema A.10 (Convoluţie) Prin transformata Fourier, convoluţia a două semnaleeste transformată în produs al transformatelor Fourier, i.e.T F (x(t) ∗ y(t)) = X(Ω) · Y (Ω).(A.8)Definiţia A.11 Transformata Laplace (bilaterală) a unui semnal x(t) este funcţiaX : C → CX(s) =Folosim şi notaţia X(s) = T L(x(t)).∫ ∞−∞x(t)e −st dt.(A.9)Observăm că transformata Fourier (A.2) este un caz particular al transformateiLaplace, pentru s = jΩ. Notaţia X(jΩ) pentru transformata Fourier subliniazăaceastă legătură.Teorema A.12 (Convoluţie) Prin transformata Laplace, convoluţia a două semnaleeste transformată în produs al transformatelor Laplace, i.e.T L(x(t) ∗ y(t)) = X(s) · Y (s).(A.10)


A.2. SISTEME ANALOGICE 145A.2 Sisteme analogiceUn sistem (filtru) analogic S transformă un semnal de intrare x(t) într-un semnalde ieşire y(t) = S{x(t)}.Definiţia A.13 (Liniaritate) Un sistem S este liniar dacă pentru orice semnalede intrare x 1 (t), x 2 (t) şi orice scalari α 1 , α 2 are loc egalitateaS{α 1 x 1 (t) + α 2 x 2 (t)} = α 1 S{x 1 (t)} + α 2 S{x 2 (t)}.(A.11)Definiţia A.14 (Invarianţă în timp) Sistemul S este invariant în timp dacăpentru orice semnal de intrare x(t), cu ieşirea corespunzătoare y(t) = S{x(t)}, şiorice întârziere t 0 ∈ R, aplicând semnalul x(t − t 0 ) la intrarea sistemului se obţineieşirea y(t − t 0 ).Definiţia A.15 (Cauzalitate) Sistemul S este cauzal dacă, luând orice semnalde intrare x(t), cu ieşirea corespunzătoare y(t) = S{x(t)}, pentru orice t 0 ∈ R,valoarea y(t 0 ) depinde doar de intrările x(t), t ≤ t 0 .Definiţia A.16 (Stabilitate) Sistemul S este stabil în sens BIBO dacă, pentruorice semnal de intrare x(t) mărginit, în sensul că există M x astfel încât |x(t)| ≤M x , ∀t ∈ R, semnalul de ieşire y(t) = S{x(t)} este şi el mărginit, i.e. există M yastfel încât |y(t)| ≤ M y , ∀t ∈ R.În continuare discutăm doar despre sisteme liniare şi invariante în timp (LIT).Fie S un sistem LIT şi h(t) = S{δ(t)} răspunsul la impuls al sistemului. Notăm δ(t)impulsul unitate (Dirac), care are proprietatea remarcabilă că, pentru orice semnalx(t), are loc egalitateax(t) =∫ ∞−∞x(τ)δ(t − τ)dτ.(A.12)Propoziţia A.17 Fie S un sistem şi x(t) un semnal de intrare oarecare. Atunciieşirea y(t) = S{x(t)} este dată de relaţiay(t) =∫ ∞−∞x(τ)h(t − τ) =∫ ∞−∞x(t − τ)h(τ)(A.13)adică este convoluţia dintre semnalul de intrare şi răspunsul la impuls al sistemului.Propoziţia A.18 Un sistem LIT este cauzal dacă şi numai dacă răspunsul său laimpuls este nul pentru timp negativ, i.e. h(t) = 0 pentru t < 0.Propoziţia A.19 Un sistem LIT este stabil dacă şi numai dacă răspunsul său laimpuls este absolut sumabil.Definiţia A.20 Funcţia de transfer a unui sistem LIT este transformata Laplacea răspunsului său la impulsH(s) =∫ ∞−∞h(t)e −st dt.(A.14)


146 ANEXA A. SEMNALE ŞI SISTEME ANALOGICEPropoziţia A.21 Fie X(s), Y (s) transformatele Laplace ale semnalelor de intrare,respectiv ieşire ale unui sistem LIT cu funcţia de transfer H(s). Atunci este adevăratărelaţiaY (s) = H(s)X(s).(A.15)Din punct de vedere practic, cele mai importante funcţii de transfer au formăraţională, i.e.H(s) = B(s) ∑ MA(s) = n=0 b ns n∑ Nn=0 a ns .(A.16)nFuncţiile de transfer cauzale (realizabile fizic) satisfac relaţia M ≤ N.Propoziţia A.22 Un sistem cu funcţia de transfer H(s) este stabil dacă toţi poliisăi (rădăcinile numitorului) au parte reală negativă.Propoziţia A.23 Considerăm un sistem LIT stabil, al cărui răspuns la impuls esteh(t). Fie H(s) funcţia sa de transfer şi H(jΩ) transformata Fourier a răspunsuluila impuls. Dacă la intrarea sistemului se aplică semnalul sinusoidal complex x(t) =e jΩ0t , atunci ieşirea este semnalul sinusoidaly(t) = H(jΩ 0 )e jΩ 0t = |H(jΩ 0 )|e j(Ω 0t+argH(jΩ 0 )) .(A.17)Transformata Fourier H(jΩ) a răspunsului la impuls a unui sistem se numeşterăspuns în frecvenţă al sistemului.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!