Anonymous
×
Create a new article
Write your page title here:
We currently have 105 articles on MOR Wiki. Type your article name above or click on one of the titles below and start writing!



MOR Wiki

Difference between revisions of "Nonlinear RC Ladder"

m (added procedural cat)
(Added third model.)
Line 49: Line 49:
 
\dot{x}(t) = \begin{pmatrix} -2 & 1& & \\ 1 & -2 & 1 & \\ & \ddots & \ddots & \ddots\\ & & 1 & -2 \end{pmatrix} x(t) + g(x),
 
\dot{x}(t) = \begin{pmatrix} -2 & 1& & \\ 1 & -2 & 1 & \\ & \ddots & \ddots & \ddots\\ & & 1 & -2 \end{pmatrix} x(t) + g(x),
 
</math>
 
</math>
  +
  +
and the output function:
   
 
:<math>
 
:<math>
Line 54: Line 56:
 
</math>
 
</math>
   
where the <math>g</math> is a mapping <math>g(x_i):\mathbb{R} \to \mathbb{R}</math>, respreseting the effect of a nonlinear resistor.
+
where the <math>g</math> is a mapping <math>g(x_i):\mathbb{R} \to \mathbb{R}</math>, respresenting the effect of a nonlinear resistor.
   
 
:<math>
 
:<math>
Line 60: Line 62:
 
</math>
 
</math>
   
which represents the effect of a nonlinear resistor, and sgn denotes the [[wikipedia:Sign_function|Sign_function]].
+
which represents the effect of a nonlinear resistor, and sgn denotes the [[wikipedia:Sign_function|sign function]].
   
 
====Nonlinearity====
 
====Nonlinearity====
Line 69: Line 71:
 
</math>
 
</math>
   
which represents the effect of a nonlinear resistor, and sgn denotes the [[wikipedia:Sign_function|Sign_function]].
+
which represents the effect of a nonlinear resistor, and sgn denotes the [[wikipedia:Sign_function|sign function]].
   
 
For this benchmark the parameters are selected as: <math>a = 1</math> as in <ref name="chen99"/>.
 
For this benchmark the parameters are selected as: <math>a = 1</math> as in <ref name="chen99"/>.
  +
  +
  +
===Model 3===
  +
Third, a circuit of chained [[wikipedia:Inverter_(logic_gate)|inverter gates]], a so-called inverter chain <ref name="gu12"/>, is presented.
  +
This is a SISO system, given by:
  +
  +
:<math>
  +
\dot{x}(t) = -x(t) + \begin{pmatrix} 0 \\ g(x_1(t)) \\ \vdots \\ g(x_{N-1}(t)) \end{pmatrix} + \begin{pmatrix} u(t) \\ 0 \\ \vdots \\ 0 \end{pmatrix},
  +
</math>
  +
  +
and the output function:
  +
  +
:<math>
  +
y(t) = x_N(t).
  +
</math>
  +
  +
====Nonlinearity====
  +
  +
The nonlinear function <math>g</math> is a mapping <math>g(x_i):\mathbb{R} \to \mathbb{R}</math> describing the inverter characteristic:
  +
  +
:<math>
  +
g(x_i) = v \tanh(a x_i),
  +
</math>
  +
  +
being a parameterized [[wikipedia:Hyperbolic_function|hyperbolic tangent]] with the supply voltage <math>v=1</math> and a physical parameter <math>a</math>, i.e. <math>a=5</math>.
  +
   
 
===Input===
 
===Input===
Line 97: Line 125:
 
==Data==
 
==Data==
   
A sample procedural MATLAB implementation of order <math>N</math> for both models is given by:
+
A sample procedural MATLAB implementation fororder <math>N</math> for all three models is given by:
   
 
<div class="thumbinner" style="width:540px;text-align:left;">
 
<div class="thumbinner" style="width:540px;text-align:left;">
Line 104: Line 132:
 
function [f,B,C] = nrc(N,model)
 
function [f,B,C] = nrc(N,model)
 
%% Procedural generation of "Nonlinear RC Ladder" benchmark system
 
%% Procedural generation of "Nonlinear RC Ladder" benchmark system
  +
 
 
B = sparse(1,1,1,N,1); % input matrix
 
B = sparse(1,1,1,N,1); % input matrix
 
C = sparse(1,1,1,1,N); % output matrix
 
C = sparse(1,1,1,1,N); % output matrix
  +
 
 
switch(model)
 
switch(model)
   
Line 126: Line 154:
   
 
A = gallery('tridiag',N,1,-2,1);
 
A = gallery('tridiag',N,1,-2,1);
  +
 
 
f = @(x) A*x - sign(x).*(x.*x);
 
f = @(x) A*x - sign(x).*(x.*x);
  +
  +
case 'inv'
  +
  +
f = @(x) [0;tanh(x(2:end))] - x;
  +
  +
C = sparse(1,N,1,1,N);
   
 
otherwise
 
otherwise
   
error('Choose either shockley or sign');
+
error('Choose shockley, sign or inv');
 
end
 
