Design of FIR Filters

Similar documents
Digital Filters IIR (& Their Corresponding Analog Filters) Week Date Lecture Title

Digital Filters FIR and IIR Systems

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

(i) Understanding of the characteristics of linear-phase finite impulse response (FIR) filters

DIGITAL FILTERS. !! Finite Impulse Response (FIR) !! Infinite Impulse Response (IIR) !! Background. !! Matlab functions AGC DSP AGC DSP

DSP Laboratory (EELE 4110) Lab#10 Finite Impulse Response (FIR) Filters


Optimal FIR filters Analysis using Matlab

3F3 Digital Signal Processing (DSP)

Advanced Digital Signal Processing Part 5: Digital Filters

ECE438 - Laboratory 7a: Digital Filter Design (Week 1) By Prof. Charles Bouman and Prof. Mireille Boutin Fall 2015

F I R Filter (Finite Impulse Response)

CS3291: Digital Signal Processing

4. Design of Discrete-Time Filters

Experiment 4- Finite Impulse Response Filters

ELEC-C5230 Digitaalisen signaalinkäsittelyn perusteet

Corso di DATI e SEGNALI BIOMEDICI 1. Carmelina Ruggiero Laboratorio MedInfo

Multirate Digital Signal Processing

FIR Filter Design using Different Window Techniques

Digital Filters - A Basic Primer

Chapter 5 Window Functions. periodic with a period of N (number of samples). This is observed in table (3.1).

B.Tech III Year II Semester (R13) Regular & Supplementary Examinations May/June 2017 DIGITAL SIGNAL PROCESSING (Common to ECE and EIE)

Discrete Fourier Transform (DFT)

Gibb s Phenomenon Analysis on FIR Filter using Window Techniques

Window Method. designates the window function. Commonly used window functions in FIR filters. are: 1. Rectangular Window:

EEM478-DSPHARDWARE. WEEK12:FIR & IIR Filter Design

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District DEPARTMENT OF INFORMATION TECHNOLOGY DIGITAL SIGNAL PROCESSING UNIT 3

Narrow-Band Low-Pass Digital Differentiator Design. Ivan Selesnick Polytechnic University Brooklyn, New York

FIR Filters Digital Filters Without Feedback

ELEC3104: Digital Signal Processing Session 1, 2013

Aparna Tiwari, Vandana Thakre, Karuna Markam Deptt. Of ECE,M.I.T.S. Gwalior, M.P, India

Frequency-Response Masking FIR Filters

Signals and Systems Lecture 6: Fourier Applications

Simulation Based Design Analysis of an Adjustable Window Function

The University of Texas at Austin Dept. of Electrical and Computer Engineering Final Exam

Final Exam Practice Questions for Music 421, with Solutions

Performance Analysis of FIR Digital Filter Design Technique and Implementation

Signals. Continuous valued or discrete valued Can the signal take any value or only discrete values?

EECE 301 Signals & Systems Prof. Mark Fowler

ELEC Dr Reji Mathew Electrical Engineering UNSW

PROBLEM SET 6. Note: This version is preliminary in that it does not yet have instructions for uploading the MATLAB problems.

Design of FIR Filter for Efficient Utilization of Speech Signal Akanksha. Raj 1 Arshiyanaz. Khateeb 2 Fakrunnisa.Balaganur 3

FIR FILTER DESIGN USING A NEW WINDOW FUNCTION

GEORGIA INSTITUTE OF TECHNOLOGY. SCHOOL of ELECTRICAL and COMPUTER ENGINEERING. ECE 2026 Summer 2018 Lab #8: Filter Design of FIR Filters

EE 422G - Signals and Systems Laboratory

Signal processing preliminaries

Digital Processing of Continuous-Time Signals

Digital Signal Processing

Subtractive Synthesis. Describing a Filter. Filters. CMPT 468: Subtractive Synthesis

Digital Processing of

Signals and Systems Lecture 6: Fourier Applications

Electrical & Computer Engineering Technology

Basic Signals and Systems

EE 470 Signals and Systems

Project I: Phase Tracking and Baud Timing Correction Systems

ECE 421 Introduction to Signal Processing

EC6502 PRINCIPLES OF DIGITAL SIGNAL PROCESSING

