“adquisición de audio usando matlab” (data acquisition toolbox) slidesdaq_2
TRANSCRIPT
Instructor:Juan Carlos Moctezuma Eugenio
[email protected] - 2007
“Adquisición de Audio
usando MATLAB”(Data (Data AcquisitionAcquisition ToolboxToolbox))
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB1
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB2
Antecedentes
• Surge de los proyectos LINPACK y EISPACK
• La empresa MathWorks es fundada en 1984
• The Mathworks es líder en el desarrollo de software de computación técnica, además la empresa tiene más de 1 millón de usuarios alrededor del mundo
• The Mathworks tiene más de 1,500 empleados trabajando en el desarrollo de las herramientas MATLAB y SIMULINK para innovar tecnología en empresas, laboratorios gubernamentales, instituciones financieras y en más de 3,500 Universidades
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB3
El programa MATLAB
• MATLAB � Matrix Laboratory
• Definiciones:– MATLAB es un conjunto de comandos o funciones que realizan tareas específicas,
además dispone de un código básico y más de 30 librerías especializadas llamadas “Toolboxes” las cuales trabajan en áreas especiales como Control, Coumunicaciones, Procesamiento de Señales, etc
– MATLAB es un lenguaje de alto rendimiento el cual integra la computación, la visualización y la programación en un ambiente fácil de usar en donde los problemas y las soluciones son expresadas en una notación matemática amable.
• Aplicaciones:– Matemáticas y computación en general. – Desarrollo de algoritmos– Adquisición de datos– Prueba, modelado y simulación de prototipos– Análisis, manipulación y visualización de datos– Diferentes tipos de Graficación– Desarrollo de aplicaciones como Interfaces Gráficas de Usuario.
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB4
Organización de MATLAB (1)
MATLAB System
Development Environment
The MATLAB Mathematical Function Library
The MATLAB Language
Graphics
The MATLAB Application Program Interface (API)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB5
Organización de MATLAB (2)
MATLAB(código básico)
Simulink
ToolboxComunicaciones
ToolboxImágen
ToolboxRedes
Neuronales
ToolboxLógica Difusa
BlocksetDSP
BlocksetControl
BlocksetXilinx System
Generator
ToolboxAdquisición
Datos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB6
Entorno de trabajo
1
3
5
4
2
Ventana Estándar
Matlab Desktop
Command Window
Current Directory
Workspace
Command History
Otras ventanas: •Array Editor•Launch Pad•Editor/Debugger
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB7
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB8
Anatomía de un experimento de AD
• Instalación– Instalar Hardware y Software– HW: consiste en conectar alguna tarjeta en la computadora– SW: consiste en instalar los drivers necesarios para el hardware y el software de
aplicación
• Calibración– Proceso posterior a la conexión de los “sensores”– Proporcionar una entrada conocida al sistema y verificar la salida
• Pruebas– Comenzar a adquirir datos– Proceso en el que se trata con datos del mundo real
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB9
Sistema de AD
• Un sistema de Adquisición de Datos (AD) se usa cuando se esta interesado en medir y analizar algún fenómeno físico
• Un sistema de AD es una colección de herramientas HW/SW que nos permite interactuar con el mundo físico
• Un sistema de AD es un equipo que nos permite tomar señales físicas del entorno y convertirlas en datos que posteriormente podremos procesar y presentar
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB10
La función principal es la conversión de señales A/D y D/A
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB11
Transductores: dispositivo capaz de convertir un tipo de energía de entrada en otra, obtiene información de entornos físicos y la convierte en señales eléctricas o viceversa.
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB12
• Los transductores generalmente son incompatibles con el “Hardware de adquisición”• Para resolver esta incompatibilidad, las señales adquiridas se deben acondicionar de alguna forma
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB13
Proporciona el microprocesador, un reloj, un bus de datos, memoria y espacio en disco para el almacenamiento de datos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB14
Permite la interacción entre la computadora y el hardware:• configurar la tasa de muestreo de la tarjeta• adquirir una predeterminada cantidad de datos y visualizar• uso del toolbox de adquisición de datos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB15
• Dos cosas importantes a resaltar:
1. Las entradas son adquiridas por un sensor, se acondicionan, después se convierten en ‘bits’ para que la computadora las pueda leer y son manipuladas o analizadas para extraer información relevante
2. Los datos desde la computadora son transformados en señales analógicas y son pasados hacia el ‘exterior’ por medio de un actuador
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB16
Más acerca del Hardware de AD …
• El hardware de AD puede presentarse de dos maneras:– interna e instalada directamente en un ranura de expansión dentro de la
computadora– externa que se conecta a la computadora a través de una cable externo
• Se caracteriza por lo subsistemas que posee– Un subsistema es un componente que realiza una tarea específica– Existen 4 subsistemas:
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB17
Más de Sensores …
• Sensores Digitales: Switches, Encoders, Botones, etc.
• Sensores Analógicos: Acelerómetros, Micrófonos, medidores de presión, medidores de temperatura, etc.
DOS CARACTERÍSTICAS IMPORTANTES:• Salida del sensor
– Salidas digitales o analógicas– Salidas de corriente.- 4 – 20 mA, uso de una resistencias de precisión para
convertir a voltaje– Salidas de voltaje.- caracterizadas por Amplitud, Frecuencia y Duración
• Ancho de Banda del sensor– Se refiere a las frecuencias presentes en la señal que esta siendo medida– Se puede pensar también como la razón de cambio de la señal
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB18
Más del Acondicionamiento de la señal …
• El acondicionamiento se usa por la “incompatibilidad” de las señales adquiridas
• Tipos de acondicionamiento:– Amplificación.- niveles bajos de entrada (100 mvolts) necesitan ser amplificados– Filtrado.- eliminación de ruido de la señal de interés– Ajuste.- ajustar el rango del transductor al del convertidor A/D– Conversión.- transformar la información para que sea siempre voltaje (que las
corrientes sean proporcionales a voltajes)– Multiplexación.- técnica que permite mandar distintas señales sobre un mismo
canal– Acondicionamiento de impedancias.- cuando se conectar un segundo circuito a
la salida de un primero, hace que la tensión de salida del primero se vea modificada.
Sensor
Carga Re Rth << Re
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB19
Más del Software …
• Debe haber alguna forma de manipular o mandar que hacer al hardware
• Dos clases de Software: – Driver SW.- accesa y controla las capacidades del hardware– Aplication SW.- funciones de alto nivel para realizar aplicaciones
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB20
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB21
Data Acquisition Toolbox
• Proporciona un framework para adquirir y medir datos en MATLAB
• Soporta Subsistemas AI, AO, Digital I/O
• Proporciona soporte para los siguientes dispositivos:– Advantech boards that use the Advantech Device Manager– Agilent Technologies E1432A/33A/34A VXI modules– Keithley boards that use DriverLINX drivers.– Measurement Computing Corporation (ComputerBoards) boards– National Instruments boards that use Traditional NI-DAQ or NI-DAQmx software
except SCXI)– Parallel ports LPT1-LPT3– Windows sound cards
http://www.mathworks.com/products/daq/supportedio.html
• Adquisición de datos por medio de eventos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB22
Componentes del DAQ Toolbox
• M-Files Functions– Funciones del toolbox– Adquirir o sacar datos– Configurar propiedades
• Data Acquisition engine– DLL que guarda el objeto
asociado al dispositivo– Controla la sincronización de
los eventos– Controla el almacenamiento
de los datos adquiridos
• Hardware driver adaptors– Permite la interacción entre el
driver hw y la engine– Software que pasa
información entre matlab y el dispositivo hardware a través de su driver
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB23
Flujo para Adquirir Datos
• Los datos adquiridos son temporalmente guardados en la engine(memoria)
• El proceso consiste en dos pasos– Los datos capturados desde el hardware son guardados en la “engine”– Los datos son extraídos de la engine (función ‘getdata’) y exportados a MATLAB
o algún archivo en disco
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB24
Flujo para Sacar Datos
• Los datos almacenados en la “engine” son pasados al hardware• Se tienen que poner en espera los datos en la engine mediante la
función “putdata”– Los datos desde MATLAB son puestos en espera en la engine– Los datos en la engine son puestos en el hardware
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB25
Examinando los recursos hardware
• Mediante la función “daqhwinfo” podemos obtener:
• Información General del Toolbox– Versión del toolbox y de Matlab– Los adaptadores instalados en la computadora
• Información específica del adaptador– Nombre y versión del adaptador– Nombre de la tarjeta– Constructor del objeto
• Información de un objeto – dispostivo– Presenta información acerca de un objeto (variable) relacionado a un dispositivo
en específico
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB26
Sesión práctica
• Funciones de ayuda• Función ‘daqhwinfo’
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB27
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB28
Sesión de adquisición de datos
1. Crear un objeto tipo dispositivo2. Agregar canales (E/S analógicas) o líneas (E/S digitales)3. Configurar propiedades4. Colocar en fila datos (solo para Salidas Analógicas)5. Arrancar la adquisición de datos (o sacar datos)6. Esperar a que la adquisición se complete7. Extraer los datos adquiridos (solo para entradas analógicas)8. Finalizar la sesión (limpiar variables del workspace y de memoria)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB29
1. Crear un objeto tipo dispositivo
• Por medio de este tipo de objetos se puede acceder al dispositivo hardware (en realidad es una estructura)
• Cada objeto tipo dispositivo es asociado a un subsistema específico
• Para crear este tipo de objetos se hace por medio de los constructores de objetos (funciones M de MATLAB)
– analoginput– analogoutput– digitalio
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB30
• Pueden crearse vectores de objetos-dispositivo
• Cuando creamos un objeto-dispositivo, éste existe tanto en el workspace como en el engine
– Cuando creamos una copia de ese objeto, este último es idéntico al original
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB31
2. Agregar canales o líneas
• Los canales o líneas son los elementos primordiales con los cuales se adquieren o sacan datos
• Después de crear un objeto-dispositivo se le tiene que agregar canales o líneas, de otra forma NO se podrán adquirir/sacar datos
– addline– addchannel– addmuxchannel (solo para tarjetas NI-DAQ)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB32
• Los IDs de los canales hardware son valores numéricos asignados por el fabricante para identificar los canales de sus dispositivos
– Algunso comienzan con el índice 0 y otros con el índice 1 (tarjetas de sonido)
• Sin embargo si queremos referenciar algún canal, debemos hacerlo por medio de índices de MATLAB (comienzan en 1)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB33
3. Configurar propiedades
• Se usan las funciones ‘set’ y ‘get’ (o la notación punto) para cambiar y acceder a las propiedades respectivamente
• Dos tipos de propiedades– Comúnes.- son propiedades que se aplican a cada canal o línea del objeto– Canal/Línea.- son propiedades que configuran canales/líneas de forma individual
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB34
4, 5, 6 y 7. Adquirir / Sacar Datos
• Adquirir o sacar datos involucra tres pasos:– Arrancar el objeto– Cargar o mandar datos (Logging/Sending Data)– Detener el objeto
• Cuando los datos están siendo transferidos entre MATLAB y el dispositivo hardware, el objeto puede estar en dos estados:
– Running– Logging/Sending– Propiedades del objeto que llevan el mismo nombre son puestas en ‘On’ u ‘Off’
• Los objetos digitales no guardan datos en la engine � los estados de Logging/Sending no existen (solo el estado Running)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB35
• Para arrancar un objeto se usa la función ‘start’
• Para adquirir o sacar datos se usan ‘getdata’, ‘putdata’, ‘peekdata’
• Para el estado de Logging la propiedad ‘TriggerType’ esta muy relacionada en cuando los datos se van a guardar en el engine (oen archivo)
• Un objeto se detiene cuando:– La función ‘stop’ es usada– Cuando el número de muestras en recibida (AI) o enviada (AO)– Cuando ocurre un error en tiempo de ejecución– Cuando el tiempo de la propiedad ‘timeout’ ha transcurrido
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB36
8. Finalizar sesión
• Cuando ya no vayamos a usar más los objetos-dispositivos, debemos eliminarlos tanto de la memoria (engine) como del workspace de MATLAB
• Esto se logra con las funciones “delete” y “clear” respectivamente
• La función “daqfind” encuentra todos los objetos que tiene el engine conectados a él
– Si se usa solamente ‘clear’, el objeto se borra del workspace pero todavía permanece conectado al engine
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB37
Sesión práctica
• Todo acerca de una sesión de AD
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB38
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB39
• La función ‘analoginput’ crea un objeto-dispositivo de tipo AI• Cuando se crea el objeto, se le asocia un ID
– Usar daqhwinfo(‘winsound’) para ver los IDs disponibles
• La función ‘addchannel’ agrega canales al objeto– La propiedad ‘Channel’ proporciona información de cada canal– El número de canales que se pueden agregar depende del tipo de tarjeta– Para borrar un canal se usa la función ‘delete’
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB40
• Para las tarjetas de sonido, solo pueden manejar 1 o 2 canales– Modo MONO.- 1 solo canal, ID = 1– Modo STEREO.- 2 canales, ID = [1 2]
• Propiedades importantes de configurar
• ‘StandardSampleRates’.- indica si el ‘SampleRate’ puede tomar cualquier valor o solo valores estándar (8.0 kHz, 11.025 kHz, 22.050 kHz, y 44.100 kHz), con la función ‘propinfo’ se pueden encontrar los valores permitidos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB41
Adquirir datos de un AI subsystem
• Se arranca en objeto con ‘start’• Se adquieren los datos con un trigger (evento) dependiendo de la
propiedad ‘TriggerType’
• Los datos leídos se pueden almacenar en memoria o en disco (o ambos) dependiendo de la propiedad ‘LoggingMode’
• Si se guarda en disco entonces habrá que configurar las propiedades ‘LogFileName’ y ‘LogToDiskMode’
• Si se guarda en memoria los datos se leen con ‘getdata’ / ‘peekdata’• Si se guarda en disco los datos se leen con ‘daqread’
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB42
• Propiedades involucradas en el Status del objeto AI
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB43
Manejo de memoria
• La propiedad ‘BufferingConfig’ indica la memoria asignada por canal– Devuelve un vector de 2 valores: [block size number of blocks]– La memoria total asignada esta dada por:
(block size)*(no. blocks)*(no. channels)*(native data type)– El tipo de dato nativo se puede encontrar con la función ‘daqhwinfo’
• La asignación de memoria puede hacerse en forma manual o automática dependiendo de la propiedad ‘BufferingMode’
– La memoria asignada se cambia automáticamente dependiendo del ‘SampleRate’
• La función daqmem asigna o muestra información de la memoria– daqmem(ai) � muestra el número total de memoria asignada al objeto, y
además muestra el número máximo de memoria permitida– daqmem(ai, maxval) � asigna el número máximo de memoria que puede ser
asignada a un objeto
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB44
• La propiedad ‘MaxSamplesQueued’ indica el número máximo de muestras que pueden ser puestas en espera en la engine
– Solo para objetos de salida ‘ao’– Propiedad de solo lectura– Este valor es el mismo que nos da la función ‘daqmem(ao)’
• Se usa la función daqmem para asignar o mostrar el tamaño de memoria asignado al objeto de salida ‘ao’
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB45
Manipulando los datos adquiridos
• ‘peekdata’ .- es solo un preview de los datos adquiridos– Solo se puede llamar una sola vez por cada vez que el objeto se detiene
• ‘getdata’ .- obtiene de la engine los datos adquiridos
Se obtienen los datos más recientes
Se obtienen los datos más viejos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB46
Trigger para un objeto AI
• Un trigger AI esta definido como un evento que inicia la carga de datos (logging)
• Definiendo el trigger
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB47
• Cuando el tipo de trigger es ‘Software’ se deben configurar las propiedades ‘TriggerCondition’, ‘TriggerConditionValue’ y ‘TriggerChannel’
• ‘TriggerChannel’ indica el canal que sirve como fuente para el trigger
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB48
Trigger Delays
• Los datos pueden ser cargados (logging) ya sea antes de ocurrir el trigger (pretriggering) o bien después de que el trigger ocurre (posttriggering)
• Esto se controla con la propiedad ‘TriggerDelay’ donde:– Valores negativos � indican pretriggering– Valores positivos � indican posttriggering– 0 � indica que no hay delay
• La propiedad ‘TriggerDelayUnits’ indica si el valor en ‘TriggerDelay’son unidades de tiempo o de muestras
• El pretriggering solo puede usarse cuando el ‘TriggerType’ es ‘Manual’ o ‘Software’
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB49
• Pretriggering
• Posttriggering
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB50
Repetición de triggers
• Se puede configurar los triggers para que ocurran una o más veces mediante la propiedad ‘TriggerRepeat’
• La propiedad ‘TriggerExecuted’ devuelve el número de triggers que se han ejecutado (funciona en tiempo de ejecución)
• La función ‘showdaqevents’ muestra información acerca de cuando ocurrieron los eventos en un objeto dado
– También se puede adquirir esta información con la propiedad ‘EventLog’
• La propiedad ‘InitialTriggerTime’ contiene el tiempo de cuando ocurrió el primer trigger
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB51
Tipos de eventos
• Se pueden aumentar la potencia y flexibilidad de nuestra aplicaciones al usar eventos y callbacks
• Un evento ocurre cuando alguna condición se cumple y resulta en la ejecución de callbacks (funciones-M)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB52
Sesión práctica
• Todo acerca del objeto AI– Crear y configurar el objeto AI– Adquisición y manipulación de datos– Tipos de triggers– Manejo de memoria– Eventos y Callbacks
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB53
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB54
Creación de objetos-dispositivo AO
• Se usa la función ‘analogoutput’ para la creación de un objeto dispositivo de tipo AO
• De igual forma se usa la función ‘addchannel’ para agregar canales al objeto
• Propiedades relacionadas a los canales de un AO
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB55
• La propiedad ‘TriggerType’ en un AO puede ser ‘manual’ o ‘immediate’ (el trigger ‘software’ no es soportado)
• Existen otros tipos de trigger disponibles dependiendo de la tarjeta hardware que se este usando
• Para sacar datos por medio de un AO se siguen los siguientes pasos:1. Colocar en espera los datos mediante la función ‘putdata’2. Arrancar el objeto con la función ‘start’ ()3. Detener el objeto, éste se detiene cuando alguna de las siguientes acciones
ocurre:• Se usa la función ‘stop’• Los datos en espera son sacados por el AO• Un error en tiempo de ejecución ocurre• Cuando el tiempo de espera se ha alcanzado
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB56
Propiedades importantes en un AO
• Propiedades involucradas en el “status” de un objeto AO
• Otras propiedades en el manejo de datos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB57
• Cuando se colocan datos en cola con la función ‘putdata’, éstos se colocan de la siguiente forma:
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB58
AO triggers
• Un trigger para un AO se define como un evento que inicia la salida de datos
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB59
• Para ejecutar un trigger en un AO:– Colocar en espera los datos en la engine– Configurar las propiedades del trigger– Llamar la función ‘start’– Llamar la función ‘trigger’ (si el trigger es manual)
• Solamente 1 solo trigger puede ocurrir para un AO, así la propiedad ‘TriggersExecuted’ solo puede tomar los valores 0 ó 1
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB60
Eventos y Callbacks para AO
• La función por default es ‘daqcallback’, la cual simplemente proporciona información del evento que ocurrió
• Esta misma función se usa por default par los objetos AI
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB61
Sesión práctica
• Todo acerca del objeto AO– Crear y configurar el objeto AO– Tipos de triggers– Eventos y Callbacks
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB62
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB63
El Osciloscopio para Adquisición de Datos
• El softscope es una interfaz gráfica interactiva para mostrar en pantalla datos en “tiempo real”
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB64
Agregando nuevas ventanas
Crear un nuevo display (Menu Scope)
Asociar un canal al display (Menu Channel)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB65
Canales
• Reference channels– Los datos asociados a este tipo de canal son variables o expresiones de
MATLAB
• Math channels– Los datos asociados a este tipo de canal son calculados en MATLAB a partir de
los canales hardware, o de canales de tipo math o reference
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB66
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB67
Botones de escalamiento
• Botones Horizontales.- realizan un offset en forma horizontal (mover hacia la izq o der) y cambian las unidades en el eje horizontal (periodo de visualización de la señal)
• Botones Verticales.- realizan un offset en forma vertical (mover arriba o abajo) y cambian la escala en el eje horizontal (amplitud de la señal)
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB68
Triggers en el Osciloscopio
• Existen 3 tipos de trigger:– One shot.- adquiere el número de muestras especificado, una vez– Continuous.- continuamente adquiere el número de muestras especificadas– Sequence.- continuamente adquiere el número de muestras especificadas y usa
el trigger dependiente cada vez
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB69
Realizar Mediciones
• Pueden realizarse distintos tipos de mediciones a los datos adquiridos, mediante cursores horizontales o verticales
• Mediciones de tipo matemático también están disponibles o bien mediciones hechas por el usuario
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB70
Sesión práctica
• Uso del Softscope
Juan Carlos Moctezuma Eugenio, ADQUISICIÓN DE AUDIO CON MATLAB71
Agenda
• Introducción– Intro a MATLAB– Sistema de Adquisición de Datos
• Data Acquisition Toolbox– Intro al Data Acquisition Toolbox– Sesión de un sistema de adquisición de datos– Entradas Analógicas– Salidas Analógicas– Uso del SoftScope– Entradas/Salidas Digitales (opcional)
• Laboratorios