end
 
end
 
end
Line 171: Line 205:
 
}
 
}
   
  +
* For the background on the benchmarks:
* For the background on the benchmark: for Model 1 <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morChe99 morChe99]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morChe99 BibTeX]</span>) and for Model 2 <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morRew03 morRew03]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morRew03 BibTeX]</span>)
 
  +
** for Model 1 <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morChe99 morChe99]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morChe99 BibTeX]</span>)
 
** for Model 2 <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morRew03 morRew03]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morRew03 BibTeX]</span>)
  +
** for Model 3 <span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/#morGu12 morGu12]</span> (<span class="plainlinks">[https://morwiki.mpi-magdeburg.mpg.de/BibTeX/html/mor_bib.html#morGu12 BibTeX]</span>)
   
 
==References==
 
==References==
Line 186: Line 223:
   
 
<ref name="condon04a">M. Condon and R. Ivanov, "<span class="plainlinks">[https://doi.org/10.1108/03321640410510730 Model Reduction of Nonlinear Systems]</span>", COMPEL 23(2): 547--557, 2004</ref>
 
<ref name="condon04a">M. Condon and R. Ivanov, "<span class="plainlinks">[https://doi.org/10.1108/03321640410510730 Model Reduction of Nonlinear Systems]</span>", COMPEL 23(2): 547--557, 2004</ref>
  +
  +
<ref name="gu12">C. Gu, "<span class="plainlinks">[https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-217.pdf Model Order Reduction of Nonlinear DynamicalSystems]</span>", PhD Thesis (University of California, Berkeley), 2012.</ref>
   
 
<ref name="reis14">T. Reis. "<span class="plainlinks">[https://doi.org/10.1007/978-3-319-08437-4_2 Mathematical Modeling and Analysis of Nonlinear Time-Invariant RLC Circuits]</span>", In: Large-Scale Networks in Engineering and Life Sciences. Modeling and Simulation in Science, Engineering and Technology: 125--198, 2014.</ref>
 
<ref name="reis14">T. Reis. "<span class="plainlinks">[https://doi.org/10.1007/978-3-319-08437-4_2 Mathematical Modeling and Analysis of Nonlinear Time-Invariant RLC Circuits]</span>", In: Large-Scale Networks in Engineering and Life Sciences. Modeling and Simulation in Science, Engineering and Technology: 125--198, 2014.</ref>

Revision as of 11:32, 16 October 2019


Description

Nonlinear RC-Ladder

The nonlinear RC-ladder is an electronic test circuit first introduced in [1], and its variant is also introduced in [2]. These nonlinear first-order system model a resistor-capacitor network that exhibits a distinct nonlinear behaviour caused by either the nonlinear resistors consisting of a parallel connected resistor with a diode (see the right figure) or the nonlinear resistors connected parallel to the capacitor (see Fig. 7 in [2]).

Model 1

First, we discuss the modelling of an RC circuit, where the nonlinear resistors consist of a parallel connected resistor with a diode as shown in the above figure. For this, the underlying model is given by a (SISO) gradient system of the form [3]:


\dot{x}(t) = \begin{pmatrix} -g(x_1(t)) - g(x_1(t) - x_2(t)) \\ g(x_1(t)-x_2(t)) - g(x_2(t)-x_3(t)) \\ \vdots \\ g(x_{k-1}(t) - x_k(t)) - g(x_k(t) - x_{x+1}(t)) \\ \vdots \\ g(x_{N-1}(t) - x_N(t)) \end{pmatrix}+\begin{pmatrix}u(t) \\ 0 \\ \vdots \\ 0 \\ \vdots \\ 0 \end{pmatrix},

y(t) = x_1(t),

where the g is a mapping g(x_i):\mathbb{R} \to \mathbb{R}:


g(x_i) = g_D(x_i) + x_i,

which combines the effect of a diode and a resistor.

Nonlinearity

The nonlinearity g_D models a diode as a nonlinear resistor, based on the Shockley model [4]:


g_D(x_i) = i_S (\exp(u_P x_i) - 1),

with material parameters i_S > 0 and u_P > 0.

For this benchmark the parameters are selected as: i_S = 1 and u_P = 40 as in [1].


Model 2

Second, we discuss the modelling of an RC circuit, where the nonlinear resistors are connected parallel to the capacitors (see Fig. 7 in [2]). For this, the underlying model is also given by a (SISO) gradient system of the form [2]:


\dot{x}(t) = \begin{pmatrix} -2 & 1& &  \\ 1 & -2 & 1 &  \\ & \ddots & \ddots & \ddots\\ & & 1 & -2 \end{pmatrix} x(t) + g(x),

and the output function:


y(t) = x_1(t),

where the g is a mapping g(x_i):\mathbb{R} \to \mathbb{R}, respresenting the effect of a nonlinear resistor.


g(x_i) = a\cdot \text{sgn}(x_i)\cdot x_i^2

which represents the effect of a nonlinear resistor, and sgn denotes the sign function.

Nonlinearity

