Simple calculations for active bandpass filter with finite GBW operational amplifier.

Many thanks to Christophe Basso for his help in this work.

Introduction

Active filters are a convenient way to implement low frequency bandpass filters, and design equations are commonly available. However, their accuracy is often disappointing, with centre frequency often shifted, because they don't take into account the finite GBW (gain bandwidth product) of the operational amplifier used, particularly for common and low cost amplifiers with low GBW (gain bandwidth product) like the popular LM324. We propose here simple equations which take this into account and free and open source calculation tools.

Calculator

Simpler than the equations, you can directly jump on the following calculator which conveniently computes all the requested components values from the desired center frequency and bandwidth.

Input parameters

Hz
Hz
Hz
F

Component values

In the current release, the gain is always set as its maximum. This will be fixed in a future release.
R1: Ω
R2: Ω
R3: ∞ (Do not connect)

Validity conditions

\frac{f_p}{\text{BW}} \geq 10

Transfer function plot

Equations for Excel spreadsheets

Synthesis equations

For people wanting or needing to implement these calculations in an Excel spreadsheet, here are the equations to be used. The usual equations to calculate the component values assuming an ideal operational amplifier with infinite GBW are:

\cases{ R_2 = \frac{1}{\pi \cdot \text{BW} \cdot C} \\ R_\text{TH} = \frac{\text{BW}}{4 \cdot \pi \cdot f_0^2 \cdot C} }

New equations taking info account the finite GBW are:

\cases{ R_2 = \left. \frac{1}{\pi \cdot \text{BW} \cdot C} \cdot \left[ 1 - \frac{\text{BW}}{\text{GBW}} \right] \middle/ \left[ 1 + \frac{2 f_0^2}{\text{BW} \cdot \text{GBW}} \right]\right. \\ R_\text{TH} = \frac{\text{BW}}{4 \cdot \pi \cdot f_0^2 \cdot C} }

Parasitic low-pass filter

A consequence of the finite GBW is the apparition of a parasitic low-pass filter with a cut-off frequency fp given by:

f_p = \left. \text{GBW} \cdot \left[ 1 + \frac{2 f_0^2}{\text{BW} \cdot \text{GBW}} \right] \middle/ \left[ 1 - \frac{\text{BW}}{\text{GBW}} \right] \right.

which is indeed slightly higher than GBW.

Validity conditions of the formulas

Once the parasitic pole is calculated, the validity conditions is the following:

\frac{f_p}{\text{BW}} \geq 10

Example with Excel spreadsheet

Some time ago, for this project, I designed an active bandpass filter. To simplify its design, I used a 10 MHz GBW op-amp. However a lower GBW op-amp is a much better test for the equation taking into account the GBW. A common and low cost op-amp is the LM324, with a GBW of 1.2 MHz. When making PCBa with JLCPCB, not only the LM324 is very cheap, but there is no component fee. The following example filter with a 1.2 MHz GBW LM324 is designed for a 40 kHz center frequency and a 10 kHz bandwidth. Schematic and simulation results are shown below:

The Excel spreadsheet can be downloaded here and the other files in github

Conclusion

The conclusion will be written in a future release. In the meantime, please find instead a beautiful cat.

Lilith black cat.

Appendix: details of the mathematics

The detailed demonstration of theses equations is a bit long, so it is put in this separate page.

Backoff calculations.

Many thanks to my management at Eutelsat who kindly allowed me to republish this document I wrote for internal use here. Many thanks to my fellow colleagues for their help in this document.

Introduction

Power amplifiers have a limit on the maximum power they can amplity while staying linear, that is, keeping distorsion low enough.

For sinusoidal signals, it is straightforward to keep the power of the signal below the maximum linear power. However, for multi-carrier signals, the signal has peaks much higher than its average power, and keeping these paks below the maximum linear power requires to have a maximum power much higher than the average power, which is costly and inefficient in power.

Since these peaks are rare, it is possible to accept that some peaks go beyond the maximum linear power, provided that the resulting distorsion is acceptable. This allow to reduce the difference between the average power and the maximum power of the amplifier.

The needed difference between the average power and the maximum power, called backoff, is not straightforward to calculate for multi-carrier signals. This article proposes an investigation of this topic and guidelines to estimate the needed backoff.

The multi-carrier signal occurs either due to multi-carrier modulation schemes or when an amplifier serves multiple users.

Existing rules of thumb do not provide a precise method to make a compromise between an high backoff, which wastes power, and a low backoff, which may not provide enough linearity. The peak to average power ratio (PAPR) is insufficient since it does not indicate how often peak levels are reached.

Modelling

An ideal amplifier has a linear transfer function in an infinite range.

Real amplifiers have a limited linear range and their transfer function is closer to the saturated cubic model of following curve.

This saturated cubic function is hard to model so the cubic model, valid for signals lower than saturation of the amplifier, is used instead. This is the domain of most often used in telecommunications.

This cubic transfer function can be expressed by the following equation:

y = x - \alpha \cdot \left|x\right|^2 \cdot x

Signals are modelled as a complex amplitude at amplifiers centre frequency.

This approach is based on the works of Roblin and Versprecht.

The following assumptions are made:

  • Nonlinear effects are modelled as an amplitude transfer function (without phase effects, without memory effects).
  • Even-order terms are ignored since they produce out-of-band distortion.
  • Higher-order odd terms are considered negligible compared to third-order terms.
  • Conjugate terms correspond to reverse spectrum output signals, which are eliminated through filtering.
  • Gain is normalized to unity because all variables of interest are normalized to output (OIP3, Psat, …).
  • Units and impedances are ignored: \text{power}=\left|x\right|^2. No \sqrt{2} is present in the power formula because complex sinusoids are considered instead of real sinusoids.

Parameters in function of OIP3

An input signal x consisting of two equal-amplitude complex sinusoids at angular frequencies ω_1 and ω_2 is considered:

x = A \cdot \left( e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \omega_2 \cdot t} \right)

where A is the amplitude of each sinusoid.

To compute the tones produced by the transfer function:

y = x + \alpha \cdot \left|x\right|^2 \cdot x

The first step is to compute \left|x\right|^2:

\begin{align*} \left|x\right|^2 &= A \cdot \left( e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \omega_2 \cdot t} \right) \cdot A \cdot \left( e^{-j \cdot \omega_1 \cdot t} + e^{-j \cdot \omega_2 \cdot t} \right) \\ &= A^2 \left[ 2 + e^{j \cdot \left( \omega_1 - \omega_2 \right) \cdot t} + e^{j \cdot \left( \omega_2 - \omega_1 \right) \cdot t} \right] \end{align*}

The second step is to expand the non-linear term α \cdot \left|x\right|^2 \cdot x

: \begin{align*} & \alpha \cdot \left|x\right|^2 \cdot x = \alpha \cdot A^2 \left[ 2 + e^{j \cdot \left( \omega_1 - \omega_2 \right) \cdot t} + e^{j \cdot \left( \omega_2 - \omega_1 \right) \cdot t} \right] \cdot A \cdot \left( e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \omega_2 \cdot t} \right) \\ & \qquad = \alpha \cdot A^3 \cdot \left[ 2 \cdot e^{j \cdot \omega_1 \cdot t} + 2 \cdot e^{j \cdot \omega_2 \cdot t} + e^{j \cdot \left(2 \cdot \omega_1 - \omega_2\right) \cdot t} + e^{j \cdot \omega_2 \cdot t} + e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \left(\omega_1 - 2 \cdot \omega_2\right) \cdot t} \right] \\ & \qquad = \alpha \cdot A^3 \cdot \left[ 3 \cdot e^{j \cdot \omega_1 \cdot t} + 3 \cdot e^{j \cdot \omega_2 \cdot t} + e^{j \cdot \left(2 \cdot \omega_1 - \omega_2\right) \cdot t} + e^{j \cdot \left(\omega_1 - 2 \cdot \omega_2\right) \cdot t} \right] \end{align*}

The total output can be split into fundamental and intermodulation components.

The total fundamental part is:

y_\text{fund} = A \cdot \left( 1 + 3 \cdot \alpha \cdot A \right) \cdot \left( e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \omega_2 \cdot t} \right)

Its amplitude is changed by the non-linear effects. However, from the OIP3 definition, only the linear part should be taken.

The total linear part is:

y_\text{lin} = A \cdot \left( e^{j \cdot \omega_1 \cdot t} + e^{j \cdot \omega_2 \cdot t} \right)

and its RMS amplitude is:

y_\text{lin} = A \cdot \sqrt{2}

The total intermodulation part is:

y_\text{imd3} = \alpha \cdot A^3 \cdot \left[ e^{j \cdot \left(2 \cdot \omega_1 - \omega_2\right) \cdot t} + e^{j \cdot \left(\omega_1 - 2 \cdot \omega_2\right) \cdot t} \right]

and its RMS amplitude is:

y_\text{imd3} = \alpha \cdot A^3 \cdot \sqrt{2}

The \text{OIP3} is the (theoretical) amplitude A_\text{OIP3} where A_\text{lin}=A_\text{imd3}, i.e:

A_\text{OIP3} \cdot \sqrt{2} = \alpha \cdot A^3 \cdot \sqrt{2}

thus:

\alpha = \frac{1}{A_\text{OIP3}^2}

Non-linear power for a gaussian input

A multi-carrier signal, at both input and output, which may or may not be at the same frequency, is modelled by its complex amplitude centred on the device’s centre frequency:

\begin{gather*} x_\text{mod}(t) = \text{Re}\left[x(t) \cdot e^{j \cdot \omega_c \cdot t}\right] \\ x(t) = x_1(t) + ... + x_n(t) \\ x(t) = a_1(t) \cdot e^{j \cdot \omega_1 \cdot t} + ... + a_n(t) \cdot e^{j \cdot \omega_n \cdot t} \\ \end{gather*}

The complex amplitudes x_i(t) contains not only the base complex amplitudes of the signals a_i(t) but also the frequency shift \omega_i-\omega_c of each signal relative to the device’s centre frequency. a_i(t) can be modelled as a complex random variable without rotational symmetry. However, due to the frequency shift, x_i(t) can be modelled as a complex random variable with rotational symmetry.

The sum of the complex amplitudes x(t)=x_1 (t)+...+x_n(t) can be approximated by a zero-mean Gaussian probability distribution with a variance corresponding to its power. The following curve1, for a rolling dice, shows that starting from 3 rolls, the curve is close enough to gaussian.

To simplify calculations, the input/output power is normalized to 1, so:

\sigma=\sqrt{\text{power}} = 1

Power of linear component

The linear part of the output is:

y_\text{lin} = x

which has a power of:

\text{E}\left[\left|y_\text{lin}\right|^2\right] = \text{E}\left[\left|x\right|^2\right] = \sigma^2 = 1

