Professional Documents
Culture Documents
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE
TELECOMUNICACIONES
DEPARTAMENTO DE SEALES Y SISTEMAS
MANUEL DE OLIVEIRA
UNIVERSIDAD DE CARABOBO
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE
TELECOMUNICACIONES
DEPARTAMENTO DE SEALES Y SISTEMAS
MANUEL DE OLIVEIRA
UNIVERSIDAD DE CARABOBO
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA DE
TELECOMUNICACIONES
DEPARTAMENTO DE SEALES Y SISTEMAS
CERTIFICADO DE APROBACIN
Los abajo firmantes miembros del jurado asignado para evaluar el trabajo especial de grado titulado D ESARROLLO DE UNA PLATAFORMA e-learning MEDIANTE
EL
Firma
Prof. I NG . C ARLOS M EJAS
TUTOR
Firma
Firma
JURADO
JURADO
Dedicatoria
A mi abuela Ana
Aunque no est conmigo, fue mi inspiracin para lograr esta meta.
A mis padres Nancy Rodriguez y Eduardo De Oliveira
Quienes son mi ejemplo a seguir.
A mis hermanas Mariale y Andreina, mis fuentes de apoyo.
A toda mi familia, amistades y seres queridos.
MANUEL DE OLIVEIRA
Agradecimientos
En primer lugar, agradezco a Dios por la sabidura que me brindo en la consecucin de esta meta.
Al Ingeniero Carlos Mejas, mi Tutor acadmico, por sus conocimientos impartidos, por la paciencia y dedicacin que tuvo conmigo en el desarrollo de esta investigacin y adems, por entender mi abstracta forma de expresar mis ideas.
A la Ilustre Universidad de Carabobo, mi alma mter, y a todo el personal docente y administrativo de Escuela de Ingeniera de Telecomunicaciones por contribuir en mi crecimiento personal y acadmico.
A todo el personal del Instituto de Matemtica y Calculo Aplicado (IMYCA)
por facilitarme los recursos colaborar en la ejecucin de las actividades de este proyecto, en especial a el TSU Gustavo Jimnez por haberme suministrado tantos conocimientos y haber lidiado conmigo cada obstculo.
A la Direccin de Tecnologa Avanzada (DTA) por hacerme sentir todos como
parte de su equipo, de manera especial al ing. Oscar Davila por su apoyo y constancia en este proyecto.
Al profesor Juan C. Rodrguez del Pino del Departamento de Informtica y Sistemas de la Universidad de Las Palmas de Gran Canaria Espaa, por haber diseado el modulo VPL de Moodle, y haber siempre contado con su apoyo para resolver
mis interrogantes en este trabajo.
A mis primos Yuliana y Jean Boscan por facilitarme los recursos para adquirir el
modulo con el que se desarrollo este trabajo y al profesor Carlos Aponte por hacerlo
llegar a mis manos.
A mis amigos que siempre me apoyaron; en especial quiero agradecer a mis
amigos Jennifer Sandia, Jonas Sanchez, Daniel Martinez y Roberto Linares, quienes
estuvieron en cada paso que daba durante mi carrera, a mis compaeros Rossana
VI
Mrquez, Ronald Ustariz, Yutzani Gallardo y Marelyn Sez por apoyarme y acordarse de mi en aquellos momentos difciles que solo ellos conocen. A Ruben Escobar mi mejor amigo, por estar siempre atento y por su valiosa amistad. A Mariam
Pulgar por llenarme de paz entre tanto caos, apoyarme y creer siempre en mi. . . .
ndice general
ndice de Figuras
XI
ndice de Tablas
XV
Acrnimos
XVII
Resumen
I. Introduccin
1.1. Motivacin . . . . . . . . . .
1.2. Objetivos . . . . . . . . . . .
1.2.1. Objetivos General . .
1.2.2. Objetivos Especficos
1.3. Alcances . . . . . . . . . . .
XIX
.
.
.
.
.
1
1
4
4
4
4
7
7
9
10
11
11
12
14
15
16
17
17
18
18
19
20
20
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
VII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
VIII
ndice general
22
24
25
26
26
27
27
28
29
29
31
31
33
34
34
35
36
37
37
38
39
40
40
41
41
42
42
43
45
47
47
49
53
53
54
55
56
57
58
ndice general
3.3.7. Sistemas discretos: Distorsin . . . . . . . . . . . . .
3.3.7.1. Distorsin no lineal por saturacin . . . .
3.3.7.2. Distorsin no lineal polinmica . . . . . .
3.3.8. Sistemas discretos: Modulacin . . . . . . . . . . . .
3.3.9. Filtros digitales . . . . . . . . . . . . . . . . . . . . .
3.3.9.1. Metodologa de diseo de filtros digitales
3.4. Elaboracin de las prcticas y recursos del laboratorio PDS
IX
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
59
59
60
60
61
61
63
ndice general
4.4.4.1. Prctica 0 . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.4.2. Prctica 1 . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.4.3. Prctica 2 . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.4.4. Prctica 3 . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.5. Recursos de contenidos para practicas del laboratorio de PDS
Referencias Bibliogrficas
Anexos
A. Entorno del Laboratorio de Programacin Virtual
B. Introduccin al laboratorio de PDS en tiempo real.
C. Practicas del laboratorio de PDS en Tiempo Real.
D. Soporte de contenidos para practicas del laboratorio de PDS.
E. Iniciacin a Code Composer Studio y a la serie DSK TMS320C55x.
F. Software de diseo de filtros digitales Iowa Hills software for digital filters design.
128
129
130
130
131
133
ndice de figuras
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
22
30
32
32
34
36
38
39
39
40
43
43
62
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
4.8.
68
70
72
73
73
74
74
500
1000
500
1000
XI
10
13
13
15
15
17
21
75
76
ndice de figuras
XII
500
500
500
500
500
10
5
20
0,7
0,9
0,2
10
5
20
0,7
0,9
0,2
10
5
20
0,7
0,9
0,2
10
5
20
0,7
0,9
0,2
ndice de figuras
XIII
500
500
500
200
500
200
200 8000
800 4
800 4
200 8
200 8
Indice de tablas
2.1. Comparacin entre aritmtica de los procesadores [8] . . . . . . . . .
2.2. Tipos de datos soportados por el T MS C
[9] . . . . . . . . . .
2.3. Convencin de argumentos para funciones DSPLIB [10] . . . . . . . .
12
16
26
49
73
75
320 5535
XV
93
96
98
101
104
107
121
122
Acrnimos
CCS
CPU
DSK
DSP
FIR
IIR
IDE
JTAG
LTI
MACS
MIPS
TIC
UART
VLSI
VPL
XVII
MANUEL DE OLIVEIRA
RESUMEN
El siguiente proyecto constituye el desarrollo de un laboratorio para el procesamiento digital de seales, mediante la programacin del kit de desarrollo C5535
eZdsp de Texas Instruments. Este hardware permitir tratar digitalmente seales en
tiempo real usando para esto herramientas en software de programacin de alto nivel.
De acuerdo con este enfoque, los estudiantes combinarn una doble experiencia de aprendizaje, software-hardware durante las prcticas del laboratorio de DSP,
mediante sesiones de manipulacin del hardware en las instalaciones de laboratorio
XIX
Resumen
XX
con el complemento de programacin virtual para la gestin y aprendizaje del software y los recursos, esta integracin representa gran alcance y aporta dinamismo al
proceso cognitivo mediante la experimentacin de los contenidos programados.
La motivacin es el contacto del estudiantes con herramientas de desarrollo para que con la aplicacin de los mtodos y solventando pequeos problemas, adquieran la metodologa de trabajo que requiere un ingeniero en el procesamiento digital
de seales, de igual manera incrementar la capacidad desarrollo y los propsitos de
esta misma lnea de investigacin del departamento de seales y sistemas, adems
de satisfacer la necesidad de los estudiante de adquirir habilidades orientadas al
uso de herramientas a la par de las tendencias tecnolgicas.
Los nuevos retos del sector educativo Venezolano asociado a los avances en
las telecomunicaciones, en nuevas tcnicas de modulacin, filtrado digital, procesamiento de imgenes y vdeo entre otras aplicaciones marca la relevancia de la
investigacin, someter el mdulo a diferentes esquemas de procesamiento permitir evaluar el manejo del hardware y dar un mapa completo de manipulacin de
tarjetas de desarrollo de este tipo.
Palabras Claves: DSP,Virtual Programing Lab (VPL), Laboratorio, Tiempo real,elearning, DSK
Captulo I
Introduccin
1.1.
Motivacin
Los esquemas de procesamiento digital de seales (DSP) han crecido vertiginosamente debido al avance de las tecnologas de circuitos de gran escala de integracin (VLSI), lo que ha permitido la implementacin de sistemas digitales ms
complejos, dejando a un lado los sistemas analgicos ya que estos aportan flexibilidad en el diseo para la programacin de funciones sin necesidad de modificar el
circuito integrado [11].
As mismo, el procesamiento digital de seales en tiempo real, se ha convertido
en un campo competitivo dentro de la ingeniera en estos ltimos aos. El DSP es
un rea de desarrollo, de investigacin y de experimentacin donde los estudiantes y los investigadores estn constantemente evaluando diferentes arquitecturas
de procesadores, as como optimizando libreras necesarias para el procesamiento
digital en tiempo real [1].
Actualmente, los productos de DSP representan una solucin para los sistemas
de intensa carga computacional, los cuales se encuentran clasificados por arquitectura, eficiencia de procesamiento, estructura de los datos y otras cualidades. Entre los principales fabricantes de estos productos, Texas Instruments (TI) lidera el
Captulo I. Introduccin
mercado, presentando alternativas que integran bajo costo y alto rendimiento, adems de soporte a una variedad de herramientas computacionales como MATLAB
y LABVIEW, para el desarrollo y la experimentacin de diferentes prototipos en las
diversas reas de investigacin. En este mismo orden de ideas, TI proporciona el
software Code Composer Studio como un ambiente de desarrollo para la evaluacin y
ejecucin de programas en C [12], por su cualidades para aplicaciones en DSP en
tiempo real como por ejemplo, el control de estructuras de tipo lgico y el manejo
eficiente de memoria.
Mientras tanto, en universidades y centros de investigacin, las tecnologas basadas en microprocesadores necesitan del apoyo de laboratorios para la experimentacin; sin embargo, los contenidos de asignaturas como microprocesadores
y diseo digital, no suelen cubrir mdulos de procesadores digitales de seal ni la
metodologa de diseo para esto, es por ello que para poder incentivar el proceso
cognitivo en esta rea de la ingeniera se debe priorizar el uso de productos de DSP
[13].
Por otro lado, el laboratorio actual de DSP de la Escuela de Ingeniera de Telecomunicaciones, se basa en el trabajo de Sanjit Mitra, Digital Signal Processing Laboratory Using MATLAB [14], el cual asume que el estudiante no tiene antecedentes
en este entorno y lo gua, a travs de programas de prueba en la primera mitad del
curso, en el manejo de los conceptos bsicos de este lenguaje mediante la solucin
de problemas, y el resto del material se enfoca en el anlisis y diseo de sistemas
discretos para procesamiento de seales.
De ah que el trabajo anterior guarde relacin directa con este proyecto ya que
se expone una estrategia de aprendizaje basado en experiencias en el computador
mediante el desarrollo algoritmos de procesamiento. Sin embargo, esta metodologa de trabajo carece del enfoque practico asentado en el desarrollo de algoritmos
en lenguaje C, del control del recurso computacional y la programacin de productos de DSP. As mismo debido a lo repetitivo de los procedimientos y la falta de
experiencias en trminos de procesamiento en tiempo real, se presenta la necesidad
de plantear un nuevo esquema de laboratorio.
Captulo I. Introduccin
Captulo I. Introduccin
1.2.
Objetivos
1.2.1.
Objetivos General
1.2.2.
Objetivos Especficos
1. Revisar las fuentes bibliogrficas referentes a las tcnicas de DSP para la seleccin de los algortimos adecuados.
2. Componer algoritmos en lenguaje C para el procesamiento de seales de audio en tiempo real sobre el mdulo de DSP.
3. Describir el contenido de cada practica para la elaboracin de la gua de laboratorio de DSP.
4. Elaborar los recursos didcticos necesarios para la estructuracin de la plataforma del laboratorio virtual.
5. Desarrollar la plataforma de trabajo bajo el entorno Moodle VPL, para la gestin de recursos del laboratorio de DSP.
1.3.
Alcances
La presente investigacin precisa el diseo y la implementacin de toda la plataforma, entre los elementos y procesos se incluyen:
Revisin de procesadores de los Texas Instruments para la seleccin de la herramienta base del laboratorio.
Elaboracin de los contenidos de procesamiento digital de seales del laboratorio, para desarrollar aplicaciones propsito general.
Captulo I. Introduccin
Captulo II
Marco conceptual
Bases Tericas
2.1.
Flexibilidad: Las funciones del procesado digital de seal pueden ser modificadas o actualizadas mediante software, usando el mismo hardware para un
algoritmo especfico.
Reproducibilidad: El rendimiento de estos sistemas puede ser repetido exactamente, de una unidad a otra. Esto porque el procesamiento de las seales
de estos sistemas trabajan directamente con secuencias binarias.
Confiabilidad: La memoria y lgica del hardware de estos sistemas no se deteriora con el tiempo. Por lo tanto, el rendimiento en el campo de los sistemas
de procesado digital de seal, no se deteriora con el cambio de las condiciones ambientales o el tiempo de los componentes electrnicos, como sus contra
partes analgicas lo hacen.
Complejidad: Estos sistemas permiten sofisticadas aplicaciones que pueden
ser implementadas en dispositivos porttiles con un bajo consumo de potencia, lo que resultara imprctico con tcnicas analgicas tradicionales.
2.1.1.
y=
count
X
ai xi
i=1
Por otro lado uno de los desarrollos con mayor impacto en el crecimiento, anlisis, diseo y realizacin de procesadores digitales de seal, fue la investigacin de
Cooley y Tukey, An algorithm for the machine calculation of complex fourier series[19], el
10
2.1.2.
La captura del sonido se lleva acabo con el micrfono o algn instrumento musical que realiza la transduccin de audio a pulsos elctricos como ocurre en el
caso de una guitarra acstica o elctrica. Cuando las ondas de sonido llegan al micrfono, el movimiento mecnico se traduce en una seal elctrica. Esta seal se
denomina seal analgica porque es una seal continua en el tiempo, anloga al
sonido original.
Segn el teorema de Nysquist o teorema de muestro, es posible replicar con exactitud una forma de onda si la frecuencia de muestreo Fs es como mnimo el doble de
la frecuencia de la mayor componente espectral de la seal analgica a muestrear,
de forma que se evita la apariencia de las muestras ambiguas y repetidas originadas
por el fenmeno de aliasing [20].
En este sentido un convertidor analgico a digital es un dispositivo capaz de
convertir seales analgicas de voltaje en una seal digital con valores binarios. La
seal de entrada como se muestra en la figura 2.1 se somete a un muestreo a una
11
2.1.3.
Aritmtica de procesadores
Los DSP son dispositivos que han sido especialmente diseados para tratar seales en formato digital para el procesamiento de algoritmos complejos que requieren muchos cmputos. Entre las caractersticas fundamentales de los DSP se
encuentra el tipo de formato aritmtico utilizado por el procesador para tratar y
almacenar los datos, por lo que existe una estrecha relacin entre el formato numrico y el nmero de bits, este es un factor que deben considerar los diseadores
de estos sistemas para determinar cul es el procesador idneo para una aplicacin
dada. Estos procesadores pueden ser divididos en dos categoras, de punto fijo y
punto flotante, y esta clasificacin se refiere a la forma en que los datos son tratados
y almacenados.
2.1.3.1.
Los procesadores de punto flotante suele tener un mnimo de 32 bits para almacenar los datos dando lugar a una cantidad de
3,4x1038 [13].
Por otro lado los de punto fijo, usan 16 bits de datos para almacenar una cantidad de
cuatro formas, entero sin signo, formato en que el nmero almacenado puede tomar
cualquier valor entero de 0 a 65.535, entero con signo que utiliza el complemento a
dos para incluir los nmeros negativos, de -32.768 a 32.767, notacin de fraccin sin
12
signo, donde los 65536 niveles se distribuyen uniformemente entre 0 y 1 y por ltimo, el formato de fraccin con signo que permite a nmeros negativos, igualmente
espaciados entre -1 y 0.999. Los procesadores con este tipo de manejo de datos utilizan menos rea de silicio que sus contra partes de punto flotante, permitiendo
ofrecer procesadores ms econmicos y con menor consumo de potencia. Sin embargo, debido a su limitado rango dinmico y las reglas de la aritmtica asociada, el
diseador deber decidir si los datos de 16 bits sern interpretados como enteros o
fracciones, aplicar el factor de escalamiento (si es requerido), y proteger los posibles
desbordamientos en los registros. En la tabla 3.1 se precisan algunas cualidades de
ambos procesadores:
Tabla 2.1: Comparacin entre aritmtica de los procesadores [8]
Punto fijo
Arquitecturas muy rpidas
Bajo costo
Margen dinmico reducido y precisin media
Programacin con tcnicas de escaldo (desbordamiento)
Bajo consumo de potencia
2.1.3.2.
Punto flotante
Arquitecturas de velocidad media
Costo medio
Alto margen dinmico y alta precisin
Programacin sencilla
consumo de potencia medio
13
Cada palabra 1 tiene el mismo nmero de dgitos y el punto binario esta siempre
fijo en la misma posicin, El rango dinmico de un procesador se refiere al intervalo
del tamao de registro que puede manejar, con un procesador de N-bits podemos
representar enteros con signo con un rango dinmico entre:
2N 1)
2N 1) 1
(2.1)
14
2.1.4.
tp + to < T
Donde to es un tiempo de cabecera que se considera por las operaciones I/O.
Esta restriccin limita la ms alta frecuencia de la seal que puede ser procesada
por el sistema DSP. Este lmite de ancho de banda en tiempo real es dado como:
fM 6
fs
<
2(tp + to)
15
2.1.4.1.
Los bloques que describen la funcionalidad de los sistemas DSP son ilustrados
en la figura 2.5, donde una seal analgica es convertida a digital, procesada por un
hardware DSP de forma digital y convertida nuevamente en analgica, para algunas
aplicaciones las entradas pueden encontrarse previamente en formato digital por
ejemplo si son de alguna clase de informacin o incluso podran ser generadas estas
entradas por el propio procesador.
Figura 2.5: Elementos bsicos de los sistemas DSP en tiempo real [1].
16
2.2.
Tipo de datos
Char
Unsigned char
Short
Unsigned short
Int
Unsigned int
Long
Unsigned long
Float
Double
Long double
Enum
Data pointer
Data pointer
Program pointer
Tamao
16-bit
16-bit
16-bit
16-bit
16-bit
16-bit
32-bit
32-bit
32-bit
32-bit
32-bit
16-bit
16-bit
23-bit
24-bit
Representacin
ASCII
ASCII
Complemento a 2
Binaria
Complemento a 2
Binario
Complemento a 2
Binario
IEEE 32-bit
IEEE 32-bit
IEEE 32-bit
Complemento a 2
Memoria small
Memoria large
Funcin
Rango
32768, 32767]
[0, 65535]
[32768, 32767]
[0, 65535]
[32768, 32767]
[0, 65535]
[2147483648, 2147483647]
[0, 4294967295]
[1,175494x1038 , 3,40282346x1038 ]
[1,175494x1038 , 3,40282346x1038 ]
[1,175494x1038 , 3,40282346x1038 ]
[32768, 32767]
[0x0, 0xFFFF]
[0x0, 0x7FFFFF]
[0x0, 0xFFFFFF]
[
2.3.
17
2.3.1.
18
2.3.2.
2.4.
C ha sido distinguido por la eficiencia del cdigo que produce no solo por la
potencialidad de los comandos y estructuras de datos, sino tambin por su portabilidad para migrar entre plataformas y dispositivos DSP, por lo que es el lenguaje
ms popular para crear desarrollos de software, aplicaciones y para la programacin de microcontroladores de todo tipo.
En este sentido, C es un lenguaje de medio nivel con muchas caractersticas de
bajo nivel, como son las estructuras de control, sin embargo, tambin dispone de
las tpicas composiciones de los lenguajes de alto nivel permitiendo construir algortimos que mezclan lenguaje ensamblador. Cabe sealar que los compiladores
19
suelen ofrecer extensiones al lenguaje que posibilitan mezclar cdigo en ensamblador con cdigo C o acceder directamente a memoria o a dispositivos perifricos.
El compilador C traduce programas de alto nivel a lenguaje de mquina que puede ser ejecutado por procesadores como los pertenecientes a la serie TMS320C55x.
Por otro lado, los ambientes de programacin incluyen programas de depuracin
(debugger) para identificar errores en programas fuente.
Cabe sealar que el propsito de la programacin en DSP es manipular seales
digitales para una aplicacin especfica de procesamiento. Para conseguir esto, los
programas DSP deben ser capaces de:
Organizar las variables, manejo de diferentes tipos de datos.
Describir las acciones, operadores sobre bits y matemticos.
Controlar las operaciones, estructuras para el flujo del programa.
Mover los datos de adentro y afuera entre el mundo exterior y el programa,
manejo de perifricos I/O.
2.4.1.
Funciones
20
2.4.2.
Punteros
Por lo tanto, para la manipulacin adecuada de punteros se requiere del operador de indereccin (*) que es usado cuando es requerido el dato almacenado en la
direccin al que apunta el puntero, y el operador de direccin (&) que se utiliza para apuntar a la direccin de una variable. La diferencia que existe entre un puntero
y un arreglo es que el arreglo tiene una cantidad de memoria propia, mientras que
el puntero no, este asigna la memoria de manera dinmica.
2.4.3.
En DSP, las funciones para la interaccin con el usuario no son utilizadas, sin
embargo, con ciertas funciones podremos interactuar con el procesador y sus perifricos. Para usar el estndar de funciones (input/output) provista por el compilador
C, debemos tener la directiva del procesador #include<stdio.h> que incluyen los archivos de cabecera del estndar I/O para la declaracin de funciones. Las funciones
ms usadas identifican los archivos para lectura o escritura usando puntero para almacenar la direccin de la informacin requerida y para acceder al archivo.
2.4.4.
21
yn =
N
X1
xn1 ai
i=0
22
a la parte superior cada vez que se llega al final de la memoria del bfer. Como una
consecuencia, las posiciones de memoria aparecen estar enlazadas de una manera circular, de ah el nombre de bfer circular. La mayora de los procesadores de
seales digitales implementan bfer circular en el hardware en para conservar la
memoria y reducir al mnimo los gastos generales de software.
Figura 2.8: Lnea de retardo con manipulacin de puntero usando direccionamiento circular [3].
2.5.
Para el desarrollo de software DSP, Texas Instruments cuenta con Code Composer
Studio (CCS) basado en Eclipse, este es un IDE, es decir un ambiente de desarrollo integrado para incorporar herramientas de software, cuenta con un compilador
que genera cdigo optimizado del DSP en C, un ensamblador y un enlazador. Este
entorno cuenta con capacidades grficas y soporta depuracin en tiempo real, lo
que permite a los desarrolladores un manejo rpido y sencillo para moverse en todas las fases del proceso de diseo de una aplicacin, otorgndoles la capacidad de
construir y depurar programas.
chivo fuente en ensamblador con extension asm, este se genera para producir un
23
Por otro lado el enlazador combina archivos y libreras objeto como entrada
para producir un archivo de salida ejecutable con extension out. Este tipo de formato de archivo de objeto comn enlazado se conoce como (COFF) por sus siglas
en ingles, siendo popular en los sistemas basados en Unix y es adoptado por varios
fabricantes de tecnologa DSP [10]. Este tipo de archivo puede cargarse y ejecutarse
directamente sobre el procesador C55x.
Code Composer Studio incluye los siguientes componentes:
1. Code Generation Tools: contiene los elementos principales de software necesarios para el desarrollo de aplicaciones bajo CCS (compilador, ensamblador,
enlazadores, etc).
2. CCS Integrated Development Environment (IDE): este es el ambiente que integra y maneja todos los componentes de CCS que permiten diseo, edicin y
depuracin de la aplicacin.
3. DSP/BIOS: son libreras de funciones que permiten la comunicacin con la
aplicacin durante la corrida sobre los sistemas de hardware, el DSP/BIOS
esta compuesto en dos secciones:
DSP/BIOS Plug-Ins: Ofrece la posibilidad de anlisis de aplicaciones con
el mnimo impacto sobre desarrollos en tiempo real.
DSP/BIOS API (Application Interface): Provee los componentes de software que son llamados a travs de la aplicaciones fuentes.
En cuanto al anlisis en tiempo real, se puede llevar a cabo utilizando el intercambio de datos en tiempo real (RTDX), esta asociado con el DSP/BIOS y permite
el intercambio de datos entre el computador y la tarjeta sin detener la operatividad
de la tarjeta, pudiendo monitorear estadsticas y rendimiento en tiempo real. A travs del grupo de accin conjunta de sus siglas en ingles (JTAG) se lleva a cabo la
comunicacin con el soporte de emulacin en el chip para controlar y supervisar la
ejecucin del programa.
24
2.5.1.
La emulacin es una caracterstica en la que el software de depuracin CCS permite al usuario determinar si se establece o no una conexin de depuracin. Esta
caracterstica aumenta la estabilidad del ambiente de desarrollo al permitir que la
tarjeta aun estando desconectada CCS asuma que est depurando. Esta desconexin puede producirse porque el dispositivo se est depurando en un estado no
vlido, la conexin se ha roto fsicamente. Sin conexin, CCS podra esperar una
respuesta indefinidamente, por lo que ste le indica al usuario que la tarjeta se desconecta, preservando el medio ambiente de trabajo de los usuarios.
El termino JTAG es un acrnimo para (Joint Test Action Group), que en espaol
se puede entender como; grupo de accin de prueba conjunta. El objetivo era idear
un mtodo de prueba de hardware a nivel de circuito en un esfuerzo por eliminar el
lento y costoso procedimiento de pruebas y construccin. Sus esfuerzos resultaron
en una especificacin publicada por la IEEE 1149.1 [21].
Diseado originalmente para circuitos impresos, actualmente es utilizado para
la prueba de submdulos de circuitos integrados, y es til tambin como mecanismo de depuracin de aplicaciones embebidas, puesto que provee una puerta hacia
dentro del sistema. Cuando se utiliza como herramienta de depuracin, un emulador en circuito usa JTAG como mecanismo de transporte, lo que le permite al
programador acceder al mdulo de depuracin que se encuentra integrado dentro
del CPU. Asi mismo, el mdulo de depuracin permite al programador corregir
sus errores de cdigo y lgica de sus sistemas.
Cabe sealar que como el JTAG proporciona una sola lnea de datos, el protocolo
es necesariamente serial, como el Serial Peripheral Interface. Por lo tanto la entrada
de la seal de reloj es por el pin TCK. Mientras que la configuracin del dispositivo
se realiza manipulando una mquina de estados de un bit empleando el pin TMS.
As mismo la frecuencia de trabajo de la seal de reloj del pin TCK vara en funcin
de cada procesador, tpicamente est en el rango de 10-100 MHz (10-100 ns/bit).
2.5.2.
25
Librera DSPLIB
La DSP Library (DSPLIB) es una coleccin de mdulos de funcin para DSP optimizado de alto nivel para la plataforma de la serie C55x. Esta libreria de cdigo
fuente incluye funciones llamadas en C (lenguaje ANSI-C compatible) para funciones matemticas y vectoriales para procesamiento de seales [10].
Las funciones DSPLIB suelen operar sobre operandos vectoriales para una mayor eficiencia. Aunque estas rutinas pueden ser usadas para procesar pequeos
arreglos o escalares (a menos que se tenga un requisito mnimo), los tiempos de
ejecucin sern ms largos en los siguientes casos:
Vector paso, es siempre igual 1: operadores vectoriales se componen de elementos vectoriales en posiciones de memoria consecutivas.
Elementos complejos se asumen que se almacenan en un formato Re-Im.
El cmputo en la posicin del cdigo (a menos que se especifique), la fuente
operando puede ser igual al destino del operando para conservar la memoria.
26
nes, las cuales usan formato Q.15 para representar los datos aritmticos. La gua de
programacin cuenta con una convencin para describir los argumentos para cada
funcin individual:
Tabla 2.3: Convencin de argumentos para funciones DSPLIB [10]
Argumento
x y
r
nx ny nr
h
nh
DAT A
LDAT A
ushort
, ,
Descripcin
referidos a vectores de entrada
Refiere a un vector de salida
Referencia al tamao de los vectores x,y y r
Refiere a un vector de coeficientes (en filtros)
Referencia al tamao del vector h
Puntero a una variable short de bits, valor representado en formato Q
Puntero a una variable long de bits, valor representado en formato Q
Equivale a un unsigned short 16 bits
16
32
15
31
Los ltimos tres argumentos que se representan en la tabla 2.3 son tipos de datos
que pueden ser usados directamente, ya que estn definidos en la cabecera dsplib.h.
El uso de esta nomenclatura y convencin permite la portabilidad de los cdigos a
desarrollar en diferentes dispositivos.
2.6.
Sistema Digitales
2.6.1.
Sistemas Discretos
Un sistema de tiempo discreto es un dispositivo o algoritmo diseado para ejecutar ciertas operaciones o transformaciones sobre cierta seal de entrada, o excitacin x[n] y obtener cierta seal de salida o respuesta y[n] [6]. Entre algunas
cualidades se tiene que:
27
2.6.2.
La transformada Z
La transformada z relaciona los efectos de retardos de muestras en una imagen de dos dimensiones de la representacin en frecuencia H(f) que se denomina
el plano complejo z. Los polos en dicho plano representan los picos de resonancia o puntos que hacen que la respuesta en frecuencia se haga infinita y los ceros
representan los puntos de amplitud nula de la respuesta en frecuencia.
La transformada z de una secuencia es definida por:
X(z) =
x[k]zn
(2.2)
n=
2.6.3.
28
2.6.4.
Suma de Convolucin
El comportamiento de un sistema discreto lineal invariante en el tiempo con seal de entrada x[n] y la seal de salida y[n] se describe por la suma de convolucin.
La seal de h[n], que se supone conocido, es la respuesta del sistema a una entrada
impulso unitario. La suma de convolucin tiene una interpretacin grfica simple
que involucra los siguientes 4 pasos:
y[n] =
X
i=
h[k]x[n k]
(2.3)
2.6.5.
29
Filtros Digitales
2.6.5.1.
Tipos de filtros
Los filtros digitales utilizados con mayor frecuencia son los filtros pasa baja
(Low Pass), pasa alta (High Pass), pasa banda (Band Pass) y los filtros de rechazo de
banda (Notch). En la figura 2.9 se representan estos filtros mediante su respuesta en
frecuencia, en la cual se muestra la atenuacion que presenta el filtro a determinada
frecuencia.
30
Los filtros paso bajo (LP) dejan pasar las frecuencias que estn por debajo de
una determinada frecuencia.
Los filtros paso alto (HP) dejan pasar las frecuencias que estn por encima de
una determinada frecuencia.
Estos dos tipos de filtros estn definidos por su frecuencia de corte, que es la
frecuencia a la cual la amplitud de la seal se reduce a 0.707 =
de su valor
Los filtros paso banda (BP) dejan pasar las frecuencias que estn situadas en
una determinada banda de frecuencia.
Los filtros rechazo de banda (BR) dejan pasar todas las frecuencias excepto las
que estn situadas en una determinada banda de frecuencia, es decir, entre
dos determinadas frecuencias f1 y f2. Estas frecuencias son aquellas en la que
la amplitud se reduce 0.707 =
dB.
31
Por su parte estos dos tipos de filtros estn definidos por su frecuencia central
y su ancho de banda, que sera la diferencia entre las frecuencias de corte inferior y
superior.
2.6.5.2.
El orden de un filtro
2.6.5.3.
Los filtros LTI (lineales e invariantes en el tiempo) pueden clasificarse de acuerdo a la longitud de su respuesta impulsiva h[n] como IIR, si esta tiene duracin
infinita o FIR, si su duracin es finita, esta respuesta impulsiva caracteriza completamente el filtro [22], de manera tal que las seales de entrada y de salida estn
relacionadas por la suma de convolucin, que para filtros IIR tiene la forma:
y[n] =
h[k]x[n k]
k=0
y[n] =
N
X1
h[k]x[n k]
k=0
2
El rizado o (ripple) es la distorsin de la respuesta en frecuencia sobre la bandas de paso y rechazo,
este depende del orden del filtro
32
y[n] =
N
X
k=0
ak y[n k] +
M
X
bk x[n k]
k=0
La salida y[n] de la ecuacin anterior es funcin de los valores actuales y pasados de la entrada, y de valores pasados de la salida (de aqu el nombre recursivo)
este mtodo permite implementar filtros con respuesta ms compleja y con menos
datos. El filtro IIR es un sistema realimentado como se muestra en la figura 2.11, en
cambio el filtro FIR la salida y[n] solo depende de valores previos de la entrada x[n].
33
Los valores asociados a los coeficiente h[n] y ak ,bk , son los objetivos del problema
de diseo de filtros digitales.
2.6.5.4.
34
2.6.5.5.
2.7.
La reproduccin de efectos de audio digital estn basados en sistemas de procesamiento, estos pueden ser en tiempo real para instrumentos musicales fabricados
a partir de procesadores digitales de seales o por el contrario, el procesado no
en tiempo real, este tratamiento se realiza con el computador en los programas de
edicin musicales, en el cual primero se graba un sonido que se almacena en un
archivo en memoria, despus se manipula ste convenientemente [24].
Para la generacin de estos efectos en tiempo real, la seal de audio es procesada mediante los algoritmos apropiados lo suficientemente rpido para reproducir
35
el resultado sin retardo apreciable por el oyente. Por otro lado, la memoria requerida depender de la necesidad de la cantidad de muestras previas o posteriores de
la entrada o salida. si para generar la seal de salida en el instante actual se necesita
informacin relativa a muestras anteriores. Entre los trminos y caractersticas detectables en los sistemas de audio digital se encuentra, el rango dinmico, el ancho
de banda, el ruido, la conversin analgico a digital [1].
2.7.1.
El sonido es una vibracin dependiente del medio molecular en el que se encuentra un individuo, una de las principales caractersticas que ha de tener el sonido para ser audible por el ser humano, es que su frecuencia se mantenga entre los
20 Hz y 22 KHz [5]. El odo humano es un mecanismo de registro muy sensible, que
cuenta con una estructura que le da direccin a los sonidos del ambiente al aparato
auditivo.
El odo capta el sonido siguiendo el siguiente proceso: la oreja capta las ondas
sonoras que se transmiten a travs del conducto auditivo hasta el tmpano, el tmpano es una membrana flexible que vibra cuando le llegan las ondas sonoras, esta
vibracin llega a la cadena de huesecillos que amplifican el sonido y lo transmite
al odo interno. Finalmente las vibraciones agitan los dos lquidos que existen en la
cclea (perilinfa y endolinfa), deformando las clulas ciliadas existentes en el interior. Estas clulas transforman las ondas sonoras en impulsos elctricos que llegan
al nervio auditivo y de este nervio a la corteza auditiva que es el rgano encargado
de interpretar los sonidos [5].
La intensidad del sonido es expresada en una escala logartmica, denominada
decibelio SPL (Sound Power Level). En esta escala, 0 dB SPL es una onda de sonido de
potencia
humano. En la figura 2.13 se muestra la norma (ISO 226:2003) mediante las curvas
de Fletcher y Munson para campo sonoro directo [24].
36
En esta curva se describen los niveles sonoros que debe alcanzar una onda sinusoidal de una determinada frecuencia, para producir la misma sensacin auditiva
que otro tono puro sinusoidal y un nivel de intensidad de sonido dado. La lnea
isofnica es la que representa puntos de igual fuerza sonora; la dependencia de
la frecuencia esta dada por las caractersticas de transferencia del odo externo y el
medio. Tambin debe notarse que a medida que aumenta el nivel de presin sonora
las curvas se hacen ms planas, es decir, la dependencia de la frecuencia es menor
a medida que aumenta la presin sonora.
2.7.1.1.
El humano puede distinguir frecuencias entre 20Hz y 20KHz, pero esta sensibilidad aumenta para sonidos comprendidos entre 1KHz y 4KHz, por lo que un
oyente puede detectar sonidos desde 0dB SPL a 3KHz, pero a 100Hz requieren de
al menos 40dB SPL 2.13, por lo que humano puede discriminar entre dos tonos
siempre que estos se diferencien en ms de un 0.3
37
2.7.2.
Este tipo de efectos estn basados en el uso de muestras y/o salidas pasadas
para generar la salida en el momento actual. Por lo tanto es necesario por tanto
el uso de memorias, es decir, bfers circulares o lineales para su implementacin
digital. Estos efectos son de un gran inters para el procesamiento de audio digital,
a continuacin se describen los ms usados.
2.7.2.1.
Eco
El eco es un fenmeno acstico que consiste en la persistencia del sonido, despus de extinguirse la produccin del mismo, los ecos se producen cuando un sonido se recibe a travs de ms de una trayectoria de propagacin acstica [5]. En procesamiento de seales de audio digital, el efecto eco consiste simplemente en aadir
al audio original mltiples versiones retardadas y atenuadas de la misma seal de
entrada, imitando el eco original que se genera en la naturaleza. Para apreciar los
retardos como eco, el tiempo del retardo debe ser superior a 50 milisegundos [5].
<
50ms
(2.4)
Por lo tanto, se debe sealar que este tiempo de retardo del eco (), es la diferencia de tiempo entre el momento en que el oyente escucha el sonido directo y cuando
se escucha el reflejo (eco). Este tiempo de retardo depende de las distancias entre el
oyente, la fuente de sonido y la superficie reflectante, en consecuencia, a mayores
distancias se incrementa el tiempo de retardo. Una sola reflexin o eco de una seal
pueden ser implementadas por el siguiente filtro 2.14, en el que se suma a la seal
directa de una copia atenuada y el retraso de la misma:
38
Este es uno de los efectos ms simples de los que usan retardos pero usado adecuadamente pueden ampliar el sonido de un instrumento e incluso permite tocar
un slo sobre uno mismo. La unidad de eco es tambin un elemento constructivo
bsico para la elaboracin de otros efectos ms complejos como reverberacin y
coros.
2.7.2.2.
Reverberacin
La reverberacin es la persistencia del sonido despus de la emisin por la fuente sonora, es decir, este fenmeno complejo y natural, resulta de la interaccin entre
la fuente sonora y el lugar en el que las ondas se propagan, por lo tanto es el resultado consiste en una superposicin de la emisin original y las reflexiones que
persisten por los diferentes choques en el recinto que llegan al emisor. En este sentido, las reflexiones dependen de la geometra del recinto y lo que se encuentra
dentro de sta, por lo que disminuyen con el tiempo y atenan cada vez hasta que
se vuelven imperceptibles. La reverberacin proporciona informacin para percibir la naturaleza del entorno inmediato como materiales, y mejorar las condiciones
acusticas.
Se produce reverberacin cuando las ondas reflejadas llegan al oyente antes de
la extincin de la onda directa, es decir, en un tiempo menor que el de persistencia
acstica del sonido. Este fenmeno es de suma importancia, ya que se produce en
cualquier recinto en el que se propaga una onda sonora, en la figura 2.15 se visualiza
esta descripcin.
39
2.7.3.
40
2.7.3.1.
Un modulador en anillo es un dispositivo que puede ser usado para crear sonidos curiosos e inusuales a partir de la salida de un instrumento. Toma dos seales,
cada una de una frecuencia especifica, las multiplica y produce una seal que contiene la suma y la resta de esas frecuencias: fm + fx y fm fx (bandas laterales).
Estas frecuencias sern tpicamente no armnicas, de manera que el modulador en
anillo puede crear algunos sonidos muy disonantes. Por esta razn, la modulacin
en anillo no es un efecto ampliamente extendido [24].
(2.5)
2.7.3.2.
Distorsin
41
La distorsin es usada normalmente para simular los efectos de un amplificador que est saturado y se emplea principalmente con guitarras [24]. Los procesos
no lineales se caracterizan por el hecho de que crean intencionalmente o no, componentes de frecuencias armnicas y no armnicas que no se encuentran presentes
en la seal original.
En este sentido los efectos overdrive y fuzz son aquellos generados mediante sistemas distorsionadores. Se emplean sobre todo en guitarras elctricas, por medio
de amplificadores o por medio de pedales de efectos que aportan un sonido ms caracterstico, estos efectos modifican la forma de onda del sonido original a partir de
un determinado nivel de entrada, de manera menos pronunciada en overdrive donde se utilizan ganancias con recorte simtrico suave, y mxima en fuzz utilizando
con mayor frecuencia recorte asimtrico [24].
2.8.
2.8.1. E-learnning
Las herramientas de aprendizaje en la red cada vez son ms populares, van
desde campus virtuales en universidades hasta recursos de apoyos en instituciones
financieras, una referencia de esta modalidad es el e-learning, que podra traducirse como aprendizaje electrnico, Rosenberg M. lo define como la utilizacin de las
tecnologas de Internet para ofrecer un conjunto de propuestas que permitan incrementar el conocimiento y la practica [25].
Una definicin un poco ms amplia es la de Jolliffe, A., el sugiere que puede ser
descrito como la distribucin y el acceso a colecciones coordinadas de materiales
de aprendizaje sobre un medio electrnico usando un servidor web para distribuir
los contenidos, un navegador web para acceder a ellos y los protocolos TCP/IP y
HTTP para mediar el intercambio de datos [26].
42
2.8.2.
2.8.2.1.
Arquitectura VPL
43
Para ejecutar o evaluar codigo fuente, se requiere una sumisin a tener al menos
un servidor crcel. El servicio de la crcel necesita una distribucin linux compatible, ya que el servidor de crcel asiste a las solicitudes de ejecucin interactivas
2.19 y no interactivas 2.18. Ahora bien la diferencia entre stos, es que el segundo
tipo requiere que los datos de solicitud incluyen una clave, un servidor y un puerto de comunicacin, que se utilizan para redirigir la datos de entrada/salida de
ejecucin.
2.8.2.2.
Topologa de Red
En lo referente al mdulo VPL, utiliza un doble proxy para comunicarse, es decir, un lado con los clientes de Internet, para asistir a sus peticiones, y por otro lado
con los servidores de la crcel, para realizar las tareas en ejecucin asociados a esas
peticiones, lo que permite una variedad de topologas de red. En este sentido la
topologa ms simple se ejecuta el servidor la crcel y el servidor de Moodle en
el mismo equipo sin embargo, a pesar de que tienen que comunicarse a travs de
una intranet, esta solucin pierde las ventajas de seguridad proporcionadas por el
aislamiento de los servidores en diferentes equipos. Por consiguiente en una topologa ms adecuada, se une el servidor Moodle con uno o ms servidores de crcel
separadas, los cuales que pueden estar en una red privada [15].
44
partir varios servidores de crcel entre varios servidores de Moodle. Esta configuracin puede adaptarse a la carga de trabajo al cambiar el nmero de servidores
de crcel en uso por un servidor Moodle para atender de manera adecuada las variaciones en los requerimientos de las tareas de ejecucin. El inconveniente de esta
configuracin es que los servidores de la crcel deben estar en el dominio pblico
con el fin de ponerlos a disposicin de todos los servidores del Moodle sin aumentar la complejidad de la red [15].
El uso de mltiples crceles no slo sirve para la escalabilidad, apoyo y mejora
del rendimiento, sino que tambin proporciona tolerancia a fallas. Cuando una solicitud de ejecucin es recibida por el mdulo de VPL, toma la lista de servidores
disponibles crcel y selecciona al azar uno que no est marcado como tener un anterior fallan en un rango especfico de tiempo. Entonces VPL enva al servidor una
solicitud de disponibilidad; si la respuesta a esta solicitud es verdadera, la solicitud
de ejecucin se asigna al servidor, de lo contrario se selecciona un nuevo servidor.
Si no se encuentra ningn servidor, se repite el proceso teniendo en cuenta los servidores fallaron anteriormente [15].
2.9.
45
Glosario
dB SPL: El decibelio del nivel de presin sonora (dB SPL) toma como referencia el menor nivel de presin sonora que el odo humano medio puede
detectar. El menor sonido audible para el ser humano es tpicamente 0 dB
SPL (umbral de audicin). En la prctica, dB a menudo significa dB SPL [24].
Moodle: Es una aplicacin web de tipo ambiente educativo virtual, un sistema
de gestin de cursos, de distribucin libre, que ayuda a los educadores a crear
comunidades de aprendizaje en lnea [26].
Bfer: Un bfer (del ingls, buffer) es un espacio de memoria, en el que se
almacenan datos de manera temporal su principal uso es evitar que el programa o el recurso de hardware o software, quede sin datos necesarios para el
proceso [24].
XMLRPC: Es una especificacin y un conjunto de implementaciones que permiten ejecutar software en sistemas operativos dispares, corriendo en diferentes entornos para hacer llamadas de procedimiento a travs de Internet.
Este procedimiento de comunicacin remota se lleva acabo usando HTTP como el transporte y XML como la codificacin. XML-RPC est diseado para
ser tan simple como sea posible, al tiempo que permite transferir estructuras
de datos complejas, procesarlas y devolverlas [27].
Distorsin: Es la modificacin de la seal, cuando una seal es procesada
por un sistema no lineal, algunos componentes de frecuencia aparecen que
no son parte de la seal original, estos se llaman productos de distorsin.
algunos instrumentos musicales como la guitarra elctrica se aprovechan de
distorsiones para ampliar y variar su timbre. Esto modifica el color del sonido
mediante la introduccin no lineal de productos de distorsin de la seal de
entrada, efectos relacionados son Overdrive, Fuzz, Blender, Screamer [3].
Espectro: El contenido de frecuencia de un sonido o seal de audio, puede
tener una representacin grfica de la amplitud (o nivel de intensidad) en
46
Captulo III
Procedimientos de la investigacin
En este captulo se establecen los mtodos y las tcnicas para desarrollar la implementacin del laboratorio de DSP mediante el mdulo TMS320C5535, llevndose a cabo el proyecto en 4 fases.
3.1.
Revisin Terica
47
48
49
Sistema operativo
DSP
USB
SPI
UART
MIPS
DSP MHz (Max.)
Rango de temperarura
de operacion en C
Hardware acelerador
Costo
TMS320C5535
Aplicaciones de consumo de audio y voz, interfaz de sensores industriales, equipo medico portable, biometria.
DSP/BIOS VLX
1 C55x
1
1
1
240
50 a 100
-10 a 85
TMS320C5532
Aplicaciones de consumo de audio y voz, interfaz de sensores industriales, equipo medico portable, biometria.
DSP/BIOS VLX
1 C55x
1
1
50 a 100
-10 a 85
TMS320C5515
Comunicaciones e industias de telecomunicaciones y medica
TMS320C5505
Comunicaciones e industrias de telecomunicacionesy medica
DSP/BIOS VLX
1 C55x
1
1
1
100 a 120
-10 a 85
DSP/BIOS VLX
1 C55x
1
1
1
200
100 a 150
-10 a 85
Coprocesador de FFT
99(USD)
79(USD)
90(USD)
Coprocesador de FFT
49(USD)
4. Luego de esto, se examinaron laboratorios para procesamiento digital de seales que contaron con modalidades virtuales, evaluando de cada uno de estos, las limitaciones respectivas y se contrast con las prestaciones de plataforma a implementar.
3.2.
Esta fase consta del alojamiento e instalacin del plug-in VPL, se aloj la arquitectura de red de la plataforma en un par de servidores del Instituto de Matemtica
y Calculo Aplicado (IMYCA) de la Universidad de Carabobo. As mismo, se debe
sealar que esta institucin presto el soporte y el recurso computacional para su
instalacin, ya que sta se encargar de la futura gestin de los servidores y las
solicitudes de los administradores del laboratorio de programacin.
1. Se evalu los requisitos del host para el servidor y las arquitecturas la red
requerida para plataforma, este equipo se aadi al bastidor del IMYCA.
2. Posterior a sto, se cre el servidor de ejecucin crcel bajo un domino de software libre UNIX Ubuntu 14.04 que lleva por nombre draco.ing.uc.edu.ve
50
auto eth0
iface eth0 inet static
address 190.170.97.209
netmask 255.255.255.192
network 190.170.97.0
broadcast 190.170.97.255
gateway 190.170.97.1
/etc/initd/networking
restart
51
4. Consecutivamente, se configur el servidor crcel sobre el fichero en la localizacin /etc/vpl/vpl-jail-system.conf donde se ajust el URLPATH que
se utilizar como enlace o clave en las conexiones con el servidor de ejecucin.
URLPAT Represents the PATH expected in execution requests.
It acts as a password, if the URLPATH
in the execution request does not match, the request is rejected. By default "/"
URLPATH:/carcel
nos muestra la correcta configuracin del servicio, al igual se pudo comprobar la disponibilidad del servidor de ejecucin utilizando la direccin /OK al
final de la direccin del servidor.
6. El servicio requiere una configuracin de Firewall que represente una alta seguridad ante la sensible informacin dispuesta en el equipo [15]. Este parmetro acepta valores numricos de 0 a 4, los cuales representan el nivel de
proteccin:
0: No Firewall.
1: Permitir slo las solicitudes entrantes al servicio de ejecucin, las solicitudes de salida son ilimitadas.
2: Permitir slo las solicitudes entrantes al servicio de ejecucin, las solicitudes de salida se limitan a DNS y puertos 80/443, las solicitudes de
superusuario son ilimitadas.
3: Permitir slo las solicitudes entrantes al servicio de ejecucin, las peticiones salientes estn prohibidas, las solicitudes de superusuario son ilimitadas.
52
valor
porcentaje
de la nota mxima
rango nota
nmerodecasos ,
53
3.3.
Reconocer el proceso de programacin inherente al modulo DSP incluy el reconocimiento de estructuras, libreras entre otros, as como el ambiento de desarrollo
integrado (CCS) para lograr sintetizar la composicin de los algoritmos aplicables
en los contenidos del laboratorio de procesamiento digital de seales.
3.3.1.
54
3.3.2.
Las seales en tiempo discreto pueden originarse de dos maneras, una tomando
muestras de una seal analgica y luego cuantificando, y la otra es acumulando una
variable a lo largo de un determinado perodo de tiempo.
En ambos casos, se genera una secuencia de nmeros en funcin de la variable
independiente n (numero de muestras), el cual es el equivalente discreto del tiempo. Debido a su velocidad, capacidad de computo y flexibilidad , los DSP se utilizan
para construir sistemas que requieran de secuencias discretas que representan las
versiones obtenidos como muestras de seales continuas.
Es por ello, que habr que prevenir un valor de la frecuencia de muestreo Fs
para que cumpla el teorema del muestreo, Dentro de la categora funcional trigonomtrica de la referencia de programacin [10], se describe la funcin sine de la
librera DSPLIB:
ushort oflag = sine (DATA *x, DATA *r, ushort nx)
11
55
nx .
Esta funcin computa el seno de los elementos del vector x, usando una serie
de Taylor. Para esto toma el angulo de x en el primer cuadrante es decir 0 a /2. El
angulo x en otro cuadrante es calculado usando simetras que mapean el angulo x
al primer cuadrante.
sen(x) = c1 x + c2 x2 + c3 x3 + c4 x4 + c5 x5
(3.1)
3.3.3.
56
}
/* --------------------------------------------------------------------aic3204_codec_write( )
*/
void aic3204_codec_write(Int16 left_output, Int16 right_output)
{
counter2 = 0;
while( !(I2S2_IR & XmitR) )
{
counter2++; // Wait for transmit interrupt
}
I2S2_W0_MSW_W = left_output;
// Left output
I2S2_W0_LSW_W = 0;
I2S2_W1_MSW_W = right_output;
// Right output
I2S2_W1_LSW_W = 0;
}
La adquisicin de la seal de voz, se llev a cabo mediante el uso de un micrfono y el mdulo TMS320C5535. El hardware acondiciona y convierte la seal de
voz a un formato digital, para sto se debe ajustar la ganancia del sistema a 30 dB.
Se elabor un programa que usa el convertidor ADC a una tasa de muestreo de 48
KHz, se deben declarar adecuadamente las variables usadas para la funcin, estas
son del tipo entero y tienen una resolucin de 16 bits.
3.3.4.
Convolucin
Dentro de la categora funcional filtrado y convolucin de la referencia de programacin [10], se describe la funcin colvol de la librera DSPLIB:
ushort oflag = convol (DATA *x, DATA *h, DATA *r, ushort nr, ushort nh)
57
r[j] =
3.3.5.
nh
X1
k=0
h[k]x[j k] 6 j 6 nr
(3.2)
Para implementar este sistema, la unidad de retardo toma una seal de audio
y la reproduce de nuevo despus del retardo k, escalada y mezclada con la seal
actual. Esta cantidad de muestras retardadas representa el tiempo de retraso que
puede oscilar en el rango de 50 y 200 milisegundos, produciendo un efecto parecido
a un coro y hasta varios segundos, producindose una repeticin del sonido de
forma separada a la reproduccin del sonido original lo que es considerado como
un eco. Siendo la ecuacin de diferencia que modela el sistema:
(3.3)
58
Y(Z)
= + Zk
X(Z)
(3.4)
3.3.6.
Para implementar este sistema, la unidad de retardo toma la seal de salida del
sistema y la reproduce de nuevo despus del retardo k, amortiguada y mezclada
con la seal original. Esta cantidad de muestras retardadas representa el tiempo de
retraso, produciendo un efecto de permanencia del sonido continuamente y hasta
varios segundos, lo que es considerado como una reverberacin, En cuanto a la
ganancia de realimentacin se impone menor que 1 por diseo para garantizar la
estabilidad. Siendo la ecuacin de diferencia que modela el sistema:
(3.5)
Para determinar la respuesta en frecuencia de este sistema aplicamos la transformada Z de la ecuacin anterior.
Y(Z)
=
X(Z)
1
1 + Zk
(3.6)
En cuanto al procesado de la seal, se realizo al igual que para el efecto del eco
mediante un bfer. El procesador manejar un puntero de lectura de la entrada y
59
3.3.7.
3.3.7.1.
la implementacin en el procesador DSP para el sistema de distorsin es realmente sencilla, reducindose todo a una comparacin con el nivel +umbral, y otra
con umbral, si estos niveles no son alcanzados por la seal de entrada, la salida
corresponde a la misma seal de entrada escalada en funcin de a y no se opera
sobre ella. As mismo, los parmetros a introducir para el diseo y para el control
del efecto son:
saturaci n
si
x(n) > +umbral
y(n) =
a x(n)
si umbral 6 x 6 +umbral
saturaci n si
x(n) < umbral
(3.7)
60
3.3.7.2.
3
2
a3 x + a2 x + ax
y(n) =
si x(n) >
a3 x3 + a2 x2 + ax si x(n) 6
0
0
(3.8)
3.3.8.
Crear un modulador en anillo basado en un procesador digital es tan simple como realizar la multiplicacin de la seal de audio original por una onda sinusoidal
con una frecuencia de portada en cada intervalo de muestreo. La seal portadora deber implementarse como una funcin o sub rutina, por lo tanto se parte del
diagrama de bloques descrito 2.17.
As mismo, debe recordarse que la mxima frecuencia de la salida es la suma de
las componentes ms altas de cada seal usada. Para este diseo se debe considerar
que el teorema de las mnimas muestras (Nysquist) establece que la frecuencia de
61
3.3.9.
Filtros digitales
El diseo de filtros en tiempo discreto sobre dispositivos DSP usan coeficientes cuantizados para procesar seales cuantizadas. El diseo se llevo a cabo en C
usando la librera DSPLIB. Por lo tanto el objetivo de diseo de filtros FIR fue determinar el conjunto de coeficientes que modelara el comportamiento ms cercano
a las especificaciones del diseo. Debido a la complejidad matemtica de la transformada z, en esta investigacin se adopt una forma ms intuitiva de abordar el
estudio de filtros digitales, usando la metodologa que presenta (Roads, C. 2013)
[3]. En ella, se parte de los diagramas de bloques de los filtros y se estudia casos
sencillos analizando la salida de los filtros a una serie simple de entradas.
3.3.9.1.
62
lo que es necesario resaltar los aspectos referidos a las caractersticas del filtro. Los
requisitos del filtro digital se especifican en el dominio de frecuencia, y para el caso
de los filtros selectivos en frecuencia como el Notch, estas especificaciones toman
la forma de bandas de tolerancia. Conociendo estos factores, el diseador puede
analizar los efectos de la longitud de palabra finita en el desempeo del filtro, y
efectuar las correcciones que sean necesarias.
Por otro lado, para llevar acabo el diseo, se utiliz el software Iowa Hills del
cual se extrajeron los coeficientes. Utilizando un prototipo de ventana de impulso
rectangular siendo est el mtodo ms ilustrativo y cannico para el diseo FIR
ya que es el ms fcil de entender y el ms simple de implementar. La idea bsica
es usar la transformada inversa de Fourier para obtener en el dominio de tiempo
la respuesta de impulso, de una respuesta ideal en el dominio de la frecuencia, es
decir, una ventana rectangular, como se muestra en la figura 3.1 para un filtro de
pasa bajas.
Z c
e2jm d = c sinc( c m)
(3.9)
para
la
funcin
de
filtrado
el
siguiente:
ushort oflag = fir (DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx,ushort nh)
63
nh = nh+ . El arreglo deber ser inicializado a cero para el primer bloque de filtrado. Entre bloques consecutivos, el bfer de retardo preserva los elementos previos
necesarios, el primer elemento del bfer coincide con indice n
1 de la muestra
ms anterior de la entrada.
3.4.
Una vez llegado a esta etapa de la investigacin y tras haber creado un marco terico con las tcnicas de procesamiento digital de seales en tiempo real, se
seleccionaron esquemticamente los contenidos a desarrollar para el laboratorio.
64
65
8. Se realizaron manuales y videotutoriales, en el que se present el procesamiento digital de seales en tiempo real, las herramientas de programacin
integrada CCS, y los softwares complementarios, tomando en consideracin
que el uso de este tipo recursos didcticos facilitan el proceso de aprendizaje. Los recursos didcticos adicionales permiten rescatar aspectos que no se
encuentran programados y necesiten un especial inters [30]. As mismo se
aadi al laboratorio una documento que describe las modalidades del laboratorio de DSP, el objetivo educativo del mismo, las herramientas a utilizar
entre otros aspectos.
9. Se aloj en el entorno de aula virtual, todo el material desarrollado que incluye: contenido multimedia, tutoriales, paginas web referenciales, herramientas
de software adicionales, practicas de laboratorio, manuales, cuestionarios, actividades de programacin y lecturas recomendadas.
10. Se evalu el impacto de la plataforma creada en la comunidad estudiantil, me-
2 2014 donde
se someti a los estudiantes al nuevo esquema del laboratorio, suministrndole las lecturas recomendadas y las prcticas de laboratorio integrndolos
con el uso del modulo DSP USBSTICK5505, de los cuales se seleccion a un
grupo de 4 estudiantes cursantes del laboratorio, y se someti a una entrevista, as mismo, tambin se seleccion a cuatro estudiantes que cursaron el
laboratorio con la experiencia del esquema anterior evaluando los aspectos
comunes entre ambos grupos de consulta.
Captulo IV
Anlisis, interpretacin y
presentacin de los resultados
4.1.
67
68
69
Studio. La generacin de productos C553x proporciona una base para una serie de
aplicaciones de procesamiento de seales para audio de instrumentos musicales y
voz, soluciones mdicas porttiles y otros productos electrnicos de consumo en
aplicaciones industriales.
Desde estos mismos criterios de seleccin, se tom la decisin de incluir un
hardware destinado para la manipulacin de los estudiantes. Eligiendo al USBSTICKC5505, este mdulo de entre los dispositivos revisados, tiene similitud con el
dispositivo principal de evaluacin, cuenta con el coprocesador FFT adems de ser
ms econmico, por no contar con algunos perifricos I/O.
Se determin a C como el lenguaje de programacin para efectos del laboratorio, ya que C es una valiosa herramienta de programacin para tareas de software
computacionalmente intensivas en tiempo real; sin embargo aunque los programas
en ensamblador suelen ser mucho ms rpidos, los escritos en C representan facilidad de desarrollo y mantenimiento, por lo que este lenguaje es el indicado debido
a que es ms intuitivo el reconocimiento de las estructuras, ciclos y declaracin de
variables que se manejan en este entorno. El curso de DSP se toma a un nivel acadmico en el que el programador no ha tomado el curso de microprocesadores, por
lo tanto la eleccin de un lenguaje de alto nivel como C representa una ventaja, ya
que no es necesario con este lenguaje entender la arquitectura que es usada en el
procesador, siendo esta una tarea del compilador.
70
4.2.
Para el alojamiento del servidor VPL, se utiliz una mquina que integra 1 GB
de RAM y 1 ncleo procesador, por lo que se utilizo una version de 32 bits. Desde el IMYCA se habilit bajo la gestin de la Direccin de Medios Electrnicos y
Telemtica (DIMETEL) una direccin IP esttica para el servidor crcel dentro del
segmento de red con el que cuenta la institucin siendo esta 190.170.97.209, adems
de liberar los puertos 22, 80 y 443 para la operatividad de la red.
En la figura 4.2 se muestra la comprobacin del servidor de ejecucin, donde se
indica la correcta operacin del crcel.
Cabe sealar que en particular el servicio de ejecucin o crcel funciona utilizando los puertos 80 y 443, los cuales se utilizan normalmente para servicios web.
Por otro lado, se determin que si se est utilizando Apache o algn servidor
web en estos puertos, se debe cambiar la configuracin del servidor crcel vpl, con
el fin de utilizar otros puertos en desuso. Sin embargo, como el equipo es de dedicacin exclusiva para el crcel, se elimin el servidor web Apache conservando las
configuraciones predeterminadas del servicio. Entre las consideraciones para hacer
sto, se encuentra la posibilidad de riesgos en trminos de seguridad adems que
mantener ejecucin de cdigo por solicitudes externas pueden consumir considerable memoria que podran degradar la tasa de respuesta del servidor web.
En este mismo orden de ideas, se prob que agregar manualmente los archivos o
carpetas a la carpeta del servidor crcel no es procedimiento correcto ya que acarrea
problemas en las estructura de compilacin y ejecucin de cdigos, por lo que para
71
72
4.3.
Reconocimiento de algoritmos y programacin para procesamiento digital de seales en tiempo real sobre el
modulo TMS320C5535
4.3.1.
4.3.2.
4.3.2.1.
73
Se gener un audio estereofnico escribiendo en el auricular izquierdo y derecho respectivamente, un tono puro a una frecuencia especfica. Usando la herramienta para la visualizacin grfica en el tiempo y el anlisis en la frecuencia. En la
figura 4.4 y 4.5 se muestra la seal sinusoidal en el dominio temporal.
Por otro lado, en la figura 4.6 y 4.7 se muestra el espectro de la seal sinusoidal
en donde se puede observar que la potencia del tono generado es de -15.64 dB.
En la tabla 4.1 se muestra los valores de potencia que se obtuvo para cada seal
sinusoidal.
Frecuencia (Hz)
500
1000
Volumen (dB)
15, 643247
15, 509970
74
4.3.2.2.
La visualizacin de los tonos musicales en el dominio temporal no aporta ningn resultado relevante ya que resulta difcil discriminar los cambios la forma de
75
onda, debido a que las frecuencias son muy cercanas entre si. No obstante, mediante la reproduccin de los tonos se puede escuchar la diferencia entre ellos debido a
que para este rango de frecuencias con tan solo un 3
Nota anglosajona
A
B
C
D
E
F
G
Frecuencia (Hz)
440
493,88
261,63
293,66
329,63
349,23
392
Volumen (dB)
18, 480934
22, 393906
20, 746923
18, 742533
22, 110437
18, 466793
22, 027313
En este estudio se valor la frecuencia de muestreo del hardware, esta frecuencia sta supeditada a unas frecuencias permitidas, ya que estn asociadas a la operacin del PLL, en el fichero aic3204init.c de iniciailizacin del codec, por lo que
las diferentes frecuencias de muestreo que pueden ser: 24000, 16000, 12000, 9600,
8000, 6857 Hz. En el siguiente cuadro de cdigo se muestra la funcin que describe
76
set_sampling_frequency_and_gain
4.3.2.3.
77
La seal de voz generada esta constituida por un conjunto de sonidos generados por el aparato fonador humano, esta seal acstica es transformada por el
micrfono en una seal elctrica. En cuanto a la representacin de esta seal digital en el tiempo 4.9 esta formada por curvas elementales (senos y cosenos). En esta
prueba se muestra la forma de onda de la frase "Procesamiento digital de seales", La
representacin de la seal de voz en funcin del tiempo es relevante puesto a que
brinda informacin sobre caractersticas importantes como la energa y los cruces
por cero, cualidades utilizadas en los estudios y anlisis de voz [31].
Por otro lado, se presenta el anlisis en frecuencia, del cual se pueden obtener
otros parmetros relevantes de la seal de voz. La frecuencia fundamental, brinda
informacin sobre la velocidad a la que vibran las cuerdas vocales al producir un
sonido [31], si bien el espectro lleva una gran componente asociada a esta frecuencia
tambin cuenta gran contenido de armnicos.
4.3.2.4.
Convolucin
y para evitar perder las primeras 5 muestras, se agregan (rellenan) esa cantidad de
ceros al principio de la sucesin de entrada.
x[nx] = x[nx + nh ]
(4.1)
Luego de rellenar con ceros, tcnica empleada solo en el 1er bloque de procesamiento, se procede a procesar los bloques sucesivos. En esta etapa, el segundo
1 5
ltimas muestras del bloque anterior, de modo que esas muestras que ya fueron
guardadas generaran las primeras 5 muestras errneas las cuales son descartadas
de la salida parcial generada obteniendo el bloque correcto.
78
0 dB
1er bloque
[-1118,-553,15,1158,-1012]
2do bloque
[-907,257,-189,-3691,1868]
3ro bloque
[3194,-844,-1070,3621,625]
4to bloque
[1368,1000,3346,-1344,108]
5to bloque
[-821,-1602,-2656,364,-451]
6to bloque
[-1355,1537,268,-2260,-1433]
7mo bloque
[-1059,-826,286,2152,295]
bloque completo
[-1118,-553,15,1158,-1012,-907,257,-189,-3691,1868,3194,-844,-1070,3621,625,1368,
1000,3346,-1344,108,-821,-1602,-2656,364,-451,-1355,1537,268,-2260,-1433,-1059,-826]
La tcnica implementada para la estimacin de la convolucin fue diseada para el soporte de la funcin convol y para la ilustracin del procesamiento por bloques
cuando el tamao del arreglo de entrada es muy grande. As mismo, esto permite
79
80
4.3.3.
Sistemas discretos
4.3.3.1.
81
0, 1, ...k 1).
con n = (
2
k
82
83
zonas donde amplifica la seal, mientras que cambia de fase bruscamente cuando
el sistema atena por completo al sistema (frecuencias donde se ubican los ceros.)
84
se tiene k =
Figura 4.20: Sistema que introduce eco en el dominio del tiempo usando pulso de
voz.
85
El efecto eco tambin se puede generar con un filtro FIR, por lo que se realiz
una implementacin similar a la anterior mediante el uso de la funcin FIR.
Figura 4.21: Sistema que introduce eco con FIR en el dominio del tiempo usando
pulso de voz.
86
4.3.3.3.
Reverberacin
87
2
k
0, 1, ..., k 1)
n con n = (
88
89
El sistema diseado de reverberacin, describe en su diagrama de bode, la respuesta en frecuencia tanto en magnitud como en fase, del que se puede analizar
que para valores de a positivos el sistema atena las frecuencias impares mltiplos
de 1/t (t =
Fs
k )
cin del numero de retardos del sistema por lo que a debe ser menor a 1 ya que el
sistema es inestable y cumpliendo con esta condicin se mantiene estable. Por su
parte la fase exhibe un comportamiento lineal en las zonas donde amplifica la seal,
90
mientras que cambia de fase bruscamente cuando el sistema atena por completo
al sistema (frecuencias donde se ubican los ceros.)
Figura 4.28: Respuesta del sistema que introduce reverberacin en el dominio del
tiempo a un pulso de voz.
91
y(n) =
2000
si
20 x(n)
si
2000
x(n) >
100
100 6 x 6 100
si
100
x(n) <
x = linspace(-150,150,3000);
y = linspace(-2000,2000,3000);
sat = 2000;
umbral = 100;
y = (x<-umbral).*(-sat) + (x>umbral).*(sat) +
((x>= umbral)&(x<=umbral)).*(20*x);
plot(x,y)
title("Funcion de transferencia Distorsion no lineal");
xlabel(Senal de entrada);
ylabel(Senal de salida);
(4.2)
92
Figura 4.29: Funcin de transferencia del sistema de distorsin no lineal por saturacin.
Usando un tono puro de 500Hz generado en 4.4 como entrada al sistema obtenemos la respuesta en frecuencia.
93
Armnico
Fo
Fo
Fo
Fo
Fo
3
5
7
9
Frecuencia (Hz)
500
1500
2500
3500
4500
Volumen (dB)
10, 820345
27, 12205
30, 668192
34, 578655
36, 127178
94
4.3.3.5.
y(n) = a2 x(n)2
% Funcion de transferencia distorsion no lineal (Polinomica).
% En n o t a c i n de punto fijo.
x = linspace(-200,200,3000);
y = linspace(-2000,2000,3000);
% Termino cuadratico, responsable de distorsion por segunda armonica
a2 = 15;
y = a2*x.^2;
plot(x,y)
title("Funcion de transferencia Distorsion no lineal (Polinomial)");
xlabel(Senal de entrada);
ylabel(Senal de salida);
(4.3)
95
96
Armnico
Fo
Fo
Frecuencia (Hz)
500
1500
Potencia (dB)
48, 698540
13, 721004
(4.4)
97
500Hz al sistema de
98
Armnico
Fo
Fo
Fo
Fo
2
4
6
Frecuencia (Hz)
500
1000
2000
3500
Potencia (dB)
6, 782156
15, 235421
31, 211441
37, 421532
Se evidencia que podemos aplicar estos sistemas cuadrticos y producir el efecto especifico de distorsin armnica con la generacin de las componentes pares.
Sin embargo, esto es reflejado nicamente cuando la seal de entrada es una onda
sinusoidal pura. como la funcin de transferencia tiene simetra par los armnicos
producidos solo sern (2fo , 4fo , 6fo ,...), el 1fo es un armnico impar, y se elimina
al ingresar al sistema. No obstante, se puede mantener la frecuencia fundamental,
se determin que basta con agregar la funcin identidad al sistema para hacerlo.
La identidad trigonomtrica 4.5 para la reduccin de exponentes describe las operaciones asociadas a exponer al cuadrado un tono puro sinusoidal.
2x
sin2 x = 1 cos
2
4.3.3.6.
99
(4.5)
y(n) = a3 x(n)3
% Funcion de transferencia distorsion no lineal (Polinomica).
% En n o t a c i n de punto fijo.
x = linspace(-200,200,3000);
y = linspace(-2000,2000,3000);
% Termino cuadr tico , responsable de distorsi n por tercera a r m n i c a
a3 = 15;
y = a3*x.^3;
plot(x,y)
title("Funcion de transferencia Distorsion no lineal (Polinomial)");
xlabel(Senal de entrada);
ylabel(Senal de salida);
(4.6)
100
Figura 4.38: Respuesta en el tiempo del sistema distorsin cbica 4.6, a un tono
puro de 500Hz de entrada
101
Figura 4.39: Respuesta en frecuencia del sistema distorsin cbica 4.6, a un tono
puro de 500Hz de entrada.
Tabla 4.6: Espectro de potencias de armnicos generados del sistema distorsin
cbica 4.6
Armnico
Fo
Fo
Frecuencia (Hz)
500
1500
Potencia (dB)
8, 483990
19, 938459
En cuanto al anlisis en frecuencia 4.39, se obtuvo como respuesta las componentes armnicas impares y la componente fundamental por ser impar, aparece en
el espectro. En la tabla 4.6 se recogen los niveles de potencia relativos a estas componentes.
102
cia cbica ms la funcin identidad 4.7, como sistema de distorsin, la cual agrega
la componente lineal y lo escala por un coeficiente a.
(4.7)
103
Figura 4.41: Respuesta en el tiempo del sistema de distorsin cbica 4.7, a un tono
puro de 500Hz de entrada
Figura 4.42: Respuesta en frecuencia del sistema de distorsin cbica 4.7, a un tono
puro de 500Hz de entrada
104
Armnico
Fo
Fo
Fo
Fo
3
5
7
Frecuencia (Hz)
500
1500
2500
3500
Potencia (dB)
2, 069880
27, 469328
25, 986374
35, 391556
En cuanto al anlisis en frecuencia 4.42, se obtuvo como respuesta las componentes armnicas impares como en el caso anterior, mantenindose la componente
fundamental pero aumentando la distorsin armnica, con la aparicin de otras
componentes. En la tabla 4.7 se muestran los niveles de potencia relativos a estas
componentes.
El sistema de distorsin descrito como una funcin de transferencia cbica logra producir el efecto especfico de distorsin armnica con la generacin de las
componentes impares, al igual que su contra parte cuadrtico, el efecto solo es reflejado nicamente cuando la seal de entrada es una onda sinusoidal pura. La
funcin de transferencia tiene simetra impar por lo que los armnicos producidos
sern (1fo , 3fo , 5fo ,...), el 1fo es un armnico impar que este particular no se elimina al ingresar al sistema. Al agregar la funcin identidad al sistema se obtiene
mayor contenido armnico y por ende mayor distorsin. La identidad trigonomtrica 4.8 para la reduccin de exponentes describe, una mayor complejidad en las
operaciones asociadas a exponer al cubo un tono puro sinusoidal.
(4.8)
105
Figura 4.44: Respuesta en el tiempo del sistema de distorsin cuadrtica 4.4, a una
pista de acordes de entrada.
Figura 4.45: Respuesta en el tiempo del sistema de distorsin cbica 4.7, a una
pista de acordes de entrada
Este estudio de los sistemas con la pista de acordes permite generalizar que ellos
no producen distorsin armnica debido a que estos productos generan distorsin
por intermodulacin, por lo que no predominan componentes pares ni impares en
las salidas.
106
4.3.3.8.
Modulacin
La suma y diferencia de frecuencias generadas en el modulador en anillo representan resultados de frecuencias igualmente no armnicas que en los casos de
distorsin. Pero en este caso los productos de frecuencia son sumas y diferencias
de la frecuencia portadora y no entre las frecuencias de la misma seal de entrada.
Adems, en la modulacin en anillo, la frecuencia original no est presente, en comparacin con los productos en la distorsin por intermodulacin que sigue siendo
las que aporta ms contenido espectral.
Aunque el resultado audible es fcil de comprender para seales simples, cuando la complejidad de la seal original aumenta, la comprensin del resultado requiere tcnicas de anlisis ms rigurosas. Para este estudio se tomaron dos sinusoidales puros para ilustrar el sistema implementado.
(4.9)
Siendo x(n) y m(n), tonos sinusoidales puros el resultado de multiplicar las dos
seales, sigue la siguiente propiedad trigonomtrica:
(4.10)
200Hz
Figura 4.46: Respuesta en el tiempo del sistema de modulacin sobre tono sinusoidal de 500Hz y portadora 200Hz
107
Figura 4.47: Respuesta en frecuencia del sistema de modulacin sobre tono sinusoidal de 500Hz y portadora 200Hz
En la figura 4.47 se muestra la experiencia realizada con el modulador en anillo, experiencia similar a la que se expona a nivel terico, donde se ha verificado
que la mezcla de la seales suprimen la portadora, obteniendo unas bandas lateras
bien definidas en el espectro de frecuencia. De este modo, con un tono sinusoidal
generado por el procesador
Frecuencia (Hz)
300
700
Volumen (dB)
24, 272306
22, 620872
En efectos en audio digital, los moduladores en anillo existentes tiene una entrada destinada a la conexin de un instrumento. La otra seal es creada normalmente
por algn oscilador interno, la cual es considerada la portadora, este esquema coindice con el implementado sobre el hardware DSP.
108
El sonido de la pista coincide con la suma de varias ondas senoidales diferentes, no un tono puro. De esta forma, el nmero de tonos generados crec como se
muestra en el anlisis espectral 4.48, pues cada componente produce la suma y la
diferencia con todas las seales senoidales parciales contenidas en la otra seal,
creando un sonido complejo asonante.
4.3.4.
109
Filtros digitales
110
4.3.4.1.
El filtro pasa bajas que se muestra en la figura 4.50, tiene una frecuencia de corte
de Fc = 1kHz.
Figura 4.51: Respuesta en frecuencia del filtro pasa bajas, a seal de banda
111
112
4.3.4.2.
El filtro pasa altas que se muestra en la figura 4.52, tiene una frecuencia de corte
de Fc =
5, 501kHz.
Figura 4.52: Respuesta en frecuencia del filtro pasa altas, a seal de banda.
Figura 4.53: Respuesta en frecuencia del filtro pasa alta, a seal de banda.
113
5501Hz, teniendo
como potencia de una frecuencia de prueba de 1200Hz= 70, 0764395dB. De acuer-
114
4.3.4.3.
El filtro pasa banda que se muestra en la figura 4.54, tiene una frecuencia de
corte Fc =
Figura 4.55: Respuesta en frecuencia del filtro pasa banda, a seal de banda.
115
En la figura 4.51 se visualiza la atenuacin de las componentes de baja y alta frecuencia, permitiendo el paso de las frecuencias dentro de la banda
1500Hz a 5501Hz
4001Hz, teniendo como potencia de una frecuencia de prueba de 6000Hz = 62, 027370dB. De acuerdo con el anlisis espectral mostrado, se
116
4.3.4.4.
Filtro Notch
Para la implementacin particular del filtro Notch, se dise con una frecuencia
se llevaron a cabo dos pruebas una con un tono puro, evaluando cuando selectivo
117
Figura 4.57: Respuesta en frecuencia del filtro Notch, a un seal sinusoidal pura de
6kHz
71, 315651dB
para Khz. Ahora bien para la prueba del filtro Notch sobre una pista de acordes se
680Hz, con la
118
4.59 tambin se puede apreciar el efecto asociado al ancho de banda del diseo que
atena tambin el contenido armnico alrededor de la frecuencia de corte.
Se debe sealar que esta seleccin de coeficientes acorde al manejo del tamao
de los datos exhibe un comportamiento oscilatorio del filtro mientras mayor es la
cantidad de coeficientes, menor ser el efecto en la banda de paso, adems al ser
extrapolados estos coeficientes a CCS para la implementacin en el hardware deben
ser truncados y este procedimiento aumenta considerablemente el rizado en las
mismas bandas.
Las desviaciones con respecto a la respuesta deseada (tanto en la banda de paso
como en la banda de rechazo) pueden expresarse en valores absolutos o en decibelios (dB), indicando la ondulacin mxima (rizado) tolerada en la banda de paso y
la atenuacin mnima exigida en la banda de rechazo.
119
120
4.3.5.
121
En la figura 4.60 se muestra el ecualizador para una tono dual, con dos frecuencias,
800Hz y 4KHz 4.61, las cuales fueron seleccionadas para estar en la banda de
paso del filtro pasa bajo y del pasa banda con los niveles de potencia que se muestran en 4.9, pero fuera del pasa alta. No obstantes, se le predetermin a la salida
del filtro pasa banda una ganancia nula, y para otros una ganancia de 1 (32767 en
notacion Q15 de punto fijo).
Frecuencia (Hz)
800
4000
Potencia (dB)
6, 390619
7, 874199
122
Figura 4.62: Respuesta en frecuencia del sistema de ecualizacin, a una seal dual
(800Hz-4kHz).
Tabla 4.10: Espectro de potencias del sistema actualizador, a una sealde tono
dual.
Frecuencia (Hz)
800
4000
Potencia (dB)
13, 150507
69, 586319
800Hz, es
debido a varias razones, entre ellas, que las respuesta del filtro pasa baja es alterada
ligeramente por el redondeo (truncado) de los coeficientes del filtro, esto altera la
posicin de los ceros en el diagrama de polos y ceros del sistema, por lo cual existe
una tolerancia de error en la frecuencia de diseo.
123
Para una seal de banda de frecuencias, que puede representar un ruido blanco,
se aplic el sistema de ecualizacin, con esta experiencia se permite ilustrar el efecto
auditivo de la aplicacin de este sistema.
Figura 4.63: Ecualizador digital de tres bandas, para seal de banda (200Hz-8kHz).
En la figura 4.63 se muestra el ecualizador para una seal de banda que podra
describir un ruido blanco, con frecuencias, desde
124
1001Hz a 1500Hz) es atenuada por las bandas de rechazo de los filtros pasa bajo y
banda, lo siguiente observable es que en la banda de rechazo del filtro pasa alta la
83
125
Se evidencia que la implementacin de un ecualizador digital, no consiste simplemente en el control de la ganancia de bajo, medios y altos. El ecualizador usa el
banco de filtros con bandas de paso definidas y diseadas para aislar completamente ciertas bandas de frecuencias con el objetivo de tener control sobre el espectro de
audio de la seal de entrada. De esta manera, cada filtro en el ecualizador tiene
la misma entrada, por lo que el trabajo de cada filtro consiste en permitir pasar
nicamente una pequea banda convenientemente segn las necesidades del instrumento o la pista. As mismo, una vez que la seal pasa por cada filtro, el usuario
puede manipular cada banda independientemente modificando su ganancia.
126
4.4.
4.4.1.
4.4.2.
127
4.4.3.
128
filtro con una onda cuadrada o senoidal, y tambin le permite leer en una seal a
filtrar. El programa mostrar tanto la seal filtrada y sin filtrar en el dominio de la
frecuencia y del tiempo. Tambin cuenta con un banco de pruebas de audio que le
permite aplicar el filtro a un archivo .wav que le permite escuchar los efectos de
filtrado.
4.4.4.
4.4.4.1.
Para esta prctica de laboratorio de iniciacin, se provee un documento al estudiante con los fundamentos de programacin bsicos en C para el desarrollo de
aplicaciones DSP. Esta practica tiene por objetivo reconocer similitudes y discrepancias con lenguajes ya conocidos para realizar programas simples para solucionar
problemas matemticos.
Para realizar las actividades de esta prctica deber usar la herramienta del laboratorio de programacin virtual alojada en el curso PDS del aula virtual. Esta
herramienta se usa en un pre-laboratorio de prueba en VPL (Hola mundo en C).
Por otro lado para el laboratorio, el contenido a desarrollar sera asociado a programacin en C como Funciones, Manejo de matrices y manejo de punteros, complementando esta sesin con el tutorial de programacin en C en lnea.
129
4.4.4.2.
Prctica 1
Esta prctica de laboratorio provee al estudiante un documento de lectura acerca de procesadores de aritmtica de punto fijo (fixed point) para el manejo de desbordamiento y escalamiento y las nociones generales para el uso de la librera DSPLIB
y las consideraciones para procesamiento en tiempo real(RT).
130
4.4.4.3.
Prctica 2
La siguiente prctica de laboratorio tiene por objetivo el diseo de sistemas discretos para aplicaciones en tiempo real sobre fenmenos acsticos mediante y la
implementacin sobre el hardware TMS320C55x gestionado con CCS. Se incluyen
en esta sesin actividades de pre laboratorio usando la herramienta vpl para el dominio de bfers circulares y lineales en C, como tambin diseo de sistemas discretos usando Octave. Por otro lado se complementa esta sesin con la herramienta de
programacin con Octave en lnea como soporte para las libreras del software.
4.4.4.4.
Prctica 3
131
4.4.5.
Para cada una de las prcticas de laboratorio se agreg una lectura previa como
prembulo a las sesiones del laboratorio donde se recopilaron los aspectos generales necesarios para que el estudiante pueda llevar a cabo las diferentes sesiones.
Estos documentos cuentan con una resea del contenido y agregan las fuentes bibliogrficas para que pueda ser extendido y profundizado. Se crearon cuatro lecturas asociadas a cada una de las prcticas elaboradas.
Referencias Bibliogrficas
[1] S.M. Kuo, B.H. Lee, and W. Tian. Real-Time Digital Signal Processing: Implementations and Applications. Wiley, 2006. ISBN 9780470035511. URL http:
//books.google.co.ve/books?id=QIj9Pthp_T8C.
[2] C. Marven and G. Ewers. A Simple Approach to Digital Signal Processing. Topics
in Digital Signal Processing. Wiley, 1996. ISBN 9780471152439. URL http:
//books.google.co.ve/books?id=RcwZAQAAIAAJ.
[3] C. Roads, S.T. Pope, A. Piccialli, and G. De Poli. Musical Signal Processing.
Studies on new music research. Taylor & Francis, 2013. ISBN 9781134379774.
URL https://books.google.co.ve/books?id=m79mAgAAQBAJ.
[4] J. O. Smith. troduction to digital filters with audio applications. URL http:
//www.stanford.edu/jos/filters/.
La percepcin sensorial.
ISBN 9789681853075.
URL https://books.google.co.ve/books?id=
vcMARAAACAAJ.
[6] S.J. Orfanidis. Introduction to Signal Processing. Prentice Hall international editions. Prentice Hall, 1996. ISBN 9780132403344. URL https://books.google.
co.ve/books?id=4oC7QgAACAAJ.
133
URL
134
Referencias Bibliogrficas
[8] Christopher Inacio and Denise Ombres. The DSP decision: Fixed point or
floating? IEEE Spectr., 33(9):7274, September 1996. ISSN 0018-9235. doi:
10.1109/6.535397.
[9] Texas Instruments. C55x digital signal processor selection. URL http://www.
ti.com/lsds/ti/processors/dsp/c5000_dsp/c55x/products.page.
[13] Steven W. Smith. The Scientist and Engineers Guide to Digital Signal Processing.
California Technical Publishing, San Diego, CA, USA, 1997. ISBN 0-96601763-3.
[14] S.K. Mitra. Digital Signal Processing Laboratory Using MATLAB. Computer
science series. WCB/McGraw-Hill, 1999. ISBN 9780071165921. URL http:
//books.google.co.ve/books?id=qGqKQgAACAAJ.
[15] Enrique Rubio R. Juan Carlos Rodrguez del Pino, Zenn J. Hernndez F. Vpl:
Laboratorio virtual de programacin para moodle. In XVI Jornadas de Enseanza Universitaria de la Informtica, 2010.
[16] M.D. Galanis, A. Papazacharias, and E. Zigouris. A DSP course for real-time
systems design and implementation based on the tms320C6211 DSk. In Digital Signal Processing, 2002. DSP 2002. 2002 14th International Conference on, volume 2, pages 853856vol.2, 2002. doi: 10.1109/ICDSP.2002.1028224.
[17] S.H. Mousavinezhad and I.M. Abdel-Qader.
theory and practice. In Frontiers in Education Conference, 2001. 31st Annual, volume 1, pages T2C1316vol.1, 2001. doi: 10.1109/FIE.2001.963878.
Referencias Bibliogrficas
135
[18] L.W. Couch. Sistemas de comunicacin digitales y analgicos. Pearson Educacin, 2008. ISBN 9789702612162. URL https://books.google.co.ve/books?
id=A6imOgAACAAJ.
ISBN
doi:
10.1109/IEEESTD.1995.122623.
[22] J.G. Proakis and D.G. Manolakis. Digital Signal Processing. Pearson Prentice
Hall, 2007. ISBN 9780132287319. URL https://books.google.co.ve/books?
id=twtGPwAACAAJ.
[23] B. Owsinski and M. OBrien. The Mixing Engineers Handbook. Mix pro audio
series. Mix Books, 1999. ISBN 9780872887237. URL https://books.google.co.
ve/books?id=cb00zXmqOpQC.
[24] J.D. Reiss and A. McPherson. Audio Effects: Theory, Implementation and Application. CRC Press, 2014. ISBN 9781466560291. URL https://books.google.co.
uk/books?id=mlHSBQAAQBAJ.
136
Referencias Bibliogrficas
ISBN
URL
http://support.spectrumdigital.com/boards/ezdsp5535/revc/files/
ezdsp5535_TechRef_RevC.pdf.
Anexo A
Anexo B
Anexo C
Anexo D
Anexo E