Vous êtes sur la page 1sur 6

Lab Report#05

Subject:
Digital Communications

Title:
PCM

SUBMITED by:
Zueem-Ul-Haq
20380

SUBMITED TO:
Sir. Ahmad
Lab Report 9

Digital Communication

Lab Title
AWGN noise, Entropy

Submitted to:
Sir Ahmed

Submitted by:
Hammad Hafeez

ID:
20294
TASK: PCM Generic code.
clc;
close all;
clear all;
n=input('Enter n value for n-bit PCM system : ');
n1=input('Enter number of samples in a period : ');
L=2^n;
x=0:2*pi/n1:4*pi;
s=8*sin(x);
subplot(3,1,1);
plot(s);
title('Analog Signal');
ylabel('Amplitude--->');
xlabel('Time--->');
subplot(3,1,2);
stem(s);grid on; title('Sampled Sinal'); ylabel('Amplitude--->');
xlabel('Time--->');
vmax=8;
vmin=-vmax;
del=(vmax-vmin)/L;
part=vmin:del:vmax;
code=vmin-(del/2):del:vmax+(del/2);
[ind,q]=quantiz(s,part,code);
l1=length(ind);
l2=length(q);
for i=1:l1
if(ind(i)~=0)
ind(i)=ind(i)-1;
end
i=i+1;
end
for i=1:l2
if(q(i)==vmin-(del/2))
q(i)=vmin+(del/2);
end
end
subplot(3,1,3);
stem(q);grid on;
title('Quantized Signal');
ylabel('Amplitude--->');
xlabel('Time--->')
figure
code=de2bi(ind,'left-msb');
k=1;
for i=1:l1
for j=1:n
coded(k)=code(i,j);
j=j+1;
k=k+1;
end
i=i+1;
end
subplot(2,1,1); grid on;
stairs(coded);
axis([0 100 -2 3]); title('Encoded Signal');
ylabel('Amplitude--->');
xlabel('Time--->');
qunt=reshape(coded,n,length(coded)/n);
index=bi2de(qunt','left-msb');
q=del*index+vmin+(del/2);
subplot(2,1,2); grid on;
plot(q);
title('Demodulated Signal');
ylabel('Amplitude--->');
xlabel('Time--->');

OUTPUT:
Enter n value for n-bit PCM system : 7

Enter number of samples in a period : 6

>>
TASK: PCM lab code.
clc
clear all
close all
f=1
t=0:0.01:1
x=4*cos(2*pi*f*t)
for i=1:length(x)
if(x(i)>=3 && x(1)<=4)
z(i)=3.5;
elseif(x(i)>=2 && x(i)<3)
z(i)=2.5
elseif(x(i)>=1 && x(i)<2)
z(i)=1.5
elseif(x(i)>=0 && x(i)<1)
z(i)=0.5
elseif(x(i)<=-3 && x(1)>=-4)
z(i)=-3.5;
elseif(x(i)<=-2 && x(i)>-3)
z(i)=-2.5
elseif(x(i)<=-1 && x(i)>-2)
z(i)=-1.5
elseif(x(i)<=0 && x(i)>-1)
z(i)=-0.5
end
end

l= zeros(1,length(z))

for k=1:length(z)
if(z(k)==-3.5)
l(k)=0
elseif(z(k)==-2.5)
l(k)=1
elseif(z(k)==-1.5)
l(k)=2
elseif(z(k)==-0.5)
l(k)=3
elseif(z(k)==0.5)
l(k)=4
elseif(z(k)==1.5)
l(k)=5
elseif(z(k)==2.5)
l(k)=6
elseif(z(k)==3.5)
l(k)=7
end
end
c=de2bi(l)
stairs(c)

OUTPUT

Vous aimerez peut-être aussi