1 of 21

Laboratorul 09

Convoluția, filtre FIR și metoda de proiectare folosind ferestre

2 of 21

Exercițiul 1 - Convoluția

  •  

3 of 21

Exemplu – suprapunere completa

  • h = [0.2, 0.5, 0.3]
  • x = [1, 3, 5, 7, 5, 4, 2]

​

  • y(1) = 1 * 0.3 + 3 * 0.5 + 5 * 0.2 = 2.8
  • y(2) = 3 * 0.3 + 5 * 0.5 + 7 * 0.2 = 4.8
  • y(3) = 5 * 0.3 + 7 * 0.5 + 5 * 0.2 = 6
  • y(4) = 7 * 0.3 + 5 * 0.5 + 4 * 0.2 = 5.4
  • y(5) = 5 * 0.3 + 4 * 0.5 + 2 * 0.2 = 3.9

1, 3, 5, 7, 5, 4

0.2, 0.5, 0.3

1, 3, 5, 7, 5, 4

0.2, 0.5, 0.3

4 of 21

Teorema convoluției

  •  

5 of 21

Exercițiul 1.3

  • De ce apare o diferență între convoluția noastră și convoluția din MATLAB?

6 of 21

Exercițiul 1.4

  • Cum se numește semnalul obținut în urma convoluției?

7 of 21

Exercițiul 2 - Filtre FIR

  •  

8 of 21

Exercițiul 2.1

  • Vom genera spectrul (rezultat al DFT) unui filtru ideal trece-jos, cu N = 256 elemente, și frecvența de cutoff de fc/16, fc = N.
  • Rețineți că spectrul unui semnal real este simetric, iar prima jumătate reprezintă coeficienții pozitivi, iar a doua jumătate coeficienții negativi

9 of 21

Exercițiul 2.1

  • Aplicați IFFT asupra spectrului generat anterior

10 of 21

Exercițiul 2.2

  • Trunchiați secvența hk(n) prin selectarea a doar L=65 de eșantioane din centru(maximului funcției sinc)

11 of 21

Exercițiul 2.3

  • Aplicați DFT(fft) pe secvența trunchiată și plotați spectrul (cu plot).
  • Puteți să folosiți linspace pentru a determina vectorul folosit pentru domeniu

12 of 21

Exercițiul 2.4

  • Folosiți aceeași secvență trunchiată (hk(n)), dar înmulțiți-o cu o fereastră precum Blackman (blackman în MATLAB). Efectuați din nou DFT și plotați spectrul (cu plot).

​

13 of 21

Exercițiul 2.5

  • Folosiți ca intrare sinusoida din Exercițiul 1 ca x(n) și filtrați-o printr-o convoluție cu secvența obținută mai sus după folosirea ferestrei Blackman(folosiți funcția conv din MATLAB)
  • (Atenție! conv din MATLAB by default va calcula și iesirile pentru care secvențele nu se suprapun complet).

14 of 21

Exercițiul 2.5

  • Plotați intrarea și ieșirea în aceeași figură folosind stem pentru a observa efectele filtrului

15 of 21

Exercițiul 3

  •  

16 of 21

Exercițiul 3

  •  

17 of 21

Exercițiul 3

  •  

18 of 21

Exercițiul 3 - filtrele

  • Puteți să folosiți codul următor pentru a observa răspunsul în frecvență:

​

19 of 21

Exercițiul 3 - filtrele

20 of 21

Exercițiul 3 – Design-ul filtrelor

  • Folosiți următorul cod pentru a verifica design-ul

figure;

freqz(b, 1);

21 of 21

Exercițiul 3 - filtrare

Folosiți funcția y = filter(b, a, x) pentru a filtra cele 3 sinusoide, luați a = 1