为什么不同滤波器,我滤波后的结果是一样的
我有一个信号先是5Hz正弦持续1s,而后持续1s是15Hz正弦,然后又是1s时间的5Hz正弦。我现在用8阶巴特沃斯滤波器滤波,第一次是带通,第二次是带通,但是最后出来的结果竟然是一样的,代码如下:
%先产生信号
fs=500; %采样频率fs=500Hz.
t1=0:1/fs:1-1/fs;
f1=sin(2*pi*5*t1);
t2=1:1/fs:2-1/fs;
f2=sin(2*pi*15*t2);
t3=2:1/fs:3-1/fs;
f3=sin(2*pi*5*t3);
Data1=;
%buterworth带通14-16Hz
=butter(8,16/250,'low');
filter_Data11=filter(b,a,Data1);
=butter(8,14/250,'high');
filter_Data2=filter(b,a,filter_Data11);
%buterworth带通15-17Hz
=butter(8,17/250,'low');
filter_Data1=filter(b,a,Data1);
=butter(8,15/250,'high');
filter_Data1=filter(b,a,filter_Data1);
subplot(3,1,1);plot(Data1);subplot(3,1,2);plot(filter_Data1,'r');subplot(3,1,3);plot(filter_Data2);
结果是,两个滤波结果基本一样,感觉好奇怪啊,请高手指点! 我感觉用的带通滤波,那信号应该被滤的没剩下什么了,为什么还有这么多? 再试试看 16 18有差别,但是为什么14 16与15 17就没有什么差别,请指点
回复 地板 tjucruiser 的帖子
14 16与15 17两种情况15Hz都在通频带内。即使16 18 对于15也不是滤干净的。 第二次是带通,15Hz仍在通带之内,但按Butterwoth滤波器将有3dB的衰减,所以笫2张图的幅值比笫3张图小一些。 楼主的方式是先16Hz低通, 再14Hz高通; 与直接14-16Hz带通有何不同?fs=500; t1=0:1/fs:1-1/fs; f1=sin(2*pi*5*t1); t2=1:1/fs:2-1/fs;f2=sin(2*pi*15*t2);
t3=2:1/fs:3-1/fs; f3=sin(2*pi*5*t3); Data1=; fL=14; fH=16;
=butter(8,fH/250,'low'); filter_Data11=filter(b,a,Data1);
=butter(8,fL/250,'high'); filter_Data2=filter(b,a,filter_Data11);
=butter(8,); filter_Data1=filter(b,a,Data1);
subplot(3,1,1);plot(Data1);subplot(3,1,2);plot(filter_Data1,'r');subplot(3,1,3);plot(filter_Data2);
[ 本帖最后由 ChaChing 于 2010-3-27 16:28 编辑 ] 楼上的,按照你的说法写的程序,结果都被滤波成直线了。请指点。
fs=500; %采样频率fs=500Hz.
t1=0:1/fs:1-1/fs;
f1=sin(2*pi*5*t1);
t2=1:1/fs:2-1/fs;
f2=sin(2*pi*15*t2);
t3=2:1/fs:3-1/fs;
f3=sin(2*pi*5*t3);
Data1=;
%buterworth带通14-16Hz
=butter(8,); filter_Data1=filter(b,a,Data1);
=butter(8,); filter_Data2=filter(b,a,Data1);
subplot(3,1,1);plot(Data1);
subplot(3,1,2);plot(filter_Data1);
subplot(3,1,3);plot(filter_Data2);
另外向各位请教,滤波器的特性steepness40 dB/decade是什么意思,还有别的什么滤波器特性吗
回复 8楼 tjucruiser 的帖子
椭圆滤波器不是直接有带通吗?回复 9楼 ydiok 的帖子
我7F不就是请教"带通"与"先低通再高通"两者差异?
页:
[1]