This shows you the differences between two versions of the page.
ps:labs_python:07 [2023/11/13 17:17] ionut.gorgos |
ps:labs_python:07 [2023/11/13 17:24] (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 ==== | ||
Line 30: | Line 30: | ||
Să facem următoarele: | Să facem următoarele: | ||
- | * Încărcați și plotați semnalul dat. Ar trebui să încărcați 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) așa cum ați făcut în laboratorul anterior. [<color red>1p</color>] | + | * Încărcați și plotați semnalul dat. Ar trebui să încărcați variabilele //notes_signal// și //fs//, unde //fs// este frecvența de eșantionare (amintiți-vă că aveți nevoie de ea pentru a înțelege rezultatul dat de DFT) așa cum ați făcut în laboratorul anterior. [<color red>1p</color>] |
* Calculați DFT pentru semnal și plotați spectrul pozitiv al semnalului (cu //stem//), ca în laboratoarele precedente. [<color red>1p</color>] | * Calculați DFT pentru semnal și plotați spectrul pozitiv al semnalului (cu //stem//), ca în laboratoarele precedente. [<color red>1p</color>] | ||
Ar trebui să obțineți ceva precum aceasta: | Ar trebui să obțineți ceva precum aceasta: | ||
Line 42: | Line 42: | ||
</code> | </code> | ||
</note> | </note> | ||
- | * 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? [<color red>2p</color>] | + | * Calculați DFT pentru semnalul rezultat după aplicarea funcției fereastră. Puteți spune, cel puțin aproximativ, care sunt cele două frecvențe conținute de semnal? [<color red>2p</color>] |
Semnalul, fereastra //Hanning// și semnalul atenuat ar trebui să arate așa: | Semnalul, fereastra //Hanning// și semnalul atenuat ar trebui să arate așa: | ||
Line 70: | Line 70: | ||
</code> | </code> | ||
- | </hidden> | + | Pentru a salva într-un fișier sunetul stocat în vectorul //s//, folosiți codul următor: |
+ | <code> | ||
+ | from scipy.io.wavfile import write | ||
+ | |||
+ | sound = np.int16(s/np.max(np.abs(s)) * 32767) | ||
+ | write('s.wav', fs, sound) | ||
+ | </code> | ||
+ | |||
+ | /*</hidden>*/ |