Está en la página 1de 93

FECHA 28 de Noviembre

NÚMERO RA
PROGRAMA Ingeniería de Sonido

AUTOR (ES) GARCÍA MARTÍNEZ, Mauricio Alberto y RODRÍGUEZ


GUEVARA, Juan Pablo.
TÍTULO Diseño e implementación de un vocoder hardware
digital.

PALABRAS CLAVES Vocoder de canal, DSP, software, hardware, señal,


síntesis, sistema, algoritmo, canal de análisis,
banco de filtros, ventaneo, FFT, STFFT, IFFT,
magnitud, frecuencia, fase, convolución, resintesis.

DESCRIPCIÓN El desarrollo de herramientas tipo hardware y software


para el procesamiento de señal, representa una de las
áreas más importante en el ámbito de ingeniería de
sonido y la música, con múltiples propósitos tanto de
análisis, detección, control, optimización y modificación
de señales musicales. Dichas funciones son efectuadas a
través del uso de sistemas especializados en el
procesamiento de señal de audio sobre medios
digitales. Estos dispositivos son las herramientas
funcionales en el trabajo y ejercicio de las facultades
laborales de un ingeniero de sonido.

FUENTES 1. Oppenheim, Alan V; Willsky, Alan S;


BIBLIOGRÁFICAS Nawab, Hamid. 1998. Señales y Sistemas.
México: Pearson Prentice Hall.

2. Floyd, Thomas L. 2000. Fundamentos de


Sistemas Digitales. España: Pearson
Prentice Hall.

3. Owens, F. J. 1993. Signal Processing of


Speech. New York: McGraw Hill.

4. Saito, Chuzo. 1985. Fundamentals of

1
Speech Signal Processing. Tokyo:
Academic.

5. Zolser, Udo. 1997. DAFX Digital Audio


Effects. England: Jhon Wiley & Sons, LTD.

6. Proakis, Jhon G. 1988. Tratamiento Digital


de Señales: Principios, Algoritmos y
Aplicaciones. Madrid: Pearson Prentice
Hall.

7. Ashok, Albardar. 2002. Procesamiento


de Señales Analógicas y Digitales.
México: Thomson Editores.

8. Gold, Bernard; Rader, Charles M. 1967.


The Channel Vocoder. IEEE Transactions
on Audio and Electroacoustics, Vol. AU-
15, No. 4 December.

9. Laroche, Jean; Dolson, Mark. 1999.


Improved Phase Vocoder Time-Scale
Modification of Audio. IEEE Transactions
on Speech and Audio Processing, Vol 7,
No. 3 May

10. Bially, Theodore; Anderson, Walter M.


1970. A Digital Channel Vocoder. IEEE
Transactions on Communication
Technology, Vol. Com-18, No. 4, August.

11. Griffin, Daniel W. 1988. Multiband


Excitation Vocoder. IEEE Transactions on
Speech and Audio Processing, Vol. 36,
No. 8, August.

2
DISEÑO E IMPLEMENTACIÓN DE UN VOCODER HARDWARE DIGITAL

MAURICIO ALBERTO GARCÍA

JUAN PABLO RODRÍGUEZ GUEVARA

UNIVERSIDAD DE SAN BUENAVENTURA

FACULTAD DE INGENIERÍA

INGENIERÍA DE SONIDO

BOGOTÁ 2008
3
DISEÑO E IMPLEMENTACIÓN DE UN VOCODER HARDWARE DIGITAL

MAURICIO ALBERTO GARCÍA

JUAN PABLO RODRÍGUEZ GUEVARA

Tesis para optar al título de ingeniero de sonido

ASESORES:

MIGUEL PÉREZ

Ingeniero Electrónico

RAUL RINCÓN

Ingeniero de Sonido

UNIVERSIDAD DE SAN BUENAVENTURA

FACULTAD DE INGENIERÍA

INGENIERÍA DE SONIDO

BOGOTÁ 2008
4
TABLA DE CONTENIDO

Pag.
1. PLANTEAMIENTO DEL PROBLEMA 11
1.1 Antecedentes 11
1.2 Descripción y formulación el problema 12
1.3 Justificación 13
1.4 Objetivos de la investigación 14
1.4.1 Objetivo general 14
1.4.2 Objetivos específicos 14
1.5 Alcances y limitaciones del proyecto 15
1.5.1 Alcances 15
1.5.2 Limitaciones 15
2. MARCO DE REFERENCIA 16
2.1 Marco conceptual 16
2.1.1 Representación de sistemas computacionales para 16
audio
2.1.2 Lenguajes primitivos para el procesamiento de sonido 16
2.1.3 Introducción a Simulink 17
2.1.4 Simulación 18
2.1.5 Modelado 19
2.1.6 Números complejos 20
2.1.7 Funciones y variables 22
2.1.8 Funciones polinomiales 23
2.1.9 Funciones trigonométricas 24
2.1.10 Transformadas 26
2.1.11 Filtros 28
2.1.12 Interfaz grafica de usuario en Matlab 32
2.1.13 Procesamiento digital de señal (DSP) 38
2.1.14 Vocoder 42
2.1.15 Teoría del vocoder 42
2.1.16 Vocoders basados en predicción lineal 44
2.1.17 Aplicaciones musicales 44
2.2 Marco legal o normativo 46
2.2.1 Legislación internacional: organización mundial de la 46
propiedad intelectual (OMPI)
2.2.2 Legislación Nacional: Dirección nacional de derechos de 46
autor
2.2.3 Licencias de software 47
3. METODOLOGÍA 49
3.1 Enfoque de la investigación 49
3.2 Línea de investigación USB / sub-línea de facultad / 49
campo temático del programa
3.3 Técnicas de recolección de información 50
5
3.4 Hipótesis 50
3.5 Variables 51
3.5.1 Variables independientes 51
3.5.2 Variables dependientes 51
4. DESARROLLO INGENIERIL 52
4.1 Vocoder de canal 52
4.1.1 Filtros 54
4.1.2 Extracción y modificación de parámetros 61
4.1.3 Calculo de la magnitud, frecuencia y fase de la señal 63
4.1.4 Reconstrucción de la señal 64
4.2 Implementación del algoritmo al hardware digital 67
4.3 Implementación de la interfaz gráfica 72
5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS 77
5.1 Vocoder de canal 77
5.1.1 Vocoder hardware digital 79
5.1.2 Vocoder software 86
6. CONCLUSIONES 89
7. RECOMENDACIONES 91
BIBLIOGRAFÍA 92

6
LISTA DE FIGURAS

Pag.
Figura 1 Representación de funciones computacionales para audio 16
Figura 2 UG Score 17
Figura 3 Entorno grafico Simulink 18
Figura 4 Bloques de la librería Simulink 20
Figura 5 Módulos de conexión 20
Figura 6 Interpretación geométrica de un número complejo 22
Figura 7 Descripción grafica de funciones trigonométricas 24
Figura 8 Tipos de filtros 29
Figura 9 Estructura filtro FIR 30
Figura 10 Estructura filtro IIR 31
Figura 11 Guide- Matlab 33
Figura 12 Ventana de inicio Guide 33
Figura 13 Entorno de diseño 34
Figura 14 Herramientas de diseño Guide 35
Figura 15 Propiedades de los componentes Guide 37
Figura 16 Herramientas para personalizar componentes 37
Figura 17 Estructura de la tarjeta DSP 40
Figura 18 Periféricos de entrada y salida DSP 41
Figura 19 Transformada rápida de Fourier en tiempo corto 53
Figura 20 Estructura del canal de análisis 54
Figura 21 Banco de filtros Vs FFT 54
Figura 22 Modulo de análisis para cada canal 55
Figura 23 Respuesta en frecuencia 55
Figura 24 Respuesta en frecuencia 56
Figura 25 Respuesta de fase 57
Figura 26 Respuesta al impulso 57
Figura 27 Grafica de polos y ceros 58
Figura 28 Respuesta en frecuencia 58
Figura 29 Componente espectral antes y después del filtro pasa-bajas 59
(canal uno)
Figura 30 Componente espectral antes del filtrado (cuatro canales) 60
Figura 31 Componente espectral después del filtrado (cuatro canales) 60
Figura 32 Función de ventaneo Hamming 61
Figura 33 Parámetros de análisis de la función de ventaneo 61
Figura 34 Algoritmo de manipulación y modificación de las señales 63

7
Figura 35 Algoritmo de manipulación y modificación de las señales 64
Figura 36 Diagrama de bloques del proceso de reconstrucción de 65
señal
Figura 37 Algoritmo completo de un canal del Vocoder 65
Figura 38 Diagrama de bloques estructura Vocoder 65
Figura 39 Algoritmo completo de una canal del Vocoder 66
Figura 40 Diagrama de bloques 67
Figura 41 Algoritmo Completo desarrollado en Simulink 67
Figura 42 Test 68
Figura 43 Módulos de soporte tarjeta DSP 69
Figura 44 Programa gestor de descarga del algoritmo 69
Figura 45 Algoritmo para la división de la señal stereo 70
Figura 46 Configuración EMIF clock 71
Figura 47 Carga del algoritmo en DSP 71
Figura 48 Interfaz gráfica 72
Figura 49 Uso de CPU y Memoria 78
Figura 50 Señal pura y la resintetizada con el Vocoder 500 Hz 80
Figura 51 Señal pura y la resintetizada con el Vocoder 1000 Hz 81
Figura 52 Señal pura y la resintetizada con el Vocoder 2000 Hz 82
Figura 53 Señal envolvente de 2000 Hz 83
Figura 54 Señal resintetizada envolvente 2000 Hz con una de 220 Hz 83
Figura 55 Espectro de frecuencia de la señal resintetizada 2000 Hz 84
Figura 56 Señal de voz original y su resintesis con un tono puro de 84
220 Hz
Figura 57 Espectro en frecuencia de la señal de voz 85
Figura 58 Espectro en frecuencia de las señales reconstruidas 85
Figura 59 Señal pura de 1000 Hz y su resintesis con un tono puro de 86
220 Hz
Figura 60 Resintesis de la señal de 1000 Hz con la de 220 Hz 87
Figura 61 Resintesis de la señal instrumental con la de 500 Hz 87
Figura 62 Espectro en frecuencia del instrumento (Guitarra) 88
Figura 63 Espectro en frecuencia de la señal reconstruida 88

8
LISTA DE TABLAS

Tabla 1 Componentes de diseño de Guide. 35

LISTA DE CUADROS

Cuadro 1 Valores de las frecuencias de corte de los filtros en Hz 56

LISTA DE FOTOGRAFÍAS

Foto 1 Tarjeta DSP 41

LISTA DE ANEXOS

Anexo 1 Material multimedia 93

9
INTRODUCCIÓN

El desarrollo de herramientas tipo hardware y software para el procesamiento


de señal, representa una de las áreas más importante en el ámbito de
ingeniería de sonido y la música, con múltiples propósitos tanto de análisis,
detección, control, optimización y modificación de señales musicales. Los
nuevos e innovadores sistemas tecnológicos forjados en el seno de las ciencias
duras como la ingeniería, moldean el escenario sobre el cual se estructura una
atmosfera de interacción entre los conceptos, modelos y conocimientos de
carácter teórico, práctico, científico y emperico, y la facultad humana de crear
dispositivos que son el resultado de la convergencia de dichos recursos en una
unidad o punto determinado. De este modo, es como se plantea la importancia
que tiene esta área del desarrollo científico y tecnológico para el trabajo y
ejercicio de las facultades laborales de un ingeniero de sonido. La creación de
recursos electrónicos destinados al procesamiento y manipulación de señales
sonoras o musicales, plasma el marco de referencia que acota y suministra los
recursos necesarios para llevar a cabo la ejecución de este proyecto. El
desglose general del mismo, permite la identificación y posterior trabajo de los
recursos antes mencionados, con el fin de articular un plan de desarrollo
ingenieril que contiene las características del escenario de trabajo sobre el cual
se lleva a cabo el proceso de creación de un Vocoder Hardware Digital. De
esta manera se pretende desarrollar un dispositivo electrónico capaz de
manipular, procesar y transformar dos señales sonoras; la voz humana y el
sonido de un instrumento musical, en una sola señal que conserve las
características físicas que modelan los sonidos iníciales, dando como
resultado, de esta manera, un efecto de sonido que logra mezclar las
propiedades sonoras de los dos sonidos involucrados en el proceso efectuado
por el sistema en mención. Un Vocoder es un dispositivo electrónico capaz de
transformar dos señales musicales en una nueva. Es comúnmente usado en
producción musical de banda sonora para cine y televisión, eventos en vivo
como dispositivos que permiten agregar efectos a la voz y en sí, en toda
actividad en el ámbito de ingeniería de sonido que requiera de su uso. De esta
manera se plantea la importancia de llevar a cabo la realización de este
proyecto, como medio a través del cual se impulsa la investigación y
generación de trabajos en cuanto a desarrollo de sistemas electrónicos de
carácter digital.

10
1. PLANTEAMIENTO DEL PROBLEMA

1.1 ANTECEDENTES

Las herramientas dispuestas en el ámbito de producción musical para el


procesamiento de señal digital, son diversas tanto en materia de software como
de hardware. Estos sistemas electrónicos en los últimos años han alcanzado
un nivel protagónico importante en todos los procesos y actividades inherentes
al ejercicio de la producción musical. Cada vez es más frecuencia el uso de
dispositivos que desempeñando el trabajo de generación y procesamiento de
sonidos mediante una arquitectura constituida básicamente por algoritmos
diseñados para el trabajo de los sistemas sobre plataformas digital. Dichas
unidades, plantean ventajas en cuanto a nuevas y mejores posibilidades de
intercomunicación entre módulos periféricos tipo software y hardware; a través
de interfazes de conversión análogo-digital, mediante protocolos de de
transmisión de datos y comunicación como MIDI y puertos USB. Sin embargo,
el desarrollo de estos instrumentos se remonta al año 1964 cuando Robert
Moog hace la presentación de su primer sintetizador llamado “Moog Modular
Synthesizer, durante la Convención de la Sociedad de Ingeniería de Audio
(Audio Engineering Societen) celebrada en Los Ángeles”1, evento donde
Robert hace sus primeros negocios. Esta fue una de las primeras maquinas
análogas para el procesamiento de señal sonora, basadas en procesos de
síntesis aditiva y sustractiva para la modificación de la misma. De esta forma se
inicio el movimiento impulsor del proceso de globalización de los equipos
electrónicos de audio, aplicados al campo de la producción musical.

En la actualidad existen múltiples sistemas electrónicos para el procesamiento


de señal; tanto análogos como digitales, con características mucho más
avanzadas y sofisticadas. Encontramos herramientas tipo software como
Vokator desarrollado por la casa Native Instruments2 o el FM8 elaborado por la
misma empresa. Estos sistemas realizan síntesis por modulación de frecuencia
y amplitud; además, permiten la asignación de efectos a los sonidos creados e
importados al programa. Por otro lado, también se encuentran Plug-Ins en

1
http://es.wikipedia.org/wiki/Moog_modular
2
http://www.native-instruments.com/. Visitada el 29 de octubre 2007.
11
formatos VST, RTAS y otros mas, como el “LADSPA”3 para Linux, el “Orange
Vocoder”4 para Windows y Mac y algunos creados por la compañía
“Steinberg©”5; creadora de los Plug-Ins de extensión VST.

En Colombia el desarrollo de tecnología musical vía hardware es precario ya


que no existen muchos antecedentes productivos e investigativos que soporten
la evidencia de gestión frente al tema.

1.2 DESCRIPCIÓN Y FORMULACIÓN EL PROBLEMA

Este proyecto busca implementar un sistema electrónico de audio; que pueda


ser útil en el campo de producción musical y banda sonora para cine y
televisión, además de todas aquellas áreas de la Ingeniería de Sonido que
requieran de su uso, a través del trabajo con dispositivos tipo software y
hardware especializados en procesamiento digital de señales.

La elaboración de proyectos que estimulen la creación científica y tecnológica


de herramientas útiles para el ejercicio de las actividades laborales de los
ingenieros de sonido, representa el espacio a través del cual, los estudiantes,
docentes y personal agregado al cuerpo universitario, pueden desarrollar,
aprender y consolidar, conocimientos de carácter científico, técnico y empírico,
en cuanto a procesamiento digital de señales para la producción musical.
De esta forma se formula la siguiente pregunta: ¿Cuales son las ventajas y
desventajas encontradas en el desarrollo de un sistema hardware para el
procesamiento de señal, las posibilidades en su diseño, construcción e
implementación del mismo?

3
http://www.sirlab.de/linux/vocoder.html#vocoder_ladspa. Visitada el 29 de octubre 2007.
4
http://www.prosoniq.com/main/orangevocoder/. Visitada el 29 de octubre 2007.
5
http://www.steinberg.net/. Visitada el 30 de octubre 2007.
12
1.3 JUSTIFICACIÓN

Este proyecto se desarrolla con el fin de impulsar la creación e investigación


científica y tecnológica de dispositivos electrónicos especializados en el
procesamiento digital de señales sonoras. Además, busca promover el diseño y
construcción de dispositivos a nivel teórico y práctico, a través de la creación
de algoritmos y sistemas que interactúan entre sí de manera simultánea, sobre
plataformas de desarrollo para medios digitales. Lo antes mencionado,
adquiere importancia ya que representa una forma adecuada de generar un
proceso de consolidación, canalización e interpretación, de las operaciones,
conceptos y procesos matemáticos inherentes al trabajo con señales sonoras.
Entonces, se busca establecer un método que permita comprender el
significado, manejo y utilidad de todos los parámetros físicos como la amplitud,
fase y frecuencia, de los eventos sonoros en tiempo discreto.

Este dispositivo es diseñado y construido como un sistema apto para el


procesamiento de señales musicales cuasi-periódicas como la voz o la onda
generada por una guitarra.

13
1.4 OBJETIVOS DE LA INVESTIGACIÓN

1.4.1 OBJETIVO GENERAL

Diseñar e implementar un vocoder digital, usando técnicas y hardware de


procesamiento digital de señales.

1.4.2 OBJETIVOS ESPECIFICOS

• Desarrollar un algoritmo sobre la plataforma de desarrollo Matlab, a


través del gestor de proyectos para medios digitales Simulink.
• Implementar los algoritmos DSP en el hardware digital.
• Crear una interfaz grafica software.

14
1.5 ALCANCES Y LIMITACIONES DEL PROYECTO

1.5.1 ALCANCES

Con este proyecto se pretende generar un pequeño aporte que permita


estimular la creación de iniciativas en cuanto a diseño y desarrollo de
herramientas útiles de tipo software y hardware, en el campo de la producción
de audio profesional.

Mostrar las posibilidades en cuanto a diseño y construcción de sistemas para la


manipulación de señal, mediante la comparación de conceptos, técnicas y
procesos, encontrados en sistemas similares. Además, esta investigación
puede suministrar pautas importantes en cuanto a conceptos y procesos
inherentes al desarrollo de sistemas electrónicos híbridos (software y
hardware), que basan su funcionamiento en el procesamiento de señal en
tiempo discreto.

1.5.2 LIMITACIONES

El cumplimiento de lo establecido depende del costo de los elementos


requeridos para el desarrollo y en especial para el ensamblaje del dispositivo,
además, se podrían encontrar eventuales limitaciones en cuanto al completo
desconocimiento de la forma de uso, de los posibles instrumentos requeridos
para la construcción del proyecto.

15
2 MARCO DE REFERENCIA

2.1 MARCO CONCEPTUAL

2.1.1 Representación de sistemas computacionales para audio. La


programación mediante diagramación nace como consecuencia de la falta de
modelos que permitan la generación de sistemas estandarizados bajo las
metodologías para el desarrollo y análisis de entornos gráficos
computacionales, de eventos físicos particulares. De este modo se generó un
modelo de programación mediante módulos o bloques que poseen una
estructura interna programable o programada como elemento para la
realización de sistemas modulares constituidos por dichos elementos. Un
subsistema o modulo básico posee los elementos de posible entrada, proceso
y salida lo que permite ser interconectado para generar un sistema mas
complejo. En el procesamiento de señal, esta diagramación podría
ejemplarizarse con el desarrollo tecnológico de unidades generadoras de
sonido UG, procesadores y generadores de audio. En la figura No.1 se indican
distintas funciones usadas en la elaboración de diagramas en bloques.

Fig.1 Representación de funciones computacionales para audio.

2.1.2 Lenguajes primitivos para el procesamiento de sonido. Un modulo


primitivo para producir, modificar o adquirir audio externo es el lenguaje
MUSIC-N creado por Max Mathews en los laboratorios bell a finales de la
década de 1950, siendo aplicado en composiciones de 1960-1970, a través de
la serie music v, la cual estableció un simbología estándar para el desarrollo de
procesos de música computarizada a través de unidades generadoras UG.
Estas, proponen la conexión modular entre elementos de manera similar a
16
como se realiza en sistemas musicales analógicos (ej, moog), el complejo
resultante se conoce como instrumento y a su vez orquesta a un numero de
instrumentos, para cada instrumento los parámetros de las unidades
generadoras pueden ser variados a través de una lista o score en unidades de
tiempo (secuencia) musical variando los parámetros de las unidades
generadoras.

En la actualidad estos scores son conocidos como lista de eventos según el


protocolo MIDI. En Music V estos parámetros son invocados secuencialmente
generando eventos sonoros conocidos como notas. La figura 2 expone la
mecánica de funcionamiento y la interfase grafica del programa MUSIC. Para la
generación de señales de audio de una manera primitiva era necesario usar
las sentencias (oscil) para la inicialización de un oscilador, (line) para
envolventes, filtros digitales a través de (Reson), procesos de retardo (delay), y
sonido entrante a la computadora (soundin). Un programa más moderno y
funcional fue Nyquist como una modernización de Music-N y aun más en
nuestra actualidad CSound sin embargo las UG son más susceptibles en la
elaboración de sintetizadores que para la elaboración de procesadores de
sonido.

Fig. 2 UG Score.

2.1.3 Introducción a Simulink. Simulink es un ambiente interactivo para


modelar una amplia variedad de sistemas dinámicos, pudiendo ser estos
lineales, no lineales, discretos, de tiempo continuo y sistemas mixtos. Permite
realizar diagramas de bloques con operaciones click-and-drag, cambiar
parámetros del modelo y visualizar resultados durante una simulación.

17
Es también un sistema abierto, que permite al usuario escoger, adaptar y crear
componentes o subsistemas. Simulink se apoya en el ambiente Técnico
Computacional de Matlab. Este programa y su grupo de Toolboxes ofrecen un
conjunto amplio de herramientas de ingeniería y matemática para definir
algoritmos, analizando datos y visualizando resultados. Juntos, Simulink y
Matlab, proveen un entorno integrado para construir modelos versátiles y
dinámicos para el diseño, simulación y testeo de nuevos modelos o sistemas.

Fig. 3 Entorno grafico Simulink.

• Simulación y análisis. Simulink y los Toolboxes de Matlab permiten


moverse sobre varios niveles de modelado diseño y simulación. Se
pueden utilizar los modelos Simulink para simulación, linealización del
modelo, determinación de los puntos de equilibrio, optimización de
parámetros y análisis.

2.1.4 Simulación. Los diagramas de bloques Simulink facilitan un entorno


interactivo para la simulación de sistemas lineales, no lineales y discretos. La
simulación se puede realizar desde menús descolgables o desde la línea de
comandos de Matlab. Los resultados pueden ser vistos durante la simulación
usando osciloscopios (Scopes) o bloques gráficos (Graph blocks); y grabados
en un archivo o transferidos al espacio de trabajo de Matlab para su posterior
análisis o procesamiento. Simulink permite realizar el análisis de modelos
cambiando los parámetros del mismo mientras se lleva a cabo la simulación.6

6
The Math Works inc. Simulink - Dynamic Simulation for Matlab‘USING SIMULINK’.

18
2.1.5 Modelado.

• Representación de sistemas dinámicos con diagramas de bloque.


Simulink permite desarrollar modelos de sistemas dinámicos mediante
ecuaciones y diagramas de bloque. Se pueden crear modelos lineales o
no lineales, de tiempo discreto o continuo, o modelos híbridos utilizando
“drag and drop” (arrastrar y dejar) para mover los componentes desde
una biblioteca de bloques y conectándolos entre sí usando el mouse.

• Librería de bloques. La Librería de Bloques de Simulink contiene


centenares de componentes agrupados de la siguiente manera:

• Sources ( fuentes ),
• Sinks ( visualizadores / salidas ),
• Discrete ( discreto ),
• Linear ( lineal ),
• Nonlinear ( no lineales ),
• Blocksets & Toolboxes ( herramientas extras ).

Los bloques de entradas y de salidas se usan para intercambiar vectores


entrada-salida de simulación con el entorno Matlab y archivos de datos.
Los bloques de tiempo discreto permiten modelar y simular subsistemas
con datos muestreados tales como sistemas de control digital y
procesamiento de señales. Otros bloques utilizan comandos Matlab por
sus posibilidades adicionales de análisis. En la figura No.4 se visualiza la
librería de Simulink.

19
fig.4 Bloques de la librería Simulink.

En cada una de las librerías, hay procesos asociados a ellas como por ejemplo
en la librería Signal Processing Sinks. Se encuentran los módulos que permiten
visualizar el flujo de señal e intercomunicar el sistema diseñado con el entorno
exterior. La figura No. 5 muestra el entorno de conexión de Simulink.

Fig.5 módulos de conexión.

