Block reduction
Three linear blocks in a row are one linear block. ICore Blocks will do that arithmetic for you — and tell you when it cannot.
What it does
Select the blocks, then Edit → Reduce (or the same submenu on the canvas' right-click menu). The selection is replaced by one State Space block whose realization is equivalent to the blocks it replaced.
- Series — two blocks one after the other become a single realization.
- Parallel — two blocks fed from the same signal, their outputs summed.
- Feedback — a forward block and a feedback block around a summing junction.
- Unity feedback — the same, where the loop closes straight from the output with no block in the return path. The signs of both summing-junction inputs are read from the junction itself, so a positive-feedback loop reduces as correctly as a negative one.
The algebraic loop is the hard part
A feedback interconnection of two blocks that both have direct feedthrough creates an algebraic
loop: the output depends on itself within the same instant. The reduction resolves it in closed
form, which is possible exactly when 1 − D_G·D_H is invertible.
When that term is numerically singular the loop has no unique solution, and the reduction fails and leaves your diagram alone. It does not fabricate a realization that would run and be wrong — the failure mode this feature exists to avoid.
Why it is worth doing
A reduced model is smaller to simulate, smaller to export, and easier to reason about: one set of state equations instead of an interconnection you have to trace. Blocks in the library are written with this in mind — a block that cannot honestly present a linear form does not claim one, because a fabricated linear form is worse than none when a reduction is going to consume it.
See also: Global solvers, per-rate subsystems · Code export
See it run on your own model.
Download the application from the customer portal, or read the documentation first — the manual, every block with its measured response, and the full command reference are public.