Digital Signal Processing and Filter Design using Scilab Iman - - PowerPoint PPT Presentation

digital signal processing and filter design using scilab
SMART_READER_LITE
LIVE PREVIEW

Digital Signal Processing and Filter Design using Scilab Iman - - PowerPoint PPT Presentation

Digital Signal Processing and Filter Design using Scilab Digital Signal Processing and Filter Design using Scilab Iman Mukherjee Department of Electrical Engineering, IIT Bombay December 1, 2010 Iman Mukherjee Digital Signal Processing and


slide-1
SLIDE 1

Digital Signal Processing and Filter Design using Scilab

Digital Signal Processing and Filter Design using Scilab

Iman Mukherjee

Department of Electrical Engineering, IIT Bombay

December 1, 2010

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-2
SLIDE 2

Digital Signal Processing and Filter Design using Scilab

Outline

1 Basic signal processing tools

Discrete Fourier Transform Fast Fourier Transform Convolution Plotting Group Delay Aliasing

2 Filter Design

Non-Recipe Based Recipe Based An Example Application

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-3
SLIDE 3

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-4
SLIDE 4

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag);

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-5
SLIDE 5

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag); x is the time domain representation

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-6
SLIDE 6

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag); x is the time domain representation xf is the frequency domain representation

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-7
SLIDE 7

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag); x is the time domain representation xf is the frequency domain representation flag = 1 or -1

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-8
SLIDE 8

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag); x is the time domain representation xf is the frequency domain representation flag = 1 or -1 Notice - Cosine is Even Symmetric, hence this 64-point DFT is real with peaks at 4 and 60 (64-4)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-9
SLIDE 9

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Discrete Fourier Transform

DFT

푋(휔) =

푛=−∞

푥[푛]푒−푗휔푛 The Scilab command [xf] = dft(x,flag); x is the time domain representation xf is the frequency domain representation flag = 1 or -1 Notice - Cosine is Even Symmetric, hence this 64-point DFT is real with peaks at 4 and 60 (64-4) Faster way - fft ...

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-10
SLIDE 10

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

FFT

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-11
SLIDE 11

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

FFT

x=fft(a ,-1) or x=fft(a)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-12
SLIDE 12

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

FFT

x=fft(a ,-1) or x=fft(a) y=fft2(x,n,m) - two-dimension

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-13
SLIDE 13

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

FFT

x=fft(a ,-1) or x=fft(a) y=fft2(x,n,m) - two-dimension x=fft(a,-1,dim,incr) - multidimensional fft

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-14
SLIDE 14

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

FFT

x=fft(a ,-1) or x=fft(a) y=fft2(x,n,m) - two-dimension x=fft(a,-1,dim,incr) - multidimensional fft fftshift(abs(y)) - rearranges the fft output, moving the zero frequency to the center of the spectrum

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-15
SLIDE 15

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Fast Fourier Transform

Exercise 1

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-16
SLIDE 16

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Convolution

The convol Command

With the convol command

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-17
SLIDE 17

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Convolution

The convol Command

With the convol command Without the convol command (multiplying in the frequency domain)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-18
SLIDE 18

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Convolution

Exercise 2

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-19
SLIDE 19

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Plotting

Bode and Pole-Zero Plots

Demo Pole-Zero Plot

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-20
SLIDE 20

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Plotting

Bode and Pole-Zero Plots

Demo Pole-Zero Plot Demo Bode Plot

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-21
SLIDE 21

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Group Delay

Group Delay

Rate of change of Phase w.r.t Frequency 휏푔 = 푑휙 푑휔 Where, 휏푔 is the Group Delay 휙 is for phase delay 휔 is for frequency

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-22
SLIDE 22

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Aliasing

What is Aliasing?

Ambiguity from reconstruction !

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-23
SLIDE 23

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Aliasing

What is Aliasing?

Ambiguity from reconstruction ! Shannon-Nyquist Sampling theorem.

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-24
SLIDE 24

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Aliasing

What is Aliasing?

Ambiguity from reconstruction ! Shannon-Nyquist Sampling theorem. Under-sampling

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-25
SLIDE 25

Digital Signal Processing and Filter Design using Scilab Basic signal processing tools Aliasing

What is Aliasing?

