Pole-zero canceling#
Another pole-splitting technique that can be used to change initial pole positions of the loop gain is pole-zero canceling. With this technique, a zero is inserted into the loop gain that coincides with a pole in the loop gain. However, we have seen that passive zeros can only be inserted into existing attenuators in the loop. In well-designed amplifiers, the source impedance, the load impedance and the feedback network are the only places where impedances in series or in parallel with the signal path cause attenuation of the loop gain. This is because in well-designed amplifiers, we have not inserted impedances in parallel or in series with the signal path, unless this was inevitable. The source impedance, the load impedance and the impedances of passive feedback elements are such inevitable impedances, and in sections Phantom zeros in the feedback network and Phantom zeros at source and load we have seen that we can use these impedances for the creation of phantom zeros.
Insertion of impedances into the signal path#
According to the above, the insertion of zeros that are not phantom zeros requires the insertion of an extra attenuator into the loop. This should be accomplished through insertion of an impedance in series or in parallel with the signal path. For this reason, the penalty on other performance aspects, such as, noise performance, power efficiency and linearity is much larger than with pole-splitting by means of negative feedback or with phantom zero compensation.
In the following example, we will demonstrate this technique.
Example
Let us consider the network depicted in Fig. 421A. It shows two cascaded single-pole gain stages that are assumed to be part of a controller. The first stage has a pole \(p_{1}=-1\)Mrad/s and the second stage has a pole \(p_{2}=-100\)krad/s. The aim of pole-splitting is to move the most dominant pole to a lower frequency while moving the pole with the highest frequency to a higher frequency. In this example, we will change the sum of the poles from \(-1100\)krad/s to \(14\)Mrad/s, while maintaining their product at \(100\)Grad\(^{2}\)/s\(^{2}\).
Fig. 421 Pole-splitting by means of pole-zero canceling A: Two cascaded gain stages of a controller B: With added pole-zero canceling network.#
We will move the most dominant pole to a lower frequency by placing a capacitance \(C_{3}\) in parallel with \(C_{2}\). We can then place a zero on \(p_{1}\) by inserting a resistor \(R_{3}\) in series with \(C_{3}\). The zero will be located at \(-\frac{1}{R_{3}C_{3}}\). Fig. 421B shows the modified circuit. The second gain stage now has two poles and one zero. If the poles are well separated (\(C_{3}\gg C_{2}\)) and (\(R_{2}\gg R_{3}\)), their frequencies can be estimated as discussed in section Symbolic estimation of poles and zeros: \(p_{2}\approx-\frac{1}{\left( R_{2}+R_{3}\right) C_{3}}\) and \(p_{3} \approx-\frac{1}{R_{3}C_{2}}\). The zero in the second stage cancels \(p_{1}\) of the first stage, so the sum of the new poles of the two cascaded stages equals \(p_{2}+p_{3}\). Hence, we obtain the following design equations:
where \(C_{2}=1\)nF and \(R_{2}=10\)k\(\Omega\). Numeric solution yields: \(C_{3}\approx14\)nF, \(R_{3}\approx70\Omega\). With these values, the product of the poles is slightly degraded to \(95.2\)Grad\(^{2}\)/s\(^{2}\). This is because the symbolic expressions for \(p_{2}\) and \(p_{3}\) are not accurate.
In the following example, we will demonstrate this technique for the
compensation of the transimpedance amplifier from example
ex-transimpedanceOPA627
. We will show that this technique is inferior
with respect to the phantom zero compensation discussed in example
ex-transimpedanceOPA627
.
Example
\label{example-transimpedancePZcancel}
Fig. 422 shows the small-signal
equivalent circuit of the uncompensated transimpedance amplifier from example
ex-transimpedanceOPA627
. In that example, we already determined the
values of the dominant poles and the DC loop gain. We found two dominant
poles: \(p_{1}=-16\)Hz and \(p_{2}=-96.4\)kHz. The DC loop gain was obtained as \(-973\cdot10^{3}\).
Fig. 422 Small-signal diagram of the uncompensated transimpedance amplifier from example
7.ex-transimpedanceOPA627
.#
With these values, the achievable MFM bandwidth amounts to \(1.225\)MHz. This largely exceeds the absolute value of the sum of the poles, thus MFM compensation is required. Unfortunately, the poles cannot be split by moving the dominant pole closer to the origin and the other one further away from the origin. The dominant pole is a pole of the voltage gain of the operational amplifier and its value cannot be altered. We can move \(p_{2}\) to a higher frequency by placing a resistor in parallel with the input of the operational amplifier. This technique is known as resistive broadbanding and will be discussed in section Resistive broadbanding. In order to shift \(p_{2}\) to \(-\sqrt{2}\times1.225\)MHz, we need to place a resistance \(R_{z}=5.896\)k\(\Omega\) in parallel with the input of the operational amplifier. If we want to apply pole-splitting and maintain an MFM characteristic, we need to create a zero at \(-16\)Hz, which can be achieved by placing a capacitance \(C_{z}=1.69\mu\)F in series with this resistor. In fact, we now created a new dominant pole at \(-0.89\)Hz. Fig. 423 shows the modified circuit.
Fig. 423 Small-signal diagram of the transimpedance amplifier from example
7.ex-transimpedanceOPA627
with pole-splitting by means of pole-zero canceling.#
Below is the SLICAP netlist of the circuit:
1transimpedancePZcancel
2* file: transimpedancePZcancel.cir
3* SLiCAP circuit file
4I1 0 1 0
5C1 1 0 {C_s}
6C2 1 0 {C_d}
7C3 1 0 {C_c/2}
8C4 3 0 {C_z}
9R1 1 2 {R_f}
10R2 2 0 {R_ell}
11R3 1 3 {R_z}
12E1 2 0 0 1 EZ value={A_0/(1+s/2/pi/16)} zo={R_o}
13.param C_s=5p R_f=100k R_ell=2k C_d=8p C_c=7p A_0=1M
14+ R_o=55 C_z={1/R_z/2/pi/16} R_z=5.896k
15.end
The value of the capacitance \(C_{z}\) has been defined symbolically. During numeric analysis, it will be calculated with a high accuracy such that the zero exactly cancels the pole at \(-16\)Hz.
Below is the SLICAP script for analysis of the locations of the poles and the zeros. For determination of the poles, the data type has been set to ‘poles’, and for determination of the zeros the data type has been set to ‘zeros’. Combined pole-zero analysis is performed with the data type set to ‘PZ’. With this analysis type, poles and zeros that coincide will not be displayed.
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3# File: transimpedancePZcancel.py
4
5from SLiCAP import *
6
7fileName = 'transimpedancePZcancel'
8prj = initProject(fileName)
9i1 = instruction()
10i1.setCircuit(fileName + '.cir')
11i1.setSource('I1');
12i1.setDetector('V_2')
13i1.setLGref('E1')
14i1.setSimType('numeric')
15i1.setGainType('loopgain')
16i1.stepOff()
17# Display poles
18i1.setDataType('poles')
19result = i1.execute()
20listPZ(result)
21
22# Display zeros
23i1.setDataType('zeros')
24listPZ(i1.execute())
25
26# Display, poles, zeros and DC gain
27i1.setDataType('pz')
28listPZ(i1.execute())
29
30# Calculate the phase margin
31i1.setDataType('laplace')
32i1.setGainType('loopgain')
33
34L = i1.execute()
35loopGain = L.laplace
36pmResults = phaseMargin(loopGain)
37
38uF = pmResults[1]
39pM = pmResults[0]
40
41print('Loop gain: phase margin = {:3.2f}deg at f = {:8.2e}Hz\n'.format(pM, uF))
42
43# Show the poles, zeros and DC value of the gain
44i1.setDataType('pz')
45i1.setGainType('gain')
46listPZ(i1.execute())
The results of this script will be displayed in the PYTHON console window:
1Poles of loopgain:
2
3 n Real part [Hz] Imag part [Hz] Frequency [Hz] Q [-]
4-- -------------- -------------- -------------- --------
5 0 -8.90e-1 0.00e+00 8.90e-1
6 1 -1.60e+1 0.00e+00 1.60e+1
7 2 -1.73e+6 0.00e+00 1.73e+6
8
9Zeros of loopgain:
10
11 n Real part [Hz] Imag part [Hz] Frequency [Hz] Q [-]
12-- -------------- -------------- -------------- --------
13 0 -1.60e+1 0.00e+00 1.60e+1
14
15DC value of loopgain: -9.73e+5
16
17Poles of loopgain:
18
19 n Real part [Hz] Imag part [Hz] Frequency [Hz] Q [-]
20-- -------------- -------------- -------------- --------
21 0 -8.90e-1 0.00e+00 8.90e-1
22 1 -1.73e+6 0.00e+00 1.73e+6
23
24Found no zeros.
25
26Loop gain: phase margin = 65.52deg at f = 7.89e+05Hz
27
28DC value of gain: -1.00e+5
29
30Poles of gain:
31
32 n Real part [Hz] Imag part [Hz] Frequency [Hz] Q [-]
33-- -------------- -------------- -------------- --------
34 0 -8.66e+5 -8.67e+5 1.23e+6 7.07e-1
35 1 -8.66e+5 8.67e+5 1.23e+6 7.07e-1
36
37Zeros of gain:
38
39 n Real part [Hz] Imag part [Hz] Frequency [Hz] Q [-]
40-- -------------- -------------- -------------- --------
41 0 2.91e+10 0.00e+00 2.91e+10
The results show exact canceling of the pole of the operational amplifier, while the product of the poles is maintained. This yields an MFM characteristic of the gain.
Interaction with other performance aspects#
Although pole-splitting with the aid of pole-zero canceling can successfully be applied for high-frequency compensation, the penalty on other performance aspects can be relatively high. This can easily be seen from example example-transimpedancePZcancel. There, we achieved the MFM characteristic by placing an RC series network in parallel with the input of the operational amplifier. This network causes an attenuation of the loop gain for frequencies between \(0.89\)Hz and \(1.22\)MHz. This frequency range covers almost the whole operating frequency range of the amplifier, which has the following consequences:
The resistor R3 adds noise and increases the contribution of the equivalent input voltage noise source of the operational amplifier for frequencies between \(16\)Hz and \(1.22\)MHz. This causes a serious deterioration of the signal-to-noise ratio.
The capacitor C3 increases the contribution of the equivalent input voltage noise source of the operational amplifier for frequencies between \(0.89\)Hz and \(16\)Hz. This causes a serious deterioration of the signal-to-noise ratio.
The reduction of the loop gain over almost the whole frequency range of the amplifier increases the nonlinearity of the amplifier.
The overdrive recovery time of the amplifier is enlarged due to charge storage on C3.
This can be seen as follows. A (too) large source current may cause voltage clipping at the output of the amplifier. In such an event, the input voltage of the controller will not longer be zero and charge will be stored on C3. The amplifier can only return to its normal state after this charge has been removed. In the absence of an input signal, this time is determined by the pole frequency set by C3. With phantom zero compensation, this pole frequency was about \(96\)kHz. With pole-zero canceling this pole frequency is about \(0.89\)Hz. Hence, in the transimpedance amplifier discussed above, overdrive recovery will take about \(76\) times longer with pole-zero canceling when compared to phantom zero compensation.
If this technique is applied in a part of the circuit that carries a large signal level, there may be a severe penalty on the energy storage and the power efficiency of the feedback amplifier. In general, reduction of the loop gain in a certain frequency range will result in a degraded performance of the feedback amplifier in that frequency range.
possible improvements#
The negative effects described above can be reduced if we accept zeros in the transmission band of the amplifier. In other words if we accept deviation from the all-pole MFM characteristic. If our design goal is to guarantee stability and accept a certain amount of overshoot and tilt in the step response, we may follow a different compensation strategy. This is often done when using the phase margin as a measure for stability. In section Phase margin design we will pay attention to this design approach.