2.1.6 Números complejos. Las señales de sonido discretizadas digitalmente,


pueden ser modeladas como señales complejas que contienen información
20
numérica real e imaginaria. Este modelo es imprescindible para el
procesamiento de la señal de sonido ya que mediante interpretaciones de tipo
complejo es factible analizar y modificar el espectro de señales de audio. En
este proyecto las interpretaciones complejas ayudan a estimar los parámetros
que componen el sonido de instrumentos musicales y la voz, modelados como
fuentes cuasi-periódicas.

La unidad imaginaria i es el número que multiplicándolo por si mismo da -1,


siendo i²=i*i=-1. Luego se pueden definir lo números complejos como la pareja
x+iy, donde x y y son números reales, llamados respectivamente parte real y
parte imaginaria del número complejo.

Dados dos números complejos, c1=x1+iy1, c2=x2+iy2, c3=x3+iy3, las


operaciones son precisadas como:

Suma: c1+c2 =(x1+x2)+i (y1+y1)


Resta: c1-c2=(x1-x2)+i (y1-y2)
Multiplicación: c1*c2 = (x1x2-y1y2) +i (x1y2+x2y1)
División: c1/c2= ((x1x2+y1y2)+ (x2y1-x1y2))/ ((x2)*(x2))+ ((y2)*(y2))

La interpretación geométrica de la noción de números complejos se obtiene


asumiendo el número geométrico c = x + ij, como un punto en el plano x,
permitiendo el paso de coordenadas ortogonales x y y conocidos como eje real
y eje imaginario a coordenadas polares en magnitud p (valor absoluto) y fase ө
también conocida como argumento. Esta interpretación grafica de una cantidad
compleja puede ubicarse en el plano de los reales como se muestra en la figura
No. 6.

La magnitud de un número complejo puede ser obtenida a través de la


aplicación del teorema de Pitágoras7:

P2 = x2 + y2 = (x +iy ) ( x – iy ) = CĈ

7
Britton, jack R, matemáticas universitarias, México; CECSA, 1984

21
Donde C con raya arriba, es el complejo conjugado de C. el argumento de un
numero complejo es el Angulo formado por el semieje horizontal positivo, con la
línea proyectada desde el punto geométrico al origen del plano complejo, el
argumento puede ser negativo o positivo según su sentido en el plano
complejo.

Fig.6 interpretación geométrica de un numero complejo.

2.1.6 Funciones y variables. El audio puede describirse mediante la teoría


de señales y estas a su vez pueden ser modeladas como una función momo
dimensional8 en el tiempo. Por tanto una señal puede describirse mediante
funciones para su explotación ingenieril. Es factible representar los elementos
arbitrarios de una clase de números, por una variable x, definido en un dominio
D. cuando el dominio es un intervalo del campo de números reales en los
limites a y b, existe una variable continua x del intervalo [a,b] , y existe para a
≤x ≤1.

Cuando cada valor de x es asociado solamente con un valor de otra variable y,


entonces y es función de x, y(x) = f(x), x se conoce como la variable
independiente y Y la dependiente, las funciones pueden tener mas de una
variable independiente, obteniendo una relación multi variable como ocurre en
un evento físico.

8
Puercell, Edwin J, Varberg Dale, calculo con geometría analítica, México Prentice Hall, 1987

22
Las funciones pueden ser representadas gráficamente, en el plano cartesiano,
el eje de las abscisas corresponde a la variable independerte y las ordenadas a
las dependientes. Si tenemos más de una variable independiente solo una es
representada como abscisa y las otras toman valores constantes.9

2.1.8 Funciones polinomiales. Los polinomiales son un tipo de funciones de


una variable, que esta conformada por la suma de potencias positivas de la
variable independiente. Cada potencia con su coeficiente es llamado un
monomial y tiene la forma:

Y = f(x)= a0 + a1.x + a2.x2+….+ anxn

Donde los números ai, son llamados coeficientes, la potencia mayor se conoce
como el orden del polinomio. Cuando se grafica una función polinomial de
segundo orden, obtenemos una curva parábola y una función de tercer orden
produce una curva cubica. Las soluciones del polinomio son conocidas como
ceros o raíces donde los valores de la variable independiente producen cero en
la variable independiente.

Los polinimios de n-esimo orden de coeficientes reales tienen exactamente n


cantidad de ceros en el campo de los complejos, las raíces que no se
prolongan al eje real del plano complejo, son parejas de números complejos
conjugados. Para polinomiales de orden mayor que tres, es conveniente usar
métodos numéricos para encontrar sus raíces con un método de incremento
preciso de aproximaciones.

La suma de dos polinomiales es un polinomial, el cual su orden depende del


orden mas alto de un operando y tienen coeficientes los cuales son las sumas
de los respectivos coeficientes de los sumandos. El producto esta dado por la
aplicación de propiedades asociativas.

9
Rochesso, Davide, introduction to sound processing, http://www.scienze.univr.it

23
El orden del producto esta dado por la suma de las órdenes de los operando y
el k-esimo coeficiente del producto es obtenido por los coeficientes ai y bj
sumados mediante la operación:

La multiplicación polinomial es formalmente idéntica a la convolución de


señales discretas, siendo una operación esencial en el procesamiento de
señales y en este proyecto.

2.1.9 Funciones trigonométricas. La trigonometría describe la relación entre


ángulos y los segmentos contenidos por esos ángulos. Un ángulo corta el
circulo en arcos y su gradiente es definido como el tamaño en radianes, siendo
un ciclo completo alrededor del circulo 2п, equivalente a 360 grados o
gradientes. Para la obtención gráfica de algunas funciones, es posible
representar la circunferencia en el plano complejo:

Sin Φ= (PQ)
Cos Φ=(OQ)
TanΦ = (PQ/OQ)

En el plano de los complejos se puede describir gráficamente estas funciones


trigonometricas, disponiendo del teorema de Pitágoras que para cualquier
ángulo ө la siguiente identidad es válida.

sin² Φ + cos ²Φ = 1

Fig.7 Descripción grafica de funciones trigonométricas.

24
Las funciones seno y coseno son funciones periódicas con periodo 2п,
mientras la función tangentes periódica con periodo п, el condominio de seno y
coseno está limitado en el intervalo [-1,1] , particularmente la tangente toma
valores en todo el eje real, aprovechando de forma infinita para todos los
valores mediante una interpretación geométrica compleja, podemos incluir una
magnitud y un argumento p y Φ y representarlo como:

C = x + iy = p cosΦ + ip sen Φ

Otra ecuación relacionar entre complejos y funciones de tipo trigonométrico es


la ecuación de Euler, expresada como una cantidad compleja que yace en la
circunferencia como una exponencial con exponente imaginario. Cuando el
argumento o la fase puede tomar cualquier valor real, la exponencial se torna
en una senoide compleja.10

Un numero complejo con magnitud y argumento p y Φ, puede expresarse


como:

ejΦ = cos Φ + isen Φ


C = p ejΦ

Si tomamos la m potencia de la magnitud y multiplicamos por m el argumento,


se obtiene un complejo que admite raíces complejas distintas de orden m, la
raíz de 1 de orden m, esta distribuida a lo largo de una circunferencia,
comenzando desde 1 y separadas por un ángulo constante de 2п/m.

Cm = pmejmΦ = pm(cosm Φ + isinm Φ)

10
Sorias, Olivas, Emilio. Tratamiento digital de señales: problemas y ejercicios resueltos, primera
edición. Madrid; Pearson education 2003

25
2.1.10 Transformadas.11 Matemáticamente, existen formas de expresar
funciones y operaciones de una forma más sencilla para su análisis y
manipulación.

• La transformada de Laplace. La T. de Laplace de una variable en t.


donde t pertenece al dominio real es definida como una función de una
variable compleja:

Siendo la región para la cual la integral no es divergente y esta en el


trayecto vertical en el plano complejo, la T de Laplace puede ser
invertida a través de:

Los límites de integración evalúan sobre la línea vertical con abscisa σ.

Una transformada básica para el estudio de sistemas y señales es la


función causal exponencial que mediante la transformada de Laplace se
torna en:

Y(n) = 1 / S – So

Esta ecuación converge para los valores de S, teniendo una parte real
que es mayor que So. Una propiedad básica de la T de Laplace es la
conversión de una expresión de derivación a una multiplicación por S.
Siendo y(o) la condición inicial para cualquier t <0, de forma inversa la
integral es convertida en una división por una variable compleja S.

11
Chen, Chi-Tsong. Signals and systems, tercera edicion. USA; Oxford University Press,2004

26
• La transformada de Fourier. La transformada de Fourier de una
función cuyo condominio es real puede ser descrita como una T. de L.
pero en una región del eje imaginario.

Donde jΩ indica un punto arbitrario en el eje imaginario, siendo la base


de la operación es la senoide compleja con una frecuencia radial Ω,
cada punto de la función transformada como un componente del
espectro en frecuencia de la función Y(t), dado un valor Ω = Ωo y
modelando una señal Y(t) como la integral es maximizada
cuando el valor Ω es incrementado. El condominio de la función de
transformación Y(Ω), se propaga a lo largo del campo complejo, luego es
posible hallar la magnitud y fase espectral a través de una interpretación
geométrica compleja.

• La transformada Z. La operación se realiza en un dominio discreto para


cantidades enteras del radio de circunferencia, las operaciones de
derivación son remplazadas por sumas y restas.

La región de convergencia de la señal es un anillo en el plano complejo


siendo este la región entre la unión de dos circunferencias. Con este
anillo la transformada puede ser invertida. Una transformación típica es
27
la causal exponencial de variable discreta que converge para valores de
z que son mayores que el exponencial de coeficiente real en magnitud.

Los valores de una variable compleja pueden ser restringidos a una


circunferencia.

Siendo Ω frecuencia angular para tiempo continuo y ω para tiempo


discreto.

2.1.11 Filtros. En general, cualquier algoritmo o sistema de tratamiento puede


interpretarse como un filtro. Los filtros son entendidos como aquel sistema
lineal e invariante que permite el paso de las componentes de la señal
existentes en un determinado intervalo de frecuencias, y elimina las demás.
Idealmente, en el margen de las frecuencias que se conservan; denominado
banda de paso, el módulo de la respuesta en frecuencia del filtro toma un valor
constante (Habitualmente la unidad). Entre tanto, el intervalo de frecuencia
complementario es denominado banda atenuada. El modulo de respuesta en
frecuencia es nulo, cuando el margen de frecuencia está fragmentado en varios
intervalos y, por lo tanto, cada uno de ellos recibe el nombre de banda de paso
o atenuada, según sea el comportamiento deseado. Los cuatro filtros básicos
desde el punto de vista ideal de comportamiento del modulo de la respuesta en
frecuencia, se ilustran en la figura No 8.

28
Fig. 8 Tipos de filtros.

La respuesta en frecuencia de un filtro se expresa generalmente en función de


su modulo y de su fase.

H(ejw) = IH(ejw)I ej ψw

Se considera filtro ideal aquel que, a lo sumo, altera con un retardo constate e
independiente de la frecuencia una señal cuyo contenido espectral está en la
banda de paso. Además, el filtro ideal elimina completamente una señal cuyo
espectro está en la banda atenuada. En resumen, para que un filtro sea ideal,
se requiere que su respuesta en frecuencia tenga un módulo constante y fase
lineal en la banda de paso, al mismo tiempo que debe presentar un modulo
cero en la banda atenuada.

HI(ejw) = IHI(ejw)I ej ψw
IHI(ejw)I = 1 en las bandas de paso y 0 en las bandas atenuadas
ψ(w) = - α w + β + πk(w)

29
• Filtros digitales. Un filtro digital es un sistema que modifica; por medio
de procesamiento matemático, las señales de entrada dependiendo de
las variaciones de las mismas en el tiempo y amplitud; esto
generalmente se hace con la aplicación de la Transformada rápida de
Fourier; dando como resultado una señal de salida modificada en el
tiempo. La ventaja de los filtros digitales sobre los analógicos es que
presentan una gran estabilidad de funcionamiento a lo largo del tiempo.

Por otro lado, los filtros digitales pueden ser de dos clases que
responden a métodos de diseño y calculo diferentes. Los filtros FIR
(Respuesta finita al impulso) y los IIR (Respuesta infinita al impulso).

a) Filtros FIR. Se trata de un tipo de filtros digitales en el que, como


su nombre indica, si la entrada es una señal impulso, la salida
tendrá un número finito de términos no nulos. La estructura básica
de un filtro FIR es las siguiente:

Fig. 9 Estructura filtro FIR.

Para obtener la salida del filtro, este sólo se basa en entradas


actuales y anteriores. Su expresión en el dominio n es:

En la expresión anterior N es el orden del filtro, que también


coincide con el número de términos no nulos y con el número de
coeficientes del filtro. Los coeficientes son bk.

