Table of Contents
Cap 9 — Filtre FIR (raspuns finit la impuls)
← inapoi la cuprins · Materie pentru examenul final · Carte: cap. 8 · Notitele colegilor: cursurile 13–15 · Inainte: Cap 8 · Dupa: Cap 10
- 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$ (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.
1. Unde suntem
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]$.
- $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]$.
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:
- 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 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 a netezit varful. Un varf brusc inseamna o schimbare rapida, iar schimbarile rapide sunt frecvente inalte (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 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 |
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.
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.
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).
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 |
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)$.
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 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)$ (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$.
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 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, 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
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]$:
- $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}$ (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, 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$).
4.6 Regula rapida: ce fel de filtru e
- 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 |
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.
- $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 (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!”
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 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, 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 $$
- $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] $$
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:
- 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.
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]$.
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.
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:
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.)
- 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 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:
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 |
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).
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.
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.
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?
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 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}$.
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 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$.
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)$
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 (Cap 0 §6);
- esantionarea cu $f_s$ copiaza spectrul din $f_s$ in $f_s$ (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$.
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.
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 (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 (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.
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.
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 (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: 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?
- 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?
- 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)$ (Cap 7).
T3. (examen 2023 varianta C, 2024 varianta B, 2026) FIR versus IIR: arhitectura, performanta, avantaje. Partea despre FIR; comparatia completa e in Cap 10.
- 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?
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.




![Schema Direct Form I pentru h = [1, 2, 1] Schema Direct Form I pentru h = [1, 2, 1]](/lib/exe/fetch.php?w=850&tok=e04643&media=ps:cap9:direct_form_121.png)

![Raspunsul in frecventa pentru h = [1, 1], [1, −1] si [1, 2, 1] Raspunsul in frecventa pentru h = [1, 1], [1, −1] si [1, 2, 1]](/lib/exe/fetch.php?w=1000&tok=726dc4&media=ps:cap9:raspuns_frecventa_simple.png)







![Raspunsul in frecventa pentru h = [1, 2, 1] Raspunsul in frecventa pentru h = [1, 2, 1]](/lib/exe/fetch.php?w=750&tok=360a2c&media=ps:cap9:p1_raspuns.png)

