Digital Filters Cheat Sheet – Complete Reference Guide

Introduction

Digital filters are mathematical algorithms that process digital signals to remove unwanted components, enhance desired features, or extract specific information. They are essential in signal processing, audio engineering, telecommunications, image processing, and control systems. Unlike analog filters, digital filters offer precise control, stability, and reproducibility while being immune to component aging and environmental variations.

Core Concepts and Principles

Fundamental Properties

Linearity: Output for sum of inputs equals sum of individual outputs Time Invariance: Filter characteristics don’t change over time
Causality: Output depends only on current and past inputs, not future
Stability: Bounded input produces bounded output (BIBO stable)

Key Parameters

ParameterDescriptionImpact
Cutoff FrequencyFrequency at which response drops by 3dBDefines filter bandwidth
Sampling RateRate at which analog signal is digitizedDetermines maximum processable frequency
Filter OrderNumber of poles/zeros in transfer functionHigher order = steeper rolloff, more delay
RippleVariation in passband/stopband responseTrade-off with transition sharpness
Group DelayTime delay through filterAffects phase response and transients

Frequency Response Regions

  • Passband: Frequencies allowed to pass with minimal attenuation
  • Stopband: Frequencies significantly attenuated
  • Transition Band: Region between passband and stopband
  • Rolloff Rate: Steepness of transition (dB/octave or dB/decade)

Digital Filter Types and Classifications

By Impulse Response

TypeCharacteristicsAdvantagesDisadvantages
FIR (Finite)Finite duration responseAlways stable, linear phase possibleHigher order needed, more computation
IIR (Infinite)Infinite duration responseLower order, efficientCan be unstable, nonlinear phase

By Frequency Response

Low-Pass: Passes low frequencies, attenuates high frequencies
High-Pass: Passes high frequencies, attenuates low frequencies
Band-Pass: Passes specific frequency band
Band-Stop/Notch: Attenuates specific frequency band
All-Pass: Passes all frequencies, modifies phase only

By Implementation Structure

Direct Form I/II: Basic canonical structures
Cascade: Series connection of second-order sections
Parallel: Parallel connection of simpler filters
Lattice: Based on reflection coefficients

Step-by-Step Filter Design Process

1. Specification Phase

  • Define filter type (LP, HP, BP, BS)
  • Set passband/stopband frequencies
  • Specify allowable ripple and attenuation
  • Determine sampling frequency
  • Choose FIR vs IIR based on requirements

2. Design Method Selection

For FIR Filters:

  • Window Method: Apply window function to ideal impulse response
  • Frequency Sampling: Specify desired frequency response points
  • Optimal (Parks-McClellan): Minimize maximum error in specified bands

For IIR Filters:

  • Impulse Invariance: Match analog filter’s impulse response
  • Bilinear Transform: Map analog s-plane to digital z-plane
  • Direct Digital Design: Design directly in z-domain

3. Implementation and Testing

  • Convert to difference equation or transfer function
  • Choose appropriate numerical precision
  • Implement in target platform
  • Verify frequency response and stability
  • Test with real signals

Key Design Techniques and Methods

FIR Filter Design

Window Method

h[n] = h_ideal[n] × w[n]
Window TypeMain Lobe WidthSide Lobe LevelTransition Width
Rectangular4Ï€/N-13 dBNarrowest
Hamming8Ï€/N-43 dBModerate
Hanning8Ï€/N-32 dBModerate
Blackman12Ï€/N-58 dBWidest
KaiserVariableVariableAdjustable

Parks-McClellan (Equiripple)

  • Optimal in minimax sense
  • Equal ripple in passband and stopband
  • Requires specification of band edges and weights
  • Uses Remez exchange algorithm

IIR Filter Design

Analog Prototype Filters

Filter TypeCharacteristicsBest For
ButterworthMaximally flat passbandSmooth response, no ripple
Chebyshev IRipple in passbandSharp transition, acceptable passband ripple
Chebyshev IIRipple in stopbandSharp transition, acceptable stopband ripple
EllipticRipple in both bandsSharpest transition for given order
BesselLinear phase approximationMinimal phase distortion

Bilinear Transform

s = (2/T) × (1-z^-1)/(1+z^-1)
  • Maps entire s-plane to z-plane
  • Preserves stability
  • Introduces frequency warping

Common Implementation Structures

Direct Form Structures

Direct Form I: Separate delay lines for zeros and poles
Direct Form II: Single delay line, canonical form

Advantages: Simple, direct from transfer function
Disadvantages: Sensitive to coefficient quantization

Cascade Form

  • Break high-order filter into second-order sections
  • Better numerical properties
  • Easier to implement complex filters

