0
\$\begingroup\$

I am doing math for a closed loop equation. I know the transfer function for a closed loop system is:

Loop gain equation

(Image copied from "Loop Gain and its Effect on Analog Control Systems" by Gabino Alonso and Simon Bramble)

$$ V_{out} = G \times V_{in} \tag {Eq 1} $$

$$ G = \frac {A}{1 + \beta A_0} $$

enter image description here

\$ A \$ - open loop gain
\$ \beta \$ - Feedback factor.

Now when I do the math like

$$ V_{out} = A(V_{in} - \beta V_{out}) \tag {Eq 2} $$

enter image description here

What is the initial of Vout to start with?

Vout numbers with 1 & 2 do not match and initial value of Vout is making a lot of difference.

Why are they not matching?

If A = 1000, B = 0.25, Vin =1, Vout =3.98;

>From Eq 1

Vout = 1000/(1+0.25*1000) = 3.98

From Eq2

Vout_initial = 0

Vout = 1000*(1-0.25 x 0) = 1000

Vout = 1000*(1-0.25 x 1000) = -249000

Vout = 1000*(1-0.25 x -249000) = 62251000

Never settles, what am I doing wrong?

If I chose A = 1; B =0.1, Eq1 and Eq2 numbers match eventually to 0.91

Vout = 1*(1-0.1 x 0) = 1

Vout = 1*(1-0.1 x 1) = 0.9

Vout = 1*(1-0.1 x 0.9) = 0.91

and

Vout = 1/(1+0.1*1) = 0.909

What's going on? What fundamentals am I missing?

asked Mar 19, 2020 at 23:21
\$\endgroup\$
9
  • \$\begingroup\$ A schematic might be helpful. There's a button on the editor toolbar. Double-click a component to edit its properties. Hit Save and Insert when done. You don't need a CircuitLab account when run from SE. \$\endgroup\$ Commented Mar 19, 2020 at 23:29
  • \$\begingroup\$ Try read this electronics.stackexchange.com/questions/441184/… \$\endgroup\$ Commented Mar 19, 2020 at 23:49
  • 1
    \$\begingroup\$ It's not an iterative equation. \$\endgroup\$ Commented Mar 19, 2020 at 23:51
  • \$\begingroup\$ @Aakash, I fixed some missing ( ) in Eq. 1 and converted a couple of lines to MathJAX which I suspect you'll love. You can continue on with the remainder of the post, if you wish. \$\endgroup\$ Commented Mar 19, 2020 at 23:56
  • \$\begingroup\$ Thanks @Transistor, great job, this looks so nice :) \$\endgroup\$ Commented Mar 19, 2020 at 23:57

1 Answer 1

2
\$\begingroup\$

You're trying to form an iterative equation. There are many ways of going about it, sometimes it works, sometimes it doesn't.

This way works:

$$\small V_o=\frac{A}{1+AB}V_i $$

add \$\small V_o\$ to both sides:

$$\small 2V_o=\frac{A}{1+AB}V_i +V_o$$

Divide by 2: $$\small V_o=\frac{1}{2}\left(\frac{A}{1+AB}V_i +V_o\right)$$ Make it iterative: $$\small V_o[k]=\frac{1}{2}\left(\frac{A}{1+AB}V_i +V_o[k-1]\right)$$

Let \$\small A=1000; B=0.25; V_i=1\$ $$\small V_o[k]=\frac{1}{2}\left(\frac{1000}{251} +V_o[k-1]\right)$$ hence:

$$\small V_o[k]=\frac{500}{251} +\frac{V_o[k-1]}{2}$$

Let \$\small V_o[0]=0\$, then solve iteratively:

$$\small V_o[1]=1.992$$ $$\small V_o[2]=2.988$$ $$\small V_o[3]=3.486$$ $$\small V_o[4]=3.735$$ This converges to \$\small V_o[k]=3.984\$ at 17 iterations.

Interestingly(?), a square root algorithm can be formulated in a similar way:

Let \$\small y=\sqrt{x}\$ $$\small y^2=x$$ $$\small y=\frac{x}{y}$$ $$\small 2y=\frac{x}{y}+y$$ $$\small y=\frac{1}{2}\left(\frac{x}{y}+y\right)$$ Make iterative: $$\small y[k]=\frac{1}{2}\left(\frac{x}{y[k-1]}+y[k-1]\right)$$

e.g. let \$\small x=9,\:y[0]=1\$ $$\small y[1]=\frac{1}{2}\left(\frac{9}{1}+1\right)=5$$ $$\small y[2]=\frac{1}{2}\left(\frac{9}{5}+5\right)=3.4$$ $$\small y[3]=\frac{1}{2}\left(\frac{9}{3.4}+3.4\right)=3.0235$$ $$\small y[4]=\frac{1}{2}\left(\frac{9}{3.0235}+3.0235\right)=3.00009$$

answered Mar 20, 2020 at 0:39
\$\endgroup\$
7
  • \$\begingroup\$ "There are many ways of going about it, sometimes it works, sometimes it doesn't", what you are looking for is a contraction map (like the new formulation for the iteration you found), and the use of such contraction map is to find a fixed point of the system \$f(x^*)=x^*\$. If \$f()\$ is a contraction mapping "any" initial guess converges to the fixed-point. \$\endgroup\$ Commented Mar 20, 2020 at 1:05
  • 1
    \$\begingroup\$ What @Chu is pointing out is not how the system will behave, but a way to calculate \$V_{out}\$. As you have said yourself, the output will be \$V_{out}(t) = V_{in}(t) \frac {A}{1 + \beta A_0}\$. Your second "method", comes from your perception that \$V_{out} = A(V_{in} - \beta V_{out})\$ is different than \$V_{out}(t) = V_{in}(t) \frac {A}{1 + \beta A_0}\$ (and it is not), you do not have to guess \$V_{out}(t)\$ at any moment, just calculate it using \$V_{in}\$. \$\endgroup\$ Commented Mar 20, 2020 at 2:51
  • \$\begingroup\$ Cool, thanks guys, I think the math works just fine. I am curious what will happen to control loop Vo at the instant an Vi in applied. There must be some delay before the loop can react. What is this delay called? How do I learn about this delay? \$\endgroup\$ Commented Mar 20, 2020 at 3:21
  • \$\begingroup\$ There needn't be a delay there (in the model), specially for Op Amp and similarly fast circuits, modelling that delay and the behavior at the very moment you start applying \$V_i\$ might show that it quickly goes to the value the equation tells you, probably without even oscillating. But if you are interested in bigger delays that actually create instabilities and odd behaviors, look at discrete-time systems and users.ece.utexas.edu/~buckman/H3.pdf \$\endgroup\$ Commented Mar 20, 2020 at 5:13
  • \$\begingroup\$ Cool, makes sense. If any of the blocks in the loop is a complex unit (mathematically speaking), we will start noticing delays and their effects Thank you @jDAQ. \$\endgroup\$ Commented Mar 20, 2020 at 14:29

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.