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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| % ouverture de fichier
[file,D]=uigetfile('*AICH1*','Selection fichier'); %permet de sélectionner le fichier AICH1 dans une fenêtre séparée
fud=fopen(file,'r','b'); %ouvre le fichier file et autorise la lecture
s = fread(fud,'double'); %lit le fichier que représente fud et le met dans s
fclose(fud); %referme le fichier
s = s - mean(s); %réajuster la mesure en cas d'amplitude non centrée en zéro
% calcul fréq échantillonnage
filename = file;
filename = filename(14:18);
T = str2double(filename)/1000; %transforme le string en num
fsd = length(s)/T; %fréquence d'échantillonnage
nfsd = fsd/2; %fréquence de Nyquist
% filtrage
% [b,a]=butter(8,20/nfsd,'high'); %calcul des paramètres de filtrage. (degré du filtre,fréquence de coupure/f Nyquist, passe bas, haut)
% sf=filter(b,a,s); %filtrage de s donne sf
% analyse temporelle
plot(s),ylabel('Volt'),xlabel('Samples');
title('Analyse temporelle');
xlabel('Time (s)');
ylabel('Pression (Pa)');
fileAF = file(1:end-6);
fileAT = strcat(fileAF, '_AT');
saveas(gcf, fileAT, 'fig');
% analyse fréquentielle
Hs = spectrum.periodogram;
saf = psd(Hs,s,'Fs',fsd);
figure; plot(saf);
title('Densité spectrale moyenne');
xlabel('Frequency (Hz)');
xlim([0.01 0.1]);
ylim([-150 0]);
fileAF = file(1:end-6);
fileAF = strcat(fileAF, '_AF');
saveas(gcf, fileAF, 'fig');
% spectrogramme
[Sas, Fas, Tas] = spectrogram(s,1024*16,1024*13,1024*16,fsd);
figure; surf(Tas, Fas, 20*log10(abs(Sas)),'EdgeColor','none');
axis xy; axis tight; colormap(jet); view(0,90);
ylim([10 80]);
title('Sonogramme par FFT');
xlabel('Time (s)');
ylabel('Frequency (Hz)');
colorbar;
fileAS = file(1:end-6);
fileAS = strcat(fileAS, '_AS');
saveas(gcf, fileAS, 'fig'); |
Partager