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