Decompose Model into Fast and Slow Dynamics
Load a dynamic system model.
load numdemo Pd bode(Pd)
Pd has four complex poles and one real pole. The Bode plot shows a resonance around 210 rad/s and a higher-frequency resonance below 10,000 rad/s.
Decompose this model around 1000 rad/s to separate these two resonances.
[Gs,Gf] = freqsep(Pd,10^3); bode(Pd,Gs,Gf) legend('original','slow','fast','Location','Southwest')
The Bode plot shows that the slow component,
Gs, contains only the lower-frequency resonance. This component also matches the DC gain of the original model. The fast component,
Gf, contains the higher-frequency resonances and matches the response of the original model at high frequencies. The sum of the two components
Gs+Gf yields the original model.
Separate Nearby Modes by Adjusting Tolerance
Decompose a model into slow and fast components between poles that are closely spaced.
The following system includes a real pole and a complex pair of poles that are all close to s = -2.
G = zpk(-.5,[-1.9999 -2+1e-4i -2-1e-4i],10);
Try to decompose the model about 2 rad/s, so that the slow component contains the real pole and the fast component contains the complex pair.
[Gs,Gf] = freqsep(G,2);
Warning: One or more fast modes could not be separated from the slow modes. To force separation, relax the accuracy constraint by increasing the "SepTol" factor (see "freqsepOptions" for details).
These poles are too close together for
freqsep to separate. Increase the relative tolerance to allow the separation.
options = freqsepOptions('SepTol',5e10); [Gs,Gf] = freqsep(G,2,options);
freqsep successfully separates the dynamics.
slowpole = pole(Gs)
slowpole = -1.9999
fastpole = pole(Gf)
fastpole = 2×1 complex -2.0000 + 0.0001i -2.0000 - 0.0001i
G — Dynamic system to decompose
numeric LTI model
Dynamic system to decompose, specified as a numeric LTI model,
such as a
options — Options for decomposition
freqsepOptions options set
Options for the decomposition, specified as an options set you
freqsepOptions. Available options include
absolute and relative tolerance for accuracy of the decomposed systems.
Live Editor Task
Introduced in R2014a