Try this —
LD = load('Frequency.mat');
t = LD.t;
CH0 = LD.CH0;
Fs = 0.1; % Design Sampling Frequency
[CH0r,tr] = resample(CH0,t,Fs); % Resample To Constant Sampling Intervals
L = numel(t); % Original Signal Length
Fn = Fs/2; % Myquist Frequency
N = 2^nextpow2(L); % Fourier Transform Length
CH0rm = CH0r - mean(CH0r); % Subtract Mean So Peaks Are More Easily Visible
FT_CH0r = fft(CH0rm,N)/L; % Fourier Transform
Fv = linspace(0, 1, N/2+1)*Fn; % Frequency Vector
Iv = 1:numel(Fv); % Index Vector
figure
plot(Fv, abs(FT_CH0r(Iv))*2, '-')
grid
xlim([0 0.02])
xlabel('Frequency')
ylabel('Amplitude')
[CH0rmax,idx] = max(abs(FT_CH0r(Iv))*2);
text(Fv(idx), CH0rmax, sprintf('$\\leftarrow Amplitude: %6.1f$\n$\\ \\ \\ \\ Frequency = %.6f$',CH0rmax,Fv(idx)), 'Horiz','left', 'Vert','top', 'Interpreter','latex')
[CH0rfilt,DF] = bandpass(CH0r, [1E-4 6.5E-4], Fs, 'ImpulseResponse','iir'); % Filter Signal
figure
plot(tr, CH0r, '-b')
hold on
plot(tr, CH0rfilt, '-r')
hold off
grid
xlabel('t')
ylabel('Amplitude')
legend('Original (Resampled)', 'Filtered', 'Location','best')
Experiment with the filter types and characteristics to get the result you want. See the documentation for the various functions to understans how they work and the reason I used them here. The data were not sampled with a consistent sampling interval, so it was necessary to use the resample funciton to correct for that.
EDIT — (26 Jul 2021 at 16:01)
Added plot image —
.