Basic Design Approaches

Similar documents
-Digital Signal Processing- FIR Filter Design. Lecture May-16

LAB 6: FIR Filter Design Summer 2011

Filter Design Problem

Stability Condition in Terms of the Pole Locations

(Refer Slide Time: 01:28 03:51 min)

LINEAR-PHASE FIR FILTERS DESIGN

2.161 Signal Processing: Continuous and Discrete Fall 2008

Filter Analysis and Design

UNIT - 7: FIR Filter Design

Filter structures ELEC-E5410

Signal Processing. Lecture 10: FIR Filter Design. Ahmet Taha Koru, Ph. D. Yildiz Technical University Fall

Lecture 14: Windowing

1. FIR Filter Design

Digital Signal Processing:

EECE 301 Signals & Systems Prof. Mark Fowler

UNIVERSITY OF OSLO. Faculty of mathematics and natural sciences. Forslag til fasit, versjon-01: Problem 1 Signals and systems.

Problem Set 9 Solutions

ELEG 305: Digital Signal Processing

Review of Fundamentals of Digital Signal Processing

Electronic Circuits EE359A

Electronic Circuits EE359A

UNIVERSITY OF OSLO. Please make sure that your copy of the problem set is complete before you attempt to answer anything.

Chapter 7: Filter Design 7.1 Practical Filter Terminology

EE 521: Instrumentation and Measurements

DSP. Chapter-3 : Filter Design. Marc Moonen. Dept. E.E./ESAT-STADIUS, KU Leuven

Review of Fundamentals of Digital Signal Processing

Exercises in Digital Signal Processing

INF3440/INF4440. Design of digital filters

Chirp Transform for FFT

DSP-CIS. Chapter-4: FIR & IIR Filter Design. Marc Moonen

Lecture 7 Discrete Systems

Computer-Aided Design of Digital Filters. Digital Filters. Digital Filters. Digital Filters. Design of Equiripple Linear-Phase FIR Filters

DIGITAL SIGNAL PROCESSING UNIT III INFINITE IMPULSE RESPONSE DIGITAL FILTERS. 3.6 Design of Digital Filter using Digital to Digital

Responses of Digital Filters Chapter Intended Learning Outcomes:

LABORATORY 3 FINITE IMPULSE RESPONSE FILTERS

ECE 410 DIGITAL SIGNAL PROCESSING D. Munson University of Illinois Chapter 12

Digital Signal Processing Lecture 9 - Design of Digital Filters - FIR

Multimedia Signals and Systems - Audio and Video. Signal, Image, Video Processing Review-Introduction, MP3 and MPEG2

Discrete Time Fourier Transform (DTFT) Digital Signal Processing, 2011 Robi Polikar, Rowan University

Lecture 3 - Design of Digital Filters

The Discrete-Time Fourier

ELEG 5173L Digital Signal Processing Ch. 5 Digital Filters

Chapter 7: IIR Filter Design Techniques

Computer Engineering 4TL4: Digital Signal Processing

Digital Signal Processing

Tunable IIR Digital Filters

Multirate Digital Signal Processing

IT DIGITAL SIGNAL PROCESSING (2013 regulation) UNIT-1 SIGNALS AND SYSTEMS PART-A

On the Frequency-Domain Properties of Savitzky-Golay Filters

! Spectral Analysis with DFT. ! Windowing. ! Effect of zero-padding. ! Time-dependent Fourier transform. " Aka short-time Fourier transform

Digital Control & Digital Filters. Lectures 21 & 22

IIR digital filter design for low pass filter based on impulse invariance and bilinear transformation methods using butterworth analog filter

ECE503: Digital Signal Processing Lecture 5

EE482: Digital Signal Processing Applications

We have shown earlier that the 1st-order lowpass transfer function

Linear Convolution Using FFT

UNIVERSITI SAINS MALAYSIA. EEE 512/4 Advanced Digital Signal and Image Processing

Design of IIR filters

Discrete-Time Signals and Systems. Frequency Domain Analysis of LTI Systems. The Frequency Response Function. The Frequency Response Function

Optimum Ordering and Pole-Zero Pairing of the Cascade Form IIR. Digital Filter

Cast of Characters. Some Symbols, Functions, and Variables Used in the Book

