Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ps:labs:07 [2022/11/06 21:29]
constantin.savu1510
ps:labs:07 [2022/11/15 11:18] (current)
ionut.gorgos
Line 1: Line 1:
 ===== Laboratorul 07. ===== ===== Laboratorul 07. =====
-<​hidden>​+/*<​hidden>​*/
 ==== DFT în detaliu: DFT leakage, zero-padding ==== ==== DFT în detaliu: DFT leakage, zero-padding ====
 +Prezentarea PowerPoint pentru acest laborator poate fi găsită aici: [[https://​docs.google.com/​presentation/​d/​1I0jGMdwlAporLfDDVjQGpfOmVjAoRhKS/​edit?​usp=sharing&​ouid=110538702824281541719&​rtpof=true&​sd=true|aici]]
  
 În acest laborator vom continua să explorăm Transformata Fourier Discretă (DFT), urmărind efectul eșantionării în domeniul frecvență (apariția sinc-ului din cauza fenomenului de leakage) și metode de rezolvare a acestuia (zero-padding,​ ferestre, creșterea numărului de eșantioane). În acest laborator vom continua să explorăm Transformata Fourier Discretă (DFT), urmărind efectul eșantionării în domeniul frecvență (apariția sinc-ului din cauza fenomenului de leakage) și metode de rezolvare a acestuia (zero-padding,​ ferestre, creșterea numărului de eșantioane).
Line 18: Line 18:
 Pentru a face asta urmăriți următorii pași: Pentru a face asta urmăriți următorii pași:
   - Creați si plotați semnalul, folosind $A_1=1$, $A_2=0.5$, $f_s = 8000$ Hz, $f_1 = 1000$ Hz, $f_2 = 2000$ Hz pentru $N=8$ eșantioane.   - Creați si plotați semnalul, folosind $A_1=1$, $A_2=0.5$, $f_s = 8000$ Hz, $f_1 = 1000$ Hz, $f_2 = 2000$ Hz pentru $N=8$ eșantioane.
-  - Calculați DFT pentru acest semnal și plotați magnitudinea acesteia, ca în laboratoarele anterioare. Ar trebui să obțineti ceva de genul următor: ​+  - Calculați DFT pentru acest semnal și plotați ​(cu //​stem//​) ​magnitudinea acesteia, ca în laboratoarele anterioare. Ar trebui să obțineti ceva de genul următor: ​
 {{:​ps:​labs:​lab7_sinewaves_a.png?​300|}} {{:​ps:​labs:​lab7_sinewaves_a_fft.png?​300|}} ​ {{:​ps:​labs:​lab7_sinewaves_a.png?​300|}} {{:​ps:​labs:​lab7_sinewaves_a_fft.png?​300|}} ​
   - Apoi eliminați prima sinusoidă (ex.: făcând $f_1=0$) și verificați dacă aveți semnal doar la 2kHz. [<color red>​1p</​color>​]   - Apoi eliminați prima sinusoidă (ex.: făcând $f_1=0$) și verificați dacă aveți semnal doar la 2kHz. [<color red>​1p</​color>​]
Line 32: Line 32:
 Să facem următoarele:​ Să facem următoarele:​
   - Incărcați și plotați semnalul dat. Ar trebui să observați că se vor încărca variabilele //​notes_signal//​ și //fs//, unde //fs// este frecvența de eșantionare (amintiți-vă ca aveți nevoie de ea pentru a înțelege rezultatul dat de DFT).   - Incărcați și plotați semnalul dat. Ar trebui să observați că se vor încărca variabilele //​notes_signal//​ și //fs//, unde //fs// este frecvența de eșantionare (amintiți-vă ca aveți nevoie de ea pentru a înțelege rezultatul dat de DFT).
-  - Calculați DFT pentru semnal și plotați ​magnitudinea, ca în laboratoarele precedente. Ar trebui să obțineți ceva precum aceasta: ​+  - Calculați DFT pentru semnal și plotați ​spectrul pozitiv al semnalului (cu //stem//), ca în laboratoarele precedente. Ar trebui să obțineți ceva precum aceasta: ​
  
 {{:​ps:​labs:​notes_signal_fftpos.png?​300|}} {{:​ps:​labs:​notes_signal_fftpos.png?​300|}}
  
 În acest moment probabil nu puteți spune care sunt cele două frecvențe ale semnalului, din cauza faptului că funcția sinc a primei sinusoide acoperă componenta celei de-a doua sinusoide. În acest moment probabil nu puteți spune care sunt cele două frecvențe ale semnalului, din cauza faptului că funcția sinc a primei sinusoide acoperă componenta celei de-a doua sinusoide.
-  - Folosind zero-padding în acest caz nu va ajuta prea mult (încercați). Așa că vom aplica semnalului o funcție fereastră (ex. //Hanning// sau //​Hamming//;​ căutați aceste funcții în Matlab/​Octave ​folosind help). Ideea este să generăm o funcție fereastră pe care o vom înmulți cu semnalul original. Plotați semnalul după aplicarea funcției fereastră.+  - Folosind zero-padding în acest caz nu va ajuta prea mult (încercați). Așa că vom aplica semnalului o funcție fereastră (ex. //Hanning// sau //​Hamming//;​ căutați aceste funcții în MATLAB ​folosind help). Ideea este să generăm o funcție fereastră pe care o vom înmulți cu semnalul original. Plotați semnalul după aplicarea funcției fereastră.
   - Calculați DFT pentru semnalul rezultat după aplicarea funcției fereastră. Puteți spune, cel puțin aproximativ,​ care sunt cele două frecvente conținute de semnal?   - Calculați DFT pentru semnalul rezultat după aplicarea funcției fereastră. Puteți spune, cel puțin aproximativ,​ care sunt cele două frecvente conținute de semnal?
  
Line 54: Line 54:
  
 Procedați la fel ca înainte: Procedați la fel ca înainte:
-  - Plotați semnalul și spectrul său. Verificați dacă puteți distinge cele două frecvențe(ar trebui).+  - Plotați semnalul și spectrul său pozitiv. Verificați dacă puteți distinge cele două frecvențe(ar trebui).
   - Aplicați funcția fereastră și verificați spectrul. Ar trebui sa fie mult mai clar.   - Aplicați funcția fereastră și verificați spectrul. Ar trebui sa fie mult mai clar.
-  - Ce note muzicale reprezintă aceste frecvențe? Puteți să redați acest sunet folosind funcția ​Matlab/​Octave ​//sound//.+  - Ce note muzicale reprezintă aceste frecvențe? Puteți să redați acest sunet folosind funcția ​MATLAB ​//sound//.
  
-</​hidden>​+/*</​hidden>​*/
ps/labs/07.1667762956.txt.gz · Last modified: 2022/11/06 21:29 by constantin.savu1510
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0