Passivity Checking: Iterated Fitting of Passivity Violations (IFPV)

Iterated Fitting of Passivity Violations (IFPV) is the default passivity enforcement algorithm provided by SIwave. IFPV requires relatively little memory to run, and runs significantly faster than either convex optimization or passivity by perturbation. However, IFPV does not guarantee goodness-of-fit as does the convex optimization method. The IFPV algorithm works by taking the results of the original state-space fit, selecting those areas that have passivity violations, and fitting just the excess values, with the original poles. The fitted residues are then subtracted from the original state-space fit. This step is iterated, balancing between goodness of fit and passivity, until a passive model is achieved.