CASE CLOSED. THANKS YOU
2 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
Mathieu NOE
on 8 Jul 2021
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 () ')
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!