which is consistent with our normalization hypothesis.

Power of non-linear component

The non-linear part of the output (including change in fundamental) is given by:

y_\text{NL} = \alpha \cdot \left|x\right|^2 \cdot x

whose power is:

\text{E}\left[\left|y_\text{NL}\right|^2\right] = 6 \cdot \left|\alpha\right|^2

It can be calculated as follows:

\begin{gather*} \left|y_\text{NL}\right|^2 = \left|\alpha \cdot \left|x\right|^2 \cdot x\right|^2 = \alpha^2 \cdot \left|x\right|^6 \\ \text{E}\left[\left|y_\text{NL}\right|^2\right] = \left|\alpha\right|^2 \cdot \text{E}\left[\left|x\right|^6\right] \\ \text{E}\left[\left|x\right|^6\right] = \text{E}\left[s^3\right] \quad \text{with} \quad s = \left|x\right|^2 \end{gather*}

The total power of x is normalized to 1 so the power of its real and imaginary components are both \frac{1}{2}. In mathematical terms, x follows a standard complex normal distribution, so \text{Re}[x] and \text{Im}[x] both follow2 a normal distribution of variance \frac{1}{2}. Consequently, 2 \cdot s follows a Chi-squared probability distribution3 with two degrees of freedom, itself equal to an exponential distribution of parameter \frac{1}{2}, whose moments can be calculated as such4:

\begin{gather*} 2 \cdot s \sim \chi_2^2 = \text{Exp}\left[\frac{1}{2}\right] \\ \text{E}\left[\left(2 \cdot s\right)^3\right] = \frac{3!}{\left(\frac{1}{2}\right)^2} = 3! \cdot 2^3 = 48 \\ \text{E}\left[s^3\right] = \frac{48}{2^3} = 6 \end{gather*} Hence: \text{E}\left[\left|y_\text{NL}\right|^2\right] = 6 \cdot \left|\alpha\right|^2

Power of the non-linear component in function of the OIP3 and the backoff

The ratio P_\text{NL,dBc} between the power of the non-linear perturbation and the wanted signal is:

P_\text{NL,dBc} = 10 \cdot \log_{10}\left(6\right) + 2 \cdot (P_\text{out,dBm} - \text{OIP3}_\text{dBm})

This can be calculated as follows by combining the previous results:

P_\text{NL} = 6 \cdot \left|\alpha\right|^2 = 6 \cdot \frac{1}{A_\text{OIP3}^4}

which can be expressed in dBc since the output power is normalized to unity:

\begin{align*} P_\text{NL,dBc} &= 10 \cdot \log_{10}\left(6\right) - 40 \cdot \log_{10}\left(A_\text{OIP3}\right) \\ &= 10 \cdot \log_{10}\left(6\right) - 2 \cdot \text{OIP3}_\text{dBc} \end{align*}

and expressing the OIP3 in dBm:

P_\text{NL,dBc} = 10 \cdot \log_{10}\left(6\right) + 2 \cdot (P_\text{out,dBm} - \text{OIP3}_\text{dBm})

From this, the maximum ouput power for a given P_\text{NL,dBc} can be calculated as:

P_\text{out,dBm} = \text{OIP3}_\text{dBm} - \frac{10 \cdot \log_{10}\left(6\right)}{2} - \frac{1}{2} \cdot \left| P_\text{NL,dBc} \right|

with the absolute value to get rid of the sign issues in P_\text{NL,dBc}, mathematically negative but often expressed without sign.

In telecommunications, the maximum power is more often used than the \text{OIP3}:

P_\text{out,dBm} = P_\text{sat,dBm} + \left(\text{OIP3}_\text{dBm} - P_\text{sat,dBm}\right) - \frac{10 \cdot \log_{10}\left(6\right)}{2} - \frac{1}{2} \cdot \left| P_\text{NL,dBc} \right|

The quantity \text{OIP3}_\text{dBm} - P_\text{sat,dBm} will be called in the following \text{LF} for linearity factor because it it higher when the amplifier is more linear. Estimations of this quantity will be given in the following sections.

The quantity P_\text{sat,dBm} - P_\text{out,dBm} is called the \text{OBO} for output backoff and can be expressed as:

\text{OBO} = -\text{LF} + \frac{10 \cdot \log_{10}\left(6\right)}{2} + \frac{1}{2} \cdot \left| P_\text{NL,dBc} \right|

Values of the linearity factor LF for different technologies

The previous equations for the calculation need \text{LF} =\text{OIP3}_\text{dBm} - P_\text{sat,dBm}. To have estimates of its value, a review of several typical amplifiers was performed.

TWTA

LF between 4 and 6.

Mfg.NameDescriptionPsat [W]Psat [dBm]IM [dBc]IM value at [dBm]OIP3 [dBm]OIP3 - Psat [dB]
CPIT04UO-A1400 W CW TWTA40056,0-24,049,061,05,00
CPITL07UO 750 W SuperLinear® TWTA5 75058,8-24,051,263,24,45
CPIT07UO 750 W CW TWTA6 75058,8-24,051,163,14,35
CPITL12UO-A1 1.25 kW SuperLinear® TWTA (Air Cooled)7 125061,0-25,054,366,85,84
CPITL12UO-L11.25 kW SuperLinear® TWTA (Liquid Cooled)125061,0-25,054,366,85,84

TWTA with linearizer

