38
for Digital Signal Processing S Subathra Project Engineer, NRCFOSS AU-KBC Research Centre MIT Campus of Anna University Chennai – 600 044 [email protected] AICTE-SDP on Open Source Software, PSG Tech, June 22 nd ,2007 – July 6 th ,2007

for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Embed Size (px)

Citation preview

Page 1: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

for Digital Signal Processing

S SubathraProject Engineer, NRCFOSSAU­KBC Research CentreMIT Campus of Anna UniversityChennai – 600 044subathra@au­kbc.org

AICTE­SDP on Open Source Software, PSG Tech, June 22nd,2007 – July 6th,2007

Page 2: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 2

Plan for PresentationTutorial Session

Signal Processing with Scilab   45mins (Tutor)

Lab Session Installation Demo 10mins (Tutor) Installation of Scilab 15mins (Participants) Scilab Build­in Demo  50mins (Participants) Hands­on Practise 60mins (Participants)

Page 3: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 3

Tutorial Session

Page 4: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 4

Outline Scilab Signal Processing Handling vectors & matrices Using plot functions Signal generation  Sampling Convolution Correlation Discrete Fourier Transform Digital Filter Design

Page 5: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 5

Scilab

Free software Numerical programming Rapid Prototyping Extensive libraries and toolboxes Easy for matrix manipulation

Page 6: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 6

Scilab

Free software Numerical programming Rapid Prototyping Extensive libraries and toolboxes Easy for matrix manipulation

Ideal for Signal Processing

Page 7: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 7

Signal Processing A signal carries information, and the objective of signal 

processing is to extract useful information carried by the signal. 

The method of information extraction depends on the type of signal and the nature of the information being carried by the signal.

Signal Processing is concerned with the mathematical representation of the signal and the algorithmic operation carried out on it to extract the information present.

Page 8: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 8

Signal Processing A 1­D signal is a function of a single independent variable.

Eg: Speech Signal => time A 2­D signal is a function of a two independent variable.

Eg: Image(like photograph) => two spatial variables A M­D signal is a function of more than one variable.

Eg: Each frame of a black­and­white video signal is a 2­D image signal that is a function of two discrete spatial variables, with each frame occurring sequentially at discrete instants of time. => two spatial variables & time

Page 9: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 9

Signal Processing The representation of the signal can be in terms of basis 

functions in the domain of the original independent variable(s), or it can be in terms of basis functions in a transformed domain.

A signal can be generated by a single source or by multiple sources.  Single Source => Scalar Multiple Source => Vector

Page 10: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 10

Signal Processing The representation of the signal can be in terms of basis 

functions in the domain of the original independent variable(s), or it can be in terms of basis functions in a transformed domain.

A signal can be generated by a single source or by multiple sources.  Single Source => Scalar Multiple Source => Vector

How to process vectors with Scilab

Page 11: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 11

Handling vectors

To create a zero vector with 20 dimensions    >a=zeros(1,20);

To create a vector and store it in a variable    >b=[1 2 3 5 1];

To extract the element 1 to 3 of the above vector     >b(1:3)    [1 2 3]

Page 12: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 12

Handling matrices

To initialize matrix    >m=zeros(3,3);    >k=rand(3,3);    >h=[1 4 6 7; 4 3 2 1; 1 4 3 

8];

To extract the elements of the matrix

    >h(2:3,2:4)    |1 7 8|    |2 1 5|

To get the size of matrix    >size(h)    >[3 4]

Transpose of a matrix    >h=[1 4 6 7; 4 3 2 1; 1 4 3 

8];    >h’   |1 2 9|   |4 1 2|   |6 7 1|   |7 8 5|

Page 13: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 13

Operator Notation

To multiply two matrices ‘a’ and ‘b’    >a*b

For multiplying transpose of matrix ‘a’ with itself    >a’*a

For elementwise multiplication and addition    >c=a.*b    >c=a.+b

Page 14: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 14

Using Plot Function Plot function is used to 

produce number of two dimensional plots

To generates a random vector of length 10 and plots the points with straight line joining each points

    >y=rand(1,10);    >plot(y);

1 2 3 4 5 6 7 8 9 100.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Fig. 1 Plot Function ­ Sample 1

Page 15: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 15

Using Plot Function – color Color of the line joining the 

points changed using a parameter ‘y’ – yellow ‘c’ – cyan ‘g’ – green ‘w’ – white ‘m’ – magenta ‘r’ – red ‘b’ – blue ‘k’ – black

>y=rand(1,10);>plot(y,’r’);

1 2 3 4 5 6 7 8 9 100.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Fig. 2 Plot Function ­ Sample 2

Page 16: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 16

Using Plot Function

To produce a discontinious plot ‘.’ – uses dot at each point ‘*’ – uses asterisks at each point  ‘d’ – uses blank diamond at each 

point ‘^’ – uses upward triangles at each 

point ‘o’ – uses circle at each point ‘+’ – uses cross at each point ‘v’ – uses inverted triangle at each 

point

>y=rand(1,10);>plot(y,’r’);

