Hi all,
I have to filter few signals and I wrote the following code:
Fpass = 40; % Passband Frequency
Fstop = 45; % Stopband Frequency
Apass = 1; % Passband Ripple (dB)
Astop = 80; % Stopband Attenuation (dB)
Fs = 100; % Sampling Frequency
h = fdesign.lowpass('Fp,Fst,Ap,Ast', Fpass, Fstop, Apass, Astop, Fs);
Hd = design(h, 'butter','MatchExactly', 'stopband','SystemObject', true);
a=rand(1000,1);
a=filter(Hd,a);
I get the following error:
Undefined function 'filter' for input arguments of type 'dsp.BiquadFilter'.
Why do I get that error?
Thanks
Regards
Pietro

 採用された回答

Honglei Chen
Honglei Chen 2014 年 9 月 19 日

0 投票

dsp.BiquadFilter is a System object, so its main method is step(). Try
a = step(Hd,a)

1 件のコメント

Gustavo Machado
Gustavo Machado 2019 年 6 月 10 日
編集済み: Gustavo Machado 2019 年 6 月 10 日
Honglei, I've encountered the same problem Pietro had and used step() to apply the filter, but the filter was inefficient, seems like it didn't filter the data.
I've posted a question regards my problem. I used the sosfilt(Hd.SOSMatrix) to filter my data but came across the problem described in this topic: https://www.mathworks.com/matlabcentral/answers/466353-difference-between-fvtool-filterobject-and-fvtool-filterobject-sosmatrix
I'd highly appreaciate if you could take a look at it.
Thanks in advance,
Gustavo

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

2014 年 9 月 19 日

編集済み:

2019 年 6 月 10 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by