Add files via upload
This commit is contained in:
70
Matlab/visu_ASCAN.m
Normal file
70
Matlab/visu_ASCAN.m
Normal 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');
|
Reference in New Issue
Block a user