30
La salida también puede expresarse como la convolución de la
señal de entrada x(n) con la respuesta al impulso h(n):

Aplicando la transformada Z a la expresión anterior se obtiene:

b) Filtros IIR. Se trata de un tipo de filtros digitales en el que, como


su nombre indica, si la entrada es una señal impulso, la salida
tendrá un número infinito de términos no nulos, es decir, nunca
vuelve al reposo. Existen numerosas formas de implementar los
filtros IIR. La estructura afecta las características finales que
presenta el filtro como la estabilidad. Otros parámetros a tener en
cuenta a la hora de elegir una estructura es el gasto
computacional que presentan. De esta forma una de las posibles
estructuras de un filtro IIR es la siguiente:

Fig. 10 Estructura filtro IIR.

31
La salida de los filtros IIR depende de las entradas actuales y
pasadas, y además de las salidas en instantes anteriores. Esto se
consigue mediante el uso de realimentación de la salida.

Yn = b0Xn + b1Xn-1 + …. + bNXn-N –a1Yn-1 –a2Yn-2 - … - aMYn-M

Donde los valores de a y b son los coeficientes del filtro. El orden


es el máximo entre los valores de M y N.

Aplicando la transformada Z a la expresión anterior:

2.1.12 Interfaz gráfica de usuario en Matlab. GUIDE (Graphical User


Interfase Development Environment) es un entorno de programación visual
disponible en Matlab para realizar y ejecutar programas que necesiten ingreso
continuo de datos. Tiene las características básicas de todos los programas
visuales como Visual Basic o Visual C++. También es un juego de
herramientas que se extiende por completo en el soporte de Matlab, diseñadas
para crear GUIs (Graphical User Interfazes) fácil y rápidamente dando auxiliado
en el diseño y presentación de los controles de la interfaz, reduciendo la labor
al grado de seleccionar, tirar, arrastrar y personalizar propiedades.

32
Existen varias maneras de acceder a GUIDE; una de ellas es desde la barra de
herramientas como lo indica la figura No. 11:

Fig. 11 Guide- Matlab.

Entonces, una vez abierto el asistente aparece la siguiente ventana. Figura No.
12.

Fig. 12 Ventana de inicio Guide.

En ella se encuentran las siguientes opciones:

a) Blank GUI (Default). La opción de interfaz gráfica de usuario en


blanco; viene predeterminada, nos presenta un formulario nuevo en el
cual podemos diseñar nuestro programa.

33
b) GUI with Uicontrols. Esta opción presenta un ejemplo en el cual se
calcula la masa, dada la densidad y el volumen, en alguno de los dos
sistemas de unidades. Podemos ejecutar este ejemplo y obtener
resultados.

c) GUI with Axes and Menu. Esta opción es otro ejemplo el cual contiene
el menú File con las opciones Open, Print y Close. En el formulario tiene
un Popup menú, un push button y un objeto Axes, podemos ejecutar el
programa eligiendo alguna de las seis opciones que se Encuentran en el
menú despegable y haciendo click en el botón de comando.

d) Modal Question Dialog. Con esta opción se muestra en la pantalla un


cuadro de diálogo común, el cual consta de una pequeña imagen, una
etiqueta y dos botones Yes y No, dependiendo del botón que se
presione, el GUI retorna el texto seleccionado (la cadena de caracteres
‘Yes’ o ‘No’).

Se elige la primera opción y se obtiene la figura No. 13.

Fig. 13 Entorno de diseño.

34
La interfaz gráfica cuenta con las siguientes herramientas.

Fig. 14 Herramientas de diseño Guide.

Para obtener la etiqueta de cada elemento de la paleta de componentes, se


ejecuta el siguiente comando:

Comando: File>>Preferences y se selecciona Show names in component


palette.

Con esto se ingresa al entorno de diseño de Guide como muestra la figura


No.13. La siguiente tabla muestra una descripción de los componentes. Tabla
No. 1.

Tabla. 1 Componentes de diseño de Guide.

35
• Propiedades de los componentes. Cada uno de los elementos de
GUI, tiene un conjunto de opciones a las cuales se puede acceder con
click derecho. Figura No. 15.

Fig. 15 Propiedades de los componentes Guide.

La opción Property Inspector permite personalizar cada elemento, como


se muestra en la Figura No. 16.

Fig. 16 Herramientas para personalizar componentes.

36
Al hacer click derecho en el elemento ubicado en el área de diseño, una
de las opciones más importantes es View Callbacks, la cual, al
ejecutarla, abre el archivo .m asociado a nuestro diseño y nos posiciona
en la parte del programa que corresponde a la subrutina que se
ejecutará cuando se realice una determinada acción sobre el elemento
que estamos editando.

Por ejemplo: Al ejecutar View Callbacks>>Callbacks en el Push Button;


el programa automáticamente ubica al usuario en segmento del
algoritmo concerniente a la función seleccionada.

function pushbutton1_Callback(hObject, eventdata, handles)


%hObject handle to pushbutton1 (see GCBO)
%eventdata reserved-to be defined in a future version of MATLAB
%handles structure with handles and user data (see GUIDATA)

• Funcionamiento de una aplicación Guide. Una aplicación de GUIDE


está conformada por dos archivos: un .m y un .Fig. El archivo .m es el
que contiene el código con las correspondencias de los botones de
control de la interfaz y el archivo .Fig. Contiene los elementos gráficos.
Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se
genera automáticamente un código en el archivo .m. para controlar tal
elemento. Para empezar a programar en nuestro archivo .m debemos
primero salvar el archivo con un nombre nuevo y luego de esto
aparecerá el editor. m.

• Manejo entre los elementos de la aplicación y el archivo .m. Todos


los valores de las propiedades de los elementos (color, valor,
posición,string…) y los valores de las variables transitorias del programa
se almacenan en una estructura, los cuales son accedidos mediante un
único y mismo identificador para todos éstos. Tomando el programa
listado anteriormente, el identificador se asigna en:

handles.output = hObject;

37
handles, es nuestro identificador de los datos de la aplicación. Esta
definición de identificador es salvada con la siguiente instrucción.

guidata(hObject, handles);

guidata es la función que guarda las variables y propiedades de los


elementos en la estructura de datos de la aplicación, por lo tanto, como
regla general, en cada subrutina se debe escribir en la última línea lo
siguiente:

guidata(hObject,handles);

Esta sentencia garantiza que cualquier cambio o asignación de


propiedades o variables quede almacenado.

• Sentencias get y set. La asignación u obtención de valores de los


componentes se realiza mediante las sentencias get y set. Por ejemplo
si queremos que la variable HUM tenga el valor del slider escribimos:

HUM= get(handles.slider1,'Value');

Notar que siempre se obtienen los datos a través de los identificadores


handles. Para asignar el valor a la variable HUM al statictext etiquetada
como text1. Se escribe:

set(handles.text1,'String',HUM);%Escribe el valor del Slider. %en static-


text

2.1.13 Procesamiento digital de señal (DSP). Se conoce como DSP la


manipulación y modificación de las señales en el dominio digital sobre
plataformas que trabajan con sistemas discretos, después de convertir una
señal análoga en un digital, a través de un conversor análogo digital. Su
diseño, arquitectura e instrucciones están hechos con el propósito de ejecutar
algoritmos de procesamiento de señal en tiempo real.

38
Un procesador DSP se caracteriza por el uso de arquitectura Harvard, datos de
buses internos, programación assembler, instrucciones paralelas de
procesamiento; las cuales reducen el tiempo de operación de los algoritmos, y
compiladores de optimización. Los algoritmos de optimización pueden ser de
suma, multiplicación y acumulación MAC y el módulo ALU (Unidad Lógica
Aritmética).

El tiempo discreto y la amplitud discreta en la salida de un conversor análogo


digital AD son representadas en una secuencia de valores la cual es
exteriorizada mediante aritmética de punto flotante o de punto fijo. Las
representaciones fraccionales son implementaciones comunes en algoritmos
representados en punto fijo, para la generación de direcciones y operaciones
de modulo son usados enteros absolutos.

El diseño de un DSP está basado en un esquema constituido por un


controlador de programa, una unidad ALU, y un multiplicador acumulador MAC,
programas y datos de memoria e interfazes memorias externas y dispositivos
periféricos. Para el incremento de memoria, los buses de datos y control
pueden estar conectados a una memoria externa ROM y RAM. La conexión de
buses externos a buses internos del sistema influye en la ejecución de
funciones externas de procesamiento de datos e instrucciones y el control del
microprocesador puede ser archivado vía interfaz host con un Word lenght de
determinada tasa de bits.

La precisión aritmética depende del efecto que la cuantización tenga sobre la


estabilidad aplicada al algoritmo. El tiempo de ciclo está relacionada con el
tiempo de procesamiento en operaciones cíclicas de comandos de
multiplicación y acumulación en un soporte procesador con un grado
determinado de potencia.

Existen herramientas para el desarrollo de sistemas discretos DSP en diversos


soportes como compiladores-ensambladoras (Assembler) sistemas de
operación en tiempo real que poseen un motor de manejo de memoria con una
interfaz de control multitareas, por otro lado los simuladores software generan
módulos virtuales de procesamiento y la ejecución de programas, los
emuladores hardware pueden imitar el procesamiento de chips en tarjetas
39
hardware que pueden ser controladas vía software, como este caso en el que
se trabaja con la tarjeta (TMS320C6713 DSK).

Para la transferencia de datos han sido establecidos dos estándares conocidos


como interfazes AES/EBU.

En la Figura No. 17, se tiene una estructura básica de la tarjeta utilizada

Fig. 17 Estructura de la tarjeta DSP.

40
La siguiente figura muestra la configuración de los puertos periféricos de
entrada y salida con los que cuenta la tarjeta DSP.

Fig. 18 Periféricos de entrada y salida DSP.

Foto. 1 Tarjeta DSP.

41
2.1.14 Vocoder. Un vocoder es un analizador y sintetizador de voz. Fue
desarrollado en la década de 1930 como un codificador de voz para
telecomunicaciones. Su primer uso fue la seguridad en radiocomunicaciones,
donde la voz tiene que ser digitalizada, cifrada y transmitida por un canal de
ancho de banda estrecho.

El vocoder se ha usado también como instrumento musical. De esta manera es


empleada con guitarras y sintetizadores, produciendo un sonido de «guitarra
parlante» o «teclado parlante», según el instrumento. Los vocoders son usados
con frecuencia para crear el sonido de un robot hablando, como en la canción
Mr. Roboto de Styx. También ha sido utilizado con frecuencia en música
electrónica, por ejemplo, Eiffel 65 fue su gran precursor en la música dance a
finales de los 90, poniendo muy de moda la técnica del vocoder en temas
musicales electrónicos, y copiado por multitud de artistas.

2.1.15 Teoría del vocoder. La voz humana consiste en sonidos generados


por la apertura y cierre de la glotis (cuerdas vocales), lo que produce una onda
periódica con muchos sonidos armónicos. Este sonido básico es entonces
filtrado por la nariz y la garganta (un complicado sistema resonante conocido
como el tracto vocal) de forma controlada, creando la amplia variedad de
sonidos de habla. Hay otro conjunto de sonidos, conocidos como sordos, que
no son generados por la vibración de las cuerdas vocales.

El vocoder examina el habla encontrando su onda básica, que es la frecuencia


fundamental, y midiendo cómo cambian las características espectrales con el
tiempo grabando el habla. Esto da como resultado una serie de números
representando esas frecuencias modificadas en un tiempo particular a medida
que el usuario habla. Al hacer esto, el vocoder reduce en gran medida la
cantidad de información necesaria para almacenar el habla. Para recrear el
habla, el vocoder simplemente revierte el proceso, creando la frecuencia
fundamental en un oscilador electrónico y pasando su resultado por una serie
de filtros basado en la secuencia original de símbolos.

El Vocoder de canal es un sistema electrónico que permite la manipulación y


procesamiento de señal musical digital en tiempo real. Este dispositivo está
constituido por dos etapas fundamentales, una de análisis de las señales de
42
entrada y una de síntesis de las mismas. En la primera, se toma la señal
entrante; tanto de la voz humana como la del instrumento, y se descompone en
segmentos de frecuencia con el fin de generar un control individual de las
componentes de todo el espectro y facilitar la manipulación de ambas señales.
El prototipo de análisis y resintesis de la señal de audio esta modelado
básicamente mediante una aplicación de la transformada de Fourier en tiempo
discreto DFT para su procesamiento en tiempo real, cuyo algoritmo es llamado
STFFT o transformada de Fourier en tiempo corto. La implementación de esta,
al igual que la manipulación de los parámetros extraídos a través de su
aplicación, se conoce como vocoder de fase. Ahora bien, el sistema en su parte
inicial está constituido por un conjunto de canales de análisis y descomposición
espectral, que dividen la señal en segmentos de frecuencia y extraen los
parámetros que permiten la posterior manipulación y modificación de la
información obtenido en dicho proceso.

