Lecture on FIR Filter Design and Parks-McClellan Algorithm
Introduction
- Presenter: Dr. S. Chesu, Professor of ECE at Hyderabad
- Topic: FIR filter design and Parks-McClellan algorithm using MATLAB
Key Concepts
Linear Time Invariant (LTI) Systems
- Systems described by constant coefficient difference equations
- Implementable with finite adds, multipliers, and delays
- H(z): Rational function used in filter design to determine the number and locations of zeros and poles, or equivalently, filter coefficients
- Design involves choosing number and values of filter coefficients
Digital Filters
- Types: Finite Impulse Response (FIR) and Infinite Impulse Response (IIR)
- FIR: N = 0, all zeros, linear phase
- IIR: N > 0, involves lower side lobes for the same number of coefficients
General Considerations
- Filter Size: Filter length (N) and computation/storage trade-offs
- Causality: Poles must be inside the unit circle for stability and causality
- Real-time Implementation: Focus on causal filters for real-time applications
- Input-Output Relationship: Output depends on current and past input values
- System Function: Number of finite zeros ≤ number of finite poles
- Frequency Response: Analyze H(ω) based on frequency performance
Practical Facts
- Causal FIR Filters: H(ω) cannot be zero over any band of frequency except in trivial cases
- Error Analysis: H(ω) magnitude (|H(ω)|) cannot be flat over any finite band
- Magnitude and Phase Response: HR(ω) and HI(ω) are interdependent
- Ideal filters for finite bands of zero response cannot be perfectly implemented
Practical Filters Design Considerations
- Ripple: Pass band and stop band ripples must be acceptable
- Transitions: No infinitely sharp transitions between pass and stop bands
- Frequency Response: Must consider practical applications (e.g., audio speaker design)
FIR vs. IIR Filters
- FIR: Achieve linear phase response, requires many coefficients, high computational demand
- IIR: Uses feedback, mimics analog filters, smaller number of coefficients
FIR Filter Design Methods
- Simple Design Methods: Truncation and windowing (suboptimal frequency characteristics)
- Parks-McClellan Algorithm: Optimal method using Remez exchange for FIR filter design
Parks-McClellan Algorithm Overview
- History: Developed by James McClellan and Tom Parks in 1972
- Goal: Minimize pass band and stop band errors using Chebyshev approximation
- Process: Uses a set of steps to iteratively achieve optimal filter coefficients
Steps of Parks-McClellan Algorithm
- Initialization: Choose initial set of extrenmal frequencies (Ω)
- Finite Set Approximation: Calculate best Chebyshev approximation on the current extremal set
- Interpolation: Compute error function E(Ω) across the set of frequencies
- Local Maximum Search: Find new extremal frequencies where |E(Ω)| is maximized
- Iteration: Update the extremal set and repeat steps 2-4 until convergence
- Finalization: Use interpolation formula and inverse discrete Fourier transform to determine FIR coefficients
Practical Example
- Application: Audio systems (e.g., tweeters and subwoofers)
- Performance Metrics: Passband ripple, stopband attenuation, band edge definitions
- Implementation: Practical issues and benefits of FIR design
Conclusion
- Key Takeaways: Understanding of LTI systems, FIR/IIR filter design, Parks-McClellan algorithm steps, and practical applications
- Next Steps: Implementation using MATLAB
Thank you! Like, share, and subscribe!