Lead-Lag Op-amp Model

Source Notebook

Model of a lead-lag controller op-amp circuit

Examples

Basic Examples (2) 

Retrieve the model:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\)]
Out[1]=

The icon:

In[2]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "Icon"]
Out[2]=

Scope & Additional Elements (6) 

Available content elements:

In[3]:=
\!\(\*
TagBox[
RowBox[{"ResourceObject", "[", "\"\<Lead-Lag Op-amp Model\>\"", "]"}],
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\)["ContentElements"]
Out[3]=

The state space model:

In[4]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "StateSpaceModel"]
Out[4]=

The input variables:

In[5]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "InputVariables"]
Out[5]=

The output variables:

In[6]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "OutputVariables"]
Out[6]=

The complex variable:

In[7]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "ComplexVariable"]
Out[7]=

The model parameters:

In[8]:=
ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\), "Parameters"]
Out[8]=

Visualizations (1) 

Use different component values to show how the pole-zero positions and lead-lag effect are related:

In[9]:=
Manipulate[
 Plot[{Sin[\[Omega] t], Evaluate@OutputResponse[ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\)] /. {Subscript[\[ScriptCapitalR], 1] -> r1, Subscript[\[ScriptCapitalR], 2] -> r2, Subscript[\[ScriptCapitalR], 3] -> r3, Subscript[\[ScriptCapitalR], 4] -> r4, Subscript[\[ScriptCapitalR], 5] -> r5, Subscript[\[ScriptCapitalR], 6] -> r6, Subscript[\[ScriptCapitalC], 1] -> c1, Subscript[\[ScriptCapitalC], 2] -> c2}, Sin[\[Omega] t], {t, 0, 10}]}, {t, 0, 10}, Sequence[
  PlotLegends -> Placed[{"input", "output"}, Below], Frame -> True]], Sequence[{{\[Omega], 1}, 0.1, 10, ImageSize -> 75},
   Delimiter, {{r1, 330, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(1\)]\)"}, {100, 330, 500, 1000}}, {{r2, 100, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(2\)]\)"}, {100, 330, 500, 1000}}, {{r3, 330, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(3\)]\)"}, {100, 330, 500, 1000}}, {{r4, 330, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(4\)]\)"}, {100, 330, 500, 1000}}, {{r5, 330, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(5\)]\)"}, {100, 330, 500, 1000}}, {{r6, 330, "\!\(\*SubscriptBox[\(\[ScriptCapitalR]\), \(6\)]\)"}, {100, 330, 500, 1000}}, {{c1, 0.01, "\!\(\*SubscriptBox[\(\[ScriptCapitalC]\), \(1\)]\)"}, {0.005, 0.01, 0.025, 0.1}}, {{c2, 0.01, "\!\(\*SubscriptBox[\(\[ScriptCapitalC]\), \(2\)]\)"}, {0.005, 0.01, 0.025, 0.1}}, ControlPlacement -> Left], SaveDefinitions -> True]
Out[9]=

Analysis (1) 

There's a phase lag and magnitude drop at lower frequencies and a phase lead and magnitude increase for mid frequencies:

In[10]:=
Manipulate[BodePlot[ResourceData[\!\(\*
TagBox["\"\<Lead-Lag Op-amp Model\>\"",
#& ,
BoxID -> "ResourceTag-Lead-Lag Op-amp Model-Input",
AutoDelete->True]\)] /. {Subscript[\[ScriptCapitalR], 1] -> r1, Subscript[\[ScriptCapitalR], 2] -> r2, Subscript[\[ScriptCapitalR], 3] -> r3, Subscript[\[ScriptCapitalR], 4] -> r4, Subscript[\[ScriptCapitalR], 5] -> r5, Subscript[\[ScriptCapitalR], 6] -> r6, Subscript[\[ScriptCapitalC], 1] -> c1, Subscript[\[ScriptCapitalC], 2] -> c2}, Sequence[
  ImageSize -> Small, PlotLayout -> "HorizontalGrid", PlotLabel -> {"magnitude", "phase"}]], Grid[{{
Control[{{r1, 100, 
Subscript[\[ScriptCapitalR], 1]}, {100, 330, 500, 1000}}], 
Control[{{r4, 330, 
Subscript[\[ScriptCapitalR], 4]}, {100, 330, 500, 1000}}], 
Control[{{c1, 0.01, 
Subscript[\[ScriptCapitalC], 1]}, {0.005, 0.01, 0.025, 0.1}}]}, {
Control[{{r2, 330, 
Subscript[\[ScriptCapitalR], 2]}, {100, 330, 500, 1000}}], 
Control[{{r5, 330, 
Subscript[\[ScriptCapitalR], 5]}, {100, 330, 500, 1000}}], 
Control[{{c2, 0.01, 
Subscript[\[ScriptCapitalC], 2]}, {0.005, 0.01, 0.025, 0.1}}]}, {
Control[{{r3, 330, 
Subscript[\[ScriptCapitalR], 3]}, {100, 330, 500, 1000}}], 
Control[{{r6, 330, 
Subscript[\[ScriptCapitalR], 6]}, {100, 330, 500, 1000}}], Null}}, Spacings -> 2], SaveDefinitions -> True]
Out[10]=

Suba Thomas, "Lead-Lag Op-amp Model" from the Wolfram Data Repository (2025)  

Data Resource History

Source Metadata

Publisher Information