# Logarithmic Attenuator Calculator

This calculator provides configuration data for logarithmic stepped attenuators or logarithmic ladder networks. Such relay-plus-resistor networks are used for volume control in audio electronic devices, as a replacement for traditional analog potentiometers. This page aims to provide practical help for configuring this type of attenuators. For a more theoretical description of their operation please have a look at this wikipedia page.

This calculator does not just provide the nominal (or ideal) resistance values for these attenuators. It also proposes a rounding of resistance values to the industry-standard E-series of values, and it subsequently calculates the deviation from ideal behavior as result of this rounding.

 Stage constant resistance: Stage attenuation: Choose resistor values from: E12 E24 E96 any value Attenuator type: Constant input resistance Constant output resistance Number of stages: 4 5 6 7 8 Stage permutation:

## Design Result

 in 15K 15K 15K 15K 15K 15K GND 15K 15K 15K 15K 15K 15K 15K Nominal attenuation: 32dB 16dB 8dB 4dB 2dB 1dB Maximum deviation: 0dB 0dB 0dB 0dB 0dB 0dB

 This attenuator provides - positions ranging from 0 to - with average stepsizes of 1dB .
 Input resistance ranges from - to - Output resistance ranges from - to .

## Constant input versus constant output resistance

In a conventional analog potentiometer, the input resistance is constant: this is the value of the resistance between both end points. Its output resistance varies with the position of the sliding contact: when the contact is near either end the output resistance aproaches zero, and somewhere in between the output resistance reaches a maximum of 1/4 of the input resistance. This behavior somewhat resembles the constant input resistance stepped attenuator: the output resistance varies with the selected attenuation. However, the relation between attenuation-level and output-resistance is significantly more complex: a high attenuation (low output signal) does not imply a low output resistance. This attenuator type requires a final load resistance that is identical to the input resistance of each stage, which is included in above design.

The alternative design option provides a constant output resistance over all attenuation levels, but has a variable input resistance. Its first stage is configured slightly differently to establish the selected output resistance. A final load resistance can cause extra attenuation which is not accounted for in above numbers. Note that the uniformity of the attenuation-steps remains correct even if the applied load resistance would be chosen relatively low.

## Linearity errors

Each stage should provide an attenuation of exactly 2x the number of dB's of its subsequent stage. If this 2x ratio is not accurately maintained, the attenuation step sizes from one level to the next (the stage attenuation) do not remain exactly uniform. The above design table provides calculation estimates for such non-uniformity as step-size deviations (errors) from the design average step-size. Fortunately, for audio applications, the human perception is not very critical for such non-uniformity. For an average step-size of 1dB, uniformity errors of 0.3dB seem perfectly acceptable. Note that the ear is sensitve for small differences in attenuation between a left and right audio channel. Obviously, the two channels can easily be matched (for instance with 1% accuracy resistors), irrespective of attenuator nonlinearity errors. The obtained channel matching is far better then conventional analog 'sliding' potentiometers.

When using resistors from the E12 or E24 set of values, it requires some experimentation with this calculator to find a resistance and stage attenuation pair that shows good uniformity.

## Design examples

An example attenuator configuration as used in the relaixed2 design:
(except that the final two stages were configured somewhat differently.)

Or the constant-input-resistance attenuator from my new Relaixed passive attenuator:

Or from my passive attenuator, revision Mar'08: