error with using filter

16 ビュー (過去 30 日間)
pietro
pietro 2014 年 9 月 19 日
編集済み: Gustavo Machado 2019 年 6 月 10 日
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 日
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 日
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 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by