1 2 3 4 5 6 7 8 9 100.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Fig. 3 Plot Function ­ Sample 3

Page 17: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 17

Using Plot Function – subplot Several plots can be accommodated in a single figure window 

using ‘sub­plot’ command. 

This command takes three parameters as input, first two parameters specifies the grid size, i.e. how many rows and columns and the third parameter specifies the position of the plot in the grid.

For e.g.,           subplot(3,2,2)     tells scilab that the figure window is divided as three rows, two 

columns and the plot has to be placed in the second column of the first row.

Page 18: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 18

Using Plot Function – subplot

Example:x1=rand(1,10);subplot(2,2,1);plot(x1);x2=rand(1,20);subplot(2,2,2);plot(x2);x3=rand(1,15);subplot(2,2,3);plot(x3);x4=rand(1,25);subplot(2,2,4);plot(x4);

1 2 3 4 5 6 7 8 9 100.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 2 4 6 8 10 12 14 16 18 200.00.10.20.30.40.50.60.70.80.91.0

0 2 4 6 8 10 12 14 160.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 5 10 15 20 250.00.10.20.30.40.50.60.70.80.91.0

Fig. 4 Plot Function ­ Sample 4

Page 19: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 19

Using Plot Function - label

To mark label, the function ‘gca’ returns the handle for the current axes

    t=1:1:50    y=rand(1,50);   plot(t,y);   a=gca();   a.x_label.text=“time”;   a.y_label.text=“amplitude”;

0 5 10 15 20 25 30 35 40 45 500.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

time

ampli

tude

Fig. 5 Plot Function ­ Sample 5

Page 20: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 20

Using Plot Function - Mesh plot

Mesh plot can be generated using plot3d command. 

     m=rand(5,7);     i=1:1:5;      j=1:1:7;     plot3d(i,j,m); 

0

1

Z

1

2

3

4

5

X

1

2

3

4

5

6

7

Y

Fig. 6 Plot Function ­ Sample 6

Page 21: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 21

Signal generation//sine wavet=0:0.01:3.14;y=sin(2*3.14*t);subplot(2,1,1);a=gca();a.x_label.text="Time";a.y_label.text="Amplitude";plot2d(t,y);xtitle("Sine Wave Generation");

//cos wavet=0:0.01:3.14;y=cos(2*3.14*t);subplot(2,1,2);a=gca();a.x_label.text="Time";a.y_label.text="Amplitude";plot2d(t,y);xtitle("Cosine Wave Generation");

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5­1.0­0.8­0.6­0.4­0.20.00.20.40.60.81.0

Sine Wave Generation

Time

Ampli

tude

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5­1.0­0.8­0.6­0.4­0.20.00.20.40.60.81.0

Cosine Wave Generation

Time

Ampli

tude

Fig. 7 Signal generation

Page 22: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 22

Sampling

The process in which the analog continuous signal are measured at equal interval of time and finally a discretized set of digital numbers are created.

For proper sampling of analog signal Nyquist­Shannon sampling theorem should be satisfied, i.e. sampling frequency should be a greater than twice the maximum frequency of the input signal.

Page 23: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 23

Sampling - Examplefo=input('Frequency of since wave in hz=');ft=input('Sampling frequency in hz=');t=0:0.01:1;T=1.0/ft;x=sin(2*3.14*fo*t);subplot(2,1,1);a=gca();a.x_label.text="Time";a.y_label.text="Amplitude";plot(t,x);xtitle("Continuous signal");

n=0:ft;y=sin(2*3.14*fo*n*T);subplot(2,1,2);a=gca();a.x_label.text="Time";a.y_label.text="Amplitude";plot2d3(n,y);xtitle("Sampled Signal");

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0­1.0­0.8­0.6­0.4­0.20.00.20.40.60.81.0

Continuous signal

Time

Ampli

tude

0 5 10 15 20 25 30 35 40 45 50­1.0­0.8­0.6­0.4­0.20.00.20.40.60.81.0

Sampled Signal

Time

Ampli

tude

Fig. 8 Sampling 

Page 24: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 24

Convolution

Convolution is the process in which the response of a LTI system is computed for an input signal.

The LTI system can be defined using the impulse response of the system.

Convolution of the input signal and impulse response of the system gives the output signal. This process is also called digital filtering.

Mathematically,

Page 25: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 25

Correlation

Correlation takes two signals as input and produces third signal as output.

If both the input signals are one and the same, then it is called as auto correlation

If both the input signals are different, then it is called as cross correlation

Correlation is used to measure the similarity between the two input signals at that particular time.

Mathematically,

Page 26: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 26

Discrete Fourier Transform

Used for analysing the frequency components of a sampled signal

DFT decomposes the input signal into set of sinusoids

In DFT, we take a sequence of real numbers(sampled signal) as input and it is transformed into a sequence of complex numbers.

Mathematically,

Page 27: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 27

Digital Filter Design – Analog & Digital

Filter ­ Used to remove the unwanted signal from the useful signal. For eg, removing noise from audio signal

