![](/contentassets/a8eb2a77dcff4f83b84d8a555e69f46a/vector-fitting.jpg?width=1600&height=500&mode=crop&quality=80)
Vector Fitting
Passivity
When a model is to be included in a time domain simulation, it is important that the model does not result in an unstable simulation. This requires the model to satisfy two criteria:
- All poles are stable
- The model is passive
The stable pole requirement is enforced by vector fitting. The passivity requirement means that the model cannot generate energy when connected to an external network. A model is passive provided that
![Eq-3.png](/globalassets/project/vectfit/eq/eq-3.png?width=1080&mode=crop&quality=80)
i.e. all eigenvalues of the real part of the model admittance matrix are positive for all frequencies. Most approaches for passivity enforcement rely on a postprocessing step of the model, assuming that only a small correction is needed. One method described in [1.3] achieves this by solving the constrained equation
![Eq-4.png](/globalassets/project/vectfit/eq/eq-4.png?width=1080&mode=crop&quality=80)
![Eq-5.png](/globalassets/project/vectfit/eq/eq-5.png?width=1080&mode=crop&quality=80)
First order perturbation leads to the constrained linear least squares problem (3), which is solved by Quadratic Programming.
![Eq-6.png](/globalassets/project/vectfit/eq/eq-6.png?width=1080&mode=crop&quality=80)
![Eq-7.png](/globalassets/project/vectfit/eq/ny-ligning-bg.png?width=1080&mode=crop&quality=80)
This passivity enforcement approach is available in package QPpassive.zip, see the Downloads page. (Requires Matlab Optimization Toolbox).