21EC44 - Expt -4
21EC44 - Expt -4
21EC44 - Expt -4
Experiment 1
AIM: Generation of the following discrete signals using MATLAB. (i) unit step (ii) unit impulse
(iii) unit ramp (iv) Sinc (v) Gaussian
Objective:
1. To generate all basic signals and plot the same as a function of time.
2. To plot the 2D and 3D signals such as LIDAR and Image
Theory:
There are several elementary or basic signals which are used to model a large number of physical
signals which occur in nature. These elementary signals are also called Standard Signals. Some
of these signals are described below
That is, u is a function of time t, and u has a value of zero when time is negative and a value of
one when time is positive.
r(t) = t.u(t)
1
iv) Sinc Pulse:
A sinc function is an even function with a unit area. A sinc pulse passes through zero at all
positive and negative integers (i.e., t=±1,±2,…), but at time t=0, it reaches its maximum of 1.
This is a very desirable property in a pulse, as it helps to avoid inter symbol interference, a major
cause of degradation in digital transmission systems. The product of a sinc function and any
other signal would also guarantee zero crossing
crossingss at all positive and negative integers.
The normalized sinc function is commonly defined for x ≠ 0 by
v) Gaussian Pulse
In one dimension, the Gaussian function is the probability density function of the normal
distribution,
MATLAB Code:
i) Impulse signal
%Generation of UNIT impulse signal
clc; close all; clear all;
n=-2:1:2;
y=[zeros(1,2),ones(1,1),zeros(1,2)]
figure(1)
stem(n,y);
xlabel("Time ")
ylabel("Amplitude")
title('unit impulse');
2
iii)%Generation of unit RAMP signal
clc; close all; clear all;
n=input('enter the n value');
t=0:n;
y=t;
figure(3)
stem(y,t);
title('unit ramp');
xlabel("Time (sec)")
ylabel("Amplitude")
3
vii) Generation of 2D Binary image:
%rgb2gray
clc; % clear command window
clear all;% clear workspace
close all;% clear all figures
I1=imread('D:\waterlily.jpg');
figure;
imshow(I1);
title('color image');
I2=rgb2gray(I1);
figure;
imshow(I2);
title('Gray image');
4
subplot(2,2,1);subimage(I1); title('Color Image');
subplot(2,2,2);subimage(I2); title('Gray Image');
Practice Questions:
Write a code in Python to generate all the basic signals and plot the same using appropriate
library functions.
Data sheet
A Problem statement 10
B Design & specifications 10
C Expected output 10
Record
D Simulation/ Conduction of the 15
experiment
E Analysis of the result 15
Viva 40
Total 100
Scale down to 10 marks
5
Experiment 2
AIM: Perform basic operations: time shifting, time scaling and time reversal for the basic signals
and plot them as a function of time.
Objective:
1. To perform basic operations on the dependent variable of signals and observe the
behavior of signals for different values of amplitude.
2. To perform basic operations on independent variables of signals as a function of time
with appropriate shifting and scaling.
Theory:
In this transformation, only the quadrature axis values are modified i.e magnitude of the
signal changes, with no effects on the horizontal axis values or periodicity of signals like.
● Time Shifting
● Time Scaling
● Time Reversal
Time Shifting
A signal x(t) may be shifted in time by replacing the independent variable t by either t−t0 or t+t0 .
Here t0 is called the shifting factor. Shifting in time may result in time delay or time
advancement.
6
If the independent variable t is replaced by tt−t0 , the signal is shifted to the right, and the time
shift results in a delay of the signal by t0 units of time. This type of time shifting is known as
fting. This can be achieved by adding t0 value to every instant in signal x(t).
Right side shifting.
If the independent variable t is replaced by t+t0 , the signal is shifted to the left and the time shift
results in an advancement of the signal by t0 units of time. This type of time shifting is known as
Left side shifting. This can be achieved by subtracting t0 value to every time instant in signal x(t).
Time Scaling
A signal x(t) may be scaled in time by replacing the independent variable t with at. Here ‘a’ is
called the scaling factor.. Time scaling may result in signal compression or signal expansion.
Time Reversal
MATLAB Code:
i) Addition of two signals
t=0:0.01:0.1
f=25;
t1=2*pi*f*t;
x1=sin(t1);
subplot(3,1,1)
plot(t,x1)
title('x1')
xlabel('Time')
ylabel('Amplitude')
grid on;
x2=cos(t1)
subplot(3,1,2)
plot(t,x2)
title('x2')
7
xlabel('Time')
ylabel('Amplitude')
y=x1+x2
subplot(3,1,3)
plot(t,y)
title('Addition of 2 signals y= x1+x2')
xlabel('Time')
ylabel('Amplitude')
8
t1=2*pi*f*t;
x1=sin(t1);
subplot(3,1,1)
plot(t,x1)
title('x1')
xlabel('Time')
ylabel('Amplitude')
grid on;
x2=cos(t1)
subplot(3,1,2)
plot(t,x2)
title('x2')
xlabel('Time')
ylabel('Amplitude')
grid on;
y=x1.*x2 % Here the multiplication takes place
subplot(3,1,3)
plot(t,y)
title('Multiplication of signals: y= x1*x2')
xlabel('Time')
ylabel('Amplitude')
grid on;
9
axis([-2 8 0 4]);
subplot(3,1,3)
plot(t-2,x)
title('Left Shift')
xlabel('Time')
ylabel('Amplitude')
grid on;
axis([-2 8 0 4]);
iii)Time reversal
t=0:10;
x=[0 1 2 3 4 -5 -6 -7 -8 -9 -10];
10];
subplot(2,1,1)
stem(t,x)
title('Simple Signal')
xlabel('Time')
10
ylabel('Amplitude')
grid on;
y=fliplr(x);
subplot(2,1,2)
stem(t,y)
title('Reflected Signal')
xlabel('Time')
ylabel('Amplitude')
grid on;
Practice Questions:
Write the MATLAB Code to sketch the following signals and verify the same using analytical
method
a. r(t+2)-r(t+1)-r(t-2)+r(t-3)
b. u(n+2)-3u(n-1)+2u(n-5)
Max Marks
Sl. No Criteria
Marks obtained
Data sheet
A Problem statement 10
B Design & specifications 10
C Expected output 10
Record
D Simulation/ Conduction of 15
the experiment
E Analysis of the result 15
Viva 40
Total 100
Scale down to 10 marks
11
Experiment 3
AIM: To write a MATLAB program to FT of basic signals. Also plot its magnitude and phase
spectrum.
Objective:
1. To Generate basic signals Such as sinusoidal, rectangular and sawtooth signals
2. To find their Fourier transform and plot its magnitude and phase spectrum.
Theory:
The generalization of the complex Fourier series is known as the Fourier er transform. The term
“Fourier transform” can be used in the mathematical function, and it is also used in the
representation of the frequency domain. The Fourier transform helps to extend the Fourier series
to the non-periodic to view any functions in terms of the sum of simple
periodic functions, which helps us to
sinusoids.
12
n = length(x);
fshift = (-n/2:n/2-1)*(fs/n);
z = fftshift(y);
subplot(2,2,2)
stem(fshift,abs(z))
xlabel('Frequency (Hz)')
ylabel('Magnitude')
title('Magnitude response')
theta = angle(z);
subplot(2,2,3)
stem(f,theta/pi)
xlabel("Frequency (Hz)")
ylabel("Phase /\pi")
title('phase response')
%%FT of rectangular pulse
clear all
close all
clc
%fs = 500;
T = 1;
t = -2.5 : 0.1 : 2.5;
x = rectpuls(t,T);
subplot(2,2,1)
plot(t,x,'r','Linewidth',3);
axis([-2.5 2.5 0 1.2])
title({'Rectangular Pulse'})
xlabel({'Time(s)'});
ylabel('Ampltude');
grid
y=fft(x)
subplot(2,2,2)
plot(fftshift(abs(y)))
xlabel('frequency')
ylabel('amplitude')
title('Magnitude response')
theta = angle(y);
subplot(2,2,3)
stem(theta)
xlabel("Frequency (Hz)")
ylabel("Phase / \pi")
13
title('phase response')
% FT of sawtooth waveform
T = 10*(1/50);
fs = 1000;
t = 0:1/fs:T-1/fs;
x = sawtooth(2*pi*50*t);
subplot(2,2,1)
plot(t,x)
y=fft(x)
subplot(2,2,2)
plot(fftshift(abs(y)))
xlabel('frequency')
ylabel('amplitude')
title('Magnitude response')
theta = angle(y);
subplot(2,2,3)
stem(theta)
xlabel("Frequency (Hz)")
ylabel("Phase / \pi")
title('phase response')
Practice Questions:
1. Generate triangular signal and plot its ma gnitude and phase response
magnitude
2. Generate an impulse signal (like siren/Hammer/Buzzer)and plot its magnitude and phase
response.
Max Marks
Sl. No Criteria
Marks obtained
Data sheet
A Problem statement 10
B Design & specifications 10
C Expected output 10
Record
D Simulation/ Conduction of 15
the experiment
E Analysis of the result 15
F Viva 40
Total 100
Scale down to 10 marks
14
Experiment 4
AIM: To write a MATLAB program for calculating DFT and IDFT discrete time sequences
using analytical calculation and inbuilt function.
Objective:
2. To Generate basic signals to find its frequency response..
3. To plot its magnitude and phase spectrum.
Theory:
DFT: Discrete Fourier transform is defined for sequences with finite length.
For a sequence x[n] with length N ( x[n] for n=0,1, 2, ..., N-1),
N 1), the discrete
discrete-time Fourier
transform is
Inverse DFT: The DFT values (X(K), 0 ≤ k ≤ N – 1), uniquely define the sequence x[n] through
the inverse DFT formula (IDFT) x(n) = IDFT {X(k)} , 0≤N≤n–1
15
The above equation is known as the Synthesis equation.
Matlab Program:
(iii) n=100
Matlab code:
16
% 10 samples + Zero padding
n2=[0:1:99];
x2=[x(1:1:10) zeros(1,90)];
y2=fft(x2);
mag_y2=abs(y2);
phase_y2=angle(y2);
figure(2);
subplot(3,1,1);
stem(n2,x2);
xlabel('n--->');
title('Input samples');
subplot(3,1,2);
F=2*pi*n2/100;
stem(F/pi,mag_y2);
xlabel('Frequency in units of Pi');
title('Magnitude plot');
X2=ifft(y2);
subplot(3,1,3);
stem(F/pi,phase_y2);
xlabel('Frequency in units of Pi'); DFT with 10 samples of the signal + padding with zeros
title('phase plot');
% 100 samples
n3=[0:1:99];
x=cos(0.48*pi*n3)+cos(0.52*pi*n3);
x3=x(1:1:100);
y3=fft(x3);
mag_y3=abs(y3);
phase_y3=angle(y3);
figure(3);
subplot(3,1,1);
stem(n3,x3);
xlabel('n--->');
title('Input samples');
subplot(3,1,2);
F=2*pi*n3/100;
%F1=2*pi*[-50:1:49]/100;
stem(F/pi,mag_y3);
xlabel('Frequency in units of Pi');
title('Magnitude plot');
17
X3=ifft(y3);
subplot(3,1,3);
stem(F/pi,phase_y3);
xlabel('Frequency in units of Pi');
title('phase plot');
Practice Questions:
1. Given x(n) = [1,2,3,4] , obtain DFT and IDFT using formula. Plot magnitude and phase
plot.
2. Record speech signal and plot FFT.
Max Marks
Sl. No Criteria
Marks obtained
Data sheet
A
Problem statement 10
B
Design & specifications 10
C
Expected output 10
Record
D Simulation/ Conduction of 15
the experiment
E Analysis of the result 15
Viva 40
Total 100
Scale down to 10 marks
18