Hello everyone.
This question is about control theory, closedloop responde and a simple RC circuit.
We start from a simple low pass RC, with a single pole at 10 rad (approx 1.59 Hz). E.g. 1 uF and 100 kohm.
Time constant is 0.1 s, so the capacitor charges up in about half a second. So far so good.
Transfer function is:
1

0.1 s + 1
Now, use unity negative feedback.
The closed loop transfer function (A/1+A) ) is:
0.1 s + 1

0.01 s^2 + 0.3 s + 2
This system is type 0 (no poles at the origin), so there'll be a finite error to a step input. In this case, a 50% error. And, if we simulate the circuit using Spice software, a 1 V input produces a 0.5 V output, which is expected.
This is where I'm having trouble:
To reduce the error to 10%, theory tells us to add a 10x gain to the open loop transfer function.
If we simulate in matlab/octave, we can see this is true.
BUT, a Spice simulation doesn't match. I get a 25% error instead.
Attached, screenshots and LTSpice circuit, and matlab/octave simple script.
In red, simple RC circuit open loop. In black, closed loop RC circuit with 10x gain. Both, for matlab/octave and LTSpice.
What am I missing?
Thanks.
This question is about control theory, closedloop responde and a simple RC circuit.
We start from a simple low pass RC, with a single pole at 10 rad (approx 1.59 Hz). E.g. 1 uF and 100 kohm.
Time constant is 0.1 s, so the capacitor charges up in about half a second. So far so good.
Transfer function is:
1

0.1 s + 1
Now, use unity negative feedback.
The closed loop transfer function (A/1+A) ) is:
0.1 s + 1

0.01 s^2 + 0.3 s + 2
This system is type 0 (no poles at the origin), so there'll be a finite error to a step input. In this case, a 50% error. And, if we simulate the circuit using Spice software, a 1 V input produces a 0.5 V output, which is expected.
This is where I'm having trouble:
To reduce the error to 10%, theory tells us to add a 10x gain to the open loop transfer function.
If we simulate in matlab/octave, we can see this is true.
BUT, a Spice simulation doesn't match. I get a 25% error instead.
Attached, screenshots and LTSpice circuit, and matlab/octave simple script.
In red, simple RC circuit open loop. In black, closed loop RC circuit with 10x gain. Both, for matlab/octave and LTSpice.
What am I missing?
Thanks.
Attachments

2.6 KB Views: 3