0
\$\begingroup\$

I'm trying to design second order multiple feedback low-pass filter with cut-off frequency at 1500 Hz and Chebyshev approximation.

enter image description here

Transfer function for this scheme is defined as:

enter image description here

Where:

enter image description here

And condition for real values of resistors:

enter image description here

However using Matlab and cheby1 function I get extremely high values of coefficients and as a result high values of resistors and capacitors.

hertz = 1500; % passband in hertz
rad_s = hertz*2*pi; % convert to rad/s
order = 2;
ripple = 3; % dB

[b, a] = cheby1(order, ripple, rad_s, 's');

% Extract coefficients for computing sheme values
a1 = a(2);
b1 = a(3);
H0 = -b(3);
fprintf('Coefficients:\n\ta1=%d\n\tb1=%d\n\tH0=%d\r\n', a1, b1, H0);

% Condition for capacitors
KCmin = (4*b1*(1-H0))/(a1^2);
fprintf('Capacitors condition:\n\tC2 / C1 >= %d\r\n', KCmin);

% Choose satisfying capasitors
C2 = 10^(-3); % F
C1 = 10^(-12); % F
fprintf('Chosen capacitors:\n\tC1=%d\n\tC2=%d\n\tCk=%d\r\n', C1, C2, C2/C1);

R2 = (a1*C2 - sqrt((a1^2)*(C2^2) - 4*C1*C2*b1*(1-H0))) / (2*hertz*C1*C2);
R1 = -R2 / H0;
R3 = b1 / ((hertz^2)*C1*C2*R2);

fprintf('Resistors:\n\t%d\n\t%d\n\t%d\n', R1, R2, R3);

And output is:

Coefficients:
    a1=6.078036e+03
    b1=6.288448e+07
    H0=-4.451880e+07

Capacitors condition:
    C2 / C1 >= 3.031241e+08

Chosen capacitors:
    C1=1.000000e-12
    C2=1.000000e-03
    Ck=1000000000

Resistors:
    7.518520e+03
    3.347155e+11
    8.349974e+04

Also I noticed that whatever ripple I chose condition C2/C1 was always of 10^8 order.

What am I doing wrong?

UPDATE

I believe I know what the problem is: given equations are in normalized form and I need coefficients for normalized form too. However MATLAB gives coefficients which are totally ready to be used. Therefore as I understand I have to remove w from the equations but it has not helped me in some reason.

Also I found normalized coefficients in my textbook: enter image description here

The last column is normalized coefficients for 2d order 3dB Chebyshev filter. But I can't understand where from I have to take H0.

\$\endgroup\$
1
  • \$\begingroup\$ For sure you are having some troubles in generating coefficients. Ho=-4E7 is totally nonsense, it's a DC gain over 150dB! From this on anything is just meaningless: 1mF, 1pF capacitors, 335Gohm resistor... \$\endgroup\$
    – carloc
    Dec 18, 2016 at 17:11

2 Answers 2

2
\$\begingroup\$

I am afraid that your transfer function is not correct. Cancel the wp² and the wp in the denominator - and the results will be OK. Your error can be verified very easily: All three expressions in the denominator must have the unit "1" - and this is not the case with your function.

The correct equations are like this:

1/wp²=R2R3C1C2;

1/(wp*Qp)=(R2+R3+R2R3/R1)C1.

Update:

The above two equations result from a comparison between the (corrected !) transfer function of YOUR specific circuit and the general second-order transfer function:

H(s)=Ao/[1+s/(wpQp)+s²/wp²]

For Chebyshev (3 dB ripple) the pole data are: Qp=1.30656 and the normalized pole frequency is wp/wo=0.8409 (wo=cut-off).