Parallel Form

  • Sum of first and second-order sections
  • Good for filters with multiple resonances
  • Parallel processing possible

Practical Design Considerations

Numerical Issues

Coefficient Quantization

  • Use sufficient precision for coefficients
  • Consider fixed-point vs floating-point implementation
  • Monitor filter performance degradation

Arithmetic Precision

  • Accumulator width affects noise and overflow
  • Guard bits prevent intermediate overflow
  • Rounding vs truncation trade-offs

Overflow and Scaling

  • Scale signals to prevent overflow
  • Use appropriate data word lengths
  • Consider dynamic range requirements

Real-Time Implementation

Computational Complexity

  • FIR: N multiplications per sample
  • IIR: Typically 4-6 operations per second-order section
  • Consider available processing power

Memory Requirements

  • FIR: N delay elements
  • IIR: 2 delay elements per second-order section
  • Buffer management for block processing

Latency Considerations

  • FIR: (N-1)/2 samples delay
  • IIR: Minimal delay but phase nonlinearity
  • System latency requirements

Common Challenges and Solutions

Challenge: Filter Instability (IIR)

Causes: Poles outside unit circle, coefficient quantization
Solutions: Use cascade form, check pole locations, increase precision

Challenge: Linear Phase Requirements

Problem: IIR filters have nonlinear phase
Solutions: Use FIR filters, zero-phase filtering (offline), all-pass correction

Challenge: Sharp Transition Requirements

Problem: High-order filters needed
Solutions: Multi-stage filtering, different filter types, relaxed specifications

Challenge: Real-Time Processing Constraints

Problem: Limited computation time/memory
Solutions: Efficient structures, block processing, specialized hardware

Challenge: Frequency Warping (Bilinear Transform)

Problem: Nonlinear frequency mapping
Solutions: Pre-warp critical frequencies, use impulse invariance method

Best Practices and Tips

Design Phase

  • Always specify requirements clearly before starting
  • Use normalized frequencies for portability
  • Consider the complete system, not just the filter
  • Plot frequency responses to verify design
  • Test with realistic input signals

Implementation Phase

  • Use appropriate numerical precision
  • Implement overflow protection
  • Consider coefficient sensitivity
  • Use efficient filter structures
  • Document filter parameters and limitations

Testing and Validation

  • Verify frequency response matches specifications
  • Test stability with various inputs
  • Check transient response
  • Measure actual computational load
  • Validate in target environment

Optimization Strategies

  • Use symmetry in FIR coefficients
  • Implement efficient multiply-accumulate operations
  • Consider multirate techniques for wideband applications
  • Use look-up tables for fixed coefficients
  • Optimize for target processor architecture

Quick Reference Formulas

Filter Order Estimation

FIR (Kaiser Window):

N ≈ (A - 8)/(2.285 × Δω)
where A = desired stopband attenuation (dB)
      Δω = transition width (rad/sample)

IIR (Butterworth):

N = log10(10^(As/10) - 1) / (2 × log10(ωs/ωp))
where As = stopband attenuation
      ωs, ωp = stopband, passband frequencies

Key Relationships

  • Nyquist Frequency: fn = fs/2
  • Normalized Frequency: Ω = 2Ï€f/fs
  • 3dB Frequency: |H(ω)| = 1/√2 = 0.707

Tools and Software Resources

MATLAB/Octave Functions

  • butter, cheby1, cheby2, ellip – IIR design
  • fir1, fir2, firpm – FIR design
  • freqz – Frequency response analysis
  • zplane – Pole-zero plot
  • filter, filtfilt – Signal filtering

Python Libraries

  • SciPy: scipy.signal module
  • NumPy: Basic array operations
  • Matplotlib: Plotting and visualization

Design Software

  • Filter Design HDL Coder (MATLAB)
  • SystemView (Keysight)
  • FilterPro (Texas Instruments)
  • Nuhertz Filter Solutions

Further Learning Resources

Essential Books

  • “Digital Signal Processing” by Proakis & Manolakis
  • “Discrete-Time Signal Processing” by Oppenheim & Schafer
  • “Digital Filter Design” by Parks & Burrus

Online Resources

  • DSP Guide (dspguide.com) – Free comprehensive tutorial
  • IEEE Signal Processing Society educational resources
  • Coursera/edX signal processing courses
  • MATLAB/Simulink documentation and examples

Practical Applications

  • Audio processing and music production
  • Communications systems design
  • Control system implementation
  • Image and video processing
  • Biomedical signal analysis

This cheatsheet provides a comprehensive overview of digital filter design and implementation. For specific applications, always verify requirements and test thoroughly in the target environment.

Scroll to Top