UNIVERSITY OF SWAZILAND

Digital Video and Audio Processing. Winter term 2002/ 2003 Computer-based exercises

6 Sampling. Sampling. The principles of sampling, especially the benefits of coherent sampling

CHAPTER 2 FIR ARCHITECTURE FOR THE FILTER BANK OF SPEECH PROCESSOR

2) How fast can we implement these in a system

Part One. Efficient Digital Filters COPYRIGHTED MATERIAL

Lecture 3, Multirate Signal Processing

Filter Banks I. Prof. Dr. Gerald Schuller. Fraunhofer IDMT & Ilmenau University of Technology Ilmenau, Germany. Fraunhofer IDMT

IIR Filter Design Chapter Intended Learning Outcomes: (i) Ability to design analog Butterworth filters

Narrow-Band and Wide-Band Frequency Masking FIR Filters with Short Delay

Team proposals are due tomorrow at 6PM Homework 4 is due next thur. Proposal presentations are next mon in 1311EECS.

FFT analysis in practice

Design and Simulation of Two Channel QMF Filter Bank using Equiripple Technique.

Keywords FIR lowpass filter, transition bandwidth, sampling frequency, window length, filter order, and stopband attenuation.

Design of IIR Half-Band Filters with Arbitrary Flatness and Its Application to Filter Banks

ijdsp Workshop: Exercise 2012 DSP Exercise Objectives

y(n)= Aa n u(n)+bu(n) b m sin(2πmt)= b 1 sin(2πt)+b 2 sin(4πt)+b 3 sin(6πt)+ m=1 x(t)= x = 2 ( b b b b

DISCRETE FOURIER TRANSFORM AND FILTER DESIGN

Infinite Impulse Response (IIR) Filter. Ikhwannul Kholis, ST., MT. Universitas 17 Agustus 1945 Jakarta

Application of Fourier Transform in Signal Processing

EEM478-WEEK8 Finite Impulse Response (FIR) Filters

Digital FIR LP Filter using Window Functions

CHAPTER -2 NOTCH FILTER DESIGN TECHNIQUES

Final Exam Solutions June 14, 2006

Digital Filtering: Realization

Copyright S. K. Mitra

Proceedings of the 5th WSEAS Int. Conf. on SIGNAL, SPEECH and IMAGE PROCESSING, Corfu, Greece, August 17-19, 2005 (pp17-21)

Window Functions And Time-Domain Plotting In HFSS And SIwave

EE 311 February 13 and 15, 2019 Lecture 10

Suggested Solutions to Examination SSY130 Applied Signal Processing

SAMPLING THEORY. Representing continuous signals with discrete numbers

SKP Engineering College

Laboratory Assignment 4. Fourier Sound Synthesis

ECE 5650/4650 Exam II November 20, 2018 Name:

ME scope Application Note 01 The FFT, Leakage, and Windowing

ECE 4213/5213 Homework 10

Experiment 2 Effects of Filtering

Concordia University. Discrete-Time Signal Processing. Lab Manual (ELEC442) Dr. Wei-Ping Zhu

1. Find the magnitude and phase response of an FIR filter represented by the difference equation y(n)= 0.5 x(n) x(n-1)

Digital Filters IIR (& Their Corresponding Analog Filters) 4 April 2017 ELEC 3004: Systems 1. Week Date Lecture Title

MULTIRATE DIGITAL SIGNAL PROCESSING

Digital Signal Processing for Audio Applications

Florida International University

Transcription:

Design of FIR Filters Elena Punskaya www-sigproc.eng.cam.ac.uk/~op205 Some material adapted from courses by Prof. Simon Godsill, Dr. Arnaud Doucet, Dr. Malcolm Macleod and Prof. Peter Rayner 1

FIR as a class of LTI Filters Transfer function of the filter is Finite Impulse Response (FIR) Filters: N = 0, no feedback 2

FIR Filters Let us consider an FIR filter of length M (order N=M-1, watch out! order number of delays) x n = unit delay b 0 b M y n 3

FIR filters Can immediately obtain the impulse response, with x(n)= δ(n) δ The impulse response is of finite length M, as required Note that FIR filters have only zeros (no poles). Hence known also as all-zero filters FIR filters also known as feedforward or non-recursive, or transversal 4

FIR Filters Digital FIR filters cannot be derived from analog filters rational analog filters cannot have a finite impulse response. Why bother? 1. They are inherently stable 2. They can be designed to have a linear phase 3. There is a great flexibility in shaping their magnitude response 4. They are easy and convenient to implement Remember very fast implementation using FFT? 5

FIR Filter using the DFT FIR filter: Can we use DFT and then IDFT to compute standard convolution product and thus to perform linear filtering (given how efficient FFT is)? 6

Circular Convolution circular convolution 7

Example of Circular Convolution Circular convolution of x 1 ={1,2,0} and x 2 ={3,5,4} clock-wise 1 anticlock-wise 3 0 2 5 4 folded sequence y(0)=1 3+2 4+0 5 y(1)=1 5+2 3+0 4 y(2)=1 4+2 5+0 3 1 1 1 3 5 4 5 0 spins 1 spin 2 spins 4 3 0 2 0 2 0 x 1 (n)x 2 (0-n) mod3 x 1 (n)x 2 (1-n) mod3 x 1 (n)x 2 (2-n) mod3 4 3 5 2 8

Example of Circular Convolution clock-wise anticlock-wise 9

Example of Circular Convolution 10

Standard Convolution using Circular Convolution 11

Example of Circular Convolution clock-wise 1 anticlock-wise 0 2 3 5 0 4 folded sequence y(0)=1 3+2 0+0 4+0 5 1 y(0)=1 5+2 3+0 0+0 4 0 1 y(0)=1 4+2 5+0 3+0 0 1 x 1 (n)x 2 (2-n) mod3 3 5 4 0 0 spins 5 0 2 0 1 spin 4 3 2 0 2 spins 0 5 2 4 0 3 x 1 (n)x 2 (0-n) mod3 0 x 1 (n)x 2 (1-n) mod3 0 0 12

Standard Convolution using Circular Convolution 13

Proof of Validity Circular convolution of the padded sequence corresponds to the standard convolution 14

Linear Filtering using the DFT FIR filter: Frequency domain equivalent: DFT and then IDFT can be used to compute standard convolution product and thus to perform linear filtering (given how efficient FFT is)! 15

Linear-phase filters The ability to have an exactly linear phase response is the one of the most important of FIR filters A general FIR filter does not have a linear phase response but this property is satisfied when four linear phase filter types 16

Linear-phase filters Filter types Some observations: Type 1 most versatile Type 2 frequency response is always 0 at ω=π not suitable as a high-pass Type 3 and 4 introduce a π/2 phase shift, frequency response is always 0 at ω=0 - not suitable as a high-pass 17

FIR Design Methods Impulse response truncation the simplest design method, has undesirable frequency domain-characteristics, not very useful but intro to Windowing design method simple and convenient but not optimal, i.e. order achieved is not minimum possible Optimal filter design methods 18

Back to Our Ideal Low- pass Filter Example 19

Approximation via truncation M M 20

Approximated filters obtained by truncation M M transition band M M M 21

To be expected Window Design Method Truncation is just pre-multiplication by a rectangular window This is not very clever obviously one introduces a delay spectrum convolution 22

Rectangular Window Frequency Response 23

Window Design Method M M M M N M 24

Magnitude of Rectangular Window Frequency Response 25

Truncated Filter 26

Truncated Filter 27

Ideal Requirements Ideally we would like to have small few computations close to a delta Dirac mass for to be close to our ideal low-pass filter These two requirements are conflicting! 28

Increasing the dimension of the window M M M M The width of the main lobe decreases as M increases M 29

Conflicting Ideal Requirements 30

Approximated filters obtained by truncation M M transition band M M M 31

Solution to Sharp Discontinuity of Rectangular Window Use windows with no abrupt discontinuity in their timedomain response and consequently low side-lobes in their frequency response. In this case, the reduced ripple comes at the expense of a wider transition region but this However, this can be compensated for by increasing the length of the filter. 32

Alternative Windows Time Domain Many alternatives have been proposed, e.g. Hanning Hamming Blackman 33

Windows Magnitude of Frequency Response 34

Summary of Windows Characteristics We see clearly that a wider transition region (wider main-lobe) is compensated by much lower side-lobes and thus less ripples. 35

Filter realised with rectangular/hanning windows Back to our ideal filter realised with rectangular window realised with Hanning window M=16 There are much less ripples for the Hanning window but that the transition width has increased M=16 36

Filter realised with Hanning windows realised with Hanning window M=16 realised with Hanning window M=40 Transition width can be improved by increasing the size of the Hanning window to M = 40 37

Windows characteristics Fundamental trade-off between main-lobe width and side-lobe amplitude As window smoother, peak side-lobe decreases, but the main-lobe width increases. Need to increase window length to achieve same transition bandwidth. 38

Specification necessary for Window Design Method ω c - cutoff frequency δ - maximum passband ripple Δω transition bandwidth Δω m width of the window mainlobe Response must not enter shaded regions 39

Key Property 1 of the Window Design Method 40

Key Property 2 of the Window Design Method 41

Key Property 3 of the Window Design Method 42

Key Property 4 of the Window Design Method 43

Key Property 5 of the Window Design Method 44

Passband / stopband ripples Passband / stopband ripples are often expressed in db: passband ripple = 20 log 10 (1+δ p ) db, or peak-to-peak passband ripple 20 log 10 (1+2δ p ) db; minimum stopband attenuation = -20 log 10 (δ s ) db. Example: δ p = 6% δ s = 0.01 peak-to-peak passband ripple 20 log 10 (1+2δ p ) = 1dB; minimum stopband attenuation = -20 log 10 (δ s ) = 40dB. The band-edge frequencies ω s and ω p are often called corner frequencies, particularly when associated with specified gain or attenuation (e.g. gain = - 3dB). 45

Summary of Window Design Procedure Ideal frequency response has infinite impulse response To be implemented in practice it has to be truncated shifted to the right (to make is causal) Truncation is just pre-multiplication by a rectangular window the filter of a large order has a narrow transition band however, sharp discontinuity results in side-lobe interference independent of the filter s order and shape Gibbs phenomenon Windows with no abrupt discontinuity can be used to reduce Gibbs oscillations (e.g. Hanning, Hamming, Blackman) 46

Summary of the Key Properties of the Window Design Method 1. Equal transition bandwidth on both sides of the ideal cutoff frequency. 2. Equal peak approximation error in the pass-band and stopband. 3. Distance between approximation error peaks is approximately equal to the width of the window main-lobe. 4. The width of the main-lobe is wider than the transition band. approximation error peaks transition bandwidth mainlobe width 5. Peak approximation error is determined by the window shape, independent of the filter order. 47

Summary of the windowed FIR filter design procedure 1. Select a suitable window function 2. Specify an ideal response H d (ω) 3. Compute the coefficients of the ideal filter h d (n) 4. Multiply the ideal coefficients by the window function to give the filter coefficients 5. Evaluate the frequency response of the resulting filter and iterate if necessary (typically, it means increase M if the constraints you have been given have not been satisfied) 48

Step by Step Windowed Filter Design Example Design a type I low-pass filter according to the specification ω p =0.2π ω s =0.3π δ 1 =0.01 δ 2 =0.01 passband frequency stopband frequency 49

Step 1. Select a suitable window function Choosing a suitable window function can be done with the aid of published data such as The required peak error spec δ 2 = 0.01, i.e. -20log 10 (δ s ) = - 40 db Hanning window Main-lobe width ω s - ω p = 0.3π 0.2π = 0.1π, i.e. 0.1π = 8π / M filter length M 80, filter order N 79 Type-I filter have even order N = 80 although for Hanning window first and last ones are 0 so only 78 in reality 50

Step 2 Specify the Ideal Response Property 1: The band-edge frequency of the ideal response if the midpoint between ω s and ω p ω c = (ω s + ω p )/2 = (0.2π+0.3π)/2 = 0.25π 1 if ω 0.25π 0 if 0.25π < ω < π our ideal low-pass filter frequency response 51

Step 3 Compute the coefficients of the ideal filter The ideal filter coefficients h d are given by the Inverse Discrete time Fourier transform of H d (ω) Delayed impulse response (to make it causal) N Coefficients of the ideal filter 40 40 52

Step 3 Compute the coefficients of the ideal filter For our example this can be done analytically, but in general (for more complex H d (ω) functions) it will be computed approximately using an N-point Inverse Fast Fourier Transform (IFFT). Given a value of N (choice discussed later), create a sampled version of H d (ω): H d (p) = H d (2πp/N), p=0,1,...n-1. [ Note frequency spacing 2π/N rad/sample ] 53

Step 3 Compute the coefficients of the ideal filter If the Inverse FFT, and hence the filter coefficients, are to be purely realvalued, the frequency response must be conjugate symmetric: H d (-2πp/N) = H d * (2πp/N) (1) Since the Discrete Fourier Spectrum is also periodic, we see that H d (-2πp/N) = H d (2π -2πp/N) = H d (2π(N-p)/N) (2) Equating (1) & (2) we must set H d (N-p) = H d* (p) for p = 1,..., (N/2-1). The Inverse FFT of H d* (p) is an N-sample time domain function h (n). For h (n) to be an accurate approximation of h(n), N must be made large enough to avoid time-domain aliasing of h(n), as illustrated below. 54

Consider FFT and IFFT Time domain aliasing The relationship (2) provides the reconstruction of the periodic signal x n however it does not imply that we can recover x n from the samples. For sequence x n of finite duration L this is only possible if N L 55

Step 4 Multiply to obtain the filter coefficients Coefficients of the ideal filter 40 40 Multiplied by a Hamming window function 56

Step 5 Evaluate the Frequency Response and Iterate The frequency response is computed as the DFT of the filter coefficient vector. If the resulting filter does not meet the specifications, one of the following could be done adjust the ideal filter frequency response (for example, move the band edge) and repeat from step 2 adjust the filter length and repeat from step 4 change the window (and filter length) and repeat from step 4 57

Matlab Implementation of the Window Method Two methods FIR1 and FIR2 B=FIR2(N,F,M) Designs a Nth order FIR digital filter F and M specify frequency and magnitude breakpoints for the filter such that plot(n,f,m)shows a plot of desired frequency The frequencies F must be in increasing order between 0 and 1, with 1 corresponding to half the sample rate. B is the vector of length N+1, it is real, has linear phase and symmetric coefficients Default window is Hamming others can be specified 58

Multi-band Design 59

Frequency sampling method 60

FIR Filter Design Using Windows FIR filter design based on windows is simple and robust, however, it is not optimal: The resulting pass-band and stop-band parameters are equal even though often the specification is more strict in the stop band than in the pass band unnecessary high accuracy in the pass band The ripple of the window is not uniform (decays as we move away from discontinuity points according to side-lobe pattern of the window) by allowing more freedom in the ripple behaviour we may be able to reduce filter s order and hence its complexity 61

FIR Design by Optimisation: Least-Square Method We now present a method that approximates the desired frequency response by a linear-phase FIR amplitude function according to the following optimality criterion. The integral of the weighted square frequency-domain error is given by ε 2 = E 2 (ω)dω and we assume that the order and the type of the filter are known. Under this assumptions designing the FIR filter now reduces to determining the coefficients that would minimise ε 2. 62

Recall Our Example Design a type I low-pass filter according to specification ω p =0.2π ω s =0.3π δ 1 =0.1 δ 2 =0.01 passband frequency stopband frequency But assume the pass-band tolerance of 0.1 The filter designed using window method cannot benefit from this relaxation, however, a least-square method design gives N = 33 (compared to N = 80). 63

Least-Square Design of FIR Filters Meeting the specification is not guaranteed a-priori, trial and error is often required. It might be useful to set the transition bands slightly narrower than needed, and it is often necessary to experiment with the weights Occasionally the resulting frequency response may be peculiar. Again, changing the weights would help to resolve the problem 64

Equiripple Design The least-square criterion of minimising ε 2 = E 2 (ω)dω is not entirely satisfactory. A better approach is to minimize the maximum error at each band ε = max ω E(ω) 65

Equiripple Design The method is optimal in a sense of minimising the maximum magnitude of the ripple in all bands of interest, the filter order is fixed It can be shown that this leads to an equiripple filter a filter which amplitude response oscillates uniformly between the tolerance bounds of each band 66

Equiripple Design 0 Passband 2 Many ripples achieve maximum Permitted amplitude response (db) -20-40 -60 response (db) 1 0-1 -80 0 1 2 3 4 frequency (khz) -2 0 1 2 3 4 frequency (khz) Overall and passband-only frequency response of length 37 minimax filter 67 67

Remez method There exists a computational procedure known as the Remez method to solve this mathematical optimization problem. There are also exist formulae for estimating the required filter length in the case of lowpass, bandpass and narrow transition bandwidths. However, these formulae are not always reliable so it might be necessary to iterate the procedure so as to satisfy the design constraints. 68

Equiripple Design: Weights The weights can be determined in advance from a minimax specification. For example, if a simple lowpass filter has a requirement for the passband gain to be in the range 1- p to 1+ p, and the stopband gain to be less than s, the weightings given to the passband and stopband errors would be s and p respectively. The detailed algorithm is beyond the (time!) constraints of this module. 69 69

Equiripple Design: Example Obtain the coefficients of an FIR lowpass digital filter to meet these specifications: passband edge frequency passband pk-to-pk ripple transition width 0.5 khz stopband attenuation >50 db sampling frequency 1.625 khz <1 db 8 khz The passband ripple corresponds to ±6%, while the stopband attenuation is 0.32%, hence the weighting factors are set to 0.32 and 6. Using the relevant length estimation formula gives order N=25.8 hence N=26 was chosen, i.e. length =27. This proved to be substantially too short, and it was necessary to increase the order to 36 (length 37) to meet the specifications. 70

Equiripple Design: Matlab b = remez(n,f,m) designs an nth order FIR digital filter and returns the filter coefficients in length n+1 vector b. Vectors f and m specify the frequency and magnitude breakpoints [as for FIR2]. b = remez(n,f,m,w) uses vector w to specify weighting in each of the pass or stop bands in vectors f and m. Note again the frequency normalisation, where 1.0 equals half the sample rate. The call which finally met this filter specification was: h = remez(36,[0 1.625 2 4]/4, [1 1 0 0], [0.32 6]); The resulting frequency response is as shown previously: response (db) 0-20 -40-60 response (db) 2 1 0-1 -80 0 1 2 3 4-2 0 1 2 3 4 frequency (khz) frequency (khz) 71 71

The Parks-McClellan Remez exchange algorithm The computational procedure the optimization problem is by Remez The algorithm in common use is by Parks and McClellan. The Parks-McClellan Remez exchange algorithm is widely available and versatile. Important: it designs linear phase (symmetric) filters or antisymmetric filters of any of the standard types 72 72

Linear Symmetric Filters The frequency response of the direct form FIR filter may be rearranged by grouping the terms involving the first and last coefficients, the second and next to last, etc.: and then taking out a common factor exp( -jmω/2): If the filter length M+1 is odd, then the final term in curly brackets above is the single term b M/2, that is the centre coefficient ('tap') of the filter. 73

Symmetric impulse response Symmetric impulse response: if we put b M = b 0, b M-1 = b 1, etc., and note that exp(jθ)+exp(-jθ) = 2cos(θ), the frequency response becomes This is a purely real function (sum of cosines) multiplied by a linear phase term, hence the response has linear phase, corresponding to a pure delay of M/2 samples, ie half the filter length. A similar argument can be used to simplify antisymmetric impulse responses in terms of a sum of sine functions (such filters do not give a pure delay, although the phase still has a linear form π/2-mω/2) 74 74

Implementation of symmetric FIR filters The symmetric FIR filters of length N can be implemented using the folded delay line structure shown below, which uses N/2 (or (N+1)/2) multipliers rather than N x n b 0 b (N-1)/2 y n 75 75

Limitations of the algorithm Linear phase in the stopbands is never a real requirement, and in some applications strictly linear phase in the passband is not needed either. The linear phase filters designed by this method are therefore longer than optimum non-linear phase filters. However, symmetric FIR filters of length N can be implemented using the folded delay line structure shown below, which uses N/2 (or (N+1)/2) multipliers rather than N, so the longer symmetric filter may be no more computationally intensive than a shorter non-linear phase one. x n b 0 b (N-1)/2 y n 76 76

Further options for FIR filter design More general non-linear optimisation (least squared error or minimax) can of course be used to design linear or non-linear phase FIR filters to meet more general frequency and/or time domain requirements. Matlab has suitable optimisation routines. 77 77

Thank you! 78