filter design using scilab in this presentation we have learnt: different windowing techniques how...

37
Filter Design Using Scilab Manas Das Indian Institute of Technology, Bombay March 1, 2012

Upload: vumien

Post on 22-May-2018

232 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Filter Design Using Scilab

Manas DasIndian Institute of Technology, Bombay

March 1, 2012

Page 2: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Introduction

What is a filter?

A filter is a device or process that removes some unwantedcomponent or feature from a signal.

Manas Das, IITB Filter Design Using Scilab

Page 3: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Objective

In this presentation i will show how differnt types of filters can bedesigned using scilab.

Manas Das, IITB Filter Design Using Scilab

Page 4: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

This presentation is being divided into following parts:

Different windowing techniques.

Filter design by different in-built functions available inscilab.

Manas Das, IITB Filter Design Using Scilab

Page 5: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

In this slide i will be describing differentwindowing techniques.This can be performed bydifferent window functions with window length byusing the in-built command window().

Manas Das, IITB Filter Design Using Scilab

Page 6: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window Functions for FIR Filter Design

Hamming Window.

win=window(’hm’,n)

Kaiser Window.win=window(’kr’,n,alpha)

Chebyshev Window.win=window(’ch’,n,par)

Manas Das, IITB Filter Design Using Scilab

Page 7: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window Functions for FIR Filter Design

Hamming Window.win=window(’hm’,n)

Kaiser Window.

win=window(’kr’,n,alpha)

Chebyshev Window.win=window(’ch’,n,par)

Manas Das, IITB Filter Design Using Scilab

Page 8: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window Functions for FIR Filter Design

Hamming Window.win=window(’hm’,n)

Kaiser Window.win=window(’kr’,n,alpha)

Chebyshev Window.

win=window(’ch’,n,par)

Manas Das, IITB Filter Design Using Scilab

Page 9: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window Functions for FIR Filter Design

Hamming Window.win=window(’hm’,n)

Kaiser Window.win=window(’kr’,n,alpha)

Chebyshev Window.win=window(’ch’,n,par)

Manas Das, IITB Filter Design Using Scilab

Page 10: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 11: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 12: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 13: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 14: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 15: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 16: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Window based Linear Phase FIR filter

Calling Sequence[wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar)Arguments

ftype:’lp’,’hp’,’bp’,’sb’

wtype:’re’,’tr’,’hm’,’hn’,’kr’,’ch’

cfreq:2-vector of cutoff frequencies

fpar:2-vector of window parameters

wft:time domain filter coefficients

wfm:frequency domain filter response on the gridfr

fr:frequency grid

Manas Das, IITB Filter Design Using Scilab

Page 17: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Equiripple FIR Filter Design

Calling Sequence[hn]=eqfir(nf,bedge,des,wate)Arguments

nf:number of output filter points desired

bedge:Mx2 matrix giving a pair of edges for eachband

des:M-vector giving desired magnitude for eachband

wate:M-vector giving relative weight of error ineach band

hn:output of linear-phase FIR filter coefficients

Manas Das, IITB Filter Design Using Scilab

Page 18: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Equiripple FIR Filter Design

Calling Sequence[hn]=eqfir(nf,bedge,des,wate)Arguments

nf:number of output filter points desired

bedge:Mx2 matrix giving a pair of edges for eachband

des:M-vector giving desired magnitude for eachband

wate:M-vector giving relative weight of error ineach band

hn:output of linear-phase FIR filter coefficients

Manas Das, IITB Filter Design Using Scilab

Page 19: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Equiripple FIR Filter Design

Calling Sequence[hn]=eqfir(nf,bedge,des,wate)Arguments

nf:number of output filter points desired

bedge:Mx2 matrix giving a pair of edges for eachband

des:M-vector giving desired magnitude for eachband

wate:M-vector giving relative weight of error ineach band

hn:output of linear-phase FIR filter coefficients

Manas Das, IITB Filter Design Using Scilab

Page 20: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Equiripple FIR Filter Design

Calling Sequence[hn]=eqfir(nf,bedge,des,wate)Arguments

nf:number of output filter points desired

bedge:Mx2 matrix giving a pair of edges for eachband

des:M-vector giving desired magnitude for eachband

wate:M-vector giving relative weight of error ineach band

hn:output of linear-phase FIR filter coefficients

Manas Das, IITB Filter Design Using Scilab

Page 21: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Equiripple FIR Filter Design

Calling Sequence[hn]=eqfir(nf,bedge,des,wate)Arguments

nf:number of output filter points desired

bedge:Mx2 matrix giving a pair of edges for eachband

des:M-vector giving desired magnitude for eachband

wate:M-vector giving relative weight of error ineach band

hn:output of linear-phase FIR filter coefficients

Manas Das, IITB Filter Design Using Scilab

Page 22: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 23: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 24: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 25: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 26: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 27: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

IIR Digital filter

Calling Sequence[hz]=iir(n,ftype,fdesign,frq,delta)Arguments

n:the filter order

ftype:’lp’,’hp’,’bp’,’sb’

fdesign:’butt’,’cheb1’,’cheb2’ and ’ellip’

frq:2-vector of discrete cut-off frequencies

delta:2-vector of error values

Manas Das, IITB Filter Design Using Scilab

Page 28: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Filter

To design filter of any magnitudeFunction- remezbCalling Sequencean=remezb(nc,fg,ds,wt)

nc:number of cosine functions

fg:dense grid of frequency

ds:derived magnitude values on this grid

wt:error weighting vectors

an:filter coeffficients

Manas Das, IITB Filter Design Using Scilab

Page 29: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Filter

Filtering of discrete signals by flts functionFunction- fltsCalling Sequencey,[x]=flts(u,sl[,x0])

u:the data to be filtered

x0:initial state vector/matrix giving necessaty i/p-o/p.Itallows for filtering of length signals

x:optimal variable which gives the state sequence.

Manas Das, IITB Filter Design Using Scilab

Page 30: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 31: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 32: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 33: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 34: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 35: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Summary

In this presentation we have learnt:

Different windowing techniques

How to design linear phase FIR filter usingwfir()

How to design linear phase FIR filter usingeqfir()

How to design IIR filter using iir()

How to design filter of any magnitude usingremezb()

How to filter discrete signals using flts()

Manas Das, IITB Filter Design Using Scilab

Page 36: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Textbook Companion

You already know Textbook Companion Project

There are books on Signal Processing using Scilab under thisproject

Refer to the link: http://www.scilab.in/Completed Books

Manas Das, IITB Filter Design Using Scilab

Page 37: Filter Design Using Scilab In this presentation we have learnt: Different windowing techniques How to design linear phase FIR filter using wfir() How to design linear phase FIR filter

Textbook Companion

You already know Textbook Companion Project

There are books on Signal Processing using Scilab under thisproject

Refer to the link: http://www.scilab.in/Completed Books

Manas Das, IITB Filter Design Using Scilab