La STFFT es una importante herramienta aplicada en el análisis de señales


con características de variación en el tiempo; como la voz humana, para
sistemas que trabajan en tiempo real. Este algoritmo; a diferencia de la FFT,
representa una manera mucho más adecuada para trabajar señales a través de
medios computacionales de manera eficiente, ya que actúa sobre ella en
espacios temporales dados por la longitud del segmento de la STFFT y no
sobre toda la señal como ocurre con la FFT. Es decir, se toma la señal y se
aplica la STFFT, para señales variante en el tiempo, en espacios de tiempos
determinados, como una representación más aproximada de las características
temporales de la voz. Generalmente la DFT y la FFT solo se usan en
aplicaciones que requieran el análisis de señales de entrada estacionarias. La
voz es una señal que varia constantemente en instantes de tiempos cortos y
por tal razón, tiene un comportamiento y parámetros diferentes en cada
espacio temporal de análisis. Es por esto que el procesamiento de dicha señal
se debe realizar por segmentos temporales de corta duración. Ahora bien, la
implementación de la STFFT viene acompañada de un proceso de suavizado
que se aplica a través de la multiplicación del segmento de entrada por una
función de ventaneo antes de ser calculado su espectro. Esto se hace con el fin
de eliminar los efectos espurios que se generan en el filo de cada segmento
temporal de la señal.

43
2.1.16 Vocoders basados en predicción lineal. Desde finales de la década
de 1970, muchos vocoders no musicales se han empleado usando predicción
lineal, donde la envolvente espectral de la señal se estima por un filtro digital
IIR todo polo. En codificación lineal predictiva, el sistema todo-polos reemplaza
el filtro de bancos paso-banda de su predecesor y se usa en el encoder para
blanquear la señal (aplanar su espectro) y de nuevo en el decodificador para
reasignar la envolvente espectral de la señal de voz original. En contraste con
los vocoders realizados usando bancos de filtros, la localización de los picos
espectrales está determinada totalmente por la señal objetivo y no necesita ser
armónica, es decir, un múltiplo de la frecuencia fundamental.

2.1.17 Aplicaciones musicales. Para las aplicaciones musicales, una fuente


de sonidos musicales se usa como portadora; en lugar de extraer la frecuencia
fundamental. Por ejemplo, se puede usar el sonido de una guitarra como la
entrada del banco de filtros, una técnica popular en la década de 1970.

En 1970, los pioneros de la música electrónica Wendy Carlos y Robert Moog


desarrollaron el primeros vocoder musical. Un dispositivo de diez bandas
inspirado por los diseños de vocoder de Homer Dudley, que recibió el nombre
de codificador-decodificador de espectro, y más tarde nominado simplemente
como vocoder. La señal portadora es un sintetizador modular de Moog, y se
modulaba a partir de la entrada de un micrófono. La salida del vocoder de diez
bandas era bastante inteligible, pero necesitaba de un habla especialmente
articulada. Algunas mejoras posteriores usan un filtro de frecuencias de paso
alto para permitir la producción de un sonido sibilante; esto no es conveniente
para la aplicación original de codificación del habla, pero hace que la señal sea
mucho más inteligible.

El vocoder de Carlos y Moog fue usado en muchas grabaciones, incluyendo la


banda sonora de la película La naranja mecánica, dirigida por Stanley Kubrick.
A finales de la década de 1970, el vocoder empezó a usarse en música pop,
especialmente en la llamada música disco. El grupo Alan Parsons Project usó
un vocoder en su primer álbum Tales of Mistery and Imagination. El vocoder ha
aparecido en grabaciones pop regularmente desde entonces. Artistas
electrónicos experimentales (muchos de ellos formaron parte más tarde del
género New Age) también utilizaron ocasionalmente el vocoder. Otros artistas
que han hecho del vocoder una parte esencial de sus trabajos son el grupo
44
alemán Kraftwerk, Herbie Hancock, la banda funk Zapp y Phil Collins, que usó
el efecto para acentuar ciertas palabras para dar un efecto dramático en su
canción In the Air Tonight.

45
2.2 MARCO LEGAL O NORMATIVO.

2.2.1 Legislación internacional: organización mundial de la propiedad


intelectual (OMPI). Este organismo agregado a las naciones unidas (su sede
se encuentra en Ginebra Suiza) está dedicado a desarrollar un sistema de
propiedad intelectual internacional que recompense la creatividad, estimule la
innovación y contribuya al desarrollo económico defendiendo también el interés
público. 12Para la OMPI. la propiedad intelectual es indispensable para el
desarrollo económico, social y cultural de todos los países y esta convicción
determina su misión de defensa efectiva de la propiedad intelectual. Para
definir la propiedad intelectual se debe relacionar esta con la creación mental,
dividiéndola en dos categorías: una de propiedad industrial que incluye
patentes, marcas dibujos y modelos industriales, y otra categoría es la de
derechos de autor que son los derechos de los artistas intérpretes o
ejecutantes sobre sus interpretaciones o ejecuciones.

2.2.2 Legislación Nacional: Dirección nacional de derechos de autor.


Los derechos de autor en la república de Colombia están regulados por las
siguientes normas13

• Artículo 61 de la constitución política de Colombia;


• Decisión andina 351 de 1993;
• Código civil, articulo 671;
• Ley 23 de 1982;
• Ley 44 de 1993;
• Ley 599 de 2000 (código penal colombiano), título VIII;
• Ley 603 de 2000
• Decreto 1360 de 1989
• Decreto 460 de1995
• Decreto 162 de 1996

12
Organización mundial de la propiedad intelectual(OMPI),http://www.wipo.int/about-
wipo/es/what_is_wipo.html
13
Dirección nacional de derechos de autor, calle 28 No 13ª-15 piso 17-teléfono(571)3418177-
telefax(571)2860813, bogota col.,derautor@derautor.gov.co: www.derautor.gov.co
46
Por otro lado, existen convenios internacionales ratificados por Colombia como
el tratado OMPI sobre interpretación y ejecución de fonogramas, suscrito en
ginebra (suiza), en 1996 y adherido a la legislación de Colombia mediante la
ley 545 de 1999.

Para la legislación colombiana de acuerdo a la concertación de la OMPI sobre


derecho de autor (1996), el derecho de reproducción tal como se establece en
el convenio de Berna y las excepciones permitidas son totalmente aplicables en
el entorno digital; en particular a la utilización de obras en forma digital. Este
almacenamiento digital de un soporte electrónico de una obra protegida,
constituye una reproducción en el sentido del artículo 9 del convenio de Berna.
El tratado OMPI sobre derecho de autor ha sido aprobado en Colombia
mediante la ley 565 de 2000, y el ámbito internacional ha entrado en vigencia el
6 de marzo de 2002.

La dirección nacional de derechos de autor busca fortalecer la debida y


adecuada protección de los titulares de derecho de autor. La oficina de registro
de la dirección nacional de derechos de autor presta el servicio de registro de
soporte lógico o software.

Este registro otorga seguridad jurídica luego este registro es declarativo y sirve
como documento de prueba pero no obligatorio. Según el criterio normativo
autoral desde el mismo momento de la creación nace el derecho de autor y no
se necesitan formalidades para la constitución del mismo.

2.2.3 Licencias de software. Las licencias dependen básicamente de las


propiedades económicas, de modificación y distribución que se le otorga a un
producto de soporte lógico software. Según sus características un soporte
lógico puede ser14:

• Software comercial: es desarrollado mediante un proceso industrial y


busca ser vendido por una empresa para la obtención de beneficios
materiales donde todo el producto posee un propietario.

14
http://www.juntadeantalucia.es/averroes/manuales/guadaconceptos.html#GlossG
47
• Software libre: es aquel que puede ser distribuido, modificado, copiado y
usado. El soporte lógico de dominio público no está protegido por
copyright por tanto podrían generarse versiones no libres del mismo,
pero los software protegidos por copyleft impide a los redistribuidores
generar restricciones sobre un software concebido originalmente para
ser software libre. Por otro lado el software gratuito no tiene precio
comercial pero necesariamente libre ya que un software libre no
depende específicamente de un pago.

• Software semi-libre: este funciona como sistema libre para usuarios


independientes, educación o usos sin ánimo de lucro, pero está
restringido para usos comerciales o empresariales.

• Software propietario: su modificación, redistribución y copia está


prohibida o al menos restringida.

• Licencia freeware: suele usarse en programas que puede redistribuirse


libremente pero no modificarse, entre otras cosas, ya que su código de
fuente no está disponible.

• Licencia shareware: permite ser distribuido pero pierde su licencia con el


paso del tiempo una vez ha sido instalado en un sistema operativo.

• Demo: un programa demo es un software comercial que permite la


utilización de una cantidad restringida defunciones hasta que el
programa sea comprado para ser aprovechado en su totalidad.

• Trial: esta licencia permite la utilización del soporte lógico por un


determinado tiempo. Luego de expirar, el programa regularmente no
puede ser instalado nuevamente en la misma estación de trabajo de no
ser autorizado mediante un pago.

48
3 METODOLOGÍA

3.1 ENFOQUE DE LA INVESTIGACIÓN

El enfoque de la investigación es empírico-analítico ya que por medio de esta,


se pretende transformar las señales sonoras mediante la aplicación de
algoritmos matemáticos desarrollados en plataformas de programación para
procesamiento de señal digital. Esto implica el estudio teórico y practico de los
conceptos y procesos que articulan el área de las matemáticas especiales y
con ellas el campo de análisis de las señales y sistemas en tiempo discreto.

3.2 LÍNEA DE INVESTIGACIÓN USB / SUB-LÍNEA DE FACULTAD /


CAMPO TEMÁTICO DEL PROGRAMA

Este proyecto pertenece a la línea de investigación: Tecnologías actuales y


sociedad, ya que por medio de la ella, se busca crear un sistema electrónico
útil para las personas que trabajan en producción musical, de cine, televisión y
en general, para todo individuo dentro de la sociedad que requiera este tipo de
herramientas. La sub-línea de investigación de la facultad es: El procesamiento
de señales digitales y/o analógicas. Esto como resultado de la aplicación de
procesos de manipulación de señal en tiempo discreto como filtrado,
codificación, transmisión, síntesis y demás.

El campo de investigación de Ingeniería de Sonido es: Diseño de sistemas de


sonido, ya que por medio del uso de herramientas teóricas y prácticas, se
alcanzo el desarrollo del diseño y construcción de un dispositivo electrónico de
tipo hardware.

49
3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN.

La recolección de información se fundamenta en la búsqueda de conceptos y


procesos tanto teóricos como prácticos en medios gestores de la misma como
bibliotecas, internet y manuales de operación de los programas y elementos
involucrados en el desarrollo del hardware.

3.4 HIPÓTESIS

Esta investigación se realiza con el fin de mostrar las ventajas y posibilidades


existentes en cuanto a diseño, construcción e implementación de un sistema
hardware para el procesamiento digital de señal. El desarrollo de un Vocoder
hardware digital de canal, está sujeto a las posibilidades técnicas, teóricas y
tecnológicas que ofrecen los sistemas sobre los cuales se articula la estructura
general del mismo. Las plataformas de desarrollo y procesamiento software y
hardware para sistemas digitales, plantean similitudes, ventajas y desventajas
en el diseño, construcción e implementación de los sistemas estructurados a
través del uso de estos medios.

50
3.5 VARIABLES

3.5.1 Variables independientes.

• Modelos matemáticos aplicados.


• Editores para el diseño de algoritmos y esquemas del sistema.
• Comprensión de los procesos necesario para el desarrollo del objetivo
general del proyecto.
• Efectividad y estabilidad del sistema construido.

3.5.2 Variables dependientes.

• Funcionalidad del producto.


• Aceptación del mismo.
• Instrumentos previamente desarrollados en este ámbito.
• Tecnologías aplicadas como innovación al desarrollo del medio.

51
4 DESARROLLO INGENIERIL

Para el desarrollo de este proyecto, se concibieron dos etapas básicas que


enmarcan el desglose general del mismo. En primer lugar se estableció una
etapa de investigación y consolidación de conceptos teóricos, técnicos,
prácticos y empíricos, de los recursos, criterios y elementos inherentes a la
tarea de manipular y procesar la señal sonora, a través de medios digitales. En
seguida se realizó la implementación práctica de la información recolectada, a
través de la plataforma de desarrollo Matlab, constituyendo de este modo la
segunda etapa del proceso. En ella, se diseña el software que gobierna todo el
sistema y que de igual modo, se implementa en la interfaz física especializada
en el procesamiento de señal digital o DSP. El algoritmo diseñado esta
constituido por dos bloques básicos que articulan el sistema en su totalidad, el
primero de entrada de señal o etapa de análisis; donde se extraen los
parámetros de la señal mediante una aplicación de la transformada discreta de
Fourier DFT y el segundo de procesamiento de señal o síntesis; donde se
manipulan y procesan los datos obtenidos en la etapa anterior.

4.1 VOCODER DE CANAL

El Vocoder de canal es un sistema electrónico que permite la manipulación y


procesamiento de señal musical digital en tiempo real. Este dispositivo está
constituido por dos etapas fundamentales, una de análisis de las señales de
entrada y una de síntesis de las mismas. En la primera, se toma la señal
entrante; tanto de la voz humana como la del instrumento, y se descompone en
segmentos de frecuencia con el fin de generar un control individual de las
componentes de todo el espectro y facilitar la manipulación de ambas señales.
El prototipo de análisis y resintesis de la señal de audio esta modelado
básicamente mediante una aplicación de la transformada de Fourier en tiempo
discreto DFT para su procesamiento en tiempo real, cuyo algoritmo es llamado
STFFT o transformada de Fourier en tiempo corto. La implementación de esta,
al igual que la manipulación de los parámetros extraídos a través de su
aplicación, se conoce como vocoder de fase. Ahora bien, el sistema en su parte
inicial está constituido por un conjunto de canales de análisis y descomposición
espectral, que dividen la señal en segmentos de frecuencia y extraen los
parámetros que permiten la posterior manipulación y modificación de la
información obtenido en dicho proceso.
52
La STFFT es una importante herramienta aplicada en el análisis de señales
con características de variación en el tiempo; como la voz humana, para
sistemas que trabajan en tiempo real. Este algoritmo; a diferencia de la FFT,
representa una manera mucho más adecuada para trabajar señales a través de
medios computacionales de manera eficiente, ya que actúa sobre ella en
espacios temporales dados por la longitud del segmento de la STFFT y no
sobre toda la señal como ocurre con la FFT. Es decir, se toma la señal y se
aplica la STFFT, para señales variante en el tiempo, en espacios de tiempos
determinados, como una representación más aproximada de las características
temporales de la voz. Generalmente la DFT y la FFT solo se usan en
aplicaciones que requieran el análisis de señales de entrada estacionarias. La
voz es una señal que varia constantemente en instantes de tiempos cortos y
por tal razón, tiene un comportamiento y parámetros diferentes en cada
espacio temporal de análisis. Es por esto que el procesamiento de dicha señal
se debe realizar por segmentos temporales de corta duración. Ahora bien, la
implementación de la STFFT viene acompañada de un proceso de suavizado
que se aplica a través de la multiplicación del segmento de entrada por una
función de ventaneo antes de ser calculado su espectro. Esto se hace con el fin
de eliminar los efectos espurios que se generan en el filo de cada segmento
temporal de la señal.

Este proceso se lo muestra en la siguiente figura.

Fig. 19 Transformada rápida de Fourier en tiempo corto.

53
La siguiente figura muestra la implementación del algoritmo antes mencionado,
en la plataforma de desarrollo Simulink del programa Matlab.

Fig. 20 Estructura del canal de análisis.

4.1.1 Filtros. La unidad básica para el análisis de la señal la constituye cada


uno de los canales que conforman el sistema. En cada uno de ellos, en
principio, se encuentra el elemento funcional que permite el análisis en tiempo
de la señal de entrada; filtros digitales. Con la implementación de un banco de
filtros a la entrada del sistema, se busca descomponer la señal en bandas
espectrales y efectuar un posterior análisis por anchos de banda individuales,
las cuales, sumadas, cubren todo el espectro audible de la voz (180Hz-
4000Hz). Los filtros cumplen la función de analizar la señal de entrada en
función del tiempo para así efectuar el posterior análisis en función de la
frecuencia, mediante la aplicación de la FFT. En la siguiente figura se muestra
este proceso:

Fig. 21 Banco de filtros Vs FFT.

54
Fig. 22 Modulo de análisis para cada canal.

Ahora bien, los filtros digitales implementados en el sistema responden al


método de diseño formulado para la creación de filtros FIR (Finite Impulse
Response). La característica fundamental de este tipo de filtros se encuentra
en que ellos trabajan en instantes de tiempo finitos; situación que los hace
adecuados para trabajar con señales que varían constantemente en el tiempo.
Por otro lado, los filtros son diseñados a través del asistente para la creación y
diseño de filtros contenido en el programa Matlab, FDAtools. En este caso las
especificaciones del diseño fueron las siguientes:

• Orden: Para efectos de este sistema el orden del filtro es 40, como se
indica en la figura No. 23.

Fig. 23 Respuesta en frecuencia.


55
• Tipo de respuesta: Cada canal de análisis y síntesis de la señal, está
integrado por 3 filtros pasa-banda y un pasa-bajas.

• Especificaciones de frecuencia: La frecuencia de muestreo bajo la


cual trabaja todo el sistema sobre la plataforma de desarrollo Simulink
es de 8000 Hz. En el siguiente cuadro se muestran los valores de
frecuencia asignados a cada uno de los filtros por canal.

Cuadro 1. Valores de las frecuencias de corte de los filtros en Hz.

Este mismo asistente suministra información gráfica, que permite observar las
características del filtro en cuanto a respuesta en frecuencia, fase, magnitud, la
figura de polos y ceros y la respuesta impulsiva del mismo. Las siguientes
figuras muestran lo antes mencionado:

Fig. 24 Respuesta en frecuencia.

56
La figura No. 24 corresponde a la respuesta en magnitud de los filtros pasa-
banda del primer canal del Vocoder. La caída es de 20 dB en 1365 Hz, a partir
de la frecuencia de corte 1180 Hz.

Fig. 25 Respuesta de fase.

La figura anterior muestra la respuesta en fase del mismo filtro pasa-banda. Se


observa que su respuesta se mantiene lineal hasta los 1500 Hz. Esta
característica permite mantener constante las propiedades iníciales de la señal
de entrada durante y después del filtrado, lo cual se traduce, en una baja
distorsión del sonido.

Fig. 26 Respuesta al impulso.

57
La figura No. 26 muestra una respuesta al impulso del filtro pasa-banda de
corta duración, en concordancia con las características de la señal vocal e
instrumental de entrada, las cuales varían constantemente en el corto tiempo,
es decir, son señales no estacionarias; sus características de magnitud, fase y
frecuencia cambian constantemente.

Fig. 27 Grafica de polos y ceros.

La figura anterior muestra el esquema de polos y ceros correspondiente al filtro


pasa bajas del primer canal de entrada del Vocoder. Los polo están
representados por una “x” y los ceros por “0”. Esto representa la función de
transferencia del filtro H[w] y las características en cuanto a magnitud,
frecuencia y estabilidad el sistema.

El filtro pasa-bajas implementado a la salida de cada uno de los canales del


Vocoder, tiene las siguientes características de diseño.

Fig. 28 Respuesta en frecuencia.

58
La figura No. 28 muestra la respuesta en frecuencia del filtro. Este, es
implementado con el objeto de eliminar o al menos reducir componentes
espurios de alta frecuencia, generados por la transformación y manipulación de
la señal en las etapas anteriores. En otras palabras se pretende eliminar ruido
de alta frecuencia que afecta la inteligibilidad de la señal. Dichas componentes
espectrales, son parciales y armónicos que aparecen periódicamente en
proximidad a la frecuencia de corte del filtro pasa-banda dispuesto a la entrada
del canal. En este caso la frecuencia de corte del pasa-bajas esta en 1200 Hz.
A partir de esta frecuencia el filtro elimina dichas componentes sin afectar las
frecuencias más representativas del sonido.

Las siguientes figuras muestran lo antes mencionado:

Fig. 29 Componente espectral antes y después del filtro pasa-bajas (canal uno).

59
Las figuras anteriores suministran información correspondiente al primer canal
del Vocoder. A continuación se muestra el resultado general con los cuatro
canales funcionando.

Fig. 30 Componente espectral antes del filtrado (cuatro canales).

Fig. 31 Componente espectral después del filtrado (cuatro canales).

Estos filtros también son FIR de orden 40 con valores de frecuencias diferentes
por cada canal. El cuadro No. 1 muestra estos valores. El comportamientos de
estos en cuanto ha fase es igual que en los pasa-banda.
60
De igual forma se implementó para cada uno de los canales, un ventaneo como
función de suavizado de la señal de entrada. Esta ventana es de tipo Hamming
y actúa en intervalos cortos de tiempo sobre cada frame de muestras.

Fig. 32 Función de ventaneo Hamming.

Fig. 33 Parámetros de análisis de la función de ventaneo.

La función de ventaneo esta implementada en todos los filtros que hacen parte
del Vocoder.

4.1.2 Extracción y modificación de parámetros. En esta etapa se realiza la


manipulación y síntesis de las dos señales involucradas en el proceso de
análisis y de posterior modificación de las mismas. El resultado esperado que

61
arrojó dicho procedimiento, fue la unificación o combinación de los dos sonidos
en uno solo representativo, el cual, adopta las características de fase, magnitud
y frecuencia de las dos señales involucradas.

Para efectos de lo antes mencionado, primero se calcula la parte real e


imaginaria de la señal, para así, posteriormente, calcular la magnitud,
frecuencia y fase de las mismas. El cálculo matemático se efectuó empleado
las ecuaciones indicadas a continuación:

Forma rectangular:

ejΦ = cos Φ + isen Φ

Forma polar:

C = p ejΦ

Donde el coseno es la parte real y el seno la imaginaria.

Φk(n) = arcg Idk(n) / ck(n) I

ak(n) = ( c²k(n) + d²k(n) )^ ½

Los espectros de fase y frecuencia de la señal de entrada son extraídos


mediante la aplicación de la FFT. Con esto, se obtienen los tres parámetros
básicos necesarios para implementar la síntesis de la señal.

62
La siguiente figura muestra el algoritmo desarrollado para efectuar dicho
proceso:

Fig. 34 Algoritmo de manipulación y modificación de las señales.

4.1.3 Cálculo de la magnitud, frecuencia y fase de la señal. La figura


anterior muestra el algoritmo que permite calcular los parámetros antes
mencionados. Posterior a esto, se efectúa la reconstrucción de una señal a
partir de las dos señales de entrada, las cuales dan origen a un nuevo sonido
que representa las propiedades en cuanto a las variaciones de magnitud de la
voz y las componentes de fase y frecuencia del instrumento. Para lograr este
proceso de unificación de las señales, se efectúa la convolución en el tiempo
de ambas señales; es decir se multiplican los espectros en frecuencia
obtenidos a través de la FFT, así:

Y(t)= señal de salida


X1(t) = voz
X2(t) = instrumento
Y(t) = X1(t) * X2(t)

La convolución en el tiempo equivale a multiplicar las señales en el dominio de


la frecuencia.

63
Y(w)= espectro de la señal de salida
X1(w) = espectro de la voz
X2(w) =espectro del instrumento
Y(w) = X1(w) x X2(w)

Por tal razón y como se está trabajando con señales que se encuentran en el
dominio de la frecuencia, se multiplican las magnitudes de la voz y el
instrumento de la siguiente manera:

Fig. 35 Algoritmo de manipulación y modificación de las señales.

Finalmente con los datos arrojados por cálculo del espectro de frecuencia y
fase, se convierten dichos parámetros en una representación completa de una
señal compleja; es decir, la señal imaginaria es reconstruida y transformada en
una compleja.

De este modo, se obtiene una sola señal que conserva las características de
frecuencia y fase del instrumento, variando su magnitud con la envolvente
espectral dada por la señal de voz.

4.1.4 Reconstrucción de la señal. Finalmente se efectúa la transformación


de la señal modificada en el dominio de la frecuencia, a una señal representada
en el dominio del tiempo.

64
Esto se logra a través de la aplicación de la transformada inversa de Fourier en
tiempo corto (ISTFFT) como se muestra a continuación:

Fig. 36 Diagrama de bloques del proceso de reconstrucción de señal.

Fig. 37 Algoritmo completo de un canal del Vocoder.

Lo expuesto anteriormente se sintetiza a través del siguiente diagrama de


bloques, que muestra una visión panorámica de la estructura general del
Vocoder:

Fig. 38 Diagrama de bloques estructura Vocoder.

65
Adicionalmente, se agrego un filtro pasa-banda a la salida de cada canal que
conserva las mismas características que los filtros antes mencionados. Con
estos filtros se busca reducir aún más cualquier ruido presente en la señal ya
combinada.

Todo el algoritmo que representa la estructura general del vocoder es el


siguiente:

Fig. 39 Algoritmo completo de una canal del Vocoder.

La implementación del banco de filtros es adecuada para reducir el ruido y


mejorar la calidad del sonido final generado, ya que no se trabaja directamente
sobre todo el espectro, si no por bandas especificas de frecuencia. De este
modo se descompone el sonido y el efecto del filtrado es más significativo ya
que elimina ruido por banda. Si se utiliza un solo canal para la circulación de la
señal, no se puede eliminar adecuadamente las componentes especificas de
frecuencia que se constituyen en el ruido presentes en todo el espectro, por tal
razón es mucho más sencillo y viable, eliminar estas componentes en
segmentos determinados de frecuencia.

