Vous êtes sur la page 1sur 25

Lingayas University, Faridabad

(D eem to be University u/s 3 of UGC Act 1956) ed

Par Excellence w ith Hum Touch an

M. Tech. Degree Programme Term II

DIGITAL SIGNAL PROCESSING (EC-552)

PRACTICAL NOTE BOOK

Name

: SUDHIR KUMAR JHA Branch : ECE

Roll No. :10PGECPT21

Group : TERM- II Session : 2010 2011.

LIST OF EXPERIMENT 1. Write a program to represent basic signals (unit step, unit
impulse ramp, Exponential, sine & cosine)

2. Write a Program for computing inverse Z-transform of a


rational transfer function

3. To develop program for linear convolution and circular


convolution

4. Write a Program for plotting the frequency response of first


order System.

5. Write a Program for computing Discrete Fourier Transform


(DFT).

6. Design a Butterworth Low pass IIR filter using Bilinear Ztransform method.

7. Design FIR Low pass filter and High pass filter using
Rectangular window

8. Transform an analog filter in to a digital filter using Impulse


Invariant method

9. Design a Chebyshev Low pass filter. 10. Design FIR low pass filter using Kaiser Window

EXPERIMENT NO.-1
AIM
Write a program to represent basic signals (unit step, unit impulse ramp, exponential, sine & cosine)

REQUIREMENT
MATLAB Software

THEORY
Singularity functions are an important classification of non-periodic signal. They can be used to represent more complicated signal. Some of them are unit impulse function, step function, ramp function. 1. Unit Impulse Function is defined as :.

, 1 otherwise
2. Unit Sep Function is defined as :-

3.

Unit Ramp Function is defined as :-

4.

Exponential Sequence
x( n ) = Ar n

PROGRAM

EXPERIMENT NO. 2
AIM
Write a Program for computing inverse Z-transform of a rational transfer function.

REQUIREMENT
MATLAB Software

THEORY
Mathematically, the inverse z-transform is expressed as
x( n ) = z 1 [ x( z ) ]

Methods as under: (1) Long Division Method


x( z ) = x( n ) z n
n =0 N ( z) = an z n D ( z ) n =0

x( z ) =

(2)

Partial fraction method


H ( z) = a0 z m + a1 z m1 + a2 z m2 + ...... + am ( z P1 ) ( z P2 ) .............( z Pn ) An A1 A2 + + ........ + Z P1 ( z P2 ) ( z Pn )
n 1

Or
H ( z ) = A0 +

(3)

Residues Method
x( n ) =
all poles x z

residues of [ x( z ) z ] ( )

Lim d m1 1 m n 1 Re sidues = m1 C ( z ) ( z ).z ( m 1)! z d 2

PROGRAM

%Consider the Z- Transform %z/(3*z^2 - 4*z +1).% Find inverse ZTransform b = [0 1]; a = [3 -4 1]; [R P C] = residuez(b, a)

RESULT
R = .5000 -.5000 P = 1.000 0.3333 C = [] R = Residue P = pole C = Direct term of a pf expansion.

EXPERIMENT NO. 3
AIM To develop program for linear convolution and circular convolution. REQUIREMENT
MATLAB Software

THEORY
CONVOLUTION:It is a powerful way of characterizing the input-output relationship of time invariant linear system. There are two-convolution theorem, one for the time domain and another for frequency domain. Convolution of one signal in time domain is equal to multiplication of their individual Fourier transform in frequency domain.

(1) (2)

Convolution of two discrete time signals x1 (n) and x2(n) is x(n) = x1(n) x2(n) = Circular Convolution X(n) = x1(n) x2(n) =
k =

x1(k ) x 2(n k ) x1(k ) x 2(n k )

k =

PROGRAM Program for linear convolution and circular convolution close all; clear all; x = [2 1 3 1 2 4]; h = [1 2 1 2 3 1 1 ]; y=conv(x,h); z=cconv(x,h); subplot(5,1,1); stem(x); xlabel('figure(a) n'); ylabel('Amplitude'); title('first sequence'); subplot(5,1,2); stem(h); xlabel('figure(b) n'); ylabel('Amplitude'); title('second sequence'); subplot(5,1,3); stem(y); xlabel('figure(c) n'); ylabel('Amplitude'); title('Linear convolution'); subplot(5,1,4); stem(z); xlabel('figure(d) n'); ylabel('Amplitude'); title('circular convolution'); disp(y); disp(z);

Result
Amplitude Amplitude first sequence 4 2 0 1 2 3 4 figure(a) n second sequence 3 4 5 figure(b) n Linear convolution 6 8 figure(c) n circular convolution 6 figure(d) 8 n 5 6

