Tải bản đầy đủ (.ppt) (33 trang)

Digital Signal Processing : Introduction to MATLAB pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (252.28 KB, 33 trang )

BEIT, 6th Semester
Digital Signal Processing : Introduction
to MATLAB
Ms. T. Samanta
Lecturer
Department of Information Technology
BEIT, 6th Semester
Books:

“Getting Started with MATLAB”
- Rudra Pratap

“Digital Signal Processing ”
- Sanjit K. Mitra.

“Digital Signal Processing-A Practitioner’s
Approach”
- Kaluri V. Rangarao
- Ranjan K. Mallik
BEIT, 6th Semester
Introduction

MATLAB -> MATrix LABoratory

Built-in Functions
-Computations
-Graphics
-External Interface
-Optional Toolbox for Signal Processing,
System analysis, Image Processing
BEIT, 6th Semester


How many windows?
BEIT, 6th Semester
MATLAB Windows

Command window: main window
characterized by ‘>>’ command prompt.

Edit window: where programs are written
and saved as ‘M-files’.

Graphics window: shows figures,
alternately known as Figure window.
BEIT, 6th Semester
Command Window
Figure Window
Edit Window
BEIT, 6th Semester
Matlab Basics
BEIT, 6th Semester
MATLAB Basics: Variables

Variables:
-Variables are assigned numerical values
by typing the expression directly
>> a = 1+2 press enter
>> a =
3
>> a = 1+2; suppresses the output



BEIT, 6th Semester
Variables

several predefined variables
i sqrt(-1)
j sqrt(-1)
pi 3.1416

>> y= 2*(1+4*j)
>> y=
2.0000 + 8.0000i


BEIT, 6th Semester
Variables

Global Variables

Local Variables
BEIT, 6th Semester
MATLAB Basics:

Arithmetic operators:
+ addition,
- subtraction,
* multiplication,
/division,
^ power operator,
' transpose
BEIT, 6th Semester

Matrices

Matrices : Basic building block

Elements are entered row-wise
>> v = [1 3 5 7] creates a 1x4 vector
>> M = [1 2 4; 3 6 8] creates a 2x3
matrix
>> M(i,j) => accesses the element of ith
row and jth column

BEIT, 6th Semester
Basics Matrices

Special Matrices
null matrix: M = [];
nxm matrix of zeros: M = zeros(n,m);
nxm matrix of ones: M = ones(n,m);
nxn identity matrix: M = eye(n);
Try these Matrices
[eye(2);zeros(2)],[eye(2);zeros(3)], [eye(2),ones(2,3)]

BEIT, 6th Semester
Matrix Operations

Matrix operations:
A+B is valid if A and B are of same size
A*B is valid if A’s number of columns equals
B’s number of rows.
A/B is valid and equals A.B

-l
for same size
square matrices A & B.

Element by element operations:
.* , ./ , .^ etc
a = [1 2 3], b = [2 2 4],
=>do a.*b and a*b
BEIT, 6th Semester
Vectors
BEIT, 6th Semester
Few methods to create vector

LINSPACE(x1, x2): generates a row vector of 100
linearly equally spaced points between x1 and x2.

LINSPACE(x1, x2, N): generates N points
between x1 and x2.

LOGSPACE(d1, d2): generates a row vector of 50
logarithmically equally spaced points between
decades 10^d1 and 10^d2.

a = 0:2:10 generates a row vector of 6 equally
spaced points between 0 and 10.
BEIT, 6th Semester
Waveform representation
BEIT, 6th Semester
2D Plotting


plot: creates linear continuous plots of
vectors and matrices;

plot(t,y): plots the vector t on the x-axis
versus vector y on the y-axis.

To label your axes and give the plot a title,
type
xlabel('time (sec)')
ylabel('step response')
title('My Plot')

Change scaling of the axes by using the
axis command after the plotting
command:axis([xmin xmax ymin ymax]);
BEIT, 6th Semester
2D Plotting

stem(k,y): for discrete-time signals this
command is used.

To plot more than one graph on the
screen,
subplot(m,n,p): breaks the Figure window
into an m-by-n matrix of small axes,
selects the p-th sub-window for the
current plot

grid : shows the underlying grid of axes
BEIT, 6th Semester

Example: Draw sine wave

t=-2*pi:0.1:2*pi;

y=1.5*sin(t);

plot(t,y);

xlabel(' > time')

ylabel(' > sin(t)')
BEIT, 6th Semester
Matlab Plot
BEIT, 6th Semester
Example: Discrete time signal

t=-2*pi:0.5:2*pi;

y=1.5*sin(t);

stem(t,y);

xlabel(' > time')

ylabel(' > sin(t)')
BEIT, 6th Semester

Matlab Plot
BEIT, 6th Semester
Example: Draw unit step and delayed

unit step functions

n=input('enter value of n')

t=0:1:n-1;

y1=ones(1,n); %unit step

y2=[zeros(1,4) ones(1,n-4)]; %delayed unit step

subplot(2,1,1);

stem(t,y1,'filled');ylabel('amplitude');

xlabel('n >');ylabel('amplitude');

subplot(2,1,2);

stem(t,y2,'filled');

xlabel('n >');ylabel('amplitude');
BEIT, 6th Semester
Matlab Plot

×