Digital Signal Processing

Simple FIR Digital Filters. Simple FIR Digital Filters. Simple Digital Filters. Simple FIR Digital Filters. Simple FIR Digital Filters

Discrete-Time Fourier Transform

1 1.27z z 2. 1 z H 2

PS403 - Digital Signal processing

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF INFORMATION TECHNOLOGY. Academic Year

ECSE 512 Digital Signal Processing I Fall 2010 FINAL EXAMINATION

Digital Signal Processing

Like bilateral Laplace transforms, ROC must be used to determine a unique inverse z-transform.

Analog and Digital Filter Design

Multirate signal processing

There are two main classes of digital lter FIR (Finite impulse response) and IIR (innite impulse reponse).

2.161 Signal Processing: Continuous and Discrete Fall 2008

Quadrature-Mirror Filter Bank

MITOCW watch?v=jtj3v Rx7E

DSP LAB REPORT. March 31, Submitted by. 1. Arunkumar B060403EC. 2. Febin George B060190EC. 3. Sabu Paul B060310EC. 4. Sareena T.

Optimal Design of Real and Complex Minimum Phase Digital FIR Filters

Grades will be determined by the correctness of your answers (explanations are not required).

Chapter 5 Frequency Domain Analysis of Systems

ECG782: Multidimensional Digital Signal Processing

EFFICIENT REMEZ ALGORITHMS FOR THE DESIGN OF NONRECURSIVE FILTERS

INFINITE-IMPULSE RESPONSE DIGITAL FILTERS Classical analog filters and their conversion to digital filters 4. THE BUTTERWORTH ANALOG FILTER

Digital Filter Structures

Fourier Series Representation of

Discrete Fourier Transform

LTI Discrete-Time Systems in Transform Domain Ideal Filters Zero Phase Transfer Functions Linear Phase Transfer Functions

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad

An Iir-Filter Example: A Butterworth Filter

TTT4120 Digital Signal Processing Suggested Solutions for Problem Set 2

REAL TIME DIGITAL SIGNAL PROCESSING

Grades will be determined by the correctness of your answers (explanations are not required).

DFT & Fast Fourier Transform PART-A. 7. Calculate the number of multiplications needed in the calculation of DFT and FFT with 64 point sequence.

Optimum Ordering and Pole-Zero Pairing. Optimum Ordering and Pole-Zero Pairing Consider the scaled cascade structure shown below

Windowing Overview Relevance Main lobe/side lobe tradeoff Popular windows Examples

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING EC2314- DIGITAL SIGNAL PROCESSING UNIT I INTRODUCTION PART A

DIGITAL SIGNAL PROCESSING. Chapter 6 IIR Filter Design

Digital Speech Processing Lecture 10. Short-Time Fourier Analysis Methods - Filter Bank Design

Digital Signal Processing IIR Filter Design via Bilinear Transform

Digital Signal Processing Lecture 8 - Filter Design - IIR

Transcription:

(Classic) IIR filter design: Basic Design Approaches. Convert the digital filter specifications into an analog prototype lowpass filter specifications. Determine the analog lowpass filter transfer function H(Ω) 3. Transform H(Ω) into the desired digital transfer function H(z) Analog approximation techniques are highly advanced They usually yield closed-form solutions Extensive tables are available for analog filter design (Chapter 9) Many applications require digital simulation of analog systems FIR filter design is based on a direct approximation of the specified magnitude response, with the often added requirement that the phase be linear (or sometimes, even minimum) The design of an FIR filter of order M may be accomplished by finding either the length-(m+) impulse response samples of h[n] or the (N+) samples of its frequency response H(ω) (Chapter 0)

FIR Filter Design Let s start with the ideal lowpass filter We know that there are two problems with this filter: infinitely long, and it is non-causal H LP ( ω), 0 ω ωc = 0, ωc ω π h LP[ n] h LP [n] c = e π = ω ω ( ω n) sin πn c c jωn dω, < n < How can we overcome these two problems?

FIR Filter Design 0 0 40 80 00 0 40 60 80 00

