dsp lab manual

Post on 14-Oct-2014

75 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

(Affiliated to Kurukshetra University Kurukshetra)(Approved by AICTE, New Delhi)

Practical ReportOn

MATLAB (DIGITAL SIGNAL PROCESSING LAB)

ECE-490E

Submitted for partial fulfillmentOf B. Tech. in

ELECTRONICS AND COMMUNICATION ENGINEERING

SUBMITTED TO: SUBMITTED BY:

Er. Naresh Kumar Rashi GuptaH.O.D. ECE Department 4309102

ECE 3rd Year

INDEX

S.NO. EXPERIMENT NAME DATE PAGE NO.

SIGNATURE

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

EXPERIMENT-1

AIM: - Write a program to plot the following functions : a)impulse function

b)unit step c)unit ramp d) exponential e) sinusoidal.

REQUIREMENT: - Computer installed with MATLAB 7.1

PROGRAM CODE: -

t=(-1:.01:1);%range for time or division of x-axis

%To plot unit step

z=[zeros(100,1);ones(101,1)];

subplot(4,1,2);

stem(t,z);

xlabel('time');

ylabel('amp');

title('Fig-2 unit STEP Signal');

%To plot sin wave

x1=sin(2*pi*10*t);

subplot(4,1,4);

plot(t,x1);

xlabel('time');

ylabel('amp');

title('Fig-4 SIN Signal');

%To plot unit impulse signal

y=[zeros(100,1); 1 ;zeros(100,1)];

subplot(4,1,1);

stem(t,y);

xlabel('time');

ylabel('amp');

title('Fig-1 unit IMPLUSE Signal');

%To plot Ramp signal

subplot(4,1,3);

plot(t,t);

xlabel('time');

ylabel('amp');

title('Fig-3 RAMP Signal');

OUTPUT:

RESULT: - The Plot of various standard signals has been studied using MATLAB program.

EXPERIMENT-2

AIM: - To study the Modulation Process.

REQUIREMENT: - Computer installed with MATLAB 6.1

PROGRAM CODE: -

n=-10:1:10;

k=0:1:99;

f=10/158;

x=10-abs(n);

