| 
 
	积分54贡献 精华在线时间 小时注册时间2018-5-22最后登录1970-1-1 
 | 
 
| 
有一组110年的NPO时间系数序列,想得到年代际信号(10a以上的信号),看过网上一些关于一维数据的巴特沃斯低通滤波器 的代码,但是不知道代码里面要自己自定义的参数需要怎样设置,想问一下大家,谢谢大家的回答!
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  data = importdata('t2.txt');
 Time = data(:,1);
 
 SA = data(:,2);
 dtt=diff(Time);
 dt=sum(dtt)/length(dtt);
 Fs=round(1/dt);%采样频率
 Wp = 5/(Fs/2); %通带截止频率,这个自定大致定义
 Ws = 10/(Fs/2);%阻带截止频率,这个自定大致定义
 Rp = 2; %通带内的衰减不超过Rp,这个自定大致定义
 Rs = 40;%阻带内的衰减不小于Rs,这个自定大致定义
 [n,Wn] = buttord(Wp,Ws,Rp,Rs);%巴特沃斯数字滤波器最小阶数选择函数
 [b,a] = butter(n,Wn);%巴特沃斯数字滤波器
 
 [h,w]=freqz(b,a,512,Fs); %计算滤波器的频率响应
 plot(w,abs(h))%,'LineWidth',1绘制滤波器的幅频响应图
 %**************************************************************************
 
 %对输入的信号进行滤波
 RollAf=filtfilt(b,a,RollA);%filtfilt这个函数是0相位滤波,没有偏移。filter有偏移。
 
 **************************************************************************
 %% 滤波结果绘图
 
 figure
 
 subplot(2,2,1)
 H=plot(Time,RollA,Time,RollAf,'r--');%,'linewidth',3
 set(H(2),'linewidth',2)
 
 其中;Wp,Ws是一元向量时,则设计的是低通或高通滤波器,若Wp,Ws是二元向量,则设计带通或带阻滤波器。
 
 | 
 |