FIR Filter Design This is the basic, straightforward approach to FIR filter design: Start with an ideal filter that meets the design criteria, say a filter H(ω) Take the inverse DTFT of this H(ω) to obtain h[n]. This h[n] will be double infinitely long, and non-causal unrealizable Truncate using a window, say a rectangle, so that M+ coefficients of h[n] are retained, and all the others are discarded. We now have a finite length (order M) filter, h t [n], however, it is still non-causal Shift the truncated h[n] to the right (i.e., delay) by M/ samples, so that the first sample now occurs at n=0. The resulting impulse response, h t [n-m/] is a causal, stable, FIR filter, which has an almost identical magnitude response and a phase factor or e -jm/ compared to the original filter, due to delay introduced.

WINDOWING: zero coefficients outside M/ n M/ and a shift to the right yields finite series with length M+ h LP [ n] sin( ωc ( n M / )) M, 0 n M, n π ( n M /) = ωc M, n = π

h HP [ n] sin( ωcn), n > 0 = π n ωc -, n 0 π =

FIR BPF/BSF Design H BP (e jω ) H LP (e j ω ) H LP (e j ω ) = - π ωc ωc ωc ωc π ω π ωc 0 ωc ω c = ω c π ω π ωc 0 ωc ω c = ω c π ω H BP ( ω) = H LP ( ω) h ω = ω c BP[ n] c H sin = ωc π LP ( ω) ω = ω c c ( ωc ( n M / ) ) π ( n M / ) ωc π, n = M sin h BP [ n] = h LP ( ωc ( n M / ) ) π ( n M / ), [ n] c c h [ n] ω = ω LP ω = ω 0 < n < M, n M c c Similarly, H BS ( ω) = H ( ω) BP h BS [ n] = δ[ n] h [ n] BP

However? What happened?

Gibbs Phenomenon Truncating the impulse response of an ideal filter to obtain a realizable filter, creates oscillatory behavior in the frequency domain. The Gibbs Phenomenon We observe the following: As M, the number of ripples however, ripple widths The height of the largest ripples remain constant, regardless of the filter length As M, the height of all other ripples The main lobe gets narrower as M, that is, the drop-off becomes sharper Similar oscillatory behavior can be seen in all types of truncated filters Magnitude.5 0.5 0 0 0. 0.4 0.6 0.8 ω/π Main lobe M = 0 M = 60 Side lobes

Gibbs Phenomenon Why is this happening? The Gibbs phenomenon is simply an artifact of the windowing operation. Multiplying the ideal filter s impulse response with a rectangular window function is equivalent to convolving the underlying frequency response with a sinc h[ n] = h [ n] w[ n] H ( ω) = H ( ω)* W( ω) t d t d Truncated filter impulse response Desired filter impulse response Windowing function However, we want H t (ω) to be as close as possible to H d (ω), which can only be possible if the W(ω)=δ(ω) w[n]=, an infinite window. We have conflicting requirements: On one hand, we want a narrow window, so that we have a short filter; on the other hand, we want the truncated filter as closely match as possible ideal filter s frequency response, which in turn requires an infinitely long window! This convolution results in the oscillations, particularly dominant at the edges.

Gibbs Phenomenon H d : Ideal filter frequency response Ψ: Rectangular window frequency response H t : Truncated filter s frequency response

Window_LPF.m % FIR Lowpass filter M=input('Enter the order of filter:'); wc=input('enter the cutoff frequency in terms of radians:'); n=0:m; h_lp=sin(wc*(n-m/))./(pi*(n-m/)); h_lp(ceil(m/+))=wc/pi; subplot() stem(n, h_lp) axis([0 M min(h_lp) max(h_lp)]) title(['impulse response of the ',numstr(m), 'th order filter']); subplot() H_LP=fft(h_LP, 04); w=linspace(-pi, pi, 04); plot(w/pi, abs(fftshift(h_lp))) title(['frequency response of the windowed ', numstr(m), 'th order filter']); grid axis([- 0 max(abs(h_lp))]) Gibbs Phenomenon Demo ( ωc ( )) π ( n M ) sin n M / M,0 n M, n / h LP [ n ] = ωc M, n = π

Effect of Filter Length Transition band / main lobe width Stopband attenuation In db

