====== Cap 9 — Filtre FIR (raspuns finit la impuls) ====== [[ps:start|← inapoi la cuprins]] · Materie pentru examenul final · Carte: cap. 8 · Notitele colegilor: cursurile 13–15 · Inainte: [[ps:cap8-leakage-ferestre|Cap 8]] · Dupa: [[ps:cap10-z-iir|Cap 10]] **Ideea capitolului, in 3 propozitii:** - Un **filtru digital FIR** e o lista scurta de numere, numite **coeficienti**. Fiecare esantion de la iesire e o **suma a ultimelor cateva esantioane de la intrare**, fiecare inmultit cu un coeficient. - Din coeficienti afli, cu doua adunari, ce fel de filtru e: **suma lor** spune ce se intampla cu frecventele joase, **suma cu semne alternate** spune ce se intampla cu cele inalte. - Coeficientii unui filtru bun se obtin prin **metoda ferestrei**: desenezi filtrul ideal, il treci in timp (iese un sinc), il tai la cativa coeficienti si il inmultesti cu o fereastra. **Ce cade:** examen 2026 — problema cu filtrul FIR dat prin schema, $h = [1, 2, 1]$ (rezolvata in sectiunea 8, P1); examen 2021 — $\cos(2\pi\cdot 800t)$ esantionat la 1000 Hz si filtrat cu un FIR trece-jos (sectiunea 8, P2); teorie 2023 si 2026 — "metoda ferestrei: etape, coeficienti, exemple de ferestre; din FIR trece-jos in FIR trece-sus"; teorie 2024 — "cum transformi un FTJ digital in FTS". Raspunsurile model sunt in sectiunea 11. **Cum citesti pagina:** sectiunile 1–3 (ce e un FIR si cum il scrii) → sectiunea 4 (cum afli ce frecvente lasa sa treaca) → sectiunea 5 (de ce pastreaza forma semnalului) → sectiunile 6–7 (cum se proiecteaza). Fiecare lucru nou incepe cu un exemplu cu numere. Formula vine abia dupa. **Ce trebuie sa stii dinainte:** ce e un esantion si ce e $f_s$ ([[ps:cap4-esantionare|Cap 4]]); ce e spectrul si cum "tai" din el cu un filtru ([[ps:cap0-baze|Cap 0 §6]]); convolutia ([[ps:cap7-convolutie|Cap 7]]). Le reamintesc pe scurt acolo unde apar. ===== 1. Unde suntem ===== In [[ps:cap1-filtre|Cap 1]] filtrul era un **circuit**: o rezistenta si un condensator. Semnalul era o tensiune care trecea prin el. Acela e un filtru **analog**. Intre timp am esantionat semnalul ([[ps:cap4-esantionare|Cap 4]]) si l-am cuantizat ([[ps:cap5-cuantizare-snr-db|Cap 5]]). Acum semnalul e o **lista de numere** intr-un calculator. Notatia: $x(n)$ = esantionul cu numarul $n$ ($n = 0, 1, 2, \dots$). O lista de numere nu o poti trece printr-un condensator. Un **filtru digital** e o **reteta de calcul**: ia lista de la intrare, $x(n)$, si produce o alta lista, la iesire, $y(n)$. La filtrele din acest capitol, reteta e data de o lista scurta de numere, notata $h(n)$. Numerele din ea se numesc **coeficientii** filtrului. Reteta este **convolutia** din [[ps:cap7-convolutie|Cap 7]]: $$ y(n) = (h * x)(n) = \sum_k h(k)\,x(n-k) $$ Formula arata greu, dar spune un lucru simplu: **fiecare esantion de la iesire = cateva esantioane de la intrare (cel curent si cele dinaintea lui), fiecare inmultit cu un coeficient, apoi adunate.** **Reamintire pe 3 numere** (din Cap 7). Filtrul $h = [1, 1]$ inseamna "aduna esantionul curent cu cel dinainte". Intrarea e $x = [3, 5, 2]$. * $y(0) = 3 + (\text{nimic inainte} = 0) = 3$ * $y(1) = 5 + 3 = 8$ * $y(2) = 2 + 5 = 7$ * $y(3) = (\text{intrarea s-a terminat} = 0) + 2 = 2$ Iesirea: $y = [3, 8, 7, 2]$. {{ps:cap9:schema_filtru.png?800|Filtrul digital: convolutie in timp, inmultire in frecventa}} **Ce vezi in desen:** cutia din mijloc e filtrul. In stanga intra lista $x(n)$, in dreapta iese lista $y(n)$. Randul de sus (mov) spune ce face filtrul daca te uiti la esantioane: o convolutie. Randul de jos (verde) spune ce face daca te uiti la spectre: inmulteste spectrul intrarii, $X(k)$, cu un "desen" al filtrului, $H(k)$. **De ce doua descrieri pentru acelasi filtru?** Pentru ca sunt doua feluri de a privi acelasi semnal: ca lista de valori in timp sau ca spectru (ce frecvente contine, [[ps:cap0-baze|Cap 0 §6]]). **Teorema convolutiei** ([[ps:cap7-convolutie|Cap 7 §6]]) spune ca o convolutie in timp e o inmultire in frecventa. Randul de jos e exact ce faceai in Cap 0 §6.5 si in Cap 1: inmulteai spectrul cu "fereastra" filtrului. Acum afli si cum se face acelasi lucru direct pe esantioane. **Ce inveti in acest capitol:** - cum arata cel mai simplu filtru digital si de ce i se spune FIR (sectiunea 2); - cum il scrii ca ecuatie si ca schema (sectiunea 3); - cum afli din coeficienti ce frecvente trec (sectiunea 4); - cum alegi coeficientii ca sa obtii filtrul pe care il vrei (sectiunile 6–7). ===== 2. Cel mai simplu filtru FIR: media alunecatoare ===== ==== 2.1 Exemplu cu numere ==== **Situatia:** un senzor da cate o valoare pe secunda: $x = [1, 2, 3, 10, 3, 2, 1]$. Valoarea 10 e un varf brusc (o masuratoare "sarita"). Vrem sa-l netezim. **Reteta:** in loc de fiecare valoare, punem **media ultimelor 3 valori**: cea curenta si cele doua dinaintea ei. Unde nu exista inca valori (inainte de inceput) sau nu mai exista (dupa sfarsit), punem 0. ^ $n$ ^ valoarea curenta $x(n)$ ^ cea dinainte $x(n-1)$ ^ cea de acum doi pasi $x(n-2)$ ^ suma ^ iesirea $y(n)$ = suma : 3 ^ | 0 | 1 | 0 | 0 | 1 | 0.33 | | 1 | 2 | 1 | 0 | 3 | 1 | | 2 | 3 | 2 | 1 | 6 | 2 | | 3 | **10** | 3 | 2 | 15 | 5 | | 4 | 3 | **10** | 3 | 16 | **5.33** | | 5 | 2 | 3 | **10** | 15 | 5 | | 6 | 1 | 2 | 3 | 6 | 2 | | 7 | 0 | 1 | 2 | 3 | 1 | | 8 | 0 | 0 | 1 | 1 | 0.33 | Iesirea: $y = [0.33,\ 1,\ 2,\ 5,\ 5.33,\ 5,\ 2,\ 1,\ 0.33]$. **De ce punem 0 inainte de inceput?** La $n = 0$ nu exista "valoarea dinainte": senzorul abia a pornit. Conventia din curs e ca tot ce n-a fost masurat se considera 0. **De ce iesirea are 9 valori, daca intrarea are 7?** Ultima valoare de la intrare, $x(6) = 1$, mai e "vazuta" de filtru inca doi pasi (la $n = 7$ ca valoare dinainte, la $n = 8$ ca valoare de acum doi pasi). Regula din [[ps:cap7-convolutie|Cap 7]]: lungimea iesirii = lungimea intrarii + numarul de coeficienti − 1 = $7 + 3 - 1 = 9$. {{ps:cap9:medie_alunecatoare.png?1000|Media alunecatoare pe 3 si pe 5 valori}} **Ce vezi in desen:** pe orizontala e numarul esantionului $n$, pe verticala valoarea lui. Stanga (albastru): intrarea, cu varful de 10. Mijloc (verde): iesirea din tabelul de mai sus; varful a scazut la 5.33 si s-a "intins" pe vecini. Dreapta (portocaliu): acelasi lucru cu media ultimelor **5** valori (exemplul din curs); varful a scazut la 4. **Ce am aflat:** * media a **netezit** varful. Un varf brusc inseamna o schimbare rapida, iar schimbarile rapide sunt frecvente inalte ([[ps:cap0-baze|Cap 0]]). Deci filtrul a slabit frecventele inalte: e un filtru **trece-jos**; * cu cat faci media pe mai multe valori, cu atat netezeste mai tare. ==== 2.2 Acelasi lucru, scris cu litere ==== "Media ultimelor 3 valori" se scrie: $$ y(n) = \frac{x(n) + x(n-1) + x(n-2)}{3} = \frac13\,x(n) + \frac13\,x(n-1) + \frac13\,x(n-2) $$ * $x(n)$ = esantionul curent de la intrare * $x(n-1)$ = esantionul dinainte (cu un pas in urma); $x(n-2)$ = cel de acum doi pasi * $y(n)$ = esantionul curent de la iesire Numerele cu care se inmultesc esantioanele, $\frac13, \frac13, \frac13$, sunt **coeficientii** filtrului: $h = [\frac13, \frac13, \frac13]$. In general, media pe $M$ valori are $M$ coeficienti, toti egali cu $\frac1M$: $h = [\frac1M, \frac1M, \dots, \frac1M]$. Numele din curs: filtrul **Moving Average** (medie alunecatoare), pentru ca "fereastra" de $M$ valori pe care faci media aluneca de-a lungul semnalului. **Exemplul din curs** ($M = 5$): $h = [\frac15, \frac15, \frac15, \frac15, \frac15]$ si aceeasi intrare $x = [1, 2, 3, 10, 3, 2, 1]$ dau $$ y = \left[\tfrac15, \tfrac35, \tfrac65, \tfrac{16}5, \tfrac{19}5, \tfrac{20}5, \tfrac{19}5, \tfrac{16}5, \tfrac65, \tfrac35, \tfrac15\right] = [0.2,\ 0.6,\ 1.2,\ 3.2,\ 3.8,\ 4,\ 3.8,\ 3.2,\ 1.2,\ 0.6,\ 0.2] $$ (e desenul portocaliu de mai sus; calculul pas cu pas e in [[ps:cap7-convolutie|Cap 7 §3]]). ==== 2.3 Ce inseamna "FIR" ==== Facem un test: bagam in filtru cel mai simplu semnal posibil, **impulsul** $\delta(n)$ ("delta"). El are un singur 1, la $n = 0$, si in rest numai zerouri: $\delta = [1, 0, 0, 0, 0, \dots]$. Trecem impulsul prin media pe 3 valori: ^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ $y(n)$ = suma : 3 ^ | 0 | **1** | 0 | 0 | 1/3 | | 1 | 0 | **1** | 0 | 1/3 | | 2 | 0 | 0 | **1** | 1/3 | | 3 | 0 | 0 | 0 | 0 | | 4 | 0 | 0 | 0 | 0 | | ... | 0 | 0 | 0 | 0 pentru totdeauna | {{ps:cap9:raspuns_impuls.png?900|Raspunsul la impuls al mediei pe 3 valori}} **Ce vezi in desen:** stanga — impulsul de la intrare (un singur bat de inaltime 1, la $n = 0$). Dreapta — ce iese din filtru: trei bete de inaltime 1/3, apoi nimic. Pe orizontala e $n$, pe verticala valoarea esantionului. Doua lucruri de retinut: **1. Ce iese sunt chiar coeficientii.** Iesirea e $[\frac13, \frac13, \frac13]$, adica exact $h$. Ce scoate un filtru cand la intrare ii dai un impuls se numeste **raspunsul la impuls**. La un filtru de acest fel, raspunsul la impuls = coeficientii $h(n)$. De aceea $h(n)$ poarta ambele nume. **2. Raspunsul se termina.** Dupa 3 esantioane, iesirea e 0 si ramane 0. De aici numele: **FIR** = //Finite Impulse Response// = **raspuns finit la impuls**. **De ce se termina?** Filtrul se uita doar la ultimele 3 esantioane de la intrare. Singurul esantion diferit de zero e cel de la $n = 0$. La $n = 3$ el a iesit deja din "raza" filtrului (e cu trei pasi in urma), deci filtrul vede numai zerouri. Un filtru cu $M$ coeficienti "uita" tot ce e mai vechi de $M - 1$ pasi. **Exista si filtre la care nu se termina?** Da: filtrele **IIR** (//Infinite Impulse Response//). Ele folosesc la calcul si iesirile lor anterioare, $y(n-1), y(n-2), \dots$, deci impulsul "se intoarce" mereu in calcul si raspunsul nu se stinge niciodata complet. Sunt in [[ps:cap10-z-iir|Cap 10]]. ===== 3. Ecuatia cu diferente si schema Direct Form I ===== ==== 3.1 Ecuatia cu diferente ==== **Ecuatia cu diferente** e formula care spune cum se calculeaza esantionul curent de la iesire. Ai vazut deja una: $y(n) = \frac13 x(n) + \frac13 x(n-1) + \frac13 x(n-2)$. Pentru un filtru FIR cu $M$ coeficienti, forma generala este: $$ y(n) = b_0\,x(n) + b_1\,x(n-1) + b_2\,x(n-2) + \dots + b_{M-1}\,x(n-M+1) $$ * $b_0, b_1, \dots$ = coeficientii. Sunt aceleasi numere ca $h(0), h(1), \dots$; in notatia standard pentru filtre li se spune $b$: $[b_0, b_1, b_2, \dots] = [h(0), h(1), h(2), \dots]$ * $x(n-i)$ = esantionul de la intrare de acum $i$ pasi Este aceeasi convolutie din sectiunea 1, scrisa termen cu termen. **De ce "cu diferente"?** Numele vine de la indicii decalati: $n$, $n-1$, $n-2$. Nu ai nimic de scazut. E doar numele dat formulelor care leaga esantionul curent de esantioanele dinainte. **Forma completa din curs** mai are un grup de termeni: $y(n) = \sum_i b_i\,x(n-i) + \sum_i a_i\,y(n-i)$. Termenii cu $a_i$ folosesc iesirile anterioare. La un FIR toti $a_i$ sunt 0, deci raman doar termenii cu $b_i$. Termenii cu $a_i$ apar la filtrele IIR ([[ps:cap10-z-iir|Cap 10]]). ==== 3.2 Exemplul pe care il folosim in tot capitolul: h = [1, 2, 1] ==== Coeficientii $h = [1, 2, 1]$ inseamna $b_0 = 1$, $b_1 = 2$, $b_2 = 1$. Ecuatia cu diferente: $$ y(n) = 1\cdot x(n) + 2\cdot x(n-1) + 1\cdot x(n-2) $$ **Cu numere:** intrarea $x = [3, 1, 4]$. ^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ $y(n) = x(n) + 2x(n-1) + x(n-2)$ ^ | 0 | 3 | 0 | 0 | $3 + 0 + 0 = 3$ | | 1 | 1 | 3 | 0 | $1 + 6 + 0 = 7$ | | 2 | 4 | 1 | 3 | $4 + 2 + 3 = 9$ | | 3 | 0 | 4 | 1 | $0 + 8 + 1 = 9$ | | 4 | 0 | 0 | 4 | $0 + 0 + 4 = 4$ | Iesirea: $y = [3, 7, 9, 9, 4]$ (5 valori $= 3 + 3 - 1$). ==== 3.3 Schema Direct Form I ==== Aceeasi ecuatie se poate **desena**. Desenul standard se numeste **Direct Form I** si foloseste trei feluri de piese: ^ Piesa ^ Cum arata in desen ^ Ce face ^ | **intarziere** (in curs: "DELAY"; in alte carti: o cutie cu $z^{-1}$) | dreptunghi | tine minte un esantion: scoate ce a intrat **cu un pas inainte**. Intra $x(n)$, iese $x(n-1)$ | | **inmultire** | cerc cu × | inmulteste esantionul cu un coeficient | | **sumator** | cerc cu + | aduna tot ce intra in el | {{ps:cap9:direct_form_121.png?850|Schema Direct Form I pentru h = [1, 2, 1]}} **Ce vezi in desen:** $x(n)$ intra din stanga. Pe coloana din stanga sunt doua cutii de intarziere, una sub alta: dupa prima ai $x(n-1)$, dupa a doua ai $x(n-2)$. De pe fiecare nivel pleaca spre dreapta o ramura care trece printr-o inmultire (cercurile verzi, cu coeficientii $b_0 = 1$, $b_1 = 2$, $b_2 = 1$). Cele trei ramuri ajung in sumator (cercul mov), din care iese $y(n)$. **De ce ii zice "Direct"?** Pentru ca in schema apar **direct** coeficientii din ecuatie, in ordine, cate unul pe fiecare ramura. Nu trebuie facut niciun calcul ca sa treci de la ecuatie la schema sau invers. ==== 3.4 Cum treci de la schema la ecuatie si inapoi ==== **De la schema la ecuatie** (asa se cere la examen): - numeri nivelurile de sus in jos: nivelul de sus e $x(n)$, dupa o intarziere e $x(n-1)$, dupa doua e $x(n-2)$ si tot asa; - pentru fiecare nivel scrii "coeficientul de pe ramura × esantionul de pe nivel"; - pui plus intre ele. **De la ecuatie la schema:** - cate esantioane decalate apar in ecuatie ($x(n-1)$, $x(n-2)$, ...), atatea cutii de intarziere desenezi, in lant. Un FIR cu $M$ coeficienti are $M - 1$ intarzieri; - de pe fiecare nivel tragi o ramura cu inmultirea cu coeficientul lui; - aduni toate ramurile intr-un sumator. **Exemplu rapid:** o schema cu doua intarzieri si coeficientii $0.5$, $0$, $-0.5$ pe ramuri inseamna $y(n) = 0.5\,x(n) + 0\cdot x(n-1) - 0.5\,x(n-2) = 0.5\,x(n) - 0.5\,x(n-2)$. ===== 4. Raspunsul in frecventa al unui FIR ===== ==== 4.1 Ce vrem sa aflam ==== Ai coeficientii unui filtru. Intrebarea: **ce frecvente lasa sa treaca si pe care le taie?** In [[ps:cap1-filtre|Cap 1]] raspunsul era functia $|H(f)|$: pentru fiecare frecventa $f$, un numar care spune **de cate ori e inmultita amplitudinea** unei sinusoide de frecventa $f$ cand trece prin filtru. Daca $|H(f)| = 1$, trece neschimbata. Daca $|H(f)| = 0$, dispare. Daca $|H(f)| = 2$, iese de doua ori mai mare. La un filtru digital e la fel. Functia asta se numeste **raspunsul in frecventa** al filtrului. O aflam intai "pe incercate", apoi cu formula. ==== 4.2 Trei semnale de test ==== Ca sa testam un filtru, ii dam la intrare cate o sinusoida curata si ne uitam ce iese. Folosim trei frecvente la care esantioanele sunt numere simple. Esantioanele unui cosinus de frecventa $f$ sunt $x(n) = \cos(2\pi \frac{f}{f_s} n)$ ([[ps:cap4-esantionare|Cap 4]]). ^ Frecventa ^ Calcul ^ Esantioanele ^ In cuvinte ^ | $f = 0$ | $\cos(0) = 1$ | $1, 1, 1, 1, \dots$ | semnal **constant** (nu se schimba deloc) | | $f = f_s/4$ | $\cos(\frac{\pi}{2} n)$ | $1, 0, -1, 0, 1, 0, -1, 0, \dots$ | se repeta la fiecare 4 esantioane | | $f = f_s/2$ | $\cos(\pi n)$ | $1, -1, 1, -1, \dots$ | **alterneaza**: cea mai rapida schimbare posibila | {{ps:cap9:tonuri_test.png?1000|Cele trei semnale de test}} **Ce vezi in desen:** pe orizontala e numarul esantionului, pe verticala valoarea lui. Linia punctata gri e cosinusul continuu, betele albastre sunt esantioanele lui. Stanga: frecventa 0. Mijloc: $f_s/4$. Dreapta: $f_s/2$. **De ce $f_s/2$ e "cea mai inalta frecventa"?** Cu $f_s$ esantioane pe secunda, cel mai rapid lucru pe care il poti reprezenta e sus-jos-sus-jos, adica o perioada la fiecare 2 esantioane: frecventa $f_s/2$. Orice frecventa mai mare ar aparea, prin aliasing, ca una mai mica ([[ps:cap4-esantionare|Cap 4]]). Deci la un filtru digital ne intereseaza doar frecventele de la 0 la $f_s/2$. ==== 4.3 Testul, de mana: h = [1, 1] si h = [1, −1] ==== **Filtrul $h = [1, 1]$**, adica $y(n) = x(n) + x(n-1)$ ("aduna vecinii"). ^ Intrarea ^ Calcul (dupa primul esantion) ^ Iesirea ^ Amplitudinea a fost inmultita cu ^ | constant: $1, 1, 1, 1$ | $1 + 1 = 2$ de fiecare data | $2, 2, 2, \dots$ | **2** | | $f_s/4$: $1, 0, -1, 0, 1, \dots$ | $0+1 = 1$; $\ -1+0 = -1$; $\ 0+(-1) = -1$; $\ 1+0 = 1$ | $1, -1, -1, 1, 1, -1, -1, \dots$ | **1.41** (vezi caseta) | | $f_s/2$: $1, -1, 1, -1$ | $-1 + 1 = 0$; $\ 1 + (-1) = 0$ | $0, 0, 0, \dots$ | **0** | Frecventa joasa trece (chiar amplificata), cea inalta dispare: $h = [1, 1]$ e un filtru **trece-jos**. **Filtrul $h = [1, -1]$**, adica $y(n) = x(n) - x(n-1)$ ("scade vecinul dinainte"). ^ Intrarea ^ Calcul (dupa primul esantion) ^ Iesirea ^ Amplitudinea a fost inmultita cu ^ | constant: $1, 1, 1, 1$ | $1 - 1 = 0$ | $0, 0, 0, \dots$ | **0** | | $f_s/4$: $1, 0, -1, 0, 1, \dots$ | $0-1 = -1$; $\ -1-0 = -1$; $\ 0-(-1) = 1$; $\ 1-0 = 1$ | $-1, -1, 1, 1, -1, -1, \dots$ | **1.41** | | $f_s/2$: $1, -1, 1, -1$ | $-1 - 1 = -2$; $\ 1 - (-1) = 2$ | $-2, 2, -2, 2, \dots$ | **2** | Frecventa joasa dispare, cea inalta trece: $h = [1, -1]$ e un filtru **trece-sus**. **De ce se intampla asa?** Adunarea vecinilor e o medie (fara impartire): netezeste, deci pastreaza ce se schimba incet. Scaderea vecinilor masoara **cat s-a schimbat** semnalul de la un esantion la altul: daca nu se schimba deloc (constant), da 0; daca se schimba mult (alterneaza), da mult. **De ce 1.41 si nu 1 la $f_s/4$?** Iesirea $1, -1, -1, 1, \dots$ se repeta tot la 4 esantioane, deci e tot o sinusoida de frecventa $f_s/4$. Doar ca esantioanele nu mai cad pe varfurile ei, ci la jumatatea drumului dintre varf si zero. Sinusoida care trece prin aceste puncte are varful $\sqrt2 \approx 1.41$ (la 45° inainte si dupa varf valoarea ei e $1.41 \cdot 0.707 = 1$). Nu trebuie sa ghicesti asta din esantioane: formula din 4.4 da direct 1.41. ==== 4.4 Formula (acelasi lucru, cu litere) ==== Testul de mana merge doar pentru frecvente "comode". Pentru orice frecventa exista o formula. O obtinem facand acelasi test cu "sinusoida curata" in forma ei complexa, $x(n) = e^{j\omega n}$ (formula lui Euler, [[ps:cap0-baze|Cap 0]]: un cosinus e suma a doua astfel de exponentiale). Notatie: $\omega = 2\pi \frac{f}{f_s}$ ("omega") = cu cat avanseaza unghiul de la un esantion la urmatorul. Pentru $f = f_s/4$: $\omega = \pi/2$. Pentru $f = f_s/2$: $\omega = \pi$. **Pas 1 — ce inseamna o intarziere pentru acest semnal.** Esantionul dinainte este $$ x(n-1) = e^{j\omega (n-1)} = e^{j\omega n}\cdot e^{-j\omega} = x(n)\cdot e^{-j\omega} $$ Deci **o intarziere cu un pas = o inmultire cu $e^{-j\omega}$**. Doua intarzieri: inmultire cu $e^{-j2\omega}$. **Pas 2 — bagam in ecuatia filtrului** (cu 3 coeficienti, ca exemplu): $$ y(n) = h(0)\,x(n) + h(1)\,x(n-1) + h(2)\,x(n-2) = x(n)\cdot\underbrace{\left[h(0) + h(1)\,e^{-j\omega} + h(2)\,e^{-j2\omega}\right]}_{H(f)} $$ Iesirea e **aceeasi sinusoida** de la intrare, inmultita cu un numar (complex) care depinde doar de frecventa si de coeficienti. Acel numar e raspunsul in frecventa: $$ \boxed{H(f) = \sum_{n=0}^{M-1} h(n)\,e^{-j2\pi \frac{f}{f_s} n}} $$ * $h(n)$ = coeficientii filtrului; $M$ = cati sunt * $f$ = frecventa la care vrei raspunsul (intre 0 si $f_s/2$); $f_s$ = frecventa de esantionare * $|H(f)|$ (modulul) = de cate ori e inmultita amplitudinea. Asta desenezi la examen * unghiul lui $H(f)$ = cu cat e decalata (intarziata) sinusoida. Il folosim in sectiunea 5 **De unde stiu formula asta?** E exact **transformata Fourier a listei $h(n)$** (DTFT, [[ps:cap6-dft|Cap 6]]). Adica: **raspunsul in frecventa al unui FIR = spectrul coeficientilor lui**. Daca o calculezi doar la frecventele $f_k = k\cdot f_s/N$, obtii DFT-ul coeficientilor, notat $H(k)$. In practica: pui coeficientii intr-un FFT (completati cu zerouri pana la $N$) si desenezi modulul. **Trei frecvente la care formula devine o simpla adunare:** ^ Frecventa ^ Cat e $e^{-j\omega n}$ pentru $n = 0, 1, 2, 3, \dots$ ^ Ce devine formula ^ | $f = 0$ ($\omega = 0$) | $1, 1, 1, 1, \dots$ | $H(0) = h(0) + h(1) + h(2) + \dots$ = **suma coeficientilor** | | $f = f_s/2$ ($\omega = \pi$) | $1, -1, 1, -1, \dots$ | $H(f_s/2) = h(0) - h(1) + h(2) - \dots$ = **suma cu semne alternate** | | $f = f_s/4$ ($\omega = \pi/2$) | $1, -j, -1, j, \dots$ | $H(f_s/4) = h(0) - j\,h(1) - h(2) + j\,h(3) + \dots$ | (Sirul $1, -j, -1, j$ e acelasi cu care inmulteai la IQ in [[ps:cap4-esantionare|Cap 4]]: sunt punctele de pe cerc la 0°, −90°, −180°, −270°.) **Verificare cu $h = [1, 1]$:** * $H(0) = 1 + 1 = 2$ ✓ (in tabelul de mana: 2) * $H(f_s/2) = 1 - 1 = 0$ ✓ (de mana: 0) * $H(f_s/4) = 1 - j\cdot 1 = 1 - j$. Modulul unui numar complex $a + jb$ este $\sqrt{a^2 + b^2}$ ([[ps:cap0-baze|Cap 0]]): $\sqrt{1^2 + 1^2} = \sqrt2 \approx 1.41$ ✓ (de mana: 1.41) ==== 4.5 Exemplul h = [1, 2, 1] ==== * $H(0) = 1 + 2 + 1 = \mathbf{4}$ * $H(f_s/2) = 1 - 2 + 1 = \mathbf{0}$ * $H(f_s/4) = 1 - j\cdot 2 - 1 = -2j$, cu modulul $\sqrt{0^2 + 2^2} = \mathbf{2}$ Mare la frecvente joase, zero la cea mai inalta: **trece-jos**. **Formula pentru orice frecventa.** Scoatem $e^{-j\omega}$ in fata: $$ H(f) = 1 + 2e^{-j\omega} + e^{-j2\omega} = e^{-j\omega}\left(e^{j\omega} + 2 + e^{-j\omega}\right) = e^{-j\omega}\,(2 + 2\cos\omega) $$ Am folosit $e^{j\omega} + e^{-j\omega} = 2\cos\omega$ (Euler, [[ps:cap0-baze|Cap 0]]). Factorul $e^{-j\omega}$ are modulul 1 (e un punct pe cercul unitate), deci: $$ |H(f)| = 2 + 2\cos\left(2\pi\frac{f}{f_s}\right) $$ Verificare: la $f = f_s/4$, $\cos(\pi/2) = 0$, deci $|H| = 2$ ✓. {{ps:cap9:raspuns_frecventa_simple.png?1000|Raspunsul in frecventa pentru h = [1, 1], [1, −1] si [1, 2, 1]}} **Ce vezi in desen:** pe orizontala e frecventa, de la 0 (semnal constant) la $f_s/2$ (semnal care alterneaza). Pe verticala e $|H(f)|$: de cate ori e inmultita amplitudinea. Bulinele sunt valorile calculate de mana la 0, $f_s/4$ si $f_s/2$. Stanga: $[1, 1]$ coboara de la 2 la 0 (trece-jos). Mijloc: $[1, -1]$ urca de la 0 la 2 (trece-sus). Dreapta: $[1, 2, 1]$ coboara de la 4 la 0 (trece-jos, cu coborarea mai "lipita" de zero spre $f_s/2$). ==== 4.6 Regula rapida: ce fel de filtru e ==== **Doua adunari iti spun tipul filtrului:** * **suma coeficientilor** = cat trece din frecventa 0 (frecventele joase); * **suma cu semne alternate** ($+ - + - \dots$) = cat trece din $f_s/2$ (frecventele inalte). Prima mare si a doua mica (sau 0) → **trece-jos**. Prima mica (sau 0) si a doua mare → **trece-sus**. Amandoua 0 → verifica mijlocul ($f_s/4$): daca acolo e mare, e **trece-banda**. ^ Coeficientii ^ Suma ($f = 0$) ^ Suma alternata ($f = f_s/2$) ^ La $f_s/4$ ^ Tipul ^ | $[1, 1]$ | 2 | 0 | 1.41 | trece-jos | | $[1, -1]$ | 0 | 2 | 1.41 | trece-sus | | $[1, 2, 1]$ | 4 | 0 | 2 | trece-jos | | $[1, -2, 1]$ | 0 | 4 | 2 | trece-sus | | $[\frac13, \frac13, \frac13]$ | 1 | $\frac13$ | $\frac13$ | trece-jos (slab) | | $[1, 0, -1]$ | 0 | $1 - 0 + (-1) = 0$ | 2 | trece-banda | **De ce la media alunecatoare suma e exact 1?** Ca un semnal constant sa iasa neschimbat: media a trei valori egale cu 5 trebuie sa fie tot 5. Un filtru trece-jos cu suma coeficientilor 1 nu schimba nivelul semnalului. Daca vrei asta la $[1, 2, 1]$ (care are suma 4), imparti toti coeficientii la 4: $[0.25, 0.5, 0.25]$. ===== 5. Faza liniara: de ce FIR pastreaza forma semnalului ===== ==== 5.1 Observatia, pe numere ==== Trecem prin $h = [1, 2, 1]$ semnalul de frecventa $f_s/4$: $x = 1, 0, -1, 0, 1, 0, -1, 0, \dots$ Calculam $y(n) = x(n) + 2x(n-1) + x(n-2)$ si comparam cu **intrarea de la pasul dinainte**, $x(n-1)$. ^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ $y(n)$ ^ $2\cdot x(n-1)$ ^ | 2 | −1 | 0 | 1 | $-1 + 0 + 1 = 0$ | 0 | | 3 | 0 | −1 | 0 | $0 - 2 + 0 = -2$ | −2 | | 4 | 1 | 0 | −1 | $1 + 0 - 1 = 0$ | 0 | | 5 | 0 | 1 | 0 | $0 + 2 + 0 = 2$ | 2 | | 6 | −1 | 0 | 1 | $0$ | 0 | Ultimele doua coloane sunt identice: $y(n) = 2\cdot x(n-1)$. Iesirea e **intrarea, de 2 ori mai mare, intarziata cu 1 esantion**. (Acel 2 e chiar $|H(f_s/4)|$ din 4.5.) Repetam cu o frecventa mai mica, $f_s/8$: $x(n) = \cos(\frac{\pi}{4}n) = 1,\ 0.707,\ 0,\ -0.707,\ -1,\ -0.707,\ 0,\ 0.707,\ \dots$ ^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ $y(n)$ ^ $3.41\cdot x(n-1)$ ^ | 2 | 0 | 0.707 | 1 | $0 + 1.414 + 1 = 2.41$ | 2.41 | | 3 | −0.707 | 0 | 0.707 | $-0.707 + 0 + 0.707 = 0$ | 0 | | 4 | −1 | −0.707 | 0 | $-1 - 1.414 + 0 = -2.41$ | −2.41 | | 5 | −0.707 | −1 | −0.707 | $-0.707 - 2 - 0.707 = -3.41$ | −3.41 | Din nou: $y(n) = 3.41\cdot x(n-1)$. Alta amplificare ($3.41 = 2 + 2\cos(\pi/4)$, din formula de la 4.5), dar **aceeasi intarziere: 1 esantion**. ==== 5.2 De ce: coeficientii sunt simetrici ==== Coeficientii $[1, 2, 1]$ sunt **simetrici**: cititi de la stanga sau de la dreapta, sunt la fel. Mijlocul lor e la pozitia 1. Formula de la 4.5 arata de unde vine intarzierea: $$ H(f) = \underbrace{e^{-j\omega}}_{\text{intarziere cu 1 esantion}}\cdot\underbrace{(2 + 2\cos\omega)}_{\text{numar real, pozitiv: doar amplifica}} $$ In 4.4 (pasul 1) am vazut ca inmultirea cu $e^{-j\omega}$ inseamna exact "intarzie cu un esantion". Al doilea factor e un numar obisnuit, fara parte imaginara, deci nu mai adauga niciun decalaj. Asa ca **toate frecventele sunt intarziate la fel**. **Regula:** un filtru FIR cu $M$ coeficienti **simetrici** intarzie **toate** frecventele cu acelasi numar de esantioane: $\frac{M-1}{2}$ (pozitia mijlocului). * $M = 3$ → intarziere 1 esantion * $M = 7$ → intarziere 3 esantioane * $M = 21$ → intarziere 10 esantioane ==== 5.3 De ce conteaza: forma semnalului ramane intreaga ==== Un semnal real e o suma de multe sinusoide ([[ps:cap0-baze|Cap 0 §6]]). Forma lui depinde de cum sunt **asezate una fata de alta**. Daca filtrul le intarzie pe toate la fel, ele raman asezate la fel: semnalul iese cu **aceeasi forma**, doar mai tarziu. Daca le-ar intarzia diferit, s-ar "decala" intre ele si forma s-ar strica. {{ps:cap9:faza_liniara.png?1000|Un FIR simetric intarzie toate frecventele la fel, deci pastreaza forma}} **Ce vezi in desen:** pe orizontala e numarul esantionului, pe verticala valoarea. In stanga sunt intrarile, in dreapta iesirile unui FIR trece-jos cu 21 de coeficienti simetrici (linia punctata gri din dreapta e intrarea, pentru comparatie). Randul 1: un cosinus lent iese intarziat cu 10 esantioane. Randul 2: un cosinus de doua ori mai rapid iese intarziat **tot** cu 10. Randul 3: suma lor iese cu **aceeasi forma**, intarziata cu 10. Randul 4 (rosu): ce s-ar intampla daca al doilea cosinus ar fi intarziat doar cu 4 — forma nu mai seamana cu intrarea. **De ce se cheama "faza liniara"?** **Faza** lui $H(f)$ e unghiul lui: cu cat e decalata sinusoida de frecventa $f$. La o intarziere de $d$ esantioane, unghiul e $-\omega\cdot d = -2\pi\frac{f}{f_s} d$. Asta creste proportional cu $f$: pe un grafic "faza in functie de frecventa" e o **linie dreapta**. De aici "faza liniara". (In notitele de curs linia apare ca un "dinte de fierastrau" pentru ca unghiurile se deseneaza doar intre $-\pi$ si $\pi$ si apoi o iau de la capat.) **Toate filtrele FIR au faza liniara?** Doar cele cu coeficienti simetrici. Dar cele obtinute prin metoda ferestrei (sectiunea 6) ies mereu simetrice, deci in practica da. Filtrele analogice (RC) si filtrele IIR ([[ps:cap10-z-iir|Cap 10]]) nu au in general aceasta proprietate. E principalul avantaj al FIR-urilor. In curs: **"FIR pastreaza forma semnalului!"** ===== 6. Proiectarea prin metoda ferestrei, pe etape ===== Pana aici coeficientii erau dati si aflam ce face filtrul. Acum problema inversa: **vreau un filtru trece-jos cu taierea la o anumita frecventa. Ce coeficienti pun?** Raspunsul din curs e **metoda ferestrei**. O facem pe un exemplu: trece-jos cu taierea la $f_c = f_s/4$, cu $M = 7$ coeficienti. ==== 6.1 Pasul 1 — desenezi filtrul ideal, in frecventa ==== Filtrul ideal e "fereastra" din [[ps:cap0-baze|Cap 0 §6.5]]: $|H(f)| = 1$ pentru frecventele pe care le vrei ($|f| < f_c$) si $0$ pentru restul. ==== 6.2 Pasul 2 — il treci in timp: iese un sinc ==== Am vazut in 4.4 ca raspunsul in frecventa e transformata Fourier a coeficientilor. Deci mergem invers: **coeficientii sunt transformata Fourier inversa a raspunsului dorit** (pe calculator: IFFT, [[ps:cap6-dft|Cap 6]]). Transformata inversa a unui dreptunghi este un **sinc**. E aceeasi pereche pe care o stii din [[ps:cap2-serii-fourier|Cap 2]] si [[ps:cap3-transformata-fourier-am|Cap 3]] (un puls dreptunghiular in timp are spectrul un sinc), doar privita invers: dreptunghi in frecventa ↔ sinc in timp. Rezultatul: $$ h_{ideal}(n) = \frac{\sin\left(2\pi \frac{f_c}{f_s} n\right)}{\pi n}, \qquad h_{ideal}(0) = \frac{2 f_c}{f_s}, \qquad n = \dots, -2, -1, 0, 1, 2, \dots $$ * $f_c$ = frecventa de taiere dorita; $f_s$ = frecventa de esantionare * $n$ = numarul coeficientului; aici $n = 0$ e **mijlocul**, iar $n$ merge si spre negativ **Cu numerele noastre** ($f_c = f_s/4$, deci $2\pi\frac{f_c}{f_s} = \frac{\pi}{2}$): $h_{ideal}(n) = \frac{\sin(\frac{\pi}{2}n)}{\pi n}$. ^ $n$ ^ $\sin(\frac{\pi}{2} n)$ ^ $h_{ideal}(n)$ ^ | 0 | (caz special) | $\frac{2 f_c}{f_s} = \frac{2}{4} = 0.5$ | | ±1 | ±1 | $\frac{1}{\pi} = 0.3183$ | | ±2 | 0 | $0$ | | ±3 | ∓1 | $-\frac{1}{3\pi} = -0.1061$ | | ±4 | 0 | $0$ | | ±5 | ±1 | $\frac{1}{5\pi} = 0.0637$ | | ... | ... | tot mai mici, dar nu se termina niciodata | (Pentru $n$ negativ valoarea e aceeasi ca pentru $n$ pozitiv: sinc-ul e simetric.) **Problema:** filtrul ideal are **o infinitate** de coeficienti. Nu-l poti construi. ==== 6.3 Pasul 3 — tai: pastrezi doar M coeficienti din mijloc ==== Pastram cei 7 coeficienti din mijloc ($n = -3, \dots, 3$) si ii renumerotam de la 0 la 6: $$ h_r = [-0.1061,\ 0,\ 0.3183,\ 0.5,\ 0.3183,\ 0,\ -0.1061] $$ **De ce avem voie sa renumerotam?** Un filtru nu poate folosi esantioane "din viitor" ($n$ negativ ar insemna $x(n+1), x(n+2)$...). Renumerotarea inseamna doar ca iesirea vine cu 3 esantioane mai tarziu. O intarziere nu schimba $|H(f)|$, schimba doar faza (sectiunea 5). Coeficientii au ramas simetrici, deci filtrul are faza liniara. **Ce am stricat prin taiere?** Verificam: calculam raspunsul in frecventa al celor 7 coeficienti (formula din 4.4, sau un FFT). {{ps:cap9:fereastra_pasi.png?1000|Metoda ferestrei: filtrul ideal, sinc-ul, taierea si rezultatul}} **Ce vezi in desen:** stanga-sus — pasul 1: filtrul ideal; pe orizontala frecventa, pe verticala $|H(f)|$ dorit. Dreapta-sus — pasul 2: coeficientii ideali (sinc-ul); pe orizontala numarul coeficientului, cu 0 la mijloc; chenarul rosu arata cei 7 pe care ii pastram, cei gri sunt aruncati. Stanga-jos — pasul 3: cei 7 coeficienti, renumerotati, cu valorile lor. Dreapta-jos — verificarea: linia rosie e filtrul obtinut, linia punctata gri e cel dorit. Filtrul obtinut seamana cu cel ideal, dar are trei defecte: * **ondulatii in banda de trecere**: in loc de 1 fix, urca pana la 1.10 si coboara la 0.92; * **panta in loc de perete**: trecerea de la "trece" la "taie" nu e brusca, ci se intinde pe o zona (zona de tranzitie); * **nu taie complet**: in banda de oprire raman "cocoase" de pana la 0.10. **De ce apar ondulatiile?** A pastra doar 7 coeficienti inseamna a inmulti sinc-ul infinit cu o **fereastra dreptunghiulara** $r(n)$: 1 pentru cei 7 pastrati, 0 pentru rest. In curs: $h_r(n) = h(n)\cdot r(n)$. O inmultire in timp e o convolutie in frecventa ([[ps:cap7-convolutie|Cap 7 §6]]): $H_r = H * R$. Spectrul ferestrei dreptunghiulare, $R$, e un sinc digital (dsinc) cu lob principal si lobi laterali ([[ps:cap8-leakage-ferestre|Cap 8]]). Dreptunghiul ideal "plimbat" peste acest dsinc capata lobii lui: de acolo ondulatiile si panta. E **acelasi fenomen** ca scurgerea spectrala (leakage) din Cap 8, doar ca acolo strica spectrul unui semnal, iar aici strica forma unui filtru. ==== 6.4 Pasul 4 — inmultesti cu o fereastra mai blanda ==== Leacul e acelasi ca la leakage: in loc sa tai brusc (fereastra dreptunghiulara), inmultesti coeficientii cu o **fereastra care coboara lin spre capete**. Exemple din curs: **Hanning (Hann), Hamming, Blackman**. Fereastra Hamming cu 7 valori este $w(n) = 0.54 - 0.46\cos\left(\frac{2\pi n}{M-1}\right)$, adica $w = [0.08,\ 0.31,\ 0.77,\ 1,\ 0.77,\ 0.31,\ 0.08]$. Inmultim coeficient cu coeficient: ^ $n$ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ | $h_r(n)$ (sinc-ul taiat) | −0.1061 | 0 | 0.3183 | 0.5 | 0.3183 | 0 | −0.1061 | | $w(n)$ (Hamming) | 0.08 | 0.31 | 0.77 | 1 | 0.77 | 0.31 | 0.08 | | $h_w(n) = h_r(n)\cdot w(n)$ | **−0.0085** | **0** | **0.2451** | **0.5** | **0.2451** | **0** | **−0.0085** | Coeficientii finali ai filtrului: $h_w = [-0.0085,\ 0,\ 0.2451,\ 0.5,\ 0.2451,\ 0,\ -0.0085]$. {{ps:cap9:fereastra_hamming.png?1000|Fereastra Hamming: coeficientii si raspunsul in frecventa}} **Ce vezi in desen:** stanga — cele doua ferestre: dreptunghiulara (rosu, 1 peste tot) si Hamming (verde, mica la capete); pe orizontala numarul coeficientului. Mijloc — coeficientii inainte (rosu) si dupa inmultirea cu Hamming (verde): cei de la capete aproape dispar. Dreapta — raspunsurile in frecventa: cu Hamming (verde) ondulatiile au disparut, dar panta e mai lata. **Compromisul ferestrelor:** o fereastra mai blanda da **ondulatii mai mici** (taie mai bine in banda de oprire), dar **zona de tranzitie mai lata** (panta mai putin abrupta). Nu le poti avea pe amandoua cu acelasi numar de coeficienti. Daca vrei si panta abrupta, mai pui coeficienti (cresti $M$). ==== 6.5 Pasul 5 — verifici si, daca nu e destul de bun, pui mai multi coeficienti ==== Faci FFT pe coeficientii finali si te uiti la $|H|$. Cu 7 coeficienti filtrul e modest. Cu 21 arata mult mai bine: {{ps:cap9:ferestre_m21.png?1000|Acelasi filtru cu 21 de coeficienti, cu trei ferestre}} **Ce vezi in desen:** acelasi filtru (taiere la $f_s/4$) cu 21 de coeficienti si trei ferestre. Stanga — scara normala: pe verticala $|H(f)|$; cu fereastra dreptunghiulara (rosu) se vad ondulatiile, cu Hamming (verde) si Blackman (mov) nu. Dreapta — aceleasi curbe cu verticala in decibeli, ca sa se vada si valorile foarte mici din banda de oprire. ^ Fereastra (21 coeficienti) ^ Cel mai inalt varf ramas in banda de oprire ^ Adica amplitudinea e inmultita cu cel mult ^ Latimea zonei de tranzitie ^ | dreptunghiulara | −21 dB | 0.09 | $0.045\,f_s$ (cea mai ingusta) | | Hamming | −55 dB | 0.002 | $0.09\,f_s$ | | Blackman | −73 dB | 0.0002 | $0.12\,f_s$ (cea mai lata) | (Decibelii sunt explicati in [[ps:cap5-cuantizare-snr-db|Cap 5 §4]]. Aici e vorba de amplitudini, deci regula cu 20: −20 dB = ×0.1, −40 dB = ×0.01, −60 dB = ×0.001.) **Metoda ferestrei, pe scurt (asa o scrii la examen):** - **Desenezi filtrul ideal** in frecventa: $|H(k)| = 1$ in banda dorita, 0 in rest. - **Aplici transformata inversa (IFFT)** → coeficientii ideali $h(n)$: un **sinc**, infinit de lung. - **Trunchiezi** la $M$ coeficienti (cei din mijloc) = inmultesti cu o **fereastra dreptunghiulara** $r(n)$: $h_r = h\cdot r$, deci $H_r = H * R$ → apar **ondulatii** (riplu) si **lobi laterali**. - **Inmultesti cu o alta fereastra** $w(n)$ (**Hanning, Hamming, Blackman**): $h_w = h\cdot w$, deci $H_w = H * W$ → ondulatii mult mai mici, tranzitie mai lata. - **Verifici cu FFT** raspunsul obtinut. Coeficientii finali $h_w(n)$ sunt simetrici → filtrul are **faza liniara**. ===== 7. Din trece-jos in trece-sus si in trece-banda ===== Metoda ferestrei da un filtru trece-jos. Celelalte tipuri se obtin din el cu o singura inmultire. ==== 7.1 Ideea: inmultirea cu un cosinus muta spectrul ==== In [[ps:cap3-transformata-fourier-am|Cap 3]] (modulatia AM) ai vazut: daca inmultesti un semnal cu $\cos(2\pi f_c t)$, spectrul lui se **muta** din jurul lui 0 in jurul lui $\pm f_c$, cu inaltimea injumatatita. Coeficientii $h(n)$ sunt si ei un "semnal", iar spectrul lor e raspunsul in frecventa $H(f)$. Deci: $$ h_B(n) = h(n)\cdot\cos\left(2\pi\frac{f_c}{f_s}n\right) \quad\longleftrightarrow\quad H_B(f) = \frac12\Big[H(f - f_c) + H(f + f_c)\Big] $$ * $h(n)$ = coeficientii filtrului trece-jos de la care pornesti * $f_c$ = frecventa la care vrei sa muti "fereastra" filtrului * $h_B(n)$ = noii coeficienti; $H_B$ = noul raspuns: doua copii ale celui vechi, mutate la $+f_c$ si la $-f_c$ In curs formula apare cu indici de DFT: $\cos(2\pi\frac{k_c}{N}n)$, unde $\frac{k_c}{N} = \frac{f_c}{f_s}$. E acelasi lucru. Doua valori ale lui $f_c$ dau cosinusuri cu numere simple. ==== 7.2 Cazul f_c = f_s/2: trece-sus ==== Pentru $f_c = f_s/2$ cosinusul este $\cos(\pi n) = 1, -1, 1, -1, \dots$ Deci: **Din trece-jos in trece-sus: schimbi semnul fiecarui al doilea coeficient** ($+ - + - + \dots$). **De mana, cu $h = [1, 2, 1]$:** inmultim cu $[1, -1, 1]$ → $[1, -2, 1]$. Verificam cu regula din 4.6: * suma: $1 - 2 + 1 = 0$ → frecventa 0 nu trece * suma alternata: $1 + 2 + 1 = 4$ → $f_s/2$ trece, inmultita cu 4 Raspunsul vechi era (4 la $f = 0$, 2 la $f_s/4$, 0 la $f_s/2$). Cel nou e (0, 2, 4): **oglinda** celui vechi. A devenit trece-sus. **Cu cei 7 coeficienti de la 6.4:** ^ $n$ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ | trece-jos $h_w(n)$ | −0.0085 | 0 | 0.2451 | 0.5 | 0.2451 | 0 | −0.0085 | | inmultit cu | + | − | + | − | + | − | + | | trece-sus | −0.0085 | 0 | 0.2451 | **−0.5** | 0.2451 | 0 | −0.0085 | {{ps:cap9:jos_in_sus.png?1000|Din trece-jos in trece-sus: semnele + − + − +}} **Ce vezi in desen:** stanga — coeficientii filtrului trece-jos. Mijloc — aceiasi coeficienti cu semnul schimbat din doi in doi (semnele mov de jos arata cu ce a fost inmultit fiecare). Dreapta — raspunsurile in frecventa: curba rosie (trece-sus) e oglinda celei verzi (trece-jos) fata de $f_s/4$. **De ce oglinda?** Noul raspuns e cel vechi mutat cu $f_s/2$. Ce era la frecventa 0 ajunge la $f_s/2$, iar ce era la $f_s/2$ ajunge la $f_s$, care pentru un semnal digital e acelasi lucru cu frecventa 0 (spectrul se repeta la fiecare $f_s$, [[ps:cap4-esantionare|Cap 4]]). Consecinta: un trece-jos cu taierea la $f_c$ devine un trece-sus cu taierea la $\frac{f_s}{2} - f_c$. **De ce aici nu apare injumatatirea ($\frac12$)?** Cele doua copii, mutate la $+f_s/2$ si la $-f_s/2$, cad **in acelasi loc**: $-f_s/2$ si $+f_s/2$ sunt la distanta $f_s$, deci sunt aceeasi frecventa pentru un semnal digital. Doua jumatati suprapuse dau intregul. **In schema Direct Form I** nu se schimba nimic altceva: aceleasi intarzieri, aceiasi coeficienti, doar cu semnele $+ - + - +$ pe ramuri (asa apare desenat in curs). ==== 7.3 Cazul f_c = f_s/4: trece-banda ==== Pentru $f_c = f_s/4$ cosinusul este $\cos(\frac{\pi}{2}n) = 1, 0, -1, 0, 1, \dots$ **De mana, cu $h = [1, 2, 1]$:** inmultim cu $[1, 0, -1]$ → $[1, 0, -1]$. Verificam: * suma: $1 + 0 - 1 = 0$ → frecventa 0 nu trece * suma alternata: $1 - 0 + (-1) = 0$ → nici $f_s/2$ nu trece * la $f_s/4$ (sirul $1, -j, -1$): $1\cdot 1 + 0\cdot(-j) + (-1)\cdot(-1) = 2$ → mijlocul trece E un filtru **trece-banda** centrat pe $f_s/4$. Inaltimea e 2, adica **jumatate** din 4-ul filtrului de la care am pornit: aici $\frac12$ din formula se vede, pentru ca cele doua copii (la $+f_s/4$ si $-f_s/4$) nu se mai suprapun. {{ps:cap9:jos_in_banda.png?850|Din trece-jos in trece-banda}} **Ce vezi in desen:** pe orizontala frecventa, pe verticala $|H(f)|$. Verde: un trece-jos cu 21 de coeficienti si taierea la $f_s/8$. Portocaliu: aceiasi coeficienti inmultiti cu $\cos(\frac{\pi}{2}n)$ — "cocoasa" s-a mutat la $f_s/4$ si are inaltimea 1/2. Rosu punctat: inmultiti cu $2\cos(\frac{\pi}{2}n)$ — trece-banda cu inaltimea 1. **Cat de lata e banda?** Trece-josul lasa sa treaca de la $-f_{taiere}$ la $+f_{taiere}$ (cu tot cu partea negativa). Mutat la $f_c$, lasa sa treaca de la $f_c - f_{taiere}$ la $f_c + f_{taiere}$. In desen: de la $f_s/4 - f_s/8 = f_s/8$ la $f_s/4 + f_s/8 = 3f_s/8$. E regula "centru ± jumatate din latime" de la [[ps:problema-tip|problemele cu esantionarea]]. ===== 8. Probleme rezolvate pe puncte ===== ==== P1 (examen 2026): filtrul FIR dat prin schema, h = [1, 2, 1] ==== **Enunt:** se da schema unui filtru FIR cu doua intarzieri si coeficientii $h(0), h(1), h(2)$. a) Scrieti ecuatia cu diferente. b) Scrieti functia de transfer $H(z)$. c) Pentru $h = [1, 2, 1]$ aflati zerourile si polii. d) Aflati si desenati raspunsul in frecventa. Ce fel de filtru este? {{ps:cap9:p1_schema.png?800|Schema din enunt}} **Ce vezi in desen:** schema Direct Form I din sectiunea 3.3, cu litere in loc de numere pe ramuri. === Punctul a) — ecuatia cu diferente === **Ce se cere:** formula care da $y(n)$. **Ce stim:** nivelul de sus e $x(n)$; dupa o intarziere e $x(n-1)$; dupa doua e $x(n-2)$. Pe ramuri sunt coeficientii $h(0), h(1), h(2)$. Toate ramurile intra in sumator. **Pasi:** - nivelul de sus: $h(0)\cdot x(n)$ - nivelul al doilea: $h(1)\cdot x(n-1)$ - nivelul al treilea: $h(2)\cdot x(n-2)$ - sumatorul le aduna. **Raspuns:** $y(n) = h(0)\,x(n) + h(1)\,x(n-1) + h(2)\,x(n-2)$. === Punctul b) — functia de transfer H(z) === **Ce se cere:** $H(z)$, adica descrierea filtrului cu transformata Z. **Ce stim:** singura regula de care ai nevoie (explicata in [[ps:cap10-z-iir|Cap 10]]): **o intarziere cu un esantion ↔ o inmultire cu $z^{-1}$**. Deci $x(n) \leftrightarrow X(z)$, $x(n-1) \leftrightarrow z^{-1}X(z)$, $x(n-2) \leftrightarrow z^{-2}X(z)$. Functia de transfer este $H(z) = \frac{Y(z)}{X(z)}$. **Pasi:** - inlocuim in ecuatia de la a): $Y(z) = h(0)\,X(z) + h(1)\,z^{-1}X(z) + h(2)\,z^{-2}X(z)$ - dam factor comun $X(z)$: $Y(z) = \left[h(0) + h(1)z^{-1} + h(2)z^{-2}\right]X(z)$ - impartim la $X(z)$. **Raspuns:** $H(z) = h(0) + h(1)\,z^{-1} + h(2)\,z^{-2}$. **Seamana cu ceva?** Da: cu pasul 1 din 4.4, unde o intarziere era o inmultire cu $e^{-j\omega}$. Transformata Z e aceeasi idee, cu $z$ in loc de $e^{j\omega}$. De aceea la punctul d) raspunsul in frecventa se obtine din $H(z)$ punand $z = e^{j\omega}$. === Punctul c) — zerourile si polii pentru h = [1, 2, 1] === **Ce se cere:** valorile lui $z$ pentru care $H(z) = 0$ (**zerourile**) si cele pentru care $H(z)$ devine infinit (**polii**). Pe larg in [[ps:cap10-z-iir|Cap 10]]. **Ce stim:** $H(z) = 1 + 2z^{-1} + z^{-2}$. **Pasi:** - scapam de puterile negative: inmultim si impartim cu $z^2$: $H(z) = \frac{z^2 + 2z + 1}{z^2}$ - numaratorul este un patrat: $z^2 + 2z + 1 = (z + 1)^2$ - **zerouri** = unde numaratorul e 0: $(z+1)^2 = 0$ → $z = -1$, de doua ori (zero dublu) - **poli** = unde numitorul e 0: $z^2 = 0$ → $z = 0$, de doua ori (pol dublu, in origine) **Raspuns:** zero dublu in $z = -1$; pol dublu in $z = 0$. **De retinut:** la orice filtru FIR toti polii sunt in origine ($z = 0$). Polii din origine nu pot face filtrul instabil, deci **un FIR e intotdeauna stabil**. Punctul $z = -1$ de pe cercul unitate corespunde frecventei $f_s/2$ ($e^{j\pi} = -1$): un zero acolo inseamna ca filtrul taie complet frecventa $f_s/2$. Se potriveste cu punctul d). === Punctul d) — raspunsul in frecventa === **Ce se cere:** $|H(f)|$ pentru $f$ intre 0 si $f_s/2$, desenat, si tipul filtrului. **Ce stim:** $H(f) = \sum_n h(n)\,e^{-j\omega n}$ cu $\omega = 2\pi f/f_s$ (sectiunea 4.4), adica $H(z)$ cu $z = e^{j\omega}$. **Pasi:** - trei valori cu regula rapida (4.6): $H(0) = 1 + 2 + 1 = 4$; $H(f_s/2) = 1 - 2 + 1 = 0$; $H(f_s/4) = 1 - 2j - 1 = -2j$, modul 2 - formula generala (4.5): $H(f) = 1 + 2e^{-j\omega} + e^{-j2\omega} = e^{-j\omega}(2 + 2\cos\omega)$ - modulul: $|H(f)| = 2 + 2\cos\left(2\pi\frac{f}{f_s}\right)$ {{ps:cap9:p1_raspuns.png?750|Raspunsul in frecventa pentru h = [1, 2, 1]}} **Ce vezi in desen:** pe orizontala frecventa de la 0 la $f_s/2$, pe verticala $|H(f)|$. Bulinele rosii sunt cele trei valori calculate: 4 la frecventa 0, 2 la $f_s/4$, 0 la $f_s/2$. Curba coboara lin intre ele. **Raspuns:** $|H(f)| = 2 + 2\cos(2\pi f/f_s)$, care scade de la 4 (la $f = 0$) la 0 (la $f = f_s/2$). Este un filtru **trece-jos**. Coeficientii sunt simetrici, deci are **faza liniara** (intarzie toate frecventele cu 1 esantion). ==== P2 (examen 2021): cos(2π·800t) esantionat la 1000 Hz, apoi FIR trece-jos ==== **Enunt:** $x(t) = \cos(2\pi\cdot 800t)$ se esantioneaza cu $f_s = 1000$ Hz. Semnalul rezultat $x(n)$ se filtreaza cu un filtru trece-jos de tip FIR cu frecventa de taiere $0.4\cdot f_s$, obtinand $y(n)$. a) Desenati spectrul lui $x(n)$, aratand toate componentele intre $-2f_s$ si $2f_s$. b) Desenati spectrul lui $y(n)$, asa cum l-ati vedea folosind FFT. === Punctul a) — spectrul lui x(n) intre −2fs si 2fs === **Ce se cere:** la ce frecvente sunt linii intre $-2000$ Hz si $2000$ Hz si ce inaltime au. **Ce stim:** * un cosinus de amplitudine 1 si frecventa 800 Hz are doua linii de inaltime $\frac12$: la $+800$ si la $-800$ Hz ([[ps:cap0-baze|Cap 0 §6]]); * esantionarea cu $f_s$ **copiaza** spectrul din $f_s$ in $f_s$ ([[ps:cap4-esantionare|Cap 4]]). Aici $f_s = 1000$ Hz. **Pasi:** - copiile liniei de la $+800$: $800 - 2000 = -1200$; $\ 800 - 1000 = -200$; $\ 800$; $\ 800 + 1000 = 1800$ (urmatoarea, 2800, iese din interval) - copiile liniei de la $-800$: $-800 - 1000 = -1800$; $\ -800$; $\ -800 + 1000 = 200$; $\ -800 + 2000 = 1200$ - le punem in ordine: $\pm 200$, $\pm 800$, $\pm 1200$, $\pm 1800$ Hz, toate de inaltime $\frac12$. {{ps:cap9:p2_spectru_x.png?1000|Spectrul lui x(n) intre −2fs si 2fs}} **Ce vezi in desen:** pe orizontala frecventa in Hz, pe verticala $|X(f)|$. Albastru: cele doua linii ale cosinusului original ($\pm 800$). Portocaliu: copiile aparute prin esantionare, cu calculul scris deasupra. Zona galbena e intervalul de la $-f_s/2$ la $f_s/2$ ($\pm 500$ Hz). **Raspuns:** 8 linii de inaltime $\frac12$, la $\pm 200$, $\pm 800$, $\pm 1200$, $\pm 1800$ Hz. **Atentie — aliasing.** $f_s = 1000$ Hz e mai mica decat $2\cdot 800 = 1600$ Hz, deci conditia Nyquist nu e respectata. In zona de baza (intre $-500$ si $500$ Hz) au ajuns liniile de la $\pm 200$ Hz: semnalul esantionat **arata exact ca un cosinus de 200 Hz**. Verificare pe esantioane: $\cos(2\pi\frac{800}{1000}n)$ si $\cos(2\pi\frac{200}{1000}n)$ dau aceleasi numere pentru orice $n$ (primele: $1,\ 0.309,\ -0.809,\ -0.809,\ 0.309,\ 1$). === Punctul b) — spectrul lui y(n), vazut cu FFT === **Ce se cere:** ce linii raman dupa filtru si unde apar ele pe axa unui FFT. **Ce stim:** * filtrul e trece-jos cu taierea la $0.4\cdot f_s = 400$ Hz: lasa sa treaca intre $-400$ si $400$ Hz; * filtrul e **digital**: lucreaza pe esantioane, deci si raspunsul lui se repeta la fiecare $f_s$ (are "copii ale ferestrei" in jurul lui $\pm 1000$, $\pm 2000$ Hz); * FFT-ul arata frecventele de la 0 la $f_s$; jumatatea de sus (de la $f_s/2$ la $f_s$) reprezinta frecventele negative ([[ps:cap6-dft|Cap 6]]): frecventa $-200$ Hz apare la $f_s - 200 = 800$ Hz; * un cosinus de amplitudine 1 care cade exact pe un punct al FFT-ului da doua linii de inaltime $N/2$, unde $N$ e numarul de esantioane ([[ps:cap6-dft|Cap 6 §7]]). **Pasi:** - linia de la $200$ Hz: e sub 400 Hz → **trece**. La fel cea de la $-200$ Hz. - celelalte linii ($\pm 800$, $\pm 1200$, $\pm 1800$) sunt copiile acelorasi doua linii si cad in copiile ferestrei filtrului (de exemplu $800 = 1000 - 200$, in fereastra din jurul lui 1000). Trec si ele. Pentru un semnal digital nu sunt componente separate: sunt **aceeasi** informatie, repetata. - deci filtrul **nu a scos nimic**: $y(n)$ e tot un cosinus de 200 Hz (cu aceeasi amplitudine daca filtrul are castigul 1 in banda de trecere; doar intarziat cu cateva esantioane, sectiunea 5). - pe axa FFT-ului (de la 0 la $f_s = 1000$ Hz): o linie la 200 Hz si una la $1000 - 200 = 800$ Hz. Cu $N$ esantioane, indicii sunt $k = N\cdot\frac{200}{1000} = 0.2N$ si $k = 0.8N$, iar inaltimea e $N/2$. Exemplu: $N = 100$ → $k = 20$ si $k = 80$, inaltime 50. {{ps:cap9:p2_spectru_y.png?1000|Spectrul lui y(n): dupa filtru si vazut cu FFT}} **Ce vezi in desen:** sus — aceleasi 8 linii ca la a), cu fereastra filtrului (verde punctat) si copiile ei din 1000 in 1000 Hz: toate liniile sunt inauntrul cate unei ferestre. Jos — ce arata FFT-ul: axa merge de la 0 la $f_s$ (dedesubt sunt si indicii $k$ pentru $N = 100$); doua linii de inaltime $N/2$, la 200 Hz si la 800 Hz; zona galbena e jumatatea frecventelor pozitive (0 ... $f_s/2$). **Raspuns:** doua linii de inaltime $N/2$: la 200 Hz ($k = 0.2N$) si la 800 Hz ($k = 0.8N$, adica frecventa $-200$ Hz). Filtrul nu a schimbat semnalul. **Morala problemei:** dupa ce aliasing-ul s-a produs, **niciun filtru digital nu-l mai poate repara**. Cosinusul de 800 Hz a devenit, prin esantionare, un cosinus de 200 Hz si nu mai poate fi deosebit de unul adevarat de 200 Hz. Filtrul care previne aliasing-ul trebuie pus **inainte** de esantionare si trebuie sa fie **analog** (filtrul anti-aliasing din [[ps:cap4-esantionare|Cap 4]]). ==== P3 (antrenament): din trece-jos in trece-sus ==== **Enunt:** se da filtrul FIR trece-jos $h = [\frac14, \frac12, \frac14]$. a) Obtineti din el un filtru trece-sus. b) Verificati cu regula rapida ca e trece-sus. c) Aplicati ambele filtre semnalului $x = 6, 4, 6, 4, 6, 4, \dots$ si explicati ce iese. === Punctul a) === **Ce se cere:** coeficientii filtrului trece-sus. **Ce stim:** din trece-jos in trece-sus schimbi semnul fiecarui al doilea coeficient (7.2). **Pasi:** inmultim $[\frac14, \frac12, \frac14]$ cu $[+1, -1, +1]$. **Raspuns:** $h_{sus} = [\frac14, -\frac12, \frac14]$. === Punctul b) === **Ce se cere:** dovada ca noul filtru e trece-sus. **Ce stim:** suma coeficientilor = raspunsul la $f = 0$; suma cu semne alternate = raspunsul la $f_s/2$ (4.6). **Pasi:** - suma: $\frac14 - \frac12 + \frac14 = 0$ - suma alternata: $\frac14 - (-\frac12) + \frac14 = \frac14 + \frac12 + \frac14 = 1$ **Raspuns:** frecventa 0 e taiata complet, $f_s/2$ trece cu castigul 1 → **trece-sus**. (Pentru filtrul initial era invers: suma 1, suma alternata 0.) === Punctul c) === **Ce se cere:** iesirile celor doua filtre pentru $x = 6, 4, 6, 4, \dots$ **Ce stim:** semnalul se poate scrie ca o parte constanta plus una care alterneaza: $6, 4, 6, 4 = (5, 5, 5, 5) + (1, -1, 1, -1)$. Adica frecventa 0 cu valoarea 5, plus frecventa $f_s/2$ cu amplitudinea 1. **Pasi:** - trece-jos, cand $x(n) = 6$ (deci $x(n-1) = 4$, $x(n-2) = 6$): $\frac14\cdot 6 + \frac12\cdot 4 + \frac14\cdot 6 = 1.5 + 2 + 1.5 = 5$ - trece-jos, cand $x(n) = 4$: $\frac14\cdot 4 + \frac12\cdot 6 + \frac14\cdot 4 = 1 + 3 + 1 = 5$ - trece-sus, cand $x(n) = 6$: $\frac14\cdot 6 - \frac12\cdot 4 + \frac14\cdot 6 = 1.5 - 2 + 1.5 = 1$ - trece-sus, cand $x(n) = 4$: $\frac14\cdot 4 - \frac12\cdot 6 + \frac14\cdot 4 = 1 - 3 + 1 = -1$ **Raspuns:** trece-josul scoate $5, 5, 5, \dots$ (a pastrat partea constanta si a sters alternanta). Trece-susul scoate $1, -1, 1, -1, \dots$ (a sters partea constanta si a pastrat alternanta). Fiecare a pastrat exact frecventa pentru care are castigul 1. ===== 9. Ce trebuie sa stii din Cap 9 (fisa de 1 minut) ===== * filtru digital = lista de coeficienti $h(n)$; iesirea e convolutia $y(n) = \sum_k h(k)\,x(n-k)$; in frecventa $Y(k) = H(k)\cdot X(k)$ * **FIR** = raspuns finit la impuls: la intrare un impuls $\delta(n)$ → la iesire chiar coeficientii $h(n)$, apoi 0 * ecuatia cu diferente: $y(n) = b_0x(n) + b_1x(n-1) + \dots + b_{M-1}x(n-M+1)$, cu $b_i = h(i)$ * **Direct Form I**: lant de $M-1$ intarzieri, cate o inmultire cu $b_i$ pe fiecare nivel, un sumator * raspunsul in frecventa: $H(f) = \sum_n h(n)\,e^{-j2\pi\frac{f}{f_s}n}$ = spectrul (FFT-ul) coeficientilor * **suma coeficientilor** = raspunsul la $f = 0$; **suma cu semne alternate** = raspunsul la $f_s/2$ * media alunecatoare $[\frac1M, \dots, \frac1M]$ = trece-jos; $[1, 2, 1]$ → $|H| = 2 + 2\cos(2\pi f/f_s)$: 4, 2, 0 → trece-jos * coeficienti **simetrici** → **faza liniara** → toate frecventele intarziate cu $\frac{M-1}{2}$ esantioane → **FIR pastreaza forma semnalului** * **metoda ferestrei**: filtru ideal → IFFT → sinc infinit → trunchiere (fereastra dreptunghiulara: ondulatii) → inmultire cu Hanning / Hamming / Blackman (ondulatii mici, tranzitie mai lata) → verificare cu FFT * mai multi coeficienti → tranzitie mai ingusta * din trece-jos in **trece-sus**: semnele $+ - + - +$ (inmultire cu $\cos(\pi n)$); in **trece-banda**: inmultire cu $\cos(2\pi\frac{f_c}{f_s}n)$ * un FIR are toti polii in $z = 0$ → e mereu stabil ([[ps:cap10-z-iir|Cap 10]]) * un filtru digital **nu poate repara aliasing-ul** deja produs ===== 10. Grile de verificare ===== Raspunsurile, cu explicatie pentru fiecare varianta, sunt imediat dupa grile. **G1.** Raspunsul la impuls al filtrului $y(n) = 2x(n) - x(n-1) + 3x(n-2)$ este: - A. $[2, -1, 3]$ - B. $[3, -1, 2]$ - C. $[2, 1, 3]$ - D. infinit de lung **G2.** Un filtru se numeste FIR pentru ca: - A. lasa sa treaca un numar finit de frecvente - B. raspunsul lui la un impuls se termina dupa un numar finit de esantioane - C. functioneaza doar pe semnale de lungime finita - D. iesirea depinde de iesirile anterioare **G3.** Filtrul cu $h = [1, 1, 1, 1]$ inmulteste un semnal constant cu: - A. 0 - B. 1 - C. 4 - D. 1/4 **G4.** Filtrul cu $h = [1, -1, 1, -1]$ este: - A. trece-jos - B. trece-sus - C. lasa sa treaca tot - D. nu lasa sa treaca nimic **G5.** Un filtru FIR cu coeficienti simetrici: - A. intarzie toate frecventele cu acelasi numar de esantioane - B. nu intarzie deloc semnalul - C. amplifica toate frecventele la fel - D. este intotdeauna trece-jos **G6.** In metoda ferestrei, daca inlocuiesti fereastra dreptunghiulara cu una Hamming (acelasi numar de coeficienti): - A. ondulatiile scad, zona de tranzitie se lateste - B. ondulatiile scad, zona de tranzitie se ingusteaza - C. nu se schimba nimic - D. filtrul devine trece-sus **G7.** Ca sa transformi un FIR trece-jos intr-unul trece-sus: - A. inversezi ordinea coeficientilor - B. schimbi semnul fiecarui al doilea coeficient - C. schimbi semnul tuturor coeficientilor - D. imparti toti coeficientii la 2 **G8.** Un FIR cu 7 coeficienti simetrici intarzie semnalul cu: - A. 7 esantioane - B. 3 esantioane - C. 3.5 esantioane - D. 0 esantioane ==== Raspunsuri la grile ==== ^ Grila ^ Raspuns ^ De ce e corect ^ De ce sunt gresite celelalte ^ | G1 | **A** | raspunsul la impuls al unui FIR = coeficientii, in ordine: $b_0 = 2$, $b_1 = -1$, $b_2 = 3$ (2.3) | B: ordinea e inversata. C: a pierdut semnul minus. D: infinit ar fi la un IIR; aici nu apar iesiri anterioare. | | G2 | **B** | FIR = Finite Impulse Response: impulsul iese din "raza" filtrului dupa $M$ esantioane (2.3) | A: orice filtru lucreaza cu toate frecventele. C: semnalul poate fi oricat de lung. D: asta e definitia unui IIR. | | G3 | **C** | raspunsul la $f = 0$ = suma coeficientilor: $1+1+1+1 = 4$ (4.6) | A: 0 ar fi suma alternata (raspunsul la $f_s/2$). B: ar fi 1 doar daca coeficientii ar fi $\frac14$. D: $\frac14$ e coeficientul mediei, nu castigul. | | G4 | **B** | suma $= 0$ (taie frecventa 0); suma alternata $= 1+1+1+1 = 4$ (lasa $f_s/2$) → trece-sus | A: un trece-jos are suma mare. C: frecventa 0 e taiata. D: $f_s/2$ trece, inmultita cu 4. | | G5 | **A** | simetrie → faza liniara → intarziere $\frac{M-1}{2}$ pentru orice frecventa (5.2) | B: intarzierea exista, e doar aceeasi pentru toate. C: amplificarea difera cu frecventa (altfel n-ar fi filtru). D: $[1, -2, 1]$ e simetric si e trece-sus. | | G6 | **A** | fereastra mai blanda → lobi laterali mai mici, lob principal mai lat (6.4) | B: nu le poti castiga pe amandoua cu acelasi $M$. C: raspunsul se schimba vizibil. D: tipul filtrului il da sinc-ul, nu fereastra. | | G7 | **B** | inmultirea cu $\cos(\pi n) = 1, -1, 1, \dots$ muta raspunsul cu $f_s/2$ (7.2) | A: la coeficienti simetrici inversarea nu schimba nimic. C: schimba doar semnul iesirii; $\lvert H\rvert$ ramane acelasi. D: micsoreaza iesirea, nu schimba tipul. | | G8 | **B** | $\frac{M-1}{2} = \frac{7-1}{2} = 3$ | A: 7 e numarul de coeficienti. C: a uitat sa scada 1. D: orice FIR cu mai mult de un coeficient intarzie. | ===== 11. Intrebari de teorie ca la examen ===== La examen, teoria e cu raspuns scris de tine, in cateva randuri. Mai jos sunt intrebarile reale legate de acest capitol (lista completa: [[ps:subiecte-reale|Subiecte reale §2]]), fiecare cu un raspuns model. Incearca intai sa raspunzi singur pe foaie, apoi compara. **T1. (examen 2023 varianta B, examen 2026) Descrieti metoda ferestrei pentru obtinerea unui filtru FIR: etape, coeficienti, exemple de ferestre. Cum obtineti dintr-un FIR trece-jos un FIR trece-sus?** **Raspuns model:** * **Etape:** (1) se alege raspunsul ideal in frecventa, de exemplu trece-jos: $|H(k)| = 1$ pana la frecventa de taiere si 0 in rest; (2) se aplica transformata inversa (IFFT) → coeficientii ideali $h(n)$, un **sinc** infinit de lung; (3) se pastreaza doar $M$ coeficienti din mijloc, adica se inmulteste cu o **fereastra dreptunghiulara**: $h_r = h\cdot r$, deci in frecventa $H_r = H * R$ → apar ondulatii (riplu) si lobi laterali; (4) se inmulteste in schimb cu o fereastra care scade lin spre capete: $h_w = h\cdot w$ → ondulatii mult mai mici, cu pretul unei zone de tranzitie mai late. * **Coeficientii** filtrului sunt valorile $h_w(n)$: sinc-ul trunchiat inmultit cu fereastra. Sunt simetrici, deci filtrul are faza liniara. * **Exemple de ferestre:** dreptunghiulara, Hanning (Hann), Hamming, Blackman. * **Din trece-jos in trece-sus:** se inmultesc coeficientii cu $\cos(\pi n) = 1, -1, 1, -1, \dots$, adica se schimba semnul fiecarui al doilea coeficient. Raspunsul in frecventa se muta cu $f_s/2$: ce era la frecventa 0 ajunge la $f_s/2$. **T2. (examen 2024 varianta B) Cum transformati un filtru trece-jos digital intr-un filtru trece-sus? Cum aflati functia de transfer a unui sistem la care aveti acces doar la intrare si la iesire?** **Raspuns model:** * **FTJ → FTS:** se inmultesc coeficientii $h(n)$ cu $\cos(2\pi\frac{f_c}{f_s}n)$ pentru $f_c = f_s/2$, adica cu $(-1)^n$: semnele devin $+ - + - \dots$ O inmultire cu un cosinus in timp muta spectrul in frecventa, deci banda de trecere se muta de la 0 la $f_s/2$. (Cu $f_c$ intre 0 si $f_s/2$ se obtine un trece-banda centrat pe $f_c$.) * **Functia de transfer din intrare si iesire:** se aplica la intrare un **impuls** $\delta(n)$. Iesirea este raspunsul la impuls $h(n)$ (la un FIR: chiar coeficientii). Transformata Fourier (FFT) a lui $h(n)$ este functia de transfer $H(k)$. Echivalent: pentru orice intrare, $H(k) = Y(k)/X(k)$ ([[ps:cap7-convolutie|Cap 7]]). **T3. (examen 2023 varianta C, 2024 varianta B, 2026) FIR versus IIR: arhitectura, performanta, avantaje.** //Partea despre FIR; comparatia completa e in [[ps:cap10-z-iir|Cap 10]].// **Raspuns model (partea FIR):** * **Arhitectura:** iesirea depinde doar de intrarea curenta si de cele anterioare: $y(n) = \sum_i b_i\,x(n-i)$. Nu are reactie (feedback). Schema: lant de intarzieri, inmultiri cu $b_i$, un sumator. * **Avantaje:** este **intotdeauna stabil** (toti polii in origine); cu coeficienti simetrici are **faza liniara**, deci pastreaza forma semnalului; se proiecteaza simplu, cu metoda ferestrei. * **Dezavantaj:** pentru o taiere abrupta are nevoie de **multi coeficienti** (multe inmultiri pe esantion si intarziere mare), pe cand un IIR obtine aceeasi panta cu mult mai putini. **T4. (intrebare de antrenament, nu e luata dintr-un examen) Ce este raspunsul in frecventa al unui filtru FIR si cum il obtineti din coeficienti?** **Raspuns model:** raspunsul in frecventa $H(f)$ arata, pentru fiecare frecventa, de cate ori e inmultita amplitudinea unei sinusoide care trece prin filtru (modulul) si cu cat e decalata (faza). Se obtine ca transformata Fourier a coeficientilor: $H(f) = \sum_n h(n)\,e^{-j2\pi\frac{f}{f_s}n}$; in practica, FFT-ul coeficientilor. Verificari rapide: $H(0)$ = suma coeficientilor, $H(f_s/2)$ = suma cu semne alternate. Exemplu: $h = [1, 2, 1]$ → 4 la frecventa 0, 0 la $f_s/2$ → trece-jos. **T5. (intrebare de antrenament, nu e luata dintr-un examen) Ce inseamna ca un filtru FIR are faza liniara si de ce e important?** **Raspuns model:** faza raspunsului in frecventa scade proportional cu frecventa, ceea ce inseamna ca toate frecventele sunt intarziate cu acelasi numar de esantioane, $\frac{M-1}{2}$ pentru $M$ coeficienti simetrici. Componentele semnalului raman aliniate intre ele, deci semnalul din banda de trecere iese cu aceeasi forma, doar intarziat. E important la semnale la care forma conteaza (audio, impulsuri de date). Filtrele analogice si IIR nu au, in general, aceasta proprietate. ---- **Inainte:** [[ps:cap8-leakage-ferestre|Cap 8 — Leakage, zero-padding, ferestre]] · **Urmatorul:** [[ps:cap10-z-iir|Cap 10 — Transformata Z si filtre IIR]] · [[ps:subiecte-reale|Subiecte reale]] · [[ps:start|Cuprins]].