如何表示多个滤波器的综合效果?
实验中从传感器中取得数字信号x[],采样率为30HZ。用MATLAB做滤波器
N=20;
b1=fir1(N,0.1,hamming(N+1));
对x滤波。
然后对滤波后的数据重新采样,每十个取一个,采样率变为3HZ。对采样后的数据进行第二次滤波,滤波器
N=20;
b2=fir1(N,0.0056,hamming(N+1));
据说这种滤波方式效果比一次到位的滤效果好。对第一个和第二个滤波器都可以直接用freqz()函数作图,看出各自的效果。
请问如何做出将两个滤波器作为一个整体的整体效果图。
[ 本帖最后由 eight 于 2007-6-7 14:43 编辑 ] 把两个freqz相乘得到的就是整体的
回复 #2 yangzj 的帖子
:victory:------yangzj ------
------(飞天客) ----
多谢多谢! 了解滤波的实质就好了,滤波是在时域做卷积,在频域就是一个乘积。 :@L
是,要多学习了! 再请教yangzj
不好意思,请问如果以以下代码为例,应当具体怎么写代码呢?对MATLAB和数字滤波都不太了解,见笑了。
N=20
b1=fir1(N,0.1,hamming(N+1))
N=20
b2=fir1(N,0.012,hamming(N+1))
figure(1); 对信号X用b1来滤波用 filter(b1,1,x)
filter具体用法查看help 如楼上所说,用filter(b1,1,x)来看
N=20
b1=fir1(N,0.1,hamming(N+1))
这个滤波器对x的滤波效果。代码为
sf=filter(b1,1,x);
figure(1);
plot(sf);
用freqz(b1,1,1024)可以看滤波器的幅频相频特性。
假设对x重新采样后为xx,第二次滤波,滤波器为
N=20
b2=fir1(N,0.012,hamming(N+1))
此时由以下代码
sf1=filter(b2,1,xx);
figure(2);
plot(sf1);
可以看两次滤波后信号的状况。
可是,如果把前后两个滤波器看成一个整体,如何看这个滤波器本身的幅频相频特性呢?
如楼上所言,“把两个freqz相乘得到的就是整体的”,这个代码怎么写呢?
我写freqz(b1,1,1024)*freqz(b2,1,1024)不行,写了其他几种也不行。:@L 惭愧! 仔细看看freqz的帮助,主要是它的返回值 谢谢!
页:
[1]