Skip to content

ANP v6.0.0: MIMO support

Compare
Choose a tag to compare
@StefanRickli StefanRickli released this 27 Apr 14:54
· 22 commits to master since this release

Yay, I finally did it :-)

MIMO support is here. Simply supply anp_main with a MIMO transfer function, call it L(s), and it will display the Nyquist plot of det(I + L(s)), suited for the MIMO Nyquist stability criterion, for you.

The following code creates a random 2x2 MIMO transfer function, where every transfer function of the matrix can have degree 2.
anp_main(tf(rss(2,2,2)))

Beware that I perform polynomial divisions by simply cancelling poles and zeros that are (currently) less than 1e-4 apart from each other (after determining them numerically). This is certainly not optimal and could potentially lead to cancellation of legitimate RHP poles and zeros.

Another change is that detours around poles and zeros that lie on the imaginary axis now go to the left of the axis.
This is due to the lesser known properties of MIMO systems that poles could be unaffected by feedback. So we need to count the marginally stable poles and zeros into the D-contour.

Important update 2017-04-28!

Aaaaand the calculation of the determinand is wrong in most cases because of an undetected bug in the fraction reduction code...

Don't use this version to plot MIMO systems!