matlab - How to use low-frequency filtering to process the rising signal - Stack Overflow

My strain time-domain data shown in figure 1 contains significant high-frequency noise. The segment I f

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?

signal-data

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')

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744849468a4597041.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信