采集数据,低通滤波,得到数据低频部分
clear;
Fs=1000;
f1=2;f3=5;
Wp = 2*pi*f1/Fs; %通带截止频率,f1,f3的值都要小于 Fs/2
Ws = 2*pi*f3/Fs;%阻带截止频率,f1,f3的值都要小于 Fs/2
Rp = 1; %通带内的衰减不超过Rp,这个自定大致定义
Rs = 30;%阻带内的衰减不小于Rs,这个自定大致定义
[n,Wn] = buttord(Wp/pi,Ws/pi,Rp,Rs);%巴特沃斯数字滤波器最小阶数选择函数
[b,a] = butter(n,Wn);%巴特沃斯数字滤波器
[h,w]=freqz(b,a,512,Fs); %计算滤波器的频率响应
figure(1);subplot(311);plot(w,abs(h))%,'LineWidth',1绘制滤波器的幅频响应图
grid on,xlabel('频率(Hz)');title('滤波器的频率响应');
axis([0,20,0,2]);
t=0.001:0.001:2;
load('x.mat');
%x=x+0.005*randn(2,2000); %加随机噪声
x2=0.0002*sin(2*pi*16*t)+0.001*sin(2*pi*10*t);
x(1,:)=x(1,:)+x2;%加随机周期信号
y=filtfilt(b,a,x');
hold on;
subplot(312);hua_fft(x(1,:),1000);
subplot(313);hua_fft(y(:,1),1000);title('滤波后功率谱密度');
figure(2);
plot(t,x,t,y);