Same products as before but with linearizer option. LF between 8 and 9.

Mfg.NameDescriptionPsat [W]Psat [dBm]IM [dBc]IM value at [dBm]OIP3 [dBm]OIP3 - Psat [dB]
CPIT04UO-A1400 W CW TWTA40056,0-24,052,064,08,00
CPITL07UO750 W SuperLinear® TWTA75058,8-25,055,267,78,95
CPIT07UO750 W CW TWTA75058,8-26,054,167,18,35
CPITL12UO-A11.25 kW SuperLinear® TWTA (Air Cooled)125061,0-25,057,369,88,85
CPITL12UO-L11.25 kW SuperLinear® TWTA (Liquid Cooled)125061,0-25,057,369,88,85

SSPA

LF between 8 and 10.

SSPA with dubious linearization

To be continued. The example found has a surprisingly low LF.

Mfg.NamePsat [W]Psat [dBm]IM [dBc]IM value at [dBm]OIP3 [dBm]OIP3 - Psat [dB]
Teledyne HPAK2600AHXXXXXG16 60057,8-2554,867,39,5

Calculated values of backoff for - 20 dBc

The value of LF depends on the technology but is surprisingly constant inside a given technology. It is this possible to calculate recommended backoff values for each technology.

TechnologyLF minBack-off
TWTA49,9
TWTA with linearizer85,9
SSPA85,9

Hilbert transform demo.

The discrete Hilbert transform seems rather mysterious. However, the principle as well as his mathematics are not so complicated: the Hilbert transform is mainly a way to add a 90° phase shift to a signal and its equation can be explained from simple mathematical principles and an Excel spreadshet.

Pulse

The first step is to start with a discrete unit pulse sampled using 11 points: the center point at 1 and the others at 0. For parity reasons, only 6 sinus are needed in the discrete Fourier transform.

Note that in the equation, not only the discrete points are calculated, but also the points in between to have curve easier to visualise. This smoothing is similar to a reconstruction filter.

Transformed pulse

The next step is to apply a 90° phase shift to all the sinusoids of the previous sum.

The resulting sum gives the Hilbert transform of the starting pulse. It is compared to the mathematical equation of the discrete Hilbert transform of a pulse for a finite number of samples in the following plot. Note that the red line gives the value of the transform only for the odd points, the others being at 0.

