3
\$\begingroup\$

I have a homework problem that is asking me to find the gain of the feedback loop of a phase shift oscillator. On the homework, it says that the gain (beta) is 3 times the magnitude of the transfer function of one filter section (Vo/Vi). It is supposed to yield an oscillating frequency of 12 kHz.

schematic

simulate this circuit – Schematic created using CircuitLab

When I follow the homework's equation (evaluating the transfer function of a high pass filter at 12 KHz and the values shown in the schematic), I get a beta of .194. All the resources I have seen online, including the textbook we are using for class, say the beta of a feedback loop is 1/29 (.0345). How do they come up with the number 1/29?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ You first set up the transfer function for three passive series-chained stages. The imaginary part must tend to zero for a total phase shift of 180 degrees, so you solve the frequency that achieves this result. Then you plug that frequency into the transfer function and solve for the magnitude (absolute value of the complex TF.) You will find this to be 1/29 (where the three R and C values are identical, anyway.) Can you do this yourself or do you need to be hand-guided through it? \$\endgroup\$ Apr 7 at 22:46
  • \$\begingroup\$ Nitsua, you will need to say something about those skills you are comfortable applying and your need before I'll attempt an answer. Just FYI. \$\endgroup\$ Apr 8 at 0:21
  • 3
    \$\begingroup\$ Also, is that really 5.41 pF? Seriously? For 12 kHz? Or is that just an example not to be taken seriously? \$\endgroup\$ Apr 8 at 1:09

3 Answers 3

2
\$\begingroup\$

Let's look at an example with \$N=3\$ stages. (This can be generalized to any \$N\$.)

schematic

simulate this circuit – Schematic created using CircuitLab

I'll assume for your purposes that, for all \$N=3\$, \$Z_{\text{A}_i}=Z_{_\text{A}}=\frac1{s\,C}\$ and \$Z_{\text{B}_i}=Z_{_\text{B}}=R\$. But it isn't necessary as we could reverse the roles just as easily or use distinct complex impedances for each. Doesn't really matter.

But for this purpose, we'll assume your situation, specifically, while still applying general rules to it.

I think you can see that \$V_0=V_1\cdot\frac{Z_{\text{B}_1}}{Z_{\large {\text{A}}_1}+Z_{\text{B}_1}}\$, since \$V_0\$ is the result of that specific voltage divider applied to \$V_1\$. This should not be hard to see.

Similarly, \$V_1=V_2\cdot\frac{Z_{\text{B}_2}\mid\mid\left(Z_{\large {\text{A}}_1}+Z_{\text{B}_1}\right)}{Z_{\large {\text{A}}_2}+Z_{\text{B}_2}\mid\mid\left(Z_{\large {\text{A}}_1}+Z_{\text{B}_1}\right)}\$ for similar reasons. The only complexity here is that you have to notice that this voltage divider has a slightly more complex expression since \$Z_{\text{B}_2}\$ is in parallel to \$Z_{ {\text{A}}_1}+Z_{\text{B}_1}\$.

And the same thing is true for \$V_1\$ except that now the voltage divider is still more complicated-looking because of the added components of the voltage divider here.

Suppose we say that each voltage divider can be expressed as \$\frac{Z_i}{Z_{\large {\text{A}}}+Z_i}=\frac1{ 1+\frac{Z_{\large {\text{A}}}}{Z_i} }\$, where \$Z_1=Z_{_\text{B}}\$, so that \$V_{_\text{OUT}}=V_{_\text{IN}}\cdot\prod_{i=1}^n \frac{Z_i}{Z_{\large {\text{A}}}+Z_i}\$. This can be turned into the following recurrences:

$$\begin{align*} H_0&=1&&&G_0&=H_0 \\\\ H_i&=\frac1{2+\frac{Z_{\large {\text{A}}}}{Z_{\large {\text{B}}}}-H_{i-1}}&&&G_i&=H_i\cdot G_{i-1} \end{align*}$$

In Python/Sympy:

