2
\$\begingroup\$

I've been reading through this app note by TI where its proposed that when using a MFB filter a compensation resistor can be added to overcome limitations of lower GBW op amps. I've been working through the derivation but am getting hung up. The app note first provides the TF for the low pass MFB filter:

$$F(s) = \frac{-a_2}{s^2(RC)^2 \times a_1a_2a_3 + sRC \times a_1a_2a_3\left(1+\frac{1}{a_1}+\frac{1}{a_2}\right)+1}$$

and then defines the TF for a real op amp as:

$$A(s)=\frac{\text{GBW}}{s}$$

The real op amp TF is introduced into the original TF:

$$F(s) = \frac{-a_2}{b_3s^3+b_2s^2+b_1s+b_0}$$

where the coefficients are defined:

$$b_0 = 1$$

$$b_1 = \frac{a_2}{\text{GBW}} + \frac{1}{\text{GBW}}+CRa_1a_3 +CRa_2a_3+CRa_1a_2a_3$$

$$b_2 = \frac{CRa_2}{\text{GBW}} + \frac{CRa_1a_3}{\text{GBW}}+\frac{CRa_1a_2a_3}{\text{GBW}}+\frac{CRa_2a_3}{\text{GBW}}+C^2R^2a_1a_2a_3$$

$$b_3 = \frac{C^2R^2a_1a_2a_3}{\text{GBW}}$$

I've been trying to work through this step of the derivation but am seeing how the result is derived. Can I treat the new transfer function as original TF cascaded with op amp TF such that the new TF = F(s)A(s)? When trying to approach the derivation in this manner I start with

$$F(s) = \frac{-\text{GBW}a_2}{s^3(RC)^2a_1a_2a_3+s^2RCa_1a_2a_3\left(1+\frac{1}{a_1}+\frac{1}{a_2}\right)+1}$$

I can divide through by GBW to keep the equation in the form as defined by the app note and b3 coefficient will match but none of the others match. If this is the right first step I need to keep b0 = 1 but I'm not sure how to do that while dividing through by GBW.

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

If you are really interested in compensating for the influence of non-ideal components on the filter function, then I would like to recommend TWO DIFFERENT METHODS.

This involves using one of the well-known circuit simulation programs (with a realistic opamp model).

FIRST METHOD

This method compensates for both (numerically known) deviations of the passive components from the calculated (ideal) values as well as non-ideal opamp characteristics (finite GBW, finite input and output impedances). This method makes use of the substitution theorem of network theory.

As a result, one of the calculated passive components is replaced by a suitable series or parallel resistor-capacitor combination

Reference: https://www.researchgate.net/publication/301198883_On_Computer-Aided_Optimization_of_RC-Active_Filter_Designs

SECOND METHOD

Here are the basic steps for compensating transfer function errors caused by parasitics and other non-idealities of active and passive devices.

1.) Create two circuits (PSpice: Schematic entry )in one single input file for simulation:

(a) with ideal components, (b) with real components and parasitics.

2.) Drive both circuits (real and ideal) with a common ac input signal (see remark).

3.) Connect both opamp outputs to the differential input nodes of a ideal high-gain amplifier block E_value (with differential input and output).

4.) Select one suitable passive part X (resistor,capacitor) from the real circuit and replace this part by connecting the differential output of the E-block to the two open nodes (X and Y, see diagram).

5) Perform an ac analysis of the whole system in the vicinity of the pole frequency fp (see remark).

6.) The negative feedback causes the differential input voltage of E to be nearly zero (that means:Both output signals of the circuits are nearly equal).

7.) For any frequency to be selected you can use some special formulas to calculate the values of a new complex impedance (R-C seriesor R-C parallel) which should be used to replace the removed passive part X.

8.) Result: At the selected frequency (recommended: pole frequency fp) , both circuit outputs (real and ideal) now are equal. Up to a certain degree, this corrects the whole transfer function.


Remark:

This compensation method was used with good results to correct the transfer function of active filters for relatively high pole frequencies (non-idealities of the opamp and aditional capacitive parasitics). For this purpose, the method can be applied to both input-output transfer functions of the closed-loop filter functions.

However, it is strongly recommended to apply the optimization procedure to the LOOP GAIN functions (instead of the closed-loop filter function). In this case, the source ue (see diagram) is to be replaced by the test voltage injected into the open loop ("normal" filter input grounded).

As a result, both loop gain functions (real and ideal) could be made identical at the pole frequency fp. More than that, in this case also the desired transfer functions of both filters (real and ideal) are very close to each other (not only at the pole frequency).

enter image description here

Here are the formulas to be used (for defining corresponding macros):

A) Definitions:

ur=R[V(Y)-V(X)] ; ui=IMG[V(Y)-V(X)] ; ir=R[i(Vz)] ; ii=IMG[i(Vz)]

B) Correction with Rs-Cs series:

Rs = (ur * ir + ui * ii) / (ir * ir + ii * ii)

Cs = (ir * ir + ii * ii) / [wp * (ur * ii - ui * ir)]

C) Correction with Rp-Cp parallel:

Rp = (ur * ur + ui * ui) / (ur * ir + ui * ii)

Cp = (ur * ii - ui * ir) / [wp * (ur * ur + ui * ui)]

EXAMPLE:

Here are the results after applying the above described method for compensationg the influence of non-dealities (tolerances, parasitics, finite GBW) on the transfer function of a multi-feedback lowpass filter (opamp: AD822).

curve 1: Ideal; curve 2: Real; curve 3: compensated.

enter image description here

\$\endgroup\$
24
  • \$\begingroup\$ At a high level what I believe you're proposing is that I use simulation SW to characterize the difference between my op amp of interest and an ideal op amp and then in simulations tune the feedback network with voltage sources so that real op amp matches ideal op amp behavior and based on substitution theorem calculate impedance that the voltage source emulates and use this new impedance in feedback network? Do you have any example spice files that you could share that I could review to better understand the steps to implement this type of procedure? \$\endgroup\$
    – Bolpincal
    Commented Aug 10 at 13:10
  • \$\begingroup\$ @Bolpincal - do you have access to the mentioned document? The method is described and an example is presented. In addition, I could send you a pdf-copy of the article. By the way - there is another method with the same capabilities. In both cases - one point of the real filter function is shifted to the desired ideal design value - in most cases, this point should be the value at the pole frequency. \$\endgroup\$
    – LvW
    Commented Aug 10 at 15:41
  • \$\begingroup\$ I do have the mentioned doc but I don't understand some of the implementation details. When the sub loop is opened at point A and a 100khz signal is injected, how is the subloop gain measured? I can run an AC analysis but I am not reproducing the same results as the pdf. The tuner block is just a behavioral voltage source placed between output and R5? Are A_T and phi_T just the constants that were measured in the subloop sim and s just the static frequency fp? \$\endgroup\$
    – Bolpincal
    Commented Aug 11 at 12:54
  • \$\begingroup\$ My understanding of running these types of sims is pretty basic. I haven't done much more than bode plot simulations and noise analysis when evaluating op amp filters. If there are additional resources that I should read to better understand the simulation process that this paper is proposing please feel free to suggest. \$\endgroup\$
    – Bolpincal
    Commented Aug 11 at 13:05
  • \$\begingroup\$ @Bolpincal - are you familiar with the term "loop gain" and how it is found by simulation? Are you familiar with the oscillation condition (unity loop gain) ? Such a knowledge is necessary in order to know whats going on when you try to undestand and to apply the method under discussion. \$\endgroup\$
    – LvW
    Commented Aug 11 at 14:25

Your Answer

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

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