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>*/ | ||