mkfilter 2nd order Bessel bug?

조회 수: 3 (최근 30일)
m
m 2013년 10월 2일
답변: Zack Peters 2013년 10월 25일
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?

답변 (1개)

Zack Peters
Zack Peters 2013년 10월 25일
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

카테고리

Help CenterFile Exchange에서 Bessel functions에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by