X=x*(exp(-j*2*pi/100).^(n'*k));

c=cos(2*pi*f*n);

z=x.*c;

Z=z*(exp(-j*2*pi/100).^(n'*k));

y=1/2*((exp(-j*2*pi*f*n).*x)+(exp(j*2*pi*f*n).*x));

Y=y*(exp(-j*2*pi/100).^(n'*k));

Error=Y-Z;

subplot(2,4,1);

stem(n,x);

title('Modulating Function');

xlabel('Time');

ylabel('Values');

subplot(2,4,2);

stem(k,X);

title('DFT of Modulating Function');

xlabel('Time');

ylabel('Values');

subplot(2,4,3);

plot(n,c);

title('CarrierFunction');

xlabel('Time');

ylabel('Values');

subplot(2,4,4);

stem(n,z);

title('Modulated Function');

xlabel('Time');

ylabel('Values');

subplot(2,4,5);

stem(k,Z);

title('DFT of Modulated Function');

xlabel('Time');

ylabel('Values');

subplot(2,4,6);

stem(n,y);

title('Modulated Function in exponential form');

xlabel('Time');

ylabel('Values');

subplot(2,4,7);

stem(k,Y);

title('DFT of Modulated Function in exponential form');

xlabel('Time');

ylabel('Values');

subplot(2,4,8);

stem(k,Error);

title('Error Plot');

xlabel('Time');

ylabel('Values');

GRAPHS: -

Graphs for the Process of Modulation

RESULT: - The Modulation Process has been studied using a MATLAB program.

EXPERIMENT: 3

AIM: - To study the Aliasing Effect.

REQUIREMENT: - Computer installed with MATLAB 6.1

PROGRAM CODE: -n=0:1:99;

f=5/158;

f1=1/158;

f2=10/158;

f3=50/158;

x=sin(2*pi*f*n);

c1=cos(2*pi*f1*n);

c2=cos(2*pi*f2*n);

c3=cos(2*pi*f3*n);

y1=x.*c1;

y2=x.*c2;

y3=x.*c3;

subplot(4,2,1);

plot(n,x);

title('Modulating Function');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,2);

plot(n,c1);

title('Carrier Function 1');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,3);

plot(n,c2);

title('Carrier Function 2');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,4);

plot(n,c3);

title('Carrier Function 3');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,5);

plot(n,y1);

title('Frequency<Nyquest Rate (aliasing)');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,6);

plot(n,y2);

title('Frequency=Nyquest Rate');

xlabel('Values');

ylabel('Amplitude');

subplot(4,2,7);

plot(n,y3);

title('Frequency>Nyquest Rate( no aliasing)');

xlabel('Values');

ylabel('Amplitude');

GRAPHS: -

Graphs for the Aliasing Effect

RESULT: - The Aliasing Effect has been studied.

EXPERIMENT-4

AIM: - Write a program to find the DFT of the sequence

REQUIREMENT: - Computer installed with MATLAB 7.1

PROGRAM CODE: -

clear all;x=[1 1 1 ]; %Given sequenceN=50;L=length(x);if(N<L) error('N must be less than L');end;x1=[x,zeros(1,N-L)]; %Appending of Zerosj = sqrt(-1); for k=0:N-1 %twiddle factor calculation for n=0:N-1 W=exp(-j*2*pi*n*k/N); x2(k+1 ,n+1)= W; endend X=x1*x2.'; %Computation of DFT by Dot product of Twiddle factor matrix & sequence magx=abs(X); anglex=angle(X); k=0:N-1; %To plot Mag. & Angle of output sequence subplot(2,1,1); stem(k,magx); xlabel('k'); ylabel('Mod of X'); title('Fig-1(a)Magnitude plot'); subplot(2,1,2); stem(k,anglex); xlabel('k'); ylabel('Angle of X'); title('Fig-1(b)Phase plot');

OUTPUT:

RESULT: - The DFT of the given discrete signal can be find out correctly with the help of this program code, it is checked with the help of above graphical results and manual calculations.

EXPERIMENT-5

AIM: - Write a program to plot the IDFT of a Sequence.

REQUIREMENT: - Computer installed with MATLAB 7.1

PROGRAM CODE: -

%To compute

clear all;

xk=[6,2i-2,-2,-2i-2]; %given Sequence

N=length(xk); %function to find length of sequence

for k=0:1:N-1 %loop from 0 to length(xk)-1

for n=0:1:N-1 %loop from 0 to length(xk)-1

p=exp(i*2*pi*n*k/N); %twiddle factor

x2(k+1,n+1)=p; %twiddle factor matrix

end %end of loop 1

end %end of loop 2

xn=((xk*x2.')./N); % Computation of IDFT

magx=abs(xn); %To compute Magnitude

anglex=angle(xn); % To compute angle

%To plot the Magnitude and Angle of a sequence

k=0:N-1;

subplot(2,1,1);

stem(k,magx);

xlabel('k');

ylabel('Mod of X');

title('Fig-1(a)Magnitude plot');

subplot(2,1,2);

stem(k,anglex);

xlabel('k');

ylabel('Angle of X');

title('Fig-1(b)Phase plot');

OUTPUT:

Result: The IDFT of the given DFT signal can be find out correctly with the help of this program code, it is checked with the help of above graphical results and manual calculations.

EXPERIMENT-6

AIM: - Write a program to study of Windows.

REQUIREMENT: - Computer installed with MATLAB 7.1

PROGRAM CODE: -N=64;

n=[0:1:N-1];

% Study of Rectangular Window

Wr=rectwin(N);

% Bartlett Window(Triangular Window

Wb=triang(N);

% Hamming Window

Wh=hamming(N);

% Blackman Window

Wbl=Blackman(N);

subplot(2,1,1),plot(n,Wr,n,Wb,n,Wh,n,Wbl);grid

legend('Rectangular','Bartlett','Hamming','Blackman',4);

xlabel('n');

ylabel('Amplitude');

title('Window Characteristics');

Wrdb=20*log(Wr);

Wbdb=20*log(Wb);

Whdb=20*log(Wh);

Wbldb=20*log(Wbl);

subplot(2,1,2),plot(n,Wrdb,n,Wbdb,n,Whdb,n,Wbldb);grid

legend('Rectangular','Bartlett','Hamming','Blackman',4);

xlabel('n');

ylabel('Amplitude in db');

title('Window Characteristics in db');

OUTPUT:

Result: The various windows have been studied with the help of the above program code in this experiment.

Experiment: 7

AIM: To design Butterworth Band Pass Filter.

clear all;

alphap=2; %Passband Attenuation in db

alphas=20; %Passband Attenuation in db

wp=[.2*pi,.4*pi %Passband Frequency In Radian

ws=[.1*pi,.5*pi %Stopband Frequency In Radian

[n,wn]=buttord(wp/pi,ws/pi,alphap,alphas);

[b,a]=butter(n,wn); %To design Butterworth filter

w=0.1:.01:pi;

[h,om]=freqz(b,a,w); %Returns the frequency response

vector h calculated

%at the frequencies (in radians per sample) supplied by the vector w

% To plot the Response w.r.t Normalized Freq.

m=20*log(abs(h));

an=angle(h);

subplot(2,1,1);

plot(om/pi,m);

grid;

Ylabel('Gain in DBn');

Xlabel('Normalized Freq.');

subplot(2,1,2);

plot(om/pi,an);

grid;

Ylabel('Phase in Radia');

Xlabel('Normalized Freq.');

Output:

RESULT: - The Plot of Butterworth Band Pass Filter has been studied using MATLAB

program.

Experiment: 8

AIM: To design Butterworth bandreject Filter

clear all;

alphap=2; %Passband Attenuation in db

alphas=20; %Passband Attenuation in db

wp=[.2*pi,.4*pi]; %Passband Frequency In Radian

ws=[.1*pi,.5*pi]; %Stopband Frequency In Radian

[n,wn]=buttord(wp/pi,ws/pi,alphap,alphas);%Function for Filter for order and cutoff freq.

[b,a]=butter(n,wn,'stop'); %To design Butterworth filter

w=0.1:.01:pi;

[h,om]=freqz(b,a,w); %Returns the frequency response

vector h calculated

%at the frequencies (in radians per sample) supplied by the vector w

% To plot the Response w.r.t Normalized Freq

m=20*log(abs(h));

an=angle(h);

subplot(2,1,1);

plot(om/pi,m);

grid;

Ylabel('Gain in DBn');

Xlabel('Normalized Freq.');

subplot(2,1,2);

plot(om/pi,an);

grid;

Ylabel('Phase in Radia');

Xlabel('Normalized Freq.');

Output:-

RESULT: - The Plot of Butterworth Band Reject Filter has been studied using

MATLAB program.

Experiment: 9

AIM: To design Butterworth High Pass Filter

clear all;

alphap=.2;%Passband Attenuation in db

alphas=30;%Passband Attenuation in db

fp=400;%Passband Frequency In Hz

fs=800;%Stopband Frequency In Hz

F=2000;%Sampling Frequency In Hz

omp=2*fp/F;% Frequency in Radians

oms=2*fs/F;% Frequency in Radians

[n,wn]=buttord(omp,oms,alphap,alphas);%Function for Filter

[b,a]=butter(n,wn,'high');

w=0:.01:pi;

[h,om]=freqz(b,a,w); %Returns the frequency response vector h calculated

%at the frequencies (in radians per sample) supplied by the vector w

% To plot the Response w.r.t Normalized Freq

m=20*log(abs(h));

an=angle(h);

subplot(2,1,1);

plot(om/pi,m);

grid;

Ylabel('Gain in DB');

Xlabel('Normalized Freq.');

subplot(2,1,2);

plot(om/pi,an);

grid;

Ylabel('Phase in Radian');

Xlabel('Normalized Freq.');

Output:-

RESULT: - The Plot of Butterworth High Pass Filter has been studied using MATLAB

program.

Experiment: 10

AIM:To design Butterworth Low Pass Filter.

clear all;

alphap=2;%Passband Attenuation in db

alphas=20;%Passband Attenuation in db

fp=400;%Passband Frequency In Hz

fs=800;%Stopband Frequency In Hz

F=2000;%Sampling Frequency In Hz

omp=2*fp/F;% Frequency in Radians

oms=2*fs/F;% Frequency in Radians

[n,wn]=buttord(omp,oms,alphap,alphas);%Function for Filter

[b,a]=butter(n,wn);

w=0:.01:pi;

[h,om]=freqz(b,a,w,'whole'); %Returns the frequency response vector h calculated

%at the frequencies (in radians per sample) supplied by the vector w

% To plot the Response w.r.t Normalized Freq

m=20*log(abs(h));

an=angle(h);

subplot(2,1,1);

plot(om/pi,m);

grid;

Ylabel('Gain in DB');

Xlabel('Normalized Freq.');

subplot(2,1,2);

plot(om/pi,an);

grid;

Ylabel('Phase in Radian');

Xlabel('Normalized Freq.');

Output:

RESULT: - The Plot of Butterworth Low Pass Filter has been studied using MATLAB

program.

top related