Para el diseño del vocoder se implementaron cuatro canales como se indica en


la siguiente figura, donde cada subsistema contiene el algoritmo desarrollado y
explicado anteriormente.

66
Fig. 40 Diagrama de bloques.

Fig. 41 Algoritmo Completo desarrollado en Simulink.

4.2 IMPLEMENTACIÓN DEL ALGORITMO AL HARDWARE DIGITAL

Una vez finalizada la etapa del diseño y construcción del algoritmo que
gobierna todo el sistema, se continúa con la implementación del mismo sobre
la interfaz digital especializada en el procesamiento digital de señales o DSP.
El proceso a seguir para integrar el algoritmo a la tarjeta DSP (TMS320C6713
DSK) es el siguiente.

67
a. Testeo del Hardware Digital. Esta tarea se ejecuto a través del
programa 6713 DSK Diagnostics Utility v3.1, como se indica en la figura No.
42.

Fig. 42 Test.

Este programa verifica que todas las unidades que hacen parte de la tarjeta
estén funcionando adecuadamente; si es así, el programa enciende el led
ubicado en el lado izquierdo de cada uno de los parámetros de diagnostico.

b. Conexión de la tarjeta DSP al ordenador. Para integrar el algoritmo


diseñado en Simulink a la tarjeta, se debe establecer la conexión entre el
programa gestor de descarga que incluye la DSP y la plataforma de
desarrollo Matlab, a través de Simulink. El programa 6713 DSK CCStudio
v3.1, es el asistente que permite la conexión y la colocación del algoritmo
diseñado en Simulink, sobre el hardware digital.

68
Entonces, en primer lugar, se debe adicionar al entorno de conexión de
Simulink los módulos de soporte para el trabajo con la tarjeta DSP como se
muestra en la siguiente figura:

Fig. 43 Módulos de soporte tarjeta DSP.

Estos; como todos los módulos o bloques de trabajo de Simulink, se


encuentran en la librería del mismo asistente.

De esta manera se establece la conexión con el programa gestor de


descarga de la DSP. La figura No. 44 indica este proceso.

Fig. 44 Programa gestor de descarga del algoritmo.


69
Una vez establecida la conexión entre la tarjeta DSP y Simulink, se
descarga el algoritmo en la primera. Para esto se debe anexar antes; al
entorno de conexión de Simulink, los módulos para la conversión A/D y D/A
de las señales de entrada y salida del sistema. Además, se adiciona otro
módulo que contiene un algoritmo que toma las señal stereo de entrada y
la divide en dos señales mono. Esto se hace por que en primer lugar, la
tarjeta DSP no admite la entrada simultánea de dos señales
independientes de audio (Línea y Micrófono) y en segundo lugar, porque el
algoritmo creado para el Vocoder solo trabaja con dos señales mono por
canal. Entonces, como se dispone de solo un puerto de entrada para
trabajar en la tarjeta, es necesario implementar un algoritmo en Simulink
que permita dividir la única señal de entrada estéreo, en dos señales mono
diferentes; una alberga la voz y la otra contiene el sonido del instrumento.
El algoritmo diseñado para cumplir con esta tarea es el siguiente:

Fig. 45 Algoritmo para la división de la señal stereo.

La implementación de los convertidores A/D y D/A se muestran en la figura


No. 43.

c. Configuración del programa 6713 DSK CCStudio v3.1. Después de


configurar el entorno de conexión en Simulink y de establecer la conexión

70
con la tarjeta, se configura el programa gestor de descarga de la DSP. Aquí
se sincronizan los tiempos de entrada y salida de la señal, entre el algoritmo
y la tarjeta. Esto se hace a través de EMIF clock, el cual es un driver
contenido en los settings de INIT PLL, del menú GEL. La siguiente figura
muestra esta configuración:

Fig. 46 Configuración EMIF clock.

Finalmente, una vez configurados ambos sistemas, se descarga el


programa de Simulink en el gestor de descarga y simultáneamente en la
tarjeta DSP. La figura No. 47 indica este proceso.

Fig. 47 Carga del algoritmo en DSP.

71
Ya finalizado el proceso de descarga del algoritmo en la tarjeta DSP, se
puede trabajar el programa diseñado, a través del sistema hardware
especializado en el procesamiento de señales digitales o DSP.

4.3 IMPLEMENTACIÓN DE LA INTERFAZ GRÁFICA

Después de finalizar el desarrollo e implementación del Vocoder Hardware


Digital, se ampliaron los alcances del proyecto con el diseño y creación de
una interfaz gráfica que permite la manipulación e interacción de los
usuarios, con el algoritmo desarrollado a través de una herramienta
software.

Ahora bien, el desarrollo de esta interfaz se realizo empleando el asistente


para la creación de entornos gráficos GUIDE de Matlab. El programa
consta de tres módulos básicos y un control master de volumen, como se
indica en la siguiente figura.

Fig. 48 Interfaz grafica.

72
• Modulo de audios. En este primer modulo se cargan al Vocoder
los sonidos tanto de la voz como del instrumento.

• Modulo de Reproducción. Aquí se controla los parámetros de


reproducción del programa.

• Ecualizador por canal. En este módulo se efectúa el control


individual por canal de la amplitud de la señal de salida de todo el
sistema. Es decir se controla la amplitud de la señal modificada; por
anchos de banda determinados.

Además, a diferencia del algoritmo que trabaja sobre el hardware, este


programa está diseñado para funcionar a una frecuencia de muestreo de
44100 Hz y resolución de 16 bits. Esto se hace con el fin de mejorar la
calidad del sonido y gracias a las ventajas que ofrece un ordenador en
cuanto a capacidad de procesamiento y memoria de sistema. Las demás
características en cuanto a estructura y contenido del algoritmo, son
iguales a las especificadas en el programa creado para gobernar la tarjeta
DSP.

El siguiente es el programa desarrollado en Matlab para implementar la


interfaz gráfica.

• Estructura. Aquí se establecen los valores en los sliders de la interfaz


gráfica en 0.5, luego se localiza el sistema creado en Simulink y se abre.
En seguida, se ponen los valores de inicio para la ganancia de los canales
y el volumen master en Simulink.

Después se asignamos las variables audio1 y audio2 para referenciar los


archivos. Todo esto se hace sobre la función que se ejecuta antes de que
se haga visible la interfaz GUI.

73
% --- Executes just before vocoder_guide is made visible.
function vocoder_guide_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has contin output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to vocoder_guide (see VARARGIN)

