42
SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS 55 4. LA APLICACIÓN En este capítulo llegamos por fin al nivel más alto de todos, el nivel de usuario. En este capítulo describiremos los objetivos de nuestro trabajo así como el funcionamiento de nuestra aplicación. 4.1 OBJETIVOS Y REQUISITOS El objetivo principal de esta aplicación no es servir para el cálculo de complejos procesos en tiempo discreto, sino de ayudar al aprendizaje y comprensión de los procesos y cálculos de este tipo de señales. Será, por tanto, una aplicación en la que primen la facilidad de uso y la intuitividad frente a la eficiencia en el cálculo de resultados. Como en todo proyecto de desarrollo software, como paso previo a la edición del código, se han establecido unos requisitos básicos que la aplicación deberá cumplir con objeto de ser validada. Estos criterios son los siguientes: Interfaz gráfica: La interactuación con la aplicación debe ser lo más gráfica posible, permitiendo al usuario configurar los cálculos que necesite mediante esta interfaz, sin necesidad de ejecutar complejas instrucciones en línea de comando. Facilidad de uso: La aplicación debe ser lo más intuitiva posible, requiriendo poco tiempo de adiestramiento para comenzar a utilizarla. El usuario no debe desmotivarse al primer contacto con la aplicación debido a su complejidad. Implementación de estructuras: Si bien no debe ser la función principal ni estar optimizada para ello, debe permitir el cálculo de estructuras simples. Implementación de operaciones básicas: Las operaciones básicas mínimas que debe contener la aplicación son: suma, desplazamiento en el tiempo, multiplicación por escalar y convolución. Implementación de operaciones en frecuencia: La aplicación debe ofrecer al usuario la posibilidad de realizar cálculos así como visualizar el espectro en frecuencia de las secuencias calculadas dentro de la aplicación.

PFC José María Paredes Lorenzo

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

55

4. LA APLICACIÓN

En este capítulo llegamos por fin al nivel más alto de todos, el nivel de

usuario. En este capítulo describiremos los objetivos de nuestro trabajo así

como el funcionamiento de nuestra aplicación.

4.1 OBJETIVOS Y REQUISITOS

El objetivo principal de esta aplicación no es servir para el cálculo de

complejos procesos en tiempo discreto, sino de ayudar al aprendizaje y

comprensión de los procesos y cálculos de este tipo de señales. Será, por

tanto, una aplicación en la que primen la facilidad de uso y la intuitividad

frente a la eficiencia en el cálculo de resultados.

Como en todo proyecto de desarrollo software, como paso previo a la

edición del código, se han establecido unos requisitos básicos que la

aplicación deberá cumplir con objeto de ser validada. Estos criterios son los

siguientes:

• Interfaz gráfica: La interactuación con la aplicación debe ser lo más

gráfica posible, permitiendo al usuario configurar los cálculos que

necesite mediante esta interfaz, sin necesidad de ejecutar complejas

instrucciones en línea de comando.

• Facilidad de uso: La aplicación debe ser lo más intuitiva posible,

requiriendo poco tiempo de adiestramiento para comenzar a

utilizarla. El usuario no debe desmotivarse al primer contacto con la

aplicación debido a su complejidad.

• Implementación de estructuras: Si bien no debe ser la función

principal ni estar optimizada para ello, debe permitir el cálculo de

estructuras simples.

• Implementación de operaciones básicas: Las operaciones básicas

mínimas que debe contener la aplicación son: suma, desplazamiento

en el tiempo, multiplicación por escalar y convolución.

• Implementación de operaciones en frecuencia: La aplicación debe

ofrecer al usuario la posibilidad de realizar cálculos así como

visualizar el espectro en frecuencia de las secuencias calculadas

dentro de la aplicación.

Page 2: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

56

• Comparativa de resultados: La aplicación debe ofrecer al usuario la

posibilidad de realizar comparativas entre diferentes secuencias de

manera rápida y sencilla.

• Extensibilidad: Este requisito se refiere al código fuente desarrollado.

La aplicación debe ser fácilmente modificable, permitiendo añadir

nuevas operaciones y funcionalidades de manera rápida y sencilla.

Debe seguir el criterio de modularidad que se le exige al desarrollo

software.

4.2 HERRAMIENTAS UTILIZADAS

Para realizar el desarrollo de una aplicación Java se necesita, como

herramienta fundamental el kit de desarrollo de Java (Software

Development Kit, SDK) y el entorno de ejecución de Java (Java Runtime

Environment, JRE). Todo ello ejecutado bajo entorno Windows 7. Aunque

existen SDK/JRE específicos para otros sistemas operativos, como por

ejemplo Linux, me he decantado por ejecutarlo bajo Windows 7 por la

sencilla razón de que el soporte a Windows es mucho mayor en la red de

redes y mi conocimiento del entorno Windows es mayor que el de Linux.

El SDK incluye un compilador por línea de comandos y como editor se

puede utilizar cualquier editor de texto plano, como por ejemplo, el Bloc de

Notas de Windows. No obstante, a pesar de que estas herramientas son las

únicas suficientes para editar una aplicación en Java, la edición del código

fuente en un editor de texto plano y la compilación del código de una

aplicación de cierta envergadura puede resultar bastante árida, como se

puede comprobar en las imágenes siguientes.

Page 3: PFC José María Paredes Lorenzo

SOFTWARE PARA

Es por esta razón por la que exi

desarrollo integrados (Integrated Development Environment, IDE). Para el

caso que nos ocupa, existen dos IDE fundamentales:

• Eclipse: Desarrollado originalmente por IBM y mantenido en la

actualidad por la Fundación Eclipse. E

tanto para desarrollos en Java como para muchos otros

desarrollos en lenguajes diferentes. Es un IDE de Software Libre

licenciado bajo la Eclipse Public License.

• Netbeans: Auspiciado por Sun Microsystems, es un proyecto de

código abierto programado netamente en Java. Su principal

utilidad es la programación en Java, aunque también se pueden

realizar desarrollos en otros lenguajes de programación. Está

licenciado bajo la GPL versión 2.

Debido a mi mayor conocimiento del IDE Ne

el desarrollo de la aplicación íntegramente en dicho entorno.

En el momento de la edición de la aplicación

últimas versiones de las herramientas que se han descrito, siendo estas las

que se han utilizado para desarrollarla:

PARA CÁLCULO Y APRENDIZAJE DE SEÑALESDISCRETAS

57

Es por esta razón por la que existen en el mercado entornos de

desarrollo integrados (Integrated Development Environment, IDE). Para el

caso que nos ocupa, existen dos IDE fundamentales:

: Desarrollado originalmente por IBM y mantenido en la

actualidad por la Fundación Eclipse. Es el IDE por excelencia,

tanto para desarrollos en Java como para muchos otros

desarrollos en lenguajes diferentes. Es un IDE de Software Libre

licenciado bajo la Eclipse Public License.

: Auspiciado por Sun Microsystems, es un proyecto de

abierto programado netamente en Java. Su principal

utilidad es la programación en Java, aunque también se pueden

realizar desarrollos en otros lenguajes de programación. Está

licenciado bajo la GPL versión 2.

Debido a mi mayor conocimiento del IDE Netbeans, he decidido realizar

el desarrollo de la aplicación íntegramente en dicho entorno.

En el momento de la edición de la aplicación eran las siguientes las

últimas versiones de las herramientas que se han descrito, siendo estas las

para desarrollarla:

SEÑALES

sten en el mercado entornos de

desarrollo integrados (Integrated Development Environment, IDE). Para el

: Desarrollado originalmente por IBM y mantenido en la

s el IDE por excelencia,

tanto para desarrollos en Java como para muchos otros

desarrollos en lenguajes diferentes. Es un IDE de Software Libre

: Auspiciado por Sun Microsystems, es un proyecto de

abierto programado netamente en Java. Su principal

utilidad es la programación en Java, aunque también se pueden

realizar desarrollos en otros lenguajes de programación. Está

tbeans, he decidido realizar

eran las siguientes las

últimas versiones de las herramientas que se han descrito, siendo estas las

Page 4: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

58

• SDK/JRE 1.7.45

• Netbeans 7.3.1

4.3 MANUAL DE USUARIO

Para conocer en profundidad el código desarrollado para esta aplicación,

es fundamental conocer el funcionamiento de la aplicación a alto nivel. Por

esta razón, además de por facilitar al usuario la utilización de la aplicación,

se describe el funcionamiento y posibilidades de la aplicación en esta

sección.

4.3.1 Pantalla Inicial

La aplicación dispone de dos medios de ejecución diferentes:

• Applet

• Standalone

La ejecución por medio de Applet se puede realizar desde cualquier Web

Browser habilitado para ejecutar la JVM. En la siguiente figura se puede

observar un ejemplo de ejecución de Applet dentro del conocido Google

Chrome.

Este medio de ejecución tiene el pequeño inconveniente del tiempo de

cálculo que, para cálculos algo complejos puede ser algo elevado. Como

ventaja principal de este medio de ejecución cabe destacar la posibilidad de

ser incrustado en cualquier web como por ejemplo la Enseñanza Virtual y

permitir el acceso a decenas de usuarios con un simple click, sin necesidad

Page 5: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

59

de realizar descargas ni instalaciones de archivos. También permite al

usuario ejecutar siempre la última versión instalada en el Servidor.

Por otro lado, está la aplicación Standalone, es decir, una aplicación que

permite la posibilidad de ejecutar el programa sin necesidad de Web

Browser ni conectividad a Internet. Este medio de ejecución tiene como

principal ventaja el menor tiempo de cálculo necesario para desarrollar

cálculos complejos. La principal desventaja que tiene este medio de

ejecución es que requiere la participación activa del usuario para ejecutar

siempre la última versión (descargando la versión del servidor e

instalándola en su propio equipo).

Para ejecutar la aplicación Standalone tan sólo basta con hacer doble

click en el archivo TDSApplication (ver figura siguiente). Una vez realizada

esta acción, aparecerá la pantalla inicial de la aplicación.

En la figura siguiente se muestra la pantalla inicial que aparecerá como

consecuencia de ejecutar el archivo TDSApplication.

Page 6: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

60

Como se puede observar en las figuras anteriores, el parecido entre

las pantallas iniciales de ambos medios de ejecución es casi idéntico. Esto

permite que la experiencia de usuario no se vea alterada dependiendo del

medio de ejecución que elija.

Una vez se ha realizado el acceso a la aplicación por cualquiera de los

dos medios descritos anteriormente, basta con hacer click en el botón Start

Application para acceder a la pantalla principal de la aplicación.

4.3.2 Pantalla Principal

En la figura siguiente se puede comprobar el aspecto que tiene la

pantalla principal de la aplicación.

• En 1 tenemos la Barra de Título. En ella se recoge el nombre de la

aplicación y la versión de la misma.

• En 2 tenemos los Botones de Control (en este caso de Windows).

Estos botones permiten realizar el control básico de la ventana

como minimizar, maximizar y cerrar.

• En 3 tenemos la Barra de Menú. En ella están contenidos todos los

menús que permiten el control de la aplicación. Los menús son los

siguientes (en apartados posteriores se explicará la utilidad de

cada uno):

Page 7: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

61

- Application

- Actions

- Edit

- Others

• En 4 tenemos el Panel de Operaciones. En él se pueden insertar

las cajas con las distintas operaciones y cálculos a realizar. Si se

realiza click con el botón derecho del ratón en ella, aparece un

menú desplegable ofreciéndonos distintas opciones según sobre el

elemento sobre el que hagamos click.

4.3.3 Barra de Menús

Los menús disponibles de la Barra de Menús permiten ejercer el control

casi absoluto de la aplicación. A continuación se mostrarán imágenes de

cada uno de los menú y se detallarán las distintas acciones que permiten

ejercer.

4.3.3.1 Menú Application

El menú Application tiene como único elemento disponible la acción Exit.

Al hacer click en esta acción se cierran automáticamente la Pantalla

Principal y la Pantalla Inicial, saliendo por completo de la aplicación.

Page 8: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

62

4.3.3.2 Menú Actions

El segundo de estos menús es el menú Actions.

Este menú contiene los siguientes elementos, activos dependiendo del

elemento seleccionado en el Panel de Operaciones:

• Add: Al seleccionar este elemento se abre un cuadro de diálogo

que permite añadir operaciones y elementos al Panel de

Operaciones.

• Delete: Permite borrar el elemento seleccionado del Panel de

Operaciones.

• Show Cartesian: Permite visualizar la parte real e imaginaria de la

secuencia de manera gráfica.

• Show Polar: Permite visualizar el módulo y fase de la secuencia de

manera gráfica.

• Print Numeric Values: Permite visualizar la parte real, parte

imaginaria, módulo y fase de la secuencia en formato tabulado.

• Properties: Al seleccionar este elemento se abre un cuadro de

diálogo que permite visualizar y modificar las distintas

propiedades del elemento seleccionado en el Panel de

Operaciones.

Page 9: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

63

4.3.3.3 Menú Edit

El tercero de estos menús es el menú Edit, que tiene como único

elemento disponible la acción Options.

4.3.3.4 Menú Others

El cuarto y último menú disponible es el menú Others, el cual tiene

sólo dos opciones disponibles.

Page 10: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

64

Estas opciones son las siguientes:

• About: Esta acción abre un cuadro de diálogo que ofrece datos

básicos de la aplicación como la versión de la aplicación, autor,

año de edición, etc.

• Contact: Esta acción abredirectamente una ventana de nuevo

e-mail del gestor de correo electrónico predeterminado del

sistema, permitiendo al usuario ponerse en contacto con el

desarrollador de la aplicación.

4.3.4 Menús desplegables

Los menús desplegables aparecen al hacer click con el botón derecho del

ratón sobre el Panel de Operaciones o sobre cualquier elemento del Panel

de Operaciones. Dependiendo del elemento seleccionado o no seleccionado

en el Panel de Operaciones, aparecen diferentes menús desplegables.

4.3.4.1 Sin selección

Si no hay ningún elemento seleccionado, aparece un desplegable con las

siguientes opciones disponibles:

Page 11: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

65

• Add: Al seleccionar este elemento se abre un cuadro de

diálogo que permite añadir operaciones y elementos al Panel

de Operaciones.

• Close: Cierra el menú desplegable.

• About: Esta acción abre un cuadro de diálogo que ofrece datos

básicos de la aplicación como la versión de la aplicación, autor,

año de edición, etc.

4.3.4.2 Seleccionado Plot o Plot Compare

Si al hacer click con el botón derecho del ratón está seleccionada una

caja Plot o Plot Compare, aparece un menú desplegable con las siguientes

opciones:

• Properties: Al seleccionar este elemento se abre un cuadro de

diálogo que permite visualizar y modificar las distintas

propiedades del Plot seleccionado en el Panel de Operaciones.

• Show Cartesian Plot: Permite visualizar la parte real e

imaginaria de la secuencia de manera gráfica.

• Show Polar Plot: Permite visualizar el módulo y fase de la

secuencia de manera gráfica.

• Print Numeric Values: Permite visualizar la parte real, parte

imaginaria, módulo y fase de la secuencia en formato

tabulado.

Page 12: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

66

• Delete: Permite borrar el elemento seleccionado del Panel de

Operaciones.

• Close Cierra el menú desplegable.

• About: Esta acción abre un cuadro de diálogo que ofrece datos

básicos de la aplicación como la versión de la aplicación, autor,

año de edición, etc.

4.3.4.3 Seleccionado Edge

Si al hacer click con el botón derecho del ratón está seleccionado un

Edge, aparece un menú desplegable con las siguientes opciones:

• Delete: Permite borrar el elemento seleccionado del Panel de

Operaciones.

• Close Cierra el menú desplegable.

• About: Esta acción abre un cuadro de diálogo que ofrece datos

básicos de la aplicación como la versión de la aplicación, autor,

año de edición, etc.

Page 13: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

67

4.3.4.4 Seleccionados otros elementos

Si al hacer click con el botón derecho del ratón está seleccionado

cualquier otro elemento, como por ejemplo una secuencia, un filtro o

cualquier otra operación que no sea ni un Plot ni un Edge, aparece un menú

desplegable con las siguientes opciones:

• Properties: Al seleccionar este elemento se abre un cuadro de

diálogo que permite visualizar y modificar las distintas

propiedades del elemento seleccionado en el Panel de

Operaciones.

• Delete: Permite borrar el elemento seleccionado del Panel de

Operaciones.

• Close Cierra el menú desplegable.

• About: Esta acción abre un cuadro de diálogo que ofrece datos

básicos de la aplicación como la versión de la aplicación, autor,

año de edición, etc.

Page 14: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

68

4.3.5 Diálogos

Los cuadros de diálogo principales son los siguientes:

• Add

• Show Cartesian

• Show Polar

• Print Numeric Values

• Color Chooser Menu

• Properties

• About

• Contact

• Options

4.3.5.1 Add

Al cuadro de diálogo Add se puede acceder a través de Actions�Add o a

través del menú desplegable del Panel de Operaciones, siempre y cuando

no haya ningún elemento del Panel de Operaciones seleccionado.

Como se puede ver en la figura siguiente, el cuadro de diálogo está

estructurado en forma de árbol y dividido en diferentes categorías.

Page 15: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

69

Las diferentes categorías del árbol y los diferentes módulos que

permite insertar este diálogo se describen a continuación.

• Source

- Sequence

- Frequency Sequence

- Fast Sequence

- Frequency Fast Sequence

• Sink

- Plot

- Plot Compare

• Basic Operations

- Addition

- Convolution

- Circular Convolution

- Delay

- Circular Delay

- Time Invert

- Circular Time Invert

- Multiplication by a number

- Multiplication

- Power

- Conjugation

- Symmetric Conjugate Part

- Antisymmetric Conjugate Part

- FIR Window

Page 16: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

70

• Frequency Operations

- FFT

- Inverse FFT

4.3.5.2 Show Cartesian

Al cuadro Show Cartesian se puede acceder a través de Actions�Show

Cartesian o a través del menú desplegable del Panel de Operaciones,

siempre y cuando esté seleccionado un elemento Plot o Plot Compare del

Panel de Operaciones seleccionado. También se puede acceder a través del

cuadro de diálogo Properties de un elemento Plot o Plot Compare.

En este cuadro se muestran las distintas muestras de la secuencia de

entrada al cuadro Plot en formato parte real y parte imaginaria. A la

izquierda se muestra la parte real y a la derecha la parte imaginaria. En

caso de ser un Plot Compare, se muestran en la parte superior las muestras

de la entrada 1 y en la parte inferior las muestras de la entrada 2.

4.3.5.3 Show Polar

Al igual que el cuadro anterior, al cuadro Show Polar se puede acceder a

través de Actions�Show Polar o a través del menú desplegable del Panel de

Operaciones, siempre y cuando esté seleccionado un elemento Plot o Plot

Compare del Panel de Operaciones seleccionado. También se puede acceder

a través del cuadro de diálogo Properties de un elemento Plot o Plot

Compare.

En este cuadro se muestran las distintas muestras de la secuencia de

entrada al cuadro Plot en formato módulo y fase. A la izquierda se muestra

el módulo y a la derecha la fase. En caso de ser un Plot Compare, se

muestran en la parte superior las muestras de la entrada 1 y en la parte

inferior las muestras de la entrada 2.

Page 17: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

71

4.3.5.4 Print Numeric Values

Al cuadro de diálogo Print Numeric Values se puede acceder a través de

Actions�Print Numeric Values o a través del menú desplegable del Panel de

Operaciones, siempre y cuando esté seleccionado un elemento Plot o Plot

Compare del Panel de Operaciones seleccionado.

Este cuadro de diálogo muestra de manera tabulada las distintas

muestras de la secuencia de entrada al cuadro Plot en formato parte real y

parte imaginaria o módulo y fase. En caso de ser un Plot Compare, se

muestran en la parte izquierda de la tabla los valores de la entrada 1 y en la

parte derecha de la tabla los valores de la entrada 2.

Page 18: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

72

4.3.5.5 Color Chooser Menu

Al cuadro de diálogo Color Chooser Menu tan sólo es posible acceder a

través del cuadro de diálogo Properties de un elemento Plot o Plot Compare.

Se accede clicando sobre los cuadros Select Color de este menú. Su función

básica es la de seleccionar el color que se quiere asignar a la gráfica o al

fondo de la gráfica con la que se visualizan las secuencias.

Permite no sólo seleccionar colores siguiendo la escala normal RGB, sino

también seleccionarlos utilizando otras escalas como la HSV o la HSL, por

poner un ejemplo.

4.3.5.6 Properties

De todos los cuadros de diálogos, el cuadro Properties es el que tiene

mayor cantidad de visualizaciones diferentes. Dependiendo del elemento

seleccionado en el panel de operaciones, el diálogo Properties se presenta

de manera diferente al usuario, por lo que nos vamos a detener un poco

más en este apartado y vamos a presentar las diferentes visualizaciones

que tiene.

Page 19: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

73

4.3.5.6.1 Properties básico

El menú Properties básico contiene los siguientes campos:

• Operation: Este campo no editable indica el tipo de operación

seleccionado.

• Title: Este campo, que sí es editable, muestra el texto interno del

elemento. Al modificar este campo, se modifica la indicación

mostrada en el Panel de Operaciones de este elemento.

Estos campos son comunes a todos los diálogos Properties y funcionan

de manera idéntica.

Este cuadro básico se muestra para los elementos que no tienen partes

configurables más allá del texto que se muestra sobre la caja del Panel de

Operaciones. Estos elementos son:

• Addition

• Convolution

• Time Invert

• Multiplication

• Conjugation

• Symmetric Conjugate Part

• Antisymmetric Conjugate Part

4.3.5.6.2 Properties Sequence y Frequency Sequence

Este es el cuadro de diálogo Properties de un elemento Sequence y

Frequency Sequence. Además de los ya mencionados campos Operation y

Title tiene los siguientes otros campos y botones:

Page 20: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

74

• Min. Time: Este campo puede tomar valores enteros y siempre

menores o iguales que Max. Time. Con este campo se configura el

tiempo donde comienza la secuencia.

• Max. Time: Este campo puede tomar valores enteros y siempre

mayores o iguales que Min. Time. Con este campo se configura el

tiempo donde termina la secuencia.

• Type: Este campo es una lista desplegable donde se puede

seleccionar el tipo de secuencia que queremos obtener. Los tipos

de secuencias disponibles son:

- All Zeros

- All Ones

- Complex e

- Delta

- Exponential

- Inverted Step

- N

- Sinc

- Sine

- Step

• Customized: Este toggle permite personalizar los valores de la

secuencia original clicando sobre la tabla de la derecha.

• Reset: En caso de ser modificados los valores de la secuencia, al

hacer click en este botón, deshacemos la modificación y se

devuelven los valores de la secuencia a su valor por defecto.

• Parameters: En caso de ser necesario algún parámetro más,

aparecen las diferentes opciones debajo de este epígrafe. Las

secuencias que necesitan parámetros extra son:

- Complex e

- Exponential

- Sinc

- Sine

• Tabla de valores: Esta tabla muestra la parte real e imaginaria de

la secuencia seleccionada. En caso de estar pulsado el toggle

Customized, se pueden modificar sus valores haciendo doble click

en el campo que se quiera modificar e introduciendo el valor

deseado en el mismo. Estos valores pueden ser de tamaño

double.

Page 21: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

75

4.3.5.6.3 Properties Fast Sequence y Frequency Fast Sequence

Page 22: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

76

Este es el cuadro de diálogo Properties de un elemento Fast Sequence y

Frequency Fast Sequence. A diferencia del cuadro de diálogo del Sequence

normal, este permite al usuario introducir una secuencia personalizada de

manera rápida a través del teclado. Es por esto por lo que sólo tiene un

único campo, además de los ya mencionados Operation y Title; este campo

es el campo Values.

El método de introducción de valores tiene el siguiente formato:

zero_position; complex0, complex1, complex2, complex3,…

El primer campo, zero_position, indica la posición del origen del eje

temporal respecto de la cadena de caracteres posterior. Si queremos indicar

que el cero temporal está en el elemento complex1, introduciremos 1. Si

queremos indicar que el cero temporal está en el elemento complex0,

introduciremos 0. Si por el contrario queremos indicar que el cero está

ubicado más a la izquierda del complex0, introduciremos el valor numérico

negativo que indique la cantidad de posiciones que queremos correr la

secuencia hacia la derecha.

Por su parte, los campos complex indican el valor de cada una de las

muestras de la secuencia. El formato es el siguiente:

± Real ± Imaginario i

Cualquiera de las dos e inclusive las dos partes que componen el campo

complex pueden estar ausentes. Así, para introducir el valor cero, se puede

introducir el carácter numérico “0” o no introducir nada, por poner un

ejemplo. También pueden estar intercambiadas sus posiciones,

introduciendo primero el campo imaginario y después el campo real. El

carácter para denotar el valor imaginario es i latina minúscula “i” (no

confundir con el carácter jota minúscula “j”).

El campo zero_position está separado del resto de valores por el carácter

delimitador punto y coma “;”, mientras que el resto de valores complex

están separados entre sí por el carácter delimitador coma “,”.

En caso de incumplir estas simples normas de formato y tratar de

introducir esta secuencia errónea, el sistema nos indicará del error de la

siguiente manera.

Page 23: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

77

4.3.5.6.4 Properties Plot y Plot Compare

Este es el cuadro de diálogo Properties de un elemento Plot o Plot

Compare. Además de los ya mencionados campos Operation y Title tiene los

siguientes otros campos y botones:

• Plot Cartesian: Al hacer click en este botón se nos muestra una

ventana nueva con un cuadro Show Cartesian.

• Plot Polar: Al hacer click en este botón se nos muestra una

ventana nueva con un cuadro Show Polar.

• Pestañas de selección: Haciendo click en estas pestañas

accedemos a la configuración de cada uno de los elementos que

componen los cuadros Show Cartesian y Show Polar (parte real,

parte imaginaria, módulo y fase).

• Line Color: Haciendo click en este elemento se nos despliega un

diálogo que permite elegir el color con el que se quieren

representar las muestras de la gráfica.

• Background Color: Haciendo click en este elemento se nos

despliega un diálogo que permite elegir el color con el que se

quiere representar el fondo de la gráfica.

• Auto X: Al activar esta casilla permitimos que el sistema calcule el

máximo y el mínimo del eje X entre los cuales representar la

gráfica.

Page 24: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

78

• Auto Y: Al activar esta casilla permitimos que el sistema calcule el

máximo y el mínimo del eje Y entre los cuales representar la

gráfica.

• Min. X: Si la casilla Auto X está desactivada, se puede elegir

manualmente el mínimo del eje X que se quiere representar en la

gráfica.

• Max. X: Si la casilla Auto X está desactivada, se puede elegir

manualmente el máximo del eje X que se quiere representar en la

gráfica.

• Min. Y: Si la casilla Auto Y está desactivada, se puede elegir

manualmente el mínimo del eje Y que se quiere representar en la

gráfica.

• Max. Y: Si la casilla Auto Y está desactivada, se puede elegir

manualmente el máximo del eje Y que se quiere representar en la

gráfica.

Page 25: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

79

4.3.5.6.5 Properties Circular Convolution

Este es el cuadro de diálogo Properties de un Circular Convolution.

Además de los ya mencionados campos Operation y Title tiene otro campo

más, el campo N points. Este indica el módulo de la operación de

convolución circular.

4.3.5.6.6 Properties Circular Time Invert

Este es el cuadro de diálogo Properties de un Circular Time Invert.

Además de los ya mencionados campos Operation y Title tiene otro campo

más, el campo N points. Este indica el módulo de la operación de inversión

temporal circular.

Page 26: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

80

4.3.5.6.7 Properties Delay y Circular Delay

Este es el cuadro de diálogo Properties de un elemento Delay o Circular

Delay. Además de los ya mencionados campos Operation y Title tiene otro

campo más, el campo Delay.

El campo Delay tan sólo permite introducir números enteros y nos

permite desplazar hacia la izquierda o la derecha tantas posiciones como se

indiquen en este campo. Para desplazar una secuencia hacia la derecha

basta con introducir un entero positivo, mientras que para desplazarla hacia

la izquierda bastaría con introducir un entero negativo.

El campo N points sólo está disponible para el elemento Circular Delay e

indica el módulo de la operación de desplazamiento circular.

4.3.5.6.8 Properties Multiplication by a number

Este es el cuadro de diálogo Properties de un elemento Multiplication by

a number.

Al igual que el cuadro de diálogo anterior, tan sólo tiene un campo

adicional a los de Operation y Title; este campo es el campo Constant. El

campo Constant está dividido en dos, parte real y parte imaginaria, y

permite introducir la constante (compleja) por la cual se multiplicará la

secuencia de entrada a este elemento.

Page 27: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

81

4.3.5.6.9 Properties Power

Este es el cuadro de diálogo Properties de un elemento Power.

Al igual que el cuadro de diálogo anterior, tan sólo tiene un campo

adicional a los de Operation y Title; este campo es el campo Factor. El

campo Factor está dividido en dos, parte real y parte imaginaria, y permite

introducir el factor (complejo) por al cual se elevará la secuencia de entrada

a este elemento.

4.3.5.6.10 Properties FFT e Inverse FFT

Este es el cuadro de diálogo Properties de un bloque FFT y otro Inverse

FFT. Además de los ya mencionados campos Operation y Title tiene otro

Page 28: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

82

campo más, el campo N points. Este indica el módulo de la operación de

cálculo de la FFT y la FFT inversa.

4.3.5.6.11 Properties FIR Window

Este es el cuadro de diálogo Properties de un elemento FIR Window. Este

cuadro de diálogo guarda ciertas similitudes con el cuadro de diálogo de un

elemento Sequence. Este cuadro de diálogo permite modificar la respuesta

impulsiva del filtro.

Además de los ya mencionados campos Operation y Title tiene los

siguientes otros campos y botones:

• M: Este campo puede tomar valores enteros y siempre mayores o

iguales que 1. Con este campo se configura el tamaño de la

ventana.

• Type: Este campo es una lista desplegable donde se puede

seleccionar el tipo de ventana que queremos configurar. Los tipos

de ventanas disponibles son:

- Rectangular

- Bartlett

- Hanning

- Hamming

- Blackman

• Tabla de valores: Esta tabla muestra la parte real e imaginaria de

la ventana configurada. A diferencia de la tabla de valores del

elemento Sequence, en esta tabla no se permite modificar los

valores de la ventana FIR.

Page 29: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

83

4.3.5.7 About

Al cuadro de diálogo About se puede acceder a través de

Others�Contact o a través de cualquier menú desplegable del Panel de

Operaciones. Este cuadro de diálogo ofrece datos básicos de la aplicación

como la versión de la aplicación, autor, año de edición, etc.

Page 30: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

84

4.3.5.8 Contact

Al seleccionar Others�Contact se abre, no un cuadro de diálogo

tradicional, sino una ventana de Nuevo Mensaje de la aplicación

predeterminada de Gestión de E-Mail. En esta ventana están recogidos

todos los datos necesarios para ponerse en contacto con el desarrollador de

la aplicación.

4.3.5.9 Options

Al seleccionar Edit�Options se abre un cuadro de diálogo que permite

personalizar el número total de iteraciones a realizar cuando existe un bucle

en el grafo de operaciones del Panel de Operaciones. A mayor número de

iteraciones, mayor tiempo de cálculo y mayor cantidad de muestras

obtenidas.

Page 31: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

85

4.3.6 Bloques funcionales

4.3.6.1 Descripción

Hasta ahora hemos visto cuáles son los distintos menús de la aplicación,

pero todavía no se ha comentado nada acerca del funcionamiento de la

aplicación ni de las posibilidades que ésta tiene.

La aplicación permite realizar de manera gráfica las operaciones con

secuencias descritas en los subapartados siguientes. Cada operación está

asociada a un bloque funcional visual del Panel de Operaciones. Estos

bloques funcionales constituyen los vértices del grafo del Panel de

Operaciones.

Todos estos bloques funcionales pueden ser añadidos desde el menú

Actions�Add o desde cualquier menú desplegable al realizar click derecho

con el ratón en el Panel de Operaciones (recordemos que sin seleccionar

ningún elemento de dicho panel).

A grandes rasgos, podemos dividir los bloques funcionales en tres

grandes grupos:

• Source

• Sink

• Intermediate

4.3.6.2 Sources

Como Sources están catalogados los bloques funcionales que actúan

como fuentes de información dentro del grafo del Panel de Operaciones.

Page 32: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

86

Como tales, estos bloques funcionales tan sólo tienen salidas. Al menos un

bloque funcional de este tipo es necesario para realizar los cálculos en el

Panel de Operaciones.

4.3.6.2.1 Sequence y Fast Sequence

Este bloque funcional, con una única salida, permite la introducción de

una secuencia temporal y otra secuencia frecuencial en el Panel de

Operaciones.

4.3.6.2.2 Fast Sequence y Frequency Fast Sequence

Al igual que el bloque funcional Sequence y Frequency Sequence, este

también tiene una única salida y también permite la introducción de una

secuencia en el Panel de Operaciones. La única diferencia radica en la

manera de configurar la secuencia; mientras que el bloque Sequence

requiere de varios pasos para su configuración, el bloque Fast Sequence tan

sólo requiere introducir de manera manual los valores deseados de la

secuencia vía teclado, siendo este método de introducción más rápido que

el primero, de ahí su nombre.

4.3.6.3 Sink

Como Sink están catalogados aquellos bloques funcionales que actúan

como sumideros de información dentro del grafo del Panel de Operaciones.

Como tales, estos bloques sólo tienen entradas. Al menos un bloque

funcional de este tipo es necesario para realizar los cálculos en el Panel de

Operaciones.

Page 33: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

87

4.3.6.3.1 Plot

Al contrario que los dos bloques anteriores, este bloque funcional sólo

tiene una única entrada y, al actuar como sumidero, permite visualizar las

secuencias que en él entran de manera gráfica.

4.3.6.3.2 Plot Compare

Este bloque también actúa como sumidero de información y, a diferencia

del bloque funcional Plot, este bloque tiene dos entradas. El bloque Plot

Compare permite visualizar y comparar las dos secuencias que en él entran

de manera gráfica.

4.3.6.4 Intermediate

A diferencia de los bloques funcionales tipo Sink o tipo Source, estos

bloques funcionales combinan diferentes números de entradas y salidas (al

menos una entrada y una salida). Estos bloques no actúan ni como fuentes

ni como sumideros de información, simplemente transforman la información

que a ellos llega y la devuelven ya transformada.

Estos bloques han de estar colocados obligatoriamente entre una fuente

y un sumidero de información, aunque no es necesario que dichas fuentes o

sumideros sean nodos adyacentes a este bloque en el grafo del Panel de

Operaciones. No es imprescindible tampoco que haya ningún bloque de este

tipo aunque, si queremos realizar algún cálculo más complejos que crear

una secuencia y visualizarla, sí que son necesarios.

Page 34: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

88

4.3.6.4.1 Addition

Este bloque funcional tiene dos entradas y una salida. Como su propio

nombre indica, este bloque devuelve la suma, muestra a muestra, de las

dos secuencias de entrada.

4.3.6.4.2 Convolution

Al igual que el bloque anterior, este bloque también tiene dos entradas y

una salida. Este bloque devuelve la convolución entre las dos secuencias de

entrada.

4.3.6.4.3 Circular Convolution

Este bloque funcional realiza el cálculo de la convolución circular entre

las secuencias de entrada.

Hay que tener en cuenta que lassecuencias de entrada deben ser

causales(si no lo son se “causalizan” automáticamente multiplicándose por

la secuencia escalón).

Page 35: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

89

4.3.6.4.4 Delay

Este bloque funcional realiza el desplazamiento temporal de la secuencia

de entrada devolviendo como salida la secuencia entrante desplazada en el

tiempo.

4.3.6.4.5 Circular Delay

Este bloque funcional realiza el desplazamiento circular temporal de la

secuencia de entrada. Al igual que el bloque Circular Convolution, requiere

que la secuencia de entrada sea causal (si no lo es se “causaliza”

automáticamente multiplicándose por la secuencia escalón)

4.3.6.4.6 Time Invert

Este bloque realiza la inversión temporal de la secuencia de entrada.

4.3.6.4.7 Circular Time Invert

Este bloque realiza la inversión temporal circular de la secuencia de

entrada. La secuencia de entrada debe ser causal (si no lo es se “causaliza”

automáticamente multiplicándose por la secuencia escalón).

Page 36: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

90

4.3.6.4.8 Multiplication by a number

Este bloque realiza la multiplicación de la secuencia de entrada por un

escalar (real o complejo). La configuración del escalar se realiza dentro del

cuadro de diálogo Properties de este bloque funcional.

4.3.6.4.9 Multiplication

Este bloque realiza la multiplicación, muestra a muestra, entre las dos

secuencias de entrada, devolviendo a la salida el resultado de la misma.

4.3.6.4.10 Power

Este bloque calcula la potencia, muestra a muestra, de la secuencia de

entrada. El factor de la potencia al que se elevan las muestras se configura

en el diálogo Properties de este bloque funcional, pudiendo ser este tanto

real como complejo.

4.3.6.4.11 Conjugation

Este bloque realiza la conjugación de la secuencia de entrada.

Evidentemente, si la secuencia de entrada es real, a la salida de este bloque

se encontrará la misma secuencia que a la entrada.

Page 37: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

91

4.3.6.4.12 Symmetric Conjugate Part

Este bloque realiza el cálculo de la parte simétrica conjugada de la

secuencia de entrada. Si la secuencia de entrada es real, da como resultado

la parte par de la secuencia de entrada.

4.3.6.4.13 Antisymmetric Conjugate Part

Este bloque realiza el cálculo de la parte antisimétrica conjugada de la

secuencia de entrada. Si la secuencia de entrada es real, da como resultado

la parte impar de la secuencia de entrada.

4.3.6.4.14 FIR Window

Este bloque realiza la limitación de la secuencia de entrada

multiplicándola por la ventana elegida dentro del diálogo Properties del

bloque. Es necesario para construir un filtro FIR, pero no es suficiente sólo

con él, hay que hacer pasar la respuesta impulsiva del filtro ideal por él

para construir la respuesta impulsiva completa del filtro.

4.3.6.4.15 FFT

Este bloque realiza el cálculo de la Fast Fourier Transform, devolviendo a

su salida una secuencia cuyas muestras son el resultado de la FFT. Al igual

que si de una secuencia normal se tratase, se puede operar con esta

secuencia con los bloques funcionales anteriores.

Page 38: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

92

4.3.6.4.16 Inverse FFT

Este bloque realiza el cálculo de la FFT inversa de la secuencia de

entrada, pasando del dominio de la frecuencia a la entrada al dominio del

tiempo a la salida.

4.3.6.5 Movimientos con bloques funcionales

Una vez descritos todos los bloques funcionales procedemos a describir

los movimientos que se pueden realizar con ellos.

4.3.6.5.1 Selección

Para seleccionar un bloque funcional basta con situar el ratón encima de

él y hacer click simple con el botón izquierdo del ratón sobre él.

Automáticamente su aspecto cambiará y se podrá observar sobre él un

resaltado con 8 cuadros verdes sobre las 4 esquinas del bloque y los centros

de las aristas.

4.3.6.5.2 Añadido

Ya se ha descrito anteriormente la manera de añadir un bloque

funcional, aunque no está de más volver a explicarlo. Existen dos métodos:

• Hacer click con el botón derecho sobre cualquier espacio vacío del

Panel de Operaciones y seleccionar Add en el menú desplegable,

pudiéndose elegir en el cuadro de diálogo Add el bloque deseado.

• Sin nada seleccionado en el panel de operaciones, acceder al

menú Actions�Add, pudiéndose elegir en el cuadro de diálogo Add

el bloque deseado.

Page 39: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

93

4.3.6.5.3 Eliminado

El eliminado de un bloque funcional se puede hacer de dos maneras

diferentes.

• Haciendo click con el botón derecho del ratón sobre el bloque

funcional y seleccionar Delete en el menú desplegable.

• Haciendo click simple con el botón izquierdo del ratón sobre el

bloque funcional para seleccionarlo y pulsar en la barra de menús

Actions�Delete.

4.3.6.5.4 Desplazamiento

Para desplazar un bloque funcional basta con seleccionarlo tal y como se

ha descrito anteriormente. Una vez hecho esto ubicar el ratón encima del

bloque funcional (en cualquier zona menos en uno de los 8 cuadros verdes)

y mantener pulsado el botón izquierdo del ratón mientras se arrastra a la

zona donde se desee ubicarlo. Una vez allí, soltar el botón izquierdo del

ratón.

4.3.6.5.5 Cambio de tamaño

Para cambiar el tamaño de un bloque funcional basta con seleccionarlo

tal y como se ha descrito anteriormente. Una vez hecho esto ubicar el ratón

encima de cualquiera de los 8 cuadros verdes y mantener pulsado el botón

izquierdo del ratón mientras se arrastra hasta conseguir el tamaño deseado.

Una vez conseguido el tamaño deseado, soltar el botón izquierdo del ratón.

4.3.7 Aristas

4.3.7.1 Descripción

Las aristas son, en el grafo del Panel de Operaciones los elementos que

unen los distintos bloques funcionaleso vértices con el objeto de realizar el

trasvase de información de un bloque a otro. Estas aristas otorgan sentido

al grafo del Panel de Operaciones.

Las aristas en nuestro grafo son aristas con dirección, es decir, nuestro

grafo es un grafo dirigido, teniendo las aristas un origen y un destino.

El aspecto de las aristas es el siguiente:

Page 40: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

94

4.3.7.2 Movimientos con aristas

Una vez descritas las aristas, procederemos a describir los movimientos

que se pueden realizar con ellas.

4.3.7.2.1 Selección

Para seleccionar una arista basta con hacer click simple con el botón

izquierdo del ratón sobre ella. Una vez seleccionada, su aspecto visual

cambiará a este otro, apareciendo un cuadro verde en el centro y dos

cuadros azules a cada uno de sus extremos.

4.3.7.2.2 Añadido

Para añadir una arista basta pasar el ratón sobre el puerto de salida del

bloque funcional deseado. Al pasar el ratón se destacará en verde el puerto

de salida. En este momento basta con mantener pulsado el botón izquierdo

del ratóny arrastrar hasta el puerto de entrada de otro bloque funcional. Al

momento de pasar el ratón sobre el puerto de entrada del bloque funcional,

este se destacará en verde, entonces es el momento de soltar el botón

izquierdo del ratón.

Como restricciones al añadido de aristas tenemos las siguientes:

• Un puerto de entrada no puede actuar como salida de una arista.

• Un puerto de salida no puede actuar como entrada de una arista.

• Un puerto de entrada sólo puede tener una arista de entrada.

• Un puerto de salida puede tener tantas aristas de salida como se

quiera.

• No puede haber aristas sin conectar en el grafo (si las hay, la

aplicación dará error a la hora de realizar los cálculos).

4.3.7.2.3 Eliminado

El eliminado de una arista se puede hacer de dos maneras diferentes.

• Haciendo click con el botón derecho del ratón sobre la arista y

seleccionar Delete en el menú desplegable.

• Haciendo click simple con el botón izquierdo del ratón sobre la

arista para seleccionarla y pulsar en la barra de menús

Actions�Delete.

Page 41: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

95

4.3.7.2.4 Cambio de origen o destino

Para realizar el cambio de origen o destino de la arista habría que

seleccionar la arista tal y como se ha descrito anteriormente y, una vez

seleccionada, mantener pulsado el botón izquierdo del ratón sobre el cuadro

azul que queramos mover y arrastrar hasta el puerto de entrada o salida

deseado. Una vez el puerto se destaque en verde, soltar el botón izquierdo

del ratón.

4.3.7.2.5 Re-rutado de arista

Para cambiar la ruta que sigue la arista habría que seleccionar la arista

tal y como se ha descrito anteriormente y, una vez seleccionada, mantener

pulsado el botón izquierdo del ratón sobre el cuadro verde del centro de la

arista y arrastrar hasta la posición deseada. Una vez allí, soltar el botón

izquierdo del ratón.

4.3.7.2.6 Desplazamiento

Para mover la arista basta con seleccionar la misma como se ha

explicado anteriormente, mantener pulsado el botón izquierdo del ratón

sobre el cuerpo de la misma (cualquier punto es válido exceptuando los dos

cuadros azules de los extremos y el cuadro verde central) y arrastrar. Una

vez se ubique en el lugar deseado basta con soltar el botón izquierdo del

ratón.

Cabe destacar que este movimiento elimina la conexión con el puerto de

entrada y de salida de los bloques, por lo que habría que volver a

conectarlos de nuevo.

4.3.8 Proceso de ejecución

Para conseguir realizar los cálculos deseados habría que seguir el

siguiente proceso:

• Iniciar el applet o la aplicación.

• Pulsar el botón Start Application.

• Añadir los bloques funcionales deseados.

- Recordar que al menos una fuente y un sumidero deben ser

añadidos.

• Conectar todos los bloques funcionales.

Page 42: PFC José María Paredes Lorenzo

SOFTWARE PARA CÁLCULO Y APRENDIZAJE DE SEÑALES DISCRETAS

96

- Recordar que si existe un bloque funcional con algún puerto

sin conectar la aplicación informará del error a la hora de

visualizar los resultados.

- Recordar también que la aplicación informará de error a la

hora de visualizar los resultados en caso de que queden

aristas con al menos uno de sus extremos sin conectar.

- Recordar, por último, que en caso de montar un lazo de

realimentación entre los bloques funcionales, dicho lazo

deberá contener un retraso de al menos una muestra (hacia

adelante o hacia atrás). En caso contrario, el sistema

también informará del error al tratar de visualizar los

resultados.

• Visualizar el resultado de los cálculos a través de los bloques

funcionales Plot y Plot Compare (bien gráficamente o bien

numéricamente).

• En caso necesario, modificar la arquitectura del grafo, añadiendo o

quitando bloques funcionales y añadiendo, quitando o modificando

la interconexión entre ellos, cumpliendo siempre las restricciones

mencionadas anteriormente.