Why does the index based connection for a MIMO system with a unity feedback loop differ in response with a signal name based system when using the function "connect"?

조회 수: 1 (최근 30일)
I am trying to create an equivalent feedback loop using index based connections for the MIMO system "T" designed with named connections in this example:
My script for the corresponding index based system is as follows:
%% With connection indices
blksys = append(C,G);
connections = [1 -3;2 -4;3 1;4 2];
T_conn = connect(blksys,connections,[1 2],[3 4]);
bode(T_conn,'g--')
However, the bode plot of the system T_conn differs from that of the system T (in red) at very low frequencies. Is this the right way to model index based interconnections and if so, why is the response different?

채택된 답변

MathWorks Support Team
MathWorks Support Team 대략 14시간 전
편집: MathWorks Support Team 2021년 10월 13일
Inspection reveals that the only difference between T and T_conn is the state ordering. This can be traced back to:
blksys = append(C,G);
This puts the states of G last whereas they appears first in the system T. To eliminate the discrepancy, you make the following alterations to the connection index based system:
blksys = append(G,C);
connections = [1 3;2 4;3 -1;4 -2];
T_conn = connect(blksys,connections,[3 4],[1 2]);
While this produces the same response at lower frequencies, T_conn is no worse than T. To see a difference, we are observing the behavior at extremely low frequencies, but it turns out that both Tand T_conn have no accuracy at all at such frequencies, as evidenced by the following in say, the frequency band [1e-20 1e5]:
prescale(T)
This is due to the pole/zero cancellation at s=0 in G*C and the closed-loop system: You could try "minreal(T)" to get rid of this cancellation. Such cancellations give rise to a  0/0 expression near the zero frequency, which is extremely sensitive to rounding errors.
To summarize, there is nothing wrong with T_conn as computed, as the observed discrepancy is just a manifestation of the fundamental limit of accuracy for any finite-precision computation. You can safely proceed with the T_conn formula in the script.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Time and Frequency Domain Analysis에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by