error with using filter

14 views (last 30 days)
pietro
pietro on 19 Sep 2014
Edited: Gustavo Machado on 10 Jun 2019
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

Accepted Answer

Honglei Chen
Honglei Chen on 19 Sep 2014
dsp.BiquadFilter is a System object, so its main method is step(). Try
a = step(Hd,a)
  1 Comment
Gustavo Machado
Gustavo Machado on 10 Jun 2019
Edited: Gustavo Machado on 10 Jun 2019
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

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!