The Phantom said:
I think that anyone sufficiently well versed in complex arithmetic
as used nowadays to write transfer functions will know that if they
want the DC gain, they can just use the TF I gave with A constant, and
if they want AC results, then of course they will know that A must be
a function of frequency..
OK, fair enough.
Did you notice that three different people contributed to the
posting that you originally replied to? John Woodgate did the first
ASCII schematic, John Fields did the second and provided an equation,
viz:
R4 + R5 Vcc R2
Vout = -Vin --------- + ---------
R3 R1 + R2
All I (Phantom) posted was a couple of transfer functions. I didn't
use John's equations, and I don't think there was a sign error in what
I posted. Most of your reply was directed to me, so I thought you
were suggesting I had made a sign error.
It would make it easier for others to comment without ambiguity and
misunderstanding on your posting if you would cut and paste in the
equation you think is in error, perhaps even indicating what you think
the correct equation should be.
Oh, I see.
Sorry for the misunderstanding, I wasn't implying somebody made a sign
error.
It was just *me* that made the sign error when first writing the problem and
got obviously wrong results.
Error corrected in a snap.
By saying:
I was just emphasing how easy it is to correct such errors vs the
paper/pencil method.
You set WT=2.pi.GBW, but you haven't indicated what kind of op amp
model you're using. Was it the standard one pole model:
A(s) = WT/(s + Wa)
Yes it is.
or something else? I can't comment further until you tell me your
model, but I still think there is something out of kilter with your
expression:
-A - B p
Well, you can't just make A0 and C1 go to the limit and expect the DC
response. You also have to either make WT go to the limit, or make s=0.
Then all goes fine.
But then you can see that it's easy, even for someone "sufficiently well
versed in complex arithmetic
as used nowadays" (to take your words), to forget something in the process.
Hence my preference for writing A(s). It's just one thing less to remember.
From some of your previous posts I believe you have mathematica, so you'll
find the code herewith.
--
Thanks,
Fred.
In[1]:=
\!\(Eqs = {\[IndentingNewLine]Vo == \(-Vn\)\ \[Omega]T\/\(\[Omega]T\/A0 + \
p\), (*\
opamp\ gain\ *) \[IndentingNewLine]\(Vn - VA\)\/R4 + \(Vo - VA\)\/R5 \
+ \(0 - VA\)\/\(R6 + 1\/\(C1\ p\)\) == 0, \ \ \ (*\
node\ A\ = \
T\ common\ node\ *) \[IndentingNewLine]\(Vin - Vn\)\/R3 + \(VA - Vn\
\)\/R4 == 0\ (*\
opamp\ minus\ input\ *) \[IndentingNewLine]}\[IndentingNewLine]\
\[IndentingNewLine]
sol = \(\(Vo\/Vin /. Solve[Eqs, Vo, {Vn, VA}] // Simplify\) //
Collect[#, p] &\) // First\[IndentingNewLine]\[IndentingNewLine]
\(Print["\<\nChecking the gain limits:\>"];\)\[IndentingNewLine]
Limit[sol, A0 -> \[Infinity]]\[IndentingNewLine]
Limit[%, C1 -> \[Infinity]]\[IndentingNewLine]
Limit[%, \[Omega]T -> \[Infinity]] // FullSimplify\[IndentingNewLine]
Limit[%%, p -> 0] // FullSimplify\[IndentingNewLine]\[IndentingNewLine]
\(solnum = Numerator[sol] // Collect[#, p] &;\)\[IndentingNewLine]
\(solden = \(Denominator[sol] // FullSimplify\) //
Collect[#, {p, \[Omega]T}] &;\)\[IndentingNewLine]
\(cl = CoefficientList[solden, p];\)\[IndentingNewLine]\[IndentingNewLine]
\(Print["\<\nTF numerator:\>"];\)\[IndentingNewLine]
solnum = \(solnum\/cl[\([1]\)] // FullSimplify\) //
Collect[#, {\ p}] &\[IndentingNewLine]\[IndentingNewLine]
\(Print["\<\nTF denominator:\>"];\)\[IndentingNewLine]
solden = \((cl[\([3]\)]\/cl[\([1]\)] //
FullSimplify)\)\ p\^2 + \((cl[\([2]\)]\/cl[\([1]\)] //
FullSimplify)\)\ p\ + \ 1\[IndentingNewLine]\[IndentingNewLine]
\(Print["\<\nThe results:\>"];\)\[IndentingNewLine]
\(cln = CoefficientList[solnum, p];\)\[IndentingNewLine]
\(cld = CoefficientList[solden, p];\)\[IndentingNewLine]
Print["\<A = \>", a = \(-cln[\([1]\)]\)\ ]\[IndentingNewLine]
Print["\<B = \>", b = \(-cln[\([2]\)]\)\ ]\[IndentingNewLine]
Print["\<C = \>", c = cld[\([2]\)]\ ]\[IndentingNewLine]
Print["\<D = \>", d = cld[\([3]\)]\ ]\[IndentingNewLine]\[IndentingNewLine]
(*\ Checking\ *) \[IndentingNewLine]
\(Print["\<\nFinal check:\>"];\)\[IndentingNewLine]
\((sol - \(\(-a\) - b\ p\)\/\(1 + c\ p + d\ p\^2\))\) // Simplify\)