Modulacion PCM

Universidad Nacional de Loja Área de la Energía, las Industrias y los Recursos Naturales no Renovables Carrera de Ing. e

Views 99 Downloads 1 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Nacional de Loja Área de la Energía, las Industrias y los Recursos Naturales no Renovables Carrera de Ing. en Electrónica y Telecomunicaciones

VIII “A”

Prácticas

MATERIA:

analógicas TEMA:

Modulación PCM

Integrantes:

   

Morocho Darwin Poma Vicente Ramírez Marcelo Torres Alexis

FECHA: 27/06/2013 LOJA-ECUADOR 2013

de

comunicaciones

1. ANTECEDENTES MODULACIÓN La amplia naturaleza de las señales analógicas es evidente, cualquier forma de onda está disponible con toda seguridad en el ámbito analógico, nos encontramos con una onda original y una distorsión de la que tenemos que identificar la onda original de la distorsionada. La calidad de una señal no es función del mecanismo de lectura, sino que parámetros tales como respuesta en frecuencia, linealidad y ruido son sólo funciones del conversor digital - analógico empleado. En el proceso de conversión de la forma análoga a la forma digital y viceversa aparecen tres términos matemáticos o lógicos básicos: el muestreo, la cuantización y la codificación. El muestreo es el proceso de tomar medidas instantáneas de una señal análoga cambiante en el tiempo, tal como la amplitud de una forma de onda compleja. La información muestreada permite reconstituir más o menos una representación de la forma de onda original. La cuantización es el siguiente proceso para la reducción de la señal análoga compleja; éste permite aproximar la muestra a uno de los niveles de una escala designada. Hay que notar que el proceso de cuantización puede introducir un ruido de cuantización; una diferencia entre el valor original de la amplitud muestreada y el valor aproximado correspondiente a la escala seleccionada, donde la magnitud de este error estará determinada por la fineza de la escala empleada. La modulación por codificación de pulso (PCM por sus siglas en inglés: pulse code modulation) en esencia es una conversión analógica en digital de un tipo especial en que la información contenida en las muestras instantáneas de una señal analógica están representadas por palabras digitales en un flujo de bits en serie. Se basa en el teorema de muestreo: " Si una señal f(t) se muestrea a intervalos regulares de tiempo con una frecuencia mayor que el doble de la frecuencia significativa más alta de la señal, entonces las muestras así obtenidas contienen toda la información de la señal original. La función f(t) se puede reconstruir a partir de estas muestras mediante la utilización de un filtro paso - bajo". Es decir, se debe muestrear la señal original con el doble de frecuencia que ella, y con los valores obtenidos, normalizándolos a un número de bits dado (por ejemplo, con 8 bits habría que distinguir entre 256 posibles valores de amplitud de la señal original a cuantificar) se ha podido codificar dicha señal. En el receptor, este proceso se invierte, pero por supuesto se ha perdido algo de información al codificar, por lo que la señal obtenida no es exactamente igual que la original (se le ha introducido ruido de cuantización). Hay técnicas no lineales en las que es posible reducir el ruido de cuantización muestreando a intervalos no siempre iguales.

2. DATOS DE LA PRÁCTICA

TEMA:

MODULACION PCM

OBJETIVOS Objetivo general: El objetivo de esta práctica es, investigar la teoría necesaria, para construir señales moduladas por amplitud de pulso; repasar y consolidar las nociones obtenidas en clase y además utilizar algunas de las funciones que Matlab ofrece para el análisis y simulación de señales PCM que se presentan en los sistemas de comunicaciones. Objetivos Específicos:  Describir las distintas formas de codificación PCM.  Encontrar Modelos de circuitos que generen PCM.  Obtener señales PCM de una Onda Continua.

Desarrollar un software en Matlab para la generación de señales PCM.  Investigar las terminologías de señales determinísticas y aleatorias, que son los tipos de señales que se van a procesar. Analizar las gráficas obtenidas y dar interpretación de los resultados.  Respaldar lo aprendido en clases, sobre modulación de amplitud de pulso, con el desarrollo realizado en este documento.

3. MARCO TEORICO Principios básicos Este tipo de modulación, sin duda la más utilizada de todas las modulaciones de pulsos es, básicamente, el método de conversión de señales analógicas a digitales (CAD). PCM siempre conlleva modulación previa de amplitud de pulsos. Una señal analógica se caracteriza por el hecho de que su amplitud puede tomar cualquier valor entre un mínimo y un máximo, de forma continua. La señal PCM generada por muestreo es discreta en el tiempo y de valor continuo. Para convertirla en una señal digital, hay que someter la señal a cuantificación y codificación.

Fig. 1 Diagrama de bloques de un sistema PCM

Fig.2 Señal PCM con onda sinodal Muestreo Consiste en tomar muestras (medidas) del valor de la señal n veces por segundo con lo que tendrán n niveles de tensión en un segundo. Para un canal telefónico de voz es suficiente tomar 8000 muestras por segundo o lo que es lo mismo una muestra cada 125 μseg. Esto es así porque, de acuerdo con el teorema de muestreo, si se toman muestras de una señal eléctrica continua a intervalos regulares y con una frecuencia doble a la frecuencia máxima que se quiera muestrear, dichas muestras contendrán toda la información necesaria para reconstruir la señal original.

Cuantificación Entendemos por cuantificación la reducción de todos los valores posibles de la señal a un número finito. Mientras que la señal PAM puede tomar cualquier valor de señal aleatorio SPAM(t) entre los límites de modulación del modulador PAM, la señal cuantificada SQ(t) generalmente presenta una forma escalonada. La gama de modulación del modulador PCM se divide en un número fijo de intervalos. Cada intervalo se representa mediante la asignación de un valor de señal solamente. El proceso de cuantificación toma un número infinito de todos los valores posibles y continuos de la señal y los reduce a un número finito. Este proceso de cuantificación, que también se denomina discretización de valores, siempre da lugar a un error adicional. Este error inevitable de cuantificación también puede ser considerado como un fenómeno de ruido y, por lo tanto, se llama ruido de cuantificación. El tipo de señal de entrada también tiene influencia sobre la distorsión de cuantificación. Además, la magnitud y el número de intervalos de cuantificación también juegan un papel decisivo. Los intervalos de cuantificación también pueden ser pasos discretos equidistantes o logarítmicos. En el caso de intervalos de cuantificación equidistantes, la cuantificación se denomina cuantificación lineal. En el caso de pasos logarítmicos, se denomina cuantificación no lineal. La cuantificación se torna más precisa al aumentar el número de pasos; al mismo tiempo, el ruido de cuantificación baja. Codificación Una señal de valor discreto y muestreada de este tipo no es adecuada para la transmisión a través de un canal de transmisión real, distorsionado por el ruido. La señal digital a la salida del cuantificador necesita una forma más adecuada a las relaciones imperantes en el canal. El proceso de conversión necesario para obtener esta forma se denomina codificación. La codificación constituye la asignación de una correspondencia unívoca específica entre los elementos de dos conjuntos distintos de caracteres. Entre los distintos tipos de código, los códigos binarios cumplen un papel importante. Estos códigos comprenden solamente los elementos 0 y 1 (alto y bajo) como conjuntos de caracteres. Estos dígitos binarios también se llaman bits. Técnicamente, los elementos de dos caracteres se representan mediante 2 niveles de tensión, 2 frecuencias, 2 amplitudes o similares. Un código binario muy conocido es:

Sistema decimal 0 1 2 3 4 5 6 7 8 9

Sistema binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Fig. 3 Como se genera una señal PCM Un código dual es multiescalonado porque en la transición de un carácter binario al siguiente es posible que varios bits deban ser convertidos al mismo tiempo en el sistema decimal. La Fig. 3 ilustra gráficamente la generación de una señal PCM. La cuantificación se realiza mediante la asignación de valores de tensión representativos a los intervalos de cuantificación respectivos. En cada caso, éstos se encuentran en el medio de los intervalos relevantes. Es posible observar los errores de cuantificación, por ejemplo, en las muestras 2 y 5 o 7 y 10. Una codificación binaria que comienza con la palabra de código 000 para el valor pico negativo de SPAM2 sumada a una conversión a nivel TTL, finalmente suministra la señal PCM. La demodulación PCM tiene lugar por medio de la reconversión a una señal PAM. A esto sigue la tan conocida demodulación PAM usando un filtro de paso bajo. Cada valor de señal sQ(t) de la señal cuantificada se convierte en una secuencia de impulsos de 0 V y 5 V. Un demodulador PCM dispuesto después del canal de transmisión sólo debe ser capaz de distinguir claramente entre estas dos tensiones. Supongamos que el umbral crítico del receptor es de 2,5 V. Entonces, el ruido sigue sin tener efecto alguno sobre la transmisión de la señal siempre que su nivel se mantenga por debajo de este umbral crítico.

Compansión El término compansión se compone de las palabras compresión y expansión. La idea de la compansión es el deseo de mejorar la relación señal-ruido (SNR). Una relación señalruido que se mantiene constante en una gama amplia de modulación es muy ventajosa, precisamente en casos de señal de amplitud fluctuante. La compansión también es un método estándar para mejorar la relación señal-ruido en sistemas PCM. En PCM, el ruido que surge durante la transmisión puede ser eliminado completamente siempre que se mantenga por debajo del umbral crítico. Desde luego que esta ventaja tiene su contraparte en la distorsión de cuantificación. En el caso de los

métodos de modulación de impulsos, en particular PCM, la compansión es especialmente útil ya que no provoca expansión de la banda de transmisión requerida. Los métodos principales para la compansión en PCM son 3: 1. Compansión del valor instantáneo con cuantificación regular subsiguiente 2. Cuantificación irregular 3. Codificación y decodificación regulares con conversión de código

Fig. 4 Características de los 13 segmentos Una característica logarítmica satisface en gran medida la necesidad de una relación ruido-señal constante. Con frecuencia, se la obtiene mediante una característica de 13 segmentos. Esto ofrece ventajas durante la implementación de cuantificación irregular como procedimiento de codificación ya que el número de intervalos de cuantificación diferentes se reduce y, además, la relación de los intervalos se elige de manera tal que el número de normales se mantenga limitado. Cualidades e inconvenientes de PCM La modulación por codificación de pulsos está presente, bien sea en la forma tratada antes, o en alguna de sus variantes, en la mayoría de las aplicaciones para transmitir o procesar información analógica en forma digital. Sus ventajas se resumen en el hecho de emplear codificación de pulsos para la representación digital de señales analógicas, característica que lo distingue de todos los demás métodos de modulación analógica.

Algunas de sus ventajas más importantes son:  Robustez ante el ruido e interferencia en el canal de comunicaciones.  Regeneración eficiente de la señal codificada a lo largo de la trayectoria de transmisión.  Formato uniforme de transmisión para diferentes clases de señales en banda base, lo que permite integrarlas con otras formas de datos digitales en un canal común mediante el multiplexado en tiempo.  Facilidad de encriptar la información para su transmisión segura. Desventajas  Mayor costo del sistema.  Mayor complejidad del sistema.  Mayor ancho de banda necesario. Respecto a la complejidad, la tecnología actual de circuitos integrados en gran escala (VLSI) ha permitido la implementación de sistemas a, relativamente bajo costo y facilitado el crecimiento de este método o de sus variantes. Ancho de banda en PCM El efecto del empleo de PCM sobre el ancho de banda de una señal así modulada se puede inferir intuitivamente mediante el siguiente ejemplo. Supóngase una señal de audio con un ancho de banda de 5 KHz, muestreada a una frecuencia de 10 KHz, igual a la frecuencia de Nyquist y cuantificada a 8 bits/muestra (256 niveles), de modo que por cada muestra de la señal de entrada se producen ocho pulsos. Si pensamos en transmisión de estos pulsos en serie, la frecuencia de muestreo se ha multiplicado por 8 y, por consecuencia, también el ancho de banda. Así, una señal analógica que ocuparía un ancho de banda de 10 KHz, modulada en AM completa o 5 KHz en banda lateral única, requiere de un ancho de banda de 80 KHz modulada en PCM. Las cifras anteriores son únicamente ilustrativas, pero dan una idea bastante aproximada de la situación. 4. MATERIALES: Hardware: Computador Software: Matlab

5. PROCEDIMIENTO Y GENERACION DE UNA SEÑAL PCM El objeto básico usado en MATLAB es una matriz numérica con la posibilidad de almacenar números complejos. Los datos encontrados en el estudio de señales y sistemas son siempre, muy bien representados en forma de matrices. En esta sección se usará MATLAB para la generación de señales elementales como lo son las señales exponenciales, sinodales, etc. En MATLAB una señal discreta en el tiempo se representa exactamente, porque los valores de la señal son representados como los elementos de un vector. Sin embargo las señales de tiempo continuo en MATLAB son tan solo aproximaciones. La aproximación consiste de un vector cuyos elementos son muestras de la verdadera señal de tiempo continuo. Cuando se usa esta técnica para la representación de señales continuas es importante escoger el intervalo de muestreo lo suficientemente pequeño para asegurar que las muestras capturan todos los detalles de la señal. A continuación presentamos el siguiente código para generar una señal PCM. El codificado de la señal se basa en la codificación binaria natural. En primer lugar se presentará una ventana con 6 opciones de las cuales se deberán elegir en orden ascendente para conseguir tanto la codificación como la decodificación de una señal sinusoidal utilizando la modulación por codificación de pulsos.

Fig. 5 Ventana principal del programa En la primera opción [1], se tendrá que configurar algunos de los parámetros de la señal a modular. Se deberá introducir la frecuencia de la onda sinusoidal de entrada, su respectiva amplitud, el valor de n bits de la señal PCM y las muestras por segundo que se van a extraer. Para demostrar el funcionamiento del programa se tomarán los siguientes valores como ejemplo:

Fig. 6 Valores ingresados para demostrar el funcionamiento del programa

Luego de haber configurado los parámetros de la señal PCM, procedemos a graficar la señal de entrada, esto lo conseguimos haciendo clic en la opción [2].

Fig. 7 Señal de Entrada

La opción [3] nos presentará la señal muestreada a la frecuencia de muestreo configurada en la opción [1].

Fig. 8 Señal Muestreada Para cuantizar la señal procedemos hacer clic en la opción [4] de “Cuantización”, a continuación se nos presentará la señal cuantizada con la resolución anteriormente configurada.

Fig. 9 Señal Cuantizada Utilizando la codificación binaria natural se procede a generar el código binario, la opción [5] de “Codificar” generará esta secuencia de PCM. Código PCM: 1000 1101 1111 1100 0101 0001 0001 0101 1011 1111 1101 1000 0010 0000 0011 1001 1110 1110

1010 0100 0000 0010 0111 1101 1111 1100 0110 0001 0000 0111

Fig. 10 Secuencia de PCM La opción [6] nos presenta la señal decodificada, se puede apreciar que no es exactamente igual a la señal original, esta degradación de la señal decodificada se debe al ruido de cuantización.

Fig. 11 Señal decodificada Por último, para salir del programa se procede hacer click en la opción [X] “Salir”.

A continuación presentamos el código integro realizado en Matlab: %================UNIVERSIDAD NACIONAL DE LOJA================= %--------INGENIERIA EN ELECTRONICA Y TELECOMUNICACIONES-----% GRUPO 5 %INTEGRANTES: DARWIN MOROCHO % VICENTE POMA % MARCELO RAMIREZ % ALEXIS TORRES %DOCENTE:

ING. KEVER CARRION

%============MODULACIÓN POR CODIFICACIÓN DE PULSOS=========== clc close all clear all choice=0; while(choice~=7) choice=menu('MODULACIÓN POR CODIFICACIÓN DE PULSOS','[1] => Configurar Parámetros PCM','[2] => Graficar Señal de Entrada','[3] => Muestreo','[4] => Cuantización','[5] => Codificar','[6] => Decodificar','[X] Salir'); switch choice case 1 close all clear all choice=1; h1='o'; h2='o'; h3='o'; h4='o'; h5='o'; %=====================Parámetros PCM====================== prompt={'Introduzca la frecuencia de la onda sinusoidal de entrada','Introduzca la amplitud de la onda sinusoidal de entrada','Introduzca n, el valor de n-bits PCM','Introduzca en número de muestras por segundo'}; dlg_title='Parámetros PCM'; num_lines=1; def={'2','5','8','20'}; options.Resize='on'; answer=inputdlg(prompt,dlg_title,num_lines,def,options); freq=str2double(answer{1}); amp=str2double(answer{2}); word_length=str2double(answer{3}); fs=str2double(answer{4});

%================Genera la señal de entrada================== t=0:.001:1; w=2*pi*freq; input_sig =amp*(sin(t*w)); scrsz = get(0,'ScreenSize'); %=============================Muestreo======================== [~,n]=size(input_sig); sample_size=round(n/(fs-1)); sampled_signal=zeros(1,fs); index=1; for i=1:sample_size-1:n if(i>n-sample_size) i=n; end sampled_signal(index)=input_sig(i); index=index+1; end %==========================Cuantización======================= vmax=5; vmin=-5; lsb=(vmax-vmin)/((2^word_length)-1); levels=vmin:lsb:vmax; partition=(vmin-(.5*lsb)):lsb:(vmax+(.5*lsb)); [~,index_levels]=size(levels); %=======Genera valores cuantizados de la señal de entrada===== quantiz_signal=zeros(1,index-1); for i=1:index-1 for j=1:index_levels if (sampled_signal(i)partition(end)) quantiz_signal(i)=vmax; bin_val=dec2bin((2^word_length)-1,word_length); val_rearrange=bin_val(:); rearrange_index=((i-1)*word_length)+1; data_stream(rearrange_index:(rearrange_index+word_length1),1)=val_rearrange; end

%======================================================================= if (sampled_signal(i)>=partition(j)) if (sampled_signal(i)