Here s what we want: Quick drop off Narrow transition band Narrow main lobe FIR Filter Design Using Windows Conflicting requirements Increased stopband attenuation Reduce the height of the side-lobe which causes the ripples Reduce Gibb s phenomenon (ringing effects, all ripples) Minimize the order of the filter. Gibb s phenomenon can be reduced (but not eliminated) by using a smoother window that gently tapers off to zero, rather than the brick wall behavior of the rectangular filter. Several window functions are available, which usually trade-off main-lobe width and stopband attenuation. Rectangular window has the narrowest main-lobe width, but poor side-lobe attenuation. Tapered window causes the height of the sidelobes to diminish, with a corresponding increase in the main lobe width resulting in a wider transition at the cutoff frequency.

Commonly Used Windows 0<n<M (length M+) In your text: -M<n<M (length M+)

Commonly Used Windows Narrow Wide main (poor) lobe main lobe Very wide (poor) main lobe Poor side lobe Good attenuation side lobe attenuation Widest Wide (poorest) (poor) main main lobe lobe Very good side lobe attenuation Good side lobe Excellent attenuation side lobe attenuation

Compare_windows.m Comparing Windows.5 0.8 0.6 0.4 0.5 0..5 0.5 LPF design with different window types. Filter order: 0 LPF design with different window types. Filter order: 0 LPF design with different window types. Filter order: 44 Cutoff frequency: 0.4π radians Rectangular Rectangular Rectangular Bartlett Bartlett Bartlett Blackman Blackman Hamming Hamming Hann Hann 0 0 0 0 0. 0. 0.3 0.4 0.5 0.6 0.7 0.8 0.9 00. 0. 0.3 0. 0.30.4 0.4 0.5 0.5 0.6 0.6 0.7 0.7 0.8 0.90.8 Normalized frequency, ω/π Normalized frequency, ω/π LPF LPF design design with with different different window window types - types Gain plots - Gain (in plots db) 50 50 LPF design with different window types - Gain plots 0 0-50 -50 db 0-50 -00-00 -00-50 -00 0 0. 0. 0.3 0.4 0.5 0.6 0.7 0.8 0.9-50 0 0. 0. 0.3 Normalized 0.4 0.5 frequency, 0.6 ω/π 0.7 0.8 0.9 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 Normalized frequency, ω/π Normalized frequency, ω/π

Fixed Window Functions All windows shown so far are fixed window functions Magnitude spectrum of each window characterized by a main lobe centered at ω = 0 followed by a series of sidelobes with decreasing amplitudes Parameters predicting the performance of a window in filter design are: Main lobe width (Δ ML ) : the distance b/w nearest zero-crossings on both sides or transition bandwidth (Δω=ω s ω p ) Relative sidelobe level (A sl ): difference in db between the amp. of the largest sidelobe and the main lobe (or sidelobe attenuation (α s ) ) For a given window, both parameters all completely determined once the filter order M is set. H tr (ω) α s (db) H des (ω) Δω < Δ ML Δ ML

Fixed Window Functions Min. stopband Transition Attenuation Bandwidth Δω How to design: Set ωc = ( ωp + ωs ) / Choose window type based on the specified sidelobe attenuation (A sl ) or minimum stopband attenuation (α s ) Choose M according to the transition band width (Δω) and/or mainlobe width (Δ ML ). Note that this is the only parameter that can be adjusted for fixed window functions. Once a window type and M is selected, so are A sl, α s, and Δ ML Ripple amplitudes cannot be custom designed. Adjustable windows have a parameter that can be varied to trade-off between main-lobe width and side-lobe attenuation. 0.9 0.9π/(M/) See book See book 43.9 3. π/(m/) 54.5 3.3 π/(m/) 75.3 5.56 π/(m/)

