Bonjour,
Voici mon programme :
D'une part j'aimerai savoir si vous connaissez une commande permettant de faire une boucle pour charger les noms de fichiers (car j'ai beaucoup de fichiers à charger et à manipuler et je veux éviter les copier-collers)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39 clear all close all %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1998 load('fichier1.txt') jour=fichier1(1:length(fichiers1),2); mois=fichier1(1:length(fichier1),3); annee=fichier1(1:length(fichier1),4); heure=fichier1(1:length(fichier1),5); conversion_mois % conversion du mois en seconde t=((jour-1)*24*3600+heure*3600+mois); y=fichier1(:,6); c=zeros(1:2*(length(y)),1); %Interpolation des données (pour pouvoir observer des fréquences allant jusque 1/10min sur le spectre) for i=1:length(y) c(2*(i-1)+1)=y(i); end for i=1:length(c)/2 c(2*i)=(c(2*i-1)+c(2*i+1))/2; end %%FFT Y=fft((c)); N=length(c); df=1/(max(t)-min(t)); f=(0:1:N/2)*df; figure(1) hold on loglog(f(2:N/2+1),abs(Y(2:N/2+1))) a=f(2:N/2+1); b=abs(Y(2:N/2+1)); title('S(f) - 1950') xlabel('f (Hz)') ylabel('S(f)') hold off
D'autre part je veux filtrer mon signal avec un filtre passe bas pour n'observer le spectre que sur la bande de fréquence [1/5400 1/600].
J'ai essayé d'utiliser filter, fir1 mais je n'ai pas réussi et ne suis pas sûr de m'y être bien pris. Ce serait sympa si vous pouviez m'aider.
Merci !
Partager