Differences

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

Link to this comparison view

ps:labs_python:02 [2023/10/10 18:25]
ionut.gorgos
ps:labs_python:02 [2025/10/05 15:40] (current)
darius.necula
Line 14: Line 14:
  
   - Care este cel mai mic interval de transmisie care are sens să fie folosit, dacă $f_1 = 1600$ Hz și $f_2 = 1800$ Hz? Cu alte cuvinte, cât ar trebui să fie $T$ astfel încât semnalul să aibă un număr întreg de cicluri? [<color red>​1p</​color>​]   - Care este cel mai mic interval de transmisie care are sens să fie folosit, dacă $f_1 = 1600$ Hz și $f_2 = 1800$ Hz? Cu alte cuvinte, cât ar trebui să fie $T$ astfel încât semnalul să aibă un număr întreg de cicluri? [<color red>​1p</​color>​]
-  - Afişaţi semnalul produs de modem pe parcursul ​unui interval de transmisie. Aşa cum am învăţat în laboratorul trecut adăugaţi titlu şi etichete plot-ului. Puteți considera amplitudinile egale. [<color red>​1p</​color>​]+  - Afişaţi semnalul produs de modem pe parcursul ​a trei intervale de transmisie. Pentru primul ​interval de transmisie ​puteți folosi $A_1 = 0$ și $A_2 = 1$, pentru al doilea interval $A_1 = 1$ și $A_2 = 1$, iar pentru al treilea interval $A_1 = 1$ și $A_2 = 0$. Aşa cum am învăţat în laboratorul trecut adăugaţi titlu şi etichete plot-ului. [<color red>​1p</​color>​] 
 +Ar trebui să obțineți ceva similar: 
 +{{ :​ps:​labs_python:​semnal_modem.png?​600 |}}
  
 <note tip> <note tip>
 Pentru $\pi$ puteți folosi comanda //np.pi// din biblioteca //numpy//. Pentru $\pi$ puteți folosi comanda //np.pi// din biblioteca //numpy//.
 +Pentru concatenare puteți folosi [[https://​numpy.org/​doc/​stable/​reference/​generated/​numpy.concatenate.html|np.concatenate]] sau [[https://​numpy.org/​doc/​stable/​reference/​generated/​numpy.hstack.html|np.hstack]]
  
 Puteți afișa un semnal folosind comanda //​plt.plot//​ din interfața //​matplotlib.pyplot//​. Puteți afișa un semnal folosind comanda //​plt.plot//​ din interfața //​matplotlib.pyplot//​.
Line 24: Line 27:
 </​note>​ </​note>​
 === Exerciţiul 2 === === Exerciţiul 2 ===
-[<color red>2.5p</​color>​]+[<color red>2p</​color>​]
  
 La curs am văzut că putem descompune semnalele într-o sumă de mai multe semnale de bază (ramp, step etc.). Pentru acest exerciţiu veţi încerca să folosiţi semnalele '​step'​ şi '​ramp'​ pentru a crea semnalul reprezentat cu negru în acest slide: La curs am văzut că putem descompune semnalele într-o sumă de mai multe semnale de bază (ramp, step etc.). Pentru acest exerciţiu veţi încerca să folosiţi semnalele '​step'​ şi '​ramp'​ pentru a crea semnalul reprezentat cu negru în acest slide:
Line 46: Line 49:
  
 Pentru a apela funcția '​ramp'​ din //ramp.py// într-un alt fișier .py (care se află în același director) puteți folosi următorul cod: Pentru a apela funcția '​ramp'​ din //ramp.py// într-un alt fișier .py (care se află în același director) puteți folosi următorul cod:
-<code python ​ramp.py>+<code python ​ex2.py>
 from ramp import ramp from ramp import ramp
  
Line 133: Line 136:
 <note important>​Pentru numărul imaginar //j//, în Python se folosește notația //​1j//​.</​note>​ <note important>​Pentru numărul imaginar //j//, în Python se folosește notația //​1j//​.</​note>​
 <​hidden>​ <​hidden>​
-=== Exerciţiul 4 [1.5p] ​===+<note tip>​Folosiți codul următor pentru a desena un cerc trigonometric,​ peste care veți reprezenta valorile calculate mai sus 
 +<code python>​ 
 +import numpy as np 
 +import matplotlib.pyplot as plt 
 + 
 +tt = np.arange(0,​ 2 * np.pi, 0.1) 
 +figure1 = plt.figure('​Figura 1', figsize=(10,​ 10)) 
 +complex_tt = np.exp(1j * tt) 
 +x = np.real(complex_tt) 
 +y = np.imag(complex_tt) 
 +plt.plot(x, y, '​k.'​) 
 +plt.plot(0, 0, '​kx'​) 
 +</​code>​ 
 +</​note>​ 
 +</​hidden>​ 
 + 
 +=== Exerciţiul 4 === 
 +[<color red>​2p</​color>​]
  
 La curs am discutat despre sisteme paralele. Acum vom folosi un exemplu simplu de sistem paralel folosit pentru a crea efectul de ecou. Ideea de bază e ca un sistem să replice semnalul de intrare în timp ce un altul îl întârzie. La final cele două sunt adunate. La curs am discutat despre sisteme paralele. Acum vom folosi un exemplu simplu de sistem paralel folosit pentru a crea efectul de ecou. Ideea de bază e ca un sistem să replice semnalul de intrare în timp ce un altul îl întârzie. La final cele două sunt adunate.
Line 142: Line 162:
   * Adunați cele 2 semnale.   * Adunați cele 2 semnale.
   * Ascultaţi semnalul original și pe cel rezultat pentru a auzi diferenţa. Pentru a asculta semnalele folosiţi funcţia '​sound'​.   * Ascultaţi semnalul original și pe cel rezultat pentru a auzi diferenţa. Pentru a asculta semnalele folosiţi funcţia '​sound'​.
- 
-</​hidden>​ 
  
 === Exerciţiul 4 === === Exerciţiul 4 ===
-[<color red>3.5p</​color>​]+[<color red>2p</​color>​]
  
 Avem un sistem de feedback precum cel din imaginea următoare: Avem un sistem de feedback precum cel din imaginea următoare:
  
-{{:​ps:​labs:​feedback.png?​400|}}+ {{:​ps:​labs:​feedback.png?​400|}}
  
 Să presupunem că folosim acest sistem pentru sistemul de pilot automat al maşinii, unde x(t) este o constantă ce reprezintă viteza dorită, iar y(t) este viteza maşinii măsurată de vitezometru. În această aplicaţie, sistemul 2 este sistemul identitate (intrare = ieşire). Să presupunem că folosim acest sistem pentru sistemul de pilot automat al maşinii, unde x(t) este o constantă ce reprezintă viteza dorită, iar y(t) este viteza maşinii măsurată de vitezometru. În această aplicaţie, sistemul 2 este sistemul identitate (intrare = ieşire).
Line 165: Line 183:
  
 Construiţi sistemul S1 ca o funcţie cu 2 parametrii (viteza_curentă,​ e), care afişează următoarea viteză curentă ca mai sus. Construiţi sistemul S1 ca o funcţie cu 2 parametrii (viteza_curentă,​ e), care afişează următoarea viteză curentă ca mai sus.
 +<​hidden>​
 În Python puteţi folosi o instrucţiune for pentru asta: În Python puteţi folosi o instrucţiune for pentru asta:
  
Line 176: Line 195:
 end end
 </​code>​ </​code>​
 +</​hidden>​
 Rulaţi sistemul de N = 20 ori şi afişaţi outputul sistemului. Rulaţi sistemul de N = 20 ori şi afişaţi outputul sistemului.
  
 /* </​hidden>​ */ /* </​hidden>​ */
ps/labs_python/02.1696951531.txt.gz · Last modified: 2023/10/10 18:25 by ionut.gorgos
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