I have 1440 data of tidal elevation (24 hours recording every 1 minute), I attached my data (Book1.xlsx). My question is how can I do High Pass Filter with those data? My experience in this case is zero.

 Réponse acceptée

Mathieu NOE
Mathieu NOE le 8 Juil 2021

1 vote

hello Nabil
the code below implements low and high pass filtering
hope it helps
T = readtable('Book1.xlsx');
time = T.Var1;
y = T.Var2;
dt = 60; % seconds (data sampled every min)
Fs = 1/dt;
samples = length(y);
t = (0:samples - 1)*dt/3600; % now in hours
%%% filter data %%%
N = 20;
y_LP = smoothdata(y, 'gaussian' , N); % low pass filtered data
y_HP = y - y_LP; % high pass filtered data
%%% plot data %%%
figure(1)
subplot(211),plot(t,y,t,y_LP);legend('Raw','low pass filtered');
title(['Data samples at Fs = ' num2str(Fs) ' Hz / filtered with smoothdata' ]);
xlabel('Time (hours) ')
ylabel('Tidal depth () ')
subplot(212),plot(t,y_HP);legend('high pass filtered');
title(['Data samples at Fs = ' num2str(Fs) ' Hz / filtered with smoothdata' ]);
xlabel('Time (hours) ')
ylabel('Tidal depth () ')

2 commentaires

Nabil Amirul
Nabil Amirul le 9 Juil 2021
Thank you very much sir, I am very appreciate it
Mathieu NOE
Mathieu NOE le 12 Juil 2021
My pleasure

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Signal Processing Toolbox dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by