# Transfer Function for a combination of filters

simulate this circuit – Schematic created using CircuitLab

I am currently working on trying to determine the transfer function for the audio tone circuit pictured.

$$R_1 = t \times 20\text{k}\Omega$$ $$R_2 = (1-t)20\text{k}\Omega$$

where $t$ ranges between $0$ and $1$ and is the value for "tone";

I have what I believe to be the TF for the Low pass filter:

$$H_{\text{LP}}(j\omega) = R_1 \times \frac{1}{j\omega R_5C_1 +1}$$

However I am struggling with the TF for the high pass filter $H_{\text{HP}}(j\omega)$ as the addition of Resistance $R_4$ is throwing me off.

$$H_{\text{HP}}(j\omega) = R_2 \times \frac{j\omega RC_2}{j\omega RC_2 +1}$$

where $$R = \frac{R_3}{R_4+R_3}$$

However when I used it in the transfer function for the entire circuit:

$$H_{\text{circuit}}(j\omega) = H_{\text{LP}}(j\omega) + H_{\text{HP}}(j\omega)$$ the results I obtained are wrong.

I have modeled the circuit in LT Spice and found that when $t = 0$ the circuit behaves as a low pass filter. However when $t = 1$ the circuit behaves as a sum of high pass and low pass filters.

Can someone advise me on how I would go about finding the transfer function for this entire circuit please?

• Good question and +1 for showing what work you've done so far. I don't have an answer at this time but you may want to look at analyses of Twin-T circuits and adapt them to your circuit.
– Null
Commented Apr 17, 2015 at 15:05
• Great question. In general, you can't just look at the two halves of this circuit separately: when you put them together, they pull extra current in directions your analysis had ignored. You really do have to look at the entire circuit as a whole. Commented Apr 17, 2015 at 15:26
• Are you planning on building this? It will be much easier to put op-amp unity gain buffers after C1 and R3. Then the two halves of the circuit won't interact. Commented Apr 17, 2015 at 16:20

The easy way to solve this is, as has been mentioned in comments, is to add buffers amplifiers in each branch before the potentiometer (R1, R2) output.

The hard way, which isn't really all that hard since there end up being 3 nodes, is to write the node equations and solve for Vout/Vin. If the nodes are defined as:

1. Junction of Vin and R5.

2. Junction of R5, C1, and R1.

3. Junction of R4 + Zc2, R3, and R2.

4. Junction of R1 and R2.

Only nodes 2, 3, and 4 need equations since node 1 is defined by Vin. Then the node equations are, after changing R1 to $\alpha$ Rpot, and R2 to $(1-\alpha)$ Rpot:

• 0 == (v2 - v4)/($\alpha$ Rpot) + v2/zc1 + (v2 - Vin)/R5
• 0 == (v3 - Vin)/(R4 + zc2) + (v3 - v4)/($(1-\alpha)$ Rpot) + v3/R3
• 0 == (v4 - v2)/($\alpha$ Rpot) + (v4 - v3)/($(1-\alpha)$ Rpot)
• Also, recall that zc1 = 1/(s C1) and zc2 = 1/(s C2)

Now, just solve the 3 simultaneous equations for v4 (same as Vout) and divide by Vin, and that will be the transfer function.

Here's a Bode plot of the response with the listed values if $\alpha$ = 0.615:

If you work through the nodal equations, you would get:

Vout/Vin = $\frac{\alpha \text{C1} \text{C2} \text{R3} \text{R5} \text{Rpot} s^2+\text{C2} s ((1-\alpha) \text{R4} \text{Rpot}+\text{R3} (\text{R4}+\text{R5}+\text{Rpot}))+(1-\alpha) \text{Rpot}+\text{R3}}{\text{C1} \text{C2} \text{R5} s^2 (\text{R3} (\text{R4}+\text{Rpot})+\text{R4} \text{Rpot})+s (\text{C1} \text{R5} (\text{R3}+\text{Rpot})+\text{C2} (\text{R3} (\text{R4}+\text{R5}+\text{Rpot})+\text{R4} (\text{R5}+\text{Rpot})))+\text{R3}+\text{R5}+\text{Rpot}}$

As Vladimir showed in his answer the poles are at 288Hz and 1014Hz. Much more interesting are the zeros and their dependence on $\alpha$. When $\alpha$=0 there is a zero at ~804Hz and a zero at infinity. So it appears that there is just a single pole response. The pole at 1kHz having been covered mostly by the zero.

As $\alpha$ increases to about 0.14 the zeros converge at ~ 1480Hz, where they split and become complex. Finally at $\alpha$ ~ 1 the complex zeros end up at ~ 290Hz.

• Hey have a look at my edited answer if you can, our results are a bit off... Commented Apr 18, 2015 at 16:29

Ok, let's get started on this.

Unfortunately you can't analyze the two circuit halves separately, but I believe there is a fast way to compute at least the poles of your transfer function.

First of all you can split R5 and C2 and connect the input to both of them, this is always valid. Now if you could ignore the fact that the two circuits are coupled solving the circuit is quite easy:

the upper branch is a low pass filter, infinite zero plus finite pole... where this pole is is not that easy to calculate.

the lower branch is an high pass, a zero in the origin and a finite pole, again, computing the correct frequency of this pole is quite difficult.

There is a certain method called the Cochrun-Grabel method that allows you to precisley calculate the poles frequencies.

First of all what we are seeking is a generic second order function:

$$a_0 + a_1s+a_2s^2$$

The first thing to do is set $$\a_0=1\$$. You can always do that, we are searching for two poles (two numbers) after all.

For the second coefficient:

$$a_1=C_1R_{11}^0+C_2R_{22}^0$$

where $$\R_{ii}^0\$$ is the resistance seen from the capacitor $$\i\$$ with all other caps OPEN. In our case: $$R_{11}^0=R_5//(R_1+R_2+R_3)\\ R_{22}^0=R_4+(R_3//(R_1+R_2+R_5))$$

For the third coefficient:

$$a_2 = R_{11}^0R_{22}^1C_1C_2$$

where $$\R_{ii}^j\$$ is the resistance seen from capacitor $$\i\$$ with capacitor $$\j\$$ shorted and all other capacitors open. Some more inspection:

