Advertisement
buonaseva_fatelo

Untitled

Dec 6th, 2023
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.77 KB | None | 0 0
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import scipy.signal as signal
  4. """
  5. # Creazione di un vettore tempo
  6. t = np.linspace(-1, 1, 1000)
  7.  
  8. # Creazione di una funzione rampa
  9. ramp = np.maximum(0, t)
  10.  
  11. # Creazione di una funzione gradino unitario
  12. step = np.heaviside(t, 1)
  13.  
  14. # Creazione di una funzione sinc
  15. sinc = np.sinc(t)
  16.  
  17. # Creazione di una funzione triangolare
  18. tri = np.maximum(0, 1 - np.abs(t))
  19.  
  20. # stem delle funzioni
  21. plt.stem(t, ramp, label='Rampa')
  22. plt.stem(t, step, label='Gradino')
  23. plt.stem(t, sinc, label='Sinc')
  24. plt.stem(t, tri, label='Triangolare')
  25. plt.legend()
  26. plt.ion()
  27. """
  28. #inizio lab1_ex1
  29. #ex1.1
  30. """
  31. def ramp_function(t, start_time, end_time):
  32.    # Inizializza un array con zeri. zeroes_like prende solo la dimensione di t
  33.    ramp = np.zeros_like(t)
  34.    
  35.    # Imposta i valori della rampa nell'intervallo specificato
  36.    ramp[(t >= start_time) & (t <= end_time)] = t[(t >= start_time) & (t <= end_time)]
  37.    
  38.    return ramp
  39. """
  40. def x_n(n):
  41.     if n < 0 or n > 10:
  42.         return 0
  43.     else:
  44.         return -n
  45.  
  46. # Creazione di un vettore n
  47. t = np.arange(-5, 16)  # Valori da -5 a 15 per coprire n<0, n>10 e il range specificato
  48.  
  49. # Valori della funzione x[n]
  50. y_a = [x_n(n+5) for n in t]
  51. y_b = [x_n(-n+5) for n in t]
  52. y_c = [x_n(2*n) for n in t]
  53. def x_nd(n):
  54.     return x_n(n+10) + x_n(-n+10) - (10*signal.unit_impulse(len(t), mode='same'))
  55. y_d = [x_nd(n) for n in t]
  56. print(len(t))
  57. print(len(10*signal.unit_impulse(len(t))))
  58. print(len(y_d))
  59. # stem della funzione y[n]
  60. plt.stem(t, y_a, linefmt='r-', label='y_a[n]')
  61. plt.stem(t, y_b, linefmt='b-',label='y_b[n]')
  62. plt.stem(t, y_c, linefmt='g-',label='y_c[n]')
  63. plt.stem(t, y_d, label='y_d[n]')
  64. plt.title('ex1')
  65. plt.xlabel('n')
  66. plt.ylabel('y[n]')
  67. plt.legend()
  68. plt.grid()
  69. plt.show()
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement