mkfilter 2nd order Bessel bug?
1 view (last 30 days)
Show older comments
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
Answers (1)
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
See Also
Categories
Find more on Bessel functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!