1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
import numpy #je crois bien qu'il est capable de faire une décomposition de fourier
def consigne(t):
"""
retourne la consigne temporelle en fonction du vrai temps
"""
return sin(t) #c'est une fonction pour l'example, mais ça marche avec n'importe quelle fonctions dont on sait aproximer l'integrale
def sortie_correcteur():
"""
retourne la valeur retournée par la carte PID, une grandeur temporelle
"""
return ...
def fourier(sortie_correcteur):
"""
retourne le signal de sortie du correcteur sous forme de série de fourier
"""
dephasages = numpy. ? #liste de chaqun des dephasages
amplitudes = numpy. ? #liste des amplitudes
w0 = numpy. ? #pulasion de la fondamentale
return dephasages, amplitudes #pour un signal de la forme amplitude*cos(w0*i*t+dephasage)
def sortie_la_vrai(H):
"""
aplication du théorème de superposition
"""
deph = [arg(H(w0*i*J))+dephasages[i] for i in range(n)]
mod = [abs(H(w0*i*J))*amplitudes[i] for i in range(n)]
return sum([m*cos(w0*i*t+d) for i, (m,d) in enumerate(zip(mod, deph))]) |
Partager