Bonjour à tous !
Je me permets de vous solliciter au sujet de mon code.
J'aimerais définir le spectre de mon signal dans différents intervalles de temps.
Voici mon signal :
Avec mon code, je suis capable de déterminer le spectre de ce signal.
Mais l'idée est vraiment de segmenter ce signal en 5 zones : [T1 T2] [T3 T4] [T5 T6] [T7 T8] [T9 T10] et de calculer le spectre correspondant à chaque zone.
L'idée a beau être claire dans ma tête, elle n'est pas claire dans mes doigts. J'ai essayé d'écrire mon code de 1001 facons, je ne suis pas encore tombée sur la bonne...
Voici une partie de mon code actuel, qui me semble le plus proche de la solution:
Seulement, j'ai une erreur de : ) } ) quand je définis les zones dans lesquelles je veux déterminer le spectre... Je dois avoir les yeux rivés dessus depuis trop longtemps.
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
17
18
19
20
21
22 Time_RR1_16Hz = interp1(times_rr, RR_interval_ms, Time_orig, 'spline'); Time_RR1_16Hz = Time_RR1_16Hz - mean( Time_RR1_16Hz); % TRANSITION POINTS - RR x_RR = [1115 14400 15560 24220 24940 28740 30910 38680 39340 48010]; y_RR = [35.03 27.06 -46.51 -40.51 25.2 30.75 -49.61 -34.13 32.19 4.636]; Zone1_RR = (x_RR(1:2), y_RR(1:2)); Zone2_RR = (x_RR(3:4), y_RR(3:4)); Zone3_RR = (x_RR(5:6), y_RR(5:6)); Zone4_RR = (x_RR(7:8), y_RR(7:8)); Zone5_RR = (x_RR(9:10), y_RR(9:10)); p = 256; [Pxx,f] = pburg( Zone1_RR,p,1028,16); % spectrum estimate figure (1); subplot(3,1,1); plot(Time_orig, Zone1_RR,'k'); xlabel('Time [s]');ylabel('RRi [ms]'); xlim([0 3000]); ylim([-50 300]); subplot(3,1,[2 3]); plot(f,Pxx,'k'); xlim([0 0.5]); xlabel('Frequency [Hz]'); ylabel(sprintf('PSD [ms^2/Hz]'));
Néanmoins, pensez-vous que je suis sur la bonne voie ?
Je vous remercie d'avance pour votre aide !
Partager