Está en la página 1de 6

Procesado Digital de Seales

Prctica 2:
Adquisicin y Reproduccin de Seales

Escuela Politecnica Superior


Universidad de Sevilla
Curso: 2013/2014
Procesado Digital de Seales
Prctica 2: Adquisicin y Reproduccin de Seales

1 OBJETIVOS.
Estudio de los mtodos de conversin, adquisicin y almacenamiento en fichero de
seales analgicas reales. Estudio de los mtodos de reproduccin de seales
almacenadas en disco o generadas a travs de su expresin.

2 INSTRUMENTACIN NECESARIA.
Ordenador Personal con tarjeta de audio estndar y altavoces.
Programa MatLab (ver 6.1 o superior con la Signal Processing Toolbox)
GNU Octave (ver 3.6 o superior con Signal Package) (opcional).
Generador de Funciones.
Osciloscopio

3 INTRODUCCIN.
En esta prctica vamos a realizar la adquisicin de seales analgicas mediante un
ordenador personal (PC). Vamos a muestrear seales analgicas, a realizar su
conversin a una seal digital y a almacenar y reproducir dichas seales.

Evidentemente para realizar esto es necesario disponer del hardware adecuado,


que contenga los dispositivos habituales para este fin; Sample&Hold, convertidor
A/D y circuitos de acondicionamiento, etc. Al mismo tiempo es necesario disponer
de una herramienta software que nos permita configurar este hardware,
permitiendo as realizar las adquisiciones/reproducciones de estas seales.
El entorno de computacin MatLab, a travs de su Data Adquisition Toolbox,
ofrece la opcin de controlar este tipo de hardware, siendo compatible con
diferentes fabricantes (ver Figura 1) y permitiendo realizar las operaciones de
adquisicin de seales digitales y analgicas (conversin A/D), as como la
reconstruccin o reproduccin de seales mediante su conversin D/A.

Sin embargo, el principal problema de este hardware especfico de adquisicin de


datos es su elevado coste, lo que lo hace muy poco habitual fuera de entornos
industriales o de laboratorios con un instrumental especfico.

(b)

(a) (d) (c)


Figura 1: Sistema de adquisicin de datos; (a) y (b) Tarjetas de adquisicin de
datos de National Instruments., (c) Instrumental de laboratorio de Agilent
Technologies con capacidades de adquisicin de datos. (d) Tarjetas de adquisicin
de datos de Agilent Technologies.

1
Procesado Digital de Seales
Prctica 2: Adquisicin y Reproduccin de Seales

Adicionalmente, entre las diferentes tarjetas que MatLab puede manejar, se


encuentra la tarjeta de sonido estndar (tipo Sound Blaster o equivalente), un
elemento bastante comn en cualquier PC. Por otro lado, GNU Octave
desgraciadamente no implementa una alternativa o soporte sencillo para el uso de
este tipo de hardware, presentando varios problemas de compatibilidad (en
especial sobre la plataforma Windows).
Debido a este hecho, al menos en la parte inicial de adquisicin, para esta prctica
utilizaremos MatLab como herramienta software y la tarjeta de sonido como
hardware de E/S. Esta eleccin, presenta la ventaja de no requerir ninguna tarjeta
especfica adicional para realizar la adquisicin, de forma que las utilidades que
usaremos pueden ser probadas en cualquier PC con una tarjeta de sonido. No
obstante, el inconveniente de utilizar este tipo de tarjeta (orientadas a manejar
seales de audio), es que sus rangos o lmites de funcionamiento estn muy
restringidos, tpicamente:
Margen de frecuencias: entre 20 Hz y 20 kHz (No admite seales DC).
Nivel de seal de entrada: 1Vpp (ent. de lnea).
Nmero de canales: 2 (izq./der).
Resolucin: 16 bits.
Frecuencia de muestreo: Seleccionable entre 8000Hz y 44100Hz.

3.1 Funciones de MatLab utilizada en la adquisicin y


reconstruccin de las seales a travs de la tarjeta de
sonio.
Como las operaciones de adquisicin y reconstruccin de las seales se utilizarn
reiteradas veces a lo largo de esta prctica, generaremos dos funciones1 de
MatLab, que realicen estas tareas.

3.1.1 Funcin de MatLab para la adquisicin de seales a travs de


la tarjeta de audio, funcin adquisicion().
Esta funcin se definir de forma que pueda ser utilizada mediante dos tipos de
llamada:

a) Sin definicin de parmetros adquisicion(). En este modo no se definen


en la llamada los parmetros de adquisicin, por lo que la funcin ir
preguntando cada uno de estos. Posteriormente sta quedar a la espera de
que sea lanzada la captura.
b) Con definicin de parmetros adquisicion(srate,nmuestras). En este
modo al estar definidos los parmetros de captura y nicamente, la funcin
queda a la espera de que sea lanzada la captura.

1
Las funciones de MatLab son conjuntos de cdigo que se define para poder ser
reutilizados cada vez que sta sea llamada. La funcin debe estar definida a travs de la
palabra reservada function al comienzo del cdigo y debe ser almacenada en un fichero
*.m, que tenga el mismo nombre. La principal diferencia con un script de MatLab, es que
sus variables son locales, y nicamente devuelve como salida los datos que se indiquen en
su definicin.

2
Procesado Digital de Seales
Prctica 2: Adquisicin y Reproduccin de Seales

Esta funcin ha de almacenarse en el fichero adquisicion.m. Como


implementacin para esta funcin se propone el siguiente cdigo:

%*****************************************************************
%* Funcin para la captura de datos, utilizando como interfaz de *
%* captura la tarjeta de sonido. *
%* *
%* Parmetros de entada *
%* srate: frecuencia de muestreo *
%* nmuestras: nmero de muestras *
%*****************************************************************
function [data,srate] = adquisicion(srate,nmuestras)
flag_espera = 0;
if (~exist('srate','var'))
srate=input('Introduce frecuencia de muestreo: ');
flag_espera = 1;
end
if (~exist('nmuestras','var'))
nmuestras=input('Introduce numero de muestras a adquirir: ');
flag_espera = 1;
end
if (flag_espera)
disp('Pulsa una tecla para comenzar la captura...');
pause;
end

resolrution = 16; % N Bits de ADC.


canales = 1; % Canales; 1: mono, 2: stereo.
t_captura = nmuestras/srate; % Tiempo de captura en segundos.

objRec = audiorecorder(srate, resolrution, canales);


recordblocking(objRec,t_captura);
data = getaudiodata(objRec,'double');
end

3.1.2 Funcin de MatLab para la reproduccin de seales a travs


de la tarjeta de audio, funcin reproduccion().
Al igual que la funcin de adquisicin, esta funcin tambin se definir con la
posibilidad de definir sus parmetros en lnea, o como parmetros en la llamada de
la funcin. Esta funcin ha de almacenarse en el fichero reproduccion.m. Como
implementacin para esta funcin se propone el siguiente cdigo:

%*****************************************************************
%* Funcin para la reproduccin de datos, utilizando como *
%* interfaz de salida la tarjeta de sonido *
%* *
%* Parmetros *
%* data: seal digital a reproducir *
%* srate: frecuencia de muestreo *
%*****************************************************************
function reproduccion(data,srate)
if (~exist('srate','var'))
srate=input('Introduce frecuencia de muestreo: ');
disp('Pulsa una tecla para comenzar la captura...');
pause;
end
objPlay = audioplayer(data, srate);
play(objPlay);
pause(length(data)/srate);
end

3
Procesado Digital de Seales
Prctica 2: Adquisicin y Reproduccin de Seales

3.2 Funciones para gestin de ficheros de audio en MatLab y


Octave.
Tanto MatLab como Octave cuentan con funciones para la gestin
(lectura/almacenamiento) de ficheros de audio. El soporte ms extendido2, es el de
los ficheros *.WAV, que se realizan mediante los comandos wavread y wavwrite.
Ante cualquier duda en el uso de estos comandos, es recomendable utilizar la
ayuda en lnea (>> help wavread o >> help wavwrite).

4 DESCRIPCION DE LAS TAREAS DE ALUMNO:


En esta prctica se pretende que el alumno se familiarice con la adquisicin y
reconstruccin de seales utilizando los comandos de MatLab u Octave. Para
demostrar que el alumno ha adquirido estos conocimientos, ste deber
completar/elaborar la memoria de la prctica, capturando3 las seales generadas e
insertando el cdigo implementado, segn se pida. La memoria de la prctica se
encuentra dividida en dos partes:
Parte Comn: Esta parte est prevista para su realizacin en la sesin de
laboratorio. sta ha de ser entregada al profesor a travs de la plataforma de
enseanza virtual4. Asociados a esta parte de la memoria se han de entregar:

o Fichero Memoria comn P2 (<DNI del alumno>).pdf; donde <DNI del


alumno> ha de ser sustituido por el nmero de DNI del alumno sin letra.
Nota: El documento se ha de entregar en PDF, NO en formato MS Word.

Parte Especfica: Esta parte est prevista para su realizacin fuera del horario
de prcticas y una vez entregada la parte comn de la misma. Las tareas de
esta parte especfica estn personalizadas para cada alumno, a travs de una
codificacin basada en su nmero de DNI. Una vez finalizada esta parte
especfica, el alumno deber entregar la memoria a travs de la plataforma de
enseanza virtual5. Asociados a esta parte de la memoria se han de entregar:

Fichero Memoria especifica P2 (<DNI del alumno>).pdf; donde <DNI del


alumno> ha de ser sustituido por el nmero de DNI del alumno sin letra.
Nota: El documento se ha de entregar en PDF, NO en formato MS Word.

Fichero P2_<DNI del alumno>.mat; donde <DNI del alumno> ha de ser


sustituido por el nmero de DNI del alumno sin letra.

2Versiones ms modernas de MatLab no solo disponen de soporte WAV, tambin disponen


de soporte de ficheros MP3, a travs de las funciones audioread y audiowrite.
3
Utiliza la combinacin de teclas Alt+Imp Pant para capturar con el portapapeles
nicamente la ventana activa.
4Enseanza Virtual (https://ev3.us.es/). Se establece un plazo lmite de entrega, definido en

la plataforma de enseanza virtual. Pasado ste, no se admitir su entrega.


5Enseanza Virtual (https://ev3.us.es/). Se establece un plazo lmite de entrega, definido en

la plataforma de enseanza virtual. Pasado ste, su nota sufrir una penalizacin.

4
Procesado Digital de Seales
Prctica 2: Adquisicin y Reproduccin de Seales

4.1 Puntuacin de la Prctica


Para la evaluacin de la prctica es necesario haber asistido a ella. Cumplida esta
condicin, la nota de la prctica ser directamente la obtenida de la siguiente
expresin:

Nota = 0.3 * Parte comn + 0.7 * Parte especfica


En caso de no entregar alguna de las partes de la memoria, se tomar su
puntuacin como de cero puntos.

También podría gustarte