Ambiguity from reconstruction ! Shannon-Nyquist Sampling theorem. Under-sampling Scilab commands to remember - t = soundsec(n [,rate]) - generates n sampled seconds of time parameter v = linspace(x1,x2 [,n]) - linearly spaced vector mtlb hold(flag)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-26
SLIDE 26

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

First order filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-27
SLIDE 27

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

First order filter Second order filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-28
SLIDE 28

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

First order filter Second order filter Observation : More attenuation !

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-29
SLIDE 29

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

First order filter Second order filter Observation : More attenuation ! Scilab commands to remember - ss2tf, tf2ss, dscr - State-Space ¡-¿ Transfer Function, Discretizing Continuous Systems r = repfreq(Sys,frq) - Frequency response playsnd(data) filtered output = flts(input,filter)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-30
SLIDE 30

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Analog filter family prototypes

Butterworth

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-31
SLIDE 31

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Analog filter family prototypes

Butterworth Chebyshev

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-32
SLIDE 32

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Analog filter family prototypes

Butterworth Chebyshev Inverse Chebyshev

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-33
SLIDE 33

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Analog filter family prototypes

Butterworth Chebyshev Inverse Chebyshev Elliptic/Chauer

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-34
SLIDE 34

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Butterworth

Passband: Monotonic Stopband: Monotonic No ripples Wide Transition, slow Roll-off

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-35
SLIDE 35

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Chebyshev

Passband: Equiripple Stopband: Monotonic Only ripples in Passband Lesser Transition width, slow Roll-off at high frequencies

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-36
SLIDE 36

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Inverse Chebyshev

Passband: Monotonic Stopband: Equiripple Only ripples in Stopband Lesser Transition width, slow Roll-off at low frequencies

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-37
SLIDE 37

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

Elliptic

Passband: Equiripple Stopband: Equiripple Ripples in both - Passband and Stopband Least Transition, sharp and fast Roll-off

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-38
SLIDE 38

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-39
SLIDE 39

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-40
SLIDE 40

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Calculate the Order of the filter Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-41
SLIDE 41

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Calculate the Order of the filter Calculate the filter coeffiecients Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-42
SLIDE 42

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Calculate the Order of the filter Calculate the filter coeffiecients Implement Analog Transfer function Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-43
SLIDE 43

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Calculate the Order of the filter Calculate the filter coeffiecients Implement Analog Transfer function Perform bilinear transformation Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-44
SLIDE 44

Digital Signal Processing and Filter Design using Scilab Filter Design Non-Recipe Based

An example

Steps : Decide over the filter specifications (type, PB and SB cut-offs, ripples etc.) Normalize Calculate the Order of the filter Calculate the filter coeffiecients Implement Analog Transfer function Perform bilinear transformation Convert to the needed filter type Let us design a Low-Pass Chebyshev Filter

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-45
SLIDE 45

Digital Signal Processing and Filter Design using Scilab Filter Design Recipe Based

Scilab Commands in Filter Design

iir - [hz]=iir(n,ftype,fdesign,frq,delta) eqiir - [cells,fact,zzeros,zpoles]=eqiir(ftype,approx,om,deltap,deltas) eqfir - [hn]=eqfir(nf,bedge,des,wate) wfir - [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) analpf - [hs,pols,zers,gain]=analpf(n,fdesign,rp,omega) trans - hzt=trans(pd,zd,gd,tr type,frq)

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-46
SLIDE 46

Digital Signal Processing and Filter Design using Scilab Filter Design Recipe Based

Exercise 3

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-47
SLIDE 47

Digital Signal Processing and Filter Design using Scilab Filter Design An Example Application

Audio effects

Flanging - A sound file seems like riding on a wave Echo - Delayed and added back Equalizer - Different Frequency Bands

Low Mid High

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-48
SLIDE 48

Digital Signal Processing and Filter Design using Scilab Filter Design An Example Application

Thank you !

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab

slide-49
SLIDE 49

Digital Signal Processing and Filter Design using Scilab Filter Design An Example Application

Sanjit K. Mitra, “Digital Dignal Processing, A computer based approach”, Tata McGraw-Hill Edition 1998. Steven W. Smith, “http://www.dspguide.com/ ” Carey Bunks, Franc ¸ois Delebecque, Georges Le Vey and Serge Steer, “Scilab Group INRIA Meta2 Project/ENPC Cergrene ”, Signal Processing with Scilab.

Iman Mukherjee Digital Signal Processing and Filter Design using Scilab