Date post: | 02-Aug-2015 |
Category: |
Documents |
Upload: | guillermo-reategui-ronceros |
View: | 70 times |
Download: | 5 times |
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
LABORATORIO DE TELECOMUNICACIONES II IT 564
EXPERIENCIA N°2 – miércoles 26 de setiembre
SIMULACIÓN DE LOS CÓDIGOS DE LÍNEA.
I. OBJETIVOS :
• Al finalizar la experiencia del presente laboratorio, el alumno conocerá las características fundamentales de algunos códigos de línea, y habrá tomado contacto con los problemas que presentan tanto su generación como su correcta recuperación, encontrando aplicación a conceptos estudiados en el curso tanto teórico, como practico.
• Asimismo, mediante la simulación de los códigos de línea iniciar en el conocimiento de las
funciones de Matlab como por ejemplo: UNRZ, URZ, PNRZ, BRZ, AMINRZ, AMIRZ MANCHESTER, etc.
II. PARA EL INFORME PREVIO:
1. Definir y explicar detalladamente, las etapas de un sistema digital de comunicaciones.
2. Explique el aliasing y el teorema de Nyquist.
3. Defina la codificación PCM, la ley de compresión “a” y la ley “µ”.
4. En el canal de comunicaciones cuantos tipos de ruido se presentan.
5. Ventajas del uso de cuantización no uniforma en señales de voz.
6. Investigar y explicar las características de los códigos AMI NRZ, RZ, Manchester, HDB3,B6ZS, Miller.
III. EQUIPOS Y MATERIALES
• Una computadora • Software Matlab
IV. SIMULACION
Consideraciones generales para la simulación.
Hasta ahora hemos supuesto que las señales PCM transmitidas estaban codificadas en binario natural con o sin retorno a cero. Mientras algunos sistemas pueden transmitir directamente en binario natural, otros convierten las secuencias binarias originales en nuevas secuencias binarias, denominadas “Códigos de Línea”. Estas formas tienen algunas ventajas en términos de facilidad de procesamiento y sincronización, requerimientos de ancho de banda, y otros factores.
En general, los códigos de línea deben cumplir, entre otras, con las siguientes condiciones:
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
1. Que la amplitud de la componente continua sea lo más pequeña posible. La componente continua, además de demandar potencia adicional, produce “derivas” en la línea de base de la señal. Por otro lado, la presencia de componentes continuas produce impulsos unitarios periódicos en el espectro, los cuales complican los circuitos de control automático de ganancia en el receptor.
2. Que las señales de temporización puedan ser fácilmente extraídas de la señal recibida. La señal codificada debe poseer muchas transiciones o cruces por cero, aunque la señal original contenga largas secuencias de UNOS o CEROS.
3. Que el contenido espectral sea el más adecuado según las características del medio de transmisión. El espectro deberá estar contenido dentro de una banda restringida, es decir, deberá ser cero en los bordes de la banda y máximo en el centro de la misma.
4. Que la señal codificada pueda ser descodificada unívocamente para permitir la recuperación fiel de la secuencia original. Para ello, el código de línea debe satisfacer la “condición del prefijo”, esto es, ninguna “palabra” del “alfabeto” utilizado debe ser la primera parte de otra palabra. También es deseable que la descodificación pueda realizarse inmediatamente luego de recibida la secuencia.
5. El código debe ser eficiente para aprovechar al máximo la capacidad del canal y ser inmune a las interferencias y ruido, lo cual produce una elevada tasa de errores.
6. Además de los aspectos puramente técnicos, hay que tomar en cuenta el aspecto económico. Es deseable que el código sea fácil de generar y detectar a fin de reducir la complejidad y costo del sistema. De esta manera se asegura una mayor confiabilidad.
Es muy difícil que un solo código pueda satisfacer todas las condiciones anteriores, y la selección de un determinado código va a depender de la aplicación usada.
V. PROCEDIMIENTO:
Realizar la simulación utilizando MATLAB de las secuencias aleatorias unipolar NRZ de
amplitud A, unipolar RZ de amplitud A, bipolar NRZ de amplitudes ± A, bipolar AMI RZ de
amplitud ± A y bipolar MANCHESTER de amplitud ± A.
Así como también la Función de Auto correlación y la Densidad Espectral de Potencia.
Considerar Tb = 1 seg. y el valor de A = 1 volt.
Se pueden considerar otros valores en forma arbitraria, coordinando con el profesor.
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
NRZ de amplitud A: Usar como ejemplo
RZ de amplitud A: Usar el presente código como ejemplo y seguidamente el código propuesto en su informe previo.
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
NRZ de amplitudes ± A.- Usar el presente código como ejemplo y seguidamente el código propuesto en su informe previo.
AMI RZ de amplitud ± A .- Usar el presente código como ejemplo y seguidamente el código propuesto en su informe previo.
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
MANCHESTER de amplitud ± A .- Usar el presente código como ejemplo y seguidamente el código propuesto en su informe previo. Para una secuencia aleatoria bipolar MANCHESTER de amplitud ± A, Fig.
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
VI. PARA EL INFORME FINAL: 1. Presentar los programas ejecutados.
2. Explicar las diferencias en el uso de estos códigos en función a su aplicación, errores etc.
3. Presentar un caso usando el código que más le convenga.
VII. SIMULACION
UNIPOLAR NRZ
function UNRZ(h) clf; n=1; l=length(h); h(l+1)=1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=(t>n); else y=(t==n); end d=plot(t,y);grid on; title('Line code UNIPOLAR NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); else if h(n+1)==0 %y=(t>n-1)-2*(t==n); y=(t<n)-0*(t==n); else %y=(t>n-1)+(t==n-1); y=(t<n)+1*(t==n); end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code UNIPOLAR NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; %pause; end
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
AMI NO RETORNO A ZERO
function AMINRZ(h) clf; n=1; l=length(h); h(l+1)=1; ami=-1; while n<=length(h)-1; 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 end d=plot(t,y);grid on; title('Line code AMI NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -10 10]); disp('zero'); else ami=ami*-1; if h(n+1)==0 if ami==1 y=(t<n); else y=-(t<n); end else if ami==1
0 1 2 3 4 5 6 7 8 9 10-1.5
-1
-0.5
0
0.5
1
1.5Line code UNIPOLAR NRZ
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
y=(t<n)-(t==n); else y=-(t<n)+(t==n); end end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code AMI NRZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; %pause; end
AMI RZ
function AMIRZ(h) clf; n=1; l=length(h); h(l+1)=1; ami=-1; while n<=length(h)-1; 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);
0 2 4 6 8 10 12 14 16-1.5
-1
-0.5
0
0.5
1
1.5Line code AMI NRZ
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
else y=(t==n); end end d=plot(t,y);grid on; title('Line code AMI RZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); else ami=ami*-1; 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);grid on; title('Line code AMI RZ'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); end n=n+1; end
0 2 4 6 8 10 12 14 16-1.5
-1
-0.5
0
0.5
1
1.5Line code AMI RZ
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
MANCHESTER
function MANCHESTER(h) clf; n=1; h=~h; l=length(h); h(l+1)=1; while n<=length(h)-1; t=n-1:0.001:n; if h(n) == 0 if h(n+1)==0 y=-(t<n)+2*(t<n-0.5)+1*(t==n); else y=-(t<n)+2*(t<n-0.5)-1*(t==n); end d=plot(t,y);grid on; title('Line code MANCHESTER'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('one'); else if h(n+1)==0 y=(t<n)-2*(t<n-0.5)+1*(t==n); else y=(t<n)-2*(t<n-0.5)-1*(t==n); end %y=(t>n-1)+(t==n-1); d=plot(t,y);grid on; title('Line code MANCHESTER'); set(d,'LineWidth',2.5); hold on; axis([0 length(h)-1 -1.5 1.5]); disp('zero'); end n=n+1; %pause; end
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
MILLER
h=[1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0]; est_inicial=-1 clc close all con=est_inicial long=length(h) n=1; ac=[]; bits=[]; h(long+1)=0; while n<=long if h(n)==1 bit=[ones(1,100)]; s=[con*ones(1,50) -con*ones(1,50)]; con=con*-1; else bit=[zeros(1,100)]; s=[con*ones(1,100)]; if h(n+1)==0 con=con*-1; end end ac=[ac s]; bits=[bits bit]; n=n+1; s=[]; end subplot(2,1,1);plot(bits,'LineWidth',2); title('Señal de entrada'); set(gca,'xtick',0:100:100*long) axis([0 100*(length(h)-1) -2 2]) grid on
0 1 2 3 4 5 6 7 8 9 10-1.5
-1
-0.5
0
0.5
1
1.5Line code MANCHESTER
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
Docente: ING. VIRGINIA ROMERO F. ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
subplot(2,1,2);plot(ac,'LineWidth',2) title('Señal Codificada MILLER') set(gca,'xtick',0:100:100*long) axis([0 100*(length(h)-1) -2 2]) grid on
0 100 200 300 400 500 600 700 800 9001000110012001300140015001600-2
-1
0
1
2Señal de entrada
0 100 200 300 400 500 600 700 800 9001000110012001300140015001600-2
-1
0
1
2Señal Codificada MILLER