Bonjour
Je récupère les traces d'un analyseur de spectre et là, j'essaie faire un waterfall
J'aimerais que ce waterfall soit cyclique.
Pour le moment, j'ai réussi à en faire un waterfall avec un nombre de points en Z fixe par exemple 100 ou 500 en modifiant simplement la valeur finale de la boucle « for » qui gère l’acquisition.
X= ne nombre de point d’acquisition (751 pts) il sera transformé plus tard pour afficher la fréquence
Y= l’amplitude du signal
Z= le nombre d’itérations, par exemple 100
J'aimerais, qu'arriver à la valeur finale de Z (par exemple 100) la valeur continue à s'incrémenter, mais que la longueur du graphique n'augmente pas.
Un peu comme si le graphique avançait avec un nombre de points en Z toujours constant.
Je suppose d'arriver à la valeur finale de 100 par exemple, on insère la nouvelle valeur, on supprime la première valeur, et on décale tout le tableau d’une ligne.
Ça me semble assez lourd…
Est-ce que vous avez une idée du principe que je peux utiliser pour réaliser cette opération efficacement avec Matlab ?
Merci
l'extrait utile du code :
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
23
24
25 %% Acquisition des traces actives for i=1:500 acquisition.i=i; disp(i) if parametres.canalActif(1)==1 write(ssa,'TRACe:DATA? 1'); trace= readline(ssa); data=textscan(trace,'%f ','Delimiter',',' ); %acquisition ASCII à lire comme double (%f) le séparateur entre 2 valeurs et la , acquisition.CH1(i,:)=cell2mat(data); parametres.n=size(acquisition.CH1(i),1); %détermine la taille des données normalement 751 end pause(0.2) end %% axe fréquences parametres.fstep=(parametres.ffin-parametres.fdeb)/parametres.n; acquisition.axef=( parametres.fdeb:parametres.fstep:parametres.ffin); acquisition.axef=acquisition.axef(1:(parametres.n)); %% Affiche la figure parametres.screen_size = get(0,'ScreenSize'); parametres.largeur = parametres.screen_size(3); parametres.hauteur = parametres.screen_size(4); figure('Name','Analyseur SIGLENT','Position',[100, (parametres.hauteur-(600+77+5)), 1024, 600]); %% tracé de 1 à 4 traces waterfall(acquisition.CH1)![]()
Partager