A programmable notch filter is an electronic circuit that selectively blocks a specific, user-adjustable frequency band while passing all others, with its center rejection frequency tuned via digital or analog control signals rather than fixed passive components. In practical circuit design, this component changes how we handle environmental interference: instead of locking a design into a single, fixed rejection frequency that might miss drifting noise, a programmable notch allows a single PCB to dynamically track and eliminate variable interference—like shifting grid frequencies or variable-speed motor whine—without requiring physical component swaps or manual trimming.

Core Specifications and Filter Topologies

Not all programmable notch filters are built the same way. The topology you choose dictates your frequency range, tuning resolution, and the amount of secondary noise (like clock feedthrough) you will have to manage on the bench. Below is a comparison of the four primary hardware topologies used in modern mixed-signal designs.

Topology Tuning Mechanism Frequency Range Max Q-Factor Secondary Noise Example IC / BOM Est. BOM Cost
Switched-Capacitor External Clock / SPI 0.1 Hz – 100 kHz 100+ High (Clock feedthrough) LTC1068-100 ~$14.50
State-Variable Digital Potentiometer 10 Hz – 500 kHz ~50 None (Continuous time) UAF42 + MCP41010 ~$18.00
Gm-C (Transconductance) Control Current (DAC) 100 kHz – 10 MHz ~20 None LT1567 ~$11.00
DSP (Analog Front-End) I2C / UART / SPI DC – Fs/2 Infinite (Software) Quantization Noise ADAU1701 ~$25.00

For low-frequency sensor conditioning (under 100 kHz), switched-capacitor and state-variable topologies dominate. Switched-capacitor filters replace physical resistors with capacitors that are rapidly switched by a clock signal; the effective resistance is inversely proportional to the clock frequency. State-variable filters, on the other hand, rely on continuous-time op-amp integrators where the resistors are swapped out for digital potentiometers controlled via SPI or I2C.

Worked Numeric Example: Tuning a 60 Hz Hum Rejection

Let’s look at a common bench scenario: you are amplifying a low-level strain gauge signal, and it is contaminated by 60 Hz mains hum. However, the local grid isn't perfectly stable. Under heavy industrial load, the grid frequency drifts to 60.15 Hz. A fixed Twin-T notch filter tuned to exactly 60.00 Hz with a high Q-factor will completely miss this 60.15 Hz interference, allowing it to saturate your ADC.

We will use a switched-capacitor programmable notch filter (like the LTC1068-100) which has a center-frequency-to-clock ratio of 100:1. The governing equation is:

fnotch = fclk / 100

Step 1: Calculate the baseline clock.
To notch exactly 60.00 Hz, the required clock frequency is:
f_clk = 60.00 Hz × 100 = 6000 Hz

Step 2: Adjust for grid drift.
Your microcontroller’s FFT routine detects the hum has shifted to 60.15 Hz. You must update the hardware filter in real-time.
f_clk = 60.15 Hz × 100 = 6015 Hz

Step 3: Microcontroller Timer Configuration.
To generate exactly 6015 Hz from a standard 16 MHz system clock, you configure a hardware timer with a specific prescaler and compare match register.
Divider = 16,000,000 / 6015 = 2660.016
Setting the timer divider to 2660 yields a clock of 6015.03 Hz. This 0.0005% error is well within the bandwidth of a notch filter with a Q of 20, ensuring the 60.15 Hz hum is deeply attenuated.

Bench Gotcha: Clock Feedthrough
Switched-capacitor ICs inject the clock frequency (and its harmonics) directly into the analog signal path. In our example, a 6015 Hz clock will appear as a ripple on the output. You must follow the programmable notch filter with a simple, fixed 2nd-order Butterworth low-pass filter (set around 1 kHz) to strip out this clock feedthrough before the signal hits your ADC.

Where You Meet Programmable Notch Filters in Practice