4 2 0

Amplitude Amplitude

40 20 0

10

12

40 20 0

10

12

EXPERIMENT NO.-4
AIM Write a Program for plotting the frequency response of first order system. REQUIREMENT
MATLAB Software THEORY

The transfer function of a first order system is given by: H(z)= B(z)/ A(z) Here the highest power of numerator and denominator is one since it is a first order system. This block assumes that the transfer function has the following form where u and y are the system's input and outputs, respectively, nn and nd are the number of numerator and denominator coefficients, respectively. num and den contain the coefficients of the numerator and denominator in descending powers of z.The order of the denominator must be greater than or equal to the order of the numerator. This block also assumes that the transfer functions for the outputs of a multiple output system have the same denominator and that the numerators of the transfer functions have the same order. The Transfer Function First Order block implements a discretetime first order transfer function of the input. The transfer function has a unity DC gain.

PROGRAM
b = [1]; a = [1, -.8]; w = .01:2*pi; [h] = freqz(b, a, w); subplot(2, 1, 1); plot(w/pi, abs(h)); title('Frequency Response of the first order system'); xlabel('Normalized frequency'); ylabel('Magnitude'); subplot(2, 1, 2); plot(w/pi, angle(h)); xlabel('Normalized Frequency'); ylabel('Phase in Radian');

Frequency Response of the first order system 5 4 Magnitude 3 2 1 0 0 0.5 1 Normalized frequency 1.5 2

1 Phase in Radian 0.5 0 -0.5 -1 0 0.5 1 Normalized Frequency 1.5 2

EXPERIMENT NO. 5
AIM Write a Program for computing Discrete Fourier Transform (DFT). REQUIREMENT
MATLAB Software THEORY It is a finite duration discrete frequency sequence which is obtained by sampling one period of Fourier transform. Sampling is done at N equally spaced points over the period points over the period extending
= 0 to = 2

The DFT of discrete sequence x(n) is denoted by x(h) it is given by


X ( k ) = x( n ) cj 2kn / n
n=0 N 1

Here k = 0, 1, 2 ..N-1 IDFT is given by


x( n ) = 1 X ( k ) c j 2kn / N N

N=0, 1, 2 N-1

PROGRAM

EXPERIMENT NO. 6
AIM Design a Butterworth Low pass IIR filter using Bilinear Ztransform method. REQUIREMENT
MATLAB Software

THEORY

PROGRAM
[b, a]= butter(20,.3,'low'); [bz, az] = bilinear(b, a, 10); freqz(bz, az, 512, 1000); title('Butterworth LPF response');

Butterworth LPF response 50 Magnitude (dB) 0 -50 -100 -150 -200 0 100 200 300 Frequency (Hz) 400 500

15000 Phase (degrees) 10000

5000

100

200 300 Frequency (Hz)

400

500

EXPERIMENT NO. 7
AIM Design FIR Low pass filter and High pass filter using Rectangular window. REQUIREMENT
MATLAB Software

THEORY

PROGRAM

EXPERIMENT NO. 8
AIM Transform an analog filter in to a digital filter using Impulse Invariant method. REQUIREMENT
MATLAB Software

THEORY

PROGRAM [b,a] = butter(4, 0.3, 'low'); [bz,az] = impinvar(b, a,10); freqz(bz, az, 512, 1000);

-10 Magnitude (dB) -20 -30 -40 -50 0 100 200 300 Frequency (Hz) 400 500

800 Phase (degrees) 600 400 200 0 0 100 200 300 Frequency (Hz) 400 500

EXPERIMENT NO. 9
AIM Design a Chebyshev Low pass filter. REQUIREMENT
MATLAB Software

THEORY Please see next page.

PROGRAM %Chebyshev LPF Ap = 1; As = 15; wp = .2*pi; ws = .3*pi; [n ,wn] = cheb1ord(wp/pi, ws/pi, Ap, As); [b, a] = cheby1(n, Ap, wn); w = 0 : .01 :pi; [h, ph] = freqz(b, a, w); m = 20*log10(abs(h));an = angle(h); subplot(2, 1, 1); plot(ph/pi, m); grid; ylabel('Gain in dB'); xlabel('Normalised Frequency'); subplot(2,1,2); plot(ph/pi, an); grid; xlabel('norm frq'); ylabel('phase') [b, a] = cheby1(n, Ap, wn);

EXPERIMENT NO. 10
AIM Design low pass filter using Kaiser Window REQUIREMENT
MATLAB Software

THEORY

PROGRAM