0
我已创建使用的命令用800赫兹中心频率的峰化滤波器如下:如何使用在Matlab上使用设计函数生成的过滤器?
fs = 44100;
N = 6; F0 = 800/(fs/2); BW = 50/(fs/2);
peakspec = fdesign.peak('N,F0,BW',N,F0,BW);
peakfilt = design(peakspec,'SystemObject', true);
% Input signal
x = 2*cos(2*pi*(80).*(0.01:0.0001:10))+3*cos(2*pi*(100).*(0.01:0.0001:10));
% Getting the filtered output
y = filter(peakfilt, x);
最后一行给出了错误:没有足够的输入参数。
我不明白为什么我会得到这个错误。
我在网站上查了一下,发现peakfilt是一个BiquadFilter,如果有人能解释如何使用BiquadFilter会很有帮助。
谢谢。
尝试使用fvtool(peakfilt) –
您正在创建一个Biquad滤镜。阅读文档[链接](https://de.mathworks.com/help/dsp/ref/dsp.biquadfilter-class.html),告诉你以如下方式应用它:'y = peakfilt(x); ' – Irreducible