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: | |

Attenuator type: | |

Number of stages: | |

Stage permutation: |

in | 15K | 15K | 15K | 15K | 15K | 15K | |||

GND | 15K | 15K | 15K | 15K | 15K | 15K | 15K | ||

Nominal attenuation: | 32dB | 16dB | 8dB | 4dB | 2dB | 1dB | |||

Linearity errors: | 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 | . |

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.

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.

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 the (last version of) the Relaixed1 design:

Or from my passive attenuator, revision Mar'08: