My strain time-domain data shown in figure 1 contains significant high-frequency noise. The segment I focus on is the strain rising phase shown in figure 2, where the amplitude can be truncated at 1e4. When applying FFT-based low-frequency filtering, I found that the selected time duration of the filtering region significantly affects the filtering results. How should I resolve this issue?
clc;clear;close all; %% load data load('20250310signal1.mat'); t=ttt'; y=yyy'; %% fs = fix(1/(t(2)-t(1))); n = length(y); Y = fft(y); f = (0:n-1)*(fs/n); %% Low-pass filtering (retain DC and low-frequency components) cutoff = 12500; % cut-off frequency Y_filtered = Y; Y_filtered(f > cutoff) = 0; %% Inverse FFT to obtain filtered signal y_filtered = ifft(Y_filtered, 'symmetric'); %% Plot results figure; plot(t, y);hold on; plot(t, y_filtered); xlabel('Time (s)'); ylabel('Amplitude'); legend('data','filtered data') 
