Frequency Response of Chebyshev Filters
This article explains the magnitude, phase and group-delay response of Chebyshev filters in detail. Through comparison with the Butterworth filter, it clarifies the advantages and drawbacks of the Chebyshev filter. It also covers the VSWR (voltage standing wave ratio), which matters for RF applications.
Magnitude response
Equiripple in the passband
The hallmark of the Chebyshev Type I filter is its equiripple behavior in the passband.
The Chebyshev polynomial $T_n(\omega/\omega_c)$ equioscillates between $+1$ and $-1$ exactly $n$ times on $[-1,1]$. Correspondingly, the magnitude $|H|$ ripples in the passband between 0 dB (where $T_n=0$) and $-r$ dB (where $|T_n|=1$).
Relationship between ripple and response: the smaller the Chebyshev ripple, the flatter the passband and the gentler the transition — that is, the behavior approaches that of a Butterworth filter (flat passband, gentle roll-off). Note, however, that Butterworth (maximally flat) and Chebyshev (equiripple) are based on different polynomial families ($\omega^n$ vs $T_n$), so the $\varepsilon \to 0$ limit does not converge exactly to Butterworth.
Steepness of the transition band (roll-off)
A Chebyshev filter has a steeper transition than a Butterworth filter of the same order. How fast the attenuation increases is called the roll-off.
dB/octave and dB/decade
Roll-off steepness is expressed as the increase in attenuation per increase in frequency. The commonly used units are dB/octave and dB/decade.
- Octave
- A doubling of frequency. E.g. 1 kHz → 2 kHz → 4 kHz is a rise of one octave each.
- Decade
- A tenfold increase in frequency. E.g. 1 kHz → 10 kHz → 100 kHz is a rise of one decade each.
These units are related by:
\begin{equation} 1\text{ decade} = \log_2(10) \text{ octaves} \approx 3.32 \text{ octaves} \end{equation}Hence 20 dB/decade ≈ 6 dB/octave (more precisely 6.02 dB/octave).
Asymptotic roll-off of an n-th order filter
Every $n$-th order low-pass filter (Butterworth, Chebyshev, elliptic, etc.) shows the following asymptotic roll-off at sufficiently high frequency:
\begin{equation} \text{roll-off} = 20n \text{ dB/decade} = 6n \text{ dB/octave} \end{equation}| Order $n$ | Roll-off (dB/decade) | Roll-off (dB/octave) |
|---|---|---|
| 1 | 20 | 6 |
| 2 | 40 | 12 |
| 3 | 60 | 18 |
| 4 | 80 | 24 |
| 5 | 100 | 30 |
| 6 | 120 | 36 |
This is the "asymptotic" value, valid well above the cutoff ($\omega \gg \omega_c$).
The Chebyshev advantage: attenuation in the transition band
The asymptotic roll-off is the same for all filters, but the behavior in the transition band (the region from cutoff to the stopband) differs. In exchange for accepting passband ripple, the Chebyshev filter attenuates more steeply in the transition band.
The stopband attenuation $A(\omega) = -20\log_{10}|H(j\omega)|$ (a positive dB value, opposite in sign to the gain in the tables) can be approximated for $\omega \gg \omega_c$ by:
\begin{equation} A(\omega) \approx 20\log_{10}\varepsilon + 6.02\,(n-1) + 20n\log_{10}\left(\dfrac{\omega}{\omega_c}\right) \quad (\omega \gg \omega_c) \end{equation}Here $\varepsilon$ is the ripple parameter, and the $6.02\,(n-1)$ dB term comes from the leading coefficient $2^{\,n-1}$ of $T_n$. Compared with Butterworth (which has $A \approx 20n\log_{10}(\omega/\omega_c)$ at the same $n$), the Chebyshev filter attenuates by an extra $20\log_{10}\varepsilon + 6.02\,(n-1)$ dB (e.g. about 24 dB for 6th order, 1 dB ripple), which appears as the steeper response beyond the transition band.
Comparison with Butterworth
| Frequency | Butterworth 6th | Chebyshev 6th (1dB) |
|---|---|---|
| $\omega = \omega_c$ | -3.0 dB | -1.0 dB |
| $\omega = 1.5\omega_c$ | -21.2 dB | -38.3 dB |
| $\omega = 2\omega_c$ | -36.1 dB | -56.7 dB |
| $\omega = 3\omega_c$ | -57.3 dB | -80.0 dB |
At the same order, beyond the transition band the Chebyshev filter attenuates about 20 dB more.
Phase response
Phase response
The phase response $\phi(\omega)$ of a filter is defined as the argument of the transfer function $H(j\omega)$:
\begin{equation} \phi(\omega) = \arg H(j\omega) = \tan^{-1}\left(\dfrac{\text{Im}[H(j\omega)]}{\text{Re}[H(j\omega)]}\right) \label{eq:phase} \end{equation}For an $n$-th order all-pole low-pass filter, the phase starts at $0^\circ$ at $\omega = 0$ and asymptotically approaches $-n \times 90^\circ$ as $\omega \to \infty$.
The phase drawback of the Chebyshev filter
The phase response of the Chebyshev filter is more nonlinear than that of the Butterworth filter. In particular, the phase changes rapidly near the passband edge (around the cutoff frequency).
This is because the Chebyshev poles lie on an ellipse and sit closer to the real axis. The closer a pole is to the real axis, the more rapidly the phase changes at the corresponding frequency.
Applications where phase linearity matters: in applications that must preserve waveform shape, such as audio and video signal processing, phase linearity is important. For these, Bessel filters and linear-phase FIR filters are preferred.
Group-delay response
Definition of group delay
The group delay $\tau_g(\omega)$ is defined as the negative derivative of the phase with respect to frequency:
\begin{equation} \tau_g(\omega) = -\dfrac{d\phi(\omega)}{d\omega} \label{eq:group-delay} \end{equation}The group delay represents the time it takes for a given frequency component to pass through. The envelope delay of a narrowband signal can be approximated by the group delay at its center frequency.
Group delay of the Chebyshev filter
The group delay of a Chebyshev filter has the following features:
- Ripple in the passband: like the magnitude, the group delay oscillates in the passband.
- Peak near cutoff: the group delay rises sharply near the cutoff frequency.
- Larger ripple means a larger group-delay peak.
Group delay of a second-order section
For a second-order section with poles $p = -\sigma + j\omega_0$ ($\sigma > 0$), the group delay is:
\begin{equation} \tau_g(\omega) = \dfrac{2\sigma}{\sigma^2 + (\omega - \omega_0)^2} + \dfrac{2\sigma}{\sigma^2 + (\omega + \omega_0)^2} \label{eq:tau-2nd} \end{equation}The closer the poles are to the real axis (smaller $\sigma$), the larger the group-delay peak near $\omega = \omega_0$. Because the Chebyshev poles are closer to the real axis than Butterworth's, the group-delay peak is larger.
Numerical example of group delay
| Filter | Group delay at DC | Maximum group delay | Variation ratio |
|---|---|---|---|
| Butterworth 6th | $6.0 / \omega_c$ | $8.2 / \omega_c$ | 1.37 |
| Chebyshev 6th (0.5dB) | $7.5 / \omega_c$ | $16.8 / \omega_c$ | 2.24 |
| Chebyshev 6th (1dB) | $8.7 / \omega_c$ | $22.1 / \omega_c$ | 2.54 |
| Chebyshev 6th (3dB) | $12.4 / \omega_c$ | $45.3 / \omega_c$ | 3.65 |
The larger the ripple, the more violent the group-delay variation. At 3 dB ripple, the maximum group delay reaches about 3.6 times its DC value.
Waveform degradation from group-delay distortion: when the group delay varies strongly with frequency, signals rich in harmonics — pulses, step inputs, square waves — suffer overshoot and ringing from the non-uniform group delay across the passband, and the waveform is badly distorted. For applications where time-domain waveform quality matters, either set a small ripple to flatten the group delay, or consider a flat-group-delay Bessel filter or a linear-phase FIR filter (or a Gaussian filter).
Computing the group delay in Python
import numpy as np
from scipy.signal import cheby1, group_delay
import matplotlib.pyplot as plt
# 6th-order Chebyshev Type I, 1 dB ripple
n = 6
rp = 1.0
b, a = cheby1(n, rp, 1, analog=False, fs=100)
# Compute the group delay
w, gd = group_delay((b, a), fs=100)
# Plot
plt.figure(figsize=(10, 4))
plt.plot(w, gd)
plt.xlabel('Frequency [Hz]')
plt.ylabel('Group delay [samples]')
plt.title(f'Chebyshev Type I (n={n}, ripple={rp}dB) Group Delay')
plt.grid(True)
plt.xlim(0, 5)
plt.show()
Pole Q and practical constraints
The poles of a Chebyshev filter lie on an ellipse, and their Q factor (quality factor) is determined by the order and the ripple. High-Q poles cause the following problems in circuit implementation.
What is Q?
For a second-order section with poles $p = \sigma + j\omega_d$ ($\sigma = \mathrm{Re}(p) < 0$), the Q factor is defined using the natural angular frequency $\omega_0 = |p|$ (the pole magnitude):
\begin{equation} Q = \dfrac{|p|}{2\,|\mathrm{Re}(p)|} = \dfrac{\omega_0}{2|\sigma|}, \qquad \omega_0 = |p| = \sqrt{\sigma^2 + \omega_d^2} \end{equation}A higher Q means the pole is closer to the imaginary axis (smaller damping), producing a sharp peak in the frequency response.
Q trends of the Chebyshev filter
For the Chebyshev filter, the maximum Q rises sharply as the order increases and as the ripple increases. Below are the Q values of the second-order section with the highest Q.
| Order $n$ | 0.1 dB ripple | 0.5 dB ripple | 1.0 dB ripple | 3.0 dB ripple |
|---|---|---|---|---|
| 2 | 0.96 | 0.86 | 0.96 | 1.30 |
| 4 | 1.80 | 2.94 | 3.56 | 5.58 |
| 6 | 2.79 | 5.56 | 7.99 | 17.4 |
| 8 | 3.84 | 8.41 | 13.0 | 36.4 |
| 10 | 4.91 | 11.4 | 18.4 | 62.9 |
Problems caused by high Q
- Component sensitivity: with high Q, a small change in a resistor or capacitor value changes the response significantly.
- Noise amplification: a high-Q section has high gain at specific frequencies and tends to amplify noise.
- Risk of oscillation: if the op-amp bandwidth or slew rate is insufficient, the circuit may oscillate.
- Practical component limits: in a Sallen-Key circuit, $Q > 10$ leads to extreme component ratios.
Component-sensitivity comparison with Butterworth
Compared with a Butterworth filter of the same order, the Chebyshev filter is more sensitive to component tolerances. This is because the Chebyshev poles sit closer to the imaginary axis and have higher Q.
| Filter type | Tolerance sensitivity | Recommended precision |
|---|---|---|
| Butterworth | Low–medium | 5% is usable |
| Chebyshev (0.5 dB or less) | Medium | 2–5% |
| Chebyshev (1 dB or more) | High | 1–2% |
When high-precision components are hard to obtain, or in environments with large temperature swings, choosing Butterworth over Chebyshev can give a more stable response.
Practical guideline: in active filters (Sallen-Key, MFB) it is desirable to keep $Q < 10$. When high Q is needed, it is often more stable to use a state-variable or biquad circuit, or to design for low ripple and increase the order instead.
Options for lowering Q
- Reduce the ripple: a ripple of 0.1 dB or less lowers Q substantially.
- Lower the order: choose the minimum order that just meets the required attenuation.
- Consider Butterworth: at the same order it has lower Q and is easier to implement.
Impulse and step response
Time-domain behavior
A filter's time-domain behavior is closely tied to its frequency response (especially the group delay).
- Impulse response: the larger the group-delay variation, the longer the ringing lasts.
- Step response: the larger the group-delay peak, the larger the overshoot.
Overshoot comparison
| Filter | Step-response overshoot |
|---|---|
| Bessel 6th | 0.8% |
| Butterworth 6th | 14.3% |
| Chebyshev 6th (0.5dB) | 18.7% |
| Chebyshev 6th (1dB) | 21.0% |
| Chebyshev 6th (3dB) | 27.5% |
The Chebyshev filter has excellent frequency selectivity but a poorer transient response. One must weigh the trade-off according to the application.
VSWR (Voltage Standing Wave Ratio)
VSWR in RF filters
In RF (high-frequency) and microwave applications, impedance matching of the filter is important. VSWR (Voltage Standing Wave Ratio) is a measure of the degree of impedance mismatch.
\begin{equation} \text{VSWR} = \dfrac{1 + |\Gamma|}{1 - |\Gamma|} \label{eq:vswr} \end{equation}Here $\Gamma$ is the reflection coefficient. VSWR = 1 is ideal (perfect match); larger values mean a larger mismatch.
The Chebyshev filter and VSWR
A Chebyshev filter realized as a doubly-terminated lossless LC ladder shows an equiripple reflection in the passband. This is a favorable property from the VSWR standpoint (it assumes this prototype and does not hold in general for active filters or arbitrary implementations).
The relationship between passband ripple $r$ [dB] and the maximum VSWR:
\begin{equation} \text{VSWR}_{\max} = \dfrac{1 + \sqrt{1 - 10^{-r/10}}}{1 - \sqrt{1 - 10^{-r/10}}} \label{eq:vswr-ripple} \end{equation}| Ripple [dB] | Max VSWR | Return loss [dB] |
|---|---|---|
| 0.010 | 1.10 | 26.4 |
| 0.036 | 1.20 | 20.8 |
| 0.075 | 1.30 | 17.7 |
| 0.122 | 1.40 | 15.6 |
| 0.177 | 1.50 | 14.0 |
| 0.302 | 1.70 | 11.7 |
| 0.512 | 2.00 | 9.5 |
Recommendation for RF design: many RF systems require VSWR ≤ 1.5, which corresponds to a ripple of about 0.18 dB. If a stricter VSWR ≤ 1.2 is needed, choose a ripple of about 0.04 dB.
VSWR comparison with Butterworth
The Butterworth filter is maximally flat in the passband, but its VSWR is largest at the passband edge and improves gradually toward DC.
The Chebyshev filter has equiripple VSWR across the whole passband, so it more easily guarantees the worst-case VSWR. This is one reason Chebyshev responses are favored for RF filters.
VSWR and stability when cascaded
The equiripple property of the Chebyshev filter is advantageous when connecting to other circuits. Passband ripple means, in other words, that the VSWR stays within a fixed range across the whole passband.
As a result, compared with a maximally flat filter such as Butterworth, the impedance variation caused by signal reflection between connected circuits (so-called "signal ripple/instability") becomes predictable and uniform, making whole-system design easier.
Benefit in RF/microwave design: because VSWR is guaranteed within the passband, it becomes easier to design input-impedance matching for downstream circuits such as amplifiers and mixers. In particular, the interaction between cascaded filters is easier to predict.
Type II characteristics
Magnitude response
The Chebyshev Type II has a monotonically decreasing passband and equiripple in the stopband. In the stopband, the attenuation never drops below a fixed floor (the stopband attenuation specified at design time).
Phase and group-delay characteristics
Because the Type II has no zeros in the passband, its phase response is better than the Type I's, and its group-delay variation also tends to be smaller than the Type I's.
However, because it has zeros (transmission zeros) in the stopband, the group delay shows complex behavior there.
Analysis in Python
import numpy as np
from scipy.signal import cheby1, cheby2, butter, freqs, group_delay
import matplotlib.pyplot as plt
def analyze_filter(b, a, label, omega):
"""Compute the magnitude, phase and group delay"""
w, H = freqs(b, a, omega)
magnitude_db = 20 * np.log10(np.abs(H))
phase_deg = np.unwrap(np.angle(H)) * 180 / np.pi
# Group delay (numerical derivative)
phase_rad = np.unwrap(np.angle(H))
group_delay = -np.gradient(phase_rad, w)
return magnitude_db, phase_deg, group_delay
# Frequency axis
omega = np.logspace(-1, 1, 1000)
# Filter design
n = 6
b_butter, a_butter = butter(n, 1, analog=True)
b_cheby1_05, a_cheby1_05 = cheby1(n, 0.5, 1, analog=True)
b_cheby1_1, a_cheby1_1 = cheby1(n, 1.0, 1, analog=True)
b_cheby2, a_cheby2 = cheby2(n, 40, 1, analog=True)
# Analysis
filters = [
(b_butter, a_butter, 'Butterworth'),
(b_cheby1_05, a_cheby1_05, 'Chebyshev I (0.5dB)'),
(b_cheby1_1, a_cheby1_1, 'Chebyshev I (1dB)'),
(b_cheby2, a_cheby2, 'Chebyshev II (40dB)')
]
fig, axes = plt.subplots(3, 1, figsize=(10, 10))
for b, a, label in filters:
mag, phase, gd = analyze_filter(b, a, label, omega)
axes[0].semilogx(omega, mag, label=label)
axes[1].semilogx(omega, phase, label=label)
axes[2].semilogx(omega, gd, label=label)
axes[0].set_ylabel('Magnitude [dB]')
axes[0].set_ylim(-80, 5)
axes[0].legend()
axes[0].grid(True)
axes[1].set_ylabel('Phase [degrees]')
axes[1].legend()
axes[1].grid(True)
axes[2].set_xlabel('Frequency [rad/s]')
axes[2].set_ylabel('Group Delay [s]')
axes[2].set_ylim(0, 30)
axes[2].legend()
axes[2].grid(True)
plt.tight_layout()
plt.show()
Overall comparison of filter types
Here the Chebyshev filter is compared with other representative filter types. Use it as a reference for choosing an appropriate filter for your application.
| Property | Bessel | Butterworth | Chebyshev | Elliptic |
|---|---|---|---|---|
| Group-delay flatness | Best | Good | Poor | Worst |
| Passband flatness | Poor | Best (maximally flat) | Has ripple | Has ripple |
| Roll-off steepness | Gentlest | Gentle | Steep | Steepest |
| Phase linearity | Best (linear) | Good | Nonlinear | Most nonlinear |
| Step-response overshoot | Smallest (≈1%) | Moderate (≈14%) | Large (18–28%) | Largest |
| Component sensitivity | Low | Low–medium | Medium–high | High |
| Order for the same attenuation spec | Largest | Large | Medium | Smallest |
Recommended filter by application
- Preserve the waveform (audio, video, data communication)
- Bessel filter, or a linear-phase FIR filter
- Passband flatness matters (instrumentation, sensor signal processing)
- Butterworth filter
- Adjacent-channel rejection / frequency selectivity matters (RF, wireless)
- Chebyshev filter (Type I or II)
- Steepest transition at the minimum order (when component count is limited)
- Elliptic filter
- Radar signal processing, wireless communication systems
- Chebyshev or elliptic filter (depending on application requirements)
Design trade-offs: filter design is always a matter of trade-offs. A steeper roll-off worsens the group-delay characteristic, while a flatter group delay gives a gentler roll-off. It is important to decide what to prioritize within the requirements before choosing a filter type.
Frequently Asked Questions
Q1: What kind of filter is a Chebyshev filter?
A: A Chebyshev filter is an analog filter whose transfer function is built from Chebyshev polynomials. It comes in Type I (equiripple passband, monotonic stopband) and Type II (monotonic passband, equiripple stopband), and achieves a steeper transition than a Butterworth filter of the same order.
Q2: How do ripple and order trade off in a Chebyshev filter?
A: Increasing the passband ripple amount ε gives a steeper transition (higher stopband attenuation) at the same order; decreasing the ripple makes the transition gentler. The minimum required order can be computed from the design spec (passband ripple, stopband attenuation, transition bandwidth).
Q3: Why are Chebyshev polynomials important in filter design?
A: The Chebyshev polynomial T_n(x) satisfies |T_n(x)|<=1 on [-1,1] while having the smallest maximum among all n-th degree polynomials with the same leading coefficient (the equioscillation property). Using this, the frequency response is made equiripple, realizing the steepest transition for a given order.