You are on page 1of 5

DIGITAL COMMUNICATION

SYSTEMS

ECE-4001
TASK-2

To generate and reconstruct signal using PCM.

CHIRAG GAUR
18BEC0021
L39+40
Submitted to Prof.- VELMURUGAN T

1|Page
TITLE: GENERATION AND RECONSTRUCTION OF SIGNAL USING PCM.
TASK NO: 2
DATE: 18-08-2020

AIM :-To plot the wave form of input signal, sampled signal, quantized signal, reconstructed
signal for Pulse code modulation (PCM) using MATLAB .

THEORY: PCM is a discrete-time, discrete-amplitude waveform-coding process, by means


of which an analog signal is directly represented by a sequence of coded pulses.
• The amplitude of the analog signal is sampled at uniform intervals and each sample is
quantized to its nearest value within a predetermined range of digital levels.
• The incoming message signal is sampled with a train of rectangular pulses short enough to
closely approximate the instantaneous sampling process.
• To restore the signal samples to their correct relative level, we must, of course, use a device
in the receiver with a characteristic complementary to the compressor. Such a device is called
an expander
o It involves three major steps:
 Sampling: Select data points from the analogue (continuous time – continuous amplitude)
signal to create discrete data.
 Quantization: Transform sampled amplitude of message signal taken at discrete times into
a discrete amplitude taken from a finite set of possible amplitudes, creating digital data.
 Encoding: Assign binary levels to each of the possible amplitude values

BLOCK DIAGRAM:

2|Page
ALGORITHM:
 Generate the input signal using sampling frequency fs
 Plot the sampled signal using STEM
 Quantize the signal using ‘ quantiz’
 Convert the decimal to binary using ‘dec2bin’
 Convert ‘bin2dec’
 Apply butter worth filter to collect the coefficients using ‘butter’
 Reconstruct the signal using ‘filter’

PROGRAM (MATLAB CODE):


clc
clear all
close all

f=10;
fs=1000;
a=3
t=0:1/fs:((2/f)-(1/fs));

%Level shifting
x=a+a*sin(2*pi*f*t);
figure(1)
subplot(2,1,1);
plot(t,x);
title('Input Signal');

%Sampled Signal
subplot(2,1,2);
stem(t,x);
title('Sampled Signal');

partition = [-1:1:5];
codebook = [-1:1:6];
[~,q]=quantiz(x,partition,codebook);

%Quantized Signal
figure(2)
subplot(2,1,1);
stairs(t,q);
title('Quantized Signal');

%Encoded Signal
y=dec2bin(q);

%Dequantized Signal
z=bin2dec(y);
[b,a]=butter(2,2*f/fs,'low');

3|Page
k=filter(b,a,z);
subplot(2,1,2)
plot(t,z)
title('Dequantized Signal');

%Reconstructed Signal
figure(3)
plot(t,k)
title('Reconstructed Signal');

GRAPHICAL OUTPUT (CAPTURED PHOTO):

4|Page
RESULT: The program for Pulse code modulation has been simulated in MATLAB and
necessary graphs are plotted.

VERIFICATION SIGNATURE:

5|Page

You might also like