Two types – Analog & Digital filters Analog filters uses inductors, capacitors to produce 

the required effects Digital filter uses modern processors for doing the 

same

Page 28: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 28

Digital Filter Design – FIR & IIR

Digital filters are classified as non recursive filters(FIR) and recursive filters(IIR) FIR Filter – the output will be dependent on the 

current & previous input values IIR Filter – dependent on previous output in 

addition to the input values

Page 29: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 29

FIR – LPF// Low pass filterfp=input('Enter the cutoff frequency in 

Hz ­­ fp=');n=input('Enter the order of the filter ­­

n=');F=input('Enter sampling frequency in Hz 

­­F=');wc=fp/F;[coeffval,famp,ffreq]=wfir('lp',n,[wc 0], 

'hm', [0 0]);//frequency response of the filterplot2d(ffreq,famp);a=gca();a.x_label.text="Frequency";a.y_label.text="Magnitude";xtitle("FIR low pass filter");

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.500.0

0.2

0.4

0.6

0.8

1.0

1.2

FIR low pass fi l ter

Frequency

Magn

itude

Fig. 9 FIR ­ LPF

Page 30: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 30

FIR – HPF// High pass filterfp=input('Enter the cutoff frequency in 

Hz ­­ fp=');n=input('Enter the order of the filter ­­

n=');F=input('Enter sampling frequency in Hz 

­­F=');wc=fp/F;[coeffval,famp,ffreq]=wfir('hp',n,[wc 0], 

'hm', [0 0]);//frequency response of the filterplot2d(ffreq,famp);a=gca();a.x_label.text="Frequency";a.y_label.text="Magnitude";xtitle("FIR high pass filter");

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.500.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

FIR high pass fil ter

Frequency

Magn

itude

Fig. 10 FIR ­ HPF

Page 31: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 31

IIR – LPF// Low pass filterfp=input('Enter the cutoff frequency in Hz ­­ 

fp=');n=input('Enter the order of the filter ­­n=');F=input('Enter sampling frequency in Hz ­­

F=');wc=fp/F;hz=iir(3,'lp','butt',[wc 0],[0 0]);[hzm,fr]=frmag(hz,256);plot2d(fr',hzm');a=gca();a.x_label.text="Frequency";a.y_label.text="Magnitude";xtitle('Discrete IIR filter low pass');q=poly(0,'q'); //to express the result in terms of 

the ...hzd=horner(hz,1/q) // delay operator q=z^­1

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.500.0

0.2

0.4

0.6

0.8

1.0

1.2

Discrete IIR fi l ter low pass

Frequency

Magn

itude

Fig. 11 IIR ­ LPF

Page 32: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 32

IIR – HPF// High pass filterfp=input('Enter the cutoff frequency in Hz ­­ 

fp=');n=input('Enter the order of the filter ­­n=');F=input('Enter sampling frequency in Hz ­­

F=');wc=fp/Fhz=iir(3,'hp','butt',[wc 0],[0 0]);[hzm,fr]=frmag(hz,256);plot2d(fr',hzm');a=gca();a.x_label.text="Frequency";a.y_label.text="Magnitude";xtitle('Discrete IIR filter high pass');q=poly(0,'q'); //to express the result in terms of 

the ...hzd=horner(hz,1/q) // delay operator q=z^­1

0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.500.0

0.2

0.4

0.6

0.8

1.0

1.2

Discrete IIR fi lter high pass

Frequency

Magn

itude

Fig. 12 IIR ­ HPF

Page 33: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 33

Reference

[1] John G.Proakis and Dimitris G.Manolakis, “Digital Signal Processing principles, algorithms, and applications” – Third edition.

[2] Sanjit K. Mitra, “Digital Signal Processing a computer based approach” – Second edition.

[3] Scilab Documentation, Available at www.scilab.org

Page 34: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 34

Lab Session

Page 35: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 35

Scilab Installation – How To Go to www.scilab.org Check for the latest downloadable version of scilab (i.e. scilab­

4.1.1.bin.linux­i686.tar.gz) and download it. Untar the scilab­4.1.1.bin.linux­i686.tar.gz using the command 

# tar –xzvf scilab­4.1.1.bin.linux­i686.tar.gzwhere           x refers to extract,           z refers to gzip,           v refers to verbose,           f refers to file

Run Scilab by executing “scilab”(shell script in bin)

Page 36: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 36

Scilab Build-in Demo

Scilab demonstration

http://www.scilab.org/doc/demos_html/index.html

Matlab and Scilab functions 

http://www.scilab.org/product/dic­mat­sci/M2SCI_doc.htm

Page 37: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 37

More about DSP

Signal Processing Information Base (SPIB)

http://spib.rice.edu/spib.html

DSP Online Classes

http://bores.com/index_dsp.htm

http://bores.com/index_online.htm

Page 38: for Digital Signal Processing - Subathra's Homepagesubathra.weebly.com/uploads/4/3/5/7/4357380/subathra_scilab4dsp.pdf · for Digital Signal Processing S Subathra Project Engineer,

Scilab for Digital Signal Processing 38