\$\endgroup\$
13
  • \$\begingroup\$ I don't believe it's wrong because I took it from my textbook by Ulrich Titse and Christoph Shank (I can't find out how to write them right). But I came up with the same solution but it did not help me. See my update please. \$\endgroup\$
    – Long Smith
    Dec 18, 2016 at 19:09
  • \$\begingroup\$ My recommendation: Do NOT use the mentioned book (Tietze/Schenk). It is not wrong - but the given filter coefficients are valid for the 3dB cutoff only (even for Chebyshev responses, which is VERY unusual). Instead, use the pole data wp and Qp (together with both equations I gave you) which are available for different Chebyshev ripple values. See also my update. \$\endgroup\$
    – LvW
    Dec 18, 2016 at 19:23
  • \$\begingroup\$ And what are conditions on capacitors this way? Regardless of chosen transfer function, current conditions with general coefficients give wrong result. \$\endgroup\$
    – Long Smith
    Dec 18, 2016 at 19:25
  • \$\begingroup\$ Recommended selection (option): Ao=1 with R1=R2 and C2/C1=9Qp². \$\endgroup\$
    – LvW
    Dec 18, 2016 at 19:31
  • \$\begingroup\$ I forgot: For the above selection: wp=1/3R1C1Qp. \$\endgroup\$
    – LvW
    Dec 18, 2016 at 20:14
0
\$\begingroup\$

First, I will present a method that uses Mathematica to solve this problem. When I was studying this stuff I used the method all the time (without using Mathematica of course).

Well, we are trying to analyze the following opamp-circuit:

schematic

simulate this circuit – Schematic created using CircuitLab

When we use and apply KCL, we can write the following set of equations:

$$ \begin{cases} \text{I}_1=\text{I}_2+\text{I}_3+\text{I}_4\\ \\ 0=\text{I}_3+\text{I}_4+\text{I}_5 \end{cases}\tag1 $$

When we use and apply Ohm's law, we can write the following set of equations:

$$ \begin{cases} \text{I}_1=\frac{\text{V}_\text{i}-\text{V}_1}{\text{R}_1}\\ \\ \text{I}_2=\frac{\text{V}_1}{\text{R}_2}\\ \\ \text{I}_3=\frac{\text{V}_1-\text{V}_3}{\text{R}_3}\\ \\ \text{I}_4=\frac{\text{V}_1-\text{V}_2}{\text{R}_4}\\ \\ \text{I}_4=\frac{\text{V}_2-\text{V}_3}{\text{R}_5} \end{cases}\tag2 $$

Now, we can put equations \$(1)\$ into \$(2)\$ to get:

$$ \begin{cases} \frac{\text{V}_\text{i}-\text{V}_1}{\text{R}_1}=\frac{\text{V}_1}{\text{R}_2}+\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_1-\text{V}_2}{\text{R}_4}\\ \\ 0=\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_1-\text{V}_2}{\text{R}_4}+\text{I}_5\\ \\ \frac{\text{V}_\text{i}-\text{V}_1}{\text{R}_1}=\frac{\text{V}_1}{\text{R}_2}+\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_2-\text{V}_3}{\text{R}_5}\\ \\ 0=\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_2-\text{V}_3}{\text{R}_5}+\text{I}_5 \end{cases}\tag3 $$

Now, using an ideal opamp, we know that:

$$\text{V}_+=\text{V}_-=\text{V}_2=0\space\text{V}\tag4$$

So, we can rewrite \$(3)\$ as follows:

$$ \begin{cases} \frac{\text{V}_\text{i}-\text{V}_1}{\text{R}_1}=\frac{\text{V}_1}{\text{R}_2}+\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_1-0}{\text{R}_4}\\ \\ 0=\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{\text{V}_1-0}{\text{R}_4}+\text{I}_5\\ \\ \frac{\text{V}_\text{i}-\text{V}_1}{\text{R}_1}=\frac{\text{V}_1}{\text{R}_2}+\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{0-\text{V}_3}{\text{R}_5}\\ \\ 0=\frac{\text{V}_1-\text{V}_3}{\text{R}_3}+\frac{0-\text{V}_3}{\text{R}_5}+\text{I}_5 \end{cases}\tag5 $$

