import numpy as np
import matplotlib.pyplot as plt

# Parametres du filtre en USI
fc = 

# Condition initiale
s0 = 0

# Amplitudes et frequences des tensions d'entrée en USI
E1 = 2
f1 = 10
E2 = 0.5
f2 = 500

# Nombre d’iterations, instant initial, instant final et pas de temps en USI
n = 10001
t0 = 0
tf = 0.2
dt = (tf-t0)/(n-1)
fe = 1/dt
print(fe)

if fe<2*f1 or fe<2*f2:
    print("attention : critère de Shannon non vérifié")

# Listes des instants et tensions d’entree associees
t = [t0+i*dt for i in range(n)]
e1 = np.array([E1*np.cos(2*np.pi*f1*ti) for ti in t])
e2 = np.array([E2*np.cos(2*np.pi*f2*ti) for ti in t])
e=e1+e2
# Création d’une liste pour la tension de sortie
s = [0 for i in range(n)]

# Initialisation
s[0] =
# Filtrage passe-haut par la methode d’Euler
for i in range(n-1):
    s[i+1] = 

# Representation graphique
plt.plot(t,e)
plt.plot(t,e2)
plt.plot(t,s)
plt.legend(["e(t)","e2(t)","s(t)"],loc="best",fontsize=15)
plt.xlabel("t (s)")
plt.title("Filtrage numérique passe-haut",fontsize=15)
plt.grid()
plt.show()