You are on page 1of 13

UNIVERSIDAD SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA MECANICA ELECTRICA COMUNICACIONES 2

CODIFICACION DE SEALES DIGITALES

GRUPO B010
Edgar Armando Porras Mendoza 200915475 Freddy Fernando Chang Chau 200819280 Hctor David Concoh Cax 200819972

Captulo 3: Comunicacin de datos

Los principios generales que rigen en la transmisin estn siempre subyacentes en todos los conceptos y tcnicas que se presentan. Para comprender la necesidad de la codificacin, la multiplexacin, la conmutacin, el control de errores, etc., el lector debera comprender previamente el comportamiento de la propagacin de las seales a travs de los medios de transmisin. los y datos digital. En este captulo y se vern se los discuten y entre conceptos las la de diferencias transmisin entre analgicos Tambin digitales

analgica

atenuacin y ruido. Todos los se tipos de informacin representar considerados mediante (voz, datos, imgenes,

videos) una

pueden de

seales Un

electromagnticas. clave en la

Cualquier seal electromagntica, analgica o digital, est formada por serie frecuencias constituyente. parmetro caracterizacin de la seal es el ancho de banda, definido como el rango de frecuencias contenidas en la seal. En trminos generales, cuanto mayor es el ancho de banda de la seal, mayor es su capacidad de transportar informacin. Las dificultades de ms importantes la a superar de son la atenuacin, as como la los

distorsin

atenuacin,

distorsin

retardo,

distintos tipos de ruido. El ruido puede ser, entre otros, de tipo trmico, ruido de intermodulacin, diafona o impulsivo. Al usar seales analgicas, y pueden las dificultades a la en la transmisin Cuando causan se efectos de naturaleza aleatoria que degradan la calidad de la informacin recibida afectar los inteligibilidad. en la utilizan seales bits digitales, defectos transmisin pueden introducir

errneos en la recepcin. El diseador de un sistema de comunicaciones debe tener presente cuatro factores determinantes: el ancho de anda de la seal, la velocidad de transmisin de la informacin digital, la cantidad de ruido, adems de otros defectos en la transmisin, y, por ltimo, la proporcin o tasa de errores tolerable. El ancho de banda disponible est limitado por el medio de transmisin as como por la de evitar interferencias con

seales cercanas. Debido a que el ancho de banda es un recurso escaso, es conveniente hacer la mxima velocidad de transmisin para el ancho de banda disponible. La velocidad de transmisin est limitada por el ancho de banda, por la presencia ineludible de defectos en la transmisin, como el ruido, y, finalmente por la taza de errores que sea tolerable. Datos y seales

Captulo 5: Tcnicas para la codificacin de seales Tanto la informacin analgica como la digital pueden ser codificadas mediante medio de seales analgicas as o digitales. de los La eleccin de un tipo la particular de codificacin depender de los requisitos exigidos, del transmisin, como recursos disponibles para comunicacin. Datos digitales, seales digitales: la forma ms sencilla de codificar digitalmente datos digitales es asignar un nivel de tensin al uno

binario

otro

nivel

distinto

para

el

cero.

Para

mejorar

las

prestaciones hay que utilizar cdigos distintos al anterior, alternando el espectro de la seal y proporcionando capacidad de sincronizacin. Datos digitales, seales analgicas: los mdem convierten los datos

digitales en seales analgicas de tal manera que se puedan transmitir a travs de lneas analgicas. Las tcnicas bsicas son la modulacin por desplazamiento los de amplitud, digitales, modulacin se modifican por uno desplazamiento o ms de frecuencia y modulacin por desplazamiento de fase. En todas ellas, para representar datos parmetros caractersticos de la seal portadora. Datos analgicos, seales analgicas: los datos analgicos se modulan mediante una portadora para generar una seal analgica en una banda de frecuencias transmisin diferentes, analgico. la Las cual se puede utilizar son en la un sistema de de tcnicas bsicas modulacin

amplitud, la modulacin e frecuencia y la modulacin de fase.

Cada una de las cuatro posibles combinaciones mostradas en la figura se utilizan ampliamente, si bien, las razones por las que se elige una u otra, en una transmisin determinada, dependern de varios factores, como los mencionados arriba. Qu determina el xito o el fracaso del receptor al interruptor la seal de entrada?

Un

incremento

en

la

velocidad

de

transmisin

aumentar

la

tasa

de

errores por bit Un aumento en la relacin SNR reduce la tasa de errores por bit Un incremento del ancho de banda permite un aumento en la velocidad de transmisin.

Captulo 6: Tcnicas de comunicacin de datos digitales


La transmisin de una cadena de bits desde un dispositivo a otro, a travs de una lnea de transmisin, implica un alto grado de cooperacin entre ambos extremos. Uno de os requisitos esenciales es la sincronizacin. El receptor debe saber la velocidad a la que se estn recibiendo los datos, de tal manera que pueden muestrear la lnea a intervalos constantes de tiempo para as determinar cada uno de los bits recibidos. Para este propsito, se utilizan habitualmente dos tcnicas. En la transmisin asncrona, cada carcter se trata independientemente. El primer bit de cada carcter es un bit de comienzo que alerta al receptor sobre la llegada del carcter.

El receptor muestrea cada bit del carcter y busca el comienzo del siguiente. Esta tcnica puede que no funcione correctamente para bloques de datos excesivamente largos debido a que el reloj del receptor podra perder el sincronismo respecto del emisor. No obstante, la transmisin de datos en bloques grandes es ms eficaz que la transmisin de carcter a carcter. Para l envi de bloques grandes se utiliza la transmisin sncrona. Cada bloque de datos forma una trama la cual incluir, entre otros campos, los delimitadores de principio y de fin. Al transmitir la trama se emplear alguna tcnica de sincronizacin, por ejemplo, la obtenida con el cdigo manchester. La deteccin de errores se lleva a cabo calculando un cdigo en funcin de los bits de entrada, el cdigo se aade a los bits a transmitir. Para comprobar si ha habido errores, el receptor calcula el cdigo en funcin de los bits recibidos y lo compara con el cdigo recibido. Para transmitir a travs de un medio, todos los dispositivos lo harn mediante alguna interfaz, la interfaz no solo define las caractersticas elctricas de la seal sino que, especifica la conexin fsica, as como los procedimientos para enviar y recibir bits. Los elementos de sealizacin se envan a travs de la lnea de

transmisin de uno en uno, cada elemento puede ser: Menor que un bit Un bit Mayor que un bit

Formas de transmisin

CODIGO FUENTE DE LA INTERFAZ GRAFICA EN MATLAB


function varargout = prueba(varargin) %--------------------------------------------------------gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @prueba_OpeningFcn, ... 'gui_OutputFcn', @prueba_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % --------------------------------------------------------function prueba_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; guidata(hObject, handles); %--------------------------------------------------------function varargout = prueba_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; %--------------------------------------------------------function pushbutton1_Callback(hObject, eventdata, handles) b0=round(rand(1,1)); b1=round(rand(1,1)); b2=round(rand(1,1)); b3=round(rand(1,1)); b4=round(rand(1,1)); b5=round(rand(1,1)); b6=round(rand(1,1)); b7=round(rand(1,1)); b8=round(rand(1,1)); b9=round(rand(1,1)); ran=[b0,b1,b2,b3,b4,b5,b6,b7,b8,b9]; set(handles.edit1,'String',ran(1)); set(handles.edit2,'String',ran(2)); set(handles.edit3,'String',ran(3)); set(handles.edit4,'String',ran(4)); set(handles.edit5,'String',ran(5)); set(handles.edit6,'String',ran(6)); set(handles.edit7,'String',ran(7)); set(handles.edit8,'String',ran(8)); set(handles.edit9,'String',ran(9)); set(handles.edit10,'String',ran(10)); handles.bits=[b0,b1,b2,b3,b4,b5,b6,b7,b8,b9]; line=get(handles.popupmenu2,'Value'); guidata(hObject, handles); %--------------------------------------------------------function popupmenu2_Callback(hObject, eventdata, handles) b0=str2double(get(handles.edit1,'String')); b1=str2double(get(handles.edit2,'String'));

b2=str2double(get(handles.edit3,'String')); b3=str2double(get(handles.edit4,'String')); b4=str2double(get(handles.edit5,'String')); b5=str2double(get(handles.edit6,'String')); b6=str2double(get(handles.edit7,'String')); b7=str2double(get(handles.edit8,'String')); b8=str2double(get(handles.edit9,'String')); b9=str2double(get(handles.edit10,'String')); handles.bits=[b0,b1,b2,b3,b4,b5,b6,b7,b8,b9]; handles.line=get(hObject,'Value'); guidata(hObject, handles); %--------------------------------------------------------% --- 1. function pushbutton2_Callback(hObject, eventdata, handles) hold off; b=handles.bits; n=1; b(11)=1; while n<=10; t=n-1:0.001:n; if b(n) == 1 if b(n+1)==1 y=(t>n); else y=(t==n); end d=plot(t,y);title('Codificacin NRZL','Color','blue','FontName','Arial','FontSize', 14);grid on set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); else if b(n+1)==1 y=(t<n)-0*(t==n); else y=(t<n)+1*(t==n); end d=plot(t,y);title('Codificacin NRZL','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); end n=n+1; end %-------------------------------------------------------% --- 2. function pushbutton3_Callback(hObject, eventdata, handles) hold off; b=handles.bits; n=1; b(11)=1; x=0; while n<=10; t=n-1:0.001:n; if b(n) == 0 y=x; d=plot(t,y);title('Codificacin NRZI','Color','blue','FontName','Arial','FontSize', 14);grid on

set(d,'Color','blue','LineWidth',8); hold on; axis([0 10 -1.5 1.5]); else if x==1 x=0; else x=1; end y=x; d=plot(t,y);title('Codificacin NRZI','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',8); hold on; axis([0 10 -1.5 1.5]); end n=n+1; end %-------------------------------------------------------% --- 3. function pushbutton4_Callback(hObject, eventdata, handles) hold off; b =handles.bits; n=1; b(11)=1; ami=1; while n<=10; t=n-1:0.001:n; if b(n) == 0 if b(n+1)==0 y=(t>n); else if ami ==1 y=-(t==n); else y=(t==n); end end d=plot(t,y);title('Codificacin Bipolar AMI','Color','blue','FontName','Arial','FontSize', 14);grid on set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); else ami=ami*-1; if b(n+1)==0 if ami==1; y=(t<n); else y=-(t<n); end else if ami==1; y=(t<n)-(t==n); else y=-(t<n)+(t==n); end end

d=plot(t,y);title('Codificacin Bipolar AMI','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); end n=n+1; end %-------------------------------------------------------% --- 4. function pushbutton5_Callback(hObject, eventdata, handles) hold off; b =handles.bits; n=1; b(11)=1; ami=1; while n<=10; t=n-1:0.001:n; if b(n) == 1 if b(n+1)==1 y=(t>n); else if ami==1 y=-(t==n); else y=(t==n); end end d=plot(t,y);title('Codificacin Pseudoternaria','Color','blue','FontName','Arial','FontSize', 14);grid on set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); else ami=ami*-1; if b(n+1)==1 if ami==1 y=(t<n); else y=-(t<n); end else if ami==1 y=(t<n)-(t==n); else y=-(t<n)+(t==n); end end d=plot(t,y);title('Codificacin Pseudoternaria','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); end n=n+1; end %-------------------------------------------------------% --- 5. function pushbutton6_Callback(hObject, eventdata, handles)

hold off; b =handles.bits; n=1; b(11)=1; while n<=10; t=n-1:0.001:n; if b(n) == 0 if b(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);title('Codificacin Manchester','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); else if b(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);title('Codificacin Manchester','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); end n=n+1; end %-------------------------------------------------------% --- 6. function pushbutton7_Callback(hObject, eventdata, handles) hold off; b =handles.bits; b=~b n=1; b(11)=1; while n<=10; t=n-1:0.001:n; if b(n) == 0 if b(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);title('Codificacin Manchester Diferencial','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5); hold on; axis([0 10 -1.5 1.5]); else if b(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);title('Codificacin Manchester Diferencial','Color','blue','FontName','Arial','FontSize', 14);grid on; set(d,'Color','blue','LineWidth',2.5);

hold on; axis([0 10 -1.5 1.5]); end n=n+1; end

LINK DEL VIDEO: http://www.youtube.com/watch?v=1y7LMvDLb4E

You might also like