# REPRÉSENTATION DES COURBES DE RÉSONANCE import numpy as np import matplotlib.pyplot as plt # définition du module de la fonction de transfert d'un passe bande # ex: circuit R, L, C aux bornes de R, résonance en vitesse d'un oscillateur # mécanique... # x=w/w0 pulsation dite 'réduite' def H(x): return 1/(1+(Q*(x-1/x))**2) x=np.linspace(1e-9,4,1000) plt.figure(figsize=(15,7)) for Q in [0.5,1,2,10]: plt.plot(x,H(x),label='Q='+str(Q)) plt.legend() plt.grid() plt.title('Résonance type passe-bande, bande passante = w0/Q') plt.xlabel('w/w0') plt.ylabel('|H|') plt.axhline(1/2**0.5,color='black',linestyle='--') plt.text(-0.35,1/2**0.5,'1/√2') plt.show() # passe bas 2nd ordre, RLC aux bornes de C, résonance mécanique en ammplitude # pour un oscillateur soumis à une force sinusoïdale def H(x): return 1/((1-x**2)**2+(x/Q)**2)**0.5 x=np.linspace(1e-9,4,1000) plt.figure(figsize=(15,7)) for Q in [0.3,1/2**0.5,2,5,10]: plt.plot(x,H(x),label='Q='+str(round(Q,3))) plt.legend() plt.grid() plt.title('Résonance type passe-bas, H(w0)=Q.H0') plt.xlabel('w/w0') plt.ylabel('|H|') plt.text(-0.35,1/2**0.5,'1/√2') plt.show() # passe haut 2nd ordre, RLC aux bornes de L, résonance mécanique en ammplitude # pour un oscillateur ressort dont le point d'attache oscille. def H(x): return 1/((1-1/x**2)**2+(1/(Q*x))**2)**0.5 x=np.linspace(1e-9,4,1000) plt.figure(figsize=(15,7)) for Q in [0.3,1/2**0.5,2,5,10]: plt.plot(x,H(x),label='Q='+str(round(Q,3))) plt.legend() plt.grid() plt.title('Résonance type passe-haut, H(w0)=Q.H0') plt.xlabel('w/w0') plt.ylabel('|H|') plt.text(-0.35,1/2**0.5,'1/√2') plt.show()