====== Cap 7 — Convolutia si teorema convolutiei ======
[[ps:start|← inapoi la cuprins]] · Cursul profesorului: cap. 6.3 si 8.1–8.2 · Notitele colegilor: p. 25–27, 30 · Inainte: [[ps:cap6-dft|Cap 6 — DFT]]
**De ce conteaza capitolul asta la examen:**
* La teorie s-a cerut de mai multe ori: **"Convolutia (definitie, aplicatie)"** si **"Teorema convolutiei"** (2023, 2026).
* La curs s-a dat ca test exact calculul din sectiunea 3: $[1, 2, 3, 10, 3, 2, 1]$ trecut prin filtrul $[\frac15, \frac15, \frac15, \frac15, \frac15]$.
* Filtrele digitale din capitolele urmatoare ([[ps:cap9-fir|Cap 9]], [[ps:cap10-z-iir|Cap 10]]) sunt **toate** convolutii. Daca intelegi capitolul asta, restul e usor.
**Ideea capitolului in 3 fraze:**
- Un filtru digital ia o lista de numere si scoate alta lista. Fiecare numar de la iesire este o **suma ponderata a ultimelor cateva numere de la intrare**. Operatia asta se numeste **convolutie**.
- Ponderile formeaza lista $h(n)$. Ea descrie complet filtrul. O afli usor: bagi la intrare un singur 1 urmat de zerouri si te uiti ce iese (**raspunsul la impuls**).
- **Teorema convolutiei:** convolutia in timp inseamna **inmultire** in frecventa: $Y(k) = H(k)\cdot X(k)$. Adica exact "inmultesti spectrul cu fereastra filtrului", cum ai facut in [[ps:cap0-baze|Cap 0 §6.5]].
**Ce iti trebuie dinainte:** pentru sectiunile 1–5 doar adunare si inmultire. Pentru sectiunea 6 trebuie sa stii ce este spectrul ([[ps:cap0-baze|Cap 0 §6]]) si ce este DFT-ul $X(k)$ ([[ps:cap6-dft|Cap 6]]) — iti reamintesc acolo pe scurt.
===== 1. De ce ne trebuie convolutia =====
==== 1.1 O poveste: termometrul care greseste o data ====
Un termometru masoara ceva din ora in ora. Sapte citiri la rand arata asa:
$$1,\ 2,\ 3,\ 10,\ 3,\ 2,\ 1$$
Valoarea 10 e suspecta: e un **varf brusc**, cel mai probabil o eroare de masurare. Vrei sa "netezesti" lista, ca varful sa nu mai sara in ochi.
Cea mai simpla idee: in loc de fiecare citire, scrii **media ultimelor 5 citiri**. O valoare gresita se "dilueaza" intre 4 valori bune. Din 10 ramane cam 4 (calculul complet e in sectiunea 3).
Regula "fa media ultimelor 5 valori" este un **filtru digital**. Operatia matematica din spatele ei se numeste **convolutie**.
==== 1.2 Ce este un filtru digital, in cuvinte ====
Dupa esantionare ([[ps:cap4-esantionare|Cap 4]]) un semnal nu mai e o curba. E o **lista de numere**, numite esantioane. Un filtru digital este o regula care:
* primeste o lista de numere (**intrarea**),
* scoate o alta lista de numere (**iesirea**),
* calculeaza fiecare numar de la iesire ca **suma ponderata** a celor mai recente numere de la intrare.
"Suma ponderata" inseamna: inmultesti fiecare numar cu o pondere (un coeficient) si aduni rezultatele. La media a 5 valori, toate ponderile sunt $\frac15$. La alte filtre ponderile sunt diferite intre ele.
==== 1.3 Notatiile din tot capitolul ====
^ Simbol ^ Ce este ^ Exemplu ^
| $n$ | numarul de ordine al esantionului. **Numaratoarea incepe de la 0**, nu de la 1. | $n = 0, 1, 2, \dots$ |
| $x(n)$ | **intrarea**: lista de numere care intra in filtru. $x(0)$ e primul numar, $x(1)$ al doilea. (In curs apare si notata $s(n)$ — e acelasi lucru.) | $x = [1, 2, 3]$ → $x(0) = 1$, $x(1) = 2$, $x(2) = 3$ |
| $h(n)$ | **coeficientii filtrului** (ponderile). Tot o lista de numere. | $h = [1, 1]$ → $h(0) = 1$, $h(1) = 1$ |
| $y(n)$ | **iesirea**: lista de numere pe care o scoate filtrul. | o calculam mai jos |
| $P$ | cate numere are intrarea $x$ | pentru $[1, 2, 3]$: $P = 3$ |
| $M$ | cate numere are filtrul $h$ | pentru $[1, 1]$: $M = 2$ |
**De ce incepe numaratoarea de la 0?** E o conventie, la fel ca la vectorii din programare. $x(0)$ este esantionul de la momentul de start. Atentie doar la numarat: o lista cu indicii $0, 1, 2$ are **3** elemente.
===== 2. Convolutia pe un exemplu mic, pas cu pas =====
Incepem cu cel mai mic exemplu posibil. Formula vine abia la 2.5.
==== 2.1 Datele ====
* intrarea: $x = [1, 2, 3]$, adica $x(0) = 1$, $x(1) = 2$, $x(2) = 3$
* filtrul: $h = [1, 1]$, adica $h(0) = 1$, $h(1) = 1$
==== 2.2 Regula, in cuvinte ====
Filtrul are doi coeficienti, deci se uita la **doua** valori de la intrare: cea de acum si cea de la pasul dinainte.
**iesirea de la pasul $n$ = $h(0)$ × (intrarea de acum) + $h(1)$ × (intrarea de la pasul dinainte)**
Scris cu simboluri: $y(n) = h(0)\cdot x(n) + h(1)\cdot x(n-1)$.
Aici $x(n)$ este intrarea de la pasul $n$ ("de acum"), iar $x(n-1)$ este intrarea de la pasul $n - 1$ ("cu un pas in urma").
**O singura conventie:** daca regula cere o valoare care nu exista (inainte de primul numar sau dupa ultimul), punem **0** in locul ei.
**De ce punem 0 unde nu exista valoare?** Inainte sa inceapa semnalul nu a intrat nimic in filtru. "Nimic" inseamna 0. La fel dupa ce semnalul s-a terminat.
==== 2.3 Calculul, pas cu pas ====
^ pasul $n$ ^ intrarea de acum, $x(n)$ ^ intrarea dinainte, $x(n-1)$ ^ calculul $h(0)\cdot x(n) + h(1)\cdot x(n-1)$ ^ $y(n)$ ^
| 0 | $x(0) = 1$ | $x(-1)$ nu exista → 0 | $1\cdot 1 + 1\cdot 0$ | **1** |
| 1 | $x(1) = 2$ | $x(0) = 1$ | $1\cdot 2 + 1\cdot 1$ | **3** |
| 2 | $x(2) = 3$ | $x(1) = 2$ | $1\cdot 3 + 1\cdot 2$ | **5** |
| 3 | $x(3)$ nu exista → 0 | $x(2) = 3$ | $1\cdot 0 + 1\cdot 3$ | **3** |
| 4 | $x(4)$ nu exista → 0 | $x(3)$ nu exista → 0 | $1\cdot 0 + 1\cdot 0$ | 0 — de aici incolo iese doar 0, ne oprim |
**Rezultat:** $y = [1, 3, 5, 3]$.
Tocmai ai facut o convolutie. Se scrie $y = h * x$ si se citeste "h convolutie cu x".
**Steluta $*$ NU este inmultire.** $h * x$ inseamna "aplica toata procedura de mai sus". Inmultirea obisnuita o scriem cu punct: $h(0)\cdot x(1)$.
==== 2.4 Acelasi calcul, desenat: lista h "aluneca" peste lista x ====
{{ps:cap7:aluneca_pas_cu_pas.png?1000|Convolutia pas cu pas}}
**Ce vezi in desen:** randul albastru este intrarea $x$ si sta pe loc. Randul portocaliu este filtrul $h$, scris **intors** ($h(1)$ in stanga, $h(0)$ in dreapta). La fiecare pas il muti cu o casuta la dreapta. Casutele care ajung una sub alta se **inmultesc** (liniile verzi), apoi produsele se **aduna**. Casutele gri, punctate, au iesit in afara lui $x$: acolo e 0, nu contribuie.
**De ce e $h$ scris intors?** Uita-te la regula: $h(0)$ se inmulteste cu intrarea **cea mai noua**, $x(n)$, iar $h(1)$ cu cea **mai veche**, $x(n-1)$. In desen, valorile mai noi ale lui $x$ sunt mai la dreapta. Deci $h(0)$ trebuie sa stea in dreapta si $h(1)$ in stanga — adica lista $h$ apare intoarsa. Nu e un truc separat de tinut minte: e doar regula "coeficientul 0 merge cu valoarea cea mai noua", desenata.
==== 2.5 Formula generala (acelasi lucru, scris cu litere) ====
Daca filtrul are $M$ coeficienti in loc de 2, regula se lungeste: te uiti la ultimele $M$ valori de la intrare.
$$y(n) = h(0)\,x(n) + h(1)\,x(n-1) + h(2)\,x(n-2) + \dots + h(M-1)\,x(n-M+1)$$
Ca sa nu scrii toata suma, se foloseste semnul $\sum$ ("sigma" = **aduna toti termenii**):
$$\boxed{\,y(n) = (h * x)(n) = \sum_{k=0}^{M-1} h(k)\cdot x(n-k)\,}$$
Cum o citesti, bucata cu bucata:
* $k$ ia pe rand valorile $0, 1, 2, \dots, M-1$ — cate una pentru fiecare coeficient al filtrului;
* $h(k)$ = coeficientul numarul $k$;
* $x(n-k)$ = intrarea de **acum $k$ pasi**. Pentru $k = 0$ e intrarea de acum. Pentru $k = 1$ e cea de la pasul dinainte. Si tot asa;
* $\sum$ = aduni toate produsele $h(k)\cdot x(n-k)$.
**Verificare pe exemplul nostru** ($M = 2$, deci $k$ ia valorile 0 si 1): $y(n) = h(0)\,x(n-0) + h(1)\,x(n-1)$. Exact regula din 2.2.
Aceasta este **definitia convolutiei** din curs. $M$ = numarul de esantioane din $h(n)$.
==== 2.6 Cate numere are rezultatul: M + P − 1 ====
In exemplu: $x$ are $P = 3$ numere, $h$ are $M = 2$ numere, iar $y$ a iesit cu **4** numere.
$$\text{lungimea lui } y = M + P - 1 = 2 + 3 - 1 = 4$$
**De ce $M + P - 1$?** Uita-te la desenul din 2.4. Filtrul da ceva diferit de 0 cat timp macar o casuta de-a lui e sub $x$.
* Cat timp $h(0)$ e sub $x$: sunt $P$ pasi (cate unul pentru fiecare valoare din $x$).
* Dupa ce $h(0)$ a iesit in dreapta, restul filtrului mai e inca peste $x$: inca $M - 1$ pasi (cate unul pentru fiecare coeficient ramas).
Total: $P + (M - 1)$. Iesirea e deci **mai lunga** decat intrarea, cu $M - 1$ valori.
==== 2.7 Si daca h nu are toti coeficientii egali? ====
Acelasi $x = [1, 2, 3]$, dar $h = [2, 1]$, adica $h(0) = 2$, $h(1) = 1$. Regula: $y(n) = 2\cdot x(n) + 1\cdot x(n-1)$.
^ pasul $n$ ^ $x(n)$ ^ $x(n-1)$ ^ calculul $2\cdot x(n) + 1\cdot x(n-1)$ ^ $y(n)$ ^
| 0 | 1 | 0 | $2\cdot 1 + 1\cdot 0$ | **2** |
| 1 | 2 | 1 | $2\cdot 2 + 1\cdot 1$ | **5** |
| 2 | 3 | 2 | $2\cdot 3 + 1\cdot 2$ | **8** |
| 3 | 0 | 3 | $2\cdot 0 + 1\cdot 3$ | **3** |
**Rezultat:** $y = [2, 5, 8, 3]$. Observa: coeficientul $h(0) = 2$ a inmultit mereu valoarea **cea mai noua**.
**Greseala clasica:** sa inmultesti listele pozitie cu pozitie ($[1, 2, 3]$ cu $[2, 1]$ → $[2, 2]$). Aceea NU e convolutie. La convolutie fiecare iesire e o **suma** de mai multe produse, iar rezultatul e **mai lung** decat intrarea.
**Verificare rapida la examen:** (suma numerelor din $y$) = (suma numerelor din $x$) × (suma numerelor din $h$).
* primul exemplu: $1 + 3 + 5 + 3 = 12$ si $(1 + 2 + 3)\cdot(1 + 1) = 6\cdot 2 = 12$ ✓
* al doilea: $2 + 5 + 8 + 3 = 18$ si $6\cdot(2 + 1) = 18$ ✓
Daca nu iese egal, ai gresit un termen pe undeva.
===== 3. Exemplul din curs: media alunecatoare (Moving Average) =====
Acesta e exemplul profesorului, dat si ca test la curs. Sunt numerele din povestea cu termometrul.
==== 3.1 Datele ====
* intrarea: $x = [1, 2, 3, 10, 3, 2, 1]$ → $P = 7$ numere
* filtrul: $h = [\frac15, \frac15, \frac15, \frac15, \frac15]$ → $M = 5$ coeficienti, toti egali cu $\frac15$
* se cere: $y = h * x$
**Cate numere va avea $y$:** $M + P - 1 = 5 + 7 - 1 = 11$.
==== 3.2 Regula pentru acest filtru ====
Scriem formula din 2.5 pentru $M = 5$:
$$y(n) = \tfrac15 x(n) + \tfrac15 x(n-1) + \tfrac15 x(n-2) + \tfrac15 x(n-3) + \tfrac15 x(n-4)$$
Toti coeficientii sunt $\frac15$, deci il scoatem in fata:
$$y(n) = \frac{x(n) + x(n-1) + x(n-2) + x(n-3) + x(n-4)}{5}$$
Aduni ultimele 5 valori si imparti la 5. Este **media ultimelor 5 intrari**. De aici numele: **medie alunecatoare** (//Moving Average//) — fereastra de 5 valori "aluneca" peste semnal.
==== 3.3 Calculul complet ====
Valorile care nu exista (inainte de $x(0)$ sau dupa $x(6)$) sunt 0 si nu le mai scriem.
^ $n$ ^ ce valori din $x$ prinde fereastra de 5 ^ suma lor ^ $y(n)$ = suma / 5 ^
| 0 | 1 | 1 | $\frac15 = 0.2$ |
| 1 | 2, 1 | 3 | $\frac35 = 0.6$ |
| 2 | 3, 2, 1 | 6 | $\frac65 = 1.2$ |
| 3 | 10, 3, 2, 1 | 16 | $\frac{16}{5} = 3.2$ |
| 4 | 3, 10, 3, 2, 1 | 19 | $\frac{19}{5} = 3.8$ |
| 5 | 2, 3, 10, 3, 2 | 20 | $\frac{20}{5} = 4$ |
| 6 | 1, 2, 3, 10, 3 | 19 | $\frac{19}{5} = 3.8$ |
| 7 | 1, 2, 3, 10 | 16 | $\frac{16}{5} = 3.2$ |
| 8 | 1, 2, 3 | 6 | $\frac65 = 1.2$ |
| 9 | 1, 2 | 3 | $\frac35 = 0.6$ |
| 10 | 1 | 1 | $\frac15 = 0.2$ |
Cum citesti un rand, de exemplu $n = 4$: fereastra prinde $x(4), x(3), x(2), x(1), x(0)$, adica 3, 10, 3, 2, 1. Suma e 19. Impartit la 5 da $\frac{19}{5}$.
Cum citesti randul $n = 7$: fereastra ar prinde $x(7), x(6), x(5), x(4), x(3)$. Dar $x(7)$ nu exista (e 0). Raman 1, 2, 3, 10. Suma e 16.
**Raspuns:** $y = \left[\frac15, \frac35, \frac65, \frac{16}{5}, \frac{19}{5}, \frac{20}{5}, \frac{19}{5}, \frac{16}{5}, \frac65, \frac35, \frac15\right]$ — 11 valori.
**Verificare:** suma lui $x$ este $1 + 2 + 3 + 10 + 3 + 2 + 1 = 22$. Suma lui $h$ este $5\cdot\frac15 = 1$. Suma lui $y$ este $\frac{1 + 3 + 6 + 16 + 19 + 20 + 19 + 16 + 6 + 3 + 1}{5} = \frac{110}{5} = 22$ ✓
{{ps:cap7:medie_alunecatoare.png?1000|Intrarea si iesirea filtrului medie alunecatoare}}
**Ce vezi in desen:** in stanga intrarea, cu varful de 10 la $n = 3$. In dreapta iesirea, desenata la aceeasi scara: varful a scazut la 4 si s-a latit. Pe axa orizontala e numarul esantionului $n$, pe cea verticala valoarea lui.
==== 3.4 Ce a facut filtrul ====
* Varful brusc de 10 a fost **turtit** la 4 si intins pe mai multe esantioane.
* Iesirea urca si coboara **lin**, fara salturi mari.
**De ce spunem ca filtrul "a scos frecventele inalte"?** Din [[ps:cap0-baze|Cap 0 §5]]: frecventa spune cat de **repede** se schimba un semnal. Un salt brusc de la 3 la 10 si inapoi este o schimbare foarte rapida, deci contine frecvente inalte. O medie nu poate urmari salturi bruste — ea le netezeste. Tot ce variaza lent trece aproape neschimbat. Deci media alunecatoare este un **filtru trece-jos**. Dovada cu numere e in Problema 2 (sectiunea 7), iar explicatia in frecventa in sectiunea 6.
**De ce primele si ultimele valori din $y$ sunt asa mici ($\frac15$, $\frac35$)?** La margini fereastra de 5 nu e "plina": prinde doar 1 sau 2 valori reale, restul sunt zerouri. Tot la 5 imparti, deci media iese mica. Nu e o greseala, e efectul de margine al oricarei convolutii.
===== 4. Impulsul δ(n) si raspunsul la impuls =====
==== 4.1 Ce este impulsul δ(n) ====
Este cel mai simplu semnal posibil: **un singur 1, la $n = 0$, si in rest doar zerouri**.
$$\delta(n) = \begin{cases} 1, & n = 0 \\ 0, & n \neq 0 \end{cases} \qquad\text{adica}\qquad \delta = [1, 0, 0, 0, \dots]$$
$\delta$ se citeste "delta". Il mai gasesti sub numele: impuls, semnal Delta, Kronecker Delta.
**Impulsul intarziat:** $\delta(n - 2)$ este acelasi 1, dar mutat la $n = 2$: $[0, 0, 1, 0, \dots]$. In general $\delta(n - d)$ are 1-ul la pozitia $n = d$.
**De ce $\delta(n-2)$ are 1-ul la $n = 2$ si nu la $n = -2$?** $\delta$ da 1 doar cand ce e in paranteza este 0. $n - 2 = 0$ se intampla la $n = 2$. Aceeasi regula ca la orice intarziere: "minus 2 in paranteza" = mutat cu 2 pasi **la dreapta** (mai tarziu).
==== 4.2 Ce iese din filtru cand intra un impuls ====
Luam filtrul $h = [1, 1]$ din sectiunea 2 si ii dam la intrare $x = \delta = [1, 0, 0, \dots]$. Regula e aceeasi: $y(n) = h(0)\cdot x(n) + h(1)\cdot x(n-1)$.
^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ calculul ^ $y(n)$ ^
| 0 | 1 | 0 | $h(0)\cdot 1 + h(1)\cdot 0$ | $h(0) = 1$ |
| 1 | 0 | 1 | $h(0)\cdot 0 + h(1)\cdot 1$ | $h(1) = 1$ |
| 2 | 0 | 0 | $h(0)\cdot 0 + h(1)\cdot 0$ | 0 |
A iesit $y = [h(0), h(1)] = [1, 1]$. **Exact coeficientii filtrului.**
Nu e o coincidenta. Singurul 1 de la intrare "trece" pe rand prin dreptul fiecarui coeficient si il scoate la iesire, unul cate unul. Merge la fel pentru orice filtru:
$$\boxed{\,x(n) = \delta(n) \;\Rightarrow\; y(n) = (h * \delta)(n) = h(n)\,}$$
{{ps:cap7:impuls_raspuns.png?1000|Impulsul la intrare, raspunsul la impuls la iesire}}
**Ce vezi in desen:** in stanga impulsul $\delta(n)$: un singur bat de inaltime 1, la $n = 0$. In dreapta ce scoate filtrul "media a 5 valori" din sectiunea 3: cinci bete de inaltime $\frac15$, adica exact $h(n)$.
De aceea lista $h(n)$ are doua nume care inseamna **acelasi lucru**:
* **coeficientii filtrului** (ponderile din suma),
* **raspunsul la impuls** (ce "raspunde" filtrul cand il lovesti cu un impuls).
La filtrele din acest capitol raspunsul la impuls are un numar **finit** de valori ($M$), apoi e 0. De aici numele **FIR** = //Finite Impulse Response// (raspuns finit la impuls). Detalii in [[ps:cap9-fir|Cap 9]]. Filtrele la care raspunsul nu se mai termina (IIR) sunt in [[ps:cap10-z-iir|Cap 10]].
==== 4.3 De ce h(n) spune TOT despre filtru ====
Intrebarea fireasca: am aflat ce face filtrul cu un singur impuls. De unde stim ce face cu **orice** alt semnal?
Raspunsul: orice semnal este o **suma de impulsuri**, fiecare mutat la locul lui si inmultit cu valoarea de acolo. Pentru $x = [1, 2, 3]$:
$$[1, 2, 3] = \underbrace{[1, 0, 0]}_{1\cdot\delta(n)} + \underbrace{[0, 2, 0]}_{2\cdot\delta(n-1)} + \underbrace{[0, 0, 3]}_{3\cdot\delta(n-2)}$$
Acum folosim cele doua proprietati ale unui sistem **LTI** (liniar si invariant in timp, [[ps:cap0-baze|Cap 0 §2]]):
* **invariant in timp:** daca intrarea vine mai tarziu cu 1 pas, iesirea e aceeasi, doar mai tarziu cu 1 pas. Deci la $\delta(n-1)$ filtrul raspunde cu $h(n-1)$ — lista $h$ mutata cu o pozitie la dreapta.
* **liniar:** daca intrarea e de 2 ori mai mare, iesirea e de 2 ori mai mare. Iar la o suma de intrari, iesirea e suma iesirilor.
Aplicam pe fiecare bucata, cu $h = [1, 1]$:
^ bucata de intrare ^ ce scoate filtrul pentru ea ^ ca lista de 4 valori ^
| $1\cdot\delta(n)$ | $1\cdot h(n)$ | $[1, 1, 0, 0]$ |
| $2\cdot\delta(n-1)$ | $2\cdot h(n-1)$ | $[0, 2, 2, 0]$ |
| $3\cdot\delta(n-2)$ | $3\cdot h(n-2)$ | $[0, 0, 3, 3]$ |
| **suma** = $x$ | **suma** = $y$ | $[1, 3, 5, 3]$ |
A iesit $[1, 3, 5, 3]$ — **acelasi rezultat** ca in sectiunea 2. Deci convolutia este, privita altfel: fiecare valoare de la intrare lasa in urma ei o copie a lui $h$ (inmultita cu valoarea respectiva), iar copiile se aduna.
{{ps:cap7:ecouri.png?900|Convolutia ca suma de copii ale lui h}}
**Ce vezi in desen:** pe coloana din stanga, intrarea desfacuta in 3 impulsuri (albastru) si suma lor (mov, jos). Pe coloana din dreapta, raspunsul filtrului la fiecare impuls (rosu): cate o copie a lui $h = [1, 1]$, mutata si inmultita. Jos (verde) suma raspunsurilor: $y = [1, 3, 5, 3]$.
**Concluzia:** daca stii $h(n)$, poti calcula iesirea pentru **orice** intrare (prin convolutie). De aceea se spune ca raspunsul la impuls **caracterizeaza complet** un sistem LTI. Asta merge doar pentru sisteme LTI — am folosit si liniaritatea, si invarianta in timp.
==== 4.4 Sistemul "cutie neagra" (intrebare de examen) ====
**Intrebarea:** ai un sistem la care ai acces doar la intrare si la iesire. Nu stii ce e inauntru. Cum ii afli functia de transfer?
**Raspunsul, in 3 pasi:**
- Pui la intrare un impuls $\delta(n)$.
- Notezi ce iese. Iesirea este chiar $h(n)$, raspunsul la impuls.
- Calculezi DFT-ul lui $h(n)$ ([[ps:cap6-dft|Cap 6]]). Rezultatul $H(k)$ este **functia de transfer**: iti spune cu cat inmulteste sistemul fiecare frecventa.
De ce pasul 3 da functia de transfer: vezi teorema convolutiei, sectiunea 6.
**Alte doua variante corecte:** (a) bagi pe rand cate o sinusoida de fiecare frecventa si masori de cate ori s-a schimbat amplitudinea la iesire — asa e definita functia de transfer in [[ps:cap1-filtre|Cap 1 §3]]; (b) bagi orice semnal cunoscut $x(n)$, masori $y(n)$ si calculezi $H(k) = Y(k)/X(k)$ (unde $X(k) \neq 0$).
===== 5. Proprietatile convolutiei =====
Fiecare proprietate, cu un exemplu mic pe care il poti verifica de mana.
==== 5.1 Comutativa: ordinea nu conteaza ====
$h * x = x * h$. Nu conteaza care lista e "filtrul" si care e "semnalul". Rezultatul e acelasi.
**Exemplu:** stim ca $[1, 1] * [1, 2, 3] = [1, 3, 5, 3]$. Schimbam rolurile: filtrul e $h = [1, 2, 3]$ ($M = 3$), intrarea e $x = [1, 1]$. Regula: $y(n) = 1\cdot x(n) + 2\cdot x(n-1) + 3\cdot x(n-2)$.
* $y(0) = 1\cdot 1 = 1$
* $y(1) = 1\cdot 1 + 2\cdot 1 = 3$
* $y(2) = 1\cdot 0 + 2\cdot 1 + 3\cdot 1 = 5$
* $y(3) = 2\cdot 0 + 3\cdot 1 = 3$
Tot $[1, 3, 5, 3]$ ✓
**La ce ajuta:** la examen alegi ca "filtru" lista **mai scurta**. Ai mai putini termeni de adunat la fiecare pas.
==== 5.2 Liniara ====
Doua lucruri:
* **inmultire cu un numar:** daca dublezi intrarea, se dubleaza iesirea. $[1, 1] * [2, 4, 6] = [2, 6, 10, 6]$, adica de 2 ori $[1, 3, 5, 3]$.
* **suma:** convolutia unei sume = suma convolutiilor.
**Exemplu pentru suma**, cu $h = [1, 1]$, $a = [1, 2, 3]$, $b = [0, 1, 0]$:
* $h * a = [1, 3, 5, 3]$
* $h * b = [0, 1, 1, 0]$
* suma lor: $[1, 4, 6, 3]$
* direct: $a + b = [1, 3, 3]$ si $h * [1, 3, 3] = [1,\ 3 + 1,\ 3 + 3,\ 3] = [1, 4, 6, 3]$ ✓
**La ce ajuta:** daca semnalul e o suma de sinusoide, poti trece fiecare sinusoida separat prin filtru si aduni la sfarsit. Exact ce faceai in [[ps:cap1-filtre|Cap 1 §5]].
==== 5.3 Convolutia cu un impuls: copiaza. Cu un impuls intarziat: MUTA ====
* $x * \delta = x$. Impulsul $[1]$ lasa semnalul neschimbat: $[1] * [1, 2, 3] = [1, 2, 3]$.
* $x * \delta(n - d)$ = semnalul $x$ **intarziat cu $d$ pozitii**.
**Exemplu:** $\delta(n-2) = [0, 0, 1]$.
$$[0, 0, 1] * [1, 2, 3] = [0, 0, 1, 2, 3]$$
Verificare cu ideea din 4.3: valoarea 1 de pe pozitia 2 lasa in urma ei o copie a lui $[1, 2, 3]$ care incepe de la pozitia 2. Zerourile nu lasa nimic.
**Tine minte asta:** "convolutie cu un delta mutat = semnalul mutat acolo". O vei folosi in frecventa:
* in [[ps:cap8-leakage-ferestre|Cap 8]] (scurgerea spectrala): fiecare linie din spectru e inlocuita cu o copie a spectrului ferestrei;
* in [[ps:cap9-fir|Cap 9]]: cum faci dintr-un filtru trece-jos unul trece-sus;
* si explica ce ai vazut deja la modulatia AM (sectiunea 6.6).
==== 5.4 Doua filtre unul dupa altul fac cat un singur filtru ====
Daca treci semnalul prin filtrul $h_1$ si apoi rezultatul prin filtrul $h_2$, e ca si cum l-ai trece o singura data prin filtrul $h_1 * h_2$.
**Exemplu:** doua filtre $[1, 1]$ puse unul dupa altul.
* filtrul echivalent: $[1, 1] * [1, 1] = [1,\ 1 + 1,\ 1] = [1, 2, 1]$
* pe rand: $[1, 2, 3]$ → primul filtru → $[1, 3, 5, 3]$ → al doilea filtru → $[1, 4, 8, 8, 3]$
* direct cu $[1, 2, 1]$: $[1, 2, 1] * [1, 2, 3] = [1, 4, 8, 8, 3]$ ✓
(Filtrul $h = [1, 2, 1]$ apare intr-o problema de examen din 2026 — vezi [[ps:cap9-fir|Cap 9]].)
===== 6. Teorema convolutiei =====
Pana aici am lucrat doar **in timp**: liste de esantioane. Acum ne uitam la aceeasi operatie **in frecventa**: ce se intampla cu spectrul.
==== 6.1 Ce ne trebuie din Cap 6 (pe scurt) ====
* DFT-ul ia o lista de $N$ esantioane $x(n)$ si scoate o lista de $N$ numere $X(k)$ — **spectrul**. $X(k)$ spune "cat din frecventa numarul $k$ este in semnal" (frecventa reala este $k\cdot f_s/N$, unde $f_s$ e frecventa de esantionare).
* Formula: $X(k) = \sum_{n=0}^{N-1} x(n)\,e^{-j2\pi kn/N}$.
* Pentru $N = 4$ factorul $e^{-j2\pi kn/4}$ ia doar valorile $1, -j, -1, j$ (aceleasi ca la IQ, [[ps:cap4-esantionare|Cap 4 §6]]). Asa ca DFT-ul pe 4 puncte se face de mana:
^ $k$ ^ cu ce inmultesti $x(0), x(1), x(2), x(3)$ ^
| 0 | $1,\ 1,\ 1,\ 1$ |
| 1 | $1,\ -j,\ -1,\ j$ |
| 2 | $1,\ -1,\ 1,\ -1$ |
| 3 | $1,\ j,\ -1,\ -j$ |
Notam cu litere mari spectrele: $X(k)$ pentru intrare, $H(k)$ pentru filtru, $Y(k)$ pentru iesire.
==== 6.2 Intai verificam cu numere ====
Luam exemplul din sectiunea 2: $x = [1, 2, 3]$, $h = [1, 1]$, $y = h * x = [1, 3, 5, 3]$.
**Pas 1 — aducem cele trei liste la aceeasi lungime, $N = 4$**, punand zerouri la coada:
* $x = [1, 2, 3, 0]$
* $h = [1, 1, 0, 0]$
* $y = [1, 3, 5, 3]$
**De ce completam cu zerouri si de ce $N = 4$?** DFT-ul compara spectrele "linie cu linie", deci listele trebuie sa aiba acelasi numar $N$ de valori. Luam $N$ cel putin cat lungimea rezultatului, $M + P - 1 = 4$, ca $y$ sa incapa intreg. Zerourile adaugate la coada nu schimba semnalul (nu aduc nimic nou).
**Pas 2 — calculam spectrul fiecarei liste** cu tabelul din 6.1.
Pentru $x = [1, 2, 3, 0]$:
* $X(0) = 1 + 2 + 3 + 0 = 6$
* $X(1) = 1\cdot 1 + 2\cdot(-j) + 3\cdot(-1) + 0\cdot j = 1 - 2j - 3 = -2 - 2j$
* $X(2) = 1 - 2 + 3 - 0 = 2$
* $X(3) = 1 + 2j - 3 - 0 = -2 + 2j$
Pentru $h = [1, 1, 0, 0]$:
* $H(0) = 1 + 1 = 2$
* $H(1) = 1 - j$
* $H(2) = 1 - 1 = 0$
* $H(3) = 1 + j$
Pentru $y = [1, 3, 5, 3]$:
* $Y(0) = 1 + 3 + 5 + 3 = 12$
* $Y(1) = 1 - 3j - 5 + 3j = -4$
* $Y(2) = 1 - 3 + 5 - 3 = 0$
* $Y(3) = 1 + 3j - 5 - 3j = -4$
**Pas 3 — inmultim $H(k)$ cu $X(k)$, linie cu linie, si comparam cu $Y(k)$:**
^ $k$ ^ $H(k)$ ^ $X(k)$ ^ $H(k)\cdot X(k)$ ^ $Y(k)$ ^
| 0 | $2$ | $6$ | $2\cdot 6 = 12$ | $12$ ✓ |
| 1 | $1 - j$ | $-2 - 2j$ | $-4$ (calculul e mai jos) | $-4$ ✓ |
| 2 | $0$ | $2$ | $0\cdot 2 = 0$ | $0$ ✓ |
| 3 | $1 + j$ | $-2 + 2j$ | $-4$ | $-4$ ✓ |
Calculul de la $k = 1$, desfacand parantezele (si $j^2 = -1$, [[ps:cap0-baze|Cap 0 §3]]):
$$(1 - j)(-2 - 2j) = -2 - 2j + 2j + 2j^2 = -2 + 2\cdot(-1) = -4$$
**Concluzie:** spectrul iesirii este **produsul** dintre spectrul filtrului si spectrul intrarii, la fiecare $k$. In timp am facut o convolutie (complicata). In frecventa aceeasi operatie e o simpla **inmultire**.
==== 6.3 Teorema ====
**Teorema convolutiei.** Fie $x(n)$ si $h(n)$ doua semnale discrete, cu spectrele $X(k)$ si $H(k)$.
* Semnalului $y(n) = (h * x)(n)$ ii corespunde spectrul $Y(k) = H(k)\cdot X(k)$.
* Si invers: semnalului $y(n) = h(n)\cdot x(n)$ ii corespunde spectrul $Y(k) = (H * X)(k)$.
**Pe scurt: convolutie intr-un domeniu (timp sau frecventa) = inmultire in celalalt domeniu.**
$$(h * x)(n) \;\longleftrightarrow\; H(k)\cdot X(k) \qquad\qquad h(n)\cdot x(n) \;\longleftrightarrow\; (H * X)(k)$$
Sageata dubla $\longleftrightarrow$ inseamna "ii corespunde in celalalt domeniu" (stanga: timp, dreapta: frecventa).
(Detaliu pentru cine verifica numeric: la a doua forma, cu formulele DFT din curs, mai apare un factor constant $\frac1N$. El nu schimba forma spectrului. In curs teorema se enunta fara el, asa cum e scrisa mai sus.)
==== 6.4 La ce foloseste: filtrarea ====
Asta e poanta capitolului. Pune cap la cap ce stii deja:
* In [[ps:cap0-baze|Cap 0 §6.5]] ai filtrat un semnal **pe spectru**: desenai liniile, desenai "fereastra" filtrului si taiai ce era in afara ei. Adica inmulteai fiecare linie cu 1 (trece) sau cu 0 (taiata).
* In [[ps:cap1-filtre|Cap 1 §5]] fereastra era "moale": fiecare linie se inmultea cu $|H(f)|$, un numar intre 0 si 1.
* Acum: $Y(k) = H(k)\cdot X(k)$. **Este exact acelasi lucru**, scris pentru semnale digitale. $H(k)$ este fereastra filtrului (functia de transfer), $X(k)$ sunt liniile semnalului.
Teorema spune ce trebuie facut **cu esantioanele** ca sa obtii aceasta inmultire in frecventa: o **convolutie** cu $h(n)$.
^ ^ in timp (pe esantioane) ^ in frecventa (pe spectru) ^
| semnalul de intrare | $x(n)$ | $X(k)$ |
| filtrul | $h(n)$ — coeficientii = raspunsul la impuls | $H(k)$ — functia de transfer ("fereastra") |
| operatia de filtrare | **convolutie**: $y(n) = (h * x)(n)$ | **inmultire**: $Y(k) = H(k)\cdot X(k)$ |
{{ps:cap7:teorema_filtrare.png?1000|Filtrarea vazuta in timp si in frecventa}}
**Ce vezi in desen:** randul de sus e in frecventa, cel de jos in timp. Intrarea (albastru) este suma dintre un cosinus lent (linia de la $k = 2$) si unul rapid (linia de la $k = 16$). Filtrul (portocaliu) este media ultimelor 8 valori; spectrul lui e aproape 1 la frecvente mici si exact 0 la $k = 16$. Sus: inmultind linie cu linie, linia de la $k = 2$ ramane aproape intreaga ($32\cdot 0.9 = 28.8$), iar cea de la $k = 16$ dispare ($25.6\cdot 0 = 0$). Jos: aceeasi filtrare facuta prin convolutie — din semnalul "zimtat" ramane doar cosinusul lent.
**De ce e utila teorema, practic?** Ca sa afli **ce face** un filtru nu trebuie sa faci nicio convolutie. Calculezi o singura data $H(k)$ (DFT-ul coeficientilor) si te uiti la $|H(k)|$: unde e aproape de 1, frecventele trec; unde e aproape de 0, sunt taiate.
==== 6.5 Exemplu: citim ce fel de filtru este cel cu coeficientii [1, 1] ====
Din 6.2 avem $H(k) = [2,\ 1 - j,\ 0,\ 1 + j]$. Ne intereseaza marimea (modulul, [[ps:cap0-baze|Cap 0 §3]]): $|1 - j| = \sqrt{1^2 + 1^2} = \sqrt2 \approx 1.41$.
^ $k$ ^ ce frecventa e ^ $\lvert H(k)\rvert$ ^ ce face filtrul cu ea ^
| 0 | frecventa 0 (semnal constant) | 2 | o lasa sa treaca (o si dubleaza) |
| 1 | $f_s/4$ | 1.41 | trece, mai slab |
| 2 | $f_s/2$ (cea mai mare frecventa posibila) | 0 | o **elimina complet** |
| 3 | $-f_s/4$ (oglinda lui $k = 1$) | 1.41 | la fel ca $k = 1$ |
Frecventele joase trec, cea mai inalta e taiata → $h = [1, 1]$ este un **filtru trece-jos**. Normal: $[1, 1]$ aduna doua valori vecine, deci e (de 2 ori) media lor.
==== 6.6 Cealalta jumatate a teoremei: inmultire in timp ↔ convolutie in frecventa ====
Ai intalnit-o deja, fara sa-i spunem pe nume:
* **Modulatia AM** ([[ps:cap3-transformata-fourier-am|Cap 3 §4]]): inmulteai mesajul cu $\cos(2\pi f_c t)$ **in timp**. Spectrul cosinusului are doua linii (doua "delta") la $\pm f_c$. In frecventa rezulta **convolutia** spectrului mesajului cu aceste doua linii. Iar convolutia cu un delta mutat inseamna "muta acolo" (5.3). De aceea spectrul mesajului aparea copiat la $+f_c$ si la $-f_c$.
* **Scurgerea spectrala** ([[ps:cap8-leakage-ferestre|Cap 8]]): cand iei doar $N$ esantioane dintr-un semnal lung, de fapt il **inmultesti in timp** cu o fereastra dreptunghiulara. In frecventa, spectrul lui se **convolutioneaza** cu spectrul ferestrei.
===== 7. Probleme rezolvate pe puncte =====
==== Problema 1 — convolutie de mana ====
Fie $x = [2, 0, 4, 6]$ si $h = [1, 2, 1]$.
- **a)** Cate valori are $y = h * x$?
- **b)** Calculeaza $y$.
- **c)** Verifica rezultatul.
=== Punctul a) ===
**Ce se cere:** lungimea lui $y$.
**Ce stim:** $x$ are $P = 4$ valori, $h$ are $M = 3$ valori.
**Pas 1.** Formula din 2.6: lungimea = $M + P - 1 = 3 + 4 - 1 = 6$.
**Raspuns a):** $y$ are **6 valori**: $y(0), y(1), \dots, y(5)$.
=== Punctul b) ===
**Ce se cere:** cele 6 valori.
**Ce stim:** $x(0) = 2$, $x(1) = 0$, $x(2) = 4$, $x(3) = 6$; $h(0) = 1$, $h(1) = 2$, $h(2) = 1$.
**Pas 1 — scriem regula** (formula din 2.5 cu $M = 3$):
$$y(n) = 1\cdot x(n) + 2\cdot x(n-1) + 1\cdot x(n-2)$$
In cuvinte: valoarea de acum, plus de 2 ori cea dinainte, plus cea de acum 2 pasi.
**Pas 2 — calculam pe rand** (ce nu exista e 0):
^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ calculul $1\cdot x(n) + 2\cdot x(n-1) + 1\cdot x(n-2)$ ^ $y(n)$ ^
| 0 | 2 | 0 | 0 | $2 + 0 + 0$ | **2** |
| 1 | 0 | 2 | 0 | $0 + 4 + 0$ | **4** |
| 2 | 4 | 0 | 2 | $4 + 0 + 2$ | **6** |
| 3 | 6 | 4 | 0 | $6 + 8 + 0$ | **14** |
| 4 | 0 | 6 | 4 | $0 + 12 + 4$ | **16** |
| 5 | 0 | 0 | 6 | $0 + 0 + 6$ | **6** |
**Raspuns b):** $y = [2, 4, 6, 14, 16, 6]$.
=== Punctul c) ===
**Ce se cere:** o verificare.
**Pas 1 — numarul de valori:** am obtinut 6, cat am prezis la a) ✓
**Pas 2 — regula sumelor** (2.7): suma lui $x$ este $2 + 0 + 4 + 6 = 12$. Suma lui $h$ este $1 + 2 + 1 = 4$. Produsul: $12\cdot 4 = 48$. Suma lui $y$: $2 + 4 + 6 + 14 + 16 + 6 = 48$ ✓
**Raspuns c):** rezultatul trece ambele verificari.
----
==== Problema 2 — ce fel de filtru este? (fara nicio formula de spectru) ====
Un filtru are coeficientii $h = [\frac12, \frac12]$.
- **a)** Ce scoate pentru semnalul constant $x = [3, 3, 3, 3, 3, 3]$?
- **b)** Ce scoate pentru semnalul alternant $x = [1, -1, 1, -1, 1, -1]$?
- **c)** Ce fel de filtru este (trece-jos sau trece-sus)? De ce?
- **d)** Ce se schimba daca $h = [\frac12, -\frac12]$?
**Regula filtrului** (pentru toate punctele): $y(n) = \frac12 x(n) + \frac12 x(n-1)$ — **media dintre valoarea de acum si cea dinainte**.
=== Punctul a) ===
**Ce se cere:** $y$ pentru intrarea constanta.
**Pas 1 — prima valoare:** $y(0) = \frac12\cdot 3 + \frac12\cdot 0 = 1.5$ (inainte nu era nimic).
**Pas 2 — valorile din mijloc**, $n = 1, \dots, 5$: $y(n) = \frac12\cdot 3 + \frac12\cdot 3 = 3$.
**Pas 3 — ultima valoare:** $y(6) = \frac12\cdot 0 + \frac12\cdot 3 = 1.5$ (semnalul s-a terminat).
**Raspuns a):** $y = [1.5, 3, 3, 3, 3, 3, 1.5]$. Lasand deoparte cele doua margini, **constanta 3 a trecut neschimbata**.
=== Punctul b) ===
**Ce se cere:** $y$ pentru intrarea alternanta.
**Pas 1 — prima valoare:** $y(0) = \frac12\cdot 1 + \frac12\cdot 0 = 0.5$.
**Pas 2 — valorile din mijloc:** doua valori vecine sunt mereu $1$ si $-1$. Media lor: $\frac12\cdot 1 + \frac12\cdot(-1) = 0$. Deci $y(1) = y(2) = \dots = y(5) = 0$.
**Pas 3 — ultima valoare:** $y(6) = \frac12\cdot 0 + \frac12\cdot(-1) = -0.5$.
**Raspuns b):** $y = [0.5, 0, 0, 0, 0, 0, -0.5]$. Lasand deoparte marginile, **alternanta a fost stearsa complet**.
{{ps:cap7:p2_constant_alternant.png?1000|Semnal constant si semnal alternant prin filtrul [1/2, 1/2]}}
**Ce vezi in desen:** sus, semnalul constant intra (albastru) si iese (rosu) tot 3. Jos, semnalul alternant intra si iese 0. La capete ($n = 0$ si $n = 6$) sunt valorile de margine.
=== Punctul c) ===
**Ce se cere:** tipul filtrului.
**Pas 1 — ce frecventa are semnalul constant:** nu se schimba deloc, deci are frecventa **0** — cea mai joasa posibila ([[ps:cap0-baze|Cap 0 §6]]: constanta = linie la $f = 0$).
**Pas 2 — ce frecventa are semnalul alternant:** isi schimba semnul la **fiecare** esantion. Mai repede de atat un semnal esantionat nu se poate schimba. Este un cosinus cu frecventa $f_s/2$: $\cos(\pi n) = 1, -1, 1, -1, \dots$ — cea mai mare frecventa care exista dupa esantionare ([[ps:cap4-esantionare|Cap 4]]).
**Pas 3 — punem cap la cap:** frecventa cea mai joasa trece, frecventa cea mai inalta e taiata.
**Raspuns c):** este un **filtru trece-jos**. Explicatia in cuvinte: media a doua valori vecine netezeste schimbarile rapide si lasa neatinse zonele unde semnalul sta pe loc.
=== Punctul d) ===
**Ce se cere:** acelasi lucru pentru $h = [\frac12, -\frac12]$.
**Pas 1 — regula noua:** $y(n) = \frac12 x(n) - \frac12 x(n-1)$ — **jumatate din diferenta** dintre valoarea de acum si cea dinainte.
**Pas 2 — semnalul constant:** in mijloc, $\frac12\cdot 3 - \frac12\cdot 3 = 0$. Iese $[1.5, 0, 0, 0, 0, 0, -1.5]$ → constanta e **stearsa**.
**Pas 3 — semnalul alternant:** in mijloc, de exemplu la $n = 1$: $\frac12\cdot(-1) - \frac12\cdot 1 = -1$; la $n = 2$: $\frac12\cdot 1 - \frac12\cdot(-1) = 1$. Iese $[0.5, -1, 1, -1, 1, -1, 0.5]$ → alternanta **trece** neschimbata.
**Raspuns d):** acum e un **filtru trece-sus**. O diferenta intre vecini e 0 unde semnalul sta pe loc si mare unde se schimba repede. (Un singur semn schimbat a transformat trece-jos in trece-sus — ideea e reluata in [[ps:cap9-fir|Cap 9]].)
----
==== Problema 3 — spectrul iesirii cu teorema convolutiei ====
Un semnal e esantionat cu $f_s = 8000$ Hz si analizat cu un DFT pe $N = 8$ puncte, deci linia $k$ corespunde frecventei $k\cdot f_s/N = k\cdot 1000$ Hz. Spectrul lui este $|X(k)| = [0, 8, 0, 8, 0, 8, 0, 8]$ pentru $k = 0, \dots, 7$.
- **a)** Semnalul trece printr-un filtru trece-jos **ideal**, cu $|H(k)| = 1$ pentru $k = 0, 1, 2, 6, 7$ si $|H(k)| = 0$ pentru $k = 3, 4, 5$. Cum arata $|Y(k)|$? Ce semnal a ramas?
- **b)** In loc de filtrul ideal folosim $h = [\frac12, \frac12]$, care are $|H(k)| = [1,\ 0.92,\ 0.71,\ 0.38,\ 0,\ 0.38,\ 0.71,\ 0.92]$. Cum arata $|Y(k)|$?
- **c)** Ce amplitudini au cele doua cosinusuri la iesirea filtrului de la b)?
**Intai, ce semnal e la intrare** (din [[ps:cap6-dft|Cap 6]]): un cosinus de amplitudine $A$ care cade exact pe linia $m$ da doua linii de inaltime $A\cdot N/2$: una la $k = m$ si oglinda ei la $k = N - m$.
* liniile de la $k = 1$ si $k = 7$ (adica $8 - 1$): un cosinus de 1000 Hz. Inaltimea 8 = $A\cdot 8/2$ → $A = 2$.
* liniile de la $k = 3$ si $k = 5$ (adica $8 - 3$): un cosinus de 3000 Hz, tot cu $A = 2$.
Deci $x$ = esantioanele lui $2\cos(2\pi\cdot 1000\,t) + 2\cos(2\pi\cdot 3000\,t)$.
=== Punctul a) ===
**Ce se cere:** $|Y(k)|$ dupa filtrul ideal si semnalul ramas.
**Ce stim:** teorema convolutiei: $Y(k) = H(k)\cdot X(k)$, deci $|Y(k)| = |H(k)|\cdot|X(k)|$ — inmultim linie cu linie.
**Pas 1 — inmultirea:**
^ $k$ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^
| $\lvert X(k)\rvert$ | 0 | 8 | 0 | 8 | 0 | 8 | 0 | 8 |
| $\lvert H(k)\rvert$ | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
| $\lvert Y(k)\rvert$ = produsul | 0 | **8** | 0 | 0 | 0 | 0 | 0 | **8** |
**Pas 2 — ce semnal e asta:** au ramas liniile de la $k = 1$ si $k = 7$, de inaltime 8 → cosinusul de 1000 Hz, cu amplitudinea $8/(N/2) = 8/4 = 2$.
**Raspuns a):** $|Y(k)| = [0, 8, 0, 0, 0, 0, 0, 8]$. A ramas doar $2\cos(2\pi\cdot 1000\,t)$; cosinusul de 3000 Hz a fost eliminat.
**De ce filtrul trece-jos are 1 si la $k = 6, 7$, care par frecvente mari?** Jumatatea de sus a DFT-ului ($k > N/2$) reprezinta frecventele **negative**: $k = 7$ este $-1000$ Hz, $k = 6$ este $-2000$ Hz ([[ps:cap6-dft|Cap 6]]). Un filtru trece-jos lasa sa treaca frecventele mici si pozitive, si negative — ca fereastra de la $-f_c$ la $f_c$ din Cap 0.
=== Punctul b) ===
**Ce se cere:** $|Y(k)|$ dupa filtrul real $h = [\frac12, \frac12]$.
**Ce stim:** tot $|Y(k)| = |H(k)|\cdot|X(k)|$, cu valorile lui $|H(k)|$ din enunt. (Ele vin din DFT-ul pe 8 puncte al lui $h$ completat cu zerouri — nu trebuie calculate aici.)
**Pas 1 — inmultirea:**
^ $k$ ^ 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^
| $\lvert X(k)\rvert$ | 0 | 8 | 0 | 8 | 0 | 8 | 0 | 8 |
| $\lvert H(k)\rvert$ | 1 | 0.92 | 0.71 | 0.38 | 0 | 0.38 | 0.71 | 0.92 |
| $\lvert Y(k)\rvert$ = produsul | 0 | **7.39** | 0 | **3.06** | 0 | **3.06** | 0 | **7.39** |
(Cu valorile nerotunjite, $0.9239$ si $0.3827$: $8\cdot 0.9239 = 7.39$ si $8\cdot 0.3827 = 3.06$.)
**Raspuns b):** $|Y(k)| = [0,\ 7.39,\ 0,\ 3.06,\ 0,\ 3.06,\ 0,\ 7.39]$. Linia de 1000 Hz a ramas aproape intreaga. Linia de 3000 Hz a scazut la mai putin de jumatate, dar **nu a disparut**: filtrul real nu taie brusc, ca cel ideal.
{{ps:cap7:p3_spectre.png?1000|Problema 3: spectrul intrarii, al filtrului si al iesirii}}
**Ce vezi in desen:** randul de sus e punctul a), cel de jos punctul b). In fiecare rand: spectrul intrarii (albastru) × spectrul filtrului (portocaliu) = spectrul iesirii (rosu). Pe axa orizontala e indicele $k$; linia $k$ inseamna frecventa $k\cdot 1000$ Hz.
=== Punctul c) ===
**Ce se cere:** amplitudinile cosinusurilor la iesire.
**Ce stim:** o linie de inaltime $L$ (impreuna cu oglinda ei) inseamna un cosinus de amplitudine $A = L/(N/2) = L/4$.
**Pas 1 — 1000 Hz:** $A = 7.39/4 \approx 1.85$ (la intrare era 2).
**Pas 2 — 3000 Hz:** $A = 3.06/4 \approx 0.77$ (la intrare era 2).
**Raspuns c):** la iesire avem aproximativ $1.85\cos(2\pi\cdot 1000\,t) + 0.77\cos(2\pi\cdot 3000\,t)$ (fiecare cu o mica intarziere, care nu se vede in $|Y(k)|$). Se vede direct regula din [[ps:cap1-filtre|Cap 1]]: amplitudinea de la iesire = amplitudinea de la intrare × $|H|$ la frecventa respectiva ($2\cdot 0.92$ si $2\cdot 0.38$).
(Nota: rezultatul e valabil dupa primul esantion, cand filtrul are deja ambele valori de care are nevoie — fara efectul de margine din Problema 2.)
----
==== Problema 4 — cutia neagra ====
Un sistem LTI necunoscut primeste la intrare impulsul $\delta(n)$ si scoate $[1, 2, 1]$, apoi doar zerouri.
- **a)** Care sunt coeficientii $h(n)$ ai sistemului?
- **b)** Ce scoate sistemul pentru intrarea $x = [1, 0, -1]$?
=== Punctul a) ===
**Ce se cere:** $h(n)$.
**Pas 1.** Din 4.2: ce iese cand intra $\delta(n)$ este chiar raspunsul la impuls.
**Raspuns a):** $h = [1, 2, 1]$.
=== Punctul b) ===
**Ce se cere:** $y = h * x$ pentru $x = [1, 0, -1]$.
**Ce stim:** $M = 3$, $P = 3$ → $y$ are $3 + 3 - 1 = 5$ valori. Regula: $y(n) = 1\cdot x(n) + 2\cdot x(n-1) + 1\cdot x(n-2)$.
**Pas 1 — calculul:**
^ $n$ ^ $x(n)$ ^ $x(n-1)$ ^ $x(n-2)$ ^ calculul ^ $y(n)$ ^
| 0 | 1 | 0 | 0 | $1 + 0 + 0$ | **1** |
| 1 | 0 | 1 | 0 | $0 + 2 + 0$ | **2** |
| 2 | $-1$ | 0 | 1 | $-1 + 0 + 1$ | **0** |
| 3 | 0 | $-1$ | 0 | $0 - 2 + 0$ | **−2** |
| 4 | 0 | 0 | $-1$ | $0 + 0 - 1$ | **−1** |
**Pas 2 — verificare:** suma lui $x$ este $1 + 0 - 1 = 0$, deci suma lui $y$ trebuie sa fie $0\cdot 4 = 0$. Si este: $1 + 2 + 0 - 2 - 1 = 0$ ✓
**Raspuns b):** $y = [1, 2, 0, -2, -1]$.
===== 8. Ce trebuie sa stii din Cap 7 (fisa de 1 minut) =====
* **Convolutia:** $y(n) = (h * x)(n) = \sum_{k=0}^{M-1} h(k)\,x(n-k)$; $M$ = numarul de coeficienti din $h$
* in cuvinte: fiecare iesire = suma ponderata a ultimelor $M$ intrari; $h(0)$ merge cu valoarea cea mai noua; ce nu exista e 0
* **lungimea rezultatului:** $M + P - 1$ ($P$ = lungimea lui $x$)
* verificare: suma lui $y$ = (suma lui $x$) × (suma lui $h$)
* **Moving Average:** $h = [\frac1M, \dots, \frac1M]$ → media ultimelor $M$ valori → **trece-jos** (netezeste)
* exemplul din curs: $[1,2,3,10,3,2,1] * [\frac15]\times 5 = \frac15[1, 3, 6, 16, 19, 20, 19, 16, 6, 3, 1]$
* **impulsul:** $\delta(n) = 1$ la $n = 0$, 0 in rest; $h * \delta = h$ → $h(n)$ = **raspunsul la impuls** = coeficientii filtrului
* $h(n)$ caracterizeaza complet un sistem LTI; cutie neagra: bagi $\delta(n)$, citesti $h(n)$, DFT → $H(k)$ = functia de transfer
* proprietati: comutativa, liniara; $x * \delta(n-d)$ = $x$ intarziat cu $d$; doua filtre in serie = un filtru $h_1 * h_2$
* **Teorema convolutiei:** $(h * x)(n) \leftrightarrow H(k)\cdot X(k)$ si $h(n)\cdot x(n) \leftrightarrow (H * X)(k)$ — convolutie intr-un domeniu = inmultire in celalalt
* **filtrarea:** in timp convolutie cu $h(n)$, in frecventa inmultire cu $H(k)$ ("fereastra" filtrului)
===== 9. Grile de verificare =====
Incearca-le fara sa te uiti la raspunsuri (sunt imediat dupa, in 9.1).
**G1.** Semnalul $x$ are 7 esantioane, filtrul $h$ are 5 coeficienti. Cate esantioane are $y = h * x$?
- A. 7
- B. 11
- C. 12
- D. 35
**G2.** Cat este $[1, 2] * [1, 1, 1]$?
- A. $[1, 2, 0]$
- B. $[1, 3, 2]$
- C. $[1, 3, 3, 2]$
- D. $[3, 3]$
**G3.** La intrarea unui filtru cu coeficientii $h(n)$ punem impulsul $\delta(n)$. La iesire obtinem:
- A. tot $\delta(n)$
- B. $h(n)$
- C. suma coeficientilor lui $h$
- D. zero
**G4.** Convolutiei a doua semnale in timp ii corespunde, in frecventa:
- A. adunarea spectrelor
- B. convolutia spectrelor
- C. inmultirea spectrelor
- D. impartirea spectrelor
**G5.** Filtrul cu $h = [\frac13, \frac13, \frac13]$ este:
- A. trece-jos
- B. trece-sus
- C. trece-banda
- D. nu schimba semnalul
**G6.** Inmultim doua semnale **in timp**, esantion cu esantion: $y(n) = h(n)\cdot x(n)$. Spectrul lui $y$ este:
- A. $H(k)\cdot X(k)$
- B. $H(k) + X(k)$
- C. $(H * X)(k)$
- D. acelasi cu al lui $x$
**G7.** Cat este $x * \delta(n - 3)$?
- A. semnalul $x$ inmultit cu 3
- B. semnalul $x$ intarziat cu 3 esantioane
- C. semnalul $x$ devansat cu 3 esantioane
- D. primele 3 esantioane din $x$
**G8.** La o anumita frecventa $k$ avem $|X(k)| = 6$ si $|H(k)| = 0.5$. Cat este $|Y(k)|$ la iesirea filtrului?
- A. 6.5
- B. 12
- C. 3
- D. 5.5
==== 9.1 Raspunsuri la grile ====
^ Grila ^ Raspuns ^ De ce e corect ^ De ce sunt gresite celelalte ^
| G1 | **B** | $M + P - 1 = 5 + 7 - 1 = 11$ (sectiunea 2.6) | A: iesirea e mai lunga decat intrarea, cu $M - 1$; C: ai uitat de "−1" ($5 + 7$); D: lungimile nu se inmultesc |
| G2 | **C** | regula $y(n) = 1\cdot x(n) + 2\cdot x(n-1)$ pe $x = [1, 1, 1]$: $1$; $1 + 2 = 3$; $1 + 2 = 3$; $0 + 2 = 2$. Verificare: $1 + 3 + 3 + 2 = 9 = 3\cdot 3$ | A: e inmultire pozitie cu pozitie, nu convolutie; B si D: au prea putine valori (trebuie $2 + 3 - 1 = 4$) |
| G3 | **B** | $h * \delta = h$: impulsul scoate coeficientii unul cate unul (sectiunea 4.2) | A: ar fi adevarat doar pentru filtrul $h = [1]$; C: suma coeficientilor iese (dupa un timp) la o intrare **constanta** egala cu 1, nu la impuls; D: impulsul are un 1, deci iese ceva |
| G4 | **C** | teorema convolutiei: $(h * x)(n) \leftrightarrow H(k)\cdot X(k)$ | A: adunarea spectrelor corespunde adunarii semnalelor; B: convolutia spectrelor corespunde inmultirii in timp (invers); D: nu exista o asemenea regula |
| G5 | **A** | face media a 3 valori vecine → netezeste salturile rapide, lasa constanta neschimbata ($\frac13 + \frac13 + \frac13 = 1$) | B: un trece-sus ar sterge constanta (ar avea suma coeficientilor 0, ca $[\frac12, -\frac12]$); C: nu taie frecventele joase; D: varfurile sunt turtite, deci schimba semnalul |
| G6 | **C** | a doua jumatate a teoremei: inmultire in timp ↔ convolutie in frecventa (sectiunea 6.6) | A: asta e pentru **convolutie** in timp; B: asta e pentru **adunare** in timp; D: inmultirea cu alt semnal schimba spectrul (vezi AM) |
| G7 | **B** | convolutia cu un impuls mutat la $n = 3$ muta semnalul acolo: incepe cu 3 esantioane mai tarziu (sectiunea 5.3) | A: inmultirea cu 3 ar fi $x * [3]$; C: $n - 3$ inseamna **mai tarziu**, nu mai devreme; D: convolutia cu un delta nu taie nimic din semnal |
| G8 | **C** | spectrele se inmultesc: $\lvert Y(k)\rvert = \lvert H(k)\rvert\cdot\lvert X(k)\rvert = 0.5\cdot 6 = 3$ | A si D: spectrele se **inmultesc**, nu se aduna si nu se scad; B: ai impartit la 0.5 in loc sa inmultesti |
===== 10. Intrebari de teorie ca la examen =====
Raspunsurile sunt scrise asa cum le-ai pune pe foaie: scurt, cu formula si cu o propozitie de explicatie.
**T1. Ce este convolutia? Dati definitia si o aplicatie.** //(examen 2023, 2026)//
Convolutia a doua semnale discrete $x(n)$ si $h(n)$ este semnalul $y(n) = (h * x)(n) = \sum_{k=0}^{M-1} h(k)\,x(n-k)$, unde $M$ este numarul de esantioane din $h$. Fiecare esantion de la iesire este o suma ponderata a ultimelor $M$ esantioane de la intrare, cu ponderile $h(k)$. Daca $x$ are $P$ esantioane, rezultatul are $M + P - 1$.
**Aplicatie:** filtrarea digitala. Orice filtrare a unui semnal $x(n)$ cu un filtru de coeficienti $h(n)$ se face prin convolutie. Exemplu: $h = [\frac15, \dots, \frac15]$ (//Moving Average//) face media ultimelor 5 valori si netezeste semnalul (filtru trece-jos).
**T2. Enuntati teorema convolutiei. La ce foloseste?** //(examen 2023, 2026)//
Daca $x(n)$ si $h(n)$ au spectrele $X(k)$ si $H(k)$, atunci semnalului $y(n) = (h * x)(n)$ ii corespunde spectrul $Y(k) = H(k)\cdot X(k)$. Invers, semnalului $y(n) = h(n)\cdot x(n)$ ii corespunde spectrul $Y(k) = (H * X)(k)$. Pe scurt: convolutia intr-un domeniu (timp sau frecventa) inseamna inmultire in celalalt.
**La ce foloseste:** arata ca filtrarea, care in frecventa este inmultirea spectrului cu functia de transfer $H(k)$, se realizeaza in timp prin convolutia cu coeficientii $h(n)$. A doua forma explica modulatia (inmultirea cu un cosinus muta spectrul) si scurgerea spectrala (//DFT leakage//).
**T3. Ce este raspunsul la impuls al unui sistem?**
Este semnalul de la iesirea sistemului atunci cand la intrare punem impulsul $\delta(n)$ ($\delta(n) = 1$ pentru $n = 0$ si 0 in rest). Pentru un filtru cu coeficientii $h(n)$: $y(n) = (h * \delta)(n) = h(n)$, adica raspunsul la impuls este chiar lista coeficientilor filtrului. El caracterizeaza complet un sistem liniar si invariant in timp: iesirea pentru orice intrare este $y = h * x$.
**T4. Cum aflati functia de transfer a unui sistem la care aveti acces doar la intrare si la iesire?** //(examen 2024)//
Aplicam la intrare un impuls $\delta(n)$ si masuram iesirea: ea este raspunsul la impuls $h(n)$. Functia de transfer este spectrul acestuia, $H(k)$ = DFT-ul lui $h(n)$. (Alternativ: aplicam pe rand sinusoide de frecvente diferite si masuram raportul amplitudinilor iesire/intrare; sau aplicam un semnal cunoscut $x(n)$ si calculam $H(k) = Y(k)/X(k)$.) Metoda presupune ca sistemul este liniar si invariant in timp.
**T5. De ce filtrul "Moving Average" este un filtru trece-jos?**
Coeficientii lui sunt $h(n) = [\frac1M, \dots, \frac1M]$, deci fiecare iesire este media ultimelor $M$ intrari. Un semnal constant (frecventa 0) trece neschimbat, pentru ca media unor valori egale este aceeasi valoare. Variatiile rapide (frecvente inalte) se anuleaza in medie — de exemplu $1, -1, 1, -1$ are media 0. In frecventa: $|H(k)|$ este maxim la $k = 0$ si scade spre frecventele inalte (are forma unui sinc digital), iar $Y(k) = H(k)\cdot X(k)$.
**T6. Care este legatura dintre $h(n)$ si $H(k)$?**
Sunt aceeasi informatie despre filtru, vazuta in cele doua domenii. $h(n)$ = coeficientii filtrului = raspunsul la impuls (domeniul timp). $H(k)$ = DFT-ul lui $h(n)$ = functia de transfer (domeniul frecventa): arata cu cat este inmultita fiecare componenta de frecventa. Din $H(k)$ se revine la $h(n)$ cu DFT-ul invers (IDFT).
----
**Urmatorul capitol:** [[ps:cap8-leakage-ferestre|Cap 8 — Scurgerea spectrala (DFT leakage), zero-padding si ferestre]].