You are on page 1of 11

UNIVERSIDAD MICHOACANA DE SAN NICOLAS DE HIDALGO

FACULTAD DE INGENIERIA ELECTRICA





Laboratorio De Procesamiento Digital De Seales



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.





Cdigo completo de MATLAB