set(handles.volumen,'Value',0.5);
set(handles.canal1,'Value',0.5);
set(handles.canal2,'Value',0.5);
set(handles.canal3,'Value',0.5);
set(handles.canal4,'Value',0.5);
find_system('Name','phase_vocoderfirguide');
open_system('phase_vocoderfirguide');
set_param('phase_vocoderfirguide/volumen','Gain','0.5');
set_param('phase_vocoderfirguide/canal1','Gain','0.5');
set_param('phase_vocoderfirguide/canal2','Gain','0.5');
set_param('phase_vocoderfirguide/canal3','Gain','0.5');
set_param('phase_vocoderfirguide/canal4','Gain','0.5');
audio1=get(handles.cancion,'String');
audio2=get(handles.cancion2,'String');
set_param('phase_vocoderfirguide/From Wave
File','FileName',char(audio1));
set_param('phase_vocoderfirguide/From Wave
File1','FileName',char(audio2));

% Choose default command line output for vocoder_guide


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% UIWAIT makes vocoder_guide wait for user response (see UIRESUME)


% uiwait(handles.figure1);

A continuación se describe la función empleada para efectuar la


reproducción de los sonidos. Esto se hace asignando un Tag para cada
caja donde se va a escribir los nombres de los archivos de audio que van a
ser ejecutados y también, para que se reconozca desde la interfaz GUI el
comando de start simulation en Simulink, relacionado con el botón play:

function play_Callback(hObject, eventdata, handles)

74
% hObject handle to play (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
audio1=get(handles.cancion,'String');
audio2=get(handles.cancion2,'String');
set_param('phase_vocoderfirguide/From Wave
File','FileName',char(audio1));
set_param('phase_vocoderfirguide/From Wave
File1','FileName',char(audio2));
set_param(gcs,'SimulationCommand','Start');

Aquí se muestra la introducción de función de pausa de la simulación, para


que sea reconocida por la GUI como el botón pause.

function pause_Callback(hObject, eventdata, handles)


% hObject handle to pause (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set_param(gcs,'SimulationCommand','Pause')

En seguida se configuran las funciones de pause y stop de la simulación,


por medio de los botones que llevan los mimos nombres.

% --- Executes on button press in stopp.


function stopp_Callback(hObject, eventdata, handles)
% hObject handle to stopp (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set_param(gcs,'SimulationCommand','Stop')
% --- Executes on button press in contin.
function contin_Callback(hObject, eventdata, handles)
% hObject handle to contin (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set_param(gcs,'SimulationCommand','Continue')

75
El siguiente algoritmo representa lo que se ejecuta en el movimiento de los
slider tanto de volumen como del ecualizador.

% --- Executes on slider movement.


function volumen_Callback(hObject, eventdata, handles)
% hObject handle to volumen (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider


% get(hObject,'Min') and get(hObject,'Max') to determine
range of slider
volu=get(hObject,'Value');
set_param('phase_vocoderfirguide/volumen','Gain',num2str(volu));

Lo antes mencionado, se ejecuta igual número de veces a los canales que


se utilizaron, cambiando las variables en cuanto numero de canal.

% --- Executes on slider movement.


function canal1_Callback(hObject, eventdata, handles)
% hObject handle to canal1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider


% get(hObject,'Min') and get(hObject,'Max') to determine
range of slider
volu1=get(hObject,'Value');
set_param('phase_vocoderfirguide/canal1','Gain',num2str(volu1));

En el anexo No. 1 se encuentra el archivo .m y .fig que se desarrollo para


obtener la interfaz gráfica.

76
5 PRESENTACIÓN Y ANÁLISIS DE RESULTADOS

5.1 VOCODER DE CANAL

El objetivo general de este proyecto plantea la creación de un Vocoder


hardware digital, cuyo propósito es efectuar la manipulación y procesamiento
de la señal estéreo que ingresa al sistema; la cual contiene la información
sonora tanto de la voz como la del instrumento, y arrojar como resultado una
señal modificada que conserva las características de frecuencia y fase del
instrumento, variando su magnitud con la envolvente espectral dada por la
señal de voz.

El Vocoder diseñado para este proyecto consta de 4 canales de análisis


dispuestos en paralelo y que por lo tanto, deben funcionar de manera
simultánea en el tiempo. A su vez, cada uno de estos está integrado por una
serie de elementos interconectados de manera lógica, con el objeto de cumplir
la tarea de análisis, extracción y modificación de parámetros; magnitud,
frecuencia y fase. Ahora bien, la creación del algoritmo general del sistema fue
desarrollado en su totalidad sobre la plataforma de desarrollo ya antes
mencionada Simulink. La figura No. 41 muestra el diseño del mismo. De esta
manera, se concibió una estructura y arquitectura especifica de todo el sistema.
Dicha configuración dio como resultado la creación de un sistema pesado en
cuanto a carga computacional. Es decir, el funcionamiento del algoritmo;
debido al alto número de información, datos, procesos y cálculo de operaciones
matemáticas que deben ser efectuadas y manejadas de manera simultánea en
el tiempo, crea una alta carga computacional por el uso de memoria y
capacidad de procesamiento del ordenador o cualquier otro sistema sobre el
cual se ejecute el mismo. La capacidad de memoria RAM y CPU, son requisitos
esenciales para obtener un adecuado funcionamiento del dispositivo como
sistema de procesamiento.

77
La figura No. 49 indica la carga computacional relacionada con la aplicación y
ejecución del algoritmo, con uno y cuatro canales de análisis.

Fig. 49 Uso de CPU y Memoria.

La medición de la carga computacional se efectuó a través del Administrador


de tareas de Windows, el cual permite monitorear de manera gráfica, la
capacidad de la maquina u ordenador cuando el sistema es ejecutado.
Por esta razón, al momento de implantar el algoritmo diseñado en Matlab sobre
la tarjeta DSP, no se obtuvieron los resultados esperados. La tarjeta DSP
presenta limitaciones en cuanto a capacidad computacional para el
procesamiento de señales; sus recursos físicos de memoria y CPU son
inferiores a los que otorga un ordenador.

Ahora, en principio se estableció 44100 Hz como frecuencia de muestreo para


todo el sistema, pero; por los motivos antes mencionados, se redujo la misma
hasta 8000 Hz. Es decir, se disminuyo la cantidad de muestras de señal que
por segundo debe tomar el sistema, buscando la reducción de la carga
computacional a la que es sometida la tarjeta. De esta manera se logró
implementar en la DSP el algoritmo del Vocoder constituido por cuatro canales
de análisis.

78
5.1.1 Vocoder hardware digital. La implementación del algoritmo diseñado
en la tarjeta DSP se efectuó de la siguiente manera. En principio, se inserto en
la tarjeta el programa conformado por solo un canal de análisis que cubría todo
el espectro de frecuencia de la voz. Esto se hizo con el fin de determinar de
manera paulatina; con el incremento gradual del número de canales de
análisis, el punto exacto donde la tarjeta DSP trabaja de manera adecuada con
el algoritmo implantado. Como ya se indicó antes, la tarjeta soporta una
determinada carga computacional, lo cual limita la cantidad de canales que
pueden ser implementados en dicho dispositivo. A medida que se incrementa el
número de canales la inteligibilidad de la señal va mejorando, ya que se
eliminaban de manera audible picos de alta frecuencia que generaban
distorsión de la señal. Este proceso de adición de canales al algoritmo que se
ingresaba a la DSP llego al límite cuando se implemento el programa
conformado por los cuatro canales. Cuando se agregó el algoritmo que
contenía más de esta cantidad, la señal se distorsionaba y tenía un retardo que
impedía el procesamiento del sistema en tiempo real, causando pérdida en la
inteligibilidad de la misma, a causa del exceso de carga computacional a la que
era sometida la tarjeta.

Para el análisis de los sistemas se utilizó una señal delta; la cual tiene un
espectro plano en frecuencia, ubicada en el canal de entrada de la voz y un
conjunto de tonos puros correspondientes a las frecuencias de 500, 1000 y
2000 Hz, ubicados en el canal de entrada del instrumento. Esto se hizo con el
fin de multiplicar ambas señales en el dominio de la frecuencia y así obtener
una señal resintetizada que muestra la respuesta del sistema a dicha
componente espectral.

79
a) Tono de 500 Hz. El análisis gráfico de la señal obtenida por la
resintesis de la misma a través del Vocoder, plantea una gran
correlación entre la señal original y la de salida del sistema. Esto se
traduce como buena fidelidad del Vocoder en cuanto a respuesta en
frecuencia de los sonidos que ingresan al mismo.

Fig. 50 Señal pura y la resintetizada con el Vocoder 500 Hz.

80
b) Tono de 1000 Hz. Para esta frecuencia se consiguieron resultados
similares.

Fig. 51 Señal pura y la resintetizada con el Vocoder 1000 Hz.

81
c) Tono de 2000 Hz. De igual forma para este tono se revelaron
resultados similares. Es decir la señal resintetizada tiene una gran
correlación con la señal original.

Fig. 52 Señal pura y la resintetizada con el Vocoder 2000 Hz.

82
De este modo se establece que todo el sistema diseñado trabaja de
manera adecuada; los problemas en cuanto a distorsión por la
manipulación y procesamiento de las señales sintetizadas es muy baja
para este tipo de señales. La reconstrucción de los sonidos conserva la
estructura general del espectro con algunas pequeñas modificaciones
del mismo.

Por otro lado también se efectuó el análisis del comportamiento del


sistema, a través de la implementación de una señal 2000 Hz en la
entrada del canal de voz y una de 220 Hz en la del instrumento. Los
resultados que se obtuvieron, muestran que; como se mencionó
anteriormente, a la salida del sistema surge una señal modificada que
conserva las características de frecuencia y fase del instrumento,
variando su magnitud con la envolvente espectral dada por la señal de
voz. Es decir la frecuencia de 2000 Hz se convierte en la señal
moduladora, de la señal portadora de 220 Hz como se muestra en la
siguiente figura.

Fig. 53 Señal envolvente de 2000 Hz.

Fig. 54 Señal resintetizada envolvente 2000 Hz con una de 220 Hz.

83
La grafica No. 55 muestra el espectro en frecuencia de la señal anterior, la cual
esta desplazada hasta los 220 Hz.

Fig. 55 Espectro de frecuencia de la señal resintetizada 2000 Hz.

Por otro lado, también se realizo el mismo análisis con la señal original de la
voz y un tono puro de 220 Hz. Los resultados gráficos fueron los siguientes.

Fig. 56 Señal de voz original y su resintesis con un tono puro de 220 Hz.

84
Los espectros en frecuencia de estas señales son los siguientes.

Fig. 57 Espectro en frecuencia de la señal de voz.

Fig. 58 Espectro en frecuencia de las señales reconstruidas.

En estas figuras se puede observar que al efectuar la resintesis de las señales,


se genera una nueva que conserva las características de frecuencia y fase del
instrumento; o en este caso del tono de 220 Hz, variando su magnitud con la
envolvente espectral dada por la señal de voz.

85
5.1.2 Vocoder software. Este sistema a diferencia del hardware, fue
implementado con una frecuencia de muestreo de 44100 Hz. Esto se debe en
primer lugar a que el ordenador tiene una capacidad de procesamiento y
memoria RAM mucho mayor que la que presenta la DSP y en segundo lugar,
porque la gran mayoría de sistemas de audio trabajan con sonidos
muestreados a esta frecuencia. Los resultados obtenidos son similares a los
antes expuestos. La simulación por software a través de sistemas
computacionales, permite la implementación de un mayor número de canales
de análisis del Vocoder. Esta ventaja computacional otorga la capacidad de
estructurar algoritmos que mejoran y conservan mucho más las características
de magnitud, frecuencia y fase de los sonidos, sin generar elevados índices de
distorsiones de señal.

Los resultados obtenidos a través de la simulación del Vocoder software sobre


el ordenador se muestran a continuación. El proceso de análisis seguido para
la evaluación de las propiedades y características del sistema diseñado, fue el
mismo que se empleo en el análisis del Vocoder hardware.

Las frecuencias que se usaron fueron de 1000 Hz; en el canal de entrada de la


voz, y de 220 Hz; en el canal del instrumento.

Fig. 59 Señal pura de 1000 Hz y su resintesis con un tono puro de 220 Hz.

86
La figura de respuesta en frecuencia de la señal resintetizada es la siguiente:

Fig. 60 Resintesis de la señal de 1000 Hz con la de 220 Hz.

Como en el caso anterior, las componentes en frecuencia de todo el espectro,


se concentran en torno de la frecuencia de 220 Hz. Esto ocurre porque las dos
señales de entrada se multiplican en frecuencia conservando las características
de frecuencia y fase de la señal portadora y la envolvente en tiempo de la
moduladora.

Por otro lado, también se realizó el mismo proceso con una señal musical;
ubicada en el canal de entrada de la voz y un tono de 500 Hz.

Fig. 61 Resintesis de la señal instrumental con la de 500 Hz.

87
Los espectros en frecuencia obtenidos son los siguientes:

Fig. 62 Espectro en frecuencia del instrumento (Guitarra).

Fig. 63 Espectro en frecuencia de la señal reconstruida.

Finalmente se encontró una gran correlación entre los resultados obtenidos


tanto en el Vocoder software como en el hardware. El análisis gráfico de las
señales arrojadas a la salida del sistema, indican la correspondencia entre las
señales puras y las reconstruidas, además de las similitudes entre los sonidos
generados por ambos sistemas de procesamiento digital.

88
6 CONCLUSIONES

Con la ejecución y aplicación de todos los procesos antes mencionados, se


llegó al cumplimiento del objetivo general de este proyecto; diseñar e
implementar un Vocoder Hardware Digital, capaz de procesar las señales tanto
de la voz como del instrumento, y transformar las mismas en una sola señal de
salida modificada. La implementación del algoritmo diseñado; para ser
ejecutado a través del sistema especializado en el procesamiento digital de
señales o tarjeta DSP, presenta algunas limitaciones en cuanto a capacidad de
procesamiento computacional. No se logró trabajar de manera adecuada,
cuando se quiso implementar el programa diseñado a una frecuencia de
muestreo de 44100 Hz. Por otro lado, tampoco se logró ingresar a la tarjeta un
algoritmo conformado por una arquitectura integrada por más de cuatro canales
de análisis. Debido a esto se llegó a la conclusión de que el mejor sistema para
ser implementado en dicho dispositivo, es el que eta diseñado para que trabaja
a una frecuencia de muestreo de 8000 Hz y conformado por cuatro canales de
análisis.

También se llego a la conclusión de que tanto en el sistema hardware como


software del Vocoder, la calidad e inteligibilidad de la señal final de salida,
mejoraba considerablemente a medida que se incrementaban los canales de
análisis con los que trabaja el programa. Esto se noto mucho más; de manera
audible y gráfica, en la aplicación real del algoritmo sobre la DSP.
Lastimosamente dicho dispositivo no respondió computacionalmente para
seguir incrementando el número de canales. Tan solo se alcanzó a trabajar de
manera adecuada hasta el cuarto canal. De este punto en adelante, la señal de
salida registraba problemas de retraso y ruido.

Por otro lado se llego a la conclusión de que el proceso que ejecuta el


algoritmo diseñado en Simulink responde específicamente a aun proceso de
filtrado de señal, donde la envolvente espectral de la voz; que varía en el
tiempo, filtra o moldea la señal instrumental en cuanto a amplitud, conservando
las características de frecuencia y fase de la misma. Cuando se ingresa una
señal con espectro invariante en el tiempo al canal de la voz y,
simultáneamente una señal instrumental cualquiera al canal del instrumento, el
sonido obtenido a la salida del sistema es la misma señal musical del
instrumento pero con las características de amplitud de la señal de voz, es
89
decir, la señal de salida conserva una amplitud constante en el tiempo siempre
y cuando la señal de voz no cambie de nivel, de lo contrario, la señal
instrumental será filtrada por la envolvente de amplitud de la señal de voz.

90
7 RECOMENDACIONES

Para posteriores trabajos que encuentren en la tarjeta DSP la plataforma sobre


la cual se desarrollara el proyecto, se recomienda trabajar con ella procurando
minimizar al máximo la carga computacional a la que es sometida la tarjeta. Es
decir, diseñar algoritmos con especificaciones y características de diseño
moderadas.

También se recomienda usar audios que tengan una taza de muestreo de


44100 Hz y una resolución de 16 bits, para usar la interfaz gráfica diseñada en
GUIDE, además, se debe tener en cuenta que los archivos .m, .fig, .wav y .mdl;
generados por el diseño de la interfaz [ANEXOS], tienen que estar ubicados en
la carpeta especifica de trabajo de Matlab.

Por otro lado, también se recomienda acceder a los archivos de audio adjuntos
a este trabajo [ANEXOS], con el fin de constatar las diferencias sonoras de las
diferentes señales obtenidas a la salida de los distintos sistemas diseñados y
evaluados.

91
BIBLIOGRAFÍA

12. Oppenheim, Alan V; Willsky, Alan S; Nawab, Hamid. 1998. Señales y


Sistemas. México: Pearson Prentice Hall.
13. Floyd, Thomas L. 2000. Fundamentos de Sistemas Digitales. España:
Pearson Prentice Hall.
14. Owens, F. J. 1993. Signal Processing of Speech. New York: McGraw Hill.
15. Saito, Chuzo. 1985. Fundamentals of Speech Signal Processing. Tokyo:
Academic.
16. Zolser, Udo. 1997. DAFX Digital Audio Effects. England: Jhon Wiley &
Sons, LTD.
17. Proakis, Jhon G. 1988. Tratamiento Digital de Señales: Principios,
Algoritmos y Aplicaciones. Madrid: Pearson Prentice Hall.
18. Ashok, Albardar. 2002. Procesamiento de Señales Analógicas y Digitales.
México: Thomson Editores.
19. Gold, Bernard; Rader, Charles M. 1967. The Channel Vocoder. IEEE
Transactions on Audio and Electroacoustics, Vol. AU-15, No. 4
December.
20. Laroche, Jean; Dolson, Mark. 1999. Improved Phase Vocoder Time-Scale
Modification of Audio. IEEE Transactions on Speech and Audio
Processing, Vol 7, No. 3 May
21. Bially, Theodore; Anderson, Walter M. 1970. A Digital Channel Vocoder.
IEEE Transactions on Communication Technology, Vol. Com-18, No. 4,
August.
22. Griffin, Daniel W. 1988. Multiband Excitation Vocoder. IEEE Transactions
on Speech and Audio Processing, Vol. 36, No. 8, August.
23. Dirección Nacional de Derechos de Autor.
http://www.derautor.gov.co/htm/legal/legislacion/leyes.htm

92
ANEXOS

En el CD entregado junto con este trabajo se encuentran los archivos de audio


que permiten realizar la comparación audible de las señales obtenidas con los
diferentes sistemas implementados, y los archivos .m, .fig, .wav y .mdl, de la
interfaz gráfica.

93

También podría gustarte