\begin{equation} h[n] = \left\{\begin{array}{cl} 0 & \text{if} \; n \; \text{even} \\ \frac{2}{N \cdot \tan\left(\pi \cdot \frac{n}{N}\right)} & \text{if} \; n \; \text{odd} \end{array}\right. \end{equation}

Infinite number of samples

This demonstration was performed using a finite number of samples, rather small. In real cases, the number of samples is likely to be infinite, either as an approximation or a big number of samples or as a continuous flow like in software defined radio (SDR). The question of the practical implementation of these cases is left aside. For an infinite number of samples, the limit can be calculated as follows:

\begin{align*} &\tan\left(x\right) \sim x \\ &\tan\left(\pi \cdot \frac{n}{N}\right) \sim \pi \cdot \frac{n}{N} \\ &\frac{2}{N \cdot \tan\left(\pi \cdot \frac{n}{N}\right)} \sim \frac{2}{N \cdot \pi \cdot \frac{n}{N}} = \frac{2}{\pi \cdot n} \end{align*}

which is the usual result.

Excel files to download

LC ladder impedance matching.

2025-12-21: Replace statically generated plots by dynamically generated and interactive plots using plotly.js. Note the javascript code is also for you: if you need to calculate such structures, feel free to have a look on it.

2025-11-09: Fix roots calculation and change of variables.

2025-10-26: Fix some errors in formulas, add some details about calculations.

2023-06-25: First version.

This blog page is an English translation and adaptation of a part of my PhD thesis. Numbers in brackets refers to the original bibliography, they will be replaced in a future revision.

Impedance matching is performed by LC ladder networks. This method allows to synthesize low impedances (around 5 Ω) on the same PCB than the standard 50 Ω output (no need for a second PCB with high permittivity). Moreover, this method is more compact than quarter-wave transformer.

Exact value calculation was performed by numerical optimization. Manual calculation would be too difficule because the output impedance of the transistor is not a pure resistance1. However, numerical optimization needs to know the number of components of the ladder, because the ADS optimizer is not able to add components when needed, but is only able to determine their value. Moreover, an initial estimate of the values of the components of the LC ladder is useful for the optimizer to converge quicker towards the solution. Calculation method is the one of 2, adapted for the needs of the PhD thesis.

Inductors and capacitors are assumed ideal and lossless, as well as the microstrip junctions. The effets of the polarization networks of the transistors are also ignored. Such effects are absolutely not negligeable, but will be easily corrected by the numerical optimizer in the final phase of the design.

A simple empirical method is commonly used 3, but it doesn’t allows a priori calculation of the order and of the mismatch of the matching network.

In 4 and 5, tables of 2 are used to calculate a low-pass matching network of Chebychev type. Unfortunately these tables does not provide values for very broadband impedance matching network (1:6 ratio for the amplifier module of the PhD thesis).

For these reasons this page describes in detail the calculation of such impedance matching networks. The calculation method is the one of 2, adapted for the needs of the PhD thesis.

As usual, f is the usual frequency in s^-1 and \omega the angular pulsation in rad \cdot s^-1. Calculations will use mainly \omega.

In a first time, the matching network is calculated for the center frequency \omega_0=1 and source 2 to test the good operation of the Python program which was written during the PhD thesis.

The reflexion coefficient of a LC ladder (output) matching network of type Chebychev, seen from the source, is6:

|\Gamma|^2 = (\epsilon^2\cdotT_n^2((\omega^2-\omega_0^2)/(\Delta\omega^2)))/(1+\epsilon^2\cdotT_n^2((\omega^2-\omega_0^2)/(\Delta\omega^2)))

with7 \omega_0=sqrt((\omega_a^2+\omega_b^2)/2), \Delta\omega^2=(\omega_b^2-\omega_a^2)/2, \omega_a the beginning of the passband, and \omega_b the end of the passband.

Next figure shows the reflection coefficient seen from the source of an example of an (output) LC matching network going from 5 Ω towards 50 Ω from 1 to 2,5 GHz. These values are approximately those of the first wideband amplifier of the PhD thesis.

Fig. 1. Example of squared reflection coefficient seen from the source of an LC matching network. See text for parameters.

In previous expression, \epsilon is chosen such as:

|\Gamma(f=0)|^2=((Z_2-Z_1)/(Z_2+Z_1))^2

This last condition is needed because LC ladders have no effect in DC. So, the transfert function is entirely determined by the order and the &&Z_2/Z_1&& ratio.

In the passband, maximum reflection coefficient and maximum insertion losses are respectively:

|\Gamma_max|^2=(\epsilon^2)/(1+\epsilon^2) |S_(21,min)|^2=1/(1+\epsilon^2)

The first step of the calculation is to determine the first n such as |\Gamma_max|^2 is less than the requirements. This calcul is done numerically, by testing all the integers n from 1 until this requirement is met.

This n is half the number of elements of the final network 2.

Next, variable change p = j · ω is performed. This variable change enables to simplify greatly the calculations to come. Then, the square of the magnitude of the reflection coefficient is factored as such:

|\Gamma(p)|^2 = (a(p) \cdot a(-p)) / (b(p) \cdot b(-p))

with a and b two polynomials whose roots have negative real parts8.

With this factorization, reflection coefficient (and not only his squared norm) can be calculted as such:

\Gamma(p) = (a(p)) / (b(p))

At the beginning of our work on the subject, factorization was performed numerically. This method was thereafter discarded due to numerical instability problems for high orders. This is why a semi-analytic method was taken, inspired by [47, 84]. Roots of the numerator and of the denominator are calculated analytically. Next, factorized polynomianls are calculated by taken only roots with negative real parts.

The calculation, more long than complex, won’t be detailed. The roots of the numerator and of the denominator are given by the following formulas9:

{: ( +- j \cdot sqrt(\omega_0^2 + Delta omega^2 \cdot cos[(pi)/(2 \cdot n) \cdot (1 + 2 \cdot k)]) , k in [0, 2n - 1] ), ( +- j \cdot sqrt( \omega_0^2 + Delta omega^2 \cdot cos[1/n \cdot [arccos(j/epsilon) + k \cdot \pi ]]) , k in [0, 2n - 1] ) :}

In the implementation of this method, the negative real part roots are sorted numerically.

Fig. 2. Roots of the numerator in the example. The roots of the numerator are double and purely imaginary.
Fig. 3. Roots of the denominator in the example. The roots of interest are marked in blue, while the ones in red are ignored.

A polynomial is defined by the set of its roots, but up to a multiplicative factor. The next step is to determine this multiplicative factor. Details of the calculation won’t be given here, but only the result:

{: ( a = a_1/(a_1(0)) \cdot abs(epsilon \cdot cos(n \cdot arccos(-omega_0^2/(Delta omega^2)))) ), ( b = b_1/(b_1(0)) \cdot sqrt(1 + (epsilon \cdot cos(n \cdot arccos(-omega_0^2/(Delta omega^2))))) ) :}

with &&a_1&& and &&b_1&& the polynomials initially determined.

Next, the input impedance, normalized10 with respect to Z1, is calculated as follows:

Z(p) = (b(p) + a(p))/(b(p) - a(p))

This impedance is then expanded into a continued fraction through successive divisions:

Z(p) = g_1 \cdot p + 1 / (g_2 \cdot p + 1/ (g_3 \cdot p + ... + 1 / (g_m \cdot p + g_(m+1))))

This expression immediately leads to an LC network. The odd gm values are the normalized values of the inductances, while the even gm values are the normalized values of the capacitances. This denormalization is performed according to the following equations9:

{: ( L = g / (2 pi f_0) \cdot Z_1 ), ( C = g / (2 pi f_0) \cdot 1 / Z_1 ) :}

The last &&g_m&& is the load resistance, which is also normalized. Its value has been known for a long time, but it can be interesting to recalculate it to verify that there is no significant error due to numerical inaccuracies.

Appendix: equations of the roots

Numerator

The roots of the numerator, without any attempt to remove duplicates, can be expressed as such:

\begin{align*} & \epsilon^2 \cdot T_n^2(x) = 0 \\ \Leftrightarrow \enspace & T_n^2(x) = 0 \\ \Leftrightarrow \enspace & \cos \left[ n \cdot \arccos (x) \right] = 0 \\ \Leftrightarrow \enspace & n \cdot \arccos x) = \frac{\pi}{2} + k \cdot \pi, \enspace k \in \mathbb{Z} \\ \Leftrightarrow \enspace & x = \cos \left[ \frac{\frac{\pi}{2} + k \cdot \pi}{n} \right], \enspace k \in \mathbb{Z} \\ \Leftrightarrow \enspace & x = \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right], \enspace k \in \mathbb{Z} \\ \end{align*}

