MATLAB Answers

m
0

mkfilter 2nd order Bessel bug?

Asked by m
on 2 Oct 2013
Latest activity Answered by Zack Peters on 25 Oct 2013
Hello, in the mkfilter() function of the Robust Control Toolbox, I am unable to create a 2nd order Bessel filter, I receive
>> bess = mkfilter(1,2,'bessel');
Undefined function 'ssdata' for input arguments of type 'double'.
.
3rd order works though:
>> bess = tf(mkfilter(1,3,'bessel'))
Transfer function:
1240
-------------------------------
s^3 + 37.7 s^2 + 592.2 s + 1240
Is this a bug in mkfilter? Or is there some theoretical impossibility of a 2nd order Bessel filter?

  0 Comments

Sign in to comment.

1 Answer

Answer by Zack Peters on 25 Oct 2013

Hi,
This does look to be a possible bug in MKFILTER. Fortunately, the code for MKFILTER is accessible. If you got to lines 60 and 62 of mkfilter.m and change them from:
sys = nd2sys(1,b1);
sys = nd2sys(1,b2);
respectively to:
sys = tf(1,b1);
sys = tf(1,b2);
Then you may be able to get the desired output that you are looking for.
~Zack

  0 Comments

Sign in to comment.