不知道你要滤除什么,这是一个滤波程序,你可以参考一下:function [y]=daikuanlvbo(x)
fs=4096*2; %采样频率
fmin=4;
fmax=8;
n=length(x);
t1=(0:1/fs:(n-1)/fs)';
nfft=2^nextpow2(n);
ni=round(fmin*nfft/fs+1);
na=round(fmax*nfft/fs+1);
y=fft(x,nfft);
a=zeros(1,nfft);
a(ni:na)=y(ni:na);
a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);
y=ifft(a,nfft);
y=(real(y(1:n)))';
figure
subplot(2,1,1); plot(t1,x);grid on;
title('加速度时程(滤波前)')
xlabel('时间 t(s)');
ylabel('加速度值 a(cm/s^2)');
subplot(2,1,2); plot(t1,y);grid on;
title('加速度时程(滤波后)');
xlabel('时间 t(s)');
ylabel('加速度值 a(cm/s^2)');
|