Due to the periodicity and invariance by sign change of the cosinus, different values of k can lead to the same root. Two different values of k lead to the same root on the following condition:

\begin{align*} & \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k_1 \right) \right] = \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k_2 \right) \right] \\ \Leftrightarrow \enspace & \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k_1 \right) = \pm \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k_2 \right) + l \cdot 2 \cdot \pi, \enspace l \in \mathbb{Z} \\ \Leftrightarrow \enspace & \frac{\pi}{n} \cdot k_1 = \pm \frac{\pi}{n} \cdot k_2 + l \cdot 2 \cdot \pi, \enspace l \in \mathbb{Z} \\ \Leftrightarrow \enspace & k_1 = \pm k_2 + l \cdot 2 \cdot n, \enspace l \in \mathbb{Z} \\ \end{align*}

Which lead to the set of the roots after removing the duplicates:

\begin{align*} x_k = \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right], \enspace k \in [0; 2n-1] \\ \end{align*}

Next the corresponding values of \omega can be solved:

\begin{align*} &\frac{\omega^2-\omega_0^2}{\Delta\omega^2} = \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right], \enspace k \in [0; 2n-1] \\ &\omega^2 = \omega_0^2 + \Delta\omega^2 \cdot \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right], \enspace k \in [0; 2n-1] \\ &\omega = \pm \sqrt{ \omega_0^2 + \Delta\omega^2 \cdot \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right] }, \enspace k \in [0; 2n-1] \end{align*}

Next the corresponding value of p can be solved. This point led to a confusion in an intermediate version of this page:

\begin{align*} p_k = \pm j \cdot \sqrt{ \omega_0^2 + \Delta\omega^2 \cdot \cos \left[ \frac{\pi}{2 \cdot n} \cdot \left( 1 + 2 \cdot k \right) \right] }, \enspace k \in [0; 2n-1] \\ \end{align*}

Denominator

Same method.

\begin{align*} & 1 + \epsilon^2 \cdot T_n^2(x) = 0 \\ \Leftrightarrow \enspace & T_n^2 (x) = - \frac{1}{\epsilon^2} \\ \Leftrightarrow \enspace & T_n(x) = \pm \frac{j}{\epsilon} \\ \Leftrightarrow \enspace & \cos \left[ n \cdot \arccos \left( x \right) \right] = \pm \frac{j}{\epsilon} \\ \Leftrightarrow \enspace & n \cdot \arccos \left( x \right) = \pm \arccos \left( \pm \frac{j}{\epsilon} \right) + k \cdot 2 \cdot \pi, \enspace k \in \mathbb{Z} \\ \Leftrightarrow \enspace & \arccos \left( x \right) = \pm \frac{1}{n} \arccos \left( \pm \frac{j}{\epsilon} \right) + \frac{k}{n} \cdot 2 \cdot \pi, \enspace k \in \mathbb{Z} \\ \Leftrightarrow \enspace & x = \cos \left[ \frac{1}{n} \arccos \left( \pm \frac{j}{\epsilon} \right) + \frac{k}{n} \cdot 2 \cdot \pi \right] , \enspace k \in \mathbb{Z} \end{align*}

And for the same reason as for the numerator, k can be restricted to the interval [0; 2n-1].

Next, omega and p can be calculated in a similar way than for the numerator.

  1. It is not even a pure impedance. See the blog pages to come! 

  2. G.L. MATTHAEI. « Tables of Chebyshev impedance-transforming networks of low-pass filter form». In : Proceedings of the IEEE 52.8 (august 1964), p. 939-963. ISSN : 0018-9219. DOI : 10 . 1109 / PROC . 1964 . 3185.  2 3 4 5

  3. Chen CHI, Chen JUN et Wang LEI. «L-band high efficiency GaN HEMT power amplifier for space application ». In : Radar Conference 2013, IET International. Avr. 2013, p. 1-4. DOI : 10.1049/cp.2013.0455. 

  4. D.A. SUKHANOV et A.A. KISHCHINSKIY. « High efficiency L-, S-, C- band GaN power pulse amplifiers ». In: Microwave and Telecommunication Technology (CriMiCo), 2013 23rd International Crimean Conference. Sept. 2013, p. 94-95. 

  5. Kenle CHEN et D. PEROULIS. « Design of Highly Efficient Broadband Class-E Power Amplifier Using Synthesized Low-Pass Matching Networks ». In: Microwave Theory and Techniques, IEEE Transactions on 59.12 (déc. 2011), p. 3162-3173. ISSN : 0018-9480. DOI : 10.1109/TMTT.2011.2169080. 

  6. In 2, &&\Delta\omega^2&& is named A. 

  7. There was a typo in these formulas in a previous version of this article. Sorry. 

  8. Such polynomials are called Hurwitz polynomials. The reasons why a and b must satisfy this condition go beyond the scope of this thesis. The reader is encouraged to refer to a book on network synthesis [12, 56, 73]. 

  9. There is a typo in these formulas in the PhD thesis pdf. Sorry.  2

  10. This point has been forgotten to be mentioned in the PhD thesis pdf. Sorry. 

Equations for terminating a differential amplifier in single-ended input.

Introduction

A few years ago, I had to terminate a differential amplifier in single-ended input. Analog Devices AN-09901 gives equations for that. Unfortunately, there are an inaccuracy in these equations. According to this page, the input impedance for balanced differential input signals is given by R_"IN, dm"=2\cdotR_G and for a single-ended input by R_"IN, cm"=R_G/(1-R_F/(2\cdot(R_G+R_F))).

However, in this use case, the last equation is uncorrect. It would have been correct if the -DIN input were connected directly to ground. However, this is not the case, and instead this input is connected to ground through a resistor of value R_S////R_T to ensure symmetry.

Schematic

The schematic is shown below. Note the strange alignment of Rsp and Rsn. Rsp is part of the source while Rsn is part of the board. Note that in an actual implementation, Rsn and Rtn are likely to be merged. Details of the LTSpice simulation will be described at the end.

Calculation philosophy: solving vs. enforcing

There are two methods to calculate the values of the components in an electrical circuit:

  • Determine all the equations of all the wanted parameters (gain, impedance) in function of the components values, and invert all the equation. This is the solving approach.

  • Enforce at as soon as possible in the calculation process the wanted parameters by setting early some components values. This is the enforcing approach.

Calculations get much easier with the enforcing approach, in a similar approach than proposed by Middlebrook and its successors, notably Vorperian and Basso.

This case is a great illustration of this principle. I first tried the first approach, without success, thereafter the second approach, and got manageable equations.

Calculations details

Calculation of RG

It is assumed that RF is fixed. For current feedback amplifiers, common for high speed, RF contributes to the amplifier gain and have a value recommended by the datasheet which should be respected in most cases. For voltage feedback amplifiers having some speed, RF have to be low enough to avoid issues with the various parasitic capacitances which also leads to a recommended value.

Normalisation

After a long time working with these equations, I realized it was easier to use normalized values of the resistors, and the easiest value for normalization is the feedback resistor RF, as such:

\begin{split} R_F^{'} &= \frac{R_F}{R_F} = 1 \\ R_G^{'} &= \frac{R_G}{R_F} \\ R_S^{'} &= \frac{R_S}{R_F} \end{split}

Equation of &&V_X^+&&

V_X^{+} = V_S \cdot \frac{Z_\text{IN}}{R_S + Z_\text{IN}} \quad \text{with} \quad K = \frac{Z_\text{IN}}{R_S + Z_\text{IN}}

Equation of &&V_X^-&&

Equations of &&V_X^+&& and &&V_X^-&& can be determined from Millman theorem2:

V_X^{+} = \frac{\frac{V_S}{R_S}+\frac{0}{R_T}-\frac{\frac{G}{2}\cdot{V_S}}{R_F+R_G}}{\frac{1}{R_S}+\frac{1}{R_T}-\frac{1}{R_F+R_G}} = V_S \cdot \frac{\frac{1}{R_S^{'}}+\frac{0}{R_T^{'}}-\frac{\frac{G}{2}}{1+R_G^{'}}}{\frac{1}{R_S^{'}}+\frac{1}{R_T^{'}}-\frac{1}{1+R_G^{'}}} V_X^{-} = \frac{\frac{0}{R_S}+\frac{0}{R_T}+\frac{\frac{G}{2}\cdot{V_S}}{R_F+R_G}}{\frac{1}{R_S}+\frac{1}{R_T}-\frac{1}{R_F+R_G}} = V_S \cdot \frac{\frac{1}{R_S^{'}}+\frac{0}{R_T^{'}}+\frac{\frac{G}{2}}{1+R_G^{'}}}{\frac{1}{R_S^{'}}+\frac{1}{R_T^{'}}-\frac{1}{1+R_G^{'}}}

And their ratio can be calculated as such:

\frac{V_X^{+}}{V_X^{-}} = \frac{\frac{1}{R_S^{'}}-\frac{\frac{G}{2}}{1+R_G^{'}}}{\frac{1}{R_S^{'}}+\frac{\frac{G}{2}}{1+R_G^{'}}} = \frac{\frac{1}{R_S^{'}}}{\frac{1}{R_S^{'}}+\frac{\frac{G}{2}}{1+R_G^{'}}} - 1 = \frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1

Using the previous expression of &&V_X^+&&, the actual value of &&V_X^-&& can be calculated as such:

V_X^{-} = \frac{V_X^{+}}{\frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1} = V_S \cdot K \cdot \frac{1}{\frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1}

Balance of &&V_"IN"^+&& and &&V_"IN"^-&&

In the normal operation of an operational amplifier, &&V_"IN"^+ = V_"IN"^-&&. Both quantities can be calculated as such, using again Millman theorem2:

\begin{split} V_\text{IN}^{+} &= \frac{\frac{V_X^{+}}{R_G}-\frac{\frac{G}{2}\cdot V_S}{R_F}}{\frac{1}{R_G}+\frac{1}{R_F}} = \frac{\frac{V_X^{+}}{R_G^{'}}-\frac{G}{2}\cdot V_S}{\frac{1}{R_G^{'}}+1} \\ V_\text{IN}^{-} &= \frac{\frac{V_X^{-}}{R_G}+\frac{\frac{G}{2}\cdot V_S}{R_F}}{\frac{1}{R_G}+\frac{1}{R_F}} = \frac{\frac{V_X^{-}}{R_G^{'}}+\frac{G}{2}\cdot V_S}{\frac{1}{R_G^{'}}+1} \end{split}

And the condition &&V_"IN"^+ = V_"IN"^-&& can be written as such:

\begin{split} \frac{V_X^{+}}{R_G^{'}}-\frac{G}{2}\cdot V_S &= \frac{V_X^{-}}{R_G^{'}}+\frac{G}{2}\cdot V_S \\ \frac{V_X^{+}}{R_G^{'}}-G\cdot V_S &= \frac{V_X^{-}}{R_G^{'}} \end{split}

In which the values of &&V_X^+&& and &&V_X^-&& can be substituted:

\begin{split} V_S \cdot K \cdot \frac{1}{R_G^{'}}-G\cdot V_S &= V_S \cdot K \cdot \frac{1}{\frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1} \cdot \frac{1}{R_G^{'}} \\ K - G \cdot R_G^{'} &= K \cdot \frac{1}{\frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1} \end{split} \left[ K - G \cdot R_G^{'} \right] \cdot \left[ \frac{2\cdot\left(1+R_G^{'}\right)}{G\cdot{R_S^{'}}}-1 \right] = K

Which can be put in a second order equation in the following way (note the early optimizations of the equations):

-G \cdot \left[ R_G^{'} -\frac{K}{G} \right] \cdot \frac{2}{G\cdot R_S^{'}} \cdot \left[ 1 + R_G^{'} - \frac{G\cdot R_S^{'}}{2}\right] = K \left[ R_G^{'} - \frac{K}{G} \right] \cdot \left[ R_G^{'} + 1 - \frac{G\cdot R_S^{'}}{2} \right] = -\frac{K\cdot R_S^{'}}{2} {R_G^{'}}^2 + \left[ 1 - \frac{G\cdot R_S^{'}}{2} - \frac{K}{G} \right] \cdot R_G^{'} - \frac{K}{G} \cdot \left( 1 - \frac{G\cdot R_S^{'}}{2} \right) + \frac{K \cdot R_S}{2} = 0 {R_G^{'}}^2 + \left[ 1 - \frac{G\cdot R_S^{'}}{2} - \frac{K}{G} \right] \cdot R_G^{'} + K \cdot \left( -\frac{1}{G} + \frac{R_S^{'}}{2} + \frac{R_S}{2} \right) = 0 {R_G^{'}}^2 + \left[ 1 - \frac{G\cdot R_S^{'}}{2} - \frac{K}{G} \right] \cdot R_G^{'} + K \cdot \left( -\frac{1}{G} + R_S^{'} \right) = 0

Solving the balance equation

This quadratic equation can be solved in the usual way3:

A = 1

B = 1 - \frac{G \cdot R_S^{'} }{2} - \frac{K}{G}

C = K \cdot \left( -\frac{1}{G} + R_S^{'} \right)

\Delta = B^2 - 4 \cdot A \cdot C = \left[ 1 - \frac{G \cdot R_S^{'} }{2} - \frac{K}{G} \right]^2 + 4 \cdot K \cdot \left( \frac{1}{G} - R_S^{'} \right)

Usually, we say some things about the sign of &&\Delta&& and the existence of the roots. This will be left for a further release of this page. For now, just find the equations to put in Excel:

R_G^{'} = \frac{1}{2} \cdot \left[ -B \pm \sqrt{\Delta} \right]

Leading to the final equation for &&R_G^’&&:

R_G^{'} = \frac{1}{2} \cdot \left[ -\left[ 1 - \frac{G}{2} \cdot R_S^{'} - \frac{K}{G} \right] \pm \sqrt{ \left[ 1 - \frac{G}{2} \cdot R_S^{'} - \frac{K}{G} \right]^2 - K \cdot \left( \frac{1}{G} - R_S^{'} \right) } \right]

Calculation of &&R_T&&

For the calculation of &&R_T&&, the resistances are not normalized because the resulting expression is more meaningful.

&&R_T&& can be calculated by the usual way, a bit long. However, there is a quicker shortcut:

Impedance of &&R_G&&, &&R_F&&, and the amplifier can be calculated from the Miller formula4:

R_\text{amp} = \frac{R_F + R_G}{1 - \frac{V_\text{OUT}^{-}}{V_x^+}}

where the gain &&V_"OUT"/V_x^+&& can be calculated as such:

\frac{V_\text{OUT}^{-}}{V_x^+} = \frac{V_S}{V_x^+} \cdot \frac{V_\text{OUT}^{-}}{V_S} = \frac{1}{K} \cdot \frac{-G}{2}

giving:

R_\text{amp} = \frac{R_F + R_G}{1 + \frac{G}{2 \cdot K}}

From this resistance, &&Z_"IN"&& can be calculated using the usual parallel resistor formula5:

Z_\text{IN} = \frac{1}{\frac{1}{R_T}+\frac{1}{R_\text{amp}}}

which can be reversed as such:

\frac{1}{R_T} = \frac{1}{\frac{1}{Z_\text{IN}}-\frac{1}{R_\text{amp}}}

leading to the final expression of &&R_T&&:

\frac{1}{R_T} = \frac{1}{\frac{1}{Z_\text{IN}}-\left(1 + \frac{G}{2 \cdot K}\right)\cdot\frac{1}{R_F + R_G}}

LTSpice simulation

LTSpice simulation filed are provided here: diff-amp-SE-plot.asc and diff-amp-SE-plot.plt. Gain was set to 2 to allow easier check of proper operation by superimposing the curves.

Excel file

The Excel calculation file, self explanatory, can be downloaded here: diff-amp-SE-Excel.xlsx.