def H(n,u):
    if n < 1 : return 1
    return 1/(2+u-H(n-1,u)
def G(n,u):
    if n < 1 : return H(n,u)
    return H(n,u)*G(n-1,u)
zc = 1/(s*C)
simplify(ratsimp(G(3,zc/R)))
C**3*R**3*s**3/(C**3*R**3*s**3 + 6*C**2*R**2*s**2 + 5*C*R*s + 1)

You can see that the numerator will be imaginary after substituting \$s=j\,\omega\$. So this means you want to select out the even powers of \$s\$ in the denominator, which will be the imaginary portion there taking into account the numerator, and set it to zero. While we are at it, let's also set \$\tau=R\cdot C\$.

Taking \$s=j\,\omega\$, collecting and then setting the even power terms equal to zero yields \$-6\,\tau^2\,\omega^2 + 1=0\$, or:

$$\begin{align*}6\tau^2\omega^2&=1 \\\\\tau^2\omega^2&=\frac16\\\\\tau\omega&=\frac1{\sqrt{6}}\\\\ \omega&=\frac1{\tau\sqrt{6}}\end{align*}$$

If you now substitute that into the above equation you will get a magnitude of exactly \$\frac1{29}\$:

abs(ratsimp(G(3,zc/R)).subs({s:I/R/C/sqrt(6)}))
1/29

Suppose this, instead, was an R+C rather than a C+R arrangement in the ladder. Then a similar process occurs. In this case, pick out the odd powers of \$s\$ since the numerator is real and not imaginary (after substitution.)

simplify(ratsimp(G(3,R/zc)))
1/(C**3*R**3*s**3 + 5*C**2*R**2*s**2 + 6*C*R*s + 1)

Taking \$s=j\,\omega\$, collecting and then setting the odd power terms equal to zero yields \$-\tau^3\,\omega^3 + 6\,\tau\,\omega=0\$, or \$\omega=\frac{\sqrt{6}}{\tau}\$ and we see confirmation of the same result using a different-valued \$\omega\$, as:

abs(ratsimp(G(3,R/zc)).subs({s:I/R/C*sqrt(6)}))
1/29

Returning back to your case, and assuming \$C=5.41\:\text{nF}\$ and \$R=1\:\text{k}\Omega\$, then \$\tau=5.41\:\mu\text{s}\$ and \$f=\frac1{2\pi\,5.41\:\mu\text{s}\,\sqrt{6}}\approx 12.01\:\text{kHz}\$.

Let's now ask the following questions:

  1. How does the frequency change per Ohm of parasitic ESR for the capacitors? Since the numerator is already known to be imaginary, we want the real part of the denominator:

    rpart = re(fraction(simplify(ratsimp(G(3,(ZC+re)/ZR))))[1].subs({s:I*omega}))
    f0 = solve(Eq(rpart,0),omega)[0]/2/pi
    diff(f0,re).subs({R:1e3,C:5.41e-9,re:1}).n()
    -9.98944445144225
    

    So we can see that a parasitic resistance of \$1\:\Omega\$ will lower the frequency by about \$10\:\text{Hz}\$.

  2. How does the frequency change per %-change in C (using tolerance values?)

    (diff(f0,C)*C/f0).subs({R:1e3,C:5.41e-9,re:0}).n()
    -1.00000000000000
    

    This means a +1% change in C will mean a -1% change in frequency.

  3. How does the frequency change per %-change in R (using tolerance values?)

    (diff(f0,R)*R/f0).subs({R:1e3,C:5.41e-9,re:0}).n()
    -1.00000000000000
    

    This means a +1% change in R will also mean a -1% change in frequency.

The last two might seem to be obvious and we probably should have expected it. But it's worth doing the math to make sure, too.

The first one might be interesting. Or not. But at least we have a quantitative clue.

\$\endgroup\$
0
2
\$\begingroup\$

Why is the gain of a phase shift oscillator 1/29?

Firstly, with the component values you have, the frequency that produces a phase shift of 180° is not 12 kHz but 12 MHz so, maybe you meant to use 5.41 nF capacitors. Here's the phase plot using 5.41 pF capacitors: -

enter image description here

If you look at the amplitude response you'll see this: -

enter image description here

Hence, at 12.01 MHz the magnitude of the transfer function is -29.248 dB. That's an attenuation of exactly 29.000 in real numbers.

\$\endgroup\$
0
0
\$\begingroup\$

Short answer: Because Barkhausens oscillation condition requires unity loop gain.

That means: The attenuation of the passive network can be conputed to be 1/29 for the frequency where the the phase shift is -180 deg. Hence, the gain to meet the above conditionis (at last) G=29.

\$\endgroup\$
2
  • \$\begingroup\$ Your short answer with MEAT in it makes me hungry. \$\endgroup\$
    – Audioguru
    Apr 9 at 22:44
  • \$\begingroup\$ OK - I can understand your feelings - and I hope I could stop your hunger. \$\endgroup\$
    – LvW
    Apr 10 at 9:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.