$$R_{22}^1=R_4+(R_3//(R_1+R_2)$$

From now on is just basic (and tedious) math. Please note $$\x//y\triangleq\frac{xy}{x+y}\$$ is the 'parallel' operator. You might have also noticed that since only $$\R_1+R_2\$$ appears above $$\t\$$ won't be in your denominator, but this is perfectly right. The poles of a network do not depend on where you take the output but on the network itself. Changing $$\R_1\$$ and $$\R_2\$$ value do not change the network.

Unfortunately your zeros will be much harder to be found. If you want to calculate them the only way is solve the network with heavy weapons, or see something smart about it.

I did some back of the envelope math:

while the 288Hz pole looks good the 1kHz seems quite off judging on gsills simulation. I probably made some silly mistake (I trust the simulator more than me, at least for these kind of circuit).

• You've got the poles in the right place. My calculations show fp1=1014Hz and fp2=288Hz. The confusion is due to the zeros and their Q for $\alpha$ > ~0.14. I'm not familiar with Cochrun-Grabel, but did find a link to their paper: ece.ucsb.edu/Faculty/rodwell/Classes/mixed_signal/…
– user16497
Commented Apr 18, 2015 at 18:57

This problem needs just two nodes, and hence two simultaneous equations, to solve. Since Vout is an output and not a source, and also since we are solving for Vout/Vin, we can consider the node equations at X and Y only, where X is the junction of R5/C1/R1 and Y is the junction of R4/R3/R2. Also note that R5=R3.

First, simplify the notation a little: let G1=1/sC1, G2=R4+1/sC2, and R=(R1+R2).

Now write the node equations for X and Y:

Node X: (X-Vin)/R3 + X/G1 + (X-Y)/R = 0

Node Y: (Y-Vin)/G2 + Y/R3 + (Y-X)/R = 0

Solve the two simultaneous equations for X and Y in terms of Vin, giving:

X=A.Vin; Y=B.Vin, where A and B are functions of R4, G1, R, G2, R3.

{As an example, B is given by the following, but note that I haven't double checked the algebra:

B=[R.R3.G1.G2 + R.R3(R.R3+R.G2+R3.G2)] / [(R.G1+R.R3+R3.G1)(R.R3+R.G2+R3.G2) - G1.G2.R3^2]}

Now, let I be current from X to Y through R, then I=(X-Y)/R and Vout is:

Vout=X-R1.I = X - R1(X-Y)/R

Or simply Vout=X-(X-Y)t, since R1/(R1+R2) = t

Finally, Vout = Vin(A-At+Bt), or Vout/Vin = (A-At+Bt) = [A(1-t) + Bt]

Here is my guess, this would be a lot of algebra:

• well that's great but I think everybody here would love some of the calculations that is between that result and the circuit Commented Apr 17, 2015 at 18:37

The circuit is quite complex to solve despite an apparent simplicity. This guy features two poles and two zeros. Unlike what has been said in the above answers, you can split the circuit in two parts. Assume $V_{in}$ splits in two sources $V_{in1}$ and $V_{in2}$ which respectively bias the left terminals of $R_5$ and $C_2$. Superposition applies here. Set $V_{in2}$ to 0 V and determine $V_{out1}$ with $V_{in1}$ alive then set $V_{in1}$ to 0 V and determine $V_{out2}$ with $V_{in2}$ alive. Sum the two responses and you have you complete transfer function in an ugly raw format:

$Z_1(s)=(\frac{1}{sC_2}+R_4)||R_3+R_2$

$Z_2(s)=R_1+Z_1(s)$

$Z_3(s)=R_1+\frac{1}{sC_1}||R_5$

$H_{ref}(s)=\frac{Z_2(s)||\frac{1}{sC_1}}{Z_2(s)||\frac{1}{sC_1}+R_5}\frac{Z_1(s)}{Z_1(s)+R_1}+\frac{R_3||(Z_3(s)+R_2)}{R_3||(Z_3(s)+R_2)+R_4+\frac{1}{sC_2}}\frac{Z_3(s)}{Z_3(s)+R_2}$

The second option is to use the Fast Analytical Circuits Techniques or FACTs to analyze this circuit. We start with $s=0$, opening all caps. The transfer functions in this mode is

$H_0(s)=\frac{R_2+R_3}{R_2+R_3+R_1+R_5}=0.432$ for $t=0.615$

Then, determine the resistance "seen" from each of the caps when the input source is reduced to 0 V: what resistance do you see from $C_1$ terminals when $C_2$ is open and the other way around. Draw small sketches of these configuration to obtain the following time constants:

$\tau_1=C_1(R_5||(R_1+R_2+R_3)$

$\tau_2=C_2((R_5+R_1+R_2)||R_3+R_4)$

Then, replace $C_1$ by a short circuit (set to its hi-frequency state) and determine the resistance seen from $C_2$ terminals. You should find

$\tau_{12}=C_2((R_1+R_2)||R_3+R_4)$

This is it, you have the denominator:

$D(s)=1+s(\tau_1+\tau_2)+s^2(\tau_1\tau_{12})$

Now, to determine the two zeros, you have two options: you reuse the time constants already determined for the denominator but you need to derive several simple gains when the energy-storing elements are set in their hi-frequency state. This option leads you to the result but coefficients can be heavy. The most efficient option is the null double injection or NDI: the input source is back in place and you determine the resistance seen from each capacitors (as we did for $D(s)$) when the output node is nulled. If you do that, you should obtain:

$\tau_{1N}=C_1*0$

$\tau_{2N}=(R_4+\frac{R_1R_3}{R_2+R_3}+R_2||R_3+\frac{R_3R_5}{R_2+R_3})C_2$

$\tau_{21N}=(\frac{R_1R_3R_5}{R_1R_3+R_2R_3+R_2R_4+R_3R_4+R_3R_5})C_1$

This is it, you have the numerator:

$N(s)=1+s(\tau_{1N}+\tau_{2N})+s^2(\tau_{2N}\tau_{21N})$

Now, you can plot the transfer function expressed in a low-entropy format

$H(s)=H_0\frac{N(s)}{D(s)}$

and verify with Mathcad that the raw transfer function $H_{ref}(s)$ and the above expression $H(s)$ lead to the exact same response in magnitude and phase.

Now, can we easily reveal individual poles and zeros? We could reformat D and N to cascade individual poles and zeros but the quality factor in $D$ and $N$ is less than 1, forbidding us to apply the low-$Q$ approximation. For instance, with $t=0.615$, $Q_N=0.904$ and $Q_D=0.415$. Nevertheless, if you try to compute equivalent poles and zeros with the given component values and $t=0.615$, then you have $f_{z1}=489\,Hz$ and $f_{z2}=599\,Hz$ then $f_{p1}=224\,Hz$ and $f_{p2}=1.3\,kHz$ but the response is approximate.

If you are interested by FACTs, check out this presentation taught at APEC in 2016, this is a smooth introduction to the technique: