A voir également:
- Projet Raspberry Pi analyse fréquentielle des vibrations
- Analyse disque dur - Télécharger - Informations & Diagnostic
- Analyse performance pc - Guide
- Analyse batterie pc - Guide
- Analyse composant pc - Guide
- Analyse composant pc en ligne - Guide
2 réponses
Phil_1857
Messages postés
1883
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
178
22 juin 2021 à 17:05
22 juin 2021 à 17:05
Bonjour,
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
from __future__ import division import numpy as np import pylab as pl import random import Adafruit_ADS1x15 # # Créez une instance ADS1015 ADC (12 bits). adc = Adafruit_ADS1x15.ADS1015() GAIN = 1 adc.start_adc(0, gain=GAIN) t = np.array([]) for i in range(20): t = np.append(t, [adc.get_last_result(), ]) LW = 2 #Largeur de la ligne AC = 0.5 #cannal alpha pi = np.pi def periodogramSS(inputsignal,fsamp): N = len(inputsignal) N_notnan = np.count_nonzero(~np.isnan(inputsignal)) hr = fsamp/N #Résolution de fréquence #flow,fhih = -fsamp/2,(fsamp/2)+hr #spectre a deux côtés flow,fhih = 0,fsamp/2+hr #Spectre à un côté #flow,fhih = hr,fsamp/2 frange = np.arange(flow,fhih,hr) fN = len(frange) Aspec = np.zeros(fN) n = 0 for f in frange: Aspec[n] = np.abs(np.nansum(inputsignal*np.exp(-2j*pi*f*t)))/N_notnan n+=1 Aspec *= 2 #single-sided spectrum Aspec[0] /= 2 #Composant DC divisé par 2 (i.e. halved) return (frange,Aspec) #construire signal de référence: f1 = 10 #Hz T = 1/f1 fs = 10*f1 Ts = 1/fs t = np.arange(0,20*T,Ts) DC = 3.0 x = DC + 1.5*np.cos(2*pi*f1*t) #supprimer les valeurs du signal x aléatoirement: ndel = 10 #nombre d'échantillons à remplacer avec NaN random.seed(0) L = len(x) randidx = random.sample(range(0,L),ndel) for idx in randidx: x[idx] = np.nan (fax,Aspectrum) = periodogramSS(x,fs) fig1 = pl.figure(1,figsize=(6*3.13,4*3.13)) #plein écran pl.ion() pl.subplot(211) pl.plot(t, x, 'b.-', lw=LW, ms=2, label='ref', alpha=AC) #marquer les valeurs NaN for (t_,x_) in zip(t,x): if np.isnan(x_): pl.axvline(x=t_,color='g',alpha=AC,ls='-',lw=2) pl.grid() pl.xlabel('Time [s]') pl.ylabel('Reference signal') pl.subplot(212) pl.stem(fax, Aspectrum, basefmt=' ', markerfmt='r.', linefmt='r-') pl.grid() pl.xlabel('Frequency [Hz]') pl.ylabel('Amplitude spectrum') fig1name = './signal2.png' print ('Saving Fig. 1 to:'), fig1name fig1.savefig(fig1name)