The nonlinearity g_D models a diode as a nonlinear resistor [2]:


g(x_i) = a\cdot \text{sgn}(x_i)\cdot x_i^2

which represents the effect of a nonlinear resistor, and sgn denotes the sign function.

For this benchmark the parameters are selected as: a = 1 as in [1].


Model 3

Third, a circuit of chained inverter gates, a so-called inverter chain [5], is presented. This is a SISO system, given by:


\dot{x}(t) = -x(t) + \begin{pmatrix} 0 \\ g(x_1(t)) \\ \vdots \\ g(x_{N-1}(t)) \end{pmatrix} + \begin{pmatrix} u(t) \\ 0 \\ \vdots \\ 0 \end{pmatrix},

and the output function:


y(t) = x_N(t).

Nonlinearity

The nonlinear function g is a mapping g(x_i):\mathbb{R} \to \mathbb{R} describing the inverter characteristic:


g(x_i) = v \tanh(a x_i),

being a parameterized hyperbolic tangent with the supply voltage v=1 and a physical parameter a, i.e. a=5.


Input

As an external input, several alternatives are presented in [6], which are listed next. A simple step function is given by:


u_1(t)=\begin{cases}0 & t < 4 \\ 1 & t \geq 4 \end{cases},

an exponential decaying input is provided by:


u_2(t) = e^{-t}.

Additional input sources are given by conjunction of sine waves with different periods [7]:


u_3(t) = \sin(2\pi 50t)+\sin(2\pi 1000t),

u_4(t) = \sin(2\pi 50t) \sin(2\pi 1000t).

Data

A sample procedural MATLAB implementation fororder N for all three models is given by:

function [f,B,C] = nrc(N,model)
%% Procedural generation of "Nonlinear RC Ladder" benchmark system

  B = sparse(1,1,1,N,1);  % input matrix
  C = sparse(1,1,1,1,N);  % output matrix

  switch(model)

    case 'shockley'

      g = @(x) exp(40.0*x) + x - 1.0;

      A0 = sparse(1,1,1,N,N);

      A1 = spdiags(ones(N-1,1),-1,N,N) - speye(N);
      A1(1,1) = 0;

      A2 = spdiags([ones(N-1,1);0],0,N,N) - spdiags(ones(N,1),1,N,N);

      f = @(x) -g(A0*x) + g(A1*x) - g(A2*x);

    case 'sign'

      A = gallery('tridiag',N,1,-2,1);

      f = @(x) A*x - sign(x).*(x.*x);

    case 'inv'

      f = @(x) [0;tanh(x(2:end))] - x;

      C = sparse(1,N,1,1,N);

    otherwise

      error('Choose shockley, sign or inv');
  end
end

Here the vector field is realized in a vectorized form as a closure.

Dimensions

System structure:


\begin{align}
\dot{x}(t) &= f(x(t)) + Bu(t), \\
y(t) &= Cx(t).
\end{align}

System dimensions:

f : \mathbb{R}^N \to \mathbb{R}^N, B \in \mathbb{R}^{N \times 1}, C \in \mathbb{R}^{1 \times N}.

Citation

To cite these benchmarks, use the following references:

  • For the benchmark itself and its data:
The MORwiki Community, Nonlinear RC Ladder. MORwiki - Model Order Reduction Wiki, 2018. http://modelreduction.org/index.php/Nonlinear_RC_Ladder
@MISC{morwiki_modNonRCL,
  author =       {{The MORwiki Community}},
  title =        {Nonlinear RC Ladder},
  howpublished = {{MORwiki} -- Model Order Reduction Wiki},
  url =          {http://modelreduction.org/index.php/Nonlinear_RC_Ladder},
  year =         2018
}

References

  1. 1.0 1.1 1.2 Y. Chen, "Model Reduction for Nonlinear Systems", Master Thesis, 1999.
  2. 2.0 2.1 2.2 2.3 2.4 M. Rewienski and J. White, "A trajectory piecewise-linear approach to model order reduction and fast simulation of nonlinear circuits and micromachined devices", IEEE Transactions on computer-aided design of integrated circuits and systems 22(2): 155--170, 2003.
  3. M. Condon and R. Ivanov, "Empirical Balanced Truncation for Nonlinear Systems", Journal of Nonlinear Science 14(5):405--414, 2004.
  4. T. Reis. "Mathematical Modeling and Analysis of Nonlinear Time-Invariant RLC Circuits", In: Large-Scale Networks in Engineering and Life Sciences. Modeling and Simulation in Science, Engineering and Technology: 125--198, 2014.
  5. C. Gu, "Model Order Reduction of Nonlinear DynamicalSystems", PhD Thesis (University of California, Berkeley), 2012.
  6. Y. Chen and J. White, "A Quadratic Method for Nonlinear Model Order Reduction", Int. Conference on Modelling and Simulation of Microsystems Semiconductors, Sensors and Actuators, 2000.
  7. M. Condon and R. Ivanov, "Model Reduction of Nonlinear Systems", COMPEL 23(2): 547--557, 2004

Contact

Christian Himpe