DESIGNING DIGITAL AUDIO PROCESSING SYSTEMS USING HARDWARE- SOFTWARE CODESIGN TECHNIQUES.



Documentos relacionados
Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

UNIVERSIDAD DE SALAMANCA

Metodologías de diseño de hardware

TRABAJO PRACTICO No 7. MEDICION de DISTORSION EN AMPLIFICADORES DE AUDIO ANALIZADORES DE ESPECTRO DE AUDIO

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

Una señal es una magnitud física de interés que habitualmente es una función del tiempo.

Tipos de instalaciones

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Capitulo I. Introducción

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

4 Pruebas y análisis del software

MEDICIÓN Y AJUSTE DE LOS SISTEMAS DE REFUERZO SONORO

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.


Software de Simulación aplicado a entornos de e-learning

CREACIÓN Y OPERABILIDAD DE UNA BASE DE DATOS DE ADN DISTRIBUIDA MEDIANTE EL USO DE UN SISTEMA GRID CREACIÓN DE ÁRBOLES DE SUFIJOS

Tienda Online Responsive Web Design

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

x

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

BPMN Business Process Modeling Notation

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Circuitos RLC resonantes acoplados

1 EL SISTEMA R/3 DE SAP AG

TELECOMUNICACIONES ANALÓGICAS Y DIGITALES

Elementos requeridos para crearlos (ejemplo: el compilador)

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Ecuaciones de primer grado con dos incógnitas

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Qué es WavePad y dónde obtenerlo

REDES AD HOC INFORME DE REDES DE COMPUTADORES I. Felipe Muñoz Jonathan Porta Matías Contreras

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Grado en Ingeniería Informática

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Capítulo 5. Cliente-Servidor.

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

TRANSMISION DIGITAL. PCM, Modulación por Codificación de Pulsos

Manual de Introducción a SIMULINK

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Herramientas Tecnológicas de Productividad

Análisis de Resultados

Sistemas de Información Geográficos (SIG o GIS)

Electrónica Digital II

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

hay alguien ahi? por Marcelino Alvarez

18. Camino de datos y unidad de control

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Capítulo 4: Requerimientos.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Cadena de valor. Cadena de valor genérica. Actividades primarias. Actividades de apoyo Actividades primarias

Seguridad en Administración de Redes. INTEGRANTES: Santa Elena Rodríguez Calzada María de los Ángeles Ramírez Ortiz Liliana Gpe. Olivares Valdovinos.

IV. Implantación del sistema.

Gestión de Empresas Visual e Interactiva E.R.P.

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

Guía de uso del Cloud Datacenter de acens

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD

Algoritmos y Diagramas de Flujo 2

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Introducción a la Programación 11 O. Humberto Cervantes Maceda

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

Ecualizador y Sintetizador Musical

Development of an upper level software of a ceiling mounted home prototype robot

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Equipos de Conectividad

Servicio de administración de pautas publicitarias en Internet

Hibridos Telefónicos Automáticos

DISEÑO DE FUNCIONES (TRATAMIENTOS)

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

Laboratorio de Diseño de Sistemas Digitales

Cursos de la Especialidad de Electrónica

KYMATIC Soluciones Informáticas S.L.

Tipos de computadoras

Práctica 5. Curso

Visual Studio 2008 es el conjunto de herramientas de

ANTENAS: Teledistribución y televisión por cable

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Matrices Invertibles y Elementos de Álgebra Matricial

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

LOTUS O EXCEL CUÁL ELEGIR? Por: Teresa García López 1

Nociones básicas sobre adquisición de señales

Ingeniería de Software

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

CENTENARIA Y BENEMÈRITA ESCUELA NORMAL DEL ESTADO DE QUERETARO ANDRES BALVANERA UNIDAD JALPAN SEMINARIO DE ANALISIS Y TRABAJO DOCENTE

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

Qué es cultura? Collingwood ha definido cultura como: todo lo que una persona necesita saber para actuar adecuadamente dentro de un grupo social.

BASE DE DATOS RELACIONALES

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Sistemas de numeración

Transcripción:

DESIGNING DIGITAL AUDIO PROCESSING SYSTEMS USING HARDWARE- SOFTWARE CODESIGN TECHNIQUES. Sergio D. Baron Universidad Nacional de La Plata Centro de Técnicas Analógico Digitales (CeTAD) Calle 48 y 116, La Plata 1900, Argentina s.d.baron@ieee.org ABSTRACT In this work, we present our study on the field of Hardware-Software co-design and the application in digital audio processing. Using a versatile design tool as Ptolemy, we found computational models that are appropriate for digital audio processing. The SDF (Synchronous DataFlow) computational model allows the description of statically programmed algorithms, where dataflow does not change. The effectgeneration, equalization and sound synthesis using digital audio processing is basically static and linear, so the SDF domain is suitable to describe this type of systems. To conclude, we show the advantages in dividing the implementation of our designs in hardware and software.. EL USO DE TÉCNICAS DE CODISEÑO HARDWARE-SOFTWARE PARA EL DISEÑO DE SISTEMAS DE PROCESAMIENTO DIGITAL DE AUDIO. RESUMEN En este trabajo se plasma el estudio realizado en el campo del co-diseño de hardware software y su aplicación al procesamiento digital del sonido. Utilizando una herramienta de diseño reconocida y versátil como es Ptolemy, hemos identificado la aptitud de modelos computacionales que encajan perfectamente a la hora de hacer procesamiento digital de audio. El modelo computacional SDF (Synchronous DataFlow) permite describir algoritmos estáticamente programados en los cuales el flujo de los datos es siempre el mismo. El procesamiento digital de audio para la generación de efectos, ecualización y síntesis de sonido es fundamentalmente lineal y estático, por lo tanto el dominio SDF es adecuado para describir este tipo de sistemas. Por último veremos la capacidad de dividir nuestros diseños en hardware y software para su implementación real y las ventajas que esto trae.

EL USO DE TÉCNICAS DE CODISEÑO HARDWARE-SOFTWARE PARA EL DISEÑO DE SISTEMAS DE PROCESAMIENTO DIGITAL DE AUDIO. Sergio D. Baron Universidad Nacional de La Plata Centro de Técnicas Analógico Digitales (CeTAD) Calle 48 y 116, La Plata 1900, Argentina s.d.baron@ieee.org RESUMEN En este trabajo se plasma el estudio realizado en el campo del co-diseño de hardware software y su aplicación al procesamiento digital del sonido. Utilizando una herramienta de diseño reconocida y versátil como es Ptolemy, hemos identificado la aptitud de modelos computacionales que encajan perfectamente a la hora de hacer procesamiento digital de audio. El modelo computacional SDF (Synchronous Data Flow) permite describir algoritmos estáticamente programados en los cuales el flujo de los datos es siempre el mismo. El procesamiento digital de audio para la generación de efectos, ecualización y síntesis de sonido es fundamentalmente lineal y estático, por lo tanto el dominio SDF es adecuado para describir este tipo de sistemas. Por último veremos la capacidad de dividir nuestros diseños en hardware y software para su implementación real y las ventajas que esto trae. 1. INTRODUCCION La mayoría de los aparatos de consumo masivo en telecomunicaciones de voz, reproducción musical, broadcasting, síntesis de sonido y producción de fonogramas, entre otros, utilizan alguna forma de procesamiento digital de la señal sonora. Dicho esto, nos encontramos que existe una demanda importante para el procesamiento digital de audio, y por lo tanto, existen numerosas técnicas y soluciones en este campo. Veremos aquí que las aplicaciones más populares en el procesamiento digital de audio se componen de algunos pocos elementos comunes a todas ellas, y que las técnicas de co-diseño nos permitirán su implementación efectiva y optimizada en muchos casos. 2. ALGUNAS APLICACIONES DE PROCESAMIENTO DE AUDIO Siendo muy amplia la gama de aplicaciones donde se requiere procesamiento del audio se pondría pensar que los bloques fundacionales del DSP en audio son muchos, sin embargo no es así. En las telecomunicaciones de voz, excluyendo los vocoders, generalmente se usan dos aplicaciones de dsp: la cancelación de eco y la ecualización de frecuencias. La cancelación de eco se hace mediante el uso de líneas de retardo que compensan retardos y feedbacks que hay en los canales de comunicaciones y mediante interferencia destructiva anulan el eco. Los ecualizadores se utilizan para mejorar las características de respuesta en frecuencia del canal y mejorar la inteligibilidad de la voz. En la reproducción de audio, como por ejemplo los reproductores de CD, auto radios, etc. se utilizan ecualizadores en todos ellos y en los equipos de alto costo se incluyen efectos de ambiente como eco y reverberancia. En la síntesis de sonido, actualmente todo el proceso se realiza mediante DSP. Especialmente la síntesis por modelización física [1], los medios de producción sonora son implementados mediante filtros, líneas de retardo y otros elementos de procesamiento digital del sonido. En el mundo de la producción de fonogramas ya hace muchos años que todo el tratamiento del sonido se realiza mediante medios digitales, siendo los artefactos mas utilizados, la reverberancia, ecualización y modulación dinámica de la amplitud del sonido. Podemos decir entones que si nos abocamos al estudio de los métodos de ecualización, retardo y reverberancia del sonido, estaremos abarcando las aplicaciones mas importantes. 3. LÍNEAS DE RETARDO, ECUALIZACIÓN Y REVERBERADORES.

3.1. Líneas de Retardo. Las líneas de retado no hacen otra cosa que tomar muestras por una punta y entregarlas sin modificación alguna por la otra M-muestras retasadas. A pesar de su simplicidad, son el bloque fundacional de los otros dos algoritmos que veremos a continuación. Una línea de retardo se puede representar como se ve en la figura 1. Fig. 1. Línea de retardo de M muestras. La ecuación que la representa es la siguiente: donde x(n)=0 para n<0. 3.2. Ecualización. En su expresión mas simple un ecualizador en un filtro pasabanda acoplado a una etapa de ganancia. Este filtro puede ser implementado mediante un filtro de Respuesta Finita al Impulso (FIR). Un filtro FIR se puede implementar como se ve en la figura 2. Podemos ver más sobre filtros FIR en [2]. fuente, varias reflexiones indirectas y de diferente retraso que además poseen distintas repuestas pasabajos. Por lo tanto una de las tantas formas de implementar un reverberador artificial es mediante una matriz de líneas de retardo, cada una acoplada a un filtro FIR. 4. CARACTERÍSTICAS DE LOS ALGORITMOS DE LÍNEA DE RETARDO, ECUALIZACIÓN Y REVERBERANCIA. Analizaremos aquí las posibilidades de implementación de estos algoritmos. Como vemos en el punto anterior todos comparten las siguientes cualidades: Invariantes en el tiempo. Lineales. Estas características son importantes al momento de elegir un modelo computacional que los describa. En la elección correcta de este modelo 5. DISEÑO DE LOS ALGORITMOS USANDO PTOLEMY. El entorno de diseño Ptolemy [3][4] permite implementar sistemas usando diferentes semánticas, las cuales son interpretadas a través de los dominios. Los dominios a su vez, se asocian a modelos de computación, que son los que se encargan de definir su comportamiento. Fig. 2. Filtro FIR. La ecuación diferencial es la siguiente: y la función de transferencia: Ya podemos ver que un filtro FIR se implementa fundamentalmente con líneas de retardo, bloques de ganancia y realimentaciones. Para realizar un ecualizador de múltiples bandas habrá que tener tantos filtros como bandas se deseen, cada uno con su frecuencia centrada en la frecuencia de esa banda. 5.1. Dominio SDF. El dominio SDF (Synchromous Data Flow), es muy utilizado en el campo del procesamiento de señales. Como en casi todos los dominios de Ptolemy, el programa se especifica con un conjunto de bloques y arcos conectores llamado grafo orientado. Los bloques son los producen el procesamiento y los conectores son buffers de interconexión. Dada la especificación de un diseño en SDF, es muy fácil saber como se implementa el algoritmo, ya que es lineal y que cada bloque posee un numero limitado de entradas y salidas. Otra ventaja es que el dominio SDF describe a los retardos muy implemente mediante la inserción de un diamante en un arco conector (ver figura 3). 3.3. Reverberación. La reverberación es el efecto que escuchamos cuando una fuente sonora se reproduce en un espacio acústico el cual entrega al oyente además del sonido directo de la

Fig 3. Dos estrellas de operaciones aritméticas unidas por un retardo. 5.2. Implementación de los algoritmos usando el dominio SDF. Hemos visto que los algoritmos de procesamiento de audio que nos interesan son lineales e invariantes en el tiempo. El dominio SDF y su representación mediante grafos son particularmente eficaces al implementar algoritmos con estas características. La invariancia en el tiempo nos permitirá implementar los bloques de procesamiento en forma estática y dará la ventaja de poder elegir entre una realización en software (C o C++) o Hardware (VHDL) del bloque. La linealidad servirá para permitir que el shceduler de Ptolemy tome libremente los bloques y los ejecute en paralelo, para así poder optimizar la velocidad de funcionamiento del sistema. En proyectos de DSP la velocidad de procesamiento es la cualidad mas buscada. 5.2.1 Implementación de un reverberador artificial en Ptolemy. Siendo el dominio SDF muy utilizado en el procesamiento en señales, la distribución de Berkeley ya cuenta con bloques de procesamiento muy sofisticados, como ser filtros FIR. Usando esta característica diseñamos un reverberancia elemental utilizando líneas de retardo y filtros FIR para simular un pequeño espacio acústico. Esta implementación se basa en proveer al oyente de múltiples replicas de la fuente del sonido, cada una retrasada en el tiempo en distintos periodos y filtrada por un pasabajos. La implementación puede verse en la figura 4. Al procesar un archivo sonoro mediante el reverberador implementado, conseguimos con éxito simular el espacio acústico buscado. La diferencia de retardo entre las distintas líneas de retardo (delay1...delay5) es de sólo algunos milisegundos, como sucede en un espacio acústico real. Los filtros pasabajos simulan la absorción de los materiales contra los que el sonido rebota y la absorción del aire, ambos dos efectos son pasabajos. Figura 4. Reverberador artificial en Ptolemy 6. DIVISIÓN DE LOS DISEÑOS EN HARDWARE Y SOFTWARE. Como hemos visto anteriormente, un pequeño conjunto de algoritmos de procesamiento de audio es utilizado en un gran número de aplicaciones prácticas. Muchas de estas aplicaciones se materializan en artefactos de consumo masivo, donde el costo de los materiales y la practicidad en el desarrollo son factores fundamentales. Siendo así muy escasos los recursos de procesamiento disponibles en estos artefactos. Tanto los filtros FIR, como las reverberaciones, utilizan masivamente sumas y multiplicaciones, que son operaciones que un procesador de DSP realiza fácilmente, pero que en un microprocesador de uso general son muy costosas en términos computacionales. Aquí esta una de las motivaciones principales del uso del codiseño en el procesamiento de audio. Al ser estáticos e invariantes en el tiempo, los algoritmos (o parte de los algoritmos) de audio son implementables en hardware programable o en un ASIC, dejando al microprocesador para otras tareas como ser las de entrada y salida, formato de datos, etc. 7. CONCLUSIONES Hemos compilado una serie de aplicaciones muy utilizadas en el campo del procesamiento de audio y las hemos caracterizado. Usando Ptolemy y el dominio SDF pudimos definir precisamente las ventajas de éste e implementar algunos los algoritmos elegidos. A partir de las comprobaciones hechas puramente en software poseemos una plataforma de diseños y código que son útiles para la implementación en una plataforma heterogénea donde parte del procesamiento se haga en un microprocesador y parte en hardware programable o un ASIC. 8. REFERENCIAS

[1] Sergio Baron, Síntesis digital de sonido usando dispositivos de lógica programable., IX Workshop de Iberchip, 2003 [2] J. O. Smith III, Introduction to Digital Filters, http://www-ccrma.stanford.edu/~jos/filters/, 2003. [3] Ptolemy User s Manual, University of California at Berkeley. http://ptolemy.eecs.berkeley.edu. [4] Osio, Salguero, Rapallini, Baron, Entorno de Desarrollo Ptolemy, XI Jornadas de Jóvenes investigadores del Grupo de Montevideo, 2003.