Proyecto Final Integrantes: Casas Calderón de la Barca Daniel Demetrio. Pérez Alavés Ebed Sebastián. Gonzales Gaitán José de Jesús.
Introducción.
Hoy en día el uso de sistemas de comunicación es una parte vital en la vida cotidiana, pues nos facilita el poder enviar información a distintas partes del mundo, y por supuesto, a recibir información de una o más fuentes. Uno de los científicos más importantes de la era digital fue Claude E. Shannon debido a su contribución a la teoría de información y el planteamiento del sistema de comunicaciones digitales en
Codificador/Decodificador, ADC, entre otros más y con ello podemos obtener un sistema tan eficiente como complejo, por ejemplo:
1948 en su artículo “Una teoría matemática
también como teoría de la información, y junto a Warren propusieron el siguiente sistema de comunicación: de
la
comunicación”
conocida
Fuente/transmisor/mensaje canal/receptor/destino. La necesidad de una base teórica para la tecnología de la comunicación surgió del aumento de la complejidad y de la masificación de la comunicación. Al día de hoy este modelo sigue siendo la l a base de las comunicaciones digitales agregando bloques como P.D.S,
Sabemos que la mayoría de la información a transmitir es de origen analógico esto es de tiempo continuo, y por ello la necesidad de transformar estas señales en tiempo discreto esto es de naturaleza digital. Marco teórico. La primera incursión en los sistemas de comunicación digitales es el uso de pulsos codificados para la transmisión de señales analógicas portadoras de información. En la modulación digital por pulsos la señal del mensaje se representa en una forma discreta tanto en tiempo como en amplitud, permitiendo de ese modo su transmisión en forma digital como una secuencia de pulsos codificados.
Para llevar a cabo esta transformación las señales analógicas pasan a través de una serie de procesos, de la cual
comenzaremos muestreo.
con
el
proceso
de
Proceso de muestreo El proceso de muestreo suele describirse en el dominio del tiempo. En consecuencia, es una operación que resulta básica para el procesamiento de señales y comunicaciones digitales. Mediante el uso del proceso de muestreo, una señal analógica se convierte en una secuencia correspondiente de muestras que suelen espaciarse uniformemente en el tiempo. Para que un procedimiento de este tipo tenga utilidad práctica resulta necesario que elijamos adecuadamente la frecuencia de muestre, de manera que la secuencia de muestras defina en forma única la señal analógica original. De esta suposición nace el teorema del muestreo “Una señal limitada en banda de energía finita, que no tiene componentes de frecuencia mayores que W Hertz, se describe por completo especificando los valores de la señal en instantes separados por 1/2W segundos. Así también puede recuperarse completamente a partir del conocimiento de sus muestras tomadas a una velocidad de 2W muestras por segundo.”
La frecuencia de muestreo de 2W muestras por segundo, para un ancho de banda de señal de W Hertz, se denomina la frecuencia de Nyquist; su reciproco 1/2W (medido en segundos) se denomina el intervalo de Nyquist. Sin embargo, en la práctica una señal que importa información no es estrictamente limitada en banda, con el resultado de que se encuentra cierto grado de submuestreo, en consecuencia, se produce algo de traslape. El traslape se refiere al fenómeno de que una componente de alta frecuencia en el espectro de la señal adquiere aparentemente la identidad de una frecuencia inferior en el espectro de su versión muestreada. Para combatir este
efecto en la práctica es posible utilizar dos medidas correctivas como emplear un filtro pasa bajas de anti traslape para atenuar aquellas componentes de alta frecuencia de la señal que no son esenciales para la información que esta misma transporta al igual la señal filtrada se muestrea a una frecuencia un poco mayor que la de Nyquist. Una vez concluido este proceso obtenemos una señal discreta en tiempo, pero continua en amplitud, por lo que aún no tenemos una señal digital. Para convertir estas amplitudes de un campo infinito a un campo finito realizamos el siguiente proceso. Proceso de cuantización Dentro del intervalo de amplitud finito de la señal, encontramos un número infinito de niveles de amplitud. Para esto cualquier señal continua puede aproximarse mediante una señal construida a partir de amplitudes discretas elegidas de un conjunto disponible sobre una base de error mínimo. Si asignamos con claridad los niveles de amplitud discretos con un espaciamiento bastante próximo, es posible lograr que la señal aproximada prácticamente no se distinga de la señal continua original. La cuantización de amplitud se define como el proceso de transformar la muestra de amplitud ( ) en una amplitud discreta de ( ) tomada de un conjunto finito de amplitudes posibles. Cuando se trata con un cuantizador sin memoria, podemos simplificar la notación eliminando el índice de tiempo. En esas condiciones la amplitud de la señal se especifica por medio del índice si se única dentro de la celda de partición
: { < ≤ + }, = 1,2, … ,
donde es el número total de niveles de amplitud utilizados en el cuantizador. Las amplitudes discretas , = 1,2, … , , en la entrada del cuantizador reciben el nombre de umbrales de decisión. En la salida del cuantizador, el índice se transforma en una amplitud que representa todas las amplitudes de la
celda ; las amplitudes discretas reciben el nombre de niveles de representaciones. Los cuantizadores pueden ser de tipo uniforme o no uniforme. Uniforme. Los niveles de representación están uniformemente espaciados. Las características del cuantizador también pueden ser del tipo medio escalón o medio aumento.
El uso de la cuantización introduce un error que se define como la diferencia entre la señal de entrada y la señal de salida . El error recibe el nombre de ruido de cuantización. Dejemos que la entrada del cuantizador sea el valor de la muestra de la variable aleatoria de media cero. Un cuantizador (⋅) hace corresponder la variable aleatoria de entrada de amplitud continua con una variable aleatoria discreta ; sus calores de las muestras respectivas
y se relacionan por medio de = − o, en forma, correspondiente = − . Teniendo la entrada media igual a cero y suponiendo que el cuantizador es simétrico, se concluye que la salida del cuantizador y, en consecuencia el error de cuantización también tendrá media cero.
No Uniforme. El proceso de cuantización puede seguir una ley uniforme. Sin embargo, en las comunicaciones telefónicas resulta preferible utilizar una separación de variables entre los niveles de representación. Por ejemplo, el intervalo de voltajes que abarcan las señales de voz, desde los picos del habla fuerte hasta los pasajes débiles del habla poco intensa, es del orden de 1000 a 1. Al utilizar un cuantizador no uniforme con la característica de que el tamaño del escalón aumenta cuando se incrementa la separación a partir del origen de la característica de amplitud de entradasalida, los grandes escalones finales del cuantizador pueden ocuparse de posibles excursiones de la señal de voz hacia grandes intervalos de amplitud que ocurren relativamente poco. En otras palabras, los pasajes débiles que necesitan más protección, se favorecen a costa de los pasajes ruidosos. De este modo se consigue una precisión porcentual casi uniforme a través de la mayor parte del intervalo de amplitud de la señal de entrada, resultando que se necesitan muy pocos escalones, lo cual sería lo contrario si se utilizara un cuantizador uniforme. El uso de un cuantizador no uniforme es equivalente a hacer pasar la señal de la banda base por un compresor y aplicar después la señal comprimida a un cuantizador uniforme. Una forma particular de ley de comprensión que se usa en la
práctica es la llamada ley , la cual se define por medio de
| | =
sus respectivas leyes. Los valores representativos que se utilizan en la práctica son = 255 y = 87.6 .
log(1 ||) log(1 )
Donde y son los voltajes de entrada y salida normalizados, y es una constante positiva.
Otra ley de comprensión que se usa en la práctica es la denominada ley A definida por
Para regresar las muestras de señal a su nivel relativo correcto, debemos utilizar un dispositivo en el receptor con una característica complementaria a la del compresor. Dicho dispositivo recibe el nombre de expansor. Idealmente, las leyes de comprensión y expansión son en sentido opuesto, por lo que, salvo el efecto de cuantización, la salida del expansor es igual a la entrada del compresor.
Tanto para ley y A, la capacidad del intervalo dinámico del compandor mejora con el incremento de A, y respectivamente. La SGNR para señales de bajo nivel aumenta a costa de la SGNR correspondiente a las señales de alto nivel. Para ajustar estos dos requerimientos en conflicto suele establecerse un compromiso al elegir el valor del parámetro y A para
Al concluir este proceso logramos por fin una señal completamente discreta, tanto en tiempo como en amplitud. Pero aún queda un paso, debido a que en su mayoría, si no es que una totalidad, los sistemas comunicaciones son binarios, esto quiere decir que su alfabeto solo consta de dos símbolos. Así que para representar estas amplitudes finitas se debe hacer uso del último proceso. Proceso Codificación Para explotar las ventajas del muestreo y la cuantización con el fin de lograr que la señal transmitida sea más robusta con respecto al ruido, la interferencia y otros deterioros del canal, requerimos el uso de un proceso de codificación para trasladar el conjunto discreto de valores de muestreo a una forma más apropiada de señal. Cualquier plan para representar cada uno de este conjunto de valores discretos como un arreglo particular de eventos discretos recibe el nombre de código. Uno de los eventos discretos en un código se denomina elemento de código o símbolo. Un arreglo particular de símbolos utilizando en un código para representar un valor único del conjunto discreto recibe el nombre de palabra de código o carácter.
En un código binario, cada símbolo puede tener dos valores o tipos distintos, como la presencia o ausencia de un pulso. Los dos símbolos de un código binario suelen denotarse como 0 y 1, el uso de este código trae la máxima ventaja sobre los efectos de ruido en un medio de transmisión, debido a que un símbolo binario soporta un nivel relativamente alto de ruido y es fácil de regenerar. En un código binario, cada palabra del código consiste en R bits (binary digit); de tal modo, R denota el número de bits por muestra. Entonces, utilizando un código de este tipo, es posible representar un total de 2 R números distintos. Transmisión en banda base. Para poder enviar nuestro mensaje de texto debemos de tener un tipo de transmisión distinto al que se ha visto con anterioridad y esta es la transmisión en banda base, se denomina banda base al conjunto de señales que no sufren ningún proceso de modulación a la salida de la fuente que las origina, es decir son señales que son transmitidas en su frecuencia original. Dichas señales se pueden codificar y ello da lugar a los códigos de banda base o códigos de línea. Un código de línea es la representación de símbolos binarios mediante formas de onda y estas pueden ser señalizaciones binarias (0 o 1) o señalizaciones m-arias (más de dos símbolos); sin importar cual se use estas deben adaptase al ancho de banda del canal y cumplir ciertos criterios como auto sincronización, inmunidad al ruido, transparencia e inversión de polaridad. Los códigos de línea se clasifican de dos formas retorno a cero (RZ) y no retorno a cero (NRZ) y estas a su vez en unipolares, polares, AMI y Manchester obteniendo una
combinación entre ambas con un total de siete códigos distintitos.
a) Unipolar No Retorno a Cero (NRZ) El símbolo 1 es representado transmitiendo un pulso de amplitud constante en el tiempo completo del intervalo de bit, y 0 es representado por la ausencia de pulso. b) Bipolar NRZ Los símbolos 1 y 0 son representados por pulsos de amplitud positiva y negativa respectivamente en el intervalo de bit. c) Unipolar Retorno a Cero (RZ) El símbolo 1 es representado por un pulso positivo que retorna a cero a mitad del intervalo de bit, símbolo 0 sigue siendo la ausencia de pulso. d) Bipolar RZ Pulsos positivos y negativos de igual amplitud son usados para representar respectivamente a 1 y 0. En ambos casos, el pulso regresa a 0 a mitad el intervalo de bit. e) Inversión Alternativa de Marca (AMI) RZ Pulsos positivos y negativos (de igual amplitud) son usados alternativamente para el símbolo 1, y la ausencia de pulso para el símbolo 0. Para ambos pulsos retorna a cero a la mitad del intervalo de bit. f) Fase Dividida (Manchester) Símbolo 1 es representado por un pulso positivo seguido de un pulso negativo, ambos pulsos de igual amplitud y de duración media en el intervalo de bit; para el símbolo 0, las polaridades del pulso anterior se invierten.
Este tipo de codificación se caracteriza por transmitir la información en el valor de las amplitudes, pero también se tienen los códigos de línea diferenciales que transportan la información en las transiciones.
de la portadora recibida y la sincronización de trama se encarga de determinar en donde inicia y termina la trama recibida. Dependiendo del tipo de codificación se determina la señal de reloj, como hemos visto los códigos RZ nos permiten tener sincronización y esta se recupera empleando un filtro pasa-banda de banda estrecha con frecuencia central igual a la tasa de bit (Rb). La respuesta en frecuencia será una señal sinodal y para poder obtener los pulsos cuadrados se debe de tener un bloque de toma de decisión; en caso de no tener un filtro con la frecuencia central igual a la tasa de bit se puede emplear un bloque PLL (lazo de amarre de fase) y con esto evitar jiter en la señal. Modulación digital ASK
Una ventaja de la codificación diferencial es que en presencia de ruido puede ser más seguro detectar una transición en lugar de comparar un valor con un umbral. Otra ventaja es que aún si se pierde la polaridad de la señal, por ejemplo invirtiendo los cables de un par trenzado, los 0 y 1 no se invertirán; a diferencia de lo que ocurre en códigos no diferenciales como NRZ.
Finalmente tenemos que para poder transmitir nuestra información junto con nuestra señal de audio debemos emplear algún tipo de modulación digital que en nuestro caso será mediante la modulación ASK.
Otro aspecto a considerar en nuestro sistema de comunicación es el cómo vamos a sincronizar al receptor con el transmisor. Se llama sincronización al proceso mediante el que un emisor informa a un dispositivo receptor sobre los instantes en que van a transmitirse las correspondientes señales. La sincronización puede ser tres formas, sincronización de bit, de portadora y de trama.
La modulación digital es un proceso mediante el cual se trasforman los símbolos digitales en forma de onda adecuadas para la transmisión sobre un canal de comunicación. Es una modulación de amplitud donde la señal moduladora (datos) es digital. Los dos valores binarios (0 y 1) se representan con dos amplitudes diferentes y es usual que una de las dos amplitudes sea cero; es decir uno de los dígitos binarios se representa mediante la presencia de la portadora a amplitud constante, y el otro dígito se representa mediante la ausencia de la señal portadora, en este caso la frecuencia y la fase se mantiene constante.
La sincronización de bit determina la tasa de bit (Rb) de la señal recibida para que el CLK trabaje a esa frecuencia; la sincronización de portadora determina la frecuencia y fase
La modulación en ASK no es otra cosa que una variante de la modulación en AM que se adapta perfectamente a las condiciones de los sistemas digitales, además de que les
Sincronización.
permite trabajar sobre una sola frecuencia de transmisión en vez de tener que lidiar con pulsos cuadrados que contienen componentes en todas las frecuencias del espectro. Su recuperación también resulta ser más sencilla, dado que sólo depende de sincronizar la frecuencia de las señales sinusoidales que sirven de portadoras y regeneradoras dependiendo si se hallan en el modulador o el demodulador. El ASK por sí sólo, a pesar de todas estas consideraciones, no es uno de los métodos más utilizados debido a que para cada frecuencia es necesario realizar un circuito independiente, además de que sólo puede transmitirse un solo bit al mismo tiempo en una determinada frecuencia. Otro de los inconvenientes es que los múltiplos de una frecuencia fundamental son inutilizables y que este tipo de sistemas son susceptibles al ruido.
luz como señal de transmisión, a cada comunicación se le puede asignar una longitud de onda distinta. Este proceso es posible cuando la anchura de banda del medio de transmisión excede de la anchura de banda de las señales a transmitir. Se pueden transmitir varias señales simultáneamente si cada una se modula con una portadora de frecuencia diferente, y las frecuencias de las portadoras están lo suficientemente separadas como para que no se produzcan interferencias. Cada subcanal se separa por unas bandas de guarda para prevenir posibles interferencias por solapamiento. La señal que se transmite a través del medio es analógica, aunque las señales de entrada pueden ser analógicas o digitales. En el primer caso se utilizan las modulaciones AM, FM y PM para producir una señal analógica centrada en la frecuencia deseada. En el caso de señales digitales se utilizan ASK, FSK, PSK y DPSK. En el extremo receptor, la señal compuesta se pasa a través de filtros, cada uno centrado en una de las diferentes portadoras. De este modo la señal se divide otra vez y cada componente se demodula para recuperar la señal.
Multiplexacion FDM. Multiplexación por división de frecuencia o longitud de onda: esta técnica emplea determinadas características de la señal y el medio por el que se transmite. Si se utilizan señales eléctricas o electromagnéticas, a cada comunicación se le asigna una frecuencia diferente, de forma que éstas no se mezclan ni se interfieren. Si se utiliza la
Desarrollo.
Ahora que tenemos la base para el desarrollo de un sistema de comunicación emplearemos el siguiente modelo para Para la generación de la trama: Inicialmente tenemos un archivo de texto, el cual contiene la información de la canción a transmitir, mediante instrucciones de lectura, en Matlab recuperaremos la información que está contenida en este archivo la cual será convertida a su equivalente a ASCII y después a binario, con esto ya tenemos la información de manera binaria. clear all ; archivo = fopen('ex.txt'); texto = fscanf(archivo,'%c'); long=length(texto); bin = zeros(1,long*8); char_bin = zeros(1,8); for i=1:long char_bin(i) = double(texto(i)); aux = dec2bin(char_bin(i),8); for j=1:8 k = ((i-1)*8) + j;
transmitir un archivo de audio y texto en una transmisión pasa-banda.
Posterior a esto debemos de formar nuestras tramas, estas serán generadas al sumar FAW (palabra de alineación) + payload (información) se ha tomado un FAW de 25 bits igual a: FAW = 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 y un payload de 500 bits. Con esto generamos nuestras tramas a transmitir.
bin(k) = str2double(aux(j)); end end FAW=[1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1]; lengthFAW=length(FAW); payload=500; lengthTrama=lengthFAW+payload; lb=length(bin); n=ceil(lb/payload); Taux=zeros(1,n*lengthTrama); aux2=[bin zeros(1,length(Taux)-lb)]; for i=1:n if i==1 Taux(1:lengthTrama)=[FAW aux2(1:payload)]; else Taux(lengthTrama*(i-1)+1:lengthTrama*(i)+1)=[FAW aux2(payload*(i1)+1:payload*(i)+1)]; end end trama=Taux;
Para el transmisor: Tenemos el siguiente diagrama a bloques para nuestro transmisor.
Como el objetivo de este sistema es transmitir audio y texto se han de sumar las dos señales, la señal de audio a transmitir se genera …..
Una vez que se a generado correctamente la señal binaria con una codificación Unipolar-NRZ tenemos el proceso de
modulación ASK que se genera fácilmente al multiplicar una señal sinodal por el código
de línea y finalmente estas dos señales serán sumadas para su transmisión.
Para el receptor:
Para el detector de trama: Para la recuperación de la trama se tiene definido los parámetros con los que fueron ingresados, FAW de 25 bits y payload de 500 bits, como esta tónica de sincronización nos indica se detecta una trama si detecta la palabra de alineación lo cual corresponde al inicio de la trama, una vez que es detectada se recupera el payload almacenado en un vector y guardando los
índices en donde comienza la trama, una vez que se recuperan todas las tramas recibidas se procede a reconstruir el texto original uniendo las payloads totales, y mediante el proceso inverso con funciones de Matlab se decodifica la información convirtiendo los números binarios a decimales (ASCII) y finalmente a su carácter correspondiente.
Tr=TextoSalido_1; n=23; FAW=[1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1]; lengthFAW=length(FAW); payload=500; lengthTrama=lengthFAW+payload; i=26; tramaDetectada=0; ctrama=1; fi=[];%contendrá los indices donde termine una trama en el vector recibido contadorFM=0; FTM=0; Recuperado=zeros(n,payload); while i
if( Tr(i-25)==FAW(1)&& Tr(i-24)== FAW(2)&& Tr(i-23)== FAW(3)&& Tr(i-22)== FAW(4)&& Tr(i-21)== FAW(5)&& Tr(i-20)== FAW(6)&&Tr(i-19)== FAW(7)&& Tr(i-18)== FAW(8)&&Tr(i-17)== FAW(9)&&Tr(i-16)== FAW(10) && Tr(i-15)==FAW(11)&& Tr(i-14)== FAW(12)&& Tr(i-13)== FAW(13)&& Tr(i-12)== FAW(14)&& Tr(i-11)== FAW(15)&& Tr(i10)== FAW(16)&&Tr(i-9)== FAW(17)&& Tr(i-8)== FAW(18)&&Tr(i-7)== FAW(19)&&Tr(i6)== FAW(20)&&Tr(i-5)==FAW(21) && Tr(i-4)== FAW(22)&& Tr(i-3)== FAW(23)&& Tr(i2)== FAW(24)&& Tr(i-1)== FAW(25) ) tramaDetectada=1; FTM=FTM+1; if FTM==1%busqueda de la primer palabra de alineacion fi=[fi i]; Recuperado(ctrama,1:payload)=Tr(i:i+payload-1); end end if (tramaDetectada==1 && contadorFM==0) || (tramaDetectada==1 && contadorFM<=lengthTrama+1) contadorFM=contadorFM+1; if(contadorFM==lengthTrama && ctrama<=(n-1))%-1) ) ctrama=ctrama+1; fi=[fi i+1]; Recuperado(ctrama,1:payload)=Tr(i+1:i+payload); contadorFM=0; end end i=i+1; end %Unión de las payloads Trecuperada=[]; for i=1:ctrama Trecuperada=[Trecuperada Recuperado(i,1:payload)]; end %Lectura de la trama WorkSpace = Trecuperada; long = length(WorkSpace)/8; for i = 1:long for j = 1:8 k = ((i-1)*8) + j; if j==1 baite = num2str(WorkSpace(k)); else baite = [baite num2str(WorkSpace(k))]; end end entero = bin2dec(baite); if i==1 recibido = char(entero); else recibido = [recibido char(entero)]; end end disp(recibido);
Resultados. Ya que nuestro sistema ha sido montado se han obtenido los siguientes resultados una vez puesto en marcha:
Trama generada:
Espectro FDM:
Espectro U-RZ:
Espectro de la señal de audio.
Espectro
modulación ASK:
Salida del Scope:
Conclusiones. Bibliografía.