Skip to main content

Output of temperature-compensated log circuit

Short answer

Vo = -(1+R2/RTC)·VT·ln( vi·R2'/(R1·VRef) ). Matched transistors Q1 and Q2 cancel Is, and the PTC resistor RTC compensates VT so the scale factor stays nearly constant with temperature.

For the circuit shown in figure below, find the expression for the output voltage (V0). [Figure: Op-amp A1: vi through R1 to its inverting input (non-inverting input grounded); transistor Q1 (base grounded) is its feedback element, collector at the inverting input and emitter to node VA. Op-amp A2: VRef through R2 to its inverting input; transistor Q2 has its collector at the A2 inverting input and its emitter at node VA; the A2 output is connected to node VA. The A1 output is V0. A divider of R2 (from V0) and RTC (to ground) forms node VB, which drives the base of Q2 and the non-inverting input of A2.]

This is the temperature-compensated log amplifier. Q1 carries the signal current, while Q2 with A2 carries a fixed reference current. The divider R2–RTC sets the scale and cancels the effect of VT.

Assumptions

Q1 and Q2 are matched (same Is). The op-amps are ideal. The reference resistor (marked R2 at A2's input) is called R2' here to keep it separate from the divider R2. VB is small compared with VRef.

Currents

Q1: its collector is at A1's virtual ground (0 V), its base is grounded and its emitter is at VA.

IC1 = vi / R1
VBE1 = 0 − VA   →   VA = −VT ln( vi / (R1·Is) )

Q2: A2's inverting input is held at VB (virtual short with its + input). Q2's base is also at VB, and its emitter is at VA (driven by A2's output).

Iref = IC2 = (VRef − VB)/R2' ≈ VRef/R2'
VBE2 = VB − VA = VT ln( Iref / Is )

Solving for VB

VB = VA + VT ln(Iref/Is)
   = −VT ln( vi/(R1·Is) ) + VT ln( Iref/Is )
   = −VT ln( vi / (R1·Iref) )

Is has cancelled.

Output voltage

A1's output V0 feeds the divider, so VB = V0·RTC/(R2 + RTC). Therefore:

V0 = (1 + R2/RTC) · VB

V0 = −(1 + R2/RTC) · VT · ln( vi / (R1·Iref) )
   = −(1 + R2/RTC) · VT · ln( vi·R2' / (R1·VRef) )

In log10 form:

V0 = −2.303 (1 + R2/RTC) VT · log10( vi·R2' / (R1·VRef) )

Why it is temperature compensated

  • Is cancels because Q1 and Q2 are matched.
  • VT = kT/q rises with temperature (+0.33 %/°C). RTC has a positive temperature coefficient, so as T rises RTC rises and (1 + R2/RTC) falls. With R2 ≫ RTC the factor is about R2/RTC, so the product (R2/RTC)·VT stays nearly constant.

For example, with (1 + R2/RTC)·2.303VT = 1 V, the output falls by 1 V per decade of vi.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Advanced Electronics chapter 5 questions →