← inapoi la cuprins · Materie pentru examenul final · Carte: cap. 8 · Notitele colegilor: cursurile 13–15 · Inainte: Cap 8 · Dupa: Cap 10
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$ (Cap 4); ce e spectrul si cum “tai” din el cu un filtru (Cap 0 §6); convolutia (Cap 7). Le reamintesc pe scurt acolo unde apar.
In 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 (Cap 4) si l-am cuantizat (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 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]$.
Iesirea: $y = [3, 8, 7, 2]$.
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)$.
Ce inveti in acest capitol:
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 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 Cap 7: lungimea iesirii = lungimea intrarii + numarul de coeficienti − 1 = $7 + 3 - 1 = 9$.
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 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) $$
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 Cap 7 §3).
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 |
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.
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 Cap 10.
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) $$
Este aceeasi convolutie din sectiunea 1, scrisa termen cu termen.
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 (Cap 10).
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$).
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 |
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 la schema la ecuatie (asa se cere la examen):
De la ecuatie la schema:
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)$.
Ai coeficientii unui filtru. Intrebarea: ce frecvente lasa sa treaca si pe care le taie?
In 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.
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)$ (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 |
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$.
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 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.
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, 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}} $$
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 Cap 4: sunt punctele de pe cerc la 0°, −90°, −180°, −270°.)
Verificare cu $h = [1, 1]$:
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, 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$ ✓.
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$).
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 |
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.
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.
Un semnal real e o suma de multe sinusoide (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.
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.
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 (Cap 10) nu au in general aceasta proprietate. E principalul avantaj al FIR-urilor. In curs: “FIR pastreaza forma semnalului!”
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.
Filtrul ideal e “fereastra” din Cap 0 §6.5: $|H(f)| = 1$ pentru frecventele pe care le vrei ($|f| < f_c$) si $0$ pentru restul.
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, Cap 6).
Transformata inversa a unui dreptunghi este un sinc. E aceeasi pereche pe care o stii din Cap 2 si 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 $$
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.
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] $$
Ce am stricat prin taiere? Verificam: calculam raspunsul in frecventa al celor 7 coeficienti (formula din 4.4, sau un FFT).
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:
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]$.
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.
Faci FFT pe coeficientii finali si te uiti la $|H|$. Cu 7 coeficienti filtrul e modest. Cu 21 arata mult mai bine:
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 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 da un filtru trece-jos. Celelalte tipuri se obtin din el cu o singura inmultire.
In 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] $$
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.
Pentru $f_c = f_s/2$ cosinusul este $\cos(\pi n) = 1, -1, 1, -1, \dots$ Deci:
De mana, cu $h = [1, 2, 1]$: inmultim cu $[1, -1, 1]$ → $[1, -2, 1]$. Verificam cu regula din 4.6:
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 |
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 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).
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:
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.
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.
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?
Ce vezi in desen: schema Direct Form I din sectiunea 3.3, cu litere in loc de numere pe ramuri.
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:
Raspuns: $y(n) = h(0)\,x(n) + h(1)\,x(n-1) + h(2)\,x(n-2)$.
Ce se cere: $H(z)$, adica descrierea filtrului cu transformata Z.
Ce stim: singura regula de care ai nevoie (explicata in 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:
Raspuns: $H(z) = h(0) + h(1)\,z^{-1} + h(2)\,z^{-2}$.
Ce se cere: valorile lui $z$ pentru care $H(z) = 0$ (zerourile) si cele pentru care $H(z)$ devine infinit (polii). Pe larg in Cap 10.
Ce stim: $H(z) = 1 + 2z^{-1} + z^{-2}$.
Pasi:
Raspuns: zero dublu in $z = -1$; pol dublu in $z = 0$.
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:
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).
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.
Ce se cere: la ce frecvente sunt linii intre $-2000$ Hz si $2000$ Hz si ce inaltime au.
Ce stim:
Pasi:
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.
Ce se cere: ce linii raman dupa filtru si unde apar ele pe axa unui FFT.
Ce stim:
Pasi:
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.
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.
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]$.
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:
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.)
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:
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.
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:
G2. Un filtru se numeste FIR pentru ca:
G3. Filtrul cu $h = [1, 1, 1, 1]$ inmulteste un semnal constant cu:
G4. Filtrul cu $h = [1, -1, 1, -1]$ este:
G5. Un filtru FIR cu coeficienti simetrici:
G6. In metoda ferestrei, daca inlocuiesti fereastra dreptunghiulara cu una Hamming (acelasi numar de coeficienti):
G7. Ca sa transformi un FIR trece-jos intr-unul trece-sus:
G8. Un FIR cu 7 coeficienti simetrici intarzie semnalul cu:
| 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. |
La examen, teoria e cu raspuns scris de tine, in cateva randuri. Mai jos sunt intrebarile reale legate de acest capitol (lista completa: 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?
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?
T3. (examen 2023 varianta C, 2024 varianta B, 2026) FIR versus IIR: arhitectura, performanta, avantaje. Partea despre FIR; comparatia completa e in Cap 10.
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?
T5. (intrebare de antrenament, nu e luata dintr-un examen) Ce inseamna ca un filtru FIR are faza liniara si de ce e important?
Inainte: Cap 8 — Leakage, zero-padding, ferestre · Urmatorul: Cap 10 — Transformata Z si filtre IIR · Subiecte reale · Cuprins.