Basic Simulation Lab Manual
Basic Simulation Lab Manual
PREPARED BY:
VERIFIED BY:
LIST OF EXPERIMENTS
S.No Name of the Experiment
Basic operations on matrices.
1.
Generation on various signals and Sequences (periodic and a
periodic), such as unit impulse, unit step, square, saw tooth,
2.
triangular, sinusoidal, ramp, sinc.
Gibbs phenomenon.
9.
Locating the zeros and poles and plotting the pole zero maps
12. in s8plane and z8plane for the given transfer function.
1
EXP.NO:
1
BASIC OPERATIONS ON MATRICES
CONCLUSION:
EXP.NO: 2
Matlab program:
%unit impulse
generation clc
close all
n1=-3;
n2=4;
n0=0;
n=[n1:n
2];
x=[(n-n0)==0]
stem(n,x)
% unit step
generation n1=-4;
n2=5;
n0=0;
9
[y,n]=stepseq(n0,n1,n2);
stem(n,y); xlabel('n') ylabel('amplitude'); title('unit step');
% square wave wave
generator fs = 1000;
t = 0:1/fs:1.5;
x1 = sawtooth(2*pi*50*t); x2 =
square(2*pi*50*t);
subplot(2,2,1),plot(t,x1), axis([0 0.2 -1.2
1.2])
xlabel('Time (sec)');ylabel('Amplitude'); title('Sawtooth Periodic Wave')
subplot(2,2,2),plot(t,x2), axis([0 0.2 -1.2 1.2])
xlabel('Time (sec)');ylabel('Amplitude'); title('Square Periodic Wave');
subplot(2,2,3),stem(t,x2), axis([0 0.1 -1.2 1.2])
xlabel('Time (sec)');ylabel('Amplitude');
% sawtooth wave
generator fs = 10000;
t = 0:1/fs:1.5;
x = sawtooth(2*pi*50*t);
subplot(1,2,1);
plot(t,x), axis([0 0.2 -1
1]);
xlabel('t'),ylabel('x(t)')
title('sawtooth signal');
N=2; fs = 500;n =
0:1/fs:2; x =
sawtooth(2*pi*50*n);
subplot(1,2,2);
stem(n,x), axis([0 0.2 -1
1]);
xlabel('n'),ylabel('x(n)')
title('sawtooth
sequence');
% RAMP
clc
close all
n=input('enter the length of ramp');
t=0:n; plot(t); xlabel('t');
ylabel('amplitude');
title ('ramp')
% sinc
x = linspace(-5,5); y =
sinc(x);
subplot(1,2,1);plot(x,y
) xlabel(time);
ylabel(amplitude);
title(sinc function);
subplot(1,2,2);stem(x,
y); xlabel(time);
ylabel(amplitude);
title(sinc function);
CONCLUSION:
EXP.NO: 3
23
%plot the 2 Hz sine wave scalling
1. x(t)= u(-t+1)
2. x(t)=3r(t-1)
3. x(t)=U(n+2-u(n-3)
4. x(n)=x1(n)+x2(n)where x1(n)={1,3,2,1},x2(n)={1,-2,3,2}
5. x(t)=r(t)-2r(t-1)+r(t-2)
6. x(n)=2(n+2)-2(n-4), -5 n 5.
7. X(n)={1,2,3,4,5,6,7,6,5,4,2,1} determine and plot the following
sequence a. x1(n)=2x(n-5-3x(n+4))
b. x2(n)=x(3-n)+x(n)x(n-
2)
Aim: program for finding even and odd parts of signals Using MATLAB
Software.
EQUIPMENTS:
PC with windows
(95/98/XP/NT/2000). MATLAB
Software
t=-4:1:4;
h=[ 2 1 1 2 0 1 2 2 3 ];
subplot(3,2,1)
stem(t,h);
xlabel('time'); ylabel('amplitude');
title('signal');
n=9;
for i=1:9 x1(i)=h(n); n=n-1;
end subplot(3,2,2)
stem(t,x1);
xlabel('time'); ylabel('amplitude');
title('folded
signal'); z=h+x1
subplot(3,2,3);
stem(t,z);
xlabel('time');
ylabel('amplitude'); title('sum
of two signal'); subplot(3,2,4);
stem(t,z/2);
xlabel('time'); ylabel('amplitude');
title('even
signal'); a=h-
x1;
subplot(3,2,5);
stem(t,a);
xlabel('time'); ylabel('amplitude');
title('difference of two signal');
subplot(3,2,6);
stem(t,a/2);
xlabel('time'); ylabel('amplitude');
title('odd signal');
% energy clc;
close all; clear all; x=[1,2,3]; n=3
e=0;
for i=1:n;
e=e+(x(i).*x(i));
end
% energy clc;
close all; clear all; N=2 x=ones(1,N) for i=1:N
y(i)=(1/3)^i.*x(i);
end n=N;
e=0;
for i=1:n;
e=e+(y(i).*y(i));
end
%
power
clc;
close all;
clear all;
N=2
x=ones(1,
N) for
i=1:N
y(i)=(1/3)^i.*x(i);
end
n=
N;
e=0
;
for i=1:n;
e=e+(y(i).*y(i))
;
end
p=e/(2*N+
1);
% power
N=input('type a value for
N'); t=-N:0.0001:N;
x=cos(2*pi*50*t).^2;
disp('the calculated power p of the
signal is'); P=sum(abs(x).^2)/length(x)
plot(t,x);
axis([0 0.1 0 1]);
disp('the theoretical power of the
signal is'); P_theory=3/8
CONCLUSION:
EXP.NO:
5 LINEAR CONVOLUTION
Aim: To find the out put with linear convolution operation Using MATLAB
Software.
EQUIPMENTS:
PC with windows
(95/98/XP/NT/2000). MATLAB
Software
Program:
clc;
close all;
clear all;
x=input('enter input
sequence'); h=input('enter
impulse response');
y=conv(x,h);
subplot(3,1,1);
stem(x);
xlabel('n');ylabel('x(n)'
); title('input signal')
subplot(3,1,2);
stem(h);
xlabel('n');ylabel('h(n)'
); title('impulse
response')
subplot(3,1,3);
stem(y);
xlabel('n');ylabel('y(n)')
; title('linear
convolution')
disp('The resultant signal is');
disp(y)
linear convolution
output:
enter input sequence[1 4 3
2] enter impulse response[1
0 2 1] The resultant signal
is
1 4 5 11 10 7 2
CONCLUSION:
EXP.NO: 6
Aim: To compute auto correlation and cross correlation between signals and
sequences
EQUIPMENTS:
PC with windows
(95/98/XP/NT/2000). MATLAB
Software
% Cross
Correlation clc;
close all;
clear all;
x=input('enter input sequence');
h=input('enter the impulse suquence');
subplot(3,1,
1); stem(x);
xlabel('n');
ylabel('x(n)');
title('input signal');
subplot(3,1,
2); stem(h);
xlabel('n');
ylabel('h(n)');
title('impulse
signal');
y=xcorr(x,h);
subplot(3,1,3);
stem(y);
xlabel('n');
ylabel('y(n)');
disp('the resultant signal is');
disp(y);
title('correlation signal');
% auto
correlation clc;
close all;
clear all;
x = [1,2,3,4,5]; y = [4,1,5,2,6];
subplot(3,1,
1); stem(x);
xlabel('n');
ylabel('x(n)');
title('input
signal');
subplot(3,1,2);
stem(y);
xlabel('n');
ylabel('y(n)');
title('input
signal');
z=xcorr(x,x);
subplot(3,1,3);
stem(z);
xlabel('n');
ylabel('z(n)');
title('resultant signal signal');
CONCLUSION: In this experiment correlation of various signals
have been performed Using MATLAB
Applications:it is used to measure the degree to which the two signals are
similar and it is also used for radar detection by estimating the time delay.it
is also used in Digital communication, defence applications and sound
navigation
EQUIPMENTS:
Program1:
clc;
clear all;
close all;
n=0:40; a=2; b=1;
x1=cos(2*pi*0.1*n);
x2=cos(2*pi*0.4*n);
x=a*x1+b*x2; y=n.*x;
y1=n.*x1;
y2=n.*x2;
yt=a*y1+b*y2;
d=y-yt;
d=round(
d) if d
disp('Given system is not satisfy linearity property');
else
disp('Given system is satisfy linearity property');
end
subplot(3,1,1), stem(n,y);
grid subplot(3,1,2),
stem(n,yt); grid
subplot(3,1,3), stem(n,d);
grid
Program2:
clc;
clear all;
close all;
n=0:40; a=2; b=-
3;
x1=cos(2*pi*0.1*n)
;
x2=cos(2*pi*0.4*n)
; x=a*x1+b*x2;
y=x.^2;
y1=x1.^2;
y2=x2.^2;
yt=a*y1+b*y2
;
d=y-yt;
d=round(d
); if d
disp('Given system is not satisfy linearity property');
else
disp('Given system is satisfy linearity property');
end
subplot(3,1,1), stem(n,y); grid
subplot(3,1,2), stem(n,yt); grid
subplot(3,1,3), stem(n,d); grid
Program
clc;
close all;
clear all;
x=input('enter the sequence');
N=length(x);
n=0:1:N-1;
y=xcorr(x,x);
subplot(3,1,
1); stem(n,x);
xlabel(' n----->');ylabel('Amplitude--->');
title('input
seq');
subplot(3,1,2);
N=length(y);
n=0:1:N-1;
stem(n,y);
xlabel('n---->');ylabel('Amplitude---
-.'); title('autocorr seq for input');
disp('autocorr seq for input');
disp(y)
p=fft(y,N);
subplot(3,1,3
); stem(n,p);
xlabel('K----->');ylabel('Amplitude--->');
title('psd of
input'); disp('the
psd fun:');
disp(p)
Program1:
clc;
close
all;
clear
all;
n=0:40;
D=10
;
x=3*cos(2*pi*0.1*n)-2*cos(2*pi*0.4*n);
xd=[zeros(1,D)
x];
y=n.*xd(n+D);
n1=n+D;
yd=n1.*x;
d=y-yd;
if d
disp('Given system is not satisfy time shifting property');
else
disp('Given system is satisfy time shifting property');
end
subplot(3,1,1),stem(y),gri
d;
subplot(3,1,2),stem(yd),g
rid;
subplot(3,1,3),stem(d),gri
d;
Program
2:
clc;
close
all;
clear
all;
n=0:40;
D=10;
x=3*cos(2*pi*0.1*n)-2*cos(2*pi*0.4*n);
xd=[zeros(1,D)
x]; x1=xd(n+D);
y=exp(x1);
n1=n+D;
yd=exp(xd(n1));
d=y-yd;
if d
disp('Given system is not satisfy time shifting property');
else
disp('Given system is satisfy time shifting property');
end
subplot(3,1,1),stem(y),gri
d;
subplot(3,1,2),stem(yd),g
rid;
subplot(3,1,3),stem(d),gri
d;
CONCLUSION:
EXP.NO:8
Aim: To Unit Step And Sinusoidal Response Of The Given LTI System And
Verifying
Its Physical Realizability And Stability
Properties.
EQUIPMENTS:
PC with windows
(95/98/XP/NT/2000).
MATLAB
Software
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
Aim: to find the fourier transform of a given signal and plotting its
magnitude and phase spectrum
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
Program:
clc;
close all;
clear all;
x=input('enter the sequence'); N=length(x);
n=0:1:N-1; y=fft(x,N) subplot(2,1,1); stem(n,x);
title('input sequence'); xlabel('time index n----->'); ylabel('amplitude x[n]-
---> '); subplot(2,1,2);
stem(n,y);
title('output sequence');
xlabel(' Frequency index K---->');
ylabel('amplitude X[k]------>');
FFT magnitude and Phase plot:
clc
close all x=[1,1,1,1,zeros(1,4)]; N=8;
X=fft(x,N); magX=abs(X),phase=angle(X)*180/pi; subplot(2,1,1)
plot(magX); grid xlabel('k')
ylabel('X(K)') subplot(2,1,2) plot(phase);
grid xlabel('k') ylabel('degrees')
CONCLUSION: In this experiment the fourier transform of a given signal
and plotting its magnitude and phase spectrum have been demonstrated
using matlab
Exp:11
LAPLACE TRNASFORMS
LOCATING THE ZEROS AND POLES AND PLOTTING THE POLE ZERO
MAPS IN S-PLANE AND Z-PLANE FOR THE GIVEN TRANSFER FUNCTION.
Aim: To locating the zeros and poles and plotting the pole zero maps in
s-plane and z- plane for the given transfer function
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
Result: :
EXP.NO: 13
13. Gaussian noise
%% Plotting the
results figure(1)
plot(x,px1);grid
axis([-3 3 0 1]);
title(['Gaussian pdf for mu_x=0 and sigma_x=', num2str(sig_x)]);
xlabel('--> x')
ylabel('--> pdf')
figure(2)
plot(x,cum_Px);gri
d axis([-3 3 0 1]);
title(['Gaussian Probability Distribution Function for mu_x=0 and
sigma_x=', num2str(sig_x)]);
title('\ite^{\omega\tau} = cos(\omega\tau) + isin(\omega\tau)')
xlabel('--> x')
ylabel('--> PDF')
EXP.NO: 14
14. Sampling theorem verification
Aim: To detect the edge for single observed image using sobel edge detection
and canny edge detection.
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
Figure 2: (a) Original signal g(t) (b) Spectrum G(w)
(t) is the sampling signal with fs = 1/T > 2fm.
Let gs(t) be the sampled signal. Its Fourier Transform Gs(w) isgiven by
Aliasing
{ Aliasing is a phenomenon where the high frequency components of the
sampled signal interfere with each other because of inadequate sampling
ws < 2wm.
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
title('auto correlation of
n'); xlabel('t');
ylabel('amplitude');
cff=xcorr(f,f);
subplot(6,1,5)
plot(cff);
title('auto correlation of
f'); xlabel('t');
ylabel('amplitude');
hh=as+an;
subplot(6,1,6)
plot(hh);
title('addition of
as+an'); xlabel('t');
ylabel('amplitude');
B)CROSS CORRELATION :
76
Result:
EXP.No:16
Program:
EXTRACTION OF
Clear all;
P close all; clc; n=256; k1=0:n-1;
x=cos(32*pi*k1/n)+sin(48*pi*k1/n);
E
plot(k1,x)
R
%ModuleI to find period of input signl k=2;
xm=zeros(k,1);
O ym=zeros(k,1); hold on
for i=1:k
D
[xm(i)I ym(i)]=ginput(1);
plot(xm(i),
C ym(i),'r*');
end
period=abs(xm(2)-xm(1));
S rounded_p=round(period);
m=rounded_p
I
% Adding
G noise and plotting noisy signal
N
A
L
M
A
y=x+randn(1,n);
S
figure plot(k1,y)
K
E
D
B
Y
N
O
I
S
E
U
S
I
N
G
C
O
R
R
E
L
A
T
I
O
N
Extraction of
Periodic Signal
Masked By Noise
Using
Correlation
% To generate impulse train with the period as that of input signal
d=zeros(1,n);
for i=1:n
if (rem(i-1,m)==0)
d(i)=1;
end end
%Correlating noisy signal and impulse train cir=cxcorr1(y,d);
%plotting the original and reconstructed signal m1=0:n/4;
figure
Plot (m1,x(m1+1),'r',m1,m*cir(m1+1));
CONCLUSION: In this experiment the Weiner-Khinchine Relation have
been verified using MATLAB.
EXP.No:17
VERIFICATION OF WIENERKHINCHIN RELATION
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
PROGRAM:
Clc
clear all;
t=0:0.1:2*pi; x=sin(2*t); subplot(3,2,1); plot(x); au=xcorr(x,x); subplot(3,2,2);
plot(au); v=fft(au); subplot(3,2,3); plot(abs(v)); fw=fft(x); subplot(3,2,4);
plot(fw);
fw2=(abs(fw)).^2;
subplot(3,2,5); plot(fw2);
Result:
EXP18.
EQUIPMENTS:
PC with windows (95/98/XP/NT/2000).
MATLAB Software
MATLAB PROGRAM:
Clear all
Clc
y = randn([1 40]) my=round(mean(y));
z=randn([1 40]) mz=round(mean(z)); vy=round(var(y)); vz=round(var(z));
t = sym('t','real'); h0=3; x=y.*sin(h0*t)+z.*cos(h0*t); mx=round(mean(x));
k=2;
xk=y.*sin(h0*(t+k))+z.*cos(h0*(t+k));
x1=sin(h0*t)*sin(h0*(t+k));
x2=cos(h0*t)*cos(h0*(t+k)); c=vy*x1+vz*x1;
% if we solve c=2*sin (3*t)*sin (3*t+6)" we get c=2cos (6)
% which is a costant does not depent on variablet
% so it is wide sence stationary
Result: