You are on page 1of 15

TELECOMUNICACIONES 2 (EE514M) 1

Práctica N°04: ANÁLISIS DE CÓDIGOS DE


LINEA Y SU RESPECTIVA DENSIDAD
ESPECTRAL DE POTENCIA
Renzo Sanchez Garay
Marko Huamán Ricaldi
Facultad de Ingeniería Eléctrica y Electrónica, Universidad Nacional de Ingeniería
Lima, Perú
Renzo10s9621@gmail.com
Marko.ricaldi@gmail.com

I. OBJETIVOS
Se tienen como objetivos primordiales de la práctica: Algunas de las características deseables de los códigos de
 Realizar la simulación de los diversos códigos de línea son:
línea y analizar su DEP viéndose de esta manera las
ventajas que tienen algunos códigos de línea sobre  Auto sincronización: contenido suficiente de señal de
otros. temporización (reloj) que permita identificar el tiempo
correspondiente a un bit.
II. TEORÍA  Capacidad de detección de errores: la definición del
código incluye el poder de detectar un error.
1. CONCEPTO:  Inmunidad al ruido: capacidad de detectar
adecuadamente el valor de la señal ante la presencia de
La transmisión de datos en forma digital implica una cierta
codificación. A la forma de transmisión donde no se usa una ruido (baja probabilidad de error).
portadora se la conoce como transmisión en banda base.  Densidad espectral de potencia: igualación entre el
espectro de frecuencia de la señal y la respuesta en
Los códigos de línea son usados para este tipo de frecuencia del canal de transmisión.
transmisión. Existen varios tipos de códigos, entre ellos  Ancho de banda: contenido suficiente de señal de
Unipolar NRZ, Polar NRZ, Unipolar RZ, Bipolar RZ (AMI), temporización que permita identificar el tiempo
Manchester, CMI, etc. Algunos de estos códigos se muestran en correspondiente a un bit.
la siguiente figura:  Transparencia: independencia de las características
del código en relación a la secuencia de unos y ceros
que transmita.

Cada uno de estos códigos tiene una densidad de potencia


característica tal como se observa en la figura:
TELECOMUNICACIONES 2 (EE514M) 2

Sobre la densidad espectral de potencia se hizo uso de los Ahora, sabemos que una señal digital o código de línea puede
siguientes conceptos para el posterior análisis de los códigos de representarse por
línea:
Para calcular la PSD de una función w(t):
Primero definimos la versión truncada de la forma de onda a
través de
Siendo f(t) la forma de pulso de símbolo y Ts la duración de un
símbolo.
Y la expresión general para la PSD de una señal digital es:
Y utilizando la definición de potencia promedio normalizada

Se obtiene
Donde F(f) es la TF de la forma de pulso f(t) y R(k) es la
autocorrelación de los datos.
La autocorrelación está dada por
Empleando el Teorema de Parseval se tiene

Donde an y an+k son los niveles (de voltaje) de los pulsos de


Siendo datos en la n-esima y (n + k)-esima posición de símbolo,
respectivamente, y Pi es la probabilidad de tener el i-esimo
producto de anan+k.
Definiendo finalmente a la función dentro de la integral, de la
relación anterior, como la PSD. Y tiene unidades de Utilizando la ecuación que representa el enfoque estocástico, se
Watts/Hertz. puede evaluar la PSD para los distintos códigos.
Por lo tanto, la densidad espectral de potencia (PSD) para una
forma de onda determinística de potencia es:

Espectros de Potencia para Códigos de línea binarios.

La PSD puede evaluarse con una técnica determinista o con una


estocástica. Para evaluar la PSD con una técnica determinista,
se emplea la forma de onda para un código de línea que resulta
de una secuencia en particular de datos. La PSD aproximada se
evalúa con la ecuación anterior.

Y si el código de línea es periódico, con la ecuación

Como alternativa, la PSD puede evaluarse con un enfoque


estocástico, que se usará para obtener la PSD de los códigos de
línea: Unipolar NRZ, Unipolar RZ, Polar NRZ, Bipolar RZ,
Manchester NRZ, Ami NRZ, Ami Rz ya que da el resultado de
la PSD para el código de línea con una secuencia de datos
aleatorios, en lugar de aquella para una secuencia de datos en
particular.
TELECOMUNICACIONES 2 (EE514M) 3

III. ANÁLISIS DE LOS CÓDIGOS DE LÍNEA

1) CÓDIGO UNIPOLAR – NRZ

Para una señalización unipolar, los posibles niveles para los


términos “a” son de + A y 0 V.
Se tiene la suposición que estos valores son igualmente
probables de ocurrir y que los datos son independientes. Finalmente se tiene

Evaluando R(k) se tiene:

Para k = 0, los productos posibles de anan son AxA = A2 y 0x0


= 0 y, por lo tanto, I = 2. Para datos aleatorios, la probabilidad
de tener A2 es de 1/2 y la probabilidad de tener 0 es de 1/2, tal
que Reduciéndose a
𝐴2 𝑇𝑏 𝑠𝑒𝑛(𝜋𝑓𝑇𝑏 ) 2 1
𝑃𝑢𝑛𝑖𝑝𝑜𝑙𝑎𝑟 𝑁𝑅𝑍 (𝑓) = ( ) [1 + 𝛿(𝑓) ]
4 𝜋𝑓𝑇𝑏 𝑇𝑏

Gráficamente se tiene
Para k ≠ 0, existen I = 4 posibilidades para los valores de
productos: AxA, Ax0, y 0xA, 0x0.
Todos ellos ocurrirán con una probabilidad de 1/4. Por lo tanto,
para k ≠0,

Por lo tanto, en resumen, se tiene

2) CÓDIGO UNIPOLAR – RZ

La autocorrelación para datos unipolares ya se determinó que


es

Para formas de pulso NRZ rectangulares, el par de la


transformada de Fourier es

Por lo que haciendo uso de la definición de la PSD, la densidad Para la señalización RZ, la duración del pulso es Tb/2. Entonces
espectral de potencia para una señalización unipolar NRZ es para formas de pulso RZ se tendrá que:

Y como
TELECOMUNICACIONES 2 (EE514M) 4

Reemplazándolo en la ecuación de definición de PSD, se tendrá Obteniéndose así la PSD para la señal polar NRZ:
que la densidad espectral de potencia para la señalización
unipolar RZ es como sigue

Eligiéndose un valor de A=2 para que la potencia promedio Se selecciona A=1 para la que la potencia normalizada sea igual
normalizada de la señal unipolar RZ sea uno. a uno. La PSD resultante se muestra a continuación:

La PSD para este tipo de señalización se muestra a


continuación:

Como se esperaba, el primer ancho de banda nulo es el doble 4) CÓDIGO POLAR – RZ


del de la señalización unipolar ya que el ancho de pulso es la
mitad de ancho. La PSD para una señalización bipolar se obtiene también de

Una desventaja de este esquema es que requiere 3 dB más de


potencia de señal que la señalización polar para la misma
probabilidad de error de bit.

3) CÓDIGO POLAR – NRZ


Los valores permitidos para an son de + A, - A y 0, donde los 1
binarios están representados por valores alternantes de + A y –
Para la señalización polar NRZ, los posibles valores para las a
A, y el 0 binario está representado por an = 0.
son de + A V y - A V. Para ocurrencias igualmente probables de
+ A y - A, y asumiendo que los datos son independientes de bit
Para k = 0, los productos de anan son A2 y 0, donde cada uno de
a bit, se tiene que
ellos ocurre con una probabilidad de ½.
Por lo tanto,

Para k ≠ 0: Para k = 1 (el caso de bit adyacente) y las secuencias de datos


(1, 1), (1, 0), (0, 1) y (0, 0), los productos posibles de an an+1
son – A2, 0, 0 y 0. Cada una de estas secuencias ocurre con una
probabilidad de 1/4. Por consecuencia,

Por lo tanto

Para k ˃1, los bits en consideración no son adyacentes y los


productos de anan+k son ±A2, 0,0 y 0; estos ocurren con una
probabilidad de 1/4. Entonces,
TELECOMUNICACIONES 2 (EE514M) 5

Por lo tanto

Finalmente la PSD para el código de línea bipolar RZ es

A=2 para que la potencia promedio normalizado esa la unidad.

Esta PSD se grafica como sigue:

A partir de n>=2 todos los Rn dan cero, por lo tanto


la densidad espectral de potencia quedará expresada como:

5) CÓDIGO AMI – RZ Por otro lado la transformada del pulso base del código es:
El código AMI y(t) se puede representar como la convolución
de :

Resultando:

Cuyo gráfico es:

1
𝑃(𝑇1) = 𝑃(𝑇0) =
2
2
𝑦(𝑡) = 𝑥(𝑡) ∗ 𝑝(𝑡) => 𝑆𝑦 (𝑓) = 𝑆𝑥(𝑓) |𝑃(𝑓) |
TELECOMUNICACIONES 2 (EE514M) 6

El esquema de codificación basado en Norteamérica se llama


B8ZS y el utilizado en Europa y Japón es el HDB3, ambos se
basan en la codificación AMI.
En el esquema HDB3, se reemplazan las cadenas de cuatro
ceros por cadenas que contienen uno o dos pulsos. En este caso,
el cuarto cero se sustituye por un estado de señal no permitido
en el código, este procedimiento se denomina violación del
código.
En las violaciones siguientes, se considera una regla adicional
para asegurar con ello que tengan una polaridad alternante y así
no introducir componente en continua. Si la última violación
fue positiva, la siguiente debe ser negativa y viceversa. Esta
Características: condición se determina dependiendo si el número de pulsos
 No tiene DC ni componentes discretas desde la última violación es par o impar y dependiendo de la
 Ancho de banda igual al de NRZ polaridad del último pulso anterior a la aparición de los cuatro
 Se puede tratar de recuperar reloj (pico en 1/(tb.2)) ceros.
y luego multiplicar en frecuencia por dos. La mayor parte de la energía se concentra en una región
estrecha entorno a la frecuencia correspondiente a la mitad de
la razón de datos. Por tanto, estos códigos son adecuados para
6) CÓDIGO AMI – NRZ la transmisión a altas velocidades. En este código las cadenas
de 3+1 ceros se sustituyen por secuencias especiales las cuales
Se procede de forma análoga a la anterior, se llega a las pueden ser:
relaciones:

000𝑉
𝑃𝐴𝑀𝐼 𝑁𝑅𝑍 (𝑓) = 𝐴2 𝑇𝑏 (𝑠𝑖𝑛𝑐(𝑓𝑇𝑏 ))2 (𝑠𝑖𝑛(𝜋𝑓𝑇𝑏 ))2 𝑓(𝑥) = {
100𝑉 𝑜 𝑅00𝑉 𝑜 𝐵00𝑉
Cuyo gráfico es:

En estos casos V significa un “1” que viola la regla de


bipolaridad (Violación). La primera secuencia se utiliza cuando
el número de unos que sigue a la última secuencia es impar,
mientras que la segunda se utiliza cuando el número de unos
que sigue a la última secuencia especial es par. Cuando existen
cadenas consecutivas de 4 ceros, las secuencias se usan en
forma alternada.

El cálculo de su DEP es complejo, pero esta se asemeja a la


del código AMI RZ

7) CÓDIGO HDB – 3

El código HDB3 pertenece a los códigos de línea llamados


Técnica de Altibajos.
Consisten en sustituir secuencias de bits que provocan niveles
de tensión constantes por otras que garantizan la anulación de
la componente continua y la sincronización del receptor. La
longitud de la secuencia queda inalterada, por lo que la
velocidad de transmisión de datos es la misma; además el
receptor debe ser capaz de reconocer estas secuencias de datos
especiales.

Los objetivos en el diseño de estas técnicas son:


 Evitar la componente en continua.
 Evitar las secuencias largas que correspondan a
señales de tensión nula.
 No reducir la velocidad de datos.
 Capacidad para detectar errores.
TELECOMUNICACIONES 2 (EE514M) 7

8) CÓDIGO MANCHESTER

La señal de Manchester utiliza la forma de pulso

Por lo que su espectro de pulso resultante es

Y utilizando 𝑒 𝑗𝑥 − 𝑒 −𝑗𝑥 = 2𝑠𝑒𝑛𝑥, se tiene:

Sustituyéndola dentro de la definición de la PSD se tiene que la


densidad espectral de potencia para el código Manchester NRZ
es

Siendo A=1 para que su potencia promedio normalizada sea


igual a uno.

La forma del espectro se presenta a continuación:

Se observa que el ancho de banda nulo del formato Manchester


es el doble del ancho de banda bipolar. Además que este código
tiene un nivel de DC de cero en una base de bit a bit.
TELECOMUNICACIONES 2 (EE514M) 8

IV. SIMULACIÓN DE LOS CÓDIGOS DE LÍNEA


Para esta parte del informe se procede a realizar la simulación
mediante el software MATLAB de los 7 tipos de codificaciones
vistos en clase, además de la gráfica de su respectiva densidad
espectral de potencia.

 CÓDIGO UNIPOLAR – NRZ

 Codificación:

%% Codificación UNIPOLAR NRZ


clc
clear all
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo
binario de Entrada
n=1;
h(11)=0;
while n<=10;
t=n-1:0.001:n;
 Densidad Espectral de Potencia:
if h(n) == 0
if h(n+1)==0
y=(t>n); %% DEP UNIPOLAR NRZ
else hold off;
y=(t==n); A=sqrt(2);
end Tb=1.5;
d=plot(t,y); R=1/Tb;
title(['Codificación UNIPOLAR NRZ [ L=2*R;
',num2str(h),' ]']) f=0:L/50:L;
grid on del=0;
set(d,'LineWidth',2.5); P=(A.^2*Tb)/4*(sinc(f*Tb)).^2*(1+(1/Tb)*del);
hold on; g=plot(f,P);
axis([0 10 -1.5 1.5]); title('DEP: UNIPOLAR NRZ');
else hold on;xlabel('Frecuencia');ylabel('Potencia
if h(n+1)==0 Normalizada');
y=(t<n)-0*(t==n); axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5);
else stem(0,(A.^2*Tb)/2,'LineWidth',2.5);hold off;
y=(t<n)+1*(t==n); axis([0 L 0 1.09*Tb]);set(g,'LineWidth',2.5);
end
d=plot(t,y); set(gca,'XTickMode','manual','XTick',[R,2*R]);grid
title(['Codificación UNIPOLAR NRZ [ on;
',num2str(h),' ]'])
grid on; set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]);
set(d,'LineWidth',2.5); set(gca,'XTickLabel',{'R =';'2R'})
hold on; set(gca,'YTickLabel',{'0.5*Tb';'Tb'})
axis([0 10 -1.5 1.5]);
end
n=n+1;
end
TELECOMUNICACIONES 2 (EE514M) 9

 Densidad Espectral de Potencia:

 CÓDIGO UNIPOLAR – RZ
%% DEP UNIPOLAR-RZ
 Codificación: hold off;
A=2;
Tb=1;
R=1/Tb;
%% Unipolar RZ L=2*R;
clc f=0:L/50:L;
clear all del=0;
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo P=(A.^2*Tb)/16*(sinc(f*Tb/2)).^2;
binario de Entrada g=plot(f,P);
n=1; title('DEP: UNIPOLAR RZ');
h(11)=1; hold on;xlabel('Frecuencia');ylabel('Potencia
while n<=10; Normalizada');
t=n-1:0.001:n; axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5);
%Graficación de los CEROS (0) stem([0 R],[(A.^2*Tb)/8
if h(n) == 0 P(26)+0.1],'LineWidth',2.5);hold off;
if h(n+1)==0
y=(t>n); set(gca,'XTickMode','manual','XTick',[R,2*R]);grid
else on;
y=(t==n);
end set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]);
d=plot(t,y); set(gca,'XTickLabel',{['R'];['2R']})
title(['Codigo UNIPOLAR RZ [ set(gca,'YTickLabel',{['0.5*Tb'];['Tb']})
',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
%Graficación de los UNOS (1)
else
if h(n+1)==0
y=(t<n-0.5);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);
title(['Codigo UNIPOLAR RZ [
',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
end
n=n+1;
end
TELECOMUNICACIONES 2 (EE514M) 10

 CÓDIGO POLAR – NRZ

 Codificación:
 Densidad Espectral de Potencia:
%% Codificicaión POLAR NRZ
clc %% DEP POLAR-NRZ
clear all hold off;
h=[1 1 1 0 1 0 1 1 1 0 ]; %Codigo A=1;
binario de Entrada Tb=1.5;
n=1; R=1/Tb;
h(11)=1; L=2*R;
while n<=10; f=0:L/50:L;
t=n-1:0.001:n; del=0;
if h(n) == 0 P=(A.^2*Tb)*(sinc(f*Tb)).^2;
if h(n+1)==0 g=plot(f,P);hold
y=-(t<n)-(t==n); on;xlabel('Frecuencia');ylabel('Potencia
else Normalizada');
y=-(t<n)+(t==n); title('DEP: POLAR NRZ')
end axis([0 L 0 1.01*Tb]);set(g,'LineWidth',2.5);
d=plot(t,y);
title(['Codigo POLAR NRZ [ set(gca,'XTickMode','manual','XTick',[R,2*R]);grid
',num2str(h),' ]']) on;
grid on
set(d,'LineWidth',2.5); set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]);
hold on; set(gca,'XTickLabel',{['R'];['2R']})
axis([0 10 -1.5 1.5]); set(gca,'YTickLabel',{['0.5*Tb'];['Tb']})
else
if h(n+1)==0
y=(t<n)-1*(t==n);
else
y=(t<n)+1*(t==n);
end
d=plot(t,y);
title(['Codigo POLAR NRZ [
',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
end
n=n+1;
end

 CÓDIGO POLAR – RZ

 Codificación:

%% Codificacion POLAR RZ
clc
clear all
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo
binario de Entrada
n=1;
h(11)=1;
while n<=10;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=-(t<n-0.5)-(t==n);
TELECOMUNICACIONES 2 (EE514M) 11

else
y=-(t<n-0.5)+(t==n);
end
d=plot(t,y);
title(['Codigo POLAR RZ [
',num2str(h),' ]'])
grid on
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
else
if h(n+1)==0
y=(t<n-0.5)-1*(t==n);
else
y=(t<n-0.5)+1*(t==n);
end
d=plot(t,y);
title(['Codigo POLAR RZ [ ',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
end
n=n+1;
end
 CÓDIGO AMI – NRZ

 Codificación:

%% Codificación AMI-NRZ
clc
clear all
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo
binario de Entrada
n=1;
h(11)=1;
ami=-1;
while n<=10;
t=n-1:0.001:n;
if h(n) == 0
if h(n+1)==0
y=(t>n);
else
if ami==1
y=-(t==n);
else
y=(t==n);
end
 Densidad Espectral de Potencia: end
d=plot(t,y);
title(['Codigo AMI RZ [
%% DEP POLAR-RZ
',num2str(h),' ]'])
hold off;
grid on
A=2;
set(d,'LineWidth',2.5);
Tb=1.5;
hold on;
R=1/Tb;
axis([0 10 -1.5 1.5]);
L=2*R;
else
f=0:L/50:L;
ami=ami*-1;
P=(A.^2*Tb)/8*(sinc(f*Tb/2)).^2.*(1-
if h(n+1)==0
cos(2*pi*f*Tb));
if ami==1
g=plot(f,P);
y=(t<n);
title('DEP: BIPOLAR RZ');
else
hold on;xlabel('Frecuencia');ylabel('Potencia
Normalizada'); y=-(t<n);
axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5); end
else
set(gca,'XTickMode','manual','XTick',[R,2*R]);grid if ami==1
on; y=(t<n)-(t==n);
else
set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]); y=-(t<n)+(t==n);
set(gca,'XTickLabel',{['R'];['2R']}) end
set(gca,'YTickLabel',{['0.5*Tb'];['Tb']}) end
TELECOMUNICACIONES 2 (EE514M) 12

d=plot(t,y);
title(['Codigo AMI NRZ [
',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
end
n=n+1;
end

 CÓDIGO AMI – RZ

 Codificación:

%% Codificación AMI-RZ
clc
clear all
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo
binario de Entrada
 Densidad Espectral de Potencia: n=1;
h(11)=1;
ami=-1;
while n<=10;
%% DEP AMI-NRZ t=n-1:0.001:n;
hold off; if h(n) == 0
A=1; if h(n+1)==0
Tb=1; y=(t>n);
R=1/Tb; else
L=2*R; if ami==1
f=0:L/50:L; y=-(t==n);
else
P=(A.^2*Tb)*(sinc(f*Tb)).^2.*(sin(pi*f*Tb)).^2.; y=(t==n);
g=plot(f,P); end
title('ESPECTRAL DENSITY: AMI NRZ'); end
hold on;xlabel('Frequency');ylabel('Normalized d=plot(t,y);
Power'); title(['Codigo AMI RZ [
axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5); ',num2str(h),' ]'])
grid on
set(gca,'XTickMode','manual','XTick',[R,2*R]);grid set(d,'LineWidth',2.5);
on; hold on;
axis([0 10 -1.5 1.5]);
set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]); else
set(gca,'XTickLabel',{['R'];['2R']}) ami=ami*-1;
set(gca,'YTickLabel',{['0.5*Tb'];['Tb']}) if h(n+1)==0
if ami==1
y=(t<n-0.5);
else
y=-(t<n-0.5);
end
else
if ami==1
y=(t<n-0.5)-(t==n);
else
y=-(t<n-0.5)+(t==n);
end
end
d=plot(t,y);
TELECOMUNICACIONES 2 (EE514M) 13

title(['Codigo AMI RZ [
',num2str(h),' ]'])
grid on;
set(d,'LineWidth',2.5);
hold on;
axis([0 10 -1.5 1.5]);
end
n=n+1;
end

 CÓDIGO HDB - 3

 Codificación:

%% Codificación HDB-3
xn=[1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0];
%Codigo binario de Entrada
yn=xn;
%Codigo a Modificar
num=0;
%variable para contar los 1s y determinar si son
pares o impares
%Generacion de Codigo AMI
for k=1:length(xn)
if xn(k)==1
 Densidad Espectral de Potencia: num=num+1;
if num/2== fix(num/2)
%% DEP AMI-RZ %Condicion para numeros de 1s pares
hold off; yn(k)=-1;
A=2; else
Tb=1; yn(k)=1;
R=1/Tb; %Condicion para numeros de 1s impares
L=2*R; end
f=0:L/50:L; end
end
P=(A.^2*Tb)/4*(sinc(f*Tb/2)).^2.*(sin(pi*f*Tb)).^2
.; %conteo de 0s continuos para cambiar el codigo por
g=plot(f,P); 000v o B00V
title('DEP: AMI NRZ'); num=0;
hold on;xlabel('Frecuencia');ylabel('Potencia %Reinicio de la variable de conteo de 1s
Normalizada'); yh=yn;
axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5); %Variable nueva del codigo almacenado en yn
sign=0;
set(gca,'XTickMode','manual','XTick',[R,2*R]);grid %Variable de signo
on; V=zeros(1,length(yn));
%Variable para guardar las violaciones (V)
set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]); B=zeros(1,length(yn));
set(gca,'XTickLabel',{['R'];['2R']}) %Varible para guardar las B
set(gca,'YTickLabel',{['0.5*Tb'];['Tb']}) for k=1:length(yn)
if yn(k)==0
num=num+1;
%Incremento del contador de 0s
if num== 4
%Comprueba si hay 4 ceros continuos para realizar
el cambio
num=0;
%Reestablece el contador de 0s
yh(k)=1*yh(k-4);
TELECOMUNICACIONES 2 (EE514M) 14

V(k)=yh(k); while n<=10;


%Guarda los bits de violacion (V) t=n-1:0.001:n;
if yh(k)==sign if h(n) == 0
%Comprueba si el bit yh(k) es igual al signo if h(n+1)==0
yh(k)=-1*yh(k); y=-(t<n)+2*(t<n-0.5)+1*(t==n);
%Invierte el signo para evitar signos iguales en else
los bits de violacion y=-(t<n)+2*(t<n-0.5)-1*(t==n);
yh(k-3)=yh(k); end
%Cambia el primer 0 para generar el codigo B00V d=plot(t,y);
B(k-3)=yh(k); title(['Codigo Manchester RZ [
%Guarda las B producidas en hdb3 ',num2str(h),' ]'])
V(k)=yh(k); grid on
%Guarda el bit de violacion con el signo ya set(d,'LineWidth',2.5);
invertido hold on;
yh(k+1:length(yn))=- axis([0 10 -1.5 1.5]);
1*yh(k+1:length(yn));%Alterna los signos de los 1s else
despues de detectar un cambio de signo.
if h(n+1)==0
end
y=(t<n)-2*(t<n-0.5)+1*(t==n);
sign=yh(k);
else
%Guarda el signo de la violacion
y=(t<n)-2*(t<n-0.5)-1*(t==n);
end
end
else
d=plot(t,y);
num=0;
title(['Codigo Manchester RZ [
%Reestablece el contador de 0s
',num2str(h),' ]'])
end
grid on;
set(d,'LineWidth',2.5);
hold on;
end axis([0 10 -1.5 1.5]);
end
%grafica el codigo en hdb3 n=n+1;
stairs([0:length(xn)-1],yh,'LineWidth',2);axis([0 end
length(xn) -2 2]);
title(['Codigo HDB3 [ ',num2str(xn),' ]'])
grid on;

 Densidad Espectral de Potencia:

 CÓDIGO MANCHESTER RZ %% DEP MANCHESTER RZ


A=1;
 Codificación: Tb=1.5;
R=1/Tb;
L=2*R;
%% Código Manchester RZ
f=0:L/50:L;
clc
clear all P=(A.^2*Tb)*(sinc(f*Tb/2)).^2.*(sin(pi*f*Tb/2)).^2
h=[1 1 1 0 0 0 1 1 1 0 ]; %Codigo ;
binario de Entrada g=plot(f,P);
h=~h; title('DEP: MANCHESTER NRZ');
n=1; hold on;xlabel('Frecuencia');ylabel('Potencia
h(11)=1; Normalizada');
TELECOMUNICACIONES 2 (EE514M) 15

axis([0 L 0 1.1*Tb]);set(g,'LineWidth',2.5);

set(gca,'XTickMode','manual','XTick',[R,2*R]);grid
on;

set(gca,'YTickMode','manual','YTick',[0.5*Tb,Tb]);
set(gca,'XTickLabel',{['R'];['2R']})
set(gca,'YTickLabel',{['0.5*Tb'];['Tb']})

REFERENCES
[1] Sistemas de comunicación digitales y analógicos Leon W.Couch
[2] Digital Communicatio T.Singal
https://books.google.com.pe/books?id=RWBwCgAAQBAJ&pg=PT189
&lpg=PT189&dq=psd+hdb+3&source=bl&ots=azfkc7kd5l&sig=JChiO
dtAarXVKCcBfsVc1fC4LiA&hl=es&sa=X&ved=0ahUKEwi65vCThfT
UAhWBHT4KHaYLBlgQ6AEIMTAC#v=onepage&q=psd%20hdb%20
3&f=false

[3] http://www.monografias.com/trabajos105/codigo-linea/codigo-
linea.shtml
[4] https://es.slideshare.net/nica2009/lecture-9-codificacin-de-lnea-y-psd
[5] http://www.ti.com/lit/ds/snas334e/snas334e.pdf

You might also like