Signal Processing Using Scilab
Manas Das Indian Institute of Technology, Bombay
February 21, 2012
Introduction
Signal Basics
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal?
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal? Dierent types of signal
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal? Dierent types of signal
Impulse function
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal? Dierent types of signal
Impulse function Step function
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal? Dierent types of signal
Impulse function Step function Ramp function
Manas Das, IITB
Signal Processing Using Scilab
Introduction
Signal Basics
What is signal? Dierent types of signal
Impulse function Step function Ramp function
Manas Das, IITB
Signal Processing Using Scilab
Linear Time-Invariant Systems
Convolution Continuous time convolution
Manas Das, IITB
Signal Processing Using Scilab
Linear Time-Invariant Systems
Convolution Continuous time convolution Discrete time convolution
Manas Das, IITB
Signal Processing Using Scilab
Linear Time-Invariant Systems
Convolution Continuous time convolution Discrete time convolution Circular convolution
Manas Das, IITB
Signal Processing Using Scilab
Linear Time-Invariant Systems
Convolution Continuous time convolution Discrete time convolution Circular convolution Correlation
Manas Das, IITB
Signal Processing Using Scilab
Linear Time-Invariant Systems
Convolution Continuous time convolution Discrete time convolution Circular convolution Correlation
Manas Das, IITB
Signal Processing Using Scilab
Dierent types of Transform
Fourier Transform
Manas Das, IITB
Signal Processing Using Scilab
Dierent types of Transform
Fourier Transform Laplace Transform
Manas Das, IITB
Signal Processing Using Scilab
Dierent types of Transform
Fourier Transform Laplace Transform Z-Transform
Manas Das, IITB
Signal Processing Using Scilab
Dierent types of Transform
Fourier Transform Laplace Transform Z-Transform
Manas Das, IITB
Signal Processing Using Scilab
Fourier Transform
A mathematical operation that converts signal from time domain to its frequency domain
Manas Das, IITB
Signal Processing Using Scilab
Fourier Transform
A mathematical operation that converts signal from time domain to its frequency domain Fourier Transform of continuous time signal
Manas Das, IITB
Signal Processing Using Scilab
Fourier Transform
A mathematical operation that converts signal from time domain to its frequency domain Fourier Transform of continuous time signal Fourier Transform of Discrete time signal
Manas Das, IITB
Signal Processing Using Scilab
Fourier Transform
A mathematical operation that converts signal from time domain to its frequency domain Fourier Transform of continuous time signal Fourier Transform of Discrete time signal
Discrete Fourier Transform (DFT) Fast Fourier Transform(FFT)
Manas Das, IITB
Signal Processing Using Scilab
DFT
Discrete Fourier transform
Manas Das, IITB
Signal Processing Using Scilab
DFT
Discrete Fourier transform Calling Sequence [xf]=dft(x,flag); x :input vector
Manas Das, IITB
Signal Processing Using Scilab
DFT
Discrete Fourier transform Calling Sequence [xf]=dft(x,flag); x :input vector flag: indicates dft (flag=-1) or idft (flag=1)
Manas Das, IITB
Signal Processing Using Scilab
DFT
Discrete Fourier transform Calling Sequence [xf]=dft(x,flag); x :input vector flag: xf: indicates dft (flag=-1) or idft (flag=1) output vector
Manas Das, IITB
Signal Processing Using Scilab
DFT
Discrete Fourier transform Calling Sequence [xf]=dft(x,flag); x :input vector flag: xf: indicates dft (flag=-1) or idft (flag=1) output vector
Manas Das, IITB
Signal Processing Using Scilab
FFT
Fast Fourier transform
Manas Das, IITB
Signal Processing Using Scilab
FFT
Fast Fourier transform Calling Sequence [x]=fft(a); x :real or complex vector
Manas Das, IITB
Signal Processing Using Scilab
FFT
Fast Fourier transform Calling Sequence [x]=fft(a); x :real or complex vector a: real or complex vector, matrix or multidimensional array.
Manas Das, IITB
Signal Processing Using Scilab
FFT
Fast Fourier transform Calling Sequence [x]=fft(a); x :real or complex vector a: real or complex vector, matrix or multidimensional array.
Manas Das, IITB
Signal Processing Using Scilab
Laplace Transform
A linear operator of a function f(t) with a real argument t (t=0) that transforms it to a function F(s) with a complex argument s
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: czt is evaluated at m points in z-plane
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: czt is evaluated at m points in z-plane w:magnitude multiplier
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: phi: czt is evaluated at m points in z-plane phase increment w:magnitude multiplier
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: phi: czt is evaluated at m points in z-plane phase increment w:magnitude multiplier a:initial magnitude
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: phi: czt is evaluated at m points in z-plane phase increment w:magnitude multiplier a:initial magnitude theta:initial phase
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: phi: czt is evaluated at m points in z-plane phase increment w:magnitude multiplier a:initial magnitude theta:initial phase czx:chirp z-transform output
Manas Das, IITB
Signal Processing Using Scilab
z-Transform
Calling Sequence [czx]=czt(x,m,w,phi,a,theta) Arguements x :input data sequence m: phi: czt is evaluated at m points in z-plane phase increment w:magnitude multiplier a:initial magnitude theta:initial phase czx:chirp z-transform output
Manas Das, IITB
Signal Processing Using Scilab
Sampling
Nyquist Criteria
Manas Das, IITB
Signal Processing Using Scilab
Sampling
Nyquist Criteria An analog signal that has been sampled can be perfectly reconstructed from an infinite sequence of samples if the sampling rate exceeds 2B samples per second, where B is the highest frequency of the original signal Aliasing
Manas Das, IITB
Signal Processing Using Scilab
Sampling
Nyquist Criteria An analog signal that has been sampled can be perfectly reconstructed from an infinite sequence of samples if the sampling rate exceeds 2B samples per second, where B is the highest frequency of the original signal Aliasing
Ambiguity from reconstruction
Manas Das, IITB
Signal Processing Using Scilab
Sampling
Nyquist Criteria An analog signal that has been sampled can be perfectly reconstructed from an infinite sequence of samples if the sampling rate exceeds 2B samples per second, where B is the highest frequency of the original signal Aliasing
Ambiguity from reconstruction Shannon-Nyquist Sampling theorem
Manas Das, IITB
Signal Processing Using Scilab
Sampling
Nyquist Criteria An analog signal that has been sampled can be perfectly reconstructed from an infinite sequence of samples if the sampling rate exceeds 2B samples per second, where B is the highest frequency of the original signal Aliasing
Ambiguity from reconstruction Shannon-Nyquist Sampling theorem Under-sampling
Manas Das, IITB
Signal Processing Using Scilab
FIR Filter Equation
FIR Filters are represented as:N
H(z) =
k=0
hk Z k
(1)
Manas Das, IITB
Signal Processing Using Scilab
Window Functions for FIR Filter Design
Hamming Window
Manas Das, IITB
Signal Processing Using Scilab
Window Functions for FIR Filter Design
Hamming Window win hamming=window(hm,n) Kaiser Window
Manas Das, IITB
Signal Processing Using Scilab
Window Functions for FIR Filter Design
Hamming Window win hamming=window(hm,n) Kaiser Window win kaiser=window(kr,n,alpha) Chebyshev Window
Manas Das, IITB
Signal Processing Using Scilab
Window Functions for FIR Filter Design
Hamming Window win hamming=window(hm,n) Kaiser Window win kaiser=window(kr,n,alpha) Chebyshev Window win chebyshev=window(ch,n,par)
Manas Das, IITB
Signal Processing Using Scilab
Window based Linear Phase FIR lter
Calling Sequence [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) Arguments ftype: lp,hp,bp,sb (filter type)
Manas Das, IITB
Signal Processing Using Scilab
Window based Linear Phase FIR lter
Calling Sequence [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) Arguments ftype: lp,hp,bp,sb (filter type)
wtype: Window type (re,tr,hm,hn,kr,ch)
Manas Das, IITB
Signal Processing Using Scilab
Window based Linear Phase FIR lter
Calling Sequence [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) Arguments ftype: lp,hp,bp,sb (filter type)
wtype: Window type (re,tr,hm,hn,kr,ch) wft: time domain filter coefficients
Manas Das, IITB
Signal Processing Using Scilab
Window based Linear Phase FIR lter
Calling Sequence [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) Arguments ftype: lp,hp,bp,sb (filter type)
wtype: Window type (re,tr,hm,hn,kr,ch) wft: time domain filter coefficients wfm: frequency domain filter response on the grid fr
Manas Das, IITB
Signal Processing Using Scilab
Window based Linear Phase FIR lter
Calling Sequence [wft,wfm,fr]=wfir(ftype,forder,cfreq,wtype,fpar) Arguments ftype: lp,hp,bp,sb (filter type)
wtype: Window type (re,tr,hm,hn,kr,ch) wft: time domain filter coefficients wfm: frequency domain filter response on the grid fr fr: Frequency grid
Manas Das, IITB
Signal Processing Using Scilab
Equiripple FIR Filter Design
Calling Sequence [hn]=eqfir(nf,bedge,des,wate) Arguments nf: number of output filter points desired
Manas Das, IITB
Signal Processing Using Scilab
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 each band
Manas Das, IITB
Signal Processing Using Scilab
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 each band des: band M-vector giving desired magnitude for each
Manas Das, IITB
Signal Processing Using Scilab
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 each band des: band M-vector giving desired magnitude for each
wate: M-vector giving relative weight of error in each band
Manas Das, IITB
Signal Processing Using Scilab
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 each band des: band M-vector giving desired magnitude for each
wate: M-vector giving relative weight of error in each band hn: output of linear-phase FIR filter coefficients
Manas Das, IITB Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order
Manas Das, IITB
Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order ftype:filter type,lp for low-pass,hp for high pass,bp for band pass and sb for stop band
Manas Das, IITB
Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order ftype:filter type,lp for low-pass,hp for high pass,bp for band pass and sb for stop band fdesign:the analog filter design, the possible values are: butt, cheb1, cheb2 and ellip
Manas Das, IITB
Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order ftype:filter type,lp for low-pass,hp for high pass,bp for band pass and sb for stop band fdesign:the analog filter design, the possible values are: butt, cheb1, cheb2 and ellip frq:2-vector of discrete cut-off frequencies (i.e., 0<frq<.5). For lp and hp filters only frq(1) is used. For bp and sb filters frq(1) is the lower cut-off frequency and frq(2) is the upper cut-off frequency
Manas Das, IITB Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order ftype:filter type,lp for low-pass,hp for high pass,bp for band pass and sb for stop band fdesign:the analog filter design, the possible values are: butt, cheb1, cheb2 and ellip frq:2-vector of discrete cut-off frequencies (i.e., 0<frq<.5). For lp and hp filters only frq(1) is used. For bp and sb filters frq(1) is the lower cut-off frequency and frq(2) is the upper cut-off frequency delta: 2-vector of error values
Manas Das, IITB Signal Processing Using Scilab
IIR Digitallter
Calling Sequence [hz]=iir(n,ftype,fdesign,frq,delta) Arguments n:the filter order ftype:filter type,lp for low-pass,hp for high pass,bp for band pass and sb for stop band fdesign:the analog filter design, the possible values are: butt, cheb1, cheb2 and ellip frq:2-vector of discrete cut-off frequencies (i.e., 0<frq<.5). For lp and hp filters only frq(1) is used. For bp and sb filters frq(1) is the lower cut-off frequency and frq(2) is the upper cut-off frequency delta: 2-vector of error values
Manas Das, IITB Signal Processing Using Scilab
Filter
To design lter of any magnitude Function- fremezb Calling Sequence an=remezb(nc,fg,ds,wt) nc: half-lter length fg: dense grid of frequency s: derived magnitude values on this grid wt: error weighting vectors an: lter coecients
Manas Das, IITB
Signal Processing Using Scilab
Filter
Filtering of discrete signals by ts function Function- ts Calling Sequence y,[x]=ts(u,s1[,x0]) u: hte data to be ltered x0: initial state vector/matrix giving necessaty i/p-o/p.it allows for ltering of length signals x: optimal variable which givesh the state sequence.
Manas Das, IITB
Signal Processing Using Scilab
Textbook Companion
You already know Textbook Companion Project There are books on Signal Processing using Scilab under this project
Manas Das, IITB
Signal Processing Using Scilab
Textbook Companion
You already know Textbook Companion Project There are books on Signal Processing using Scilab under this project Refer to the link: http://www.scilab.in/Completed Books
Manas Das, IITB
Signal Processing Using Scilab