UNIPOLAR NRZ
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,50)];
for R=1:length(data)
senNRZ(1+Np*(R-1):Np*R)=data(R)*P;
end
yNRZ=(fft(senNRZ));
f=-fs/2:fs/length(yNRZ):fs/2-fs/length(yNRZ);
plot(f,fftshift(abs(yNRZ).*abs(yNRZ)))/(length(yNRZ)*length(yNRZ))
UNIPOLAR RZ
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) zeros(1,25)];
for R=1:length(data)
senRZ(1+Np*(R-1):Np*R)=data(R)*P;
end
yRZ=(fft(senRZ));
f=-fs/2:fs/length(yRZ):fs/2-fs/length(yRZ);
plot(f,fftshift(abs(yRZ).*abs(yRZ)))/(length(yRZ)*length(yRZ))
POLAR NRZ
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) (-1)*ones(1,25)];
for R=1:length(data)
senPNRZ(1+Np*(R-1):Np*R)=((-1)^(1+data(R)));
end
yPNRZ=(fft(senPNRZ));
f=-fs/2:fs/length(yPNRZ):fs/2-fs/length(yPNRZ);
plot(f,fftshift(abs(yPNRZ).*abs(yPNRZ)))/(length(yPNRZ)*length(yPNRZ))
Manchester
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) (-1)*ones(1,25)];
for R=1:length(data)
senPRZ(1+Np*(R-1):Np*R)=(((-1)^(data(R)+1)*P));
end
yPRZ=(fft(senPRZ));
f=-fs/2:fs/length(yPRZ):fs/2-fs/length(yPRZ);
plot(f,fftshift(abs(yPRZ).*abs(yPRZ)))/(length(yPRZ)*length(yPRZ))
CODED MARK
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) (-1)*ones(1,25)];
for R=1:length(data)
if data(R)==0
senPRZ(1+Np*(R-1):Np*R)=((-1)*P);
else
senPRZ(1+Np*(R-1):Np*R)=((-1)^( sum(data(1:R))+1));
end
end
yPRZ=(fft(senPRZ));
f=-fs/2:fs/length(yPRZ):fs/2-fs/length(yPRZ);
plot(f,fftshift(abs(yPRZ).*abs(yPRZ)))/(length(yPRZ)*length(yPRZ))
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) (-1)*ones(1,25)];
for R=1:length(data)
ami(R)=(((-1)^(1+sum(data(1:R)))) *data(R));
end
for R=1:length(data)
z= sum(ami(1:R));
w= sum(ami(1:R+4));
if z==w
HDB3NRZ(1+Np*(R-1):Np*R)=ami(R)-1;
else
HDB3NRZ(1+Np*(R-1):Np*R)=ami(R);
end
end
yPNRZ=(fft(HDB3NRZ));
f=-fs/2:fs/length(yPNRZ):fs/2-fs/length(yPNRZ);
plot(f,fftshift(abs(yPNRZ).*abs(yPNRZ)))/(length(yPNRZ)*length(yPNRZ))
HDB3
Vtx=100;
Np=50;
td=1/Vtx;
ts=td/(Np-1);
fs=(1/ts);
data=randint(1,1000,2);
P=[ones(1,25) zeros(1,25)];
for R=1:length(data)
ami(R)=(((-1)^(1+sum(data(1:R)))) *data(R));
end
num=0;
yn=ami;
yh=yn;
sign=0;
%Variable de signo
V=zeros(1,length(yn));
B=zeros(1,length(yn));
for k=1:length(yn)
if yn(k)==0
num=num+1;
if num== 4
num=0;
yh(k)=1*yh(k-4);
V(k)=yh(k);
if yh(k)==sign
yh(k)=-1*yh(k);
yh(k-3)=yh(k);
B(k-3)=yh(k);
V(k)=yh(k);
end
else
num=0;
%Reestablece el contador de 0s
end
end
HDB3=ami+V+B;
for R=1:length(data)
HDB3NRZ(1+Np*(R-1):Np*R)= HDB3(R)*P;
end
yPNRZ=(fft(HDB3NRZ));
f=-fs/2:fs/length(yPNRZ):fs/2-fs/length(yPNRZ);
plot(f,fftshift(abs(yPNRZ).*abs(yPNRZ)))/(length(yPNRZ)*length(yPNRZ))