Digital Signal Processing, 007 Robi Polikar, Rowan University Kaiser Window Kaiser Window The most popular adjustable window where β is an adjustable parameter to trade-off between the main lobe width and sidelobe attenuation, and I 0 {x} is the modified zeroth-order Bessel function of the first kind: In practice, this infinite series can be computed for a finite number of terms for a desired accuracy. In general, 0 terms is adequate. M n I M M n I n w = 0, ) ( ) ( ] [ 0 0 β β ( ) = + = 0! ) ( k k k x x I ( ) = + 0 0! ) ( k k k x x I

FIR Design Using Kaiser Window Given the following: ω p - passband edge frequency and ω s - stopband edge frequency δ p - peak ripple value in the passband and δ s - peak ripple value in the stopband Calculate: α. Minimum ripple in db: s = 0log0( δs ) or 0log0 min δs, δ. Normalized transition bandwidth: Δω = ω s ω p 3. Window parameters: ( α s ) 0.4 ( ) ( ) ( { }) 0.0 8.7, α s > 50dB β = 0.584 α s + 0.07886 α s, α s 50dB 0, α s db p 4. Filter length, M+: M αs 7.95 +,.85Δω + = 5.79, Δω α α s s > < Design specs for Kaiser window in your book is different. This one, while may seem more complicated is actually easier to follow. 5. Determine the corresponding Kaiser window 6. Obtain the filter by multipling the ideal filter h I [n] with w[n] n M I0 β ( ) M w n = [ ], 0 n M I ( β ) 0

Design an FIR filter with the following characteristics: ω p =0.3π ω s = 0.5π, δ s = δ p =0.0 α=40db, Δω=0.π β = 0.4 β = 0.584( α s ) + 0.07886( α s ), α s < 50 0.584(9) 0.4 + 0.07886 9 = 3.05 M + = + = 3.886 4.85(0.π ) w[ n] = kaiser( M +, β ) ( from matlab) 3.3953 Example h LP[ n] sin π = ωc, π h t ( ωc( n M / ) ) ( n M / ) n = M, 0 < n < M, n M h LP[ n] [ n] = h [ n] w[ n], n LP = sin 0.4, ( 0.4π ( n ) ) π ( n ) n =, 0 < n < 3, n

Complete Cycle for FIR Filter Design using Windows Depending on your specs, determine what kind of window you would like to use. For all window types, except Kaiser, once you choose the window, the only other parameter to choose is filter length M. For Kaiser window, determine M and beta, based on the specs using the given expressions. Compute the window coefficients w[n] for the chosen window. Compute filter coefficients (taps) Determine the ideal impulse response h I [n] from the given equations for the type of magnitude response you need (lowpass, highpass, etc.) Multiply window and ideal filter coefficients to obtain the realizable filter coefficients (also called taps or weights): h[n]=h I [n].w[n] Convolve your signal with the new filter coefficients y[n]=x[n]*h[n]. Demo: FIR_window.m

In Matlab The following functions create N-point windows for the corresponding functions: rectwin(n) hamming(n) hanning(n) Try this: h=hamming(40); [H w]=freqz(h,, 04); plot(w, abs(h)) Compare for various windows. Also plot gain in db The function window window design and analysis tool provides a GUI to custom design several window functions. The function fdatool filter design and analysis tool provides a GUI to custom design several types of filters from the given specs. The function sptool signal processing tool, provides a GUI to custom design, view and apply to custom created signals. It also provides a GUI for spectral analysis. bartlett(n) kaiser(n, beta) blackman(n)

Window Design & Analysis Tool >> window

Filter Design & Analysis Tool

In Matlab: fir fir FIR filter design using the window method. b = fir(n,wn) designs an N'th order lowpass FIR digital filter and returns the filter coefficients in length N+ vector B. The cut-off frequency Wn must be between 0 < Wn <.0, with.0 corresponding to half the sample rate. The filter B is real and has linear phase. The normalized gain of the filter at Wn is -6 db. b = fir(n,wn,'high') designs an N'th order highpass filter. You can also use B = fir(n,wn,'low') to design a lowpass filter. If Wn is a two-element vector, Wn = [W W], FIR returns an order N bandpass filter with passband W < W < W. You can also specify b = fir(n,wn,'bandpass'). If Wn = [W W], b = fir(n,wn,'stop') will design a bandstop filter. If Wn is a multi-element vector, Wn = [W W W3 W4 W5... WN], FIR returns an order N multiband filter with bands 0 < W < W, W < W < W,..., WN < W <. b = fir(n,wn,'dc-') makes the first band a passband. b = fir(n,wn,'dc-0') makes the first band a stopband. b = fir(n,wn,win) designs an N-th order FIR filter using the N+ length vector WIN to window the impulse response. If empty or omitted, FIR uses a Hamming window of length N+. For a complete list of available windows, see the help for the WINDOW function. If using a Kaiser window, use the following b = fir(n,wn,kaiser(n+,beta))