Hébergeur de fichiers indépendant

spectre s(t).py

À propos

Type de fichier
Fichier PY de 2 Ko (text/x-python)
Confidentialité
Fichier public, envoyé le 31 octobre 2015 à 17:48, depuis l'adresse IP 90.29.x.x (France)
Sécurité
Ne contient aucun Virus ou Malware connus - Dernière vérification: 2 jours
Statistiques
La présente page de téléchargement a été vue 291 fois depuis l'envoi du fichier
Page de téléchargement

Aperçu du fichier


# importation des librairies
from numpy import pi, cos, linspace, log10
from scipy.fftpack import fft, fftfreq
import matplotlib.pyplot as plt       

# Constantes du signal
f2 = 200
A0 = 1.3    
f0 = 71
A1 = 0.3
f1 = 167
A2 = 1.2


t0 = 0         # début de l'acquisition du signal
t1 = 10        # fin de l'acquisition (s)

# définition des paramètres d'échantillonnage
FreqEch = 1024                # fréquence d'échantillonage
PerEch = 1./FreqEch             # période d'échantillonnage
N = FreqEch*(t1 - t0)           # nombre de points échantillonnés sur l'intervalle


t = linspace(t0, t1, N)

# définition du signal
signal = A0*cos(f0*K*t) + A1*cos(f1*K*t) + A2*cos(f2*K*t)

# définition des donn�es de FFT
FenAcq = signal.size             # taille de la fenetre temporelle
    
# calcul de la TFD par l'algo de FFT
signal_FFT = abs(fft(signal)/N)    # on ne récupère que les composantes r�elles

# récupèration du domaine fréquentiel
signal_freq = fftfreq(FenAcq,PerEch)

# extraction des valeurs réelles de la FFT et du domaine fréquentiel
signal_FFT = signal_FFT[0:len(signal_FFT)//2]
signal_freq = signal_freq[0:len(signal_freq)//2]

#affichage du signal
plt.subplot(211)
plt.title('Signal et son spectre')
plt.ylim(-(A1+5), A1+5)
plt.plot(t, signal)
plt.xlabel('Temps (s)'); plt.ylabel('Amplitude')

#affichage du spectre du signal
plt.subplot(212)
plt.xlim(0,f2+5)
plt.plot(signal_freq,signal_FFT)
plt.xlabel('Frequence (Hz)'); plt.ylabel('Amplitude')
plt.title('Signal et son spectre')
plt.show()


Partager le fichier

Télécharger spectre s(t).py

Télécharger le fichier (2 Ko)