Bonjour à toutes et à tous !
Je débute sur Python, mais j'ai des antécédents dans d'autre language.
J'essaye de faire une représentation de Pwelch en tier octave sous Python, mais je ne trouve pas comment faire :d.
Je n'ai aucun souci à calculer la Pwelch, la doc est ultra fournit. Par contre j'aimerai la représenté sous forme de tier octave, et je ne vois pas comment faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 l=0 for i in range(len(files)): data, fs = sf.read(files[i]); dt=1/fs; tim=np.linspace(0,dt*(len(data)-1),len(data),endpoint=True, retstep=False, dtype=None, axis=0); Windows=np.linspace(0,dt*(len(data)-1),204,endpoint=True, retstep=False, dtype=None, axis=0); n=int(0); m=int((len(data)/204)); for j in range(len(Windows)): y=data[int(n):int(m)] f, Pxx_den=scipy.signal.welch(y, fs, window='hanning', nperseg=9375, noverlap=4687, scaling='density', average='median') n=n+(len(data)/204); m=m+(len(data)/204); P[:,l]=Pxx_den; l=l+1;
Python propose une fonction de tier octave mais qui calcul à partir d'un signal temporel, Or moi j'aimerai qu'il le fasse à partir de ma matrice P qui est l'ensemble des PSD pwelch en fonction des fréquences et du temps.
Y'a t'il une fonction permettant de le faire ?
Merci
Thomasgeo
Partager