Hence, we can solve for the transfer function:

$$\mathcal{H}:=\frac{\text{V}_3}{\text{V}_\text{i}}=-\frac{\text{R}_2\text{R}_3\text{R}_5}{\text{R}_1\text{R}_2\left(\text{R}_3+\text{R}_4+\text{R}_5\right)+\text{R}_3\text{R}_4\left(\text{R}_1+\text{R}_2\right)}\tag6$$

Where I used the following Mathematica-code:

In[1]:=Clear["Global`*"];
V2 = 0;
FullSimplify[
 Solve[{I1 == I2 + I3 + I4, 0 == I3 + I4 + I5, I1 == (Vi - V1)/R1, 
   I2 == V1/R2, I3 == (V1 - V3)/R3, I4 == (V1 - V2)/R4, 
   I4 == (V2 - V3)/R5}, {I1, I2, I3, I4, I5, V1, V3}]]

Out[1]={{I1 -> ((R3 R4 + R2 (R3 + R4 + R5)) Vi)/(
   R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)), 
  I2 -> (R3 R4 Vi)/(R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)), 
  I3 -> (R2 (R4 + R5) Vi)/(
   R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)), 
  I4 -> (R2 R3 Vi)/(R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)), 
  I5 -> -((R2 (R3 + R4 + R5) Vi)/(
    R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5))), 
  V1 -> (R2 R3 R4 Vi)/(R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)), 
  V3 -> -((R2 R3 R5 Vi)/(
    R1 R3 R4 + R2 R3 R4 + R1 R2 (R3 + R4 + R5)))}}

My equation was also confirmed using LTspice.


