如果我有一个简单的低通滤波器,例如:
filt = fir1(20, 0.2);
如果我有一个数字列表的矩阵(信号),例如[0.1,-0.2,0.3,-0.4]等等,并且我已经创建了一个过滤器,那么我该如何将这个过滤器应用到这个信号上?
这似乎是一个简单的问题,但我已经卡了几个小时了。我需要从过滤器系数手动计算吗?
给你:
filter(filt, 1, mysignal);
这个操作可以解决问题。由于这是一个FIR滤波器,因此A参数(第二个参数)设置为1。
filter
函数是你所需要的。
我相信 help filter
或者 doc filter
可以帮助你入门。
在fir1函数的第一个参数中,您不能给出大于1的值。它应该在0和1之间。假设截止频率为Fc,采样频率为Fs,则如果我们将Wn作为第一个参数,即将截止频率作为归一化值。这就是如何计算Wn的方法。
Wn = (2/Fs)*Fc
然后你可以像下面这样应用过滤函数:
filt = fir1(Wn , 0.2);
filter(filt, 1, mysignal);