Add files via upload

This commit is contained in:
yalmansour1998
2024-04-22 16:35:46 +02:00
committed by GitHub
parent 3dd2a96a70
commit 50b71d3723

70
Matlab/visu_ASCAN.m Normal file
View File

@ -0,0 +1,70 @@
clc
clear all
close all
fichier = 'Dataset\Shear_Wave_Rot00_CSV_Data\Shear_x001-x101_y010_Rot00.csv';
donnees = readtable(fichier);
first_row = table2array(donnees(:,:));
x1 = 1:length(first_row);
% filtre du Hilbert
m_hat = abs(hilbert(first_row));
%%filtre passe bas
fs=200;
cutoff=7;
order=2;
nyq = 0.5 * fs;
normal_cutoff = cutoff / nyq;
[b, a] = butter(order, normal_cutoff, 'low');
filtered_passe_bas = abs(filter(b, a, first_row));
%filtre passe haut
fs=2000;
cutoff=2;
order=2;
nyq = 0.5 * fs;
normal_cutoff = cutoff / nyq;
[b, a] = butter(order, normal_cutoff, 'high');
filtered_passe_haut = abs(filter(b, a, first_row));
%m=(filtered_passe_haut+filtered_passe_bas)./2;
figure
plot(x1,filtered_passe_haut,'r',x1,filtered_passe_bas,'b',x1,m_hat,'black',x1,abs(first_row));
title('Graphe de ASCAN');
xlabel('Indice');
ylabel('amplitude');
%%%% 2eme filtre appliquer
%filtre de moyenne mobile
window_size = 40;
filtered_m_hat_smooth = movmean(m_hat, window_size);
filtered_passe_bas_smooth = movmean(filtered_passe_bas, window_size);
filtered_passe_haut_smooth = movmean(filtered_passe_haut, window_size);
figure
plot(x1,filtered_passe_bas_smooth,'b',x1,filtered_passe_haut_smooth,'r',x1,filtered_m_hat_smooth,'black',x1,abs(first_row));
title('Graphe de ASCAN');
xlabel('Indice');
ylabel('amplitude');
%filtre adaptatif de réduction de bruit
filtered_m_hat_adaptive = wiener2(m_hat);
filtered_passe_bas_adaptive = wiener2(filtered_passe_bas);
filtered_passe_haut_adaptive = wiener2(filtered_passe_haut);
figure
plot(x1,filtered_passe_bas_smooth,'b',x1,filtered_passe_haut_smooth,'r',x1,filtered_m_hat_smooth,'black',x1,abs(first_row));
title('Graphe de ASCAN');
xlabel('Indice');
ylabel('amplitude');
%Le filtre à réponse impulsionnelle infinie
window_size = 31;
b = hamming(window_size);
b = b / sum(b);
filtered_m_hat = filter(b, 1, m_hat);
filtered_passe_bas = filter(b, 1, filtered_passe_bas);
filtered_passe_haut = filter(b, 1, filtered_passe_haut);
figure
plot(x1,filtered_passe_bas,'b',x1,filtered_passe_haut,'r',x1,filtered_m_hat,'black',x1,abs(first_row));
title('Graphe de ASCAN');
xlabel('Indice');
ylabel('amplitude');