When we want to apply the derivation from above to your circuit we need to use Laplace transform (I will use lower case function names for the functions that are in the (complex) s-domain, so \$\text{y}\left(\text{s}\right)\$ is the Laplace transform of the function \$\text{Y}\left(t\right)\$):

  • $$\text{R}_2=\frac{1}{\text{sC}_1}\tag7$$`
  • $$\text{R}_5=\frac{1}{\text{sC}_2}\tag8$$

So, we can rewrite the transfer function as:

$$\mathscr{H}\left(\text{s}\right)=-\frac{\frac{1}{\text{sC}_1}\cdot\text{R}_3\cdot\frac{1}{\text{sC}_2}}{\text{R}_1\cdot\frac{1}{\text{sC}_1}\cdot\left(\text{R}_3+\text{R}_4+\frac{1}{\text{sC}_2}\right)+\text{R}_3\text{R}_4\left(\text{R}_1+\frac{1}{\text{sC}_1}\right)}=$$ $$-\frac{\text{R}_3}{\text{C}_1\text{C}_2\text{R}_1\text{R}_3\text{R}_4\text{s}^2+\text{C}_2\left(\text{R}_3\text{R}_4+\text{R}_1\left(\text{R}_3+\text{R}_4\right)\right)\text{s}+\text{R}_1}\tag9$$

Now, when working with sinusoidal signals we can use \$\text{s}:=\text{j}\omega\$ (where \$\text{j}^2=-1\$ and \$\omega=2\pi\text{f}\$ with \$\text{f}\$ is the frequency of the input signal in Hertz). So, we get:

$$\underline{\mathscr{H}}\left(\text{j}\omega\right)=-\frac{\text{R}_3}{\text{C}_1\text{C}_2\text{R}_1\text{R}_3\text{R}_4\left(\text{j}\omega\right)^2+\text{C}_2\left(\text{R}_3\text{R}_4+\text{R}_1\left(\text{R}_3+\text{R}_4\right)\right)\text{j}\omega+\text{R}_1}=$$ $$-\frac{\text{R}_3}{\text{R}_1-\text{C}_1\text{C}_2\text{R}_1\text{R}_3\text{R}_4\omega^2+\text{C}_2\left(\text{R}_3\text{R}_4+\text{R}_1\left(\text{R}_3+\text{R}_4\right)\right)\omega\text{j}}\tag{10}$$

So, the absolute value if given by:

$$\left|\underline{\mathscr{H}}\left(\text{j}\omega\right)\right|=\frac{\text{R}_3}{\sqrt{\left(\text{R}_1-\text{C}_1\text{C}_2\text{R}_1\text{R}_3\text{R}_4\omega^2\right)^2+\left(\text{C}_2\left(\text{R}_3\text{R}_4+\text{R}_1\left(\text{R}_3+\text{R}_4\right)\right)\omega\right)^2}}\tag{11}$$

Now, it is relatively hard to find the cut-off frequency for the transfer function in \$(11)\$. In order to make it a bit easier we assume a few things:

  1. $$\text{R}_1=\text{R}_3=\text{R}_4=\text{R}\tag{12}$$
  2. $$\text{C}_1=\text{C}_2=\text{C}\tag{13}$$

So, the absolute value becomes:

$$\left|\underline{\mathscr{H}}\left(\text{j}\omega\right)\right|=\frac{1}{\sqrt{1+\left(\text{CR}\omega\right)^2\left(7+\left(\text{CR}\omega\right)^2\right)}}\tag{14}$$

Now, we can find the cut-off frequency (\$\omega_0\$) by finding:

$$\left|\underline{\mathscr{H}}\left(\text{j}\omega_0\right)\right|=\frac{1}{\sqrt{2}}\cdot\hat{\left|\underline{\mathscr{H}}\left(\text{j}\omega\right)\right|}\space\Longrightarrow\space\omega_0=\sqrt{\frac{\sqrt{53}-7}{2}}\cdot\frac{1}{\text{CR}}\tag{15}$$


So, in your case we want to have \$\text{f}_0=1500\space\text{Hz}\$ which implies \$\omega_0=3000\pi\space\text{rad/sec}\$ we get:

$$3000\pi=\sqrt{\frac{\sqrt{53}-7}{2}}\cdot\frac{1}{\text{CR}}\space\Longleftrightarrow\space$$ $$\text{CR}=\sqrt{\frac{\sqrt{53}-7}{2}}\cdot\frac{1}{3000\pi}\approx0.000039708\space\text{sec}\tag{16}$$

So, the absolute value will be:

$$\left|\underline{\mathscr{H}}\left(\text{j}\omega\right)\right|=\frac{1}{\sqrt{1+\left(\sqrt{\frac{\sqrt{53}-7}{2}}\cdot\frac{1}{3000\pi}\cdot\omega\right)^2\left(7+\left(\sqrt{\frac{\sqrt{53}-7}{2}}\cdot\frac{1}{3000\pi}\cdot\omega\right)^2\right)}}\tag{17}$$

\$\endgroup\$
5
  • \$\begingroup\$ The transfer function H(jw) as given above has an error. I did not check the whole derivation, but the second term in the denominator is false (the dimension must be Ohm) \$\endgroup\$
    – LvW
    Nov 5, 2021 at 14:23
  • \$\begingroup\$ @LvW Can you give me the equation number? \$\endgroup\$ Nov 5, 2021 at 14:44
  • \$\begingroup\$ Eqn (9) and (10). It is the 2nd term in the denominator . The dimension is "time*Ohm" - but ist must be just "Ohm" \$\endgroup\$
    – LvW
    Nov 5, 2021 at 15:24
  • \$\begingroup\$ @LvW I am pretty sure that I did not make a mistake. Can you maybe take a look at my derivation? \$\endgroup\$ Nov 5, 2021 at 15:35
  • \$\begingroup\$ @LvW I revisited my answer and found my mistake. I updated my answer. Thanks for pointing it out. \$\endgroup\$ Nov 6, 2021 at 12:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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