A low pass filter frequency response describes how a circuit attenuates high-frequency signals while allowing low-frequency signals to pass through unchanged, typically mapped as decibels (dB) of gain or loss across a logarithmic spectrum of Hertz (Hz). In a real circuit, this response dictates how effectively you can strip high-frequency switching noise from a sensor line, convert a digital PWM signal into a clean analog DC voltage, or prevent aliasing before an analog-to-digital converter (ADC). Think of it like a water pipe feeding a surge tank: rapid, high-frequency pulsations in water pressure get absorbed by the tank's volume, while a slow, steady increase in flow passes straight through to the outlet. To design these circuits reliably, you need to look past the basic formula and understand exactly how the signal degrades across the spectrum.
The Math and the Roll-Off: Reading the Response Table
The defining characteristic of any low pass filter is its cutoff frequency ($f_c$), the point where the output power drops to exactly half of the input power. In voltage terms, this is the -3.01 dB point, where the output voltage falls to 70.7% ($1/\sqrt{2}$) of the input. For a standard first-order passive RC (resistor-capacitor) filter, the cutoff is calculated as $f_c = 1 / (2\pi RC)$. Beyond this corner frequency, the filter enters the stop-band, attenuating the signal at a fixed rate of -20 dB per decade (or -6 dB per octave).
While the formula gives you the corner, the table below shows you the actual behavior across the spectrum. This data is critical when you need to know exactly how much noise remains at a specific harmonic.
| Frequency Ratio ($f / f_c$) | Attenuation (dB) | Voltage Output (% of In) | Phase Shift | Practical Circuit Meaning |
|---|---|---|---|---|
| 0.1 (One decade below) | -0.04 dB | 99.5% | -5.7° | Pass-band: Signal is virtually untouched. |
| 0.5 (Half octave below) | -0.97 dB | 89.4% | -26.6° | Transition begins: Slight amplitude loss, noticeable phase lag. |
| 1.0 (Cutoff Frequency) | -3.01 dB | 70.7% | -45.0° | Corner frequency: Power is halved, phase is exactly -45°. |
| 2.0 (One octave above) | -6.99 dB | 44.7% | -63.4° | Stop-band: Signal is heavily degraded, approaching the -20dB/decade slope. |
| 10.0 (One decade above) | -20.04 dB | 10.0% | -84.3° | Deep stop-band: 90% of the voltage amplitude is blocked. |
As noted in foundational texts like All About Circuits, the phase shift is just as important as the amplitude drop in feedback loops. At the cutoff frequency, the signal is delayed by exactly 45 degrees, which can introduce instability if this filter is placed inside an op-amp feedback network without compensation.
Worked Numeric Example: Smoothing ESP32 PWM to DC
Let's apply this to a common bench scenario: you are using an ESP32-C6 to generate a 5,000 Hz (5 kHz) PWM signal to control a 0-3.3V analog input on an external motor driver, but the driver requires a smooth DC voltage, not a digital square wave. We need to design a first-order RC low pass filter to smooth the PWM.
Design Target: To effectively smooth a 5 kHz square wave into DC, the filter's cutoff frequency ($f_c$) should be at least one decade (10x) lower than the fundamental PWM frequency. Therefore, we target $f_c = 500$ Hz.
Step 1: Choose the Resistor (R)
ESP32 GPIO pins can technically source up to 40 mA, but best practice for longevity and to prevent internal voltage sag is to keep the continuous draw under 5 mA. If we use a 10 kΩ resistor, the maximum current draw at 3.3V is just 0.33 mA ($I = V/R = 3.3 / 10000$). This is perfectly safe and keeps the GPIO happy.
Step 2: Calculate the Capacitor (C)
Rearranging the cutoff formula to solve for C:
$C = 1 / (2\pi \times R \times f_c)$
$C = 1 / (2\pi \times 10,000 \Omega \times 500 \text{ Hz})$
$C \approx 31.83 \text{ nF}$
Step 3: Select Standard Values and Verify
Capacitors are manufactured in standard E12 or E24 series values. The closest standard value to 31.83 nF is 33 nF. Let's recalculate the actual cutoff frequency with this real-world part:
$f_c = 1 / (2\pi \times 10,000 \times 33 \times 10^{-9}) = 482.3 \text{ Hz}$
Step 4: Check the Attenuation at the PWM Frequency
Our PWM fundamental is at 5,000 Hz. The frequency ratio is $5000 / 482.3 = 10.36$. Looking at our table above, a ratio of 10 yields -20 dB of attenuation. This means the 3.3V peak-to-peak ripple of the PWM square wave will be reduced by a factor of 10, leaving a residual ripple of roughly 0.33V peak-to-peak. For many basic motor drivers, this is acceptable. If you need cleaner DC (e.g., less than 50mV ripple), you must either increase the PWM frequency to 20 kHz or upgrade to a second-order active Sallen-Key filter to achieve a -40 dB/decade roll-off.
Where You Meet Low Pass Filters in Practice
You will encounter low pass filter frequency responses in almost every mixed-signal and power electronics project. Here is where they do the heavy lifting:
- ADC Anti-Aliasing: According to the Nyquist-Shannon sampling theorem, you must sample at least twice the highest frequency present in your signal. If your ESP32 ADC is sampling at 1 kHz, any noise above 500 Hz will 'fold back' and appear as false low-frequency data. A hardware low pass filter set to 400 Hz physically destroys this high-frequency noise before the ADC can digitize it.
- Audio Crossovers: In a 2.1 speaker system, the subwoofer amplifier uses a low pass filter (often an active 2nd or 4th order Butterworth design) with a cutoff around 80 Hz to 120 Hz. This ensures the subwoofer only reproduces deep bass, preventing it from wasting power and creating distortion on mid-range vocals.
- Sensor Signal Conditioning: Thermocouples and load cells output tiny millivolt signals that easily pick up 50/60 Hz mains hum and high-frequency RF interference from nearby switching power supplies. A low pass filter tuned to 10 Hz strips out the AC noise while preserving the slow-changing DC temperature or weight data.
Common Confusions: Cutoff vs. Stop-Band and Loading Effects
When reading electronics tutorials or designing on the bench, hobbyists frequently fall into two specific traps regarding filter response.
Trap 1: The '-3dB is a Brick Wall' Fallacy
The most common mistake is assuming the cutoff frequency is a hard boundary where high frequencies 'stop'. It is not. At $f_c$, the signal is still passing at 70.7% of its original voltage. If you are trying to block a 1 MHz switching noise spike from a buck converter, and you set your filter's $f_c$ to 1 MHz, you are still letting 70.7% of that noise through to your sensitive analog rail. You must set $f_c$ at least one or two decades below the noise frequency you want to eliminate.
Trap 2: Ignoring the Load Impedance
The math for $f_c = 1 / (2\pi RC)$ assumes the filter is driving an infinite impedance (an open circuit). In reality, your filter drives a load—like an oscilloscope probe (1 MΩ), an ADC input (often 10 kΩ to 100 kΩ), or an audio amplifier (10 kΩ). If you build a passive RC filter with a 10 kΩ resistor and a 100 nF capacitor ($f_c = 159$ Hz), and then connect it to a load that also has an input impedance of 10 kΩ, the two resistors form a voltage divider. More critically, the effective Thevenin resistance seen by the capacitor drops to 5 kΩ. Your actual cutoff frequency instantly doubles to 318 Hz, and your maximum DC voltage is halved. To fix this, always buffer a passive RC filter with a unity-gain op-amp (voltage follower) before feeding it into a low-impedance load, or ensure your filter resistor is at least 10x smaller than the load impedance.






