1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento.

Slides:



Advertisements
Presentaciones similares
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Advertisements

Objetivos Desarrollar software funcional multi-modelo sobre distintas plataformas para el estudio de sistemas complejos de cómputo de alto rendimiento.
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
LENGUAJES DE PROGRAMACIÓN
INTRODUCCIÓN A JAVA.
Estructura de un Sistema Operativo
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Prof. Adelaide Bianchini. Dpto. de Computación y Tecnología de la Información. Universidad Simón Bolívar. Mayo Diseño centrado en el usuario Prof.
Qué es LabVIEW? LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de programación gráfico para el diseño de sistemas de adquisición.
Introducción a la Programación
Java Binding for the OpenGL API Unidad III. ¿Qué es OpenGL? Open GL es un entorno de desarrollo portable de aplicaciones gráficas interactivas en 2D y.
“SISTEMA DE PASANTÍAS PARA LA FACULTAD DE INGENIERÍA
Framework Hexápodo PHP fácil, rápido y sin dolor
Javier López García OBJETIVOS DEL PROYECTO Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. Reestructurar.
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
INTERFAZ DE ACCES DISEÑO DE BASE DE DATOS
Janny David Vilac Salazar David Alejandro Gallo Moya
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
METODOLOGIA DE LA PROGRAMACION
Con fines prácticos se puede clasificar al software en tres tipos: Software de sistema Software de programación Software de aplicación.
HERRAMIENTAS CASE.
Java Mayra M. Méndez Anota.
Proceso de información en la computadora
Visualizador de imágenes remotas Alumno: Juan Pablo García Ortíz Director: Vicente Gonzalez Ruiz.
Weka.
Introducción a la Programación. Lenguaje de Máquina.
Universidad Técnica Particular de Loja
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
FUNDAMENTOS DE PROGRAMACIÓN ISC. GABRIEL ZEPEDA MARTÍNEZ EST. ABRAHAM F. MACHUCA VAZQUEZ.
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Desarrollo de aplicaciones para ambientes distribuidos
Proyecto Final de Carrera Gestor de Referencias Bibliográficas Integrado Escuela Politécnica Superior de Albacete (UCLM) Autora: Laura Ruiz Navarro Tutores:
LENGUAJES DE PROGRAMACIÓN
“ReTaskXML: Especificación de modelos de tareas a partir de especificaciones de interfaces de usuario Universidad de Castilla-La Mancha Escuela Politécnica.
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
FRAMEWORK VS Código fuente
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
Programación Java y Desarrollo de Aplicaciones
MATLAB Adriana Ruiz Martínez. Mario Cesar Taracena Contreras.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Facultad de Ingeniería
Tecnología de la Información y Comunicación 1
8.4 Toolbox de Matlab.
Aulas virtuales.
Metodología de la programación
COMANDOS PRINCIPALES DE VISUAL BASIC 6.0
UNIDAD 7 “OTROS PARADIGMAS DE PROGRAMACIÓN“ LI & MSC OSCAR RAMIREZ CORTÉS Universidad de la Huasteca Veracruzana.
Jairo Pinto Ing. sistemas
Software.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Clasificación de software
Gestión de proyectos fin de carrera
Las computadoras Centro de bachillerato tecnológico industrial y de servicios N°80 Ing. Cecilio Rigoberto Mukul Vargas.
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
UNIDAD 1 Introducción a la Programación OBJETIVO: El estudiante identificará los elementos Básicos de todo lenguaje de programación. Comparando las posibles.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
INGENIERIA DE SOFTWARE
Tendencia De Los Sistemas Operativos
Proceso de desarrollo de Software
Programación Orientada a Objetos: CLASES Y OBJETOS
LABORATORIO VIRTUAL DE TVAD de RTVV GABINETE I+D+i.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
ANÁLISIS Y DESARROLLO DE UNA APLICACIÓN INTERACTIVA PARA TELEVISIÓN DIGITAL MEDIANTE EL USO DEL API JAVA TV POR: David Jarrín.
INVESTIGACION DE TEMARIO JOSE LUIS VEGA MERINO.  1.2. Requerimientos de instalación.  Microsoft Windows 7 Professional y Microsoft Windows 7 Ultimate.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Transcripción de la presentación:

1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento de Arquitectura de los Computadores, Automática, Electrónica y Telecomunicaciones. Universidad de Deusto.

2 Motivación El desarrollo de la API de programación “joPAS” surge de la necesidad del grupo de investigación PAS de proporcionar a sus algoritmos de un interface de usuario. La finalidad de “joPAS” es proporcionar una herramienta que permita el rápido desarrollo de aplicaciones. La API “joPAS” permite no tener que reimplementar el código desarrollado en OCTAVE. Diseño atractivo de prácticas de laboratorio de procesado digital de señal

3 ÍNDICE 1.Octave 2.Java 3.Diseño 4.Metodología de trabajo 5.Estructura de la API 6.Ejemplos 7.Resultados y conclusiones

4 OCTAVE I Octave es un lenguaje de alto nivel para el cálculo numérico. Sus principales diferencias con otros lenguajes de programación. Operaciones matriciales nativas. Operaciones con números complejos nativas Lenguaje interpretado.

5 OCTAVE II Octave es el lenguaje ideal para el desarrollo de algoritmos de procesado de señal, procesado digital de imagen, sistemas de control... Dispone de multitud de toolboxes que permiten al usuario evitar tener que comenzar desde cero al trabajar en una temática en concreto. Esta clase de toolboxes, tan especializados no se encuentran en otros lenguajes de programación, por ejemplo en java.

6 Desventajas de OCTAVE Octave es un lenguaje de programación interpretado. No dispone de entorno gráfico. Los algoritmos desarrollados y validados en Octave generalmente se tienen que recodificar en otro lenguaje para obtener aplicaciones finales de usuario.

7 JAVA Lenguaje de programación que fue diseñado para ser independiente de la plataforma. Tiene una sintaxis más sencilla que C++. Gestión sencilla de la memoria, gracias a la robusta maquina virtual. Multihilo para aplicaciones de alto rendimiento que necesiten realizar actividades en paralelo. Es más complicado programar cálculos científicos en java que en otros lenguajes de programación específicos para dicha tarea.

8 Diseño Tomando como premisa la necesidad de reutilizar el código desarrollado en Octave, en vez de reescribirlo en otro lenguaje de programación, y también considerando la necesidad de disponer de interfaces gráficos de usuario, la mejor propuesta es la siguiente: –El interface de usuario se implementa en JAVA, manteniendo el cálculo científico en Octave. –La API joPAS se utiliza como nexo de unión entre JAVA y Octave. –joPAS permite el intercambio de variables entre los dos lenguajes de programación además de la ejecución de sentencias de Octave desde JAVA.

9 Metodología de trabajo

10 Estructura de la API joPAS La API joPAS contiene numerosas clases, las más importantes son las siguientes: –Jopas  Esta es la clase fundamental de la API, es la encargada de gestionar la comunicación con Octave mediante tres métodos, load, save y execute. –Matrix  Esta clase contiene el tipo de datos que entiende la clase jopas. Esta clase es un contenedor de matrices, que pueden ser reales o complejas. La clase jopas admite en el método load ese tipo de datos y en el método save siempre devuelve un objeto tipo Matrix. –JopasLabel  Esta clase es una reimplementación de la clase JLabel de Java, la cual tiene un método importante llamado print. El método print se encarga de realizar la representación grafica de una señal en el label.

11 Ejemplo double a = 2; Matrix mA= new Matrix (a,"a"); jopas.Load(mA); jopas.execute(“b=a+1”); Matrix mB = jopas.Save("b");

12 Ejemplo de un filtro Chevichev

13 Sentencias de Octave para el diseño de un filtro [N,W]=cheb1ord(FC/10000,FR/10000,R,A); [B,A]=cheby1(N,R,W); [H,F]=freqz(B,A,512,20000); modulodB=20*log10(abs(H)); fase=unwrap(angle(H)); Fc=W*10000;

14 Estructura de la API joPAS La interface de usuario consta de: Dos JopasLabel, en el superior se representará el módulo de la respuesta frecuencial y en el inferior se representará la fase de la respuesta frecuencial del filtro Cuatro jTextField en los que se introducirá los siguientes parámetros. 1.Frecuencia de corte del filtro. 2.Frecuencia de rechazo del filtro. 3.Rizado en la banda de paso. 4.Atenuación de la banda de rechazo. Dos jTextField en los que se visualizarán los siguientes datos: 1.Orden del filtro 2.Frecuencia de corte del filtro diseñado. Un botón para lanzar el proceso de diseño del filtro. En el método de actionPerformed se realizarán las llamadas necesarias para implementar el filtro.

15 Código de la Demo joPAS //Read the values of the input textFields of the GUI String FC = jTFFrecCorte.getText(); String FR = jTFFrecRechazo.getText(); String R = jTFRizado.getText(); String A = jTFAtenuacion.getText(); //Generate de OCTAVE variables jopas.Load(Double.parseDouble(FC), "FC"); jopas.Load(Double.parseDouble(FR), "FR"); jopas.Load(Double.parseDouble(R), "R"); jopas.Load(Double.parseDouble(A), "A"); //Executes the Octave commands using local variables jopas.Execute("[N,W]=cheb1ord(FC/10000,FR/10000, R, A )"); jopas.Execute("[B,A]=cheby1(N," + R + ",W)"); jopas.Execute("[H,F]=freqz(B,A,512,20000)"); jopas.Execute("modulodB=20*log10(abs(H))"); jopas.Execute("fase=unwrap(angle(H))"); jopas.Execute("Fc=W*10000");

16 Resultados –Mediante esta API se permite que la implementación del algoritmo de procesado digital de señal se realice en un lenguaje de programación indicado para esta tarea, “Octave”. –Por el otro, la implementación de la interfaz de usuario en “Java”, un lenguaje de programación más indicado para este tipo de tareas. –Gracias a esta división entre la parte algorítmica y la de visualización se consigue que las aplicaciones se diseñen de una forma más rápida.

17 Resultados II –Gracias al uso de la API joPAS en el desarrollo de prácticas de procesado de señal se ha conseguido aumentar la motivación de los alumnos –Más alumnos han mostrado interés en realizar sus proyectos de fin de carrera en el área de procesado de señal. –dsPICgp –Diagnóstico de patologías a partir de imágenes de densitometrías óseas

18 Gracias por su atención