You will rarely see a programmable notch filter in basic consumer electronics, but they are ubiquitous in precision measurement and industrial control systems.

  • Biomedical Instrumentation (ECG/EEG): Electrocardiogram machines must reject 50 Hz (EU) or 60 Hz (US) mains interference picked up by the patient's body. Programmable filters allow a single medical device SKU to be shipped globally; the firmware simply reads the local grid frequency and sets the notch accordingly.
  • Variable Frequency Drives (VFDs): Motor controllers generate massive PWM switching noise. As the motor speed changes, the carrier frequency or its mechanical resonance harmonics shift. A programmable notch tracks these shifting harmonics to keep the feedback encoder signals clean.
  • Audio Parametric Equalizers: In professional audio, "ringing out" a room requires sweeping a narrow notch filter to find and eliminate acoustic feedback frequencies. Hardware programmable state-variable filters allow analog mixing consoles to offer sweepable mid-band EQ without relying on digital conversion.
  • Strain Gauges and Load Cells: Mechanical structures have specific resonant frequencies that can alias into sensor readings. If the physical load changes the structural resonance, a programmable notch tracks the mechanical shifting to prevent false trigger readings.

Common Confusions and Hardware vs. DSP Trade-offs

When specifying these circuits, engineers and hobbyists frequently confuse a programmable notch filter with three other concepts:

  1. Fixed Notch Filters (Twin-T): A Twin-T network uses fixed resistors and capacitors to create a null. It is cheap and requires no power, but its center frequency is locked at the time of soldering. If the components age or temperature drifts, the notch shifts unpredictably.
  2. Bandpass Filters: A bandpass filter does the exact opposite—it only passes a specific frequency and rejects everything else. A notch (band-reject) filter passes everything except the target frequency.
  3. Software DSP Notches: Many designers assume they can just sample the noisy signal and apply a digital notch filter in software (e.g., on an ESP32 or STM32). While DSP is highly flexible, it fundamentally misunderstands ADC headroom.
The ADC Headroom Rule: Why Use Analog Hardware?
Why buy a $15 analog programmable notch IC when your microcontroller can do DSP math for free? Because of dynamic range. If your sensor outputs a 10 mV signal, but it is riding on a 2 V peak-to-peak 60 Hz hum, the hum dictates your ADC range. You must use a high-resolution (and expensive) 24-bit ADC just to capture the 10 mV signal without clipping the 2 V hum. By placing an analog programmable notch filter before the ADC, you strip out the 2 V hum in the analog domain. This allows you to amplify the 10 mV signal and use a much cheaper, faster 12-bit or 16-bit ADC. For deeper active filter design theory, refer to the Texas Instruments Active Filter Design guide (SLOA088) or explore continuous-time resonance concepts via All About Circuits.

Frequently Asked Questions

Can I use a digital potentiometer to tune a standard Twin-T notch filter?
Technically yes, but it is highly discouraged. The Twin-T topology requires perfectly matched component ratios (e.g., exactly 2:1) to achieve a deep null. Digital potentiometers have poor absolute tolerance (often ±20%) and wiper resistance that will ruin the notch depth, turning a 60dB rejection into a shallow 10dB dip. State-variable topologies are much more forgiving of digital pot tolerances.

What happens if my clock frequency has jitter?
In a switched-capacitor programmable notch filter, clock jitter translates directly into phase noise and a widening of the notch bandwidth. If you are trying to notch a very narrow interference spike (high Q), you must use a low-jitter crystal oscillator or a clean hardware timer output from your microcontroller, never a software-toggled GPIO pin.

Do I need to worry about aliasing with switched-capacitor filters?
Yes. Switched-capacitor filters are inherently sampled-data systems. If your input signal contains high-frequency noise above the Nyquist limit of the filter's internal clock (f_clk / 2), that noise will alias down into your baseband and corrupt your measurement. Always precede a switched-capacitor filter with a simple analog RC anti-aliasing low-pass filter.