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.
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;
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.
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