Prctica #2 Adquisicin de Seales y el Teorema de Muestreo
Alumno: Jess Uriel Baltazar Hernndez 0901898k
Laboratorista: M.C. Antonio Ulises Saenz Trujillo.
Morelia Michoacn 6 de Mayo de 2014 Practica #2 Adquisicin de Seales y el Teorema de Muestreo Objetivo: Conocer el proceso de adquisicin de datos en Matlab mediante la tarjeta de sonido de la PC, percibir el fenmeno de traslape de frecuencia (Aliasing) y aplicar el teorema de muestreo. Introduccin: Conversin Analgico-Digital
Es el proceso que permite a una computadora digital interactuar con seales continuas, y requiere de dos pasos fundamentales que son el muestreo y la cuantizacin. Un sistema ADC se encarga de muestrear la seal en estudio, para posteriormente cuantizar los valores de las muestras a un nmero finito de niveles, y representar cada nivel por un nmero de bits. En la prctica, el muestreo de una seal analgica, se realiza por un circuito de muestreo y retencin, cuya salida ser cuantizada y convertida a una forma digital.
Muestreo y Retencin
El sistema de muestro y retencin se puede describir como un circuito analgico controlado digitalmente, que monitorea la entrada analgica mientras est en modo de muestreo, y retiene un valor de voltaje mientras el circuito esta en modo de retencin. Ese valor de voltaje ser es el valor de la seal en el instante en que el sistema cambia del modo de muestreo al modo de retencin. El objetivo de ste circuito es el de muestrear la seal de entrada de forma continua y mantener un valor constante el tiempo suficiente para que el convertidor A/D obtenga su representacin digital.
Cuantizacin y Codificacin
La principal tarea del convertidor A/D, es convertir un rango continuo de valores de amplitud de la seal de entrada, en un conjunto discreto de cdigos digitales, e implica el proceso de cuantizacin y codificacin. La cuantizacin es un proceso no lineal y no invertible que mapea una amplitud dada x(n) x(nT) en una amplitud xk tomada de un conjunto finito de valores de amplitud, donde el rango de amplitud de la seal es dividido en L intervalos.
Ik = { xk < x(n) xk+1} k = 1,2,,N
El proceso de codificacin en el convertidor A/D asigna un nmero binario nico a cada nivel de cuantizacin. Si tenemos L niveles, se necesitan al menos L nmeros binarios diferentes. Con una palabra de longitud b+1 bits se pueden representar 2b+1 nmeros binarios distintos; as, la relacin 2b+1 L debe de ser cumplida, y por lo tanto el tamao de paso, o la resolucin del convertidor A/D esta dada por:
Donde R es el rango de entrada del cuantizador.
Adquisicin de Datos Utilizando la Tarjeta de Sonido de la PC
Las tarjetas de sonido son dispositivos diseados para la captura y reproduccin de audio, lo cual implica algunas restricciones que debern ser tomadas en cuenta para asegurar que la seal capturada sea una representacin fidedigna de la seal original; es decir, que no haya perdidas de informacin o distorsiones en la forma de onda. Las principales restricciones a tomar en cuenta son:
a) Frecuencia de la seal a muestrear b) Voltaje pico-pico de la seal a muestrear c) Impedancia de entrada de la tarjeta de sonido
Matlab ofrece varios mtodos y toolboxes para la captura de seales, ya sea utilizando hardware especializado, o bien usando la tarjeta de sonido de la PC.
Funciones de Captura con Matlab
La funcin wavrecord sirve para la captura de audio usando la tarjeta de sonido, tiene la siguiente sintaxis:
y = wavrecord(n,Fs) y = wavrecord(...,ch) y = wavrecord(...,'dtype')
donde:
n = Nmero de muestras a capturar por la tarjeta de sonido. Fs = Frecuencia de muestreo en Hz (muestras por segundo) por default es 11025 Hz. ch = Nmero de canales a grabar que pueden ser 1 2 para monoaural o estreo respectivamente. El valor por defecto es 1. dtype = Usa el tipo de dato indicado por dtype para grabar una seal, la tabla siguiente muestra la lista de posibles valores, y sus significados.
Desarrollo: 1.- Arme el siguiente circuito limitador, para evitar daar la tarjeta de sonido, y conctelo entre un generador de seales y la tarjeta de sonido.
PLUG
Los diodos en el circuito son para evitar un sobrevoltaje en la tarjeta de sonido.
2. Usando un generador de seales, aplique las siguientes seales senoidales a la entrada del circuito limitador.
a. 500 Hz b. 4 kHz c. 8.5 kHz d. 22.5 kHz
Y registre (grabe) 10 segundos de cada una de ellas usando una frecuencia de muestreo de 8000 Hz. Frecuencia de muestreo: 8000 Hz Periodo de muestreo: 1 / 8000 = 0.000125 Utilizamos el comando wavrecord Y = Wavrecord(10*Fs, Fs, 1) Dnde: - 10*Fs = tiempo a capturar - Fs = frecuencia de muestreo - 1 = nmero de canales a grabar
3. Grafique los ltimos 20mS de las seales obtenidas, usando las escalas adecuadas para representar el tiempo de duracin de las seales capturadas.
Definimos el vector de tiempo. t = 0 : T : 0.02-T; Al correr el programa se obtiene la dimensin del vector t y y;
Observamos que el vector t es de una dimensin de 160, y el del vector y es de 8000. Si queremos obtener solo los ltimos 20ms debemos definir otro vector que tome solo los ltimos 20ms de la funcin y para despus poder graficar estos valores, ya que en caso contrario los vectores al no ser de la misma dimensin marcara error a la hora de graficar. Para que el nuevo vector tambin tenga 160 muestras debemos de restarle al vector y el nmero de muestras obtenidas del vector t disminuido en una unidad, ya que MATLAB comienza a contar desde la posicin cero y no de 1. 800000 - 159 = 79841 Y2 = y ( 79841 : end ) Al volver a correr el programa se observa que este nuevo vector es de la misma dimensin de tiempo, por lo que ahora si podemos graficarlos.
Plot (t,y2);
Para una frecuencia de entrada de 500 Hz
Para una frecuencia de entrada de 4 KHz
Para una frecuencia de entrada de 8.5 KHz
Para una frecuencia de entrada de 22.5 KHz
4. Repita el paso 2 y 3 pero ahora usando una frecuencia de muestreo de 44.1 kHz.
Definimos el vector de tiempo. t = 0 : T : 0.02-T; Al correr el programa se obtiene la dimensin del vector t y y;
Volvemos a observar que los vectores t y y son de diferente dimensin. t =882 y y = 441000. Realicemos lo mismo que en el caso anterior restando a y la dimensin del vector t disminuido en una unidad, para obtener los ltimos 20 ms. 4410000 - 881 = 440119 Y2 = y ( 440119 : end ) Al volver a correr el programa se observa que este nuevo vector es de la misma dimensin de tiempo, por lo que ahora si podemos graficarlos.
Plot (t,y2);
Para una frecuencia de entrada de 500 Hz
Para una frecuencia de entrada de 4 KHz
Para una frecuencia de entrada de 8.5 KHz
Para una frecuencia de entrada de 22.5 KHz
5. Determine que seales estn correctamente representadas, cuales no y explique el porqu de su aseveracin.
Frecuencia de muestreo = 8000 Hz Frecuencia Frecuencia Calculada a) 500 Hz 0.003875 0.001875 500 Hz b) 4 kHz 0.00325 0.001625 615.38 Hz c) 8.5 kHz 0.00775 0.005875 533.33 Hz d) 22.5 kHz 0.0045 0.003125 727.27 Hz
Podemos observar en las grficas y comprobar que para el caso de 500 Hz, cuando se muestrea por arriba de dos veces la frecuencia mxima (Teorema de Nyquist: Fs > 2Fmax), la seal se recuper completamente a partir de la seal muestreada. Para la siguiente frecuencia 4 KHz, la seal no se pudo recuperar ya que en este caso est prcticamente en el lmite de los que nos dice Nyquist. Para los otros dos casos, las seales reconstruidas no son las correctas, ya que el valor de la frecuencia de muestreo no es la adecuada. En estos ltimos tres casos se presenta el fenmeno conocido como aliasing.
Para los casos de 500 Hz y 4 KHz, la seales reconstruidas fueron recuperadas completamente, podemos obsrvalas en las grficas y en el clculo mostrado en esta tabla, son prcticamente las mismas seales a partir de la seal muestreada. Para 8.5 KHz, tericamente debera de poder reconstruirse completamente esta seal, ya que 44.1KHz >2*8.5KHz. Pero al realizarlo pudimos observar que no se reconstruyo bien la seal, en el clculo nos algo cercano pero no a diferencia de las dems que el error fue muy pequeo. Para el ltimo caso de 22.5 KHZ, como al ser el mnimo valor para el cual cumple el teorema de Nyquist, se presenta el fenmeno de aliasing, impidiendo recuperar completamente la seal muestreada.
6. En caso de seales que sean alias de otras, indique de que frecuencia son alias.
Para Fs = 8 KHz
F1 = F1 = 500 Hz F2 = F2 Fs = 4KHz 8KHz = -4KHz F3 = F3 Fs = 8.5KHz 8KHz = 500 Hz F4 = F4 Fs = 22.5 KHz 8KHz = 14.5 KHz Para este caso, podemos observar que F3 = 8.5 KHz es una alias de F1 = 500 HZ Frecuencia de muestreo = 44.1 kHz Frecuencia Frecuencia Calculada a) 500 Hz 0.004444 0.002426 495.54 Hz b) 4 kHz 0.004218 0.003968 4 kHz c) 8.5 kHz 0.001111 0.0009977 8.826 kHz d) 22.5 kHz 0.0004308 0.0003855 22.075 kHz
Para Fs = 44.1 KHz
F1 = F1 = 500 Hz F2 = F2 - Fs = 4 KHz - 44.1 KHz = -40.1 KHz F3 = F3 Fs = 8.5 KHz 44.1 KHz = -35.6 KHz F4 = F4 Fs = 22.5 44.1 KHz = -21.6 KHz Para este caso no se presenta ningn caso en el que una frecuencia sea alias de otra.
Conclusin En esta prctica conocimos un nuevo comando llamado wavrecord, con el que podemos capturar una seal por la entrada de la tarjeta de sonido de la computadora. Algunos de sus parmetros son el tiempo de captura y la frecuencia de muestreo. Vimos la importancia que tiene la frecuencia de muestreo, ya que si no se muestrea de acuerdo al teorema de Nyquist que dice que la frecuencia de muestreo debe ser al menos dos veces mayor que la frecuencia mxima, no se podr reconstruir completamente la seal muestreada. Esto quedo comprobado al muestrear por debajo de dos veces la seal mxima. En este caso no se pudo recuperar la seal obtenindose otra grafica con una frecuencia diferente, fenmeno que es conocido como aliasing. Al muestrear respetando el criterio de Nyquist, se comprob que las seales pueden ser completamente reconstruidas a partir de la seal muestreada. En un caso del experimento, se present que una seal fue un alias de otra, es decir esta era una seal engaosa, ya que grficamente se obtuvo una seal al parecer correctamente reconstruida, pero al hacer el clculo se comprueba que la frecuencia de esta no es la correspondiente a la seal muestreada, sino de otra. Tambin es importante resaltar que es lo que pasa si se muestrea una seal al lmite del criterio de Nyquist. Por ejemplo en esta prctica se presentaron dos casos. Si se muestrea al mnimo es decir 2 veces la frecuencia mxima, se comprob que aun as se sigue presentado el fenmeno de aliasing, evitando que la seal sea reconstruida. Para evitar esto es necesario que forzosamente la frecuencia de muestreo sea un poco ms del doble de la frecuencia mxima.