Fiveable

📡Bioengineering Signals and Systems Unit 10 Review

QR code for Bioengineering Signals and Systems practice questions

10.3 Filter implementation structures

10.3 Filter implementation structures

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
📡Bioengineering Signals and Systems
Unit & Topic Study Guides

FIR and IIR filters can be implemented using various structures, each with unique pros and cons. Direct form is simple but can be unstable for high-order filters. Cascade and parallel structures offer better stability by breaking filters into smaller sections.

Lattice structures excel in stability and are great for adaptive filtering. When choosing a structure, consider computational complexity, memory needs, and numerical properties. Optimizing implementations involves hardware-specific tweaks and software techniques like vectorization and multi-threading.

FIR Filter Implementation Structures

Implement FIR filters using direct form, cascade, and lattice structures

  • Direct form structure
    • Implements difference equation directly
    • Requires NN multiplications and N1N-1 additions per output sample (NN = filter order)
    • Delay elements connected in series
    • Suitable for low-order filters (10th order or less)
  • Cascade structure
    • Decomposes transfer function into product of second-order sections (SOS)
    • Each SOS implemented using direct form structure
    • Requires 2M2M multiplications and 2M2M additions per output sample (MM = number of SOS)
    • Improved numerical stability compared to direct form
    • Suitable for high-order filters (greater than 10th order)
  • Lattice structure
    • Based on lattice filter theory
    • Requires NN multiplications and 2N12N-1 additions per output sample
    • Highly modular and parallel structure enables efficient hardware implementation
    • Excellent numerical stability due to inherent properties of lattice filters
    • Suitable for adaptive filtering applications (noise cancellation, echo cancellation)
Implement FIR filters using direct form, cascade, and lattice structures, 2.2 Finite impulse response (FIR) filter design methods | Digital Filter Design

IIR filter implementation structures

  • Direct form I structure
    • Implements difference equation directly
    • Requires N+MN+M multiplications and N+M1N+M-1 additions per output sample (NN = feedforward order, MM = feedback order)
    • Delay elements connected in series
    • Prone to numerical instability for high-order filters (greater than 10th order)
  • Direct form II structure
    • Canonical form of direct form I
    • Requires N+MN+M multiplications and N+M1N+M-1 additions per output sample
    • Minimizes number of delay elements to max(N,M)\max(N,M)
    • Improved numerical stability compared to direct form I
  • Cascade structure
    • Decomposes transfer function into product of second-order sections (SOS)
    • Each SOS implemented using direct form II structure
    • Requires 2M2M multiplications and 2M2M additions per output sample (MM = number of SOS)
    • Improved numerical stability compared to direct form structures
  • Parallel structure
    • Decomposes transfer function into sum of first-order and second-order sections
    • Each section implemented using direct form II structure
    • Requires 2M+N2M+N multiplications and 2M+N12M+N-1 additions per output sample (MM = number of second-order sections, NN = number of first-order sections)
    • Improved numerical stability compared to direct form structures
Implement FIR filters using direct form, cascade, and lattice structures, Finite impulse response - Wikipedia

Comparison of filter structures

  • Computational complexity
    1. Direct form structures: N+MN+M multiplications and N+M1N+M-1 additions per output sample
    2. Cascade and parallel structures: 2M2M multiplications and 2M2M additions per output sample for second-order sections
    3. Lattice structure: NN multiplications and 2N12N-1 additions per output sample
  • Memory requirements
    1. Direct form I: N+MN+M delay elements
    2. Direct form II: max(N,M)\max(N,M) delay elements
    3. Cascade and parallel structures: 2M2M delay elements for second-order sections
    4. Lattice structure: NN delay elements
  • Numerical properties
    • Direct form structures prone to numerical instability for high-order filters
    • Cascade and parallel structures have improved numerical stability due to second-order sections
    • Lattice structure has excellent numerical stability due to inherent properties of lattice filters

Optimization of filter implementations

  • Hardware optimization
    • Minimize number of multiplications and additions to reduce hardware complexity
    • Use fixed-point arithmetic instead of floating-point for resource-constrained systems (embedded systems)
    • Exploit parallelism in filter structure (lattice, parallel) for efficient hardware implementation
    • Utilize hardware-specific features (DSP slices, dedicated multipliers) for improved performance
  • Software optimization
    • Leverage vectorization and SIMD instructions for parallel processing (AVX, SSE)
    • Optimize memory access patterns to minimize cache misses and improve data locality
    • Use lookup tables for computationally expensive operations (trigonometric functions, exponentials)
    • Employ multi-threading for concurrent execution of filter sections on multi-core processors
    • Consider target platform's architecture and compiler optimizations for best performance