Escolar Documentos
Profissional Documentos
Cultura Documentos
T E S I S
P R E S E N T A N
ASESORES:
Agradecimientos
Desde el primer día de vida hasta el último de la ingeniería, cada paso, cada persona, cada
recuerdo, me han hecho ser quien soy. He forjado mi propio camino y no pretendo corregirlo,
pues nada cambiaría de él. Del mismo modo seguiré labrando mi camino para ser cada día mejor.
Gracias a todos los que han estado conmigo y en especial quiero agradecer:
A mis padres: por ser pilares fundamentales en mi vida y educación; por todo su cariño,
comprensión, confianza, enseñanzas y apoyo incondicional hacia mí, por demostrarme con su
ejemplo que no hay imposibles cuando realmente quieres conseguir algo. Porque de ellos aprendí
que no debes dejar que nada te desvié del camino que te has fijado y mantenlo hasta el final, serle
fiel y ser todo lo que quieras ser.
A mis hermanos: porque sé que cuento con ellos en todo en todo momento y porque para mí
siempre han sido un claro ejemplo del don de la perseverancia. Porque desde siempre me han
enseñado que el esfuerzo, dedicación, constancia, disciplina, trabajo, sacrificio y confianza en uno
mismo son indispensables para llegar al éxito.
A mis tutores: por guiarme y ayudarme en éste camino para lograr la culminación de ésta tesis
con mucho éxito. Porque gracias a ellos aprendí que todo gran éxito es una acumulación de
pequeños esfuerzo realizados diariamente.
Una meta de muchas más alcanzada. En el camino muchas veces he tropezado y gracias a ustedes
aprendí a levantarme. Nunca se fracasa hasta que se deja de intentar.
ii
GRABADORA DIGITAL DE VOZ PARA UNA PC
Agradecimientos
Quiero dedicar este trabajo de tesis, que es resultado de la formación que he recibido de
muchas personas, de las cuales, las más importantes son mis padres y mi hermano a quienes
dedico este trabajo. He tenido la fortuna de vivir 23 años gloriosos llenos de amor y calor de
una familia, de un ejemplo y miles de enseñanzas que jamás podré pagarte a ti mamá y a ti
papá. A ti hermano, mi mejor amigo, nunca dejarás de ser mi mejor ejemplo a seguir y mi
mayor admiración. Por todas esas bendiciones de Dios, de la vida, solo puedo decir ¡gracias!
Quiero agradecer a Mario Cureño y Jaime Cureño por su apoyo incondicional a lo largo de mi
formación académica. A mi familia, amigos y a quienes han sido participes en que haya podido
lograr esta meta en mi vida. A mi sobrino Yahveh Cureño, por sus risas y alegría que me
compartía en esos días de intenso trabajo, a quien mi mayor deseo es una vida llena de amor
y éxito.
iii
GRABADORA DIGITAL DE VOZ PARA UNA PC
Índice general
Índice general iv
GRABADORA DIGITAL DE VOZ PARA UNA PC
2.4 Transmisión serie de datos ...................................................................................... 51
2.4.1 Comunicación RS-232 y sus características ...................................................... 51
2.4.2 UART .......................................................................................................................... 55
2.4.3 Construcción física DB-9 ................................................................................... 56
2.5 Almacenamiento digital ........................................................................................... 60
2.5.1 RIFF ............................................................................................................................ 61
2.5.2 Estructura de un archivo WAV ........................................................................... 62
2.5.3 MP3 ................................................................................................................. 66
Capítulo 3: Diseño de hardware y software ....................................................................... 68
3.1 Micrófono SHURE C606N ....................................................................................... 69
3.2 Etapa de acondicionamiento y acoplamiento ........................................................... 70
3.2.1 Amplificador de pequeña señal.......................................................................... 70
3.2.2 Filtro pasa-bajas ............................................................................................... 72
3.2.3 Resultados........................................................................................................ 73
3.3 Codificación de la señal acondicionada.................................................................... 76
3.3.1 Módulo convertidor analógico-digital ................................................................. 76
3.3.2 Software de adquisición de datos ...................................................................... 77
3.4 Transmisión de datos (USART) ............................................................................... 81
3.4.1 Software de transmisión de datos ...................................................................... 82
3.4.2 Interfaz de Comunicación del Microcontrolador con la PC .................................. 89
3.5 Prototipo final del hardware ..................................................................................... 90
3.6 Software de la Interfaz Gráfica de Usuario ............................................................... 92
Capítulo 4: Resultados experimentales .......................................................................... 100
4.1 Sistema de adquisición de datos............................................................................ 101
4.1.1 Respuesta del micrófono ................................................................................. 101
4.1.2 Respuesta del filtro.......................................................................................... 102
4.2 Comunicación entre el microcontrolador y la Interfaz Gráfica de Usuario ................. 104
4.3 Uso de la Interfaz Gráfica de Usuario ..................................................................... 107
4.4 Archivo final de la Grabación ................................................................................. 108
4.5 Pruebas de funcionamiento ................................................................................... 110
4.5.1 Portabilidad del archivo ................................................................................... 110
4.5.2 Grabación en un periodo largo......................................................................... 114
Índice general v
GRABADORA DIGITAL DE VOZ PARA UNA PC
Índice de figuras
Figura 3. 23 PCB del circuito MAX 232 para la comunicación serial entre la PC y el microcontrolador
........................................................................................................................................................... 89
Figura 3. 24 Circuito PCB del circuito MAX232 para la comunicación serial entre la PC y el
microcontrolador ............................................................................................................... 90
Figura 3. 25 Hardware del sistema de adquisición de datos ......................................................... 90
Figura 3. 26 Diagrama de flujo del programa principal de la Interfaz Gráfica de Usuario ............... 92
Figura 3. 27 Diagrama de flujo del programa principal de la Interfaz Gráfica de Usuario ............... 93
Figura 3. 28 Asignación de nombre COM3 al puerto serial en el “Administrador de dispositivos” de
Windows ........................................................................................................................... 93
Figura 3. 29 Diagrama de flujo de la etapa de grabación en memoria temporal ............................ 94
Figura 3. 30 Diagrama de flujo de la etapa de graficación del espectro resultante. ....................... 95
Figura 3. 31 Diagrama de flujo para guardar un archivo WAV ....................................................... 96
Figura 3. 32 Diagrama de flujo del botón “Nueva grabación” ....................................................... 97
Figura 3. 33 Diagrama de flujo para asignar dimensiones de la grabación a la cabecera
correspondiente .......................................................................................................................... 97
Figura 3. 34 Diagrama de flujo para convertir archivo WAV en MP3 ............................................. 98
Figura 3. 35 Vista general de la Interfaz Gráfica de Usuario en C# para iniciar una grabación ....... 99
Índice de figuras ix
GRABADORA DIGITAL DE VOZ PARA UNA PC
Índice de tablas
Tabla 2. 1 Señales de los pines del conector DB-9 para el RS-232 ................................................. 57
Tabla 2. 2 Estructura de un formato WAV ............................................................................. 62
Tabla 2. 3 Especificaciones de los bloques de un formato WAV .................................................... 63
Tabla 2. 4 Ejemplo de la conformación de un archivo con formato WAV ................................... 64
Tabla 2. 5 Comparación de formatos de calidad de audio ............................................................ 67
Índice de tablas x
GRABADORA DIGITAL DE VOZ PARA UNA PC
Apéndice B
Índice de tablas xi
GRABADORA DIGITAL DE VOZ PARA UNA PC
Objetivo general
Diseñar un prototipo de una grabadora digital de voz para una PC usando el microcontrolador
PIC18F4550.
Objetivos particulares
Justificación
El procesamiento digital de voz es empleado en muchos sistemas de comunicación por las grandes
ventajas que presenta ésta frente a la analógica, entre las cuales está la facilidad de
almacenamiento, transmisión, calidad y una muy importante, un menor margen de ruido. Para el
caso de este proyecto, la finalidad es obtener un mensaje de voz entendible con una calidad baja,
por lo que reduciendo el ancho de banda a 4 KHz y un ancho de palabra de 8 bits, se obtiene una
grabación con calidad telefónica que genera poco espacio de almacenamiento y no requiere un
gran canal para su transmisión.
En algunos foros de ayuda por internet, se ha planteado una problemática con ciertos modelos de
computadoras portátiles que no cuentan con entrada de micrófono o línea de grabación, por lo
que necesitan un hardware externo para poder realizar una grabación. Este proyecto resuelve esa
problemática usando una interfaz serial o bien USB con el adaptador que es usado para este
mismo.
Justificación xiii
GRABADORA DIGITAL DE VOZ PARA UNA PC
Introducción
Las grabaciones caseras han crecido con popularidad día a día, ya que cada vez más personas se
involucran con éste tipo de proyectos de audio. El equipo que se utiliza en estas aplicaciones se ha
vuelto más sofisticado, práctico y accesible. El dispositivo de grabación es el objetivo final en la
trayectoria de la señal. En muchos estudios el dispositivo de grabación, es la computadora; sin
embargo, algunos proyectos de audio requieren de un equipo más complejo.
Una grabadora de sonidos externa, es muy útil para el uso en computadoras portátiles donde no
se cuenta con una entrada de grabación, como es el caso de algunos modelos de portátiles; sin
embargo, usando un hardware externo puede realizarse una grabación. En este proyecto se
desarrollará una grabadora digital de voz para una PC, la cual tendrá la ventaja antes mencionada
de poder usarla en equipos que carecen de entrada de micrófono. Cabe enfatizar la aplicación
para voz, debido a que se busca que el mensaje en la grabación sea entendible y audible
únicamente, reduciendo la calidad de la grabación para tener beneficios de almacenamiento y
transmisión.
Una buena grabación inicia con un principio básico, mientras mejor sea la captura desde la fuente
original, mejor será la salida final de audio; por ello es bueno asegurar que la grabación inicial de
voces sea fuerte, clara y precisa. Recordar la importancia que tiene el lugar donde se hace la
grabación ya que la primera manera de eliminar el ruido ambiental no deseado es asegurarse de
no capturarlo. La elección del tipo de micrófono, la determina el tipo de fuente de sonido; que
para este caso es voz, así que la búsqueda será de un modelo apropiado o bien, alguno de
propósito general que cumpla las expectativas. El micrófono debe colocarse exactamente en el
lugar correcto y mantenerlo ahí, así como recordar buscar adaptadores de calidad en caso de
requerirlos, para evitar falsos contactos, entre otras cosas importantes como el usar los cables
adecuados para reducir ruidos y zumbidos.
La captura de la señal analógica de voz requiere además del micrófono, un sistema de adquisición
de datos que se conforma por un amplificador de pequeña señal, un filtro pasa-bajas y un
microcontrolador. El amplificador de pequeña señal aumenta la ganancia del micrófono,
acondicionando en amplitud la señal para ser digitalizada; además de dicho acondicionamiento es
necesario un filtro pasa-bajas que limita en frecuencia, para sólo hacer uso del rango de
frecuencias necesario que hacen la voz entendible y finalmente el microcontrolador. Mediante un
software creado en lenguaje C, se implementará en el PIC18F4550 la codificación de la señal
analógica de voz, que previamente es acondicionada en amplitud y frecuencia. La voz es codificada
mediante la técnica de modulación PCM. Con un ancho de palabra de 8 bits, los datos serán
enviados a través del módulo USART del microcontrolador a una interfaz de comunicación que se
regirá bajo el estándar RS-232 para la transmisión de los datos a la PC. La comunicación es serial,
por lo que puede ocuparse un puerto DB9 serie o bien, usar un adaptador Serial-USB.
Introducción 1
GRABADORA DIGITAL DE VOZ PARA UNA PC
En la PC, una Interfaz Gráfica de Usuario interpretará dichos datos y codificará para su
almacenamiento bajo el estándar WAV. Adicionalmente con un software de compresión Open
Source será convertido el archivo WAV a MP3 conservando ambos archivos, pero en consecuencia
el segundo con un menor espacio de almacenamiento. El resultado final será una archivo de
audio, de capacidad porcentual a la duración que el usuario señale y que a percepción del oído
humano será entendible y audible, pero que a la perdida de información debido a la limitación en
frecuencia y ancho de palabra de 8 bits, no será de alta calidad; sin embargo, grandes beneficios
serán notables haciéndolo atractivo para su transmisión y almacenamiento. La grabación puede
ser reproducida y escuchada por cualquier reproductor de audio que soporte formato WAV o MP3
a través de algún dispositivo de salida como unas bocinas o audífonos.
Introducción 2
GRABADORA DIGITAL DE VOZ PARA UNA PC
Antecedentes y
Capítulo 1 estado del arte
El espectro de frecuencia audible varía según cada persona, sexo, edad, etcétera. Sin embargo
normalmente se acepta como el intervalo entre 20 Hz y 20 KHz. Por debajo de esta medida se
encuentran los infrasonidos que son vibraciones de presión, cuya frecuencia es inferior a la que el
oído humano puede percibir, es decir, de 0 a 20 Hz. Por encima están los ultrasonidos, que son
aquellas ondas cuya frecuencia es superior al margen de audición humana, superior a los 20 KHz.
Entre las características más importantes del sonido tenemos:
1
Véase referencia 1.
La voz es el sonido que se produce con la vibración de las cuerdas vocales mediante el aire que es
expulsado por los pulmones y sale por la laringe, en forma de una onda sonora que es
combinación de varias frecuencias y sus correspondientes armónicos. La voz masculina tiene un
tono fundamental de entre 100 y 200 Hz, mientras que la voz femenina es más aguda, típicamente
está entre 150 y 300 Hz. Las voces infantiles son aún más agudas.2
El audio digital es la codificación digital de una señal eléctrica análoga a una onda sonora. Consiste
en una secuencia de valores enteros que son obtenidos a partir de los procesos de muestro y
cuantificación digital de la señal eléctrica, dos procesos esenciales para la conversión de una señal
analógica a una señal digital. 3
De acuerdo con el Teorema de muestreo de Nyquist, la tasa de muestreo, esto es, el número de
muestras con las que se realiza el proceso de muestreo en una unidad de tiempo, determina
exclusivamente la frecuencia máxima de los componentes armónicos que pueden formar parte del
material a digitalizar.
El formato más usado de audio digital PCM (Pulse Code Modulation, Modulación por Pulsos
Codificados) lineal es el del CD de audio: 44,1 kHz de tasa de muestreo y cuantificación lineal de 16
bits (que mide 65536 niveles de señal diferentes) y que, en la práctica, permite registrar señales
analógicas con componentes hasta los 20 kHz y con relaciones señal a ruido de más de 90 dB.
Todo empezó en los tiempos de Thomas Alba Edison, quien inventó la bombilla y el micrófono, sin
olvidar el fonógrafo con el cual trataba de simular las funciones de los tímpanos. Edison en
resumen lo que inventó fue la transducción (transformación de un tipo de señal en otro distinto).
Luego con la llegada del gramófono vino la posibilidad de escuchar lo grabado, la libertad de tener
el sonido en el tiempo, la magia de escuchar exactamente la misma interpretación varias veces,
todos estos inventos buscaban preservar la voz, protegerla de los estragos del olvido y de su
desaparición en el tiempo. Estos inventos llegaron a cambiar radicalmente el entretenimiento.
2
Véase referencia 2.
3
Véase referencia 3.
Desde la época de los años 20’s se tiene la noción de los conceptos del audio digital pero no fue
hasta los años 70’s cuando se empezó a desarrollar y comercializar formalmente tecnología de
este tipo. Antes de que se introdujera formalmente el concepto de señal digital, éstas eran
representadas en forma analógica. Eran guardadas a menudo en cintas de audio o discos. La
grabación analógica de sonido es la técnica por la cual se captura el sonido y se almacena en
señales analógicas. En la actualidad casi todos los formatos de grabación y reproducción de sonido
son digitales. La grabación digital de sonido es la grabación del sonido en la que se obtiene audio
digital. Para ello, interviene un proceso previo de conversión A/D (analógico-digital) y, una vez que
obtenemos la señal digital, ésta es grabada sobre un soporte o medio. Lo que determina si
estamos ante una grabación analógica o digital no es el soporte o medio, sino el tipo de señal
grabada en él. 4
Hoy en día la grabación analógica todavía puede preferirse en ocasiones por sus cualidades
sonoras. Sin embargo presenta varios inconvenientes con respecto a la grabación digital:
1. Grabación magnética digital: sobre soporte magnético, cinta como el DAT u otros
formatos similares; o bien sobre soportes magnéticos informáticos como el disco flexible.
2. Grabación óptica digital: la señal es grabada sobre el soporte de forma óptica, mediante
un láser. Es el caso del CD.
3. Grabación magneto-óptica digital: sistema combinado que graba de forma magnética,
pero reproduce de forma óptica. Es el caso del minidisc o de los CD regrabables (CD-RW) y
del propio disco duro de cualquier ordenador.
4
Véase referencia 4.
Tipos de formatos
Existen diferentes tipos de formato según la compresión del audio. Es importante saber distinguir
entre formato de archivo y códec. El códec codifica y decodifica los datos del audio mientras estos
datos son almacenados en un archivo que tiene un formato de audio específico. La mayoría de los
formatos de archivo de audio públicamente documentados pueden ser creados con uno de dos o
más codificadores o códecs. Aunque la mayoría de formatos de archivo de audio solo soportan un
tipo de datos (creado con un códec de audio) un contenedor de formato de multimedia como MKV
(Matroska) o AVI (Audio Video Interleave) puede soportar múltiples tipos de datos de audio y
vídeo.
Hay un formato principal sin comprimir, PCM, que normalmente esta archivado como .wav en
Windows y .aiff en MAC. Los formatos PCM contienen toda la información que salió del
convertidor analógico digital, sin ninguna omisión y por eso tienen la mejor calidad. Los archivos
de audio digital almacenan toda la información que ocurra en el tiempo, el tamaño del archivo no
varía así contenga “silencio” o sonidos muy complejos. WAV y AIFF son formatos flexibles creados
para almacenar varias combinaciones de frecuencia de muestreo o tasa de bits, esto los hacen
adecuados para archivar grabaciones originales. El formato AIFF está basado en el formato IFF,
mientras que el formato WAV está basado en el formato RIFF, que realmente son muy similares.
BWF (Broadcast Wav Format) es el formato de audio estándar creado por la Unión Europea de
Radiodifusión como sucesor a WAV y permite el almacenamiento de datos en el archivo.
5
Véase referencia 5.
El formato sin pérdida requiere más tiempo de procesamiento que los formatos sin comprimir
pero más eficiente en cuanto el espacio que ocupa. Los formatos de audio sin comprimir codifican
tanto audio como silencio con el mismo número de bits por unidad de tiempo. Codificar un minuto
de silencio en un formato sin comprimir produce un archivo del mismo tamaño que codificar un
archivo sin comprimir de un minuto de música de orquesta. Sin embargo en estos archivos la
música ocupa un archivo ligeramente más pequeño y el silencio no ocupa casi nada.
En este sistema de codificación se comprimen los datos descartando partes de ello. El proceso
intenta minimizar la cantidad de datos que mantiene el archivo reduciendo su peso y por lo tanto
su calidad. Realmente solo pierde los canales no audibles al oído humano, de tal modo que
conservan gran parte de su calidad.
Formatos abiertos
GSM Diseñado para el uso de telefonía en Europa. GSM es un formato muy práctico para voces de
calidad teléfono. Es un buen compromiso entre calidad y tamaño. Los archivos de wav pueden
ser codificados con GSM.
dct Es un códec variable diseñado para dictar.
vox Este formato es comúnmente utilizado para el códec ADPCM Dialógico (Adaptive differential
pulse code modulation). Similar a otros formatos ADCPM comprime a 4 bits. Los archivos vox
son similares a archivos wav, salvo que no contienen información sobre el archivo, de modo que
la frecuencia de muestreo y el número de canales debe ser especificado para reproducir un
archivo vox.
mmf Un formato de audio creado por Samsung, utilizado en tonos de móvil.
Formatos propietarios
mp3 Formato MPEG layer 3 es el más popular para bajar y almacenar música. Eliminando
porciones del archivo que sean menos audibles, mp3 comprime a aproximadamente un
décima parte de un archivo PCM sacrificando su calidad.
Aac (Advanced Audio Coding) este formato está basado en MPEG2 y MPEG4. Los archivos acc
suelen ser contenedores ADTs o ADIF.
mp4 MPEG-4 audio más a menudo ACC pero a veces MP2/MP3, MPEG-4 SLS, CELP, HVXC y otros
tipos de objetos de audio pueden ser definidos en MPEG-4 audio.
Wma (windows media audio) este formato fue creado por Microsoft y está diseñado con
habilidades de gestión de derechos digitales para protegerlo de copia.
Atrac El estilo antiguo de formato Sony ATRAC. Siempre contiene una extensión de formato .wav.
Para abrir estos formatos hay que instalar unos drivers ATRAC3.
ra & rm Un formato RealAudio diseñado para el streaming de audio por Internet.
Ram Un archivo de texto que contiene un enlace a una página web donde el archivo RealAudio
está almacenado. Archivos ram no contienen audio.
Dss (digital speech standard) Es un formato de propiedad de la corporación Olypus. Es
relativamente viejo y su códec es mediocre.
Msv Un formato de Sony para archivos de voz comprimidos en tarjeta de memoria.
Dvf Un formato de Sony para archivos de voz comprimidos, normalmente utilizado en
grabadoras de dictado.
IVS Un formato desarrollado por 3D solar UK ltd., con gestión de derecho digital utilizado para
descargar música de su tienda digital Tronme y en su reproductor interactivo de música y
vídeo.
m4p Una versión de ACC en mp4 desarrollada por Apple con gestión de derecho digital para la
utilización de descargas de la tienda de Itunes.
Iklax Es un formato de audio digital multi pista que permite varias acciones en datos musicales
como arreglos de volumen y mezclas.
MIDI Se trata de un protocolo de comunicación serial estándar que permite a los computadores y
otros dispositivos musicales electrónicos comunicarse y compartir información para la
generación de sonidos.
Códecs
En la actividad del procesamiento de una señal, surge la necesidad de crear archivos de audio o
video a partir de otro, con un tamaño reducido a comparación del inicial y manteniendo la misma
calidad que presentaba. En resumen, el beneficio es obtener un archivo con un tamaño reducido y
buena calidad. El proceso anterior lo desarrolla una herramienta llamada códec.
Los códecs surgen como dispositivos hardware, software o la combinación de ambos, dedicados al
procesamiento digital de audio, video e imágenes con el fin de llevar a cabo la codificación-
decodificación y en algunos casos también la compresión de un flujo de datos obteniendo un
archivo en otro formato más apropiado para el almacenamiento, reproducción o manipulación del
mismo. Sabemos que, como en todos los casos, no existen dispositivos ideales, y en este, durante
el proceso nos encontraremos con pérdidas de información en el proceso de querer conseguir un
tamaño muy reducido. Una vez realizada la compresión, es importante considerar si el archivo
final se seguirá procesando en un futuro ya que esto iría dañando demasiado su calidad. 6
Hoy en día, la mayoría de las técnicas de codificación digital de audio, tales como MP3, AAC y
muchos más, son códec con pérdidas. Por otra parte, muchos de los algoritmos de compresión sin
pérdidas están disponibles en el mercado o son distribuidos gratuitamente. La compresión con
pérdidas dio un cambio radical debido a la necesidad de la música portable. Después de la
introducción de cintas grabables, se pudo lograr transportar la música a todas partes,
reproduciéndola en dispositivos pequeños capaces de caber en nuestra palma de la mano.
Así pues la tendencia de los códecs actuales, es llevar a cabo una codificación y decodificación lo
más rápida posible con la mejor tasa de muestreo y a la hora de realizar la compresión de un
archivo, que sea lo más compacta posible minimizando al máximo las pérdidas para obtener, de
esta manera, un archivo que ocupe un espacio muy pequeño a la hora de almacenarse en algún
dispositivo con la misma calidad de origen.
Para cubrir el espectro audible (20 a 20 KHz) suele bastar con tasas de muestreo de algo más de 40
KHz, con 3200 muestras por segundo se tendría un ancho de banda similar al de la radio FM, es
decir, permite registrar componentes de hasta 15 KHz, aproximadamente. Para reproducir un
determinado intervalo de frecuencias se necesita una tasa de muestreo de poco más del doble
(Teorema del muestreo de Nyquist-Shannon. Por ejemplo en los CD’s que reproducen hasta 20
KHz, emplean una tasa de muestreo de 44.1 KHz).
El formato más usado de audio digital PCM lineal es el del CD de audio: 44.1 de tasa de muestreo y
cuantificación lineal de 16 bits (mide 65536 niveles de señal diferentes) y que permite registrar
señales analógicas hasta los 20 KHz.
6
Véase referencia 6.
1857 Fonoautógrafo
Este artefacto es considerado el primero en ser capaz de registrar sonidos en un medio visible, fue
patentado por Leon Scott.
Podía transcribir sonido a un medio visible, pero no tenía un modo de ser reproducido después. Era usado
para determinar la frecuencia de un tono musical, y para estudiar el sonido y el habla.
1877 Fonógrafo
Creado por Thomas Alba Edison, fue el primer aparato capaz de grabar sonidos mediante un sistema
mecánico – analógico, que posteriormente los reproducía.
En 1889 Theo Wangeman grabó un segmento de las Danzas Húngaras de Johannes Brahms que aunque
todavía se conserva, presenta una calidad pésima.
1887 Gramófono
Emile Berliner patentó el primer sistema de grabación y reproducción de sonido que utilizó un disco plano
de metal tratado químicamente. El costo de las grabaciones era mucho menor que el del fonógrafo, pero los
usuarios no podían hacer sus propios registros.
En 1889 la fábrica de juguetes alemana Kammer & Reinhardt empezó a producir el “gramófono de juguete”
de Berliner y sus discos de 12.7 cm.
1900 Telegráfono
Valdemar Poulsen obtuvo el Gran Premio de la Exhibición Mundial de París con este invento que grababa
magnéticamente los sonidos sobre un carrete de hilo de acero. Fue el primer instrumento de lectura
magnético.
La intención de Poulsen era la de grabar un mensaje de voz para utilizarla en el caso de que se produjera una
llamada telefónica en su ausencia. En realidad podría decirse que inventó el primer contestador automático.
1926 Gramófono Eléctrico
La empresa Brunswick-Balke-Collender introdujo el primer gramófono totalmente eléctrico. Ya no se
necesitaba girar la manivela para generar el movimiento del motor.
El proceso de grabación eléctrico iniciado por la compañía Victor fue anterior a la reproducción eléctrica
hogareña, debido al alto costo inicial de los aparatos.
1934 Tocadiscos Wurlitzer P10
Insertando una moneda, se podía seleccionar una canción de entre 10 títulos de discos de goma laca. Este
primer tocadiscos resultó indispensable en restaurantes y bares.
El Wurlitzer “1015” lanzado en 1946 fue el más vendido de todos los tocadiscos del siglo XX: 56.000 unidades
en 18 meses.
1935 Magnetófono
AEG comercializó los primeros aparatos que grababan el sonido magnéticamente sobre un alambre de
acero. Contaban con una extensa duración mejor calidad sonora.
Los magnetófonos fueron empleados por emisores alemanes de radio para grabar sus programas con
antelación y evitar los errores de la transmisión en directo.
1948 Disco de vinilo
Este nuevo material permitió una reducción importante del ruido superficial en la grabación mecánica
analógica. Columbia Records presento en Nueva York el primer LP de 33 rpm y un año más tarde, RCA Victor
lanzó su primer simple de 45 rpm.
Los discos de vinilo deben su nombre al material con el que están fabricados: policloruro de vinilo (PVC).
7
Véase referencia 7.
La primera aplicación de digitalización del sonido se sitúa en la telefonía digital, para ésta
aplicación es preciso realizar un muestreo de 4 KHz, con esta frecuencia se asegura el correcto
muestreo de aquellos timbres de voz más agudos (timbre máximo de la voz humana 3.4 KHz
aproximadamente), para esta aplicación se emplea una resolución de 8 bits en la digitalización de
cada muestra. Esta técnica es conocida como PCM.
El software para grabación y reproducción de voz es una idea innovadora con los beneficios de
poder escuchar una y otra vez grabaciones registradas anteriormente de manera clara, pero que
tuvo sus limitaciones en su creación. Los primeros productos de voz de software tenían muchas
cuestiones y problemas que les hizo difícil trabajar en cuanto a la calidad del sonido. Durante los
últimos años, ha mejorado mucho y ahora software para grabación y reproducción de voz están
demostrando ser una solución de un gran negocio. En la actualidad hay inmensa cantidad de
software que nos permiten desde la comodidad de nuestra casa manipular el audio digital así
como hacer grabaciones de en tiempo real. Muchos de éstos permiten modificar parámetros
como la duración del sonido, la tasa de muestreo, la resolución utilizada, el formato en que
deseamos que se guarde la grabación procesada, el número de canales, efectos tales como la
reverberación, mezcla de dos o más pistas, etc. Por mencionar algunos ejemplos del software más
utilizados tenemos:
Características:
- Grabación en tiempo real mediante un micrófono, las líneas de entrada u otras fuentes.
- Importa archivos de sonido, permite editarlos y combinarlos con otros archivos o nuevas
grabaciones. Exporta las grabaciones en varios formatos de sonido. También permite la
conversión entre formatos de tipo de audio.
- Edición sencilla mediante cortar, copiar, pegar, borrar, deshacer y mezclar sonidos.
- Recuperación automática tras bloqueo en el caso de terminación anormal del programa.
8
Véase referencia 8.
- Posibilidad de agregar efectos al sonido (eco, inversión, tono, etc.). Elimina ruidos,
normaliza, ecualiza, amplifica, modifica tonos.
- Graba y edita muestras de 16-bits, 24-bits y 32-bits. Graba hasta un máximo de 96 KHz.
- Posibilidad de usar plug-ins para aumentar su funcionalidad
Características:
- Edición del audio de archivos de videos.
- Interfaz fácil de usar.
- Puedes aplicar diversos efectos fácilmente
- Herramienta potente de reducción de ruido
- Es compatible con vista previa para ver los cambios en tiempo real
- Administrador de marcadores y regiones fácil de usar.
- Admite varios formatos de archivo incluyendo WAV (múltiples códecs), MP3, WMA, OGG y
muchos más.
- Permite grabar archivos de audio en un CD.
- Incluye herramientas para sintetizar la voz
9
Véase referencia 9.
10
Véase referencia 10.
Características:
- Edita y mezcla audio.
- Aplica efectos de sonido y agrega filtros de ruido.
- Utiliza multipista y crea música.
- Compila y edita una banda sonora.
- Limpia el audio de una película.
- Graba y mezcla proyectos.
Pro Tools: Es una estación de trabajo de audio digital, una plataforma de grabación, edición y
mezcla multipista de audio y midi, que integra hardware y software. Por sus altas prestaciones, es
el considerado el estándar de grabación, edición y mezcla en estudios profesionales y
postproducción, usado mundialmente.11
11
Véase referencia 11.
Un sistema está definido como un conjunto de elementos que están interrelacionados entre si y su
entorno, que interactúan, para lograr un objetivo. Un sistema en general se compone de una
entrada, un proceso y una salida, puede o no existir retroalimentación de la salida a la entrada, y
el proceso puede estar conformado a su vez de varios procesos.
Salida
Grabación de voz
Entrada Proceso digitalizada en un
Voz humana
archivo de formato
WAV
Retroalimentación
Figura 2. 1 Diagrama a bloques de un sistema
Los sistemas digitales son un conjunto de procesos que involucran elementos electrónicos para el
procesamiento y transmisión de datos representados por valores estrictamente discretos.
12
Tomasi, 2003: 607-613.
Figura 2. 2 Diagrama de las etapas funcionales que conforman el sistema de la grabadora de voz
2.1.1 Micrófonos
A su vez este transductor puede considerarse dividido en dos partes: un transductor acústico-
mecánico (T.A.M) y otro mecánico-eléctrico (T.M.E):
El T.A.M. convierte las variaciones de presión de la onda sonora a las que la membrana o
diafragma del micrófono están expuestas, en oscilaciones mecánicas.
El T.M.E. convierte estas oscilaciones mecánicas en variaciones de tensión o corriente
eléctrica (normalmente de +1V a -1 V).
De esta forma podemos guardar y manipular sobre algún dispositivo o soporte analógico o digital.
Finalmente estos impulsos eléctrico se vuelven a transformar en ondas de presión a través de los
altavoces, por ello se define al micrófono como transductor.
Los micrófonos poseen una serie de características que son las que nos va definir en gran medida
su calidad y sus posibilidades de uso en las diferentes situaciones que se nos presenten.
1. Sensibilidad: Nos indica la capacidad del micrófono para captar sonidos de poca
intensidad. Es la relación entre la tensión generada por el micrófono, respecto de la
presión sonora que recibe. Se mide a 1 kHz y se expresa en mV/Pa. Cuanto mayor sea la
sensibilidad, mayor es el nivel de la señal de salida con igual presión incidente. No es
recomendable el uso de micrófonos con una sensibilidad menor a 1 mV/Pa.
13
Véase referencia 13.
Figura 2. 4 Micrófono es tanto mejor cuanto más rectilíneo sea su curva de respuesta de frecuencia. 1)
Micrófono de calidad. 2) Micrófono con poca sensibilidad a tonos bajos. 3) Micrófonos con poca sensibilidad
a los tonos altos. 4) Micrófono de baja calidad
5. Distorsión: Es la tensión o señal que nos entrega el micrófono sin que exista ningún sonido
incidiendo sobre él; y se refiere al conjunto de señales que aparecen en la salida de un
sistema que no estaban en la entrada. En de los micrófonos, los fabricantes no suelen dar
el valor de la distorsión.
Existen varias causas por las cuales se puede crear distorsión en los micrófonos.
Distorsión interna: Efecto proximidad, resonancia interna, respuesta lenta a los
ataques y vibraciones parciales, en diagramas grandes.
Distorsión externa: Sobrecarga o sobresaturación, poping, Ruido de viento y ruido
de vibración o golpeteo.
6. Dinámica: Es el margen existente entre el sonido más débil y el sonido más fuerte, que se
transforman en señal eléctrica sin distorsión, que es capaz de captar un micrófono.
8. Ruido: las tensiones entregadas por el micrófono son muy débiles, con lo que el ruido
originado en el interior del micrófono puede cobrar una importancia excesiva. Los
fabricantes suelen indicar el nivel de ruido equivalente, que es el nivel de presión sonoro
que daría lugar a la misma tensión de salida que la generada por el ruido interno.
2. T.M.E. que indica la eficiencia del micrófono en la conversión de energía (onda) acústica a
energía (señal) eléctrica.
Dinámicos
- Micrófono de bobina móvil: Basan su funcionamiento en el fenómeno de
generación de una tensión electromotriz, o inducida, en un condensador que
se desplaza, por efecto de la presión acústica, en el interior de un campo
magnético.
- Micrófono de cinta: Se basan en el mismo principio que los de bobina, pero
ahora el conductor que se mueve en el campo magnético es una cinta
metálica de aluminio en forma de zigzag, que se encuentra situada, y puede
oscilar, entre los polos de un potente imán.
Electrostáticos
- Micrófono de condensador: Es un micrófono de alta calidad cuyos principios
de funcionamiento está basado en la atracción y repulsión de cargas
eléctricas. Consiste en un condensador formado por una placa fija y otra
móvil. Para funcionar necesita de una polarización de tensión continua que
mantenga cargado el condensador.
- Micrófono electret: Es un micrófono de condensador que utiliza un electrodo
laminar, que no necesita tensión de polarización externa. El electret es un
dieléctrico permanente polarizado, análogo a un imán permanente.
3. De acuerdo a su directividad.
Micrófono Omnidireccional: En este micrófono el sonido es captado casi
uniformemente en todas las direccionales. La tensión obtenida en circuito abierto es
proporcional a la presión sonora incidente sobre su membrana, independientemente
de la orientación de ésta.
Micrófono Bidireccional: Nos proporcionan una máxima sensibilidad al sonido que
proviene de la parte anterior y su opuesto. Esta sensibilidad disminuye hacia los lados.
Es un micrófono idóneo para ser utilizado entre dos locutores enfrentados, ya que
capta por igual el sonido de ambas.
Micrófono Semidireccional: Captan preferentemente los sonidos precedentes de los
puntos situados delante de su membrana, y con menor nivel los que preceden de los
puntos situados detrás.
Micrófono unidireccional o Cardiode: Sólo recoge los sonidos precedentes de puntos
situados delante del micrófono, quedando muy atenuados los procedentes de la zona
posterior. Son los ideales para ser utilizados en locales donde exista riesgo de
retroalimentación acústica
La voz humana emite ondas analógicas de sonido, por lo que se dice que el sonido digitalizado es
una gráfica del cambio en la presión de airea través del tiempo. Al grabar un sonido, el micrófono
cambia las fluctuaciones de la presión de aire en fluctuaciones de tensión eléctrica, que la tarjeta
de sonido mide cada cierto tiempo y el número de cambios, llamados muestras. Al producir un
sonido de nuevo, el proceso se invierte, excepto que las fluctuaciones de voltaje van a altavoces
en lugar de un micrófono, y se convierten de nuevo en la presión de aire en el cono del altavoz.
Para llevar la etapa de muestreo, es necesaria una etapa previa de acondicionamiento de la señal
de voz que se desea digitalizar.
2.2.1 Acoplamiento
El acoplamiento es la unión de dos impedancias, para que haya transferencia de uno a otra. La
eficaz transferencia de energía de una etapa a otra se logra cuando las impedancias de ambas
etapas se acoplen o igualen.
Cualquier equipo de audio puede representarse como un generador de tensión serie con una
impedancia, llamada impedancia interna ( ). A la salida del circuito equivalente se conectará otro
equipo que a su vez tendrá una impedancia de entrada ( ). En el caso de los micrófonos,
interesa que exista adaptación por tensión, es decir, que la impedancia de entrada de la etapa
siguiente sea mucho mayor que la impedancia interna, para que toda la tensión generada por el
micrófono caiga sobre la entrada del equipo conectado a él.
2.2.2 Amplificación
Amplificador operacional
Un amplificador operacional es un circuito integrado que produce una señal de salida con la
misma forma de onda que la señal de entrada, pero con mayor amplitud. La relación entre la señal
de salida y la entrada es la ganancia. Su estructura interna es compleja, no es necesario conocer
mucho sobre la operación interna del amplificador operacional para emplearlo.14
El símbolo del amplificador operacional es un triángulo que apunta en la dirección del flujo de la
señal. Este componente tiene un número de identificación de parte colocado dentro del símbolo
del triángulo. El número designa al amplificador con características específicas. Todos los
amplificadores operaciones poseen por lo menos cinco terminales: la terminal de entrada
inversora (-), la terminal de entrada no inversora (+), la terminal de alimentación positiva o V+,
la terminal de fuente de alimentación negativa o V- y la terminal de salida .
14
Coughlin y Driscoll, 1999: 14-22.
En un circuito con las terminales anteriormente conectadas, el voltaje de salida se mide con
respecto a tierra. El límite superior de se denomina voltaje positivo de saturación , y el
límite inferior de voltaje negativo de saturación . La salida de la terminal puede caer hasta
1V debajo de +V y caer hasta 2V arriba de –V.
La polaridad del voltaje de salida depende sólo de la diferencia en voltaje entre las entradas
inversora y no inversora (ambos voltajes se miden respecto a tierra), por ello estas entradas se
denominan terminales de entrada diferencial. Esta diferencia de voltaje puede encontrarse por:
()( ) ( 1)
Para conocer la función de cada terminal del amplificador operacional, así como para saber un
poco sobre sus limitaciones de un amplificador real y sus características, consulte la referencia 14.
Donde el voltaje diferencia de entrada se denota por y la ganancia en lazo abierto del
amplificador por .
Amplificador no inversor.
Esta configuración tiene una resistencia externa de alimentación conectada entre la terminal de
salida y la terminal de entrada inversora (-). Este tipo de circuito se denomina circuito de
retroalimentación negativa. 15
15
Coughlin y Driscoll, 1999: 62-63.
En la figura 2.8 se ilustra un circuito no inversor; en donde el voltaje de salida , tiene la misma
polaridad que el voltaje de entrada . La resistencia de entrada del amplificador no inversor es
extremadamente grande, típicamente excede 100 MΩ. Para fines prácticos se tiene que el voltaje
entre las terminales (+) y (-) del amplificador operacional es de 0V, entonces ambas están al
mismo potencial . Por lo tanto aparece a través de , lo cual causa que la corriente fluya
como lo muestra la ecuación (3):
( 3)
( ) ( 4)
( 5)
O bien:
( ) ( 6)
( 7)
La ecuación (7) muestra que la ganancia de voltaje de un amplificador no inversor siempre es igual
o mayor que 1.
La relación señal/ruido (S/R) de la señal de audio expresa la relación de niveles entre la señal útil y
el ruido de fondo que le acompaña. Indica la calidad de ruido que añaden a la señal útil durante el
proceso de tratamiento de la señal de audio. Se mide en decibelios (dB). Cuanto más elevado es
su valor, menos ruido tendremos presente en la señal útil.16
Se utiliza para cuantificar la cantidad de ruido presente en alguna señal dada. Es relación entre la
potencia de la señal y la potencia del ruido.
( 8)
(⁄)
16
Bolton, 1995: 50-51.
(⁄) () ( 9)
( ⁄ ) ( ) ( ) ( 10)
Al ser las señales de ruido señales aleatorias superpuestas a la señal medida, tomar un valor
promedio en cc de la señal sobre un periodo de tiempo puede utilizarse para reducir el efecto del
ruido y mejorar la relación señal/ruido. La relación señal/ruido se incrementa en proporción a la
raíz cuadrada del tiempo sobre el que se promedia. Para señales repetitivas, promediando se
puede aumentar la relación señal/ruido. Se toman muestras para el mismo punto de la forma de
onda de la señal en cierto número de ciclos y se obtiene el valor promediado. Para cada muestra
como el ruido es aleatorio, la señal de ruido será diferente; a veces negativo a veces positivo. El
resultado del promedio de las muestras es, por tanto, una reducción del efecto del ruido y el
incremento de la relación señal/ruido para ese punto de la forma de onda. Este proceso de
promediado puede ser repetido para un número de puntos de la forma de onda y a señal
reconstruida. Esta técnica de promediado se realiza mediante software en los instrumentos
inteligentes, es decir, instrumentos que incorporan microprocesador.
2.2.4 Distorsión
La distorsión describe la variación de la forma de onda a la salida del equipo, con respecto a la
señal de entrada, y se debe a que los equipos de audio, no sólo los amplificadores, introducen
armónico en la señal, las causas de esta distorsión pueden ser múltiples. Esto se puede deber a la
falta de linealidad del dispositivo amplificador, desigual distancia de las curvas del transistor,
sobrepasar los limita de la zona lineal y a capacidades parásitas o asociadas al amplificador.
17
Véase referencia 17.
( 11)
El bel es una unidad demasiado grande y para aplicaciones prácticas se utiliza el término decibelio
(dB) definida como 1dB = 0.1 bel o:
( 12)
Existe una segunda definición del decibelio aplicada más frecuentemente que opera sobre
tenciones en vez de potencias. Si consideramos la potencia disipada por una resistencia:
( 13)
⁄
( 14)
⁄
2.2.6 Filtrado
Un filtro es un circuito diseñado para dejar pasar una banda de frecuencias especificada, mientras
atenúa todas las señales fuera de esta banda. Los circuitos de filtros pueden ser activos o pasivos.
Los circuitos de filtros pasivos contienen sólo resistores, inductores y capacitores. Los filtros
activos, emplean transistores o amplificadores operaciones más resistores, inductores y
capacitores. Los inductores no se utilizan a menudo en los filtros activos. Hay cuatro tipos de
filtros: pasa-bajas, pasa-altas, pasa-banda y elimina-banda. En la figura 2.9 se ilustran las gráficas
de respuestas en frecuencias de los cuatro tipos de filtros.18
18
Coughlin y Driscoll, 1999: 294-307.
Un filtro pasa-bajas es un circuito que tiene un voltaje de salida constante desde cd hasta una
frecuencia de corte . Conforme la frecuencia aumenta arriba de , el voltaje de salida se atenúa.
En la figura 2.9(a) se muestra una gráfica de la magnitud del voltaje de salida de un filtro pasa-
bajas en función de la frecuencia. La línea continua es la gráfica para el filtro pasa-bajas ideal, en
tanto que las líneas punteadas indican las curvas para los filtros pasa-bajas prácticos. La frecuencia
de corte también se denomina: frecuencia 0.707 o frecuencia a -3dB.
Los filtros pasa-altas atenúan el voltaje de salida para todas las frecuencias abajo de la frecuencia
de corte . Arriba de , la magnitud del voltaje de salida es constante. La figura 2.9(b) es la
gráfica para filtros pasa-altas ideal y práctico. La línea continua es la curva ideal, mientras que las
curvas punteadas muestran cómo los filtros prácticos pasa-altas pueden derivarse del ideal.
Los filtros pasa-banda permiten pasar sólo una banda de frecuencias mientras atenúan a todas las
demás. Los filtros rechaza-banda se comportan exactamente de manera opuesta; rechazan una
banda específica de frecuencias mientras que pasan todas las que se encuentran fuera de ella. Las
gráficas características de respuesta de frecuencia para los filtros pasa-banda y rechaza-banda, se
muestran en la figura 2.9(c) y (d). Como antes, la línea continua representa la gráfica ideal, en
tanto que las líneas punteadas muestran las curvas prácticas.
Un filtro pasa-bajas es un circuito que tiene un voltaje de salida constante desde cd hasta una
frecuencia de corte . Conforme la frecuencia aumenta arriba de , el voltaje de salida se atenúa.
El circuito en la figura 2.10(a) es un filtro activo pasa-bajas de uso común. El filtrado se hace con el
circuito y el amplificador operacional se utiliza como amplificador de ganancia unitaria. La
resistencia es igual a y se incluye para la desviación de cd.
Figura 2. 10 Filtro pasa-bajas y gráfica de respuesta en frecuencia para un filtro con una pendiente de -20 dB/década
El voltaje diferencia entre las terminales de entrada no inversora e inversora es en esencia 0V. Por
tanto, el voltaje a través del capacitor es igual al voltaje de salida , debido a que éste circuito
es un seguidor de voltaje. se divide entre y . El voltaje en el capacitor es igual a . Haciendo un
divisor de voltaje tenemos que:
⁄
( ) ( 15)
⁄
( 16)
Para mostrar que el circuito de la figura 2.10(a) es un filtro pasa-bajas, basta con observar como
varía en la ecuación (16) conforme cambia la frecuencia y observaremos que:
( 17)
( 18)
Procedimiento de diseño.
( 19)
√
| | ( 20)
√
La curva continua en a figura 2.10(b) muestra cómo se desvía la magnitud de la respuesta en
frecuencia real respecto a la aproximación en línea recta punteada en la proximidad de .
Observando la respuesta en frecuencia del filtro pasa-bajas de la figura 2.10(b) es posible apreciar
diferentes valores de la magnitud para diferentes valores de : a | | ( ), a
| | ( ) y a | | ( ).
Dos filtros activos similares al de la figura 2.10(a) pueden acoplarse juntos para dar una
atenuación de -40 dB/década, éste podría no ser el diseño más económico, ya que se requeriría
dos amplificadores operacionales. En la siguiente sección se muestra cómo puede utilizarse un
amplificador operaciones para construir un filtro Butterworth para dar una atenuación de -40
dB/década. Así mismo a un filtro de -40 dB/década se le puede colocar en cascada con un filtro de
-20 dB/década para producir un filtro de -60 dB/década.
Los filtros Butterworth no se diseñan para mantener un ángulo de fase constante a la frecuencia
de corte. Un filtro básico pasa-bajas de -20 dB/década tiene un ángulo de fase de -45° a , uno de
-40 dB/década tiene un ángulo de fase de -90° a y uno de -60 dB/década tiene un ángulo de -
135° a . Por tanto, por cada incremento de -20 dB/década, el ángulo de fase se incrementará
en -45° a
El circuito en la figura 2.11(a) es uno de los filtros pasa-bajas con una atenuación de -40
dB/década; esto es, después de la frecuencia de corte, la magnitud de decrece 40 dB cuando
aumenta a . La línea continua es la figura 2.11(b) muestra la gráfica de la respuesta en
frecuencia real. El amplificador operacional se conecta para una ganancia unitaria de cd. Se incluye
la resistencia para la desviación de cd, como se explicó anteriormente. El voltaje a través de
es igual al voltaje de salida , ya que el circuito del amplificador operacional básicamente es un
seguidor de voltaje.
Figura 2. 11 Circuito y gráfica de respuesta en frecuencia para un filtro pasa-bajas de -40 dB/década
El diseño del filtro pasa-bajas de la figura 2.12(a) se simplifica en gran medida al hacer las
resistencia y igual a .
Procedimiento de diseño.
5. Seleccionar
La curva continua de la figura 2.11(b) muestra que el filtro de la figura 2.11(a) no sólo tiene una
atenuación más pronunciada después de que el filtro que se muestra en la figura 2.10(a), sino
que además se mantiene a 0 dB casi hasta 0.25 . Los ángulos de fase para el circuito en la figura
2.12(a) varían desde 0° a 0 rad/s hasta -180° conforme se acerca a .
Observando la respuesta en frecuencia del filtro pasa-bajas de la figura 2.10(b) es posible apreciar
diferentes valores de la magnitud para diferentes valores de : a | | ( ), a
| | ( ) y a | | ( ).
A continuación se muestra que al colocar en cascada los dos filtros estudiados anteriormente
formamos un filtro pasa-bajas que produce una atenuación de -60 dB/década. Los resistores son
los únicos valores que tienen que calcularse.
El filtro pasa-bajas de la figura 2.13(a) está construido con un filtro pasa-bajas de -40 dB/década
en cascada con otro de -20 dB/década para dar una atenuación general de -60 dB/década. La
ganancia global en lazo cerrado ( ) es la ganancia del primer filtro multiplicado por la ganancia
del segundo, es decir:
( 22)
Figura 2. 12 Circuito y gráfica de respuesta en frecuencia para un filtro pasa-bajas de -60 dB/década
Para el filtro, la magnitud de debe ser 0.707 en . A continuación se muestra los pasos que
deben seguirse para garantizar que la respuesta en frecuencia es plana en la pasa-banda.
Procedimiento de diseño.
( 23)
5. Hacer .
6. y . Se recomienda que el valor de esté comprendido entre 10 y 100 kΩ.
Si el valor de se encuentra fuera de este intervalo, hay que regresar y seleccionar un
nuevo valor de .
La línea continua en la figura 2.12(b) es la gráfica real de la respuesta en frecuencia para la figura
2.12(a). La curva punteada muestra la aproximación en línea recta. Obsérvese además que
permanece bastante cercana a 1 (0dB) hasta la frecuencia de corte .
Observando la respuesta en frecuencia del filtro pasa-bajas de la figura 2.12(b) es posible apreciar
diferentes valores de la magnitud para diferentes valores de : a | | ( ), a
| | ( ) y a | | ( ).
En la figura 2.13 se muestra la respuesta en frecuencia ideal (línea continua) y la práctica (líneas
punteadas) para tres tipos de filtros Butterworth estudiados en ésta sección. Con forme las
pendientes se vuelven más pronunciadas, se aproximan al filtro ideal.
Figura 2. 13 Gráfica de respuesta en frecuencia para tres tipos de filtros pasa-bajas Butterworth
Con lo que se ha estudiado hasta ahora de los filtros pasa-bajas, ya es posible diseñar y realizar
filtros con pendiente más pronunciadas, sin embargo, hacerlo consiste gastar más recursos como
amplificadores operacionales, resistores y capacitores.
En nuestro caso cose considera que un filtro con una caída -80 dB/década es más que suficiente
para nuestra aplicación de la grabadora de voz. En el siguiente capítulo con dos amplificadores en
cascada de -40 dB/década se genera un filtro pasa-bajas de -80 dB/década.
En el mundo real las señales analógicas varían constantemente, pueden variar lentamente como la
temperatura o rápidamente como una señal de voz. Lo que sucede con las señales analógicas es
que son muy difíciles de manipular, guardar y después recuperar con exactitud. Si esta
información analógica se convierte a información digital, se puede manipular sin problema, de ahí
la importancia de un ADC (Convertidor Analógico Digital).
La figura 2.14(a) y 2.14(b) muestra una señal representada de formas: analógica y digital
respectivamente. El proceso de conversión A/D implica la toma de muestras así como la
cuantificación y codificación de éstas. Estas etapas mencionadas son integradas en un ADC.
Figura 2. 14 (a) Representación de una señal analógica y (b) Representación de una señal digital
La Modulación por Pulsos Codificados hace posible la transmisión de señales digitales a diferencia
de los otros sistemas de modulación de pulsos (PWM, PPM O PAM) ya que un solo pulso o la
ausencia de éste representan un digito binario (bit), de ahí que PCM sea la técnica de modulación
más usada en un sistema de transmisión digital.19
19
Stremler, 2006: 402-413.
Un ADC (Convertidor Analógico Digital) es un circuito integrado que convierte señales analógicas
en datos binarios 0s y 1s. El objetivo básico de un ADC es transformar una señal eléctrica análoga
en un número digital equivalente. La información manipulada puede volver a tomar su valor
analógico, si se desea, con un DAC (Convertidor Digital Analógico). 20
El diagrama a bloques de la figura 2.15 muestra la secuencia desde que la variable física entra al
sistema hasta que es transformada a señal digital. Para que dicha señal ingrese al ADC, ésta debe
estar acondicionada y posteriormente muestreada, es decir, se toman valores discretos en
instantes de tiempo de la señal análoga. Matemáticamente es el equivalente a multiplicar la señal
analógica por una secuencia de impulsos de periodos constantes. Como resultado se obtiene un
tren de pulsos con amplitudes limitadas por la envolvente de la señal analógica. A esto prosigue
convertir las amplitudes de las muestras a un conjunto de datos o niveles de amplitud finitas
(cuantizar), para después representar los datos en código binario (codificar).
Sistema Convertidor
Sensor Computadora
físico analógico - digital
0101101
Existen una gran variedad de ADC’s, y se clasifican de acuerdo a sus parámetros como velocidad de
muestreo, resolución, entre otras. Para el caso de voz, no es necesaria una alta resolución por lo
que una calidad telefónica de 8 bits con un ancho de banda de 4 kHz es suficiente para poder
entender un mensaje de cualquier emisor.
20
Véase referencia 20.
2.3.1 Muestreo
La operación consiste en la toma de valores (de tensión eléctrica) de la señal analógica un número
determinado de veces por unidad de tiempo. Dichas medidas constituyen impulsos, los cuales son
una representación de la forma de onda original. El tiempo transcurrido entre una muestra y la
siguiente se llama periodo de muestreo y su inverso nos indica la frecuencia de muestro.
( 24)
En este bloque se convierten las muestras PAM en un flujo de datos binarios para la transmisión.
Cuantificación
Si se desea cuantificar una señal, en cada tiempo de muestra debe decidirse cuál de los n niveles
discretos usados es la mejor aproximación a la señal original. Eligiendo el valor más cercano, se
mantiene hasta el siguiente tiempo de muestra. Este proceso de cuantificación introduce algunas
variaciones con respecto al valor real, estas pueden tomarse como ruido. El aumento de los
niveles de cuantificación tenderá a reducir ese ruido y aumentará la calidad de resolución. La
cuantificación puede ser:
Lineal. Usa niveles igualmente espaciados. Este tipo de cuantificación es útil en los
sistemas en que todos los niveles de cuantificación nos son de igual importancia, entonces
se usan incrementos iguales de nivel de cuantificación.
No lineal. Con niveles no espaciados de manera uniforme. Este tipo de cuantificación
resulta provechoso, por ejemplo en sistemas en que los niveles altos son más importantes
que los bajos.
Codificación
La codificación consiste en asignar un valor binario (digital) a cada una de las muestras
cuantificadas de manera que exista correspondencia uno a uno entre los niveles y el conjunto de
los enteros reales. Este proceso reduce la señal a un conjunto de dígitos en los sucesivos tiempos
de muestra, originando un sistema de modulación completamente digital. Los dígitos se expresan
en forma codificada. El código más común para este propósito es el binario (solo dos posibles
niveles de pulso, 1 o 0). Así en lugar de enviar las muestras individuales en los tiempos de
muestra, se envía un código para conducir la información en forma cuantificada.
En las aplicaciones actuales de audio donde es requerida la adquisición de una señal analógica de
audio son usados gran infinidad de convertidores analógicos digitales que se comercializan, los
cuales varían sus capacidades de acuerdo a la aplicación final.
Para el caso de aplicaciones con calidad CD es necesario considerar una frecuencia de muestreo de
44.1 KHz y un tamaño de palabra de 16 bits, como mínimo, el aumento de estos dos factores
reflejará mayor calidad final, pero deberá considerarse el estándar del códec y del formato de
archivo final en el caso de almacenamiento. También pueden considerarse menos capacidades del
convertidor, pero eso dependerá de la aplicación final como ha sido mencionado.
En el caso de tratamiento de voz no es necesaria una alta resolución, por lo que una calidad
telefónica de 8 bits con un ancho de banda de 4 kHz es suficiente para poder entender un mensaje
de cualquier emisor. Ya que basta con hacer entendible el mensaje, que es el objetivo primordial.
a) Unipolar (+VCC, GND). Tienen solo polaridad de voltaje positivo. Son empleados para
representar tensiones de señales que oscilan de entre cero (típicamente tierra) a un
valor de voltaje positivo (por lo general la tensión de referencia positivo).
b) Bipolar (+VCC, -VDD). Estos se utilizan para representar tensiones de entrada positivos
y negativos, es decir, para señales que tienen un rango de voltaje de entrada por
encima y por debajo de un cierto punto de referencia. Los números inferiores a 0 V
son negativos y los números por encima de 0 V son positivos.
Típicamente:
( 25)
( 26)
Ancho de palabra
Se refiere al número de bits del bus de datos y por lo regular es representado por la letra n.
Típicamente n: 8, 10, 12, 16, 20 bits. Por lo tanto el rango de codificación está dado por:
( 27)
Función de transferencia
Es un modelo matemático que a través de un cociente relaciona la respuesta del ADC del
microcontrolador, mostrando la equivalencia entre el mundo analógico y real. Una función de
transferencia ideal es aquella que no contiene errores.
ADC unipolar: En el caso de una señal unipolar entre 0V y 5V, su equivalente digital para n bits
sería 00…00 para 0V (zero-scale) y 11...11 para 5V (full-scale).
ADC bipolar: En el caso de una señal bipolar entre -5V y 5V, su equivalente digital
Resolución
El dispositivo establece una relación entre su entrada (señal analógica) y su salida (señal
digital) dependiendo de su resolución. Esta resolución se puede saber, siempre y cuando
conozcamos los valores máximos de voltajes que tenemos en la entrada y la cantidad máxima
de la salida en dígitos binarios.
También se le conoce como sensibilidad, ya que el valor mínimo de voltaje que puede detectar
un ADC. Matemáticamente se puede considerar de la siguiente forma.
( )
( 28)
Primero se define el número máximo de bits de salida (la salida digital). Este dato permite
determinar el número máximo de combinaciones en la salida digital. Este número máximo
está dado por: 2n donde n es el número de bits del bus de datos (ancho de palabra). Una
mayor cantidad de bits, implica mayor número de niveles, lo que implica mayor precisión,
pero también mayor complejidad.
Error de cuantización
Es aquí entonces donde radica el error; al intentar traducir una señal que tiene infinitos
valores en otra que sólo puede tener valores finitos, está claro que se pierde información. La
cantidad de valores o estados posibles que puede tener la señal digital está relacionada con la
cantidad de bits con la cual ésta se representa. Sin embargo la cantidad de bits es una cantidad
finita. La única forma de hacer que este error sea nulo, es haciendo que la cantidad de bits
con la que se representa el valor digital sea infinito, lo cual no es posible. Esto implica que
cierto valor digital representa a muchos valores analógicos posibles. De esta forma, un valor
analógico produce una salida digital, y esta salida digital si se vuelve a convertir a un valor
analógico, puede que no corresponda con el valor original, si no con una aproximación
solamente. Cierta información se ha perdido en este proceso, y esto se le conoce como error
de cuantización.
En el caso de un conversor ideal, donde la función de salida puede creerse como una escalera
perfecta, el error entre la señal real de entrada y su correspondencia con la salida digital, tiene
una función de densidad de probabilidad uniforme. El error varía en el rango de ±1/2 LSB, o
bien; ±q/2, donde q es el ancho del escalón.
Figura 2. 21 a) Periodo de muestreo y b) redondeo de las muestras a valores discretos durante el proceso de la
cuantización y codificación.
es el máximo error que introduce un ADC al digitalizar una señal (no se puede eliminar).
|||| ( 27)
(30)
(31)
Tiempo de conversión
( 32)
a) ADC Rampa
() ( 33)
( ) ( 34)
Es el ADC más rápido disponible en la actualidad pero requiere de muchos más circuitos
que los otros tipos de convertidores.
Este dato sirve para conocer el espacio requerido para almacenar las muestras, así como para
determinar el ancho de banda digital del canal que va a transmitir las muestras.
( 35)
Tiempo de adquisición
Tiempo de asentamiento
El estándar RS-232 es una interfaz que designa una norma para el intercambio serie de datos
binarios entre un DTE (Data Terminal Equipment, Equipo terminal de datos) y un DCE (Data
Communication Equipment, Equipo de comunicación de datos). El RS-232 consiste en un conector
tipo DB-25 (de 25 pines), aunque hoy en día es normal encontrar la versión de 9 pines (DE-9, o
popularmente también denominado DB-9). 21
Características
- Es lo que inicio la creación de redes
- La conexión no debe ser más de 50 pies (15 metros
aproximadamente).
- Los niveles lógicos de voltaje son: -15 para el 1
lógico y +15 para el 0 lógico.
Figura 2. 22 Cable Serial con adaptador USB
- Es una forma de comunicación asíncrona.
- Está diseñado para la transmisión de caracteres de 7 bits de longitud.
- Cuando la conexión está en modo “Idle”, el hardware vincula la conexión a 1 lógico.
Ventajas
- La comunicación serie es la forma más simple de comunicación entre dos dispositivos.
- Es bastante intuitivo una vez que se ve el patrón.
- Si no necesita enviar datos, la comunicación ésta en modo “Idle” (inactiva). Una
medida o protección adicional de la CPU para la protección.
Desventajas
- Los niveles de los voltajes de transmisión son -15 V a + 15 V.
- Está diseñada para distancias cortas, de hasta 15 metros según la norma.
- Velocidades de comunicación bajas, de no más de 20kbps.
21
Véase referencia 21.
Envío de un carácter. Cada vez que se envía un carácter, produce el mismo paquete o la
misma comunicación.
- 1 de inicio
- 7 bits de datos
- 1 de parada
Esta comunicación depende del hecho de que ambos dispositivos estén muestreando o
recibiendo los bits a la misma velocidad.
Bit de inicio (start). El bit de inicio es un cero lógico enviado a la línea para que el otro
dispositivo (destino o receptor) comience a muestrear. Recordar que el 0 lógico es
+15VCD.
Bit de parada (stop). El bit de parada es 1 lógico (-15 VCD). Un bit de parada se envía
siempre (por el estándar RS-232).
Una transmisión:
Comunicación. Uno de los factores más importantes para establecer una buena
comunicación es que ambos dispositivos deben tener la misma velocidad para
comunicarse. La velocidad o tasa de transmisión de los dispositivos series se llama baudio.
Es el número de cambios en una señal por segundo.
La comunicación serie no tiene que utilizar siete bits de longitud. Una gran variedad de
patrones de inicio y final de bits pueden ser utilizados.
Ajustes comunes del puerto serie. La mayoría de los ajustes para enviar caracteres son:
Línea de muestreo
Transmisión Full Dúplex: La transmisión Full-Dúplex (FDX) se produce cuando los datos se
pueden ser transmitidos simultáneamente por ambos dispositivos; se necesita una
conexión (cableado) especial para establecer la comunicación.
Tipos de conectores
- Los dos conectores diferentes están asociados con dos tipos diferentes de hardware:
El Equipo de comunicación de datos (DCE) y el Equipo terminal de datos (DTE).
- La computadora que transmite en la terminal 2 y recibe en la terminal 3 es el DCE, y
viceversa, el dispositivo que transmite sobre la terminal 3 y recibe en el pin 2 es el
DTE.
Figura 2. 25 Diagrama de comunicación entre un DTE y un DCE a través de una interface serial
Limitaciones de velocidad
- Para las personas familiarizadas con las comunicaciones por modem, hay una
limitación de la velocidad asociada con la transmisión.
- 56K (kilobit) para módems analógicos, esta limitación se debe a los sistemas
telefónicos, y no los sistemas informáticos.
- Sin embargo, las comunicaciones seriales en dispositivos también poseen su propia
barrera de velocidad.
Ruido
- Es causada por una variedad de las fuentes, lo cual conduce a velocidades más bajas y
menos fiables de transmisión.
- La tasa de bits máxima para una transmisión de una llamada de voz es de 64000 bps
(64 kbps) con una frecuencia de muestreo de 8 KHz.
La velocidad está estandarizada según la norma RS-232C en baudios: 75, 110, 150, 300, 600,
1200, 2400, 4800, 9600, 19200.
2.4.2 UART
Su función principal es convertir los datos recibidos del bus del PC en formato paralelo, a
un formato serie que será utilizado en la transmisión. También realiza el proceso
contrario: transformar los datos serie recibidos del exterior en un formato paralelo
entendible por el bus.
Manejar las interrupciones de los dispositivos conectados al puerto serie.
Las UART deben resolver problemas tales como la conversión de voltajes internos del DCE
con respecto al DTE.
Gobierna las señales de control.
Debe ser robusta y deberá tolerar circuitos abiertos, cortocircuitos y escritura simultánea
sobre un mismo pin, entre otras consideraciones.
Existe un dispositivo electrónico encargado de generar la UART en cada puerto serie. La mayoría
de los ordenadores modernos utiliza el chip UART 16550, que soporta velocidades de transmisión
de hasta 921,6 Kbps (Kilobits por segundo).
22
Véase referencia 22.
El controlador del UART es el componente clave del subsistema de comunicaciones series de una
computadora. El UART toma bytes de datos y transmite los bits individuales de forma secuencial.
En el destino, un segundo UART reensambla los bits en bytes completos. La transmisión serie de la
información digital (bits) a través de un cable único u otros medios es mucho más efectiva en
cuanto a costo que la transmisión en paralelo a través de múltiples cables. Se utiliza un UART para
convertir la información transmitida entre su forma secuencial y paralela en cada terminal de
enlace. Cada UART contiene un registro de desplazamiento que es el método fundamental de
conversión entre las forma serie y paralelo.
El UART normalmente no genera directamente o recibe las señales externas entre los diferentes
módulos del equipo. Usualmente se usan dispositivos de interfaz separados para convertir las
señales de nivel lógico del UART hacia y desde los niveles de señalización externos.
Las señales externas pueden ser de variada índole. Ejemplos de estándares para señalización por
voltaje son RS-232, RS-422 y RS-485 de la EIA. Históricamente, se usó la presencia o ausencia de
corriente en circuitos telegráficos. Algunos esquemas de señalización no usan cables eléctricos.
Ejemplo de esto son la fibra óptica, infrarrojo y Bluetooth (inalámbrico).
La interfaz puede trabajar en comunicación asíncrona o síncrona y tipos de canal Simplex, Half-
Duplex o Full-Duplex.
Simplex: se dice que el enlace entre DCE’s es simplex cuando hay trasmisión de datos en
un solo sentido.
Half-Duplex: se dice que el enlace entre DCE’s es Half-Duplex cuando hay transmisión de
datos en ambas direcciones pero no simultáneamente. En un instante dado sólo hay
transmisión en un sentido.
Full-Duplex: se habla de un enlace Full-Duplex cuando hay transmisión de datos en ambas
direcciones y en forma simultánea, el DCE transmite y recibe al mismo tiempo.
Las líneas de handshaking de la RS-232 se usan para resolver los problemas asociados con este
modo de operación, tal como en qué dirección los datos deben viajar en un instante determinado.
Si un dispositivo de los que están conectados a una interfaz RS-232 procesa los datos a una
velocidad menor de la que los recibe deben de conectarse las líneas handshaking que permiten
realizar un control de flujo tal que al dispositivo más lento le dé tiempo de procesar la
información. Las líneas de "handshaking" que permiten hacer este control de flujo son las líneas
RTS (Request To Send, Petición de envió) y CTS (Clear To Send, Preparado para él envió).
Los diseñadores del estándar no concibieron estas líneas para que funcionen de este modo, pero
dada su utilidad en cada interfaz posterior se incluye este modo de uso. El siguiente diagrama y
tabla muestran los pines de las señales RS-232 para la comunicación entre un DCE y un DTE.
Data Carrier Detect (DCD): DCE está conectado a la línea. Por este circuito el equipo de
comunicaciones indica al DTE si las señales recibidas a través del medio de
comunicaciones se ajusta a los niveles especificados por las normas.
Received Data (RD): Transporta datos de DCE a DTE. Por este circuito pasan hacia el DTE
local los datos recibidos del DTE remoto.
Transmitted Data (TD): Transporta datos de DTE a DCE. Por este conductor pasan los
datos de información originados en el DTE con dirección al DCE para ser transmitidos a
través del medio de comunicación al equipo remoto.
Data Terminal Ready (DTR): Indica la presencia de DTE a DCE. Las señales transmitidas por
este circuito indican si el equipo terminal está encendido y listo para funcionar.
Common Ground (G): Este conductor establece el potencial de tierra común de referencia
para todas las señales de interfaz, a excepción de la tierra de protección.
Request To Send (RTS): Peticiones DTE al DCE se preparan para recibir datos. Cuando el
DTE está listo para transmitir datos activa este circuito, indicando con ello al DCE que se
prepare porque desea transmitir información. Al activarse este circuito obliga al equipo de
Las señales TD, DTR y RTS son de salida, mientras que RD, DSR, CTS y DCD son de entrada. La señal
de referencia para todas las señales es G.
USB (Universal Serial Bus, Bus Universal en Serie) es una interfaz para transmisión de datos y
distribución de energía que ha sido introducida en el mercado de PC´s y periféricos para mejorar
las lentas interfaces serie (RS-232) y paralelo. Esta interfaz de 4 hilos, 12 Mbps y “plug and play”,
distribuye 5V para alimentación, transmite datos y está siendo adoptada rápidamente por la
industria informática. 23
El Universal Serial Bus, es un bus serie que hace posible la conexión de hasta 127 periféricos a una
única puerta de un PC, con detección y configuración automáticas, siendo esto posible con el PC
conectado a la red y sin tener que instalar ningún hardware ni software adicionales, y sin tener
que reiniciar el ordenador. Ha sido desarrollado por empresas líderes del sector de las
telecomunicaciones y de los ordenadores: Compaq, DEC, IBM, Intel, Microsoft, NEC y Northern
Telecom. En este momento ya hay en el mercado PCs y periféricos (teclados, ratones, monitores,
etc.) que disponen de puertos USB.
USB es un bus basado en el paso de un testigo, semejante a otros buses como los de las redes
locales en anillo con paso de testigo y la red FDDI (Fiber Distributed Data Interface, Interfaz de
Datos Distribuida por Fibra). El controlador USB distribuye testigos por el bus. El dispositivo cuya
dirección coincide con la que porta el testigo, responde aceptando o enviando datos al
controlador. Este también gestiona la distribución de energía a los periféricos que lo requieran.
USB emplea una topología de estrellas apiladas que permite el funcionamiento simultáneo de 127
dispositivos a la vez. En la raíz o vértice de las capas, está el controlador anfitrión o host que
controla todo el tráfico que circula por el bus. Esta topología permite a muchos dispositivos
conectarse a un único bus lógico sin que los dispositivos que se encuentran más abajo en la
pirámide sufran retardo. A diferencia de otras arquitecturas, USB no es un bus de almacenamiento
y envío, de forma que no hay retardo en el envío de un paquete de datos hacia capas inferiores.
23
Véase referencia 23.
WAV o WAVE (WAVEform audio file format) es un formato de audio digital normalmente
sin compresión de datos desarrollado y propiedad de Microsoft y de IBM que se utiliza para
almacenar archivos de sonidos en el PC, admite archivos mono y estéreo a diversas resoluciones y
velocidades de muestreo, su extensión es .WAV. Es una variante del formato RIFF (Resource
Interchange File Format, Formato de Fichero para Intercambio de Recursos), método para
almacenamiento en "paquetes”. 24
A pesar de que el formato WAV es compatible con casi cualquier códec de audio, se utiliza
principalmente con el formato PCM (no comprimido) y, al no tener pérdida de calidad, es
adecuado para uso profesional. Para tener calidad CD de audio se necesita que el sonido se grabe
a 44100 Hz y a 16 bits. Por cada minuto de grabación de sonido se consumen unos
10 megabytes de espacio en disco. Una de sus grandes limitaciones es que solo se pueden grabar
archivos de 4 gigabytes como máximo, lo cual equivale aproximadamente a 6.6 horas en calidad
de CD de audio. Es una limitación propia del formato, independientemente de que el sistema
operativo donde se utilice, y se debe a que en la cabecera del fichero se indica la longitud del
mismo con un número entero de 32 bits, lo que limita el tamaño del fichero a un máximo de 4,
294, 967, 295 bytes (4 gigabytes). En Internet no es popular, porque los archivos sin compresión
son muy grandes. Son más frecuentes los formatos comprimidos con pérdida, como el MP3. Como
éstos son más pequeños, la transferencia a través de Internet es mucho más rápida. Algunos
parámetros importantes que deben especificarse en cualquier formato de audio son:
Número de canales: Depende del número de señales de audio simultáneos que contiene
el flujo de datos. Puede ser mono (1 canal), estéreo (2 canales) o multicanal como 5.1 (seis
canales) o 7.1 (ocho canales).
Frecuencia de muestreo: Determina la calidad percibida, por lo tanto cuanto más alto sea
mayor será la fidelidad del sonido obtenido respeto al original. Para obtener calidad CD
nunca se utiliza frecuencias de muestreo superiores a 44.1kHz.
Número de bits por muestra. Determina la precisión con la que se reproduce la señal
original y el rango dinámico de la misma. Se suelen utilizar 8 (para un rango dinámico de
hasta 45 dB), 16 (para un rango dinámico de hasta 90 dB como el formato CD) o 24 bits
por muestra (para 109 a 120 dB de rango dinámico). El más común es 16 bits.
Tipo de compresión: Distingue entre compresión con pérdidas y sin pérdidas.
Tasa de bits: Determina el número de bits de información necesarios por unidad de
tiempo. La tasa de bits no se puede deducir de los parámetros anteriores. Además, puede
ser constante (CBR), variable (VBR) o en media (ABR). En audio se utiliza tasa de bits
variable (VBR), puesto que es más eficiente que CBR cuando hay silencios o segmentos
donde la complejidad es baja y se pueden almacenar con menos bits.
24
Véase referencia 24.
2.5.1 RIFF
RIFF (Resource interchange file format, Intercambio de recursos de formato del archivo) es un
formato de archivo genérico para almacenar muchos tipos de datos, principalmente datos
multimedia como el audio o el video. Se basa en bloques y sub-bloques. Cada bloque tiene un tipo,
representado por una etiqueta de cuatro caracteres. Este tipo de bloque viene primero en el
archivo, seguido por el tamaño del bloque, a continuación, el contenido del bloque. Fue
introducida en 1991 por Microsoft e IBM, y fue presentada por Microsoft como el formato por
defecto para archivos multimedia de Windows 3.1 se basa en Electronic Arts' Interchange File
Format, introducida en 1985 para Amiga 1000, la única diferencia es que los enteros multi-byte
están en little-byte para 80x86, serie de procesadores utilizados en Amiga y computadoras Apple
Macintosh. 25
Lo primero en el contenido del bloque RIFF es el “tipo de formato”, que describe el tipo general
del contenido del archivo. Todos los enteros se almacenan en el orden de bytes de Intel bajo-alto
(normalmente conocido como “little-endian”). La implementación de Microsoft es conocida sobre
todo por medio de los formatos contenedores, como AVI, ANI y WAV, que utilizan RIFF como base.
Los archivos RIFF consisten en “bloques”. El formato general es idéntico a IFF (Interchange File
Format, Formato de intercambio de archivos), excepto por el orden de los bit, y el significado
diferente de los nombres de los “bloques”. Todos los “bloques” tiene el siguiente formato:
BlockID (4 bytes): Contiene cuatro caracteres ASCII que identifican los datos del Bloque.
Por ejemplo los caracteres RIFF se utilizan para identificar bloques que contienen datos
RIFF. Si el identificar es menor de cuatro caracteres, se rellena por la derecha con espacios
(32 en ASCII). Ejemplos de lo anterior son los identificadores “fmt ” y “data”; note el
espacio después de “fmt“.
BlockSize (4 bytes): Es la longitud de los datos almacenados en el campo BlockData, sin
incluir ningún relleno añadido a los datos. El tamaño de los campos BlockID y BlockSize no
están incluidos en este valor. En otras palabras Longitud del archivo entero – 8 bytes.
BlockData: Contiene datos WORD que se alinean dentro del archivo RIFF. Si los datos son
una longitud impar en tamaño, un byte adicional de relleno NULL se añade al final de los
datos. El valor de BlockSize no incluye la longitud de relleno.
Subblocks: También tiene la misma estructura como los bloques. Un sub-bloque es
simplemente un bloque que está contenido dentro de otro bloque. Los bloques únicos que
pueden contener los sub-bloques son los del archivo RIFF y los bloques List. Todos los
otros fragmentos pueden contener sólo datos.
25
Véase referencia 25.
Un archivo RIFF es en sí mismo un bloque RIFF entero. Si se va decodificar, el lector RIFF debe
ignorar cualquier bloque que el lector no reconozca o no se podrá utilizar. Si se desea, codificar el
escritor RIFF escribirá todos los bloques desconocidos y sin uso que se leyeron. No los desecha.
Alineamiento de
36 Bits por muestra
bloques
26
Véase referencia 26.
4 Este es el tamaño del archivo completo en bytes menos 8 bytes para los dos
Bloque RIFF 4 BlockSize Longitud del fichero little
0x04 campos no incluidos en este cuenta: BlockID y BlockSize.
8 Descripción de la Descriptor de la cabecera "WAVE". Contiene las letras "WAVE" en forma
4 Format big
0x08 cabecera "WAVE" ASCII (0x57415645).
12 Sub-identificador de Descriptor de la cabecera "fmt ". Contiene las letras “fmt ” en forma ASCII
4 Subblock1 ID big
0x0C formato "fmt " (0x666D7420). Nótese el espacio después del “fmt”.
16 Longitud del formato Este es el tamaño del formato tipo WAVE (después de éste bloque). Es
4 Subblock1 Size little
0x10 de audio usualmente de 16 bytes para PCM.
20 Tipo de formato de Este es el encabezado para PCM = 0x01. Valores diferentes de 1 indican
2 AudioFormat little
0x14 audio WAVE algunas otras formas de compresión.
22
2 NumChannels Número de canales Mono=0x01, Stereo=0x02. little
0x16
Sub-bloque "fmt"
24 Tasa (frecuencia) de 8000, 44100, etc.
4 SampleRate little
0x18 muestreo (bytes/seg)
28 Tasa de bytes (Frecuencia de muestreo × Número de canales × Bits por
4 ByteRate (36) little
0x1C (bytes/seg) muestra)/8
32 El número de bytes para una muestra incluyendo todos los canales.
2 BlockAlign Bloque de alineación little
0x20 (Número de canales × Bits por muestra)/8 (37)
34
2 BitPerSample Bits por muestra 8 bits=8, 16 bits=16, etc. little
0x22
36 Sub-identificador de Descriptor de la cabecera "data". Contiene las letras “data” en forma ASCII
4 Subblockk2 ID big
0x24 datos ("data") (0x64617461).
Sub-bloque 40 Longitud del campo de Número de bytes de datos que se incluyen en la sección de datos.
"data" 4 Subblock2 Size little
0x28 datos (Número de muestras × Número de canales ×Bits por muestra)/8 ( 38)
44
… Data Datos Los datos de sonidos reales. little
ox2C
WAVE también puede contener cualquier otro tipo de bloque permitido por RIFF, incluyendo los
bloques LIST, que se utilizan para contener tipos opcionales de datos tales como la fecha de
creación, derechos de autor, nombre del autor.
A modo de ejemplo aquí están 72 bytes de apertura de un archivo WAVE con bytes que se
muestran como números hexadecimales:
52 49 46 46 24 08 00 00 57 41 56 45 66 6D 74 20 10 00 00 00 01 00 02 00
22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 70 00 00 00 00 00 00 00
24 17 1E F3 3C 13 3C 14 16 F9 18 F9 34 E7 23 A6 3C F2 24 F2 11 CE 1A 0D
34 E7 23 A6 3C F2 24 F2 11 CE 1A 0D
Suponga que el tamaño del archivo original es de 2092 bytes, con una tasa de muestreo de 22050
bytes/s, de tipo Stereo y usando 16 bits por muestra (28 muestras totales). Basándonos en la
información proporcionada en la Tabla 2.4 es posible tener todos los parámetros necesarios para
formar las cabeceras de nuestro archivo WAV.
Notas importantes:
Los archivos AVI son el único tipo de archivos RIFF que han sido totalmente implementados
mediante la especificación RIFF actual. Aunque los archivos WAV se han implementado, son muy
simples y sus desarrolladores suelen utilizar una especificación mayor en la construcción de ellos.
2.5.3 MP3
MP3 es el nombre abreviado por MPEG-1 Layer III, es un formato de datos que debe su nombre a
un algoritmo de codificación llamado MPEG-1 Layer III (o MPEG Audio Layer III) y es un
subconjunto de audio del estándar industrial MPEG (Moving Picture Experts Group) desarrollado
por ISO (International Standarization Organization) que se transformó en un estándar oficial en
1992 como parte del estándar MPEG-1. A su vez, es un sistema de compresión de audio que
permite almacenar sonido con una calidad similar a la de un CD y con un índice de compresión
muy elevado, del orden de 1:11. En la práctica, esto significa que en un CD-Rom se pueden grabar
unos 11 CD de audio, es decir, unas 150 canciones aproximadamente.
El sistema de codificación que utiliza MP3 es un algoritmo de pérdida. Es decir, el sonido original y
el que obtenemos posteriormente no son idénticos. Esto se debe a que MP3 aprovecha las
limitaciones del oído humano y elimina toda aquella información que no somos capaces de
percibir. Se han realizado multitud de estudios de percepción acústica descubriendo que hay una
serie de efectos que pueden ayudar a la codificación del sonido con el objetivo de reducir todo lo
posible la cantidad de información inútil o redundante. Los más importantes son:
Límites de audición. El oído humano sólo es capaz de captar frecuencias entre 20Hz y
20Khz (es más sensible entre 2 y 4Khz), por lo que eliminando las frecuencias inaudibles se
puede conservar la esencia del sonido.
Efecto de enmascaramiento. Es aquel que se produce cuando dos señales de frecuencia
similar se superponen. Entonces solo podemos percibir aquella que posee más volumen y,
por lo tanto, la de volumen menor es susceptible de ser eliminada.
Redundancia de estéreo. Existen redundancias entre los componentes tonales y no
tonales del sonido en los dos canales estéreo, y, además, por debajo de una cierta
frecuencia el oído humano no es capaz de percibir la direccionalidad del sonido, por lo
cual por debajo de estas frecuencias es posible incluso codificar un solo canal, junto con
información complementaria para restaurar la sensación espacial para el otro canal.
Para realizar ésta acción de "pérdida de información" se utiliza un sistema llamado
Codificación de Sub-bandas, proceso por el cual la señal se descompone en sub-bandas a
través de un banco de filtros. Estas sub-bandas se comparan a continuación con el original
mediante un modelo psicoacústico que es el encargado de determinar que bandas se
pueden eliminar y cuáles no. Dependiendo de la calidad que deseemos obtener, se
eliminarán más o menos bandas. Para finalizar el proceso, se cuantifican y codifican las
sub-bandas resultantes, y el resultado final se comprime mediante un algoritmo estándar,
obteniendo así el fichero MP3 resultante. El proceso de codificación es mucho más
complicado que el de decodificación, por ello se tarda mucho más en codificar un archivo
MP3 que en reproducirlo.
Diseño de
Capítulo 3 hardware y
software
La figura 3.1 muestra a continuación el diagrama a bloques de una grabadora digital de voz para
una PC.
El micrófono modelo C606N de Shure puede utilizarse para karaoke, refuerzo de sonido y
aplicaciones multimedia (compatible con la mayoría de las tarjetas de sonido más importantes). Su
amplia respuesta de frecuencia, su patrón de captación unidireccional y su salida alta hacen que
las interpretaciones vocales suenen claras y vibrantes.
En este dispositivo se genera un voltaje de salida en proporción con la amplitud de las ondas
sonoras que chocan con el micrófono. Las variaciones en el voltaje de salida siguen las mismas
variaciones del sonido de entrada.
El voltaje del micrófono que entrega a su salida es muy bajo, su rango es de -10mV a 10mV; por
consiguiente se tiene que amplificar para aprovechar toda la resolución del ADC que es unipolar
de 0 a 5 v. Dado esto, será diseñado un amplificador que se ajuste a estos valores.
Ganancia de voltaje
En el tema 2.2.2 fue realizado un previo análisis de la configuración del circuito amplificador no
inversor; en el cual se obtiene la ecuación (7), de la que se deduce que la ganancia de tensión en
este tipo de configuración es de 1 o mayor.
(39)
( 40)
Despejando a :
( ) (41)
5V
R1
C1 10kΩ 8 U1A
3
1 V out
33µF
V1 2 Rf
4
LM358D 150kΩ
20mVrms R2
Vin 1kHz 10kΩ
0°
Ri
600Ω
C2
1µF
Cálculos para la selección de los resistores y capacitores del filtro activo de voz pasa-bajas
(42)
() (43)
(44)
( )
( 28)
(46)
(47)
Para su construcción se usaron dos amplificadores operacionales LM358N que a comparación con
el amplificador operacional LM741 de propósito general y económico también, el LM358N
presenta una mejor calidad en cuanto la señal que procesa. Como puede observarse en la figura
3.6, el filtro está compuesto de dos filtros del mismo tipo, estos son de 2° orden cada uno con una
caída de -40 dB/Década; de modo que al estar conectados en forma seriada, se convierten en un
filtro de 4° orden con una caída de -80 dB/Década.
C1 VCC
100nF 5V C3 VCC 5V
R3 R4 8 U3A 100nF
Vin 3
R5 R6 8 U3B
281Ω 281Ω 1 5
3.2.3 Resultados
VCC
5V
R1
C1 10kΩ 8 U1A
3
1 XBP1
33µF
2 R4
V1
Vin LM358D 150kΩ IN OUT
20mVrms 4
1kHz R2
0° 10kΩ R3
C2 600Ω
VCC
1µF C3
100nF 5V VCC 5V
C5
Rf2 R5 8 U3A 100nF
3
R6 R7 8 U3B
281Ω 281Ω 1 5
Multisim nos proporciona una herramienta que nos permite obtener un diagrama de Bode; una
manera de representación gráfica que sirve para caracterizar la respuesta en frecuencia de
cualquier sistema.
La salida del circuito amplificador de pequeña señal, el cual ya nos entrega un voltaje más
apropiado para esta aplicación, está conectada a la entrada del instrumento de medición de
gráficas de Bode y el otro extremo del instrumento a la salida del filtro activo pasa-bajas, como lo
ilustra la figura 3.7.
Hecho lo anterior, al momento de correr la simulación se obtiene la respuesta del filtro que se
muestra en la figura 3.8.
La simulación mostró que el filtro responde a una frecuencia de corte en 3.654 KHz a -3.106 dB; a
partir de ahí comienza a atenuarse cualquier frecuencia que esté por encima de ese punto.
Los circuitos impresos fueron diseñados con el software PCB Wizard; es cual es un programa que
permite crear, editar y diseñar circuitos impresos PCB en una computadora o laptop. Este software
nos ofrece varias opciones de vista del circuito. La vista previa del circuito terminado se ilustrada
en la figura 3.9 y muestra la distribución de los componentes que forman parte del sistema de
adquisición de datos. El amplificador operacional de lado izquierdo corresponde al amplificador de
pequeña señal y él de lado derecho corresponde a la etapa del filtrado.
La vista que muestras el lado de las líneas de cobre del circuito impreso para procesar la placa
fenólica se muestra en la figura 3.10.
Figura 3. 10 Diagrama del circuito impreso del filtro pasa bajas a 4 KHz
El uso de un microcontrolador facilita el proceso de codificación y envió de datos, puesto que son
módulos integrados dentro del mismo dispositivo en la mayoría de los casos. Por lo anterior, es
usado el PIC18F4550 que cuenta con un módulo ADC de 10 bits, además de contar con
comunicación serial USART; de esta manera pueden enviarse bit a bit los datos a la PC donde serán
almacenados.
b) Voltajes de referencia:
e) Resolución:
(48)
f) Error de cuantización:
|||| (49)
g) Tiempo de Conversión:
( ) (50)
(51)
(52)
(53)
( ) (54)
Con los requerimientos ya considerados en el tema 3.3.1, debe ser implementado el software de la
adquisición de datos. La configuración de los registros correspondientes es una de las tareas
principales para que el hardware responda a las necesidades planteadas, como lo es la
configuración de todos los parámetros del ADC, elemento principal para el muestreo.
Inicio
Declaración de la librería
<p18xxx.h>
Configuración de la fuente de
reloj
Declaración de variables y
constantes
Declaración de prototipos
Invocación de funciones de
configuración
No
Adquisición=1 Retardo de ajuste
Si
Envío de paquete
Contador<8 No
de datos
Si
co
Innicfigo()
Configuración de puertos de
salida a los leds indicadores
Fin
La configuración general de los puertos administra los puertos de entrada y salida; es importante
tomar en cuenta que no todos los puertos pueden usarse, debido a que algunos como el RC6 y
RC7 son destinados para la transmisión serial, y el puerto RA0 es usado como entrada analógica,
por lo que se debe considerar esto.
Inicio
Configuración de:
-Reloj de ADC
-Tiempo de adquisición
-Puerto de entrada
Activar ADC
Fin
bit 7 - 6 No implementado
bit 5 - 2 CH3:CHS0 La señal de entrada del ADC se lee en AN0.
bit 1 GO/DONE Proceso de la conversión A/D en reposo.
bit 0 ADON Convertidor A/D desactivado.
bit 7 - 6 No implementado
bit 5 VCFG1 Se conecta a (GND).
bit 4 VCFG0 Se conecta a (+5V).
bit 3 - 0 PCFG3:PCFG0 RA0 se configura como la terminal analógica AN0.
co
Innicfigo()
Iniciar conversión
No
¿Conversión
terminada?
Si
Retornar valor de
muestreo
Fin
Figura 3. 15 Diagrama de flujo de la función getADC() para conseguir el resultado del muestreo
El algoritmo de retardo que se muestra en la figura 3.16, se usa para ajustar el envío de datos a la
PC, ya que como se mencionó anteriormente, se mandan paquetes de 8 datos, en lugar de mandar
dato por dato.
configUSART()
Configuración de transmisor Tx y
receptor Rx
Configuración de velocidad de
transmisión
Limpiar buffer
Fin
Figura 3. 16 Diagrama de flujo de la función configUSART() para la configuración del puerto serial
co
Innicfigo()
Recibir datos
No
¿Registro de
transmisión=0?
Si
Fin
Figura 3. 17 Diagrama de flujo de la función TXbyte() para el envío de datos
Registro TXSTA
Tabla 3. 7 Configuración de los registros de control de la USART
Registro RCSTA
Tabla 3. 9 Configuración del registro RCSTA
Registro BAUDCON
En la figura 3.18 se observa el tiempo que tardan las instrucciones en realizar el muestreo así
como el tiempo que tardan en enviar los datos por el puerto serial.
Como puede observarse el tiempo de envío del paquete de datos es de 180 µs y el tiempo en cada
muestra de 40 µs; entonces si dividimos 1 milisegundo en 8 tiempos para el muestreo más el
tiempo de envío dentro del mismo milisegundo tenemos:
= retardo
= El tiempo que tarda cada carácter en ser transmitido.
= El tiempo que se tarda en enviar todos los datos.
() ( 29)
() (56)
( 57)
( 58)
Con ayuda del software PIC Timer Calculator y del algoritmo de la figura 3.19, se puede realizar el
retardo de ajuste para el muestreo y de esta manera tener repartidos de manera igual el tiempo
de muestreo para cada dato, dejando espacio para la transmisión del paquete de datos dentro del
mismo milisegundo y al final obtener las 8000 muestras deseadas en un segundo.
configTemp0()
Habilitar Timer0
Deshabilitar prescaler
Si
¿Bandera de
Tmer0=0?
No
Limpiar bandera
Detener Timer0
Fin
Para calcular el retardo se usó el software PIC Timer Calculator, en donde debe considerarse lo
siguiente:
Con el retardo de ajuste, formulado en el algoritmo de la figura 3.18, se tienen 8 muestras en cada
milisegundo, considerando dentro de cada uno, el tiempo de envío de los datos. Puede observarse
claramente al comparar las figuras 3.18 y 3.21.
(59)
Aplicando el inverso del periodo obtenemos la frecuencia de muestreo necesaria para no perder
datos, la cual resulta:
(60)
Como fue mencionado y puede observarse, al incluir el tiempo de envío, se redujo el periodo de
muestreo y a consecuencia aumentó la frecuencia de muestreo; de otra forma se perderían datos
y no se tendría la calidad deseada, que para este caso es telefónica de 4 KHz.
Para conectar la PC a un microcontrolador por el puerto serie se utilizan las señales TXD, RXD y
GND. La PC utiliza la norma RS232, por lo que los niveles de tensión están comprendidos entre +15
y -15 voltios. Los microcontroladores normalmente trabajan con niveles TTL (0-5v); por tanto es
necesario hacer uso del circuito MAX232 para que adapte los niveles de voltaje.
El circuito integrado MAX232 lleva internamente 2 conversores de nivel de TTL a RS232 y otros 2
de RS232 a TTL con lo que en total podremos manejar 4 señales del puerto serie del PC;
generalmente las más usadas son: TXD y RXD. Para que el MAX232 funcione correctamente deben
agregarse condensadores externos, todo esto puede observarse en la figura 3.22 en la que solo se
han conectado las líneas TXD y RXD que son las utilizadas en esta aplicación.
Figura 3. 22 Diagrama de conexión entre el microcontrolador y el puerto serial a través del MAX 232
La figura 3.23 ilustra la vista previa del circuito MAX2323 terminado y en la figura 3.24 se muestra
una fotografía real del circuito de comunicación terminado.
Figura 3. 23 PCB del circuito MAX 232 para la comunicación serial entre la PC y el microcontrolador
Figura 3. 24 Circuito PCB del circuito MAX232 para la comunicación serial entre la PC y el microcontrolador
Las dimensiones del prototipo pueden aproximarse al comparar el micrófono, los conectores o el
encapsulado DIP-40 del microcontrolador. Por ser un prototipo es grande, sin embargo reducirlo
en una placa única disminuiría el tamaño.
Led de encendido. Led indicador de encendido en color rojo, colocado en la tarjeta principal
donde se encuentra el microcontrolador, que da alimentación a los demás circuitos.
Led de transmisión. Led indicador de transmisión en color ámbar, colocado en la tarjeta principal
donde se encuentra el microcontrolador. Se enciende al estar enviando datos a la PC.
Interfaz de comunicación. Es la tarjeta que recibe los datos del módulo USART del
microcontrolador y los convierte a los niveles de voltaje establecidos por el estándar RS232 para
su comunicación con la PC.
Adaptador 7mm. a 3.5 mm. El adaptador de 7 mm. a 3.5 mm. reduce el tamaño de conexión
debido a que los cables comerciales para conexión de micrófono son de canon a plug 7 mm.
Conector Plug 7 mm. Es un conector usado típicamente en audio y es también conocido como
conector plug ¼.
La interfaz gráfica de usuario se realizó en C# con ayuda del Software Visual Studio 2010 Ultimate.
En éste programa se reciben los datos del microcontrolador y se estructuran para un archivo con
formato de audio WAV.
El diseño del mismo se basa en la adquisición de paquetes de 8 bytes más 2 extras: uno es el salto
de línea y otro es el salto de carro. Lo primero en el programa es realizar la captura de los datos y
almacenarlos directamente en un arreglo tipo byte, figura 3.29, que teóricamente su máxima
capacidad sería 4 GB ( ) en el sistema operativo de 32 bits y en un SO de 64 bits. Por
supuesto, el límite real sería la cantidad de memoria virtual disponible para el proceso en el
momento en que la llamada fue hecha. Este número depende básicamente de lo que es la reserva
del sistema (normalmente 2 GB)27, pero para efectos prácticos se reservaron 256 MB que graban
un aproximado de 9 horas con 19 minutos. Después se procede con el procesamiento de esos
datos para su almacenamiento en el archivo WAV. En la figura 3.26 se muestra el algoritmo del
programa principal; es importante no olvidar que la interfaz es visual y está orientada a eventos.
Inicio
Declaración de librerias
Inicializar componentes
Ir a evento ¿Evento
Si
invocado invocado?
No
27
Véase referencia 27.
Al comienzo del programa se tienen que inicializar las variables, así como dar apertura al puerto
serial, que de no estar conectado el adaptador USB Serial, si es que se virtualiza el puerto serial,
rechazará la apertura del puerto y mandará una excepción el compilador. El puerto serial tiene
que configurarse con las propiedades de la figura 3.27. La configuración del nombre del puerto es
importante que sea igual al que asigna el equipo. Puede obtenerse dicho dato en el administrador
de dispositivos de Windows como se observa en la figura 3.28.
¿Tiempo de ¿Tiempo
1
grabación=0? terminado?
No No
Guardar datos en un
Si arreglo de 8 Bytes con
código ASCII extendido Guardar datos
Guardar datos en un arreglo de 8
bytes con código ASCII extendido
Copiar arreglo en la
posición i del Limpiar buffer
Copiar arreglo en la posición del arreglo principal
arreglo principal (Bloque de (Bloque de datos)
datos)
¿Contador=999? No
Repetir ultimo valor
i=i+8 del arreglo a los
espacios vacios Si
Reinicia contador
¿Arreglo=8? No
Incrementa tiempo
en segundos
Si
La adquisición de datos es dedicada únicamente a eso, almacenar los datos en un buffer temporal
mientras se está grabando, una vez terminado, un mensaje de “grabación terminada” es mostrado
y posterior a eso se realiza la división de los paquetes de datos de 8 bits a un arreglo donde se
encuentren las muestras de manera individual. Estas muestras deben ser asignadas al bloque de
datos que se utilizará para el archivo WAV. No olvidar que en el arreglo destino, deberá
considerarse el espacio para las cabeceras del archivo. figura 3.31.
El bloque de datos, es decir las muestras capturadas o la voz digitalizada puede graficarse y
observar el espectro tiempo/amplitud que es formado tras la captura de datos. figura 3.30.
Inicio
Inicializar coordenadas
Obtener dato x
del buffer principal
(Bloque de datos)
No
Si
Para la grabación del archivo WAV se debe considerar que es usado solo un canal de grabación, es
decir es monoaural, también se debe tomar en cuenta el ancho de palabra de 8 bits y la frecuencia
de muestreo que es de 8 000 muestras por segundo.
Inicio
Si
La Interfaz Gráfica de Usuario cuenta con un botón de “Nueva grabación” y en este evento lo
único que se efectúa es el reinicio de todas las variables, incluyendo los arreglos.
Inicio
Antes de hacer la grabación final del archivo, se asignan las dimensiones de la grabación a la
cabecera correspondiente; de esta manera el tiempo de grabación será proporcional al tamaño del
archivo en memoria para su almacenamiento.
Inicio
Una vez que es guardado el archivo WAV, el mismo programa manda a llamar un codificador de
formatos con licencia LGPL; se trata del software “Lame” que no posee ninguna interfaz gráfica
precisamente para ser usado en programas que lo manden a llamar como archivo de sistema, se le
manden los parámetros necesarios como las direcciones de ubicación del archivo original WAV y el
de destino MP3. También es importante localizar la ubicación del propio codificador. Para mayor
comodidad y eficiencia es recomendable guardar el archivo ejecutable lame.exe en la carpeta de
sistema de Windows (C:\Windows) para establecer una ruta predefinida y no encontrarnos con
problemas posteriores.
Inicio
Si
Cerrar archivo
Figura 3. 35 Vista general de la Interfaz Gráfica de Usuario en C# para iniciar una grabación
Resultados
Capítulo 4 experimentales
El presente capítulo hace mención de las pruebas realizadas a las diferentes partes del sistema,
necesarias para el acondicionamiento, codificación, transmisión y almacenamiento de la voz hasta
llevar a cabo la reproducción digital en la PC del archivo final con formato WAV y MP3 después de
usar el codificador auxiliar.
La primera parte consiste en obtener los voltajes que entrega el micrófono al momento que éste
se ve expuesto a las ondas sonoras emitidas por la voz humana. Hablando con una intensidad de
volumen moderada y colocando el micrófono a una distancia de 10 cm del usuario; el voltaje
aproximado que se observa que entrega el micrófono es de 20 mVpp, cómo aparece en la figura
4.1; muestra tomada directamente del osciloscopio.
Entrada Salida
Amplificador de Voltaje de salida del
Voltaje de salida del
pequeña señal con micrófono amplificada
micrófono
pila de 2.5 V con un voltaje de 0 a 5V
Vpp = 20 mV
Figura 4. 2 Diagrama de un proceso
La siguiente figura muestra el resultado que se obtiene al pasar la señal del micrófono por la etapa
de amplificación, más un nivel de CD. de 2.5 V que eleva la señal; lo anterior para tener la señal
acondicionada de 0 a 5 V que será enviada a la parte del convertidor analógico digital.
Frecuencia Ganancia en dB
100 -4.277596399
200 -2.182889389
300 -2.271976217
400 -2.54485383
500 -1.338935793
600 -1.501293597
700 -1.666744116
800 -1.501293597
900 -1.666744116
1000 -1.750666408
1200 -1.338935793
1400 -1.501293597
1600 -1.666744116
1800 -1.501293597
2000 -1.835407467
2200 -1.179557199
2400 -1.501293597
2600 -1.338935793
2800 -2.731654355
3000 -2.361986242
3200 -3.317441877
3400 -2.731654355
3600 -2.922560714
3800 -3.521825181
4000 -4.860760974
4200 -4.622776508
4400 -5.883811423
4600 -6.444385895
4800 -6.738851031
5000 -8.752254269
5200 -8.752254269
5400 -12.46498581
5600 -9.542425094
5800 -8.028010816
6000 -8.382586155
6200 -9.966211076
6400 -12.46498581
6600 -12.46498581
6800 -12.46498581
Una vez obtenida la tabulación, mediante Excel o alguna otra herramienta de graficación se puede
generar la gráfica resultante. Podemos observar que el filtro que fue diseñado para una frecuencia
de corte de 4 KHz, tiene una frecuencia de corte en 3.6 KHz aproximadamente. La respuesta no es
lineal, sin embargo, considera las frecuencias deseadas.
Las siguientes figuras muestran el resultado en la Interfaz Gráfica de Usuario al recibir como
parámetro de entrada una señal enviada por un generador de funciones a diferentes frecuencias;
dichas señales de entrada se muestran del lado izquierdo (capturas obtenidas directamente del
osciloscopio) y de lado derecho se muestra la respuesta en la Interfaz Gráfica de Usuario.
1b
1a
10 Hz
2b
2a
20 Hz
3b
3a
50 Hz
4b
4a
La siguiente figura presenta como entradas frecuencias más elevadas en comparación de las que
se tienen en la figura 4.5, así como el espectro que grafica en una grabación de voz (ver figura
4.6c).
a) 5KHz
b) 6KHz
c) Voz
La Interfaz Gráfica de Usuario esta compuesta por los elementos descritos en la figura 4.7.
3. Tiempo a grabar
4. Botón Grabar
5. Botón Nueva 8. Espacio de
Grabación grabación
6. Velocidad de
bits para el MP3
7. Cronómetro en segundos
1. Menú Archivo
Esta pestaña nos da tres diferentes opciones para el formato de archivo de voz generado:
Guardar grabación: Esta opción genera un archivo de audio con formato WAV y
MP3 en la ruta que el usuario especifique, de esta manera el usuario puede
conservar un archivo sin perdidas y/o uno comprimido 4 veces más pequeño que
el archivo WAV con una calidad aceptable para entender el mensaje de voz.
Graficar señal de voz: Esta opción genera una aproximación del espectro
resultante de toda la grabación. Es una aproximación debido a la resolución
manejada, por lo que se tiene que realizar un submuestreo para mostrar en
pantalla.
Salir: Esta opción cierra la aplicación de la grabadora digital de voz.
2. Menú Ayuda
Esta pestaña nos da dos opciones referentes acerca de la IGU en general:
Ver la ayuda: Muestra el manual usuario de la IGU.
Acerca de Grabadora digital de voz: Muestra información acerca de los autores.
3. Tiempo a grabar
Este espacio esta designado para que el usuario introduzca un tiempo de grabación en
segundos, de esta manera puede estar grabando un tiempo definido, sin necesidad de que
un usuario tenga que oprimir un botón de paro.
4. Botón “Grabar”
El botón Grabar esta designado para comenzar una grabación. En el momento que es
oprimido, la captura de datos se pone en marcha para ser almacenados en memoria
temporal para posteriormente ser almacenados en disco duro con un formato de audio
WAV o MP3 o bien, iniciar una nueva grabación sin que esta pase a disco duro.
7. Cronómetro en segundos
El cronometro en segundos muestra el transcurso de la grabación en curso.
8. Espacio de graficación
En este espacio es generado el espectro resultante de la grabación, tras haber oprimido el
botón graficar.
Después de haber realizado una grabación y haberla guardado en Disco Duro como se explicó en el
tema anterior, se generan dos archivos en la carpeta principal del proyecto de la Interfaz Gráfica
de Usuario como se observa en la figura 4.8. Uno de ellos se genera en formato WAV, que es el
archivo directamente grabado y construido en el programa de C#. El otro archivo generado, es en
formato de audio MP3, que es 4 veces más pequeño que el original en formato WAV.
Gracias al software de codificacion “lame”, bajo la licencia LGPL, se genera el segundo archivo que
como se mencionó, es cuatro veces mas pequeño que el original grabado en formato WAV. Esta
herramienta se usa en forma auxiliar al programa principal en C# para mandar a llamar desde el
mismo programa, ayudando a obtener la reduccion de espacio de almacenamiento. Se pueden
comparar las propiedades del archivo WAV y MP3 mostradas en las figuras 4.9 y 4.10.
a) b)
Figura 4. 9 a) Espacio de almacenamiento en disco del archivo WAV b) Duración y velocidad en bits del archivo WAV
En la figura 4.9 se muestran las propiedades del archivo WAV, en las que se tiene una velocidad de
64 kbps, lo que genera un espacio de almacenamiento de 8 KB por cada segundo; para una hora
son 8 KB * 3600 segundos; es decir 28 800 KB y es precisamente lo que se observa en la figura
4.9a. La velocidad de bits es igual a la calculada ya en el tema 3.3.1.
Después de haber usado en el código fuente de la Interfaz Gráfica de Usuario el software “Lame”,
se obtiene un archivo de salida con las propiedades descritas en la figura 4.10.
a) b)
Figura 4. 10 a) Duración y velocidad en bits del archivo MP3 b) Extensión MP3 y espacio en disco del archivo MP3
El archivo WAV usado como ejemplo en la figura 4.9 es el mismo para la figura 4.10, solo que
después de haber sido convertido al formato MP3. En las propiedades del archivo mostradas en la
figura 4.10a se tiene una misma duración de una hora pero a una velocidad de 16 Kbps, lo que
reduce 4 veces el espacio de almacenamiento como se observa comparando la figura 4.9b y la
figura 4.10a. La reducción de la velocidad 4 veces con respecto a la original, tiene como
consecuencia la misma reducción en almacenamiento con una calidad aceptable para entender un
mensaje de voz. Pruebas a distintos locutores reflejan que es entendible el mensaje en ambos
formatos.
Todo prototipo debe someterse a pruebas de evaluación donde se pueden encontrar debilidades o
bien cerciorarse del buen funcionamiento del mismo. Por ello serán de importancia las siguientes
pruebas.
El formato de archivo de audio WAV, es un formato sin perdidas estandarizado que permite llevar
el archivo a distintos reproductores y tener la seguridad de que sera reproducido; de esta manera,
se evitaran muchos problemas de compatibilidad o de la falta de algun codec o plugin para
reproducirse. Para el caso de MP3, se trata de uno de los formatos mas populares que implementa
compresión.
La figura 4.11 muestra los archivos en el explorador de Windows, que como se observa detecta
con la extension WAV y MP3, mismos que reconoce ya como archivos de audio. Para comprobar la
efectividad del archivo, puede ejecutarse con el reproductor default de Windos como se observa
en la figura 4.12.
En la figura 4.13 se observan al igual que en el ambiente Windows, los archivos de audio ya
identificados por el explorador Finder de Mac OS. Al ejecutar dichos archivos con el reproductor
default del sistema operativo Mac OS como se observa en la figura 4.14 se obtiene el mismo
resultado y no se encuentra ningún problema para la reproducción.
Finalmente para la prueba de portabilidad el tercer sistema operativo mas usado en el mundo es
Linux en sus distintas distribuciones, según estudios en la red de internet. La figura 4.15 muestra
los dos archivos en el explorador de Linux Ubuntu, mismos que ya son reconocidos por el sistema
como archivos de audio y que al ejecutarse con el reproductor Totem que es el reproductor
Otra de las pruebas necesarias es realizar una grabación larga, que tendrá una duración de una
hora, que es el tiempo aproximado que graba un CD, a diferencia de que no tendrá comparación el
tamaño final de la grabación con la capacidad de almacenamiento que tiene un CD, debido a que
esta aplicación es limitada a voz con calidad telefónica de 4 KHz.
Para realizar la grabación se puede ayudar de alguna persona que hable durante una hora o bien
auxiliarse de alguna grabación de algún aparato reproductor. Para este caso se usa un documental
de internet, se pone a reproducir y se comienza la captura a través del micrófono frente a las
bocinas de la computadora sin necesidad de que hable directamente una persona.
Otra prueba consistió en comprobar que tan eficiente es el tiempo de grabación capturado con el
reloj programado en la IGU en comparación de un reloj externo. El tiempo de grabación para
ambos relojes fue considerando para una grabación de una hora. La siguiente imagen muestra el
resultado de la prueba de funcionamiento para el tiempo de captura de una hora de audio. Como
podemos apreciar, la IGU ha terminado de capturar el tiempo de grabación mientras el reloj digital
del celular marca que ha transcurrido 0:57:07.39 (el tamaño del archivo resultante fue de 27.4
MB).
Ahora vamos a calcular cuánto tiempo de adelanto existe por parte de la IGU para posteriormente
obtener una relación del más adelanto para otros tiempos de grabación más superiores. Los
cálculos se muestran a continuación. En primera instancia sabemos que:
( 30)
( 31)
( 32)
Con el resultado anterior podemos saber los ms contenidos en una hora de grabación:
( 33)
Ahora basándonos en los cálculos anteriores obtenemos el tiempo de grabación obtenida con el
reloj digital que resulto de 0:57:07.39 (57 minutos, 7 segundos y 390 milésimas).
( ) ( ) ( 34)
Con las ecuaciones (33) y (34) podemos obtener el tiempo de adelanto de la IGU generada en una
hora:
( 35)
El resultado anterior muestra la cantidad en ms del tiempo de adelanto de una grabación con
duración de una hora. Si pasamos el resultado anterior a minutos para hacerlo más entendible
resulta:
( 36)
1400000 8, 1380880
1200000
1000000
800000
Adelanto en ms
4, 690440
600000
400000
2, 345220
200000 1, 172610
0
0 2 4 6 8 10 Horas
Con lo que podemos concluir que el reloj interno de la IGU no es del todo preciso, ya que existe un
adelanto de 2:52.61 por cada hora transcurrido por un reloj digital. Calcular el adelanto para un
tiempo superior a 18 horas no sería práctico ya que como lo mencionamos en el desarrollo, la
máxima capacidad de grabación para la IGU en un formato de archivo WAV es de 9 horas.
La última prueba es la grabación de un mismo texto leído por distintos locutores; de esta manera,
al hacer un análisis escuchando a cada uno de ellos leyendo el mismo texto, se puede deducir la
efectividad en cuanto a claridad del mensaje, que es uno de los objetivos principales, obtener un
mensaje entendible de voz. Para la prueba, se pidió a los locutores leyeran el decálogo del
politécnico frente al micrófono para poder capturar la grabación y así al finalizar se les hizo
escucharla pidiendo su opinión en cuanto a la claridad del mensaje; es decir, que tan entendible
era, tras haber sido grabada en este formato de baja calidad. Los resultados fueron capturados en
la siguiente tabla.
Claridad Muy
Muy mala Mala Regular Buena
Locutor buena
Nicolás – 26 años X
Daniel – 24 años X
Alberto – 28 años X
Juan Pablo – 23 años X
Hombres
Jessica – 23 años X
Zeyra – 22 años X
Verónica – 16 años X
Alejandra – 21 años X
Nancy – 21 años X
Sara – 17 años X
Es evidente que cada locutor tiene un timbre de voz distinto, por lo que cada grabación entre
locutores se escucha diferente, además de que su voz grabada no se escucha igual a su voz
original, por la finalidad de obtener una calidad telefónica; sin embargo, es lo más parecida y
comparando a todos los locutores con el mismo mensaje, cada uno determinó la inteligibilidad del
mensaje como se muestra en la tabla 4.2 y en la gráfica siguiente.
10
8
Personas
6
10
4
6
2 3
1
0 0
Muy mala Mala Regular Buena Muy buena
Inteligibilidad del mensaje
Con los resultados obtenidos en la encuesta, en una escala de muy mala, mala, regular, buena y
muy buena, se obtiene que un 0% calificó muy mala, un 5% mala, un 30% regular, el 50% como
buena y el 15% restante con la máxima calificación, muy buena. Así, se concluye que la
inteligibilidad del mensaje es aceptable para la mayoría de las personas y es útil para grabar voz
calidad telefónica, con la finalidad de tener un mensaje entendible con poca cantidad de
almacenamiento y fácil transmisión.
CONCLUSIONES
El objetivo general y los objetivos particulares fueron alcanzados ya que se obtuvo el archivo de
audio en formato WAV que fue sometido a algunas pruebas como portabilidad, duración y una
prueba a distintos locutores interpretando el mismo mensaje.
La grabadora digital de voz realizada en este proyecto tiene algunas limitantes que pueden ser
mejoradas a futuro. La calidad de grabación es baja, debido a que solo se requiere tener un
mensaje entendible de la voz. Para fines prácticos, usar la menor calidad posible, sin llegar a la
distorsión del mensaje, reducirá el ancho de banda y podrá ser transmitido por casi cualquier
canal, además de los beneficios en cuanto a espacio de almacenamiento son muy altos
comparados con una grabación de audio que contempla de los 20 Hz a los 20,000 HZ.
Una de las principales mejoras sería aumentar la calidad de la grabación considerando un ancho
de banda mayor, de modo que no sea únicamente para voz, sino para audio en general o por lo
menos un ancho de banda mayor a 4KHz. Aumentar el ancho de banda mejorará
considerablemente la calidad, sin embargo se requerirá de un muestreo mucho mayor que deberá
ser adaptado al hardware o bien buscar alguno más rápido. Otra opción que mejorará mucho la
calidad es aumentar el ancho de palabra; para este caso se usó de 8 bits, sin embargo usar otro
hardware que permita un muestreo de 16 bits aumentará la calidad considerablemente.
En cuanto a la adquisición de datos, tuvo que ser adaptada a un envío por paquetes de 8 muestras,
debido a que se tenía un tiempo de muestreo de 125 us y la Interfaz Gráfica de Usuario (IGU)
realizada en Visual Studio 2010 presentó complicaciones con la adquisición a esta velocidad. Para
resolver estos problemas de sincronización el sistema de adquisición de datos se adaptó a la forma
ya mencionada, envió por paquetes; de esta manera, 8 muestras de 125 us suman un tiempo de 1
ms, tiempo necesario para que la IGU no pierda datos. También para evitar retrasos en la
adquisición, se evitaron procesos innecesarios en la misma, como la graficación en tiempo real.
Simplemente se capturan los datos obtenidos y son mandados a un arreglo tipo string, donde una
vez capturados los datos, son tratados para acondicionar de acuerdo a los estándares establecidos
en WAV. Más opciones de codificación para el archivo de audio final también son mejoras
considerables para el proyecto, ya que le da al usuario una mayor gama de opciones de acuerdo a
sus necesidades.
La interfaz de comunicación es otro punto crítico del proyecto que puede mejorarse; para este
caso se hizo uso del puerto serial con el que fue necesario un adaptador serial-USB, porque a la
actualidad ya no es común encontrar en los equipos este tipo de conexión. Usar directamente una
interfaz USB aumentará la velocidad de transmisión del canal, y así transmitir señales con mayor
ancho de banda, además de que no será necesario un adaptador como en el caso de este
proyecto.
CONCLUSIONES 119
GRABADORA DIGITAL DE VOZ PARA UNA PC
La adición del formato de salida MP3 fue gracias a la ayuda del software Lame de licencia LGPL,
que puede ser llamado desde la misma interfaz para que al usuario le sea transparente dicha
conversión. Finalmente se obtienen ambos archivos, dándole al usuario la opción de conservar los
dos y comparar por sí mismo la calidad de ellos; que con pruebas a distintos locutores concluyeron
que era aceptable la claridad del mensaje en ambos formatos y no existía mucha diferencia entre
ellos.
CONCLUSIONES 120
GRABADORA DIGITAL DE VOZ PARA UNA PC
Apéndices
Apéndices 121
GRABADORA DIGITAL DE VOZ PARA UNA PC
Apéndice A
Programación del microcontrolador en lenguaje C
*********************************************************************************
* PROGRAMA DE LA ADQUISICION DE DATOS
*********************************************************************************
* Escuela: IPN - ESIME Zacatenco
* Autor: Antonio Bautista Gustavo
* Cureño Martínez Humberto Yahveh
******************************************************************************* */
#include <p18cxxx.h>
#define L1 LATAbits.LATA4
#define L2 LATAbits.LATA5
#define L3 LATCbits.LATC0
#define L4 LATCbits.LATC1
Apéndices 122
GRABADORA DIGITAL DE VOZ PARA UNA PC
int resultado: Ésta variable es de tipo entero de 16 bits y en ésta se almacenan los resultados de la conversión las lecturas obtenidas del
convertidor analógico digital.
int i: esta variable es de tipo entero y funciona como un acumulador de la lectura de los caracteres. El valor se inicializa en 0 y el máximo es 7.
char y[ ]: Éste arreglo es de tipo carácter y en él se almacenan cada uno de los caracteres que se van a enviar. El valor mínimo que pude tener
es 0 y el valor máximo es 255.
/****************************** V A R I A B L E S ******************************/
#pragma udata
int resultado;
int i = 0;
char y[];
void YourHighPriorityISRCode(void);
void YourLowPriorityISRCode(void);
void configUSART(void);
void config(void);
void CfgADC(void);
void configTemp0(void);
void TXbyte(unsigned char data);
/*******************************************************************************/
extern void _startup (void); // See c018i.c in your C18 compiler dir
#pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS
void _reset (void)
{
_asm goto _startup _endasm
}
/*******************************************************************************/
/*******************************************************************************/
#pragma code
Apéndices 123
GRABADORA DIGITAL DE VOZ PARA UNA PC
//AGREGAR CODIGO
} //This return will be a "retfie fast", since this is in a #pragma interrupt section
configTemp0(): Ésta instrucción manda a llamar la función que se encarga de la configuración de los tiempos de cada uno de los datos que van
a ser enviados.
CfgADC(): Ésta instrucción manda a llamar la función, que se encarga de todas las configuración del convertidor analógico digital.
configUSART(): Ésta instrucción manda a llamar la función USART, la cual tiene la función de configurar el modulo universal de comunicación
serie asíncrona entre el transmisor (TX) y receptor (RX).
//while(sw3);
//transmitir=1;
while(1)
{
if (RCREG == '1')
{
L3=1;
resultado=getADC();
y[i]= resultado*0.25;
if(i==7)
{
TXbyte(y[0]);
TXbyte(y[1]);
TXbyte(y[2]);
TXbyte(y[3]);
TXbyte(y[4]);
TXbyte(y[5]);
TXbyte(y[6]);
TXbyte(y[7]);
TXbyte(0x0D);
TXbyte(0x0A);
i=0;
}
i++;
configTemp0();
}
L3=0;
}
Apéndices 124
GRABADORA DIGITAL DE VOZ PARA UNA PC
}
/*******************************************************************************/
void configUSART(void)
{ unsigned char temp;
SSPCON1 = 0; // Asegura que el módulo SPI no esté habilitado
TRISCbits.TRISC7=1; // Entrada de datos - terminal Rx
TRISCbits.TRISC6=0; // Salida de datos - terminal Tx
SPBRG = 25; // Configura 9600 bauds para Fosc de 48 MHz
SPBRGH = 0; // (SPBRG=103 y SPBRGH=0 para 115 kbps) //225
TXSTA = 0x24; // Habilita modo de 16 bits con BRGH=1 //4
RCSTA = 0x90; // Recepción continua en Rx
BAUDCON = 0x08; // BRG16 = 1,
temp = RCREG; // Limpia registro del receptor (hacerlo 2 veces)
temp = RCREG; //RCREG = buffer del receptor
}
/******************************************************************************/
void config(void)
{
ADCON1 |= 0x0F;
TRISB=0xFF;
ADCON1=0x0E; //RA0 se configura como la terminal analógica AN0
TRISA=0X01; //RA0(AN0) es entrada y las demás del puerto son salidas
LATA=0X00; //Leds indicadores de nivel apagados
TRISC=0X00;
LATC=0X00;
}
/*******************************************************************************/
void CfgADC(void)
{ ADCON0=0x00; //La señal de entrada del ADC se lee en AN0
ADCON2=0X8C; //Configura el reloj del ADC y el tiempo de adquisición
ADCON0bits.ADON=1; //Enciende el ADC
}
/*******************************************************************************/
int getADC(void)
{ int resultado;
ADCON0bits.GO = 1; //Inicio de conversión
while(ADCON0bits.NOT_DONE); //Espera se termine la conversión
resultado=(int)(ADRESH*256) + ADRESL;
return resultado;
}
/*******************************************************************************/
/*******************************************************************************/
void configTemp0(void)
{
T0CON = 0b10001000;
TMR0H = TIMER0H_VAL;
TMR0L = TIMER0L_VAL;
Apéndices 125
GRABADORA DIGITAL DE VOZ PARA UNA PC
La interfaz gráfica de usuario se realizó en C# con ayuda del software Visual Studio 2010 Ultimate.
En éste programa se reciben los datos del microcontrolador y se estructuran para un archivo con
formato de audio WAV.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.IO;
using System.Diagnostics;
namespace IGU
{
public partial class Form1 : Form
{
#region Inicializacion de variables
string[] POT = new string[67108864];
byte[] mBuffer = new byte[268435456]; // 536870912----------- CHUNK DE DATOS----------- 536,870,912
Bytes = 512 MB 4294967296
byte[] array = new byte[8];
byte[] data = new byte[268435456]; // CHUNK DE DATOS EN MODO LITTLE ENDIAN
byte[] SubChunk2_Size = new byte[4];
int x = 44; //Número de la muestra, inicializado en 44 por las cabeceras que
anteceden de WAV
int j = 0;
int i = 0;
int parar = 0;
int cont = 0;
int x1, y1, x2, y2, resolucion_x;
string sPathName_enc; // Direccion de Lame.exe para la codificacion a MP3
string sFileName_wav; // Dirección del archivo WAV de origen
string sFileName_mp3; // Direccion para el archivo de salida MP3
//bool bandera; // Bandera para encontrar "\" y modificar URL destino
int size; // Tamaño de la URL destino
byte[] arrayWAV = new byte[100]; // Arreglo en Bytes de URL WAV
byte[] arrayMP3 = new byte[100]; // Arreglo en Bytes de URL MP3
byte[] arrayURL = new byte[100]; // Arreglo en Bytes de URL
//string codificador;
bool bWait; // Bandera de codificacion a MP3
#endregion
public Form1()
{
InitializeComponent();
serialPort1.Open();
serialPort1.Encoding = Encoding.GetEncoding(28591);
}
Apéndices 126
GRABADORA DIGITAL DE VOZ PARA UNA PC
j++;
label1.Text = j.ToString();
}
} //Fin de la adquisición de datos
Apéndices 127
GRABADORA DIGITAL DE VOZ PARA UNA PC
//Subchunk "fmt"
mBuffer[12] = 0x66;
mBuffer[13] = 0x6D;
mBuffer[14] = 0x74;
mBuffer[15] = 0x20;
//Longitud de formato de audio
mBuffer[16] = 0x10; mBuffer[17]
= 0x00; mBuffer[18] = 0x00;
mBuffer[19] = 0x00;
//Formato de audio
mBuffer[20] = 0x01;
mBuffer[21] = 0x00;
//Número de canales
mBuffer[22] = 0x01;
mBuffer[23] = 0x00;
//Frecuencia de muestreo
mBuffer[24] = 0x40;
mBuffer[25] = 0x1F;
mBuffer[26] = 0x00;
mBuffer[27] = 0x00;
//Tasa de bytes (bytes/seg)
mBuffer[28] = 0x40;
mBuffer[29] = 0x1F;
mBuffer[30] = 0x00;
mBuffer[31] = 0x00;
//Alineamiento de bloques
mBuffer[32] = 0x01;
mBuffer[33] = 0x00;
//Bits por muestra
mBuffer[34] = 0x08;
mBuffer[35] = 0x00;
//Subchunk "data"
mBuffer[36] = 0x64;
mBuffer[37] = 0x61;
mBuffer[38] = 0x74;
mBuffer[39] = 0x61;
//Longitud de campo de datos
string valor_hex2 = (x - 44).ToString("X8");
SubChunk2_Size = StringToByteArray(valor_hex2);
mBuffer[40] = SubChunk2_Size[3]; //0x80;
mBuffer[41] = SubChunk2_Size[2]; //0x3E;
mBuffer[42] = SubChunk2_Size[1]; //0x00;
mBuffer[43] = SubChunk2_Size[0]; //0x00;
#endregion
if (dialogResult == DialogResult.OK)
{
if (String.IsNullOrEmpty(file.FileName))
{
//Inform the user
}
string path = file.FileName;
FileInfo fi = new FileInfo(path);
Apéndices 128
GRABADORA DIGITAL DE VOZ PARA UNA PC
#region (Sin uso) Direcciones origen y destino predefinidas para codificacion MP3
/*
sPathName_enc = @"C:\Users\YAHVEH\Dropbox\TESIS\SOFTWARE\grabador\ciclos\bin\Debug"; sFileName_wav
= @"C:\Users\YAHVEH\Dropbox\TESIS\SOFTWARE\grabador\ciclos\bin\Debug\grabacion.wav";
sFileName_mp3 = @"C:\Users\YAHVEH\Dropbox\TESIS\SOFTWARE\grabador\ciclos\bin\Debug\grabacionMP3.mp3";
*/
#endregion
size = sFileName_wav.Length;
arrayWAV = System.Text.Encoding.GetEncoding(28591).GetBytes(sFileName_wav);
arrayMP3 = arrayWAV;
arrayMP3[size - 1] = 51; //Numero "3" en ASCII
arrayMP3[size - 2] = 112; //Numero "p" en ASCII
arrayMP3[size - 3] = 109; //Numero "m" en ASCII
sFileName_mp3 = System.Text.Encoding.Default.GetString(arrayMP3);
bWait = true;
WavToMP3(sPathName_enc, sFileName_wav, sFileName_mp3, bWait);
}
Apéndices 129
GRABADORA DIGITAL DE VOZ PARA UNA PC
fi = new FileInfo(sFileName_mp3);
string sPath_mp3 = fi.DirectoryName;
if (!Directory.Exists(sPathName_enc))
{
return "Directory for encoder not found:\r\n" + sPathName_enc;
}
if (!File.Exists(sFileName_wav))
{
return "WAV file not found:\r\n" + sFileName_wav;
}
if (!Directory.Exists(sPath_mp3))
{
return "Directory for MP3 file not found:\r\n" + sPath_mp3;
}
try
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.UseShellExecute = false;
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = "\"" + sPathName_enc + @"\lame.exe" + "\"";
if (radioButton1.Checked)
{
psi.Arguments = "-b 8 --resample 22.05 -m j " +
"\"" + sFileName_wav + "\"" + " " +
"\"" + sFileName_mp3 + "\"";
}
if (radioButton2.Checked)
{
psi.Arguments = "-b 16 --resample 22.05 -m j " +
"\"" + sFileName_wav + "\"" + " " +
"\"" + sFileName_mp3 + "\"";
}
if (radioButton3.Checked)
{
psi.Arguments = "-b 32 --resample 22.05 -m j " +
"\"" + sFileName_wav + "\"" + " " +
"\"" + sFileName_mp3 + "\"";
}
Process p = Process.Start(psi);
if (bWait)
{
p.WaitForExit();
}
p.Close();
p.Dispose();
return "";
}
catch (Exception ex)
{
return ex.Message;
}
}
Apéndices 130
GRABADORA DIGITAL DE VOZ PARA UNA PC
y2 = 255 - mBuffer[i];
if (j > 799)
{
y2 = 255;
x2 = 800;
}
g.DrawLine(Pens.White, x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
}
}
}
Apéndices 131
GRABADORA DIGITAL DE VOZ PARA UNA PC
Apéndice B
Costo de elaboración del prototipo
Recursos humanos
o Costos de esfuerzo
o Costos de viajes y capacitación
Recursos materiales
o Costos de hardware
o Costos de software
o Maquinaria y equipo
Para el cálculo de los costos de esfuerzo, se tomaron en cuenta los siguientes datos:
Considerando una jornada de trabajo de 8 horas diarias que es el tiempo completo de lunes a
viernes; en un mes se trabajan 160 horas aproximadamente. Si dividimos el total del sueldo del
programador entre el número de horas trabajadas se tiene:
Multiplicando las horas totales de trabajo en la programación por el precio estimado por hora se
tiene:
( )
Apéndices 132
GRABADORA DIGITAL DE VOZ PARA UNA PC
Para el diseño y realización del hardware del equipo se ocuparon aproximadamente 6 meses
posteriores a la programación del mismo. Considerando un salario promedio igual al de un
programador y sabiendo que se ocupó el mismo tiempo aproximadamente, podemos multiplicar
el resultado anterior por dos, así tenemos un costo total aproximado del esfuerzo.
Los costos de viajes y capacitación no serán tomados en cuenta, ya que todo fue desarrollado en la
misma escuela y no se requirió capacitación externa ni viajes largos.
En la tabla 1 se muestran los costos unitarios y por cantidad de cada uno de los elementos
necesarios para la elaboración del proyecto, respecto a material para el hardware, el software
utilizado así como el equipo necesario para su diseño y realización.
Apéndices 133
GRABADORA DIGITAL DE VOZ PARA UNA PC
Apéndices 134
GRABADORA DIGITAL DE VOZ PARA UNA PC
Para obtener el costo total de los recursos materiales realizamos la siguiente suma:
( ) ( )
()
Sumando los recursos humanos y los recursos materiales, se obtiene el costo total del proyecto.
( )
( )
Apéndices 135
GRABADORA DIGITAL DE VOZ PARA UNA PC
Referencias
1. Scribd. (2009). “Definición de sonido” en Scribd. [Internet]. Disponible en:
http://es.scribd.com/doc/245590/Definicion-de-sonido. [Acceso el día 12 de noviembre de
2012].
2. Definición.DE. (2008). “Definición de voz” en Definicion.DE. [Internet]. Disponible en:
http://definicion.de/sonido/#ixzz2NRwVEPuk. [Acceso el día 15 de noviembre de 2012].
3. Wikipedia. (2013). “Audio Digital” en WIKIPEDIA. *Internet+. Disponible en:
http://es.wikipedia.org/wiki/Audio_digital . [Acceso el día 19 de noviembre de 2012].
4. Wikipedia. (2013). “Grabación digital de sonido” en WIKIPEDIA. *Internet+. Disponible en:
http://es.wikipedia.org/wiki/Grabaci%C3%B3n_digital_de_sonido. [Acceso el 22 de
noviembre de 2012].
5. Wikipedia. (2013). “Formatos de archivo de audio” en WIKIPEDIA. [Internet]. Disponible
en: http://es.wikipedia.org/wiki/Formato_de_archivo_de_audio. [Acceso el 24 de
noviembre de 2012].
6. Wikipedia. (2013). “Códec de audio” en WIKIPEDIA. [Internet]. Disponible en:
http://es.wikipedia.org/wiki/C%C3%B3dec_de_audio. [Acceso el 26 de noviembre de
2012].
7. Discovery. (2013). “Audio” en Discovery. [Internet]. Disponible en:
www.tudiscovery.com/gadgets/audio.shtml. [Acceso del 29 de noviembre de 2012].
8. Audacity. (2013). “Audacity” en Audacity. *Internet+. Disponible en:
www.jesusda.com/docs/ebooks/ebook_tutorial-edicion-de-sonido-con-audacity.pdf.
[Acceso el 3 de diciembre de 2012].
9. Usuario Digital. (2010). “Free Audio Editor 2010: Editor de audio para Windows” en
Usuario Digital. Disponible en: http://usuariodigital.com/free-audio-editor-2010-editor-de-
audio-para-windows/. [Acceso el 3 de diciembre de 2012].
10. EcuRed. (2013). “Adobe Audition” en EcuRed [Internet]. Disponible en:
www.ecured.cu/index.php/Adobe_Audition. [Acceso el 3 de diciembre de 2012].
11. Wikipedia. (2013). “Pro Tools” en WIKIPEDIA [Internet]. Disponible en:
http://es.wikipedia.org/wiki/Pro_Tools. [Acceso el 3 de diciembre de 2012].
12. Tomasi, W. (2003), Sistemas de comunicaciones electrónicas, Cuarta edición, Prentice Hall,
México, p. 607-613.
13. Roldán, A. (2000-2001). “Los micrófonos en Acústica” en Departamento Electrónica y
Tecnología de Computadoras Universidad de Granada. [Internet]. Disponible en:
http://electronica.ugr.es/~amroldan/modulos/proyectos/microfonos_en_acustica.pdf.
[Acceso el 10 de diciembre de 2012].
14. Coughlin, R.F. y Driscoll, F.F. (1999). Amplificadores operacionales y circuitos integrados
lineales, Tercera edición, Prentice Hall, México, p. 14-22.
15. Coughlin, R.F. y Driscoll, F.F. (1999). Amplificadores operacionales y circuitos integrados
lineales, Tercera edición, Prentice Hall, México, p. 62-63.
Referencias 136
GRABADORA DIGITAL DE VOZ PARA UNA PC
Referencias 137
GRABADORA DIGITAL DE VOZ PARA UNA PC
Glosario
Acople: es un fenómeno producido por la realimentación que ocurre en un sistema cuando una
determinada fuente recoge su propia señal, reintroduciéndola en el sistema. En el caso de una
señal acústica, el resultado es un pitido característico muy molesto que aumenta su volumen
progresivamente.
Algoritmo: es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que
permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba
realizar dicha actividad.
Amplitud: es la distancia máxima entre el punto más alejado de una onda y el punto de equilibrio
o medio.
Ancho de banda (filtro): es la diferencia entre las frecuencias en las que su atenuación al pasar a
través de filtro se mantiene igual o inferior a 3 dB comparada con la frecuencia central de pico (fc)
Archivo: conjunto de bits almacenados en un fichero periférico.
Armónico: es el resultado de una serie de variaciones adecuadamente acomodadas en un rango o
frecuencia de emisión, denominado paquete de información.
ASCII: American Standard Code for Information Interchange, Código Estándar Estadounidense para
el Intercambio de Información.
Asíncrono: que se encuentra completamente aislado y sin continuación o correspondencia en el
tiempo con otro suceso, sea o no similar.
Audible: Ser lo suficiente sonoro, para ser más claro, saber si el sonido alcanza un nivel suficiente
de modo que el oyente no necesite esforzarse o recurrir al control de volumen.
Audio: es una señal analógica eléctricamente exacta a una señal sonora; normalmente está
acotada al rango de frecuencias audibles por los seres humanos que está entre los 20 y los
20.000Hz, aproximadamente.
Baudio: es una unidad de medida, usada en telecomunicaciones, que representa el número de
símbolos por segundo en un medio de transmisión analógico. Cada símbolo puede codificar 1 o
más bits dependiendo del esquema de modulación.
Big-endian: adoptado por Motorola, consiste en representar los bytes en el orden “natural”: si el
valor hexadecimal es 0x4A3B2C1D se codifica en memoria en la secuencia {4A, 3B, 2C, 1D}.
Bit: es un dígito del sistema de numeración binario. Mientras que en el sistema de numeración
decimal se usan diez dígitos, en el binario se usan sólo dos dígitos, el 0 y el 1. Un bit o dígito
binario puede representar uno de esos dos valores, 0 ó 1.
Canal de comunicación: es el medio de transmisión por el que viajan las señales portadoras de
la información emisor y receptor.
Carácter: es una unidad de información que corresponde aproximadamente con un grafema o con
una unidad o símbolo parecido, como los de un alfabeto o silabario de la forma escrita de
un lenguaje natural.
Circuito integrado: es una combinación de elementos de un circuito que están miniaturizados y
que forman parte de un mismo chip o soporte.
Glosario 138
GRABADORA DIGITAL DE VOZ PARA UNA PC
Glosario 139
GRABADORA DIGITAL DE VOZ PARA UNA PC
Inteligibilidad: Se refiere a qué tan bien comprende el oyente la información que escucha (si la
información es suficientemente clara). La inteligibilidad es crítica, ya que determina si el oyente ha
escuchado con toda claridad la diferencia entre palabras como “caso” y “paso”, Una inteligibilidad
deficiente puede ser resultado de una dicción o pronunciación defectuoso del hablante, una mala
grabación, o simplemente demasiados ruidos o sonidos ambientales no deseados.
Interrupción: es una señal recibida por el procesador de un ordenador, indicando que debe
"interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta
situación.
Little-endian: es una forma de ordenamiento de los bits (adoptado por Intel). Si el valor
hexadecimal es 0x4A3B2C1D se codifica en memoria en la secuencia {1D, 2C, 3B, 4A}, de manera
que este modo se hace más intuitivo el acceso a los datos, porque se efectúa de manera
incremental de menos relevante a más relevante.
MAX232: este integrado es usado para comunicar un microcontrolador o sistema digital con un PC
o sistema basado en el estándar RS232.
Micrófono: es un transductor electroacústico. Su función es la de traducir las vibraciones debidas
a la presión acústica ejercida sobre su cápsula por las ondas sonoras en energía eléctrica, lo que
permite por ejemplo grabar sonidos de cualquier lugar o elemento.
Monoaural: es el sonido que solo está definido por un canal (ya sea una grabación captada con un
solo micrófono o bien una mezcla final) y que origina un sonido semejante al escuchado con un
solo oído.
Muestreo: Consiste en fijar la amplitud de la señal eléctrica a intervalos regulares de tiempo (tasa
de muestreo).
Modulación: engloba el conjunto de técnicas que se usan para transportar información sobre
una onda portadora.
Multimedia: se utiliza para referirse a cualquier objeto o sistema que utiliza múltiples medios de
expresión (físicos o digitales) para presentar o comunicar información.
Multiplataforma: es un término usado para referirse a los programas, sistemas
operativos, lenguajes de programación, u otra clase de software, que puedan funcionar en
diversas plataformas.
Palabra: es una cadena finita de bits que son manejados como un conjunto por la máquina. El
tamaño o longitud de una palabra hace referencia al número de bits contenidos en ella.
Paridad: se usan en Telecomunicaciones para detectar, y en algunos casos corregir, errores en la
transmisión. Para ellos se añade en origen un bit extra llamado bit de paridad a los n bits que
forman el carácter original.
PCM (Pulse Code Modulation, modulación por impulsos codificados): es un procedimiento
de modulación utilizado para transformar una señal analógica en una secuencia de bits (señal
digital)
Periodo: este término se utiliza regularmente para designar al intervalo de tiempo necesario para
completar un ciclo repetitivo, o simplemente el espacio de tiempo que dura algo.
Plug-and-Play: es la tecnología o un cualquier avance que permite a un dispositivo informático ser
conectado a una computadora sin tener que configurar, mediante jumpers o software específico
(no controladores) proporcionado por el fabricante, ni proporcionar parámetros a sus
Glosario 140
GRABADORA DIGITAL DE VOZ PARA UNA PC
controladores. Para que sea posible, el sistema operativo con el que funciona el ordenador debe
tener soporte para dicho dispositivo.
Receptor: es el agente que recibe el mensaje (señal o código) emitido por un emisor. Es
el destinatario a quien va dirigida la comunicación.
Ruido: toda señal no deseada que se mezcla con la señal útil que se quiere transmitir.
Señal analógica: es un tipo de señal generada por algún tipo de fenómeno electromagnético y que
es representable por una función matemática continúa en la que es variable su amplitud y periodo
(representando un dato de información) en función del tiempo.
Señal analógica eléctrica: es aquella en la que los valores de la tensión o voltaje varían
constantemente en forma de corriente alterna, incrementando su valor con signo eléctrico
positivo (+) durante medio ciclo y disminuyéndolo a continuación con signo eléctrico negativo (–)
en el medio ciclo siguiente.
Síncrono: que tiene un intervalo de tiempo constante entre cada evento. on procesos síncronos
los que dependen de un acontecimiento externo que los dispara.
Sonido: es cualquier fenómeno que involucre la propagación en forma de ondas elásticas (sean
audibles o no), generalmente a través de un fluido (u otro medio elástico) que esté generando el
movimiento vibratorio de un cuerpo.
Tasa de muestreo: De acuerdo con el Teorema de Nyquist, la tasa de muestreo es el número de
muestras con las que se realiza el proceso de muestreo en una unidad de tiempo, determina
exclusivamente la frecuencia máxima de los componentes armónicos que pueden formar parte del
material a digitalizar.
Transductor: es un dispositivo capaz de transformar o convertir un determinado tipo
de energía de entrada, en otra diferente a la salida.
Transductor de presión (un micrófono): Convierte las ondas de presión de aire (ondas sonoras) en
señales eléctricas (señales analógicas).
Umbral del dolor: Intensidad máxima de sonido (140 dB) a partir de la cual éste produce en el
oído sensación de dolor.
Glosario 141