Sunteți pe pagina 1din 155

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN EN COMPUTACIN

Desarrollo de un sistema de adquisicin y medicin de


seales acsticas de amplio rango dinmico

TESIS
Para obtener el grado de:

MAESTRO EN CIENCIAS EN INGENIERA DE


CMPUTO CON ESPECIALIDAD EN SISTEMAS DIGITALES

Presenta

MIGUEL SANTIAGO VILLAFUERTE RAMREZ

Directores de Tesis: Dr. Luis Pastor Snchez Fernndez


Dr. Alfonso Gutirrez Aldana
Mxico, D.F., Mayo de 2010.

Agradecimientos

A mis padres
Por darme todo lo necesario para lograr mis objetivos.

A mis profesores
Por ofrecerme sus conocimientos y experiencia para terminar este trabajo.

Al Instituto Politcnico Nacional


Por darme la oportunidad de estudiar y terminar esta carrera.

Resumen
Se presenta el diseo computacional y electrnico de un sistema de adquisicin y medicin de
seales acsticas de amplio rango dinmico. El diseo se bas en la expansin de la arquitectura
de los convertidores analgico a digital, la implementacin de varias etapas de amplificacin
analgica, el diseo de filtros analgicos para acondicionamiento de la seal, la escritura y
optimizacin del firmware del microcontrolador de la tarjeta y el diseo de una aplicacin sobre
Windows para la comunicacin USB en tiempo real con la tarjeta.
El objetivo principal del proyecto fue obtener un sistema de adquisicin de calidad a partir de
elementos electrnicos de bajas prestaciones y material de fcil obtencin en el mercado nacional.
La tarjeta de adquisicin cuenta con un rango dinmico acstico de 40dB a 140dB, una entrada de
voltaje de 10Vrms, soporte para micrfonos piezoelctricos pre-polarizados, frecuencia de muestreo
de 22kSps y comunicacin USB 2.0 en Full-Speed.
Se presenta un mtodo para determinar el nmero de etapas de amplificacin requeridas con base
en la resolucin de los convertidores analgico a digital empleados. Tambin se demuestra un
proceso para concatenar una variable legible en una variable equivalente de mayor resolucin
binaria.
El desempeo del sistema fue evaluado mediante un generador de seales abarcando los distintos
rangos y espectros de frecuencia acsticos que pueden existir en el monitoreo de una ciudad
afectada por contaminacin de ruido. Se describe brevemente cmo calcular los niveles de ruido,
filtros de ponderacin y percentiles en forma discreta sobre la seal muestreada.
Se proporciona un mtodo para generar un arreglo ajustable de etapas de amplificacin con
convertidores analgico a digital para abarcar un rango dinmico de 40 a 140 dB.
Se utiliza la conexin a computadora mediante un puerto USB as como arreglos circulares en el
firmware del microcontrolador y en la aplicacin sobre Windows para asegurar la entrega de datos
en tiempo real.
En sntesis, se obtuvo un sistema de adquisicin de amplio rango dinmico con prestaciones
similares a otros mdulos de adquisicin en el mercado pero con un costo de fabricacin inferior
(aproximadamente del 10%) y con total desarrollo nacional que permitir usarlo en aplicaciones
inmediatas y realizar nuevas versiones actualizadas.
Este trabajo permiti al autor incrementar su conocimiento en programacin en lenguaje de alto
nivel, tanto en la computadora como en el microcontrolador empleados, dominar algunas bondades
del puerto USB, poner en prctica el procesamiento digital de seales aprendido durante los
estudios de maestra y obtener ms experiencia en el campo de la electrnica analgica y digital.
Proyectos de investigacin involucrados:

Sistema distribuido para el monitoreo ambiental de ruidos y vibraciones. SIP-IPN, clave


20091251.
Convenio de desarrollo y transferencia de tecnologa: Sistema Distribuido de Monitoreo
Permanente Experimental, de Ruidos Ambientales en Puntos Crticos del Centro Histrico
de La Ciudad de Mxico (SIMAR-CH). 2008-2009. IPN-ICYTDF
SISTEMA AVANZADO DE MONITOREO AMBIENTAL DE SONIDOS Y VIBRACIONES,
Clave: 51283-Y CONACYT, 2007-2010.

Abstract
This work presents the computational and electronic design of a high dynamic range sound
acquisition and measuring system. The design is based on an analog to digital conversion
architecture expansion, an amplification stages implementation, an analog filter design for signal
conditioning, microcontroller firmware programming and optimization, and a Windows application
designed to communicate in real time with the acquisition board by using a USB port.
The main goal was to obtain an acquisition system out of low featured electronic items and easily
acquired resources on the national market. The acquisition system features an acoustic dynamic
range which goes from 40dB to 140dB, a voltage input for up to 10Vrms, pre-polarized piezoelectric
microphone support, a sampling frequency of 22kSps, and USB 2.0 Full-Speed communication.
This document presents a method to determine the amount of amplification stages against the bit
resolution used in every analog to digital converter. It also offers a process to concatenate a legible
measurement into a higher resolution equivalent measurement.
The system performance was tested with a signal generator which could deliver all the acoustic
signals (amplitude and frequency) that can be found in a sound-polluted city. There is also a brief
chapter which describes how sound levels, weighting filters and percentiles can be obtained from
the digitized signal.
A method for generating an adjustable array of amplification stages out of an analog to digital
converter is presented in order to achieve a dynamic range from 40dB to 140dB.
In order to achieve real time data sampling, a USB port and some ring buffers were used. These
were implemented on the Windows application and on the microcontroller firmware.
A high dynamic range acquisition system was obtained and presents similar features when
compared to other market system acquisition products but with lower production costs (around
10%) and with total national development, which allows immediate integration into existent
applications and further updates and improvements.
This project helped the author increase his high level language programming skills, which were
applied on a computer and on a microcontroller, take advantage from the USB port, exercise some
digital signal processing learned thorough his master studies and gain more expertise on analog
and digital electronics.
Researh projects involved:

Sistema distribuido para el monitoreo ambiental de ruidos y vibraciones. SIP-IPN, clave


20091251.
Convenio de desarrollo y transferencia de tecnologa: Sistema Distribuido de Monitoreo
Permanente Experimental, de Ruidos Ambientales en Puntos Crticos del Centro Histrico
de La Ciudad de Mxico (SIMAR-CH). 2008-2009. IPN-ICYTDF
SISTEMA AVANZADO DE MONITOREO AMBIENTAL DE SONIDOS Y VIBRACIONES,
Clave: 51283-Y CONACYT, 2007-2010.

II

ndice
Captulo 1. Introduccin. ........................................................................................................ 1
1.1. Antecedentes................................................................................................................ 1
1.2. Planteamiento del problema ........................................................................................ 1
1.3. Hiptesis ...................................................................................................................... 2
1.4. Objetivo general .......................................................................................................... 2
1.5. Objetivos especficos................................................................................................... 2
1.6. Alcance ........................................................................................................................ 2
1.7. Contribuciones............................................................................................................. 2
1.8. Mtodo de investigacin y desarrollo utilizado........................................................... 3
1.9. Estructura del documento ............................................................................................ 3
Captulo 2. Estado del Arte..................................................................................................... 5
2.1. Introduccin................................................................................................................. 5
2.2. Conceptos sobre el sonido ........................................................................................... 5
2.3. Sonmetros .................................................................................................................. 8
2.4. Normas para la medicin del nivel acstico................................................................ 8
2.5. Tipos de micrfonos y sus respuestas ......................................................................... 9
2.6. La importancia del rango dinmico ........................................................................... 10
2.6.1. Micrfonos digitales ........................................................................................... 12
2.6.2. Aplicaciones con instrumentos de amplio rango dinmico ................................ 12
2.6.3. Arquitecturas eficientes de conversin analgica a digital ................................ 14
2.7. Equipos de monitoreo de ruido ambiental disponibles en el mercado ...................... 15
2.7.1. Computadora industrial Advantech ARK-3384 con tarjeta ADC de National
Instruments ................................................................................................................... 16
2.7.2. Monitor ambiental de ruido Bruel & Kjaer 3597 ............................................... 17
2.7.3. Monitor de ruido ambiental de Vipac................................................................. 17
2.7.4. Terminal de monitoreo de ruido exterior BSWA ............................................... 18
Captulo 3. Requerimientos del sistema de adquisicin de seales acsticas. ..................... 20
3.1. Introduccin............................................................................................................... 20
3.2. Diseo terico del sistema......................................................................................... 20
3.3. Micrfono para exteriores ......................................................................................... 21
3.4. Rango dinmico y ancho de banda ............................................................................ 24
3.5. Posibles arquitecturas de la conversin analgica a digital....................................... 27
3.5.1. Adquisicin con tarjeta ADC de resolucin mnima de 23 bits ......................... 28
3.5.2. Adquisicin mediante un amplificador logartmico con un ADC de baja
resolucin ..................................................................................................................... 28
3.5.3. Adquisicin mediante ADCs de baja resolucin y etapas de amplificacin ...... 34
3.6. Conclusiones.............................................................................................................. 42
Captulo 4. Arquitectura de la conversin analgica a digital y comunicacin USB. ......... 44
4.1. Introduccin............................................................................................................... 44
4.2. Diseo del circuito electrnico .................................................................................. 44
4.2.1. Fuentes de corriente directa................................................................................ 44
4.2.2. Alimentacin del micrfono y filtro anti-offset ................................................. 45
4.2.3. Etapas de amplificacin y ajuste de polaridad.................................................... 48
4.2.4. Filtro anti-alias.................................................................................................... 50
4.2.5. Seleccin del ADC de bajas prestaciones........................................................... 52
III

4.2.6. Microcontrolador PIC......................................................................................... 54


4.3. Algoritmos de adquisicin y procesamiento de las muestras .................................... 55
4.3.1. Aseguramiento de un periodo de muestreo de 45.45s...................................... 55
4.3.2. Control y lectura de los cinco ADCs de forma simultnea ................................ 56
4.3.3. Bsqueda de la seal legible dentro del conjunto de las cinco muestras ADC .. 58
4.4. Comunicacin USB con la computadora .................................................................. 63
4.4.1. Caractersticas del puerto USB........................................................................... 63
4.4.2. Tipos de transferencias USB .............................................................................. 65
4.4.3. Enumeracin de un dispositivo USB.................................................................. 67
4.4.4. Clase de dispositivos de interfaz humana........................................................... 71
4.4.5. Algoritmo para la comunicacin en tiempo real entre el PIC y la computadora 72
4.5. Conclusiones.............................................................................................................. 77
Captulo 5. Clculos discretos de la seal acstica. ............................................................. 80
5.1. Introduccin............................................................................................................... 80
5.2. Clculos del sonmetro ............................................................................................. 80
5.2.1. Valor eficaz......................................................................................................... 80
5.2.4. Nivel Sonoro Continuo Equivalente con Filtro de Ponderacin A o C.............. 82
5.2.5. Anlisis espectral................................................................................................ 88
5.2.6. Filtros de octavas ................................................................................................ 90
5.2.7. Percentiles........................................................................................................... 90
5.3. Conclusiones.............................................................................................................. 91
Captulo 6. Desempeo de la tarjeta de adquisicin de seales acsticas............................ 92
6.1. Introduccin............................................................................................................... 92
6.2. Sensibilidad del conjunto tarjeta-micrfono ............................................................. 94
6.3. Respuesta de frecuencia de la tarjeta......................................................................... 95
6.4. Pruebas con seales de diversos rangos dinmicos ................................................... 97
6.4.1. Prueba en la quinta etapa .................................................................................... 97
6.4.3. Prueba en la tercera, cuarta y quinta etapas...................................................... 100
6.4.4. Prueba en la segunda, tercera, cuarta y quinta etapas....................................... 101
6.4.5. Prueba en la primera, segunda, tercera, cuarta y quinta etapas ........................ 102
6.5. Pruebas de respuesta de frecuencia de los filtros de ponderacin A y C ................ 104
6.6. Desfasamiento por el valor RC de los filtros analgicos......................................... 106
6.7. Desfasamiento por amplificadores operacionales ................................................... 109
6.8. Comparativa con el mdulo NI USB 9233 de National Instruments ...................... 110
6.9. Conclusiones............................................................................................................ 112
Conclusiones....................................................................................................................... 114
Trabajo Futuro .................................................................................................................... 116
Bibliografa......................................................................................................................... 119
Publicaciones Derivadas..................................................................................................... 123
Captulo Anexo................................................................................................................... 124
Cdigo fuente MATLAB para diseo de filtros IIR de ponderacin A y C .................. 124
Diseo IIR Filtro de Ponderacin A ........................................................................... 124
Diseo IIR Filtro de Ponderacin C ........................................................................... 124
Cdigo fuente MATLAB para diseo de filtros de octavas ........................................... 125
Filtro IIR de octavas ................................................................................................... 125
Filtro IIR para 1/3 de octava....................................................................................... 126
Cdigo fuente CCS Compiler Split-Radix para FFT de 16 puntos ................................ 126
IV

Cdigo fuente Visual C# para clculo de valor RMS .................................................... 131


Cdigo fuente Visual C# para aplicar filtros de ponderacin A y C .............................. 131
Cdigo fuente MATLAB para simular el retraso por un amplificador operacional ...... 132
Diagramas electrnicos del mdulo de adquisicin ....................................................... 133

ndice de figuras
Figura 2.1. Escala de presin acstica y nivel de presin acstico. ....................................... 6
Figura 2.2. Micrfono de rea libre MP201 fabricado por BSWA. ..................................... 10
Figura 2.3. Patrn de captacin del micrfono de presin MP251 (cortesa de BSWA)..... 10
Figura 2.4. Comparacin de un rango dinmico de 120dB contra uno de 96dB (cortesa de
LDS Dactron). ...................................................................................................................... 11
Figura 2.5. Diagrama de un micrfono digital. .................................................................... 12
Figura 2.6. Rangos dinmicos involucrados en algunos exmenes mdicos (Cortesa de
Biosemi). .............................................................................................................................. 13
Figura 2.7. Rango dinmico de la luz (cortesa de Sean McHugh). ..................................... 14
Figura 2.8. Tarjeta de adquisicin NI USB 9233 (cortesa de National Instruments).......... 17
Figura 2.9. Sistema de monitoreo Bruel & Kjaer para aeropuertos (cortesa de Bruel &
Kjaer). ................................................................................................................................... 18
Figura 2.10. Micrfono para exteriores de Bruel & Kjaer. .................................................. 18
Figura 2.11. Monitor de ruido ambiental de Vipac. ............................................................. 18
Figura 2.12. Unidad de monitoreo ambiental BSWA NMT1000. ....................................... 19
Figura 3.1. Diagrama de un sistema tpico para medicin de seales acsticas ambientales.
.............................................................................................................................................. 20
Figura 3.2. Micrfono MP201 para exteriores ..................................................................... 22
Figura 3.3. Respuesta de frecuencia de un micrfono MP201............................................. 22
Figura 3.4. Sensibilidad del micrfono con su pre-amplificador MPA201. ........................ 23
Figura 3.5. Grabacin a 50kSps cerca de una estacin del Metro........................................ 24
Figura 3.6. Grabacin a 25kSps de avin Airbus 320. ......................................................... 25
Figura 3.7. Respuesta de frecuencia de avin Boeing 747 muestreada a 25kSps. ............... 25
Figura 3.8. Respuesta de frecuencia de grabacin en un punto de la Ciudad de Mxico
muestreada a 25kSps. ........................................................................................................... 26
Figura 3.9. Respuesta de frecuencia de grabacin en otro punto de la Ciudad de Mxico
muestreada a 25kSps. ........................................................................................................... 26
Figura 3.10. Comportamiento exponencial de un diodo debajo de 0.7V. ............................ 28
Figura 3.11. Amplificador logartmico bsico con diodo en la retroalimentacin............... 29
Figura 3.12. Diagrama bsico del amplificador logartmico LOG2112............................... 29
Figura 3.13. Ancho de banda del LOG2112......................................................................... 30
Figura 3.14. Posibles rangos de trabajo de corriente de entrada al LOG2112. .................... 31
Figura 3.15. Rangos de medicin para amplitudes bajas y altas. ......................................... 33
Figura 3.16. Diagrama bsico de operacin del amplificador logartmico. ......................... 34
Figura 3.17. Conversor analgico a digital por aproximaciones sucesivas.......................... 35
Figura 3.18. Proceso de conversin analgica a digital por aproximaciones sucesivas de 4
bits. ....................................................................................................................................... 36
Figura 3.19. Etapas de amplificacin para aseguramiento de la legibilidad. ....................... 40
Figura 3.20. Concatenacin de bits para la quinta etapa de amplificacin. ......................... 41
Figura 4.1. Diagrama de bloques de las secciones de la tarjeta de adquisicin. .................. 45
Figura 4.2. Micrfono MP201 y Preamplificador MA211................................................... 45
Figura 4.3. Fuente IEPE para micrfono prepolarizado....................................................... 46
Figura 4.4. Circuito LM334 para corriente constante IEPE. ................................................ 46
Figura 4.5. Salida de voltaje del micrfono IEPE. ............................................................... 47
Figura 4.6. Filtro pasa altas de 20Hz. ................................................................................... 47
VI

Figura 4.7. Circuito con etapas de amplificacin y filtros pasa altas. .................................. 48
Figura 4.8. Curva de respuesta de frecuencia del filtro pasa altas de 20Hz. ........................ 50
Figura 4.9. Circuito del filtro anti-alias. ............................................................................... 51
Figura 4.10. Diagrama a bloques del MCP3201 (cortesa de Microchip)............................ 53
Figura 4.11. Recorte de una seal saturada por el LM324. .................................................. 54
Figura 4.12. Diagrama de tiempos para muestreo con MCP3201........................................ 57
Figura 4.13. Ejemplo de rotaciones del bit 11 para ensamblar la muestra de 12 bits por
ADC...................................................................................................................................... 58
Figura 4.14. Etapas de amplificacin con lmites ajustados con sensibilidad de 50mV/Pa. 59
Figura 4.15. Divisin de la zona legible en ambas polaridades. .......................................... 60
Figura 4.16. Ecuacin de la recta para conversin a Volts................................................... 62
Figura 4.17. Ejemplo de topologa USB. ............................................................................. 65
Figura 4.18. Mquina de estados de un dispositivo USB (cortesa de USB-IF). ................. 68
Figura 4.19. Transferencias involucradas en la enumeracin de la tarjeta de adquisicin... 69
Figura 4.20. Ubicacin del buffer circular en USB RAM.................................................... 76
Figura 5.1. Mapeo del plano s hacia el plano z mediante la transformada bilineal.............. 83
Figura 5.2. Estabilidad del filtro IIR de ponderacin A. ...................................................... 85
Figura 5.3. Estabilidad del filtro IIR de ponderacin C. ...................................................... 85
Figura 5.4. Filtro IIR de ponderacin A a 22kSps................................................................ 87
Figura 5.5. Filtro IIR de ponderacin C a 22kSps................................................................ 87
Figura 5.6. Fuga espectral de una seal seno discreta (cortesa Wikipedia.org). ................. 88
Figura 5.7. Ventana de Hamming......................................................................................... 89
Figura 5.8. Ventana de Hanning........................................................................................... 89
Figura 5.9. Ventana Nuttall para FFT de amplio rango dinmico........................................ 89
Figura 5.10. Obtencin de L10, L50 y L90 de una seal acstica. .......................................... 90
Figura 6.1. Cara superior de la tarjeta de adquisicin de amplio rango dinmico. .............. 92
Figura 6.2. Gabinete de la tarjeta de adquisicin. ................................................................ 93
Figura 6.3. Software de prueba SL Sonometer..................................................................... 93
Figura 6.4. Calibrador para micrfonos bajo norma IEC 942. ............................................. 94
Figura 6.5. Seal de calibracin a 114dB con micrfono MP201........................................ 95
Figura 6.6. Respuesta de frecuencia de la tarjeta de adquisicin. ........................................ 96
Figura 6.7. Ruido de fondo con generador de seales a 0V. ................................................ 97
Figura 6.8. Ruido de fondo de la tarjeta de adquisicin. ...................................................... 98
Figura 6.9. Seal de 500Vrms medida por osciloscopio...................................................... 98
Figura 6.10. Seal de 49dB medida por la aplicacin. ......................................................... 99
Figura 6.11. Seal de 3.4mVrms medida por osciloscopio. ................................................. 99
Figura 6.12. Seal de 69dB medida por la aplicacin. ....................................................... 100
Figura 6.13. Seal de 27mVrms medida por osciloscopio. .................................................. 100
Figura 6.14. Seal de 88dB medida por la aplicacin. ....................................................... 101
Figura 6.15. Seal de 400mVrms medida por osciloscopio. ................................................ 101
Figura 6.16. Seal de 110dB medida por la aplicacin. ..................................................... 102
Figura 6.17. Seal de 2.4Vrms medida por osciloscopio. .................................................... 102
Figura 6.18. Seal de 125dB medida por la aplicacin. ..................................................... 103
Figura 6.19. Seal de 6.8Vrms medida por el osciloscopio. ................................................ 103
Figura 6.20. Seal de 135dB medida por la aplicacin. ..................................................... 104
Figura 6.21. Respuesta de frecuencia prctica del filtro de ponderacin A. ...................... 105
Figura 6.22. Respuesta de frecuencia prctica del filtro de Ponderacin C. ...................... 106
VII

Figura 6.23. Respuesta de fase del filtro anti-offset. .......................................................... 107


Figura 6.24. Respuesta de fase del filtro anti-alias............................................................. 107
Figura 6.25. Respuestas de fase por desviacin del valor de capacitancia......................... 108
Figura 6.26. Etapas de amplificacin con sus respectivos filtros....................................... 108
Figura 6.27. Simulacin del retraso generado por OP177GP. ........................................... 110
Figura 6.28. Respuesta de frecuencia del mdulo NI USB 9233 (cortesa de National
Instruments). ....................................................................................................................... 112
Figura T.1. Respuesta de fase de filtro Bessel pasa altas con frecuencia de corte de 20Hz.
............................................................................................................................................ 116

VIII

ndice de tablas
Tabla 2.1. Comparacin entre conversin por aproximaciones sucesivas y Delta-Sigma. .. 15
Tabla 2.2. Caractersticas de la computadora Advantech ARK-3384 .................................. 16
Tabla 2.3. Caractersticas de la tarjeta ADC NI USB 9233 de National Instruments .......... 16
Tabla 3.1. Caractersticas de los sonmetros por norma IEC 61672-1. ............................... 21
Tabla 3.2. Caractersticas del micrfono MP201 ................................................................. 23
Tabla 4.1. Fuentes de alimentacin y circuitos conectados a ellas....................................... 45
Tabla 4.2. Caractersticas del circuito OP177G. .................................................................. 49
Tabla 4.3. Caractersticas del PIC18F2550. ......................................................................... 55
Tabla 4.4. Conexin de los cinco ADCs al PIC18F2550. .................................................... 56
Tabla 4.5. Caractersticas principales de las transferencias USB......................................... 66
Tabla 4.6. Caractersticas de los endpoints de la clase HID................................................. 72
Tabla 4.7. Descriptor de dispositivo del PIC........................................................................ 73
Tabla 4.8. Descriptor de configuracin del PIC. .................................................................. 74
Tabla 4.9. Descriptor de interfaz HID. ................................................................................. 74
Tabla 4.10. Descriptor de reportes HID. .............................................................................. 74
Tabla 4.11. Descriptor del endpoint de entrada.................................................................... 74
Tabla 4.12. Descriptor del endpoint de salida. ..................................................................... 75
Tabla 5.1. Coeficientes IIR para filtro de ponderacin A a 22kSps..................................... 84
Tabla 5.2. Coeficientes IIR para filtro de ponderacin C a 22kSps. .................................... 84
Tabla 5.3. Lmites de tolerancia para ponderacin A y C. ................................................... 86
Tabla 6.1. Respuesta de frecuencia de la tarjeta................................................................... 96
Tabla 6.2. Respuesta de frecuencia prctica del filtro de Ponderacin A. ......................... 105
Tabla 6.3. Respuesta de frecuencia prctica del filtro de Ponderacin C. ......................... 106
Tabla 6.4. Comparacin entre el prototipo de mdulo de adquisicin y mdulo NI USB
9233. ................................................................................................................................... 111

IX

Glosario
ADC. Conversin analgica a digital que consiste en la transcripcin de seales analgicas en
seales digitales, con el propsito de facilitar su procesamiento en equipos digitales.
ALU. Unidad lgico aritmtica de un procesador (Arithmetic Logic Unit).
DLL. Librera de vnculo dinmico (Dynamic Link Library).
Ethernet. Es una familia de tecnologas de conexin en red para redes de rea local.
FPGA. Arreglo de compuertas programable en campo (Field Programmable Gate Array).
GSM. Es un estndar para telfonos mviles y sus siglas significan Global System for Mobile
communications.
GPRS. Es un servicio para datos mviles orientado a paquetes y sus siglas significan General
Packet Radio Service.
Hardware. Es un trmino que se refiere a las partes fsicas de una tecnologa.
Instrumentacin virtual. Emplea software modificable y hardware modular para crear instrumentos
especficos para un sistema.
IrDA. Infrared Data Association (IrDA) define un estndar fsico en la forma de transmisin y
recepcin de datos por rayos infrarrojo. IrDA se crea en 1993 entre HP, IBM, Sharp y otros.
kSps. Abreviacin en ingls de kilo Muestras por segundo (kilo Samples per second).
LabVIEW. Es una plataforma para lenguaje de programacin visual creada por National
Instruments. Sus siglas significan Laboratory Virtual Instrumentation Engineering Workbench.
Legibilidad. Indica la fraccin ms pequea de una graduacin de la escala que puede ser
estimada o leda.
Logaritmo. Es una funcin matemtica inversa de la funcin exponencial.
LSb. Bit menos significativo.
LSB. Byte menos significativo.
Memoria Flash. Es un tipo de memoria no voltil que puede ser borrada o reprogramada
electrnicamente.
MIDI. Siglas de Interfaz Digital de Instrumentos Musicales (Musical Instrument Digital Interface). Se
trata de un protocolo industrial estndar que permite a los computadores, sintetizadores,
controladores y otros dispositivos musicales electrnicos comunicarse y compartir informacin para
la generacin de sonidos.
MP3. Es un formato de audio digital comprimido con prdida desarrollado por el Moving Picture
Experts Group (MPEG) y sus siglas significan MPEG-1 Audio Layer 3.
MSb. Bit ms significativo.
MSB. Byte ms significativo.

IX

Precisin. Es la exactitud de una medicin respecto a un patrn de medicin.


Sensibilidad. Es la relacin que existe entre la variacin del instrumento y la del efecto medido. Es
la magnitud ms pequea que puede medir el instrumento.
Sistema operativo. Es un conjunto de programas destinado a permitir una administracin eficaz de
los recursos de una computadora.
Tolerancia. Diferencia tolerada de una medicin expresada por una dimensin mxima y otra
mnima.
Software. Conjunto de programas, instrucciones y reglas informticas para ejecutar ciertas tareas
en una computadora.
USB. El Bus Universal en Serie (Universal Serial Bus) es un puerto que sirve para conectar
perifricos a una computadora. Fue creado en 1996 por siete empresas: IBM, Intel, Northern
Telecom, Compaq, Microsoft, Digital Equipment Corporation y NEC.

Captulo 1. Introduccin.
1.1. Antecedentes
Existe una creciente preocupacin por los niveles de ruido ambiental en la Ciudad de Mxico y en
otras ciudades del mundo, y decenas de miles de personas son afectadas de una manera u otra
por la exposicin a ruidos fuertes. El ruido que generan los automviles en las calles alcanza
1
niveles de hasta 100dB en ciertas zonas y la exposicin continua a este tipo de contaminacin
puede traer efectos negativos sobre la poblacin. Se pueden tener afectaciones en el
comportamiento de las personas y daos ms severos como sordera, fallas cardiacas, alteracin
del sueo o enfermedades gastrointestinales.
El principal efecto del ruido continuo sobre el ser humano radica en el sistema auditivo,
manifestado principalmente como una prdida temporal o permanente de la sensibilidad y agudeza
auditiva. La prdida de la audicin puede darse por exposicin breve a ruidos extremadamente
altos o por exposicin constante a ruidos moderados.
La Norma Oficial Mexicana NOM-081-ECOL-1994 establece los lmites mximos permisibles de
emisin de ruido de las fuentes fijas y su mtodo de medicin, pero a pesar de su existencia los
niveles de ruido en la ciudad siguen siendo altos y se necesitan ms detalles sobre los mtodos de
medicin del ruido; para ello se public la Norma Ambiental para el Distrito Federal NADF-005AMBT-2006. En ambas normas se establecen como lmites mximos permisibles del nivel sonoro
65dB en horario diurno y 62dB en horario nocturno.
Por lo mencionado anteriormente surge la necesidad de instalar sistemas distribuidos de monitoreo
permanente ambiental capaces de indicar los factores que causan la mayora del ruido en la ciudad
de acuerdo a las normas vigentes.
Sistemas como tales son sumamente costosos en el mercado internacional, y la posibilidad de
innovar o incrementar sus prestaciones es reducida debido a que son desarrollos cerrados, lo que
implica en muchos casos la adquisicin de un sistema distribuido existiendo una dependencia
econmica con el proveedor.

1.2. Planteamiento del problema


No existe en el pas un mdulo de adquisicin y medicin de seales acsticas de amplio rango
dinmico que se pueda adquirir a bajo precio. Existen mdulos extranjeros con precios muy altos y
prestaciones que rebasan las requeridas, por ejemplo, un mdulo de adquisicin de 24 bits de
resolucin y frecuencia de muestreo de 50kSps de la compaa National Instruments puede costar
hasta $2,000USD (modelo NI USB 9233) y ofrecer hasta 4 canales de medicin cuando slo se
requiere uno.
El mdulo debe contar con una alta resolucin binaria ya que las seales acsticas a medir
presentan un amplio rango dinmico y la mayora de tarjetas de audio slo cuentan con
resoluciones de hasta 16 bits.
La tecnologa cerrada en el mercado requiere en general de la compra de software especfico que
no permite aplicar futuros desarrollos innovadores. Mxico se encuentra en condiciones para
desarrollar tecnologa adaptable a las necesidades especficas del proyecto. El creciente aumento
en la contaminacin acstica de la Ciudad de Mxico exige que sean instalados sistemas de
monitoreo ambiental para llevar a cabo acciones de correccin y prevencin del ruido.

Alcaraz, Yetlaceni. Rebasa ruido normas de salud en vialidades, El Universal, 16 de abril de 2007.

1.3. Hiptesis
Mediante la expansin de los principios de funcionamiento de dispositivos de conversin analgico
a digital, la programacin de microcontroladores en lenguaje de alto nivel, el empleo de
herramientas de diseo y la utilizacin de material electrnico de fcil adquisicin es posible
disear un sistema de adquisicin digital de amplio rango dinmico para el muestreo de seales
acsticas ambientales que satisfaga los requerimientos de las normas internacionales de medicin
de nivel acstico.

1.4. Objetivo general


Disear y desarrollar un prototipo de sistema de adquisicin digital de amplio rango dinmico para
el muestreo de seales acsticas ambientales y el procesamiento digital de sus indicadores
principales.

1.5. Objetivos especficos

Determinar las condiciones ambientales en las que operar el sistema de adquisicin y


establecer los mtodos, alternativas y mecanismos de proteccin necesarios.
Delimitar con base en las normas internacionales para el diseo de sonmetros los rangos
y legibilidades que la tarjeta de adquisicin acstica deber presentar.
Establecer el modo de comunicacin digital mediante el cual el sistema entregar la seal
muestreada.
Disear y desarrollar la arquitectura de conversin analgico a digital de la tarjeta y los
ajustes necesarios para abarcar el rango dinmico y espectro de frecuencia requerido por
las normas internacionales.
Ensamblar la tarjeta y poner a prueba la adquisicin de la seal con base en el espectro de
banda y el rango dinmico establecido por las normas internacionales.
Programar un software que opere sobre el sistema operativo Windows, que realice un
procesamiento digital de la seal muestreada y que entregue los clculos de indicadores
acsticos ambientales establecidos por las normas internacionales.

1.6. Alcance
El presente trabajo se centra en el desarrollo de una arquitectura que expanda el funcionamiento
de un convertidor analgico a digital para que cumpla con un rango dinmico mayor a partir de
convertidores, amplificadores operacionales y microcontroladores de prestaciones tpicas. El
desarrollo de la tarjeta est pensado para abarcar el espectro de banda y rango dinmico que
presentan las seales acsticas con respecto al odo humano.

1.7. Contribuciones
Se proporciona un mtodo para generar un arreglo ajustable de etapas de amplificacin con
convertidores analgico a digital para abarcar un rango dinmico de 40dB a 140dB.
Se proporciona un mtodo para concatenar la medicin de un convertidor analgico a digital de
poca resolucin en una medicin equivalente de mayor resolucin.

Se utiliza la conexin USB hacia la computadora, as como arreglos circulares en el firmware del
microcontrolador y en la aplicacin sobre Windows, para asegurar la entrega de datos en tiempo
real.
El mdulo de adquisicin construido puede ser utilizado mediante cualquier plataforma de
desarrollo de aplicaciones sobre Windows ya que se suministra un archivo DLL que opera como
controlador con las funciones bsicas de muestreo de datos.

1.8. Mtodo de investigacin y desarrollo utilizado

Se establecieron los problemas a resolver.


Se investig sobre los distintos sonmetros que hay en el mercado y sus caractersticas en
cuanto a rango dinmico y espectro de frecuencias abarcados.
Se analiz la norma internacional IEC 61672 que detalla las especificaciones que deben
cumplir los sonmetros que debern ser usados para medir el nivel acstico. Se determin
que la tarjeta de adquisicin debera cumplir con los requerimientos establecidos por la
Clase 2 de esta norma.
Se hicieron pruebas con un amplificador logartmico que cumpla con el rango dinmico
requerido pero no con el espectro de frecuencia.
Se investig sobre los diferentes modelos de convertidores analgico a digital con alto
rango dinmico disponibles en el mercado internacional pero se determin que el diseo
de un convertidor por concatenacin de etapas de amplificacin sera ms apropiado.
Se dise y evalu una arquitectura con etapas de amplificacin y convertidores analgico
a digital de bajas prestaciones para generar un convertidor de alto rango dinmico.
Se investig sobre la comunicacin del puerto USB y las distintas opciones de conexin
que ofrece. Se determin que la clase de dispositivos de interfaz humana sera la mejor
opcin para la comunicacin con la tarjeta.
Se eligi un microcontrolador que contara con la capacidad de procesamiento,
conectividad y perifricos necesarios para integrar las etapas de amplificacin,
convertidores y conexin USB en la tarjeta.
Se dise un circuito impreso que albergara las etapas analgicas de la seal, la
conversin analgica a digital, el microcontrolador y dems hardware requerido.
Se desarroll software sobre Windows capaz de realizar una conexin USB con la tarjeta,
adquirir las muestras de la seal, procesarlas digitalmente y mostrar los clculos acsticos
en pantalla.
Se realizaron pruebas con un generador de seales y un calibrador acstico para evaluar
el comportamiento de la tarjeta de adquisicin.

1.9. Estructura del documento


El captulo 2 comienza explicando algunos conceptos bsicos sobre acstica y contina con las
normas que los sonmetros deben cumplir y los distintos tipos de micrfonos que se pueden
emplear. Expone tambin el estado del arte en cuanto al avance en tcnicas de conversin
analgica a digital. Posteriormente muestra las distintas unidades de monitoreo de ruido ambiental
que existen en el mercado y resalta sus caractersticas principales.
En el captulo 3 se presentan los requerimientos de diseo de la tarjeta de adquisicin basados en
normas internacionales y en cualidades de algunos sonmetros comerciales. Tambin se detallan
algunas posibles soluciones para la adquisicin de seales acsticas con alto rango dinmico y se
indican sus ventajas y desventajas. Se introduce el mtodo de conversin analgica a digital por
medio de concatenaciones as como los principios matemticos para su funcionamiento.

El captulo 4 presenta las bases con las que se dise el circuito electrnico que acondiciona,
amplifica y muestrea la seal acstica. Comenta los criterios de seleccin del material electrnico
que conforma la tarjeta en sus etapas de amplificacin y conversin analgica a digital.
Posteriormente muestra las tcnicas empleadas para la bsqueda de una seal con legibilidad
apropiada y optimizaciones para que la seal se entregara en tiempo real por el puerto USB. Se
detallan las ms importantes caractersticas del puerto USB y cmo se logr el muestreo
ininterrumpido desde una aplicacin en Windows.
El captulo 5 tiene un resumen sobre los clculos discretos que se aplican sobre la seal acstica
muestreada para crear un sonmetro digital a partir del conjunto mdulo de adquisicin computadora.
El captulo 6 trata sobre las pruebas de rendimiento que se hicieron a la tarjeta de adquisicin. Se
puso a prueba el rango dinmico, la respuesta de frecuencia analgica a digital, la respuesta de
frecuencia de los filtros de ponderacin y se comenta un poco sobre el retraso en fase que puede
sufrir la seal al pasar por las diversas etapas de amplificacin implementadas.
Por ltimo se presentan las conclusiones generales de este trabajo, el trabajo futuro que puede
generar y un anexo con cdigo fuente para algunos clculos acsticos.

Captulo 2. Estado del Arte.


2.1. Introduccin
Este captulo abarca conceptos bsicos sobre la acstica y su enfoque hacia los sonmetros.
Tambin comenta brevemente los avances tecnolgicos en cuanto a electrnica digital
relacionados con la mejora del rango dinmico de los convertidores analgico a digital. Por ltimo
enumera algunas unidades de monitoreo de ruido ambiental que integran sonmetros digitales de
altas prestaciones.

2.2. Conceptos sobre el sonido


La acstica es la parte de la fsica que trata de la produccin, control, transmisin, recepcin y
audicin de los sonidos y los ultrasonidos [1].
El sonido es un tipo de energa mecnica que se genera cuando las molculas de aire vibran y se
mueven en patrones llamados ondas; el sonido tambin puede transmitirse a travs de otros
materiales. Cuando estas ondas se transmiten tambin se genera una variacin de la presin del
aire cuyo nivel es pequeo comparado con su valor de presin esttica, siendo sta
5
aproximadamente igual a 10 Pascales [2]. La variacin del sonido generalmente no sobrepasa los
200Pa.
La frecuencia es el nmero de ciclos por unidad de tiempo de una seal y representa la
dependencia temporal de un fenmeno oscilatorio peridico. Su unidad de medida es el Hertz (Hz).
Una persona promedio puede escuchar sonidos desde una frecuencia de 30Hz hasta una de
15kHz, pero normalmente se le da un mayor rango y se considera que es de 20Hz a 20kHz.
Una persona con un odo sano es capaz de escuchar sonidos muy bajos iguales a 20Pa hasta
sonidos muy altos de 100Pa, siendo 100Pa un nivel en el que algunas personas manifiestan dolor
en el odo. Un ultrasonido es aquel que rebasa el espectro de audicin del ser humano. Estos
niveles fueron determinados a partir de experimentos subjetivos sobre la percepcin del ruido en
1933 por los investigadores Fletcher y Munson [3].
Los rangos de presin acstica y potencia del sonido que existen en la prctica son muy amplios
(ver figura 2.1), por lo que una escala logartmica es usada generalmente para expresarlos. La
unidad logartmica ms usada es el decibel, el cual expresa una medicin relativa o una
proporcin.
El decibel (dB) es la razn dada por la ecuacin 2.1.

log10 R1 = 0.1 , 10 log10 R1 = 1dB ,


donde R1 es una proporcin o nmero cualquiera. De esta forma,

(2.1)

R1 = 10 0.1 = 1.26 .

El nivel de presin acstica es expresado en relacin a un nivel de referencia de presin o potencia


y est dado por la ecuacin 2.2,

Figura 2.1. Escala de presin acstica y nivel de presin acstico.

p 2 rms
N p = 10 log10 2
p ref
p
= 20 log 10 rms ,
p ref

donde

(2.2)

p ref es una presin de referencia igual a 20 Pa y p rms es la presin acstica eficaz. Este

nivel de presin fue elegido correspondiendo al menor nivel audible a 1kHz que una persona sana
puede escuchar.
Existen tambin otros conceptos acsticos relacionados al clculo de la presin acstica tales
como la velocidad del sonido en el aire, la impedancia del aire, la intensidad acstica y la potencia
acstica.
La velocidad del sonido en el aire est dada por la frmula 2.3,

c = c0 + 0.6Tc ,
donde:
c es la velocidad del sonido en el aire,
c0 = 331.6m / s ,

Tc es la temperatura del aire en grados Celsius.

(2.3)

Para una temperatura de 25C la velocidad del sonido en el aire es de 346.6m/s.


La impedancia del aire est definida por la ecuacin 2.4,

c =
donde:

p
,
u

(2.4)

es la densidad del aire,


c es la velocidad del sonido en el aire,
kg
c Aire 25C = 415 2 ,
m s
p es la presin acstica y
u es la velocidad con la que se mueven las partculas del aire.

Es importante notar que c y u son diferentes ya que c es la velocidad en que se mueve una
onda acstica a travs de un fluido y u es la velocidad en que se mueven las partculas del fluido
cuando pasa por ellas una onda.
La intensidad acstica es la tasa en la que una onda acstica incide sobre una superficie
perpendicular a la direccin de la onda. Su comportamiento est dado en la ecuacin 2.5.

I = pu , I =

p2
,
c

(2.5)

donde:

I es la intensidad acstica instantnea.


La potencia acstica es la integracin de una intensidad acstica sobre una superficie y est dada
por la ecuacin 2.6.

P = < I > t dS ,

(2.6)

donde:

< p 2 >t
< I >t =
, que es la intensidad acstica promedio y
c
S es el vector de superficie.
El nivel de potencia acstica est dado por la ecuacin 2.7,

P
N p = 10 log10
P
ref
donde P es la potencia acstica de la fuente y

(2.7)

Pref = 10 12 W es la potencia acstica de referencia

[4]. Cabe mencionar que P (Potencia) se da en Watts y p (presin) se da en Pascales.


En el medio ambiente se define como ruido todo sonido no deseado por el receptor. El ruido puede
ser clasificado basndose en su carcter temporal de la siguiente manera:

Ruido Continuo. El ruido continuo se produce por maquinara que opera del mismo modo
sin interrupcin, por ejemplo, ventiladores, bombas, etc. Para determinar el nivel de ruido
es suficiente medir durante unos pocos minutos.
Ruido Intermitente. Es producido cuando hay maquinara que opera en ciclos, o cuando
pasan vehculos aislados o aviones, el nivel de ruido aumenta y disminuye rpidamente.
Para medir este tipo de eventos se hace de manera continua durante la duracin del
mismo, adems se debe anotar su duracin.
Ruido Impulsivo. Es breve y abrupto, puede ser producido por impactos repetitivos
(separados por un tiempo) o por un impacto aislado.

La propagacin del ruido puede ser afectada por varias razones, por ejemplo:

Tipo de fuente.
o Fuente Puntual. La energa sonora se propaga de forma esfrica, por lo que el
nivel de presin del sonido es el mismo en todos los puntos que se encuentran a la
misma distancia de la fuente.
o Fuente Lineal. El nivel de sonido se propaga de manera cilndrica, por lo que el
nivel de presin sonora es el mismo en todos los puntos a la misma distancia de la
lnea.
o Fuente Esttica. La fuente se mantiene esttica a lo largo del tiempo.
o Fuente Mvil. La fuente cambia de posicin a lo largo del tiempo.
Distancia desde la fuente.
Absorcin atmosfrica.
Viento.
Temperatura.
Obstculos (barreras, edificios, etc.).
Absorcin del terreno.
Reflexiones.
Humedad.
Lluvia.

2.3. Sonmetros
Los sonmetros fueron diseados para medir el sonido en un rango de frecuencias y niveles
comparables al rango de lo que el odo humano percibe. Los sonmetros miden y muestran
cambios en presiones acsticas de forma sistemtica y reproducible.
Las presiones se expresan de forma logartmica y van de 0dB a 140dB (equivalentes a 20Pa y
200Pa respectivamente). En la pantalla del sonmetro no se expresan las presiones instantneas,
se expresan promedios de presiones de acuerdo a varios mtodos de clculo. Algunos sonmetros
tambin miden nivel pico, nivel mximo, nivel mnimo y otros clculos opcionales.
El nivel de sonido tambin suele expresarse con ponderaciones A y C cuyas unidades son el dBA y
dBC. Estos niveles son el resultado de un filtrado en frecuencia que se detallar en el captulo 5 de
este documento.

2.4. Normas para la medicin del nivel acstico


El uso de normas garantiza que una medicin sea hecha de forma sistemtica y reproducible.
Cualquier cantidad de ponderaciones de frecuencia, constantes de tiempo o mtodos de
integracin puede ser usada en la medicin. Algunos de los principales estndares que
reglamentan el uso y diseo de sonmetros son los siguientes:

- IEC 61672 Electroacoustics - Sound Level Meters.


- IEC 60942 Sound Calibrators.
- IEC 61094 Measurement Microphones
2

Estas normas son discutidas y formuladas por la International Electrotechnical Commission . En


ellas se definen las especificaciones tcnicas que deben cumplir los sonmetros y los elementos
con que se construyen, as como mtodos de calibracin y pruebas.
La norma ambiental NADF-005-AMBT-2006 establece las condiciones de medicin y los lmites
mximos permisibles de emisiones sonoras que debern cumplir los responsables de fuentes
emisoras ubicadas en el Distrito Federal.

2.5. Tipos de micrfonos y sus respuestas


Los micrfonos son transductores que convierten cambios en la presin acstica del aire en una
seal elctrica. La respuesta de los micrfonos tiende a cambiar con la frecuencia, direccin,
temperatura, presin absoluta, tiempo y muchos otros factores. Es importante conocer estas
limitaciones y trabajar con ellas para poder obtener una respuesta confiable.
Se tienen dos tipos principales de micrfonos: cermicos (conocidos tambin como piezoelctricos)
y por capacitancia (polarizados y electret).
Los micrfonos cermicos operan bajo el principio de que los materiales piezoelctricos generan
un voltaje cuando se someten a movimientos mecnicos. Son relativamente de bajo costo y tienen
bajo ruido elctrico, pero son muy sensibles a las vibraciones. La respuesta de frecuencia de los
micrfonos cermicos no es tan lineal como en otros tipos de micrfonos.
En los micrfonos por capacitancia su valor capacitivo cambia si la separacin entre dos placas es
modificada. Estos micrfonos se construyen con una placa de material muy ligero que acta como
la placa del capacitor y que se mueve con los cambios de presin en el aire. La carga elctrica en
un capacitor es igual a su capacitancia multiplicada por el voltaje, si la capacitancia cambia y la
carga se mantiene constante, el voltaje tambin cambiar.
Los micrfonos de capacitor son precisos y muy estables a lo largo de una gran cantidad de
frecuencias. Son frgiles y deben ser protegidos de ambientes hostiles y de la alta humedad.
Los micrfonos polarizados requieren un voltaje externo de aproximadamente 200V y su
sensibilidad est ligada a la precisin de este voltaje. Los micrfonos electret (tambin conocidos
como permanentemente cargados) tienen una carga elctrica permanente dentro de una
membrana plstica. Su respuesta es similar a la de los micrfonos polarizados.
La respuesta de un micrfono cambia con la frecuencia. En bajas frecuencias la sensibilidad es
casi de cero cuando se aproxima a los 0Hz; en altas frecuencias el diafragma del micrfono es una
parte apreciable de la longitud de onda. Es importante que en altas frecuencias el micrfono apunte
a la fuente del sonido para evitar mediciones atenuadas.
Se puede definir tres tipos de respuesta de acuerdo al lugar en donde el micrfono va a actuar:
rea libre, incidencia aleatoria y presin.
Los micrfonos que actan en un rea libre miden el sonido en un espacio abierto libre de
reflexiones. El micrfono debe ser apuntado directamente hacia la fuente del sonido con un ngulo
de 0, teniendo as una respuesta de frecuencia casi lineal hasta las ltimas frecuencias que puede
2

Sitio oficial de la International Electrotechnical Commission: http://www.iec.ch

medir el micrfono. Si llegan otras altas frecuencias con incidencias diferentes a 0 se vern
atenuadas. Un ejemplo de micrfono de rea libre es el MP201 fabricado por BSWA (ver figura
2.2).

Figura 2.2. Micrfono de rea libre MP201 fabricado por BSWA.

Los micrfonos de incidencia aleatoria miden el sonido en un rea irregular en donde el sonido
llega de todas direcciones, como por ejemplo en una fbrica en donde el ruido se refleja en muchos
objetos y tiene diferentes fuentes.
Los micrfonos que actan en una cmara cerrada son los de presin. Su respuesta es
regularmente similar a la respuesta de un micrfono de incidencia aleatoria. Un ejemplo de este
tipo de micrfonos es el MP251 fabricado por BSWA. Su respuesta angular de captacin se puede
ver en la figura 2.3.

Figura 2.3. Patrn de captacin del micrfono de presin MP251 (cortesa de BSWA).

2.6. La importancia del rango dinmico


El rango dinmico terico es la razn, usualmente expresada en decibeles, de la amplitud ms
grande entre la amplitud ms pequea de una seal. El rango dinmico efectivo es la proporcin
que existe entre la mayor medicin y el nivel de ruido de fondo que un instrumento puede entregar.
El procesamiento digital de seales acsticas est casi siempre limitado por la tecnologa usada en
convertidores y el tamao de los datos convertidos. En equipos de audio digital se implementan
controles de ganancia para mejorar el desempeo de los convertidores analgico a digital (ADCs)
pero el rango dinmico sigue siendo el mismo ya que los niveles de audio siguen estando limitados
a la resolucin real del convertidor.
Los ingenieros en acstica requieren una cantidad de rango dinmico extra (headroom) para
proveer una ventana de seguridad ante sonidos que rebasan ciertos niveles acsticos y prevenir la
saturacin del canal de audio (efecto clippling). Esta cantidad extra de rango se debe sumar al
rango dinmico inicial y su tamao depende de varios factores: el costo de reiniciar una grabacin
debido a que hubo saturacin del canal, la consistencia de los niveles de sonido encontrados en
las pruebas de grabacin, la precisin del sonmetro empleado, etc. La experiencia prctica en
algunos estudios de televisin ha mostrado un requerimiento extra de 10dB sobre el rango
dinmico esperado [5].

10

Muchos sectores como los de las comunicaciones, radares, sonares y muchas otras aplicaciones
comerciales implementan altos rangos dinmicos mediante el empleo de ADCs y sensores
analgicos. A pesar de esto, el rango dinmico de los ADCs convencionales se ha ido
incrementando lentamente con el tiempo. La mejora tpica en los ltimos aos ha sido de
aproximadamente 1dB por ao, o un equivalente de 1 bit efectivo cada 6 aos para una frecuencia
de muestreo dada [6].
La calidad del rango dinmico de un instrumento es ms notoria en mediciones dadas en el
dominio de la frecuencia tales como la respuesta de frecuencia (Transformada de Fourier) [7]. Si el
rango dinmico es bajo, entonces los niveles pequeos pueden no ser detectados porque se
habrn visto absorbidos por el ruido de fondo del instrumento. En la figura 2.4 se puede ver este
efecto.

Figura 2.4. Comparacin de un rango dinmico de 120dB contra uno de 96dB (cortesa de LDS
Dactron).

La seal medida en la figura est compuesta por un tono de una funcin seno de 20Hz de gran
amplitud y otro de 225Hz con baja amplitud. El nivel bajo no puede ser detectado con el
instrumento de 96dB pero s es visible con el de 120dB.
El rango dinmico de un instrumento se debe determinar de acuerdo a diversos factores donde la
resolucin binaria del ADC empleado es el ms importante. El rango completo de voltaje del ADC
es dividido en partes discretas. El ADC convierte la seal analgica a otra compuesta por pasos de
escalera debido a la digitalizacin. El nmero de pasos discretos de un ADC de 24 bits puede ser
calculado como sigue:

2 24 = 16,777,216 pasos.
Por ejemplo, si el rango de voltaje del ADC es de 10V entonces cada paso valdr 596nV. La seal
analgica es mejor representada cuando el valor del paso se ve disminuido. El rango dinmico
terico puede calcularse como sigue:

20 log(2 24 ) 145dB .

11

El valor terico nunca es alcanzado debido a otro factor que ya se ha mencionado anteriormente, el
ruido de fondo. Todo dispositivo electrnico est sujeto a ruido electromagntico. Este ruido es
generado por la misma electrnica del dispositivo pudiendo ser la misma fuente de alimentacin o
por ondas electromagnticas del ambiente atrapadas por partes del circuito que operan como
antenas. Existen muchas investigaciones que detallan cmo combatir y verificar este fenmeno [8].
2.6.1. Micrfonos digitales
En los ltimos aos han aparecido en el mercado micrfonos con salida digital. Integran las
funciones de micrfono, pre-amplificador y conversin analgica a digital en un solo dispositivo.
Para obtener un rango dinmico aceptable slo basta con ajustar pocos parmetros como la
ganancia del micrfono.
La descripcin de un micrfono digital puede hacerse basada en [9] y resume las siguientes
clasificaciones:

un transductor en el que el principio de conversin acstica-mecnica-elctrica incorpora


un nivel de cuantificacin,
una combinacin de transductores separados, cada uno responsable de ciertos pasos de
cuantificacin y
un micrfono que integra un convertidor analgico a digital.

Los micrfonos actuales se enfocan en la tercer clasificacin: micrfonos con ADC integrado (ver
figura 2.5). Estos micrfonos cuentan en su mayora con capacitores cuya tecnologa es ya muy
madura pudiendo entregar rangos dinmicos de hasta 130dB o ms. El inters por los micrfonos
digitales se elev debido a que la salida de datos es ms resistente al ruido de los cables y a que
han aparecido en el mercado ADCs de mayor resolucin.

Figura 2.5. Diagrama de un micrfono digital.

Algunos requerimientos establecidos por normas como la AES 42 [10] son los siguientes:

Control del flujo de informacin desde el micrfono mediante bits de usuario y


Control de informacin hacia el micrfono mediante modulacin de frecuencia baja del
voltaje fantasma del micrfono (Phantom Power Voltage). El voltaje fantasma se aplica a
los micrfonos para energizarlos.

Estos permiten un control 100% digital del sonmetro. Para hacer una comparacin de beneficios
al usar un micrfono digital se deben conocer algunos factores limitantes inherentes a esta
tecnologa, tales como el rango dinmico o los valores de saturacin que ya se han comentado
anteriormente.

2.6.2. Aplicaciones con instrumentos de amplio rango dinmico


Existen diversas aplicaciones digitales que requieren de amplios rangos dinmicos para entregar
resultados significativos. A continuacin se describen algunas.

12

- Instrumentacin para aceleradores circulares de partculas.


Muchas seales de instrumentacin para aceleradores de partculas nucleares se ubican en el
orden de los kHz y por ello pueden ser digitalizadas con ADCs de alta resolucin. Esto mejora ms
si se analizan en el dominio de la frecuencia. Mediante el uso de ADCs enfocados inicialmente al
muestreo de audio es posible analizar este tipo de seales con rangos de hasta 140dB [11]. El
mercado de tarjetas de sonido para computadoras personales ofrece ADCs de excelente
rendimiento y muy bajo costo. Algunas tarjetas ofrecen ya ADCs de hasta 24 bits con rangos
dinmicos de 100dB.
El sistema de mediciones se construy para el sintonizador del Gran Colisionador de Hadrones
(LHC) nicamente basndose en el uso de tarjetas de audio de 24 bits y ahorrndose el diseo de
arquitecturas complejas en FPGAs o de un convertidor analgico a digital de diseo especfico [11].
- Monitor de bioimpedancia para cardiografa.
En la cardiografa se miden pequeos cambios en la impedancia del trax para calcular el estado
cardiaco del paciente. Este estudio cumple con los mismos objetivos que otros estudios pero de
forma no invasiva.
La medicin de la bioimpedancia se basa en el muestreo de la cada de voltaje generada por el
flujo de una corriente de baja frecuencia por el cuerpo. Esta variacin de voltaje es muy dbil y es
entonces en donde se emplea la medicin con un amplio rango dinmico sin necesidad de
implementar etapas de ganancia complicadas [12].
- Medicin de diversos biovoltajes del cuerpo humano.
Para el diagnstico de algunas enfermedades del ser humano se llegan a emplear dispositivos que
miden el voltaje de seales elctricas muy pequeas presentes en varias partes del cuerpo.
Exmenes superficiales como los electrocardiogramas o los encefalogramas requieren de
frecuencias de muestreo de hasta 5kHz y rangos dinmicos de hasta 90dB con componentes de
C.D. en los electrodos del orden de 100dB (ver figura 2.6) [13]. Principalmente se tienen 2
alternativas: medicin de seales de C.A. o medicin de seales de C.D. y C.A.

Figura 2.6. Rangos dinmicos involucrados en algunos exmenes mdicos (Cortesa de Biosemi).

13

Para medir seales de corriente alterna con ADCs de baja resolucin es necesario implementar
filtros pasa altas para eliminar el offset o seal en C.D. y poder as amplificar la seal de C.A. sin
saturar la salida del amplificador.
Para medir seales de C.D. y C.A. es forzoso contar con un ADC de alta resolucin para poder
incluir la seal de C.D. de alto valor y tener resolucin para medir la pequea seal de C.A. que
viene montada sobre ella. Esto tiene como ventaja que elimina la necesidad de aplicar filtros
analgicos pasa altas y mantiene la forma original de la seal.
- Aplicaciones marinas con seales ssmicas geofsicas.
Muchas aplicaciones geofsicas como la sismicidad refractiva, en las que el nivel de la seal es
bajo y el ruido ambiental es alto, requieren de sistemas de adquisicin de bajo ruido y alta
resolucin. Para el muestreo de estas seales se han construido sismgrafos para el fondo del
ocano que emplean ADCs de 24 bits y memorias CompactFlash en profundidades de hasta 6km.
Se han puesto a prueba estos dispositivos basndose en normas internacionales que establecen
tolerancias del rango dinmico, el ruido aleatorio, nmero de bits efectivos, etc.
Estos dispositivos han demostrado ser capaces de medir seales de hasta 10Vpp con frecuencias
de muestreo de 250Sps. Las pruebas han alcanzado a entregar rangos dinmicos de hasta 120dB
y 18 bits efectivos de resolucin binaria [14].
- Rango dinmico en fotografa digital.
El espectro de la luz visible tiene un rango dinmico amplio que abarca niveles tan pequeos como
-5
2
5
2
la luz directa de una estrella lejana (10 cd/m ) hasta la luz solar directa (10 cd/m ) [15]. Estos y
otros niveles pueden verse en la figura 2.7.

Figura 2.7. Rango dinmico de la luz (cortesa de Sean McHugh).

Mediante la combinacin de varias fotografas tomadas en diferentes tiempos con cmaras


especiales es posible obtener imgenes de alta resolucin que contienen el rango dinmico
completo de la luz de da, incluyendo la del Sol.
Estas imgenes tambin pueden ser calibradas con medidores de luminancia para convertirlas en
patrones de referencia para la medicin de otros niveles de luz. Los formatos de imagen
empleados en algunos experimentos hacen uso de valores de color de hasta 32 bits de acuerdo a
la norma IEEE 754 (variables flotantes). El uso de estos equipos permite experimentos ms
detallados como la medicin del nivel de contaminacin del aire respecto al nivel de luz que
atraviesa la atmsfera [16].

2.6.3. Arquitecturas eficientes de conversin analgica a digital


La mayora de los convertidores analgico a digital con frecuencias de muestreo menores a 1MSps
utilizan la conversin por aproximaciones sucesivas o la conversin Delta-Sigma. La seleccin de
una de estas arquitecturas debe realizarse mediante la comparacin de sus ventajas y
desventajas.

14

La arquitectura de conversin por aproximaciones sucesivas se basa en la comparacin sucesiva


de una entrada analgica con un valor referenciado a un peso binario. La precisin de esta
arquitectura slo es alcanzable mediante componentes analgicos de buen desempeo:
capacitancias apropiadas, tiempos precisos de los tiempos del convertidor digital a analgico
interno (DAC) y velocidad del comparador. El funcionamiento detallado de esta arquitectura se ver
en un captulo posterior.
La arquitectura Delta-Sigma difiere de la de aproximaciones sucesivas ya que se basa ms en
tcnicas de procesamiento digital que en la precisin de los componentes analgicos. El punto
clave de esta arquitectura es el sobremuestreo de la seal de entrada.
Los componentes principales de un Delta-Sigma son el modulador y un filtro digital. El modulador
consta de un diferenciador, un integrador y un comparador que juntos conforman una
retroalimentacin. El modulador se ejecuta a una velocidad mucho mayor que el ancho de banda
de la entrada analgica para proveer el sobremuestreo. La entrada analgica es diferencialmente
comparada (delta) contra una seal de retroalimentacin (seal de error). La salida diferencial de
esta comparacin es entregada al integrador (sigma). La salida del integrador es entregada a un
comparador. La salida del comparador entrega simultneamente la seal de retroalimentacin
(seal de error) hacia el diferenciador y hacia el filtro digital. El objetivo de esta retroalimentacin es
que su valor sea cero. El resultado es que la salida del comparador es un flujo de unos y ceros.
Entre ms unos fluyan habr un mayor voltaje analgico en la entrada; de la misma manera, entre
ms ceros fluyan habr un menor voltaje. Este flujo de unos y ceros es entregado al filtro digital
que lo convierte de una seal de alta frecuencia de muestreo y baja resolucin binaria a una seal
de baja frecuencia de muestreo y mayor resolucin binaria mediante el sobremuestreo y decimado.
La tabla 2.1 muestra las ventajas y desventajas entre las arquitecturas de aproximaciones
sucesivas y Delta-Sigma [17].
Tabla 2.1. Comparacin entre conversin por aproximaciones sucesivas y Delta-Sigma.

Parmetro
Resolucin
Linealidad
Tiempo de
conversin
Consumo de
energa
Tamao
Otros factores

Aproximaciones Sucesivas
12 a 18 bits
Depende de los componentes
analgicos empleados
Muy bajo

Delta-Sigma
16 a 24 bits
Muy alta

Bajo

Alto

Pequeo
Requiere de filtros anti-alias de mucho
orden

Grande
Requiere de filtros anti-alias muy
relajados, puede reducir y eliminar
ruido elctrico (interferencias)

Mayor

Existen muchas investigaciones sobre cmo mejorar el rango dinmico de los convertidores
analgico a digital que se basan en la arquitectura Delta-Sigma o en cualquier otra arquitectura que
involucran tcnicas como: modificaciones a los moduladores mediante filtros de mayor orden [18],
prediccin de seales esperadas mediante procesadores digitales de seales [19], sobremuestreo
y promediacin para la reduccin del nivel de ruido de fondo [20], por mencionar algunas.

2.7. Equipos de monitoreo de ruido ambiental disponibles en el


mercado
A continuacin se mencionarn brevemente algunas unidades de monitoreo acstico que se
contemplaron para el diseo de la tarjeta de adquisicin de seales acsticas.

15

2.7.1. Computadora industrial Advantech ARK-3384 con tarjeta ADC de National Instruments
Las caractersticas de la computadora industrial Advantech y de la tarjeta de adquisicin NI USB
9233 de National Instruments se pueden ver en las tablas 2.2 y 2.3 respectivamente.
Tabla 2.2. Caractersticas de la computadora Advantech ARK-3384

Advantech ARK-3384
Intel de bajo voltaje a
Procesador
600MHz
Memoria RAM
512MB DDR
Conectividad
Ethernet
Inalmbrica 802.11b/g
Puertos serie
RS232
3 x USB 2.0
Almacenamiento
Memoria Flash de 4GB
Sistema Operativo
Windows XP Embedded
Gabinete
Aluminio
Peso
2kg
Temperatura de operacin
-20C a 60C
Tabla 2.3. Caractersticas de la tarjeta ADC NI USB 9233 de National Instruments

Tarjeta ADC 24 bits NI USB 9233


Resolucin
24 bits
Arquitectura de conversin Delta-Sigma
Rango dinmico
98dB
Canales de medicin
4 simultneos
Frecuencia de muestreo
50kSps
Rango de entrada
5V
Alimentacin del sensor
2mA segn estndar IEPE
Conexin
USB 2.0 Hi-Speed
La computadora industrial Advantech es capaz de operar en ambientes de alta o baja temperatura
y en gabinetes cerrados gracias a que cuenta con un procesador de bajo consumo de potencia que
genera poco calor y no requiere ventilacin. La capacidad de la computadora de ejecutar Windows
XP ofrece la posibilidad de ejecutar software de instrumentacin virtual tal como LabVIEW.
Gracias al uso de LabVIEW se pueden incorporar tarjetas de adquisicin, como la NI USB 9233
(ver figura 2.8), con los puertos USB de la computadora y realizar mediciones con resolucin de 24
bits y frecuencias de muestreo de hasta 50kSps mediante micrfonos prepolarizados.
La conectividad de la computadora existe de forma almbrica o inalmbrica, pudiendo as
implementar una red distribuida de monitores de ruido ambiental de forma fcil y flexible. Mediante
los instrumentos virtuales de LabVIEW se realizan todos los clculos que el monitoreo requiere,
tales como nivel equivalente, filtros de octavas, filtros de ponderacin, etc.
El empleo de la computadora Advantech y la tarjeta de National Instruments requiere del uso de un
gabinete para exteriores que proporcione una temperatura interna ideal, que sea resistente ante
condiciones climticas fuertes y que facilite el almacenamiento de la computadora, la tarjeta, una
fuente de alimentacin y el micrfono.

16

Figura 2.8. Tarjeta de adquisicin NI USB 9233 (cortesa de National Instruments).

2.7.2. Monitor ambiental de ruido Bruel & Kjaer 3597


El monitor ambiental de Bruel & Kjaer 3597 est diseado para uso exterior en cualquier ambiente
climtico y es un sistema de monitoreo desatendido. La unidad incluye un micrfono para
exteriores y conectividad por lnea telefnica, red inalmbrica, red por telefona celular y red
almbrica [21].
Puede ser empleada para el monitoreo de ruido en aeropuertos, ciudades, trenes, ambientes
industriales y dems. Almacena los clculos de ruido con varios meses de anterioridad. Puede
realizar un monitoreo constante con un rango dinmico de 110dB, y un monitoreo de condiciones
climticas. Posee un sistema de auto-verificacin en el que revisa las condiciones de la etapa de
adquisicin de datos y auto-calibra la sensibilidad del micrfono, indicando la atenuacin
encontrada al momento de la calibracin.
En la figura 2.9 se observa un sistema de monitoreo de ruido en aeropuerto ejemplificando la
conectividad del monitor y otros elementos como servidores y redes que integran el sistema. En la
figura 2.10 se observa el micrfono para exteriores empleado para la adquisicin de datos. El
micrfono es capaz de operar con humedades relativas de hasta 96% y con temperaturas de -40C
a +50C; cuenta con unos picos en la parte superior para evitar que las aves se posen sobre el
micrfono. Opcionalmente se puede contar con el monitoreo de condiciones ambientales.
El uso del monitor Bruel & Kjaer implica la adquisicin de equipo y software de la misma compaa,
cerrando la posibilidad de crecimiento o innovaciones independientes.
2.7.3. Monitor de ruido ambiental de Vipac
El monitor de ruido ambiental de Vipac es un monitor con acceso remoto, porttil y con
alimentacin a partir de energa solar. Crea reportes cuando se rebasan ciertos lmites de ruido
establecidos por el usuario y graba el ruido en archivos MP3 para un anlisis posterior ms
detallado. Se puede escuchar el ruido que existe en cualquier momento gracias a su conectividad
GSM; solo se marca el nmero telefnico que el monitor tiene asignado y se escucha el audio en
tiempo real del lugar en donde el monitor est ubicado.
Se pueden descargar los reportes de las mediciones en archivos de texto desde una pgina web;
as mismo se puede revisar el estado del monitor, reiniciar las alarmas de estado, revisar el nivel
de batera del equipo e incluso analizar variables climticas como temperatura, velocidad del
viento, humedad y lluvia.
En la figura 2.11 se observa el monitor de Vipac y su micrfono.

17

Figura 2.9. Sistema de monitoreo Bruel & Kjaer para aeropuertos (cortesa de Bruel & Kjaer).

Figura 2.10. Micrfono para exteriores de Bruel & Kjaer.

Figura 2.11. Monitor de ruido ambiental de Vipac.

2.7.4. Terminal de monitoreo de ruido exterior BSWA


La terminal NMT1000 de BSWA es un sistema desatendido que puede emplearse en monitoreo
permanente, semipermanente o mvil de ruido ambiental con un rango dinmico de 100dB [22]. Es
capaz de almacenar datos de ruido calculados a lo largo de 14 a 28 das y puede transmitirlos

18

haciendo uso de una conexin GPRS. Puede ser empleado en ambientes exteriores,
especialmente en campo abierto, industrias o ciudades.
Puede controlarse la unidad remotamente a travs de la conexin GPRS o localmente a travs del
puerto USB de una computadora. Cuenta con memoria flash para el almacenamiento de reportes
de hasta 64MB y un reloj de tiempo real con una desviacin de 2 minutos por ao.

Figura 2.12. Unidad de monitoreo ambiental BSWA NMT1000.

19

Captulo 3. Requerimientos del sistema de adquisicin


de seales acsticas.
3.1. Introduccin
En este captulo se presentan los principios de funcionamiento del sistema en cuanto a anchos de
banda, rango dinmico, legibilidades lineal y logartmica, voltajes de operacin, las caractersticas
del micrfono empleado en las pruebas y los requerimientos de diseo electrnico de todo el
conjunto para su correcta operacin.
Se presentan algunas posibles soluciones para la adquisicin de seales acsticas con amplio
rango dinmico, as como sus ventajas y desventajas. Se introduce el mtodo de conversin
analgica a digital por medio de concatenaciones as como sus principios matemticos de
funcionamiento.

3.2. Diseo terico del sistema


Un sonmetro puede ser un instrumento de mano auto-contenido con un micrfono montado e
incorporando una pantalla de presentacin de resultados. Puede estar compuesto por
componentes separados en uno o ms recintos y puede ser capaz de mostrar una gran variedad
de niveles de seales acsticas. Los sonmetros pueden incluir una etapa de procesamiento de
seal analgico o digital extensivo, separadamente o en combinacin, con mltiples salidas
digitales y analgicas. Los sonmetros pueden incluir computadoras de propsito general,
registradores, impresoras, y otros dispositivos que formen una parte necesaria del instrumento
completo [23].
El presente trabajo se centra sobre el diseo de un mdulo de adquisicin de seales acsticas
con conversin de la seal analgica a una seal digital que ser conectada a una computadora
industrial que ser encargada del procesamiento digital de la seal.
El sonmetro estar diseado como se ve en la figura 3.1. Los elementos que conforman la unidad
son los siguientes:

Micrfono para exteriores.


Tarjeta de conversin analgica a digital (ADC) para la adquisicin y acondicionamiento de
la seal acstica.
Computadora industrial para el procesamiento digital de seales acsticas.

Figura 3.1. Diagrama de un sistema tpico para medicin de seales acsticas ambientales.

La configuracin anterior est definida por la norma IEC 61672-1 como un sonmetro del grupo Z
que requiere una o ms piezas de equipo, que constituyen partes esenciales del sonmetro,

20

conectadas entre si por algn medio para su modo de funcionamiento normal con un suministro
pblico de energa elctrica.
La norma IEC 61672-1 define dos tipos de sonmetros: Clase 1 y Clase 2. Si no se cumple con
todas las especificaciones de la clase 1, entonces habr que evaluar el sonmetro respecto a la
clase 2; si no se cumplen todas las especificaciones de la clase 2 entonces el sonmetro no cuenta
con respaldo de las normas y su uso no es recomendable.
En la tabla 3.1 se detallan las caractersticas mnimas que debe cumplir cada clase. Es importante
notar que la norma no define el rango dinmico total que el sonmetro debe presentar, slo define
que se puede instalar un selector de rangos y que el intervalo de cada nivel debe tener como
mnimo 60dB. Tambin es importante notar que a pesar de que el ancho de banda que una
persona puede escuchar va de los 20Hz a los 20kHz, la norma slo define un mximo un rango de
16kHz para la clase 1.
Tabla 3.1. Caractersticas de los sonmetros por norma IEC 61672-1.

Filtros de Ponderacin
Ponderacin Temporal
Calibrador a emplear
Nivel de calibracin
Ancho de banda
Temperatura de operacin
Humedad de operacin
Error de linealidad (desviacin)

Clase 1
AyC

Clase 2
A

F
Clase 1
Clase 1 o 2
74dB, 84dB, 104dB, 114dB o 124dB
16Hz a 16kHz
20Hz a 8kHz
-10C a +50C
-0C a +40C
25% al 90%
0.6dB
0.8dB

Los filtros de ponderacin en frecuencia A y C se explicarn en el captulo 6. La ponderacin


temporal F no es ms que el tiempo mnimo sobre el que se deben aplicar los clculos acsticos.
La norma IEC establece que ste sea de 125ms.
Existen otros detalles que la norma no especifica pero que deben definirse para el diseo de la
tarjeta. Se evaluaron algunos sonmetros comerciales y con base en ellos se definieron los
siguientes parmetros con los que se continu el diseo de la tarjeta.

Respuesta de frecuencia de 20Hz a 11kHz.


Frecuencia de muestreo de 22kSps.
Rango dinmico de 140dB equivalente a 23 bits.
Ruido de fondo de 40dB.
Legibilidad logartmica de 0.3dB.
Conectividad USB 2.0 en modo full-speed.
Alimentacin con fuente de corriente constante de 4mA.
Entrada analgica de 10Vrms (28.2Vpp).
Condiciones ambientales dentro de la norma IEC.

Cada una de estas caractersticas se ir describiendo y fundamentando a lo largo de las siguientes


secciones. De acuerdo a la norma IEC la tarjeta de adquisicin y la computadora conformarn
entonces un sonmetro de clase 2, nicamente limitado a no ser clase 1 por la respuesta de
frecuencia de la tarjeta que slo llega a 11kHz.

3.3. Micrfono para exteriores


El micrfono para exteriores que se emplear en el proyecto es el modelo MP201 de la compaa
BSWA (ver figura 3.2); es un micrfono de rea libre de 1/2" prepolarizado con proteccin especial
para trabajar en la intemperie. De forma similar a otros micrfonos exteriores, cuenta con picos en

21

la parte superior que impiden que las aves se paren sobre el micrfono, evitando as ruidos en la
medicin o degradacin del equipo.
La respuesta de frecuencia de la pieza en especfico a usar en el prototipo del monitor ambiental es
la que se ve en la figura 3.3. Existen dos curvas en la grfica; la curva denominada "Respuesta en
rea libre" es la respuesta del micrfono ante sonidos en un ambiente abierto. La curva
denominada "Respuesta electrosttica" es la respuesta del micrfono ante un actuador
electrosttico. Los actuadores electrostticos cuentan con una placa metlica que se coloca frente
al micrfono. Esta placa es excitada mediante un voltaje que vara en el tiempo generando una
fuerza electrosttica que acta sobre el diafragma del micrfono, simulando as la existencia de
sonido a diferentes frecuencias.
Se puede observar que la respuesta del micrfono en frecuencias menores a 20Hz o mayores a
20kHz no est garantizada por el fabricante. La sensibilidad del micrfono acoplado a su
preamplificador viene dada en la hoja de calibracin del micrfono en la figura 3.4.

Figura 3.2. Micrfono MP201 para exteriores

Figura 3.3. Respuesta de frecuencia de un micrfono MP201.

La sensibilidad mostrada del micrfono a circuito abierto (sin cargas conectadas) es de 47.9mV/Pa;
por ejemplo, si se aplica una seal acstica sinusoidal de 10Parms al micrfono, ste entregar a su
salida 479mVrms. La sensibilidad del micrfono tambin se expresa en dB referenciados a 1V/Pa,
teniendo para este micrfono -26.4dB. El clculo se realiza de la siguiente manera:

47.9mV / Pa
Sensibilidad = 20 log
= 26.39dB .
1000mV / Pa

22

Figura 3.4. Sensibilidad del micrfono con su pre-amplificador MPA201.

La sensibilidad del micrfono depende en forma significativa de la impedancia de entrada del


circuito que realiza la adquisicin de la seal, por lo que cuando se conecta de una tarjeta de
adquisicin a otra es necesario hacer una calibracin para conocer la sensibilidad en el nuevo
circuito. La calibracin se suele hacer con un calibrador electrosttico que cumpla con los
requerimientos de la norma IEC 60942 y los datos dados en la tabla 3.1.
Se haba comentado que el micrfono MP201 es del tipo prepolarizado; esto significa que el
micrfono requiere una corriente de pre-polarizacin constante que lo alimente y as le sea posible
entregar un voltaje proporcional a la presin acstica. Esta corriente de trabajo est definida como
el estndar IEPE que significa Integrated Electronics Piezo Electric. El estndar establece que la
corriente puede ir de 2mA hasta 20mA. Entre ms pequea es la corriente, ms impedancia tiene
el sensor piezoelctrico; entre ms grande es la corriente, el sensor tendr mayor susceptibilidad
ante ruido por electromagnetismo. Para el caso del micrfono MP201, 4mA es una corriente
recomendable [24].
Las caractersticas generales del micrfono se muestran en la tabla 3.2.
Tabla 3.2. Caractersticas del micrfono MP201

Micrfono
MP201
Dimetro
Respuesta
Sensibilidad en circuito abierto
Respuesta de frecuencia
Voltaje de polarizacin
Rango dinmico
Temperatura de operacin
Humedad de operacin
Dimensiones

1/2 pulgadas
rea libre
-26 2dB (50mV/Pa)
20 a 20kHz
0V
Mayor a 146dB,
equivale a 400Pa
-30C a 80C
0 a 98% de Hum. Rel.
IEC 1094-4 Tipo WS 2

Sin embargo, el pre-amplificador MPA201 slo cuenta con una salida mxima de 4.5Vrms que
equivale a 90Pa o 133dB usando la sensibilidad del micrfono. El micrfono en conjunto con su
pre-amplificador cumple con todos los requisitos de la clase 1 de la norma IEC 61672-1.

23

La entrada analgica de la tarjeta de adquisicin cuenta con un rango de entrada de 10Vrms por lo
que el juego micrfono - pre-amplificador puede ser conectado sin problemas. Esto tambin
permite la conexin de otros micrfonos similares con mayores voltajes o sensibilidades de salida.

3.4. Rango dinmico y ancho de banda


Una persona con un odo sano es capaz de escuchar sonidos equivalentes a 0dB (20Pa) y
apenas soportar sonidos de 134dB (100Pa) con frecuencias de 20Hz hasta 20kHz. De acuerdo al
teorema de muestreo de Nyquist sera necesario entonces que la tarjeta de adquisicin tuviera una
frecuencia de muestreo al menos de 40kSps para no corromper la seal al ser medida
digitalmente.
La norma IEC 61672-1 establece que para sonmetros de clase 2 el ancho de banda deber ser de
20Hz a 8kHz. Esto implica que la tarjeta de adquisicin debera muestrear seales con una
frecuencia mnima de 16kSps.
No existe una tcnica universal para elegir una frecuencia de muestreo de seales, pero a partir de
la experiencia con mediciones acsticas a diferentes frecuencias de muestreo se puede elegir una
en la que la prdida de informacin no sea significativa al reducir el ancho de banda. A
continuacin se muestran ejemplos de seales medidas en algunos puntos de la ciudad de Mxico
y sus respuestas de frecuencia correspondientes en proyectos anteriores.

Figura 3.5. Grabacin a 50kSps cerca de una estacin del Metro.

Por observacin se determina a partir de la figura 3.5 que la proporcin de la amplitud a 25kHz
respecto a 1875Hz es del 0.86% y respecto a 20Hz es de 0.063%. Una medicin a 10kSps habra
sido suficiente para analizar la seal eficientemente hasta 5kHz. Una seal de 25kHz de audio no
existe en el medio ambiente como tal, y seguramente lo visto en la figura 3.5 es ruido de alguna
fuente no sonora (electromagntico por ejemplo).

24

Figura 3.6. Grabacin a 25kSps de avin Airbus 320.

En la figura 3.6 se tiene que la amplitud a 12.5kHz respecto a la amplitud a 8kHz es de 13.2% y
respecto a la amplitud a 100Hz es de 0.04%. Una medicin a 16kSps habra sido suficiente para
analizar la seal eficientemente hasta 8kHz.
En la figura 3.7 se tiene que la razn entre la amplitud a 12.5kHz y la amplitud a 100Hz es de
0.027%. Un muestreo a 16kSps sera suficiente para poder analizar seales de hasta 8kHz.
En la figura 3.8 se tiene una proporcin de la amplitud a 12.5kHz respecto a 4.7kHz de 1.8% y
respecto a 100Hz de 0.003%. Un muestreo a 12kSps sera suficiente para analizar la seal hasta
6kHz.

Figura 3.7. Respuesta de frecuencia de avin Boeing 747 muestreada a 25kSps.

En la figura 3.9 se tiene una proporcin de la amplitud a 12.5kHz respecto a 6kHz de 42.36% y
respecto a 0.003%. Un muestreo a 12kSps sera suficiente para analizar la seal hasta 6kHz.
De acuerdo a las seales anteriores y a otras seales analizadas, un muestreo de 16kSps parece
ser aceptable para la mayora de ellas. La frecuencia de muestreo de la tarjeta de adquisicin se
establecer en 22kSps para que las seales obtenidas puedan ser analizadas hasta 11kHz,
rebasando por 3kHz las frecuencias lmite que en la prctica se han observado en el ruido de la
ciudad.

25

Figura 3.8. Respuesta de frecuencia de grabacin en un punto de la Ciudad de Mxico


muestreada a 25kSps.

Figura 3.9. Respuesta de frecuencia de grabacin en otro punto de la Ciudad de Mxico


muestreada a 25kSps.

Las seales de alta frecuencia se atenan en mayor grado por la distancia a la que se escuchan
que las seales de baja frecuencia, de ah que las seales medidas difcilmente rebasan
frecuencias de 8kHz. Un muestreo a 22kSps asegura que esas seales se midan eficientemente
sin prdida de informacin.
El ancho de banda de un equipo de adquisicin de datos describe el rango de frecuencias que
pueden ser muestreadas sin presentar una atenuacin o prdida en amplitud. Se define como la
frecuencia de corte el lugar en donde una seal sinusoidal adquirida presenta una atenuacin del
70.7% respecto a la seal original, y es conocido como el nivel de -3dB. Esto se puede representar
mediante la frmula siguiente:

0.7071
20 log
= 3.01dB .
1
Para observar que el nivel de ruido no rebase los lmites marcados en la norma ambiental del D.F.
mencionada en el captulo 2 (65dB en la noche y 68dB en el da), es necesario hacer mediciones a
partir de un nivel cercano a los 60dB, de acuerdo a la norma IEC 61672-1.
Considerando una medicin mnima de 40dB segn las caractersticas de otros sonmetros
comerciales, el equivalente en presin acstica es de 2mPa con una sensibilidad promedio de
50mV/Pa. La salida en voltaje eficaz del micrfono a esa presin es de:

mV
(2mPa )
Pa
= 100 V .

Vrms = 50
Vrms

26

Como mxima medicin de presin se contemplarn 200Pa, que equivalen a 140dB. La salida en
voltaje eficaz del micrfono a esa presin ser de:

mV
(200 Pa )
Pa
= 10V .

Vrms = 50
Vrms

Se tiene entonces que la medicin de la seal debe abarcar un rango de 100Vrms a 10Vrms en
ambas polaridades (de -14.14V a +14.14V).
El rango dinmico terico es la razn, usualmente expresada en decibeles, de la amplitud ms
grande entre la amplitud ms pequea de una seal. El rango dinmico de la medicin del
micrfono para los lmites del odo humano se calcula usando la ecuacin 3.1.

200 Pa
Rango dinmico = 20 log
= 140dB
20 Pa

(3.1)

La medicin deber contemplar 140dB de rango dinmico.


La adquisicin de datos en el proyecto se realizar de forma digital. Una forma de capturar la seal
es utilizando una tarjeta de conversin analgico a digital, pero es necesario que la tarjeta sea
capaz de realizar mediciones de de -14.14V a +14.14V, registrar voltajes pequeos de 100V
(equivalentes a 2mPa) y abarcar un rango dinmico de 140dB.
En una conversin analgico digital la legibilidad de las muestras tomadas est dada por la
resolucin del conversor, que viene dada en n bits. Cada bit representa el doble o la mitad del
voltaje de una seal. Existe tambin una ganancia del sistema cuando se miden seales
sinusoidales, equivalente a 1.76dB [25]. La ecuacin 3.2 se emplea para conocer el rango dinmico
de una conversin ADC.

( )

Rango dinmico ADC = 20 log 2 n + 1.76dB

(3.2)

Teniendo como rango dinmico requerido 140dB y despejando n de la ecuacin 3.2:

( )

140dB = 20 log 2 n + 1.76dB


140dB 1.76dB

20

n=
log 2
n = 22.96 bits 23 bits,
se obtiene n igual a 22.96 bits, por lo que el ADC deber tener una resolucin mnima de 23 bits
para poder abarcar un rango dinmico terico de 140dB.

3.5. Posibles arquitecturas de la conversin analgica a digital


Existen varios mtodos para la adquisicin de la seal con los requerimientos mencionados al
principio de este captulo. Los mtodos analizados son los siguientes:

Adquisicin con tarjeta ADC de resolucin mnima de 23 bits.

27

Adquisicin mediante un amplificador logartmico con un ADC de baja resolucin.


Adquisicin mediante un ADC de baja resolucin con etapas de amplificacin.

A continuacin se describe cada uno de ellos.

3.5.1. Adquisicin con tarjeta ADC de resolucin mnima de 23 bits


Se requiere una tarjeta con una resolucin mnima de 23 bits para capturar con precisin los
rangos de voltaje ms pequeos que el micrfono entrega con niveles de ruido de 40dB a 140dB,
siendo 40dB equivalente al ruido de fondo.
En el mercado existen circuitos integrados que actan como ADC a 24 bits pero tienen como
desventaja que son difciles de adquirir en el mercado mexicano y que su paquete es de soldadura
superficial, dificultando el diseo de la tarjeta electrnica que los contendr.
Un ejemplo de circuito ADC de 24 bits es el ADS1271 fabricado por Texas Instruments; es un
convertidor con frecuencia de muestreo de 105ksps y un ancho de banda de 51kHz. Sus
desventajas son que viene en empaque de soldadura superficial de mnimas dimensiones y que no
es adquirible nacionalmente.

3.5.2. Adquisicin mediante un amplificador logartmico con un ADC de baja resolucin


Un amplificador logartmico produce una salida proporcional al logaritmo de la entrada y es
comnmente empleado en aplicaciones que requieren compresin de datos analgicos de entrada
o en tareas de linealidad de transductores que tienen salidas exponenciales.
El elemento clave de un amplificador de este tipo es un dispositivo que posee un comportamiento
logartmico que cuando se coloca como retroalimentacin en un amplificador operacional produce
una respuesta logartmica. Esto significa que el voltaje de salida es una funcin del logaritmo del
voltaje de entrada, como se muestra en la siguiente ecuacin.

Vsalida = K ln(Ventrada )

(3.3)

La unin de semiconductores pn dada como diodo o la unin base-emisor de un transistor bipolar


provee este comportamiento logartmico. Se sabe que un diodo tiene un comportamiento no lineal
por debajo de un voltaje de 0.7V para el caso del silicio (ver figura 3.10).

Figura 3.10. Comportamiento exponencial de un diodo debajo de 0.7V.

28

Al colocar un diodo en la retroalimentacin de un amplificador operacional, como en la figura 3.11,


se tiene un amplificador logartmico bsico. Dado que la entrada inversora est funcionando como
tierra virtual, la salida ser de -VD cuando la entrada es positiva y como VD es logartmico la salida
tambin lo ser. La salida est limitada a un valor mximo de -0.7V aproximadamente ya que el
diodo est restringido a operar con voltajes menores de 0.7V. Para manejar corrientes negativas el
diodo deber ser conectado de forma inversa.

Figura 3.11. Amplificador logartmico bsico con diodo en la retroalimentacin.

En el mercado existen diversos circuitos integrados que implementan el amplificador logartmico


con transistores bipolares como retroalimentacin. Uno de ellos es el LOG2112 de Texas
Instruments. El LOG2112 calcula el logaritmo de 2 corrientes de entrada: I1 e I2. La frmula que
describe la salida en voltaje del circuito est dada en la ecuacin 3.4.

I
Vsalida = 0.5V log 1
I2

(3.4)

El LOG2112 cuenta con 2 amplificadores logartmicos por circuito integrado, en la figura 3.12 se
muestra el diagrama bsico de uno de ellos.

Figura 3.12. Diagrama bsico del amplificador logartmico LOG2112.

Segn la hoja de caractersticas del LOG2112 [26], las corrientes I1 e I2 deben estar dentro de los
siguientes lmites para garantizar la precisin y respuesta lineal del dispositivo:
- I1 o I2 deben permanecer en el rango de 100pA a 3.5mA.
- I1 + I2 no debe ser mayor a 4.5mA.

29

El ancho de banda del dispositivo est mostrado en la figura 3.13, tomada de la hoja de
caractersticas del amplificador.
Como se coment anteriormente, el rango de medicin acstica del proyecto va de 100Vrms a
10Vrms, pero es necesario trabajar con voltajes pico para conocer el rango de entrada al
amplificador. Los equivalentes se muestran a continuacin.

V pico mn = 100 V ( 2 ) = 141.42 V


V pico mx = 10V ( 2 ) = 14.14V
La corriente de referencia I2 en la ecuacin 3.4 puede vincularse a la presin acstica con la que se
calcula el nivel de presin acstica en dB, siendo sta de 20Pa o 1V utilizando la sensibilidad del
micrfono y la corriente I1 se vincular con la amplitud de sonido instantnea. El valor mximo de I1
ser de 140dB, es decir, 200Pa o 10Vrms.

Figura 3.13. Ancho de banda del LOG2112.

La conversin del voltaje que entrega el micrfono a corriente que requiere el amplificador
logartmico se realiza mediante dos resistencias, R1 para I1 y R2 para I2. La corriente I2 debe ser
constante y sin fluctuaciones, pudindose obtener a partir de la referencia de voltaje de 2.5V con
que cuenta el LOG2112 (ver VREF en figura 3.12). La corriente I1 tambin se obtiene mediante una
resistencia conectada a la salida de voltaje del micrfono.
Observando la figura 3.13 y considerando frecuencias de trabajo de 20Hz a 20kHz se busca una
lnea que contemple un rango dinmico de 5.8 dcadas e incluya la frecuencia de 20kHz sin
rebasar una atenuacin de -3dB; se encuentran dos posibles lneas marcadas como Rango A y
Rango B en la figura 3.14.

30

Figura 3.14. Posibles rangos de trabajo de corriente de entrada al LOG2112.

Para el Rango A se debe manejar una corriente I2 de 250nA aproximadamente y una corriente I1 de
hasta 4.49mA (equivalente a 4.5mA - 250nA). Ajustando 250nA a la presin acstica de referencia
(1V en la salida del micrfono) se obtiene el valor de la resistencia R1:

R1 =

1V
= 4 .
250nA

Cuando se presentan 140dB de presin acstica el micrfono entregar 14.14Vpico, que produciran
la corriente I1 mxima:

I1mx =

14.14V
= 3.535 A .
4

La corriente de 3.5A rebasa por mucho el rango de entrada permitido por el LOG2112 por lo que el
Rango A no es suficiente para abarcar el rango dinmico del proyecto a 20kHz.
Para el Rango B se debe manejar una corriente I2 de 60A aproximadamente y una corriente I1 de
hasta 4.44mA (equivalente a 4.5mA - 60A). Igualando 60A a la presin acstica de referencia se
obtiene el valor de la resistencia R1:

R1 =

1V
= 0.016
60 A

Calculando ahora la corriente I1 mxima se tiene:

I1mx =

14.14V
= 851A .
4

La corriente de 851A es ya imposible de manejar en el dispositivo. Se observa que el LOG2112 es


capaz de medir corrientes muy pequeas nicamente cuando sus frecuencias son cercanas a la
frecuencia de corriente directa (0Hz), de lo contrario se hace presente la atenuacin por ancho de

31

banda. Es necesario entonces presentar la medicin en varios rangos divididos por amplitud de la
seal.
Se requieren 7 dcadas de rango dinmico para la entrada del LOG2112 (140dB equivalen a 7
dcadas), que a diferencia del rango dinmico del proyecto, abarcan de 20Pa a 200Pa (niveles de
sonido que una persona puede escuchar). Se proponen dos rangos de medicin llamados aqu
como lneas:
- Lnea 1 que abarque de 0 dcadas a 3.5 dcadas
- Lnea 2 que abarque de 3.5 dcadas a 7 dcadas
Expresando el rango de cada lnea de medicin en voltaje se tiene:

Lnea 1 :
10 0 (1V ) = 1V
10 3.5 (1V ) = 3.16mV
1V a 3.16mV
Lnea 2 :
10 3.5 (1V ) = 3.16mV
10 7 (1V ) = 10V
3.16mV a 10V
La Lnea 1 se emplear para medir sonidos de poca amplitud y la Lnea 2 para medir sonidos de
amplitud grande. Se proponen el Rango A y B para medir las Lneas 1 y 2 respectivamente como
se ve en la figura 3.15. Las lneas 1 y 2 emplearn la misma lnea que marca a I2 como 210nA
aproximadamente e I1 como 1mA.
Para la lnea de amplitudes bajas se debe manejar una corriente de 210nA para I2 y una corriente
de hasta 1mA para I1. Ajustando 210nA a la presin acstica de referencia dada por el micrfono
se tiene:

R1 =

1V
= 4.76 .
210nA

Para el valor mximo de la lnea 1 equivalente a 3.16Vrms o 4.46mVpico se tiene la corriente mxima
I1:

I1mx =

4.46mV
= 938A .
4.76

La corriente obtenida de 938A es menor a 1mA y se garantiza que el ancho de banda de 0Hz a
20kHz no ser atenuado ms all de los -3dB.

32

Figura 3.15. Rangos de medicin para amplitudes bajas y altas.

El valor de la resistencia para la corriente constante I2 se calcula con respecto al voltaje de


referencia que entrega el LOG2112.

R2 =

2.5V
= 11.9 M.
210nA

Ahora para la lnea 2 para amplitudes altas se tiene el clculo de R1:

R1 =

3.16mV
= 15.04k .
210nA

Para el valor mximo de la lnea 2 trabajando a 10Vrms o 14.14Vpico se tiene la corriente I1 mxima:

I1mx =

14.14V
= 939 A .
15.04k

La corriente mxima de I1 es menor a 1mA y la medicin en este rango tampoco ser atenuada
ms all de -3dB para una frecuencia mxima de 20kHz.
El diagrama de operacin de este circuito es el mostrado en la figura 3.16.
La seleccin de la salida de voltaje del amplificador logartmico (VLogSalA o VLogSalB) depender del
nivel de presin acstica que exista en ese instante, el cul puede obtenerse mediante un simple
comparador de voltaje para determinar en qu dcada se encuentra la medicin.
Una vez adquirida la salida del amplificador logartmico por un ADC es necesario conocer la
corriente que gener tal respuesta logartmica con respecto a la corriente de referencia de 210nA.
Esto se logra simplemente despejando I1 de la ecuacin 3.4 y se muestra en la ecuacin siguiente:

I 1 = 10

VLogSal

0.5

(210nA) .

33

(3.5)

Figura 3.16. Diagrama bsico de operacin del amplificador logartmico.

El clculo de la corriente de entrada tendr que ser hecho por medio de un microprocesador,
teniendo como contrapunto la demanda de tiempo que requiere calcular potencias de 10 y las
veces que el clculo se har respecto al periodo de muestreo de la seal.
Es importante notar que la seal que entrega el micrfono se encuentra oscilando en ambas
polaridades y el amplificador logartmico slo es capaz de hacer mediciones de corrientes positivas
ya que el clculo del logaritmo de un nmero negativo est indeterminado. Para corregir esta
problemtica se puede agregar un amplificador operacional configurado como sumador de voltaje y
sumar el voltaje pico mximo a la seal del micrfono, teniendo que reajustar o agregar ms
rangos de medicin.
Ser necesario tambin establecer una etapa de proteccin para la entrada I1A del LOG2112
cuando el voltaje de entrada se encuentra en el rango de amplitud alta ya que no se deber
exceder una corriente de entrada de 10mA en esta terminal segn la hoja de caractersticas del
amplificador.
La implementacin del amplificador logartmico LOG2112 es una buena opcin para trabajar
seales pequeas de presin acstica de hasta 0dB o seales de cualquier otro tipo con corrientes
de 100pA o ms, pero la necesidad de integrar etapas de acondicionamiento de seal complica el
circuito. Otra desventaja del integrado es que la seal original no puede ser recuperada sin prdida
al pasarla de una escala logartmica (salida del circuito) a una escala lineal, esto debido a que la
conversin ADC se hace sobre la seal logartmica, teniendo un paso binario exponencial. Los
pasos binarios exponenciales generados tienen diferentes magnitudes a los pasos binarios
lineales.
El uso de esta tcnica proporciona un mtodo para ajustar la escala logartmica de la seal a una
escala lineal pequea del ADC, facilitando clculos como el nivel de sonido continuo equivalente,
pero al tener prdida por la conversin de escalas imposibilita la aplicacin de otros clculos como
el de la respuesta de frecuencia o los filtros de ponderacin digitales.

3.5.3. Adquisicin mediante ADCs de baja resolucin y etapas de amplificacin


Se haba comentado anteriormente que la resolucin de la tarjeta de adquisicin debera ser de al
menos 23 bits para que abarcara un rango dinmico de al menos 140dB.
En el mercado existen ADCs de varias resoluciones que funcionan bajo el principio de
aproximaciones sucesivas, teniendo un tiempo de adquisicin muy rpido y fijo para cualquier valor

34

de entrada. El conversor por aproximaciones sucesivas puede ser explicado utilizando un ejemplo
con una resolucin de 4 bits. En la figura 3.17 se muestra el diagrama bsico de un conversor de 4
bits. Este ADC cuenta con un conversor digital a analgico (DAC) de 4 bits, un registro de
aproximacin sucesiva (SAR) de 4 bits y un amplificador operacional como comparador.

V sal

DAC

D0
D1
D2

Comparador

D3

Entrada
Analgica

Salida
binaria
paralela

MSb

LSb

+
D
Reloj

SAR

>C

Salida
binaria
serial

Figura 3.17. Conversor analgico a digital por aproximaciones sucesivas.

La operacin del ADC se puede ver en la figura 3.18 y se explica a continuacin: se ponen todos
los bits del SAR a 0. Cuando llega un pulso de reloj al SAR, el primer bit (MSb) se pone a 1 y el
DAC entregar un voltaje en la terminal inversora del comparador. Si el voltaje de la entrada
analgica del comparador es mayor al voltaje del DAC, el comparador entregar un 1 en su salida,
poniendo el MSb del SAR a 1; si el voltaje del DAC es mayor al voltaje analgico, el comparador
grabar un 0 en el MSb del SAR. Cuando llega el siguiente pulso de reloj se repite la operacin
pero en este caso para el segundo bit; el DAC genera un voltaje respecto al contenido del SAR y si
la entrada analgica es mayor al voltaje del DAC, habr un 1 en el segundo bit, de lo contrario
habr un 0 en el segundo bit. Esto se repite para el tercer bit en el tercer pulso de reloj y para el
cuarto bit en el cuarto pulso de reloj. Al haber ocurrido 4 pulsos de reloj se habrn obtenido los 4
bits de la medicin.
El voltaje de entrada a medir es de +5V y el voltaje de referencia del DAC interno es de +16V como
se ve en la figura 3.18. Se puede observar que se comienza haciendo una comparacin a 1/2 del
voltaje mximo de medicin (+8V) para obtener el MSb. Posteriormente se agrega 1/4 del voltaje
para el segundo bit, teniendo +4V. En el tercer bit se entregan +2V o 1/4 del voltaje y en el LSb se
entrega +1V o 1/8 del voltaje. Este tipo de medicin divide el rango de voltaje en mitades por cada
bit a adquirir.
La legibilidad lineal es la mnima medicin que un dispositivo digital puede obtener y se calcula con
la ecuacin 3.6.

Leg L =

Vmx escala
2n 1

(3.6)

donde Vmx escala es el valor mximo de la escala a medir y n es el nmero de bits de resolucin del
dispositivo digital. La legibilidad lineal es constante en todo el rango de medicin de un ADC. Para
el caso de los ADC, la legibilidad lineal se puede considerar como la sensibilidad.
Considrese un ADC con resolucin de 9 bits cuya legibilidad lineal se obtiene mediante la
ecuacin 3.7:

35

DAC

+8V

DAC

+4V

2 3 22 2 1 2 0
1 0 0 0

23 2 2 2 1 20
0 1 0 0

+5V

+5V

Pulso 1

D
C

2 3 22 2 1 2 0
SAR
1 0 0 0

Pulso 2

D
C

Reset

Permanece

- Pulso 1. Adquisicin de MSb

- Pulso 2. Adquisicin de segundo bit

DAC

+6V

DAC

+5V

2 3 22 2 1 2 0
0 1 1 0

23 2 2 2 1 20
0 1 0 1

+5V

+
Pulso 3

23 2 2 2 1 20
SAR
0 1 0 0

+5V
0

D
C

2 3 22 2 1 2 0
SAR
0 1 1 0

Pulso 4

D
C

23 2 2 2 1 20
SAR
0 1 0 1

Permanece

Reset

- Pulso 4. Adquisicin de LSb

- Pulso 3. Adquisicin de tercer bit

Figura 3.18. Proceso de conversin analgica a digital por aproximaciones sucesivas de 4 bits.

Leg L =

VREF +
,
2n 1

(3.7)

donde n es el nmero de bits de resolucin. La legibilidad para n=9 y VREF+=2.5V es igual a:

Leg L =

2.5V
= 4.89mV / bit.
29 1

Se haba propuesto que el rango dinmico de la tarjeta de adquisicin fuera de 40dB a 140dB.
Para 40dB se obtendrn 100V en la salida del micrfono y la legibilidad del ADC ejemplificado,
que es de 4.89mV, es mayor a la requerida y por lo tanto no es suficiente.
Para solventar este problema y poder agregar ms resolucin a la adquisicin se pueden agregar
etapas de amplificacin de voltaje que estn ligadas al proceso de conversin por aproximaciones
sucesivas para poder concatenar ms bits de resolucin a la resolucin primitiva del ADC de 9 bits.
Las ganancias involucradas en las etapas de amplificacin debern ser potencias de 2 y debern
garantizar que la legibilidad de la medicin sea la suficiente en la escala lineal (trabajada en Volts o
Pascales) y en la escala logartmica, la cual fue establecida en 0.3dB al principio de este captulo.
El mximo valor a medir es de 140dB (200Pa o 10Vrms) y el mnimo valor a medir es de 40dB
(2mPa o 100Vrms).

36

Despus de poner a prueba varias fracciones en potencias de 2, se encontr que 1/16 de la escala
que medir el ADC requiere de amplificacin. Esto significa que los 15/16 superiores de la escala
pueden ser medidos con legibilidades lineal y logartmica aceptables y que un dieciseisavo inferior
de la escala deber ser amplificado y presentado a otro ADC para poder ser medido
correctamente.
La decisin de que 1/16 de la escala requerira amplificacin se bas en un balance ptimo entre
nmero de bits de resolucin por ADC contra nmero de etapas de amplificacin.
Las etapas de amplificacin se realizarn cuantas veces sea necesario hasta que se alcance a
medir con una legibilidad aceptable las seales de presin acstica equivalentes a 40dB.
Se manejar una legibilidad logartmica de 0.3dB para la tarjeta de adquisicin ya que la mayora
de los sonmetros comerciales la usan por defecto. La legibilidad en una escala logartmica de
nivel de presin acstica al ser adquirida por un ADC se calcula de la siguiente forma:

Vmn escala + Leg L


V
20 log mn escala
Leg dB = 20 log
20 Pa

20 Pa
Vmn escala + Leg L

20 Pa

=
Leg dB = 20 log

Vmn escala

20 Pa

Vmn escala + Leg L


,
Leg dB = 20 log

V
mn escala

(3.8)

donde: Vmn escala es el valor mnimo en la escala en Pascales y LegL es la legibilidad lineal del ADC.
Es importante notar que la legibilidad logartmica no es constante en todos los puntos a diferencia
de la legibilidad lineal. La legibilidad logartmica tiene su mayor valor (o peor valor) entre el punto
de inicio de la escala y el siguiente punto y va decreciendo conforme se acerca al valor mximo de
la escala.
A continuacin se realiza el clculo para la implementacin de las etapas de amplificacin. Se
emplear un ADC con resolucin de 9 bits ya que ste presenta una legibilidad logartmica menor a
0.3dB como se ve en los clculos siguientes. El clculo de la amplificacin requerida se lleva a
cabo con 2.5V ya que se ser el voltaje de referencia que el ADC emplear.
Primera etapa.
- Inicia en 200Pa
- Termina en (1/16)200Pa=12.5Pa
- Legibilidad lineal:

Leg L =

200 Pa
= 391mPa / bit
511

- Legibilidad logartmica:

Leg dB

200 Pa

12.5 Pa +

511 = 0.2677 dB
= 20 log
12.5 Pa

- Amplificacin requerida para ADC:

37

G1 =

2.5V
= 0.1767
mVrms
(200 Pa ) 50
( 2 )
Pa

Segunda etapa.
- Inicia en 12.5Pa
- Termina en (1/16)12.5Pa=0.78125Pa
- Legibilidad lineal:

Leg L =

12.5 Pa
= 24.4mPa / bit
511

- Legibilidad logartmica:

Leg dB

12.5 Pa

0.78125 Pa +

511 = 0.2677 dB
= 20 log
0.78125 Pa

- Amplificacin requerida para ADC:

G2 =

2.5V
mVrms
(12.5 Pa ) 50
Pa

( 2 )

= 2.8284 = G1 * 16

Tercera etapa.
- Inicia en 0.78125Pa
- Termina en (1/16)0.78125Pa=48.8mPa
- Legibilidad lineal:

Leg L =

0.78125 Pa
= 1.52mPa / bit
511

- Legibilidad logartmica:

Leg dB

0.78125 Pa

48.8mPa +

511

= 0.2677 dB
= 20 log
48.8mPa

- Amplificacin requerida para ADC:

G3 =

2.5V
mVrms
(781mPa ) 50
Pa

( 2 )

= 45.25 = G2 * 16

Cuarta etapa.
- Inicia en 48.8mPa
- Termina en (1/16)48.8mPa=3.05mPa
- Legibilidad lineal:

Leg L =

48.8mPa
= 95.4mPa / bit
511

- Legibilidad logartmica:

38

Leg dB

48.8mPa

3.05mPa +

511 = 0.2677 dB
= 20 log
3.05mPa

- Amplificacin requerida para ADC:

G4 =

2.5V
= 724 = G3 * 16
mVrms
(48.8mPa ) 50
( 2 )
Pa

Quinta etapa.
- Inicia en 3.05mPa
- Termina en (1/16)3.05mPa=190.7Pa
- Legibilidad lineal:

Leg L =

3.05mPa
= 5.97 Pa / bit
511

- Legibilidad logartmica:

Leg dB

3.05mPa

190.7 Pa +

511 = 0.2677 dB
= 20 log
190.7 Pa

- Amplificacin requerida para ADC:

G5 =

2.5V
= 11585 = G4 * 16
mVrms
(3.05mPa ) 50
( 2 )
Pa

Se observa que la quinta etapa ya presenta una legibilidad lineal de 5.97Pa/bit y que su escala
termina en 190.7Pa, los cuales ya son inferiores a los requeridos para el rango dinmico del
proyecto (2mPa equivalentes a 40dB), y por lo tanto aceptables. La legibilidad logartmica es
aceptable en todas las etapas de amplificacin al ser 0.2677dB menores a 0.3dB.
Los ADC normalmente presentan errores de conversin en sus bits menos significativos, por lo que
se elegir un ADC de resolucin mayor a 9 bits. Un ADC de mayor resolucin mejorar la
legibilidad logartmica y adems recorrer los errores de conversin en el octavo y noveno bits al
dcimo y onceavo bits. Para el caso de un ADC de 11 bits la legibilidad logartmica se calculara
como sigue para cualquier etapa:

Leg dB

(1 / 16) + 11

2 1 = 0.0676dB ,
= 20 log
(1 / 16)

obteniendo 0.0676dB que siguen siendo aceptables para lo requerido por el sonmetro.
Se realizaron otras comparaciones de nmero de etapas contra resolucin de bits por ADC y se
encontr lo siguiente:

Entre ms etapas de amplificacin se tengan, menos bits de resolucin requerirn los


ADCs.

39

Entre ms bits de resolucin tenga el ADC, menor ser la legibilidad logartmica.

En la figura 3.19 se observan las escalas de cada etapa de amplificacin. Al tener un voltaje del
micrfono habr que ubicarlo en alguna de las 5 etapas de amplificacin. La salida que el ADC de
11 bits entregue en binario siempre tendr una legibilidad aceptable, pero es posible expresar esa
salida concatenando bits de resolucin de las dems etapas de amplificacin en una muestra
equivalente de mayor resolucin binaria.

Figura 3.19. Etapas de amplificacin para aseguramiento de la legibilidad.

40

Primero es necesario conocer el nmero en bits que el circuito entrega cuando se tiene un voltaje
de entrada mnimo de 2mPa (equivalente a 101 0011 1101 en binario en la quinta etapa con
referencia a 3.05mPa segn la figura 3.19) y considerar el comportamiento de un conversor por
aproximaciones sucesivas. Se comienza en la primera etapa, en la cul el MSb valdr 0, el
segundo bit, el tercer bit y el cuarto bit valdrn 0 ya que el voltaje se encuentra en la zona de 1/16
del voltaje. A partir del quinto bit se debe sustituir por la lectura de la siguiente etapa de medicin,
manteniendo el valor de los 4 primeros bits en cero y concatenando los 11 bits de la segunda
etapa; pero la siguiente etapa tambin tendr su primero, segundo, tercero y cuarto bit puestos a
cero ya que el voltaje seguir estando en la zona de 1/16 de la segunda escala. Esta situacin se
repetir hasta la quinta etapa de amplificacin en donde cualquier voltaje es medible y la resolucin
de 11 bits se concatenar completamente a la medicin. Habiendo llegado a la quinta etapa se
tienen 4 bits por cada una de las 4 primeras etapas y 11 bits de la ltima etapa, sumando un total
de 27 bits (ver figura 3.20).

Figura 3.20. Concatenacin de bits para la quinta etapa de amplificacin.

En la lista a continuacin se muestra la resolucin virtual que las muestras obtendrn al pertenecer
a cada una de las etapas de adquisicin, a partir de la figura 3.20.

Muestra ubicada en etapa 5: 27 bits


Muestra ubicada en etapa 4: 23 bits
Muestra ubicada en etapa 3: 19 bits
Muestra ubicada en etapa 2: 15 bits
Muestra ubicada en etapa 1: 11 bits

El rango dinmico terico del circuito a 27 bits es de:

( )

Rango dinmico = 20 log 2 27 + 1.76dB = 164.3dB ,


el cual es ms que suficiente para el proyecto ya que es mayor a 140dB.
La legibilidad lineal del ADC por concatenacin con resolucin de 27 bits en la ltima etapa se
calcula usando la ecuacin 3.6:

Leg L =

(10Vrms )( 2 )
= 105.36nV / bit .
2 27 1

41

Se mencionaba que la medicin ms pequea sera de 100Vrms equivalentes a 40dB. Esta seal
es medible con la legibilidad lineal en la ltima etapa. Pruebas posteriores demostrarn el rango
dinmico efectivo de la tarjeta al conocer el nivel de ruido de fondo de la tarjeta.
Cabe sealar que estas comparaciones slo se estn realizando en la polaridad positiva de la
seal y con voltajes eficaces (Vrms) y que en el siguiente captulo se explicar cmo trabajar con
ambas polaridades de la seal, lo cul implica agregar 1 bit ms de resolucin por cada ADC y
realizar un ajuste del voltaje pico a pico de la seal.

3.6. Conclusiones
El establecimiento de los parmetros de operacin de la tarjeta de adquisicin debe realizarse
siempre teniendo en cuenta lo requerido por las normas internacionales y tambin por las
prestaciones que otros sonmetros comerciales ofrecen. Esto permite disear las diferentes
secciones de la tarjeta conforme a tolerancias conocidas y elegir el material electrnico a integrar
de forma segura. Factores como el ancho de banda y la temperatura de operacin deben ser
especialmente cuidados.
Mediante el anlisis de pruebas acsticas realizadas anteriormente por otros proyectos fue posible
determinar que el ancho de banda analgico mximo a esperar en condiciones ambientales es de
8kHz. La norma IEC especifica un mximo ancho de banda de 16kHz para la clase 1 de
sonmetros pero para delimitar significativamente el costo del microcontrolador se elegir un ancho
de banda de 11kHz. Con una frecuencia de muestreo de 22kSps, la cul se determin con base en
el anlisis correspondiente, ser posible elegir un microcontrolador de bajas prestaciones que sea
capaz de muestrear la seal y realizarle todo el pre-procesamiento necesario para el envo USB a
la PC en tiempo real, adems de que ofrece un ancho de banda intermedio ubicado entre la clase 1
y la clase 2 de la norma sin perder calidad en la adquisicin.
El rango dinmico de la tarjeta fue elegido basndose en el conjunto de sonidos que pueden
presentarse en una ciudad contaminada por ruido, desde un sonido despreciable como el pisado
de hojas secas en un parque hasta sonidos lastimosos causados por el pasar de un jet a pocos
metros de altura de una ciudad.
El uso de un amplificador logartmico para la adquisicin de seales acsticas resulta muy
ventajoso ya que permite la encapsulacin de un gran rango dinmico de seales en un
equivalente logartmico, medible con un convertidor analgico a digital de baja resolucin. Esta
encapsulacin permite el clculo de niveles acsticos con material de bajas prestaciones y con la
legibilidad logartmica suficiente. La desventaja de este mtodo logartmico es que al encapsular
una seal de forma exponencial se pierde su precisin lineal original. Esta prdida de precisin
lineal imposibilita el regreso de la seal a sus unidades originales de ingeniera y la aplicacin de
clculos como la transformada de Fourier o los filtros de ponderacin.
El mtodo propuesto de adquisicin mediante convertidores analgico a digital de baja y resolucin
y con etapas de amplificacin permite asegurar una legibilidad lineal de la seal al mantenerla en
su forma original y tambin permite asegurar una legibilidad logartmica mediante un clculo de la
zona legible de cada etapa analgica.
El cuidado de la legibilidad logartmica de la seal es importante ya que empeora cuando la seal
se acerca a la zona baja de la escala de conversin analgica a digital. Estas zonas son las que se
analizaron para delimitar la zona no legible a 1/16 de la escala.
La concatenacin de muestras legibles en una muestra de mayor resolucin equivalente resulta
sencilla ya que al ser nmeros binarios estos pueden ser multiplicados por potencias de dos
rpidamente mediante instrucciones de desplazamiento binario de la ALU de la mayora de los
microprocesadores. Esta concatenacin tambin ofrece una ventaja funcional frente a varios

42

sonmetros comerciales ya que permite una seleccin automtica del rango acstico en dB; un
sonmetro de bajas prestaciones siempre cuenta con una perilla para la seleccin del rango,
pudiendo perder muestras impulsivas o de niveles bajos por estar ubicado en un rango menor o
mayor a lo esperado.
Si bien la resolucin binaria final del diseo es de 27 bits ms signo, en realidad es una resolucin
virtual que slo existe para las seales ms pequeas del rango dinmico. Para las seales de
mxima amplitud esta resolucin ser de 11 bits ms signo pero no importar el truncamiento de
los dems bits. Este truncamiento siempre est presente en las variables de nmeros reales tales
como las flotantes; adems, el nivel de sonido al ser logartmico desprecia los decimales de las
muestras lineales de acuerdo a la legibilidad logartmica establecida en la tabla 3.1.

43

Captulo 4. Arquitectura de la conversin analgica a


digital y comunicacin USB.
4.1. Introduccin
En este captulo se presentan las bases con las que se dise el circuito electrnico que
acondiciona, amplifica y muestrea la seal acstica. Se presentan las diversas etapas de filtrado
requeridas para poder transportar la seal acstica pequea entre etapa y etapa sin degradarla o
perderla en el camino.
Se comentan los criterios que se tomaron para seleccionar los amplificadores operacionales, los
convertidores analgico a digital (ADC) y el microcontrolador con perifrico USB, todos ellos
basados en los requerimientos fijados en el captulo 3.
Una vez que el circuito fue diseado se presentan los algoritmos empleados para la adquisicin de
la seal y la ubicacin de la muestra legible de entre las diversas etapas de amplificacin. Fue
necesario tambin garantizar parmetros tales como el tiempo de muestreo en el programa del
microcontrolador y el depsito en tiempo real de muestras en un buffer de envo USB. Al haber
recibido las muestras legibles del microcontrolador en la computadora fue necesario convertirlas a
unidades de ingeniera y a muestras equivalentes de mayor resolucin.
La comunicacin USB fue uno de los puntos ms difciles de estudio para el desarrollo de la tarjeta.
Se presenta un resumen de lo aprendido, el cual incluye principios de funcionamiento, modos de
comunicacin, tipos de dispositivos USB y la descripcin del diseo del software que lleva a cabo
la conexin.
Se detalla tambin cmo se garantiz el muestreo en tiempo real de las muestras legibles sobre el
sistema operativo Windows y mediante el uso de arreglos circulares en el firmware del
microcontrolador y el software de la computadora.

4.2. Diseo del circuito electrnico


El sistema de conversin analgica a digital estar conformado por varias partes las cuales se
pueden ver en la figura 4.1. La ruta que la seal acstica sigue es sencilla:

Se genera por el micrfono con ayuda de la fuente de corriente constante.


Se protege con un seguidor de fuente y se elimina la componente C.D. que acarrea.
Se amplifica y monta sobre un voltaje positivo para poder ser presentada a los ADC.
Se aplica un filtro pasa bajas para eliminar cualquier frecuencia alias.
Se convierte a una seal discreta por los ADC.
El microcontrolador elige qu etapa es la que contiene la seal legible.
El microcontrolador enva la seal muestreada en tiempo real por un puerto USB.

Cada uno de los bloques ser descrito a detalle en las siguientes secciones.

4.2.1. Fuentes de corriente directa


El circuito electrnico requiere de fuentes de corriente directa para alimentar el micrfono, los
amplificadores operacionales, el ADC y el microcontrolador PIC. En la tabla 4.1 se enumeran las
fuentes y los circuitos que dependen de ellas.

44

Figura 4.1. Diagrama de bloques de las secciones de la tarjeta de adquisicin.


Tabla 4.1. Fuentes de alimentacin y circuitos conectados a ellas.

+18V
+15V
-15V
+6.6V
+5V

Fuente de corriente constante IEPE


Amplificadores operacionales
Amplificadores operacionales
LM324 para proteccin de voltaje de ADC
Microcontrolador y ADCs

Es altamente importante que las fuentes de alimentacin presenten poco ruido ya que cualquier
seal pequea en la alimentacin de los amplificadores operacionales puede ser amplificada
significativamente en la ltima etapa y representada como ruido. El uso de fuentes conmutadas
slo es recomendable si presentan una frecuencia de conmutacin ms all de la frecuencia de
corte del filtro anti-alias, cuya respectiva atenuacin sea igual o menor a la proporcin de seal
respecto a ruido admisible.

4.2.2. Alimentacin del micrfono y filtro anti-offset


El micrfono empleado en la medicin es el modelo MP201 de la compaa BSWA. Es un
micrfono piezoelctrico prepolarizado que debe conectarse a un preamplificador MA211 que lo
alimenta y adquiere la seal elctrica que l genera. El micrfono y su amplificador se pueden ver
en la figura 4.2.

Figura 4.2. Micrfono MP201 y Preamplificador MA211.

Este preamplificador debe alimentarse con una fuente de corriente constante que opere bajo el
estndar IEPE (Integrated Electronics Piezo Electric) y es recomendable que sea de 4mA como se

45

mencion en el captulo 3. El diagrama bsico de funcionamiento del sensor IEPE del micrfono es
el visto en la figura 4.3.

Seguidor
de fuente

Micrfono
Pre-Amplificador
cable coaxial

Piezo-Elctrico
Capacitancia del cable (100pF/m aprox.)
Filtro pasa-altas
Fuente de corriente constante IEPE
R

Impedancia del amplificador


Fuente de alimentacin >24V

Figura 4.3. Fuente IEPE para micrfono prepolarizado.

La corriente de 4mA entra al preamplificador del sensor y el sensor entrega un voltaje proporcional
a la presin acstica que est midiendo. Esta corriente constante de 4mA se gener mediante el
circuito integrado LM334 que mediante dos resistencias y un diodo puede entregar 4mA constantes
sin ser afectado por la temperatura. El circuito se ve en la figura 4.4.

Figura 4.4. Circuito LM334 para corriente constante IEPE.

La seal de salida llega montada sobre un voltaje de polarizacin de corriente directa (offset) que
para el micrfono MP201 es de 13.5V aproximadamente (ver figura 4.5). Este voltaje es

46

Rango dinmico

desmontado de la componente de polarizacin mediante el filtro pasa altas formado por el


capacitor Cc y la resistencia RI de la figura 4.3.

Figura 4.5. Salida de voltaje del micrfono IEPE.

Es necesario implementar el filtro eficientemente ya que el offset de 13.5V que entrega el


micrfono se vera incrementado significativamente etapa por etapa imposibilitando el transporte de
la seal hasta la ltima etapa.
La frecuencia de corte del filtro se calcul usando la ecuacin 4.1 y proponiendo los valores de R y
C.

fc =
fc =

1
2RC

(4.1)

1
= 20.03Hz .
2 (169k)(0.047 F )

La frecuencia de corte de 20Hz es apropiada ya que el proyecto requiere mediciones de 20Hz a


11kHz y cualquier componente de frecuencia que se encuentre por debajo de los 20Hz no es
garantizada por la respuesta de frecuencia del micrfono MP201. El circuito resultante puede verse
en la figura 4.6.

Figura 4.6. Filtro pasa altas de 20Hz.

Al implementar el filtro analgico se eliminan las componentes de frecuencia no deseadas pero


tambin se afecta la fase de las dems componentes. La seal acstica de salida contiene

47

desfasamientos de algunas componentes y atenuacin sobre otras, siendo una seal


distorsionada. An no se sabe cunto afecta el desfasamiento de componentes de frecuencia al
anlisis de niveles de ruido de forma certera, no existen normas o procedimientos de medicin al
respecto [27]. La distorsin de fase es difcil de medir ya que se requiere de componentes con
respuesta de fase lineal. Existen artculos que evalan la distorsin bajo condiciones especiales y
se han encontrado diferencias auditivas al ser escuchada por personas pero an no se logra
generar algn estndar al respecto [28].

4.2.3. Etapas de amplificacin y ajuste de polaridad


El circuito terico a emplear para las etapas de amplificacin se ve en la figura 4.7.

Figura 4.7. Circuito con etapas de amplificacin y filtros pasa altas.

Bsicamente se tiene una amplificacin, un filtro anti-offset y una suma de 2.5V por cada etapa. La
ganancia de la amplificacin est dada por la arquitectura del ADC por concatenacin que se
quiere obtener; el filtro anti-offset elimina el offset de salida del amplificador operacional; y la suma
de 2.5V es un simple ajuste de polaridad que asegura que la seal legible siempre sea positiva
para ser medida por el ADC, cuya ventana de medicin es de 0V a 5V.
La entrada de la seal acstica a la tarjeta se delimit a 10Vrms pudiendo tener hasta 28.2Vpp en la
entrada y dando libertad de conectar otros micrfonos o pre-amplificadores. La primera etapa de
amplificacin debe ajustarse como atenuacin para que el voltaje mximo no dae la entrada del
primer ADC.
El clculo de la ganancia de la etapa 1 se ve a continuacin y se calcula respecto al voltaje pico a
pico que la seal de entrada puede abarcar.

G1 =

5V
= 0.1767
(10Vrms )(2)( 2 )
48

La ganancia de las siguientes etapas es de 16 debido a que fue la zona no legible que requiere
amplificacin y que se estableci en el captulo 3. La salida de una etapa se coloca a la entrada de
otra etapa de amplificacin incrementando la ganancia en cascada hasta llegar a la ltima
ganancia requerida de 11586 en la quinta etapa. El clculo de la ganancia mxima se ilustra a
continuacin.

G 5 = (0.1768)(16 4 )
G5 = (0.1768)(65536)
G5 = 11586
Pero existe un inconveniente en el sistema de la figura 4.7, se observa que para obtener una
lectura en cualquier etapa diferente a la 1 se tienen al menos dos amplificadores operacionales en
cascada y conforme se van conectando ms de ellos el offset de cada uno es acumulado y luego
amplificado 16 veces. Para evitar esto se podra haber conectado la salida de cada amplificador a
un filtro anti-offset pero esto desfasara la seal de una etapa respecto a otra, teniendo hasta 5
desfasamientos en la ltima etapa debidos a los filtros.
La solucin a este problema se encontr en el uso de amplificadores operacionales de bajo offset
de entrada. El offset de entrada es una diferencia de voltaje entre las terminales de entrada del
amplificador que se ve reflejada en la salida del amplificador.
Mediante la prueba de varios amplificadores operacionales y la comparacin de precios se eligi el
amplificador OP177G de la compaa Analog Devices [29]. Las caractersticas principales de este
circuito son las vistas en la tabla 4.2.
Tabla 4.2. Caractersticas del circuito OP177G.

Offset de entrada
Consumo de corriente
Empaque
Voltaje de entrada
Voltaje de alimentacin
Ancho de banda
Impedancia de entrada

100V a 25C
2mA mx.
DIP
14V
15V
600kHz
45M

Se observa en la figura 4.7 que la quinta etapa ya no cuenta con un filtro anti-offset y que se
conecta al filtro anti-offset de la cuarta etapa. Esta conexin garantiza que cualquier canal tenga un
solo retraso debido al filtro.
Solo los amplificadores del lado izquierdo de la figura 4.6 sern de bajo offset ya que son los que
acarrean la seal hasta la ltima etapa. Para los dems amplificadores se eligi el TL062CP, un
circuito de dos amplificadores operacionales de uso general y bajo costo [30].
El offset de 100V que puede entregar el OP177G es insignificante en las primeras dos etapas
teniendo como mximo 100V en la primera y 1.6mV en la segunda, pero al estar usando un
sistema en cascada el offset podra alcanzar un nivel de 6.55V en la cuarta etapa. Es necesario
atenuarlo entonces hasta un voltaje menor o igual a 1/16 de la escala legible de la medicin. El
voltaje mximo de la escala que se usar en el ADC es de 2.5V por polaridad y efectuando un
clculo de atenuacin con 1/16 se tiene lo siguiente:

2.5V (1 / 16)
Atenuacin = 20log
= 32.44dB.
6.55V

49

Los filtros anti-offset empleados son similares al usado en la entrada del micrfono con frecuencia
de corte de 20Hz (R = 169k y C = 0.047F). El filtro es de primer orden, por lo que presenta una
atenuacin de -6dB/octava. Se puede obtener la atenuacin por medio de aproximaciones en una
frecuencia cercana a 0Hz, equivalente a la componente en donde se presenta el offset.
3

Haciendo uso del software gratuito FilterLab v2.0 de Microchip es posible obtener un diagrama de
Bode del comportamiento del filtro, el cual se ve en la figura 4.8. Teniendo como dato 0.5Hz se
puede tabular una atenuacin de aproximadamente -32dB en un punto donde la pendiente ya sea
estable.

Figura 4.8. Curva de respuesta de frecuencia del filtro pasa altas de 20Hz.

Comenzando en 0.5Hz y desplazndose por octavas hacia el cero se tiene lo siguiente:


0.5Hz -32dB,
0.25Hz -38dB,
0.125Hz -44dB,
0.0625Hz -50dB,
0.03125Hz -56dB,
0.015625Hz -62dB.
Una atenuacin de -38dB se presenta a 0.25Hz por lo que la atenuacin a 0Hz es mucho mayor a 32.44dB garantizando as la atenuacin eficiente del offset de los amplificadores operacionales.

4.2.4. Filtro anti-alias


El efecto alias es la aparicin de seales de frecuencias mayores a la frecuencia Nyquist como
seales de frecuencias menores o iguales a la frecuencia Nyquist debido a la conversin de una
seal continua a una seal discreta.

Pgina web del software FilterLab:


http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en01000
7

50

El teorema de Nyquist menciona que si una f (t ) no contiene frecuencias mayores a B Hertz,


entonces sta se puede determinar completamente muestrendola con una frecuencia A de 2B
Hertz [31].
Las seales que se presentan como alias pueden ser seales acsticas, seales elctricas
generadas en algn punto del circuito de acondicionamiento o seales electromagnticas que hay
en el ambiente que rodea al circuito. Estas seales tienen una respuesta de frecuencia que abarca
desde 0Hz hasta el infinito, pero entre mayor sea su frecuencia mayor es su atenuacin.
Por ejemplo, si se realiza un muestreo a 10kSps de una seal pura de 7kHz que rebasa la
frecuencia Nyquist de 5kHz, la seal discreta resultante ser una seal de 2kHz, situacin que es
no permitida ya que acarrea confusin en el anlisis de seales. Es por ello que toda seal que
rebase la frecuencia Nyquist debe ser eliminada antes de ser convertida por el ADC.
Una seal alias puede presentarse en la tarjeta de adquisicin ya que existen varias fuentes de
ruido que pueden mezclarse con la seal acstica y obtener amplitud importante al ser
amplificadas 11586 veces en la ltima etapa.
El filtro se dise usando el software FilterLab. Los parmetros de diseo fueron los siguientes:

Frecuencia de corte (Nyquist): 10.99kHz


Frecuencia de muestreo: 22kSps
Proporcin de seal respecto a ruido: -24dB (1/16 en la escala lineal)

El circuito resultante de orden 1 se puede ver en la figura 4.9.

Figura 4.9. Circuito del filtro anti-alias.

Se comprueba la frecuencia de corte haciendo uso de la ecuacin 4.1:

fc =

1
= 10826 Hz .
2 (14.7 k)(0.001F )

Se eligi una proporcin de seal respecto al ruido (Sound to Noise Ratio - SNR) de -24dB ya que
la seal legible de cada etapa es de 1/16 y cualquier seal menor a 1/16 puede ser tomada en
cuenta como ruido, o para el caso del filtro, como una seal alias. El clculo del SNR se ve a
continuacin:

1
SNR = 20 log
16
SNR = 24.08dB.
El uso del filtro con orden 1 es suficiente ya que la seal acstica slo presenta frecuencias
importantes hasta los 8kHz como se describi en el captulo 3 y el ruido electromagntico que

51

pudiera entrar al circuito por el medio ambiente se puede atenuar haciendo uso de una jaula de
Faraday conectada a la tierra fsica del circuito.
Una jaula de Faraday es una caja o cpsula, construida con metal o alguna rejilla de metal, que se
encarga de evitar la entrada de campos electrostticos hacia el interior de la misma. Su operacin
se basa en el hecho de que un campo electrosttico externo causa que las cargas electrostticas
de la cobertura se redistribuyan y as cancelen el efecto en el interior. Esta jaula demuestra que la
medicin de una carga elctrica depende del estado elctrico del observador [32].
En el diseo del circuito impreso se tuvo especial cuidado en no aproximar pistas elctricas que
tuvieran seales de baja magnitud con seales de alta magnitud. Esto ayuda a prevenir el ruido por
oscilaciones generadas por la cercana de seales de amplitudes diferentes.

4.2.5. Seleccin del ADC de bajas prestaciones


Una vez que las seales amplificadas son filtradas se presentan a las entradas de cinco ADC, uno
por etapa. Se haba comentado en el captulo 3 que el ADC a elegir deba contar con al menos 11
bits de resolucin para que la medicin en su etapa correspondiente presentara una legibilidad
logartmica aceptable.
Tambin es necesario recordar que el clculo de la legibilidad logartmica se realiz para una seal
en Pascales con polaridad positiva. La seal en el circuito est montada sobre un offset de +2.5V
que es equivalente al nivel de 0Pa, permitiendo as que cualquier seal con polaridad negativa
ocupe la ventana de 0V a 2.5V de la escala del ADC.
Esta adicin de una escala negativa implica la adicin de 1 MSb ms a la resolucin del ADC. Si la
seal es positiva, el bit valdr 1 y si la seal es negativa, el bit valdr cero.
Otros detalles importantes a elegir del ADC son su frecuencia de muestreo, ancho de banda y
voltaje pico a pico mximo de la entrada analgica, teniendo como requerimientos mnimos para la
tarjeta los siguientes:

Resolucin de 11 bits ms signo


Frecuencia de muestreo 22kSps
Ancho de banda de 11kHz
Voltaje analgico de entrada de 5Vpp

Se eligi el ADC MCP3201 de la compaa Microchip por su bajo costo y por contar con las
siguientes bondades [33]:

Resolucin de 12 bits
Circuito de muestreo y retencin integrado
Bus de comunicaciones SPI estndar (Serial Peripheral Interface, por sus siglas en ingls)
Operacin de 5V
Muestreo de hasta 100kSps
Temperatura industrial de -40C a +85C
Empaque DIP
Voltaje analgico de entrada de 5Vpp

La arquitectura por bloques del MCP3201 se puede ver en la figura 4.10. Esta arquitectura est
basada en la conversin por aproximaciones sucesivas detallada en el captulo anterior.
Hoy en da la mayora de los microcontroladores cuentan con un ADC interno y varios canales
multiplexados para muestrear varias seales con un solo ADC. An as, el microcontrolador

52

siempre tiene que esperar un periodo de algunos microsegundos entre cambio de canales debido a
que se debe actualizar el voltaje del circuito de muestreo y retencin. Esta espera implicara una
medicin no simultnea de las 5 etapas de amplificacin imposibilitando el ensamble de una seal
discreta con periodo de muestreo constante.

Figura 4.10. Diagrama a bloques del MCP3201 (cortesa de Microchip).

Es por ello que se integraron cinco ADC MCP3201 cuyo muestreo fuera disparado
simultneamente por el microcontrolador sin tener retrasos entre cambio de etapas. La interfaz SPI
de este ADC cuenta con 3 lneas que facilitan el control sincrnico de los cinco convertidores:

CLK. Que es el reloj que determina el periodo de muestreo.


DOUT. Que es la lnea que entrega de forma serial los 12 bits de la muestra.
CS. Que es una entrada que habilita o deshabilita la interfaz SPI.

Es importante que el microcontrolador cuente con las muestras sincronizadas de cada etapa
porque ser l quin decida qu etapa es la que cuenta con una medicin legible. Esta operacin
se detallar ms adelante en este captulo.
Un efecto que tiene la amplificacin en cascada del sistema propuesto es que existen
indudablemente etapas que estarn saturadas debido a que las etapas que las preceden cuentan
con un voltaje dentro de la escala legible, es decir, mayor a 1/16. Cuando la etapa siguiente recibe
el voltaje y lo amplifica es probable que sature la seal con picos de 14V, cercanos a los voltajes
de saturacin de los amplificadores operacionales.
Esto implica un riesgo de dao para las entradas analgicas de los ADC involucrados. El MCP3201
es capaz de recibir seales de -0.6V a +5.6V cuando opera a 5V de alimentacin. Si recibiera picos
de 14V se daara en unos pocos segundos.
Para protegerlo se emple el LM324 que es un circuito que contiene cuatro amplificadores
operacionales unipolares [34]. Este circuito es un amplificador operacional de uso general, pero
para esta tarjeta se seleccion por tener una fuente unipolar y porque presenta un comportamiento
peculiar ante seales bipolares.
Si se conecta una seal sinusoidal de 28Vpp a algn amplificador operacional del LM324 en su
salida se observar que ocurre una rectificacin de la seal, pero esta vez con saturacin
ligeramente menor al voltaje de saturacin positivo del LM324. Este comportamiento se puede ver

53

en la figura 4.11, donde el canal 1 del osciloscopio muestra la seal sinusoidal modificada,
atenuando su polaridad negativa y el canal 2 muestra la seal de salida recortada a un rango de 0V
a 5V que entrega la salida del amplificador, lo cual es apropiado para la entrada del MCP3201.

Figura 4.11. Recorte de una seal saturada por el LM324.

4.2.6. Microcontrolador PIC


Para la integracin y control de los ADC, pre-procesamiento de las muestras, eleccin del canal
con la muestra legible y envo de la seal discreta era necesario contar con un microcontrolador
capaz de hacer todo esto en tiempo real.
Como caractersticas base se requera lo siguiente:

Ser capaz de realizar un muestreo disparado cada T = 45.45s, equivalente al periodo de


muestreo de 1 / 22kSps.
Ser capaz de generar un tren de pulsos CLK para los ADC con frecuencia de alrededor de
1.6MHz.
En un periodo T ser capaz de:
o leer simultneamente las cinco salidas seriales DOUT de los ADC,
o ensamblarlas en 5 variables de 12 bits cada una,
o elegir la muestra con legibilidad ptima y
o depositarla en un arreglo circular.
Contar con hardware interno que permita la comunicacin USB.
Contar con memoria RAM suficiente para albergar los reportes USB a enviar.

Se eligi el microcontrolador PIC18F2550 de la compaa Microchip ya que cuenta con el hardware


USB requerido, la memoria RAM suficiente para los buffers de almacenamiento de muestras, una
velocidad de 12MIPS y un nmero suficiente de terminales de entrada/salida para la conexin de
los cinco ADC [35].
En la tabla 4.3 se muestran las caractersticas ms significativas del PIC. La familia de
microcontroladores PIC18 cuenta con cdigos de operacin optimizados para la programacin en

54

lenguaje C y para este proyecto se emple el compilador de la compaa Custom Computer


4
Services en su versin PCH para PIC18 v4.084.
Tabla 4.3. Caractersticas del PIC18F2550.

Velocidad de procesamiento
Versin USB
Velocidad USB
RAM
Voltaje de operacin
Temporizadores
Temperatura de operacin
Empaque

12MIPS
2.0
Low Speed (1.5Mbps) y Full Speed (12Mbps)
2kB
2V a 5.5V
3 de 16 bits
-40C a +85C
DIP de 28 pines

El compilador ofrece plantillas de cdigo fuente para programar los diversos perifricos con los que
cuenta el PIC y entre esas plantillas se encuentra el manejo del perifrico USB para la clase de
dispositivos de interfaz humana. Cabe sealar que para la optimizacin de la carga de trabajo
debida al muestreo y envo USB de la seal fue necesario redisear algunas funciones de las
plantillas mencionadas.
EL PIC18F2550 puede tener un reloj de hasta 48MHz para la ejecucin del CPU y ejecuta una
instruccin por cada 4 ciclos de reloj, por lo que puede alcanzar una operacin de hasta 12MIPS.
Cabe sealar que la frecuencia de muestreo de la tarjeta de adquisicin era originalmente de
25kSps por lo que el temporizador 0 del PIC deba estar configurado a 40s. En este periodo el
PIC tena que muestrear en serie los cinco ADCs, ensamblar bit a bit las cinco palabras de 12 bits,
comparar el nivel de la seal en cada etapa y depositar la seal legible en el buffer de envo USB.
Desafortunadamente se realizaron muchas optimizaciones de cdigo con lenguaje ensamblador y
ahorro de lneas en lenguaje C pero el PIC no poda ejecutar todo lo anterior en menos de 40s.
Mediante un crecimiento del periodo de muestreo a 45.45s se logr que el PIC tuviera un tiempo
suficiente de proceso de las muestras y adems permiti tambin la inclusin de interrupciones del
perifrico USB. Esto es lo que delimit la frecuencia de muestreo de la tarjeta a 22kSps.

4.3. Algoritmos de adquisicin y procesamiento de las muestras


El proceso de muestreo de la seal est comprendido en varias etapas:

Aseguramiento de un periodo de muestreo de 45.45s.


Control y lectura de los cinco ADCs de forma simultnea.
Bsqueda de la seal legible dentro del conjunto de las cinco muestras ADC.
Colocacin de la muestra dentro del buffer de envo USB.

4.3.1. Aseguramiento de un periodo de muestreo de 45.45s


El PIC cuenta con un temporizador de 16 bits que puede avanzar un paso por cada ciclo de
instruccin del procesador y cuando se desborda el conteo de 16 bits se interrumpe el flujo del
programa principal y se ejecuta una sub-rutina de atencin a la interrupcin. Existen otros divisores
de tiempo que ayudan a que cada paso del temporizador tome ms de un ciclo de instruccin pero
para esta aplicacin la escala 1:1 fue suficiente.
Para configurar el tiempo de desbordamiento del temporizador slo basta aplicar la ecuacin 4.2:
4

Pgina web del compilador CCS: http://www.ccsinfo.com

55

16
tD =
2 t ,
12 MIPS

(4.2)

donde:
tD es el tiempo entre desbordamientos,
t es el tiempo a cargar en el contador del temporizador.
El valor de tD para la tarjeta es de 45.45s por lo que realizando un despeje se tiene que:

t = 65536 (t D )(12 MIPS )

t = 65536 (45.45s )(12 MIPS )


t = 64990.6 64991.
Pero no es suficiente con cargar este tiempo en el contador del temporizador ya que esto slo
asegura que la interrupcin ocurra cada 45.45s y no toma en cuenta el tiempo que toma hacer
una copia de seguridad de los registros de estado, acumulador de la ALU y dems variables
temporales que usa el lenguaje C en la ejecucin del programa principal interrumpido.
El ajuste fino del periodo de muestreo puede realizarse de dos formas:

Contando el nmero de instrucciones que realizan la copia de seguridad de las variables


voltiles y convertirlo a tiempo, restando entonces pasos a la variable t de la ecuacin 4.2.
Realizando una medicin externa con osciloscopio y ajustando el valor t por prueba y error.

Se eligi la segunda opcin y se conect al osciloscopio la terminal de entrada/salida CS que


cambia su estado por software cuando ocurre el desbordamiento (ver tabla 4.4). El tiempo t
resultante fue de 65037, observando entonces que transcurren 46 ciclos de instruccin entre el
desbordamiento y la atencin a la sub-rutina (3.83s aproximadamente).

4.3.2. Control y lectura de los cinco ADCs de forma simultnea


Haciendo uso de la interrupcin por hardware del temporizador de 16 bits se realiz el muestreo de
los cinco ADC con un periodo de 45.45s. La conexin a los ADC se realiz mediante 7 terminales
de entrada/salida del PIC como se ve en la tabla 4.4:
Tabla 4.4. Conexin de los cinco ADCs al PIC18F2550.

Terminal del ADC


CS
CLK
DOUT Canal 0
DOUT Canal 1
DOUT Canal 2
DOUT Canal 3
DOUT Canal 4

Terminal del PIC18


RB5
RB6
RA0
RA1
RA2
RA3
RA4

Mediante la terminal CS se activan de forma simultnea los cinco ADCs y conforme se reciben los
bits de la medicin se va muestreando el puerto A del PIC, para posteriormente ensamblar bit a bit
las cinco mediciones de 12 bits.
El proceso de adquisicin de cada ADC se puede ver en la figura 4.12 y est descrito a
continuacin.

56

Figura 4.12. Diagrama de tiempos para muestreo con MCP3201.

La frecuencia del tren de pulsos CLK se calcula multiplicando por 16 la frecuencia de muestreo
destinada al ADC. Este ADC puede muestrear hasta 100kSps y ser sa la velocidad a considerar
como la frecuencia de muestreo para una sola muestra. El muestreo del PIC no est configurado a
100kSps por lo que se apagar la salida CLK cuando ste no sea necesario nicamente
activndose cada 45.45s.
Teniendo entonces una seal CLK de hasta 1.6MHz para 100kSps es necesario determinar si el
PIC puede generar un tren de tal frecuencia. El PIC es capaz de cambiar el estado de una terminal
de entrada/salida con un periodo de 83.3ns dado por su velocidad de ejecucin de 12MIPS y el
periodo requerido de la seal CLK es de 625ns, teniendo 312.5ns en alto y 312.5ns en bajo.
Si se divide el periodo CLK entre el periodo CPU del PIC se tiene lo siguiente:

312.5ns
= 3.75 instrucciones .
83.3ns
Se redondea la cantidad y se determina que el pulso alto y el pulso bajo de la seal CLK deber
valer 4 ciclos de instruccin del CPU, siendo esto igual a 333.3ns, o bien, una frecuencia de
1.5MHz bastante cercana a los 1.6MHz mximos que el MCP3201 admite.
La comunicacin con los cinco ADC inicia colocando la terminal CS en bajo por al menos un tiempo
de 100ns. Si los ADC fueron encendidos con la terminal CS en bajo, sta debe ser puesta en alto
al principio del programa del PIC y cambiada al iniciar la comunicacin. Los ADC empezarn a
muestrear la seal en el primer flanco de subida de CLK despus de que CS cambia a bajo. El
periodo de muestreo terminar en el flanco de bajada del segundo reloj y los ADC entregarn un bit
nulo en sus terminales DOUT. Los siguientes doce relojes entregarn el resultado de la conversin
con el MSb primero como se ve en la figura 4.12. Cada que se entrega un bit por cada terminal
DOUT el PIC guarda el estado de las terminales RA0 a RA4 en una sola instruccin de lectura de
puerto A.
Una vez que se han recibido los 12 bits de los cinco ADC es necesario ensamblarlos en cinco
palabras de 12 bits cada una mediante el uso de las instrucciones de rotacin con bandera Carry
del PIC, una instruccin nicamente encontrada en lenguaje ensamblador del PIC18 con un
equivalente en lenguaje C de mnimo 3 lneas.
Un ejemplo de uno de los pasos para ensamblar la muestra de 12 bits se ve en la figura 4.13. El
primer byte es la imagen del bit 11 de cada uno de los cinco ADC, teniendo entonces DOUT4 a DOUT0
dentro del byte. Se deposita DOUT0 en el LSb del byte alto de la muestra del ADC0, posteriormente
se deposita DOUT1 en el LSb del byte alto de la muestra del ADC1. Lo mismo se realiza para DOUT2,
DOUT3 y DOUT4 habiendo entonces limpiado la imagen del bit 11. Despus se realiza lo mismo para
los bits 10, 9 y 8 llenando as los cuatro bits del byte alto de los ADC. Posteriormente se realiza la
misma operacin con los bytes imagen de los bits 7 a 0 de cada uno de los cinco ADC pero esta
vez llenando el byte bajo de los ADC.

57

Bit 11 de cada ADC antes de rotar


x

DOUT4
1

DOUT3
0

DOUT2
1

DOUT1
0

DOUT0
1

Carry
x

DOUT4
1

DOUT3
0

DOUT2
1

DOUT1
0

Carry
1

Carry
1

Carry
x

DOUT4
1

DOUT3
0

DOUT2
1

DOUT1
0

Carry
x

DOUT4
1

DOUT3
0

DOUT2
1

Carry
0

Carry
0

Carry
x

Resultado de la primera rotacin


x

Byte alto de muestra de ADC0 antes de rotar


x

Resultado de la rotacin del byte alto ADC0


x

Bit 11 de cada ADC antes de segunda rotacin


x

Resultado de la segunda rotacin


x

Byte alto de muestra de ADC1 antes de segunda rotacin


x

Resultado de la rotacin del byte alto ADC1


x

Figura 4.13. Ejemplo de rotaciones del bit 11 para ensamblar la muestra de 12 bits por ADC.

Se realizan 120 rotaciones en total para generar las cinco muestras de 12 bits en un tiempo
optimizado de 15.91s calculado de acuerdo al nmero de lneas de cdigo en ensamblador
generado.

4.3.3. Bsqueda de la seal legible dentro del conjunto de las cinco muestras ADC
En la figura 4.14 se muestra la escala actualizada de las zonas legibles de cada etapa de
amplificacin. Se presentan ahora los valores pico de la seal en Pascales y Volts calculados con
una sensibilidad del micrfono de 50mV/Pa. Al contar con una divisin de 1/16 de la escala cada
etapa abarca entonces un rango dinmico de 24dB.
Una vez que se tienen las cinco variables de 12 bits de cada etapa de amplificacin es necesario
determinar qu muestra presenta la seal legible. La seal legible slo estar presente en un solo
canal; los canales que preceden al canal legible tendrn siempre una seal menor a 1/16 de la
escala y los canales posteriores al canal legible tendrn una seal saturada 16 veces.
Se haba comentado que el ADC a emplear requera de una resolucin de 11 bits para garantizar
una mejor legibilidad y de un bit ms para albergar la polaridad negativa de la seal, contando as

58

con 4096 pasos. El bit que indica la polaridad de la muestra ser el bit 11 y los bits 10 a 0 sern los
que indican la magnitud de la muestra.
282.84Pa
14.14V
140dB

17.67Pa
883mV
116dB

16/16
Primera
etapa

16/16
Segunda
etapa

Zona con
legibilidad
aceptable

Zona con
legibilidad
aceptable

17.67Pa
883mV
0Pa

1/16 Zona con


amplificacin
requerida

1.104Pa
55.2mV
0Pa

1/16 Zona con


amplificacin
requerida

1.104Pa
55.2mV
92dB

16/16

69mPa
3.45mV
68dB

16/16

69mPa
3.45mV
0Pa

Tercera
etapa

Cuarta
etapa

Zona con
legibilidad
aceptable

Zona con
legibilidad
aceptable

4.31mPa
215uV
0Pa

1/16 Zona con


amplificacin
requerida
4.31mPa
215uV
43.6dB

1/16 Zona con


amplificacin
requerida

16/16
Quinta
etapa
Zona con
legibilidad
aceptable

269uPa
13.46uV
0Pa

Sensibilidad
empleada de
50mV/Pa

1/16 Zona de
ruido

Figura 4.14. Etapas de amplificacin con lmites ajustados con sensibilidad de 50mV/Pa.
11

Entonces el rango de la medicin abarca 2 pasos teniendo as un rango de 0 a 2047. Sobre ese
rango es donde se debe aplicar la divisin de 1/16 de la zona no legible. En la figura 4.15 se
observa este detalle.
La seal viene montada sobre un offset de 2.5V que se representa como el nivel de tierra de la
seal para el ADC. Este nivel de 2.5V est representado como la mitad de la escala del ADC de 12

59

bits teniendo su equivalencia binaria en 2048. A partir del nivel de 2048 se calcula el nivel de 1/16
que equivale a 128 pasos.
4095

Zona legible

Polaridad
positiva

1/16 = 2176

2048

Zona no legible

1/16 = 1920

Polaridad
negativa

Zona legible

0
Figura 4.15. Divisin de la zona legible en ambas polaridades.

Se suman 128 pasos a 2048 para conocer el lmite de la zona no legible positiva y se restan 128
pasos a 2048 para conocer el lmite de la zona no legible negativa, siendo 2176 y 1920
respectivamente.
El PIC realiza la comprobacin de estas zonas desde la primera etapa. Si el voltaje que midi se
encuentra dentro del rango de 1920 a 2176 entonces debe evaluar la muestra de la siguiente
etapa. Si la muestra estaba en la zona legible entonces se deposita la variable en el buffer de envo
USB y descarta las dems etapas.
Cada muestra ADC tiene un tamao de 12 bits por lo que son almacenadas en variables de 2
bytes. El byte ms alto contiene los 4 bits ms significativos de la muestra y tiene 4 bits libres, los
cuales se emplean para indicar en qu etapa de amplificacin se encontr la muestra legible. De
esta forma la computadora que recibir las muestras sabr qu amplitud real tiene la muestra
recibida y qu tratamiento deber darle.
La computadora recibir los paquetes de muestras por el puerto USB y deber llevar a cabo la
concatenacin de las muestras del ADC como se describi en el captulo 3 y de acuerdo a los
siguientes pasos:

Se debe investigar qu polaridad tiene la muestra mediante la revisin del bit 11. Si vale 1
la muestra es de polaridad positiva y si vale 0 es negativa.
Se debe comprobar a qu etapa de amplificacin corresponde la muestra.
o Primera etapa, polaridad positiva.
16
 Se borra el bit 11 y se multiplica la muestra por 2 .
o Primera etapa, polaridad negativa.
 Se resta 2048 a la muestra.
16
 Se multiplica la muestra por 2 .
o Segunda etapa, polaridad positiva.
12
 Se borra el bit 11 y se multiplica la muestra por 2 .

60

o
o

o
o

o
o

Segunda etapa, polaridad negativa.


 Se resta 2048 a la muestra.
12
 Se multiplica la muestra por 2 .
Tercera etapa, polaridad positiva.
8
 Se borra el bit 11 y se multiplica la muestra por 2 .
Tercera etapa, polaridad negativa.
 Se resta 2048 a la muestra.
8
 Se multiplica la muestra por 2 .
Cuarta etapa, polaridad positiva.
4
 Se borra el bit 11 y se multiplica la muestra por 2 .
Cuarta etapa, polaridad negativa.
 Se resta 2048 a la muestra.
4
 Se multiplica la muestra por 2 .
Quinta etapa, polaridad positiva.
 Se borra el bit 11.
Quinta etapa, polaridad negativa.
 Se resta 2048 a la muestra.

Es importante que las muestras resultantes sean almacenadas en variables tipo entero de 32 bits
con signo ya que las muestras de la primera etapa sern las que mayor amplitud tendrn pudiendo
ser de hasta 28 bits como se explic en el captulo 3.
4

Se puede observar que el coeficiente de las multiplicaciones entre etapa y etapa crece 2 veces ya
que la amplificacin dada por los amplificadores operacionales en cascada fue de 16 en 16.
Las multiplicaciones por nmeros que son potencia de 2 son operaciones sencillas para un
microprocesador ya que slo implica usar la instruccin de rotacin a la derecha cada vez que se
requiere multiplicar por 2. Este proceso podra haberse hecho dentro del programa del PIC pero se
dej a cargo de la computadora porque se ahorra ancho de banda de la transmisin USB al enviar
12 bits en vez de 28 bits y porque se aligera la carga de trabajo para el procesador del PIC.
Una vez que la muestra ha sido ajustada de acuerdo a su etapa de amplificacin el uso de sta es
transparente ya que no hace falta saber cmo fue medida, slo es necesario conocer los voltajes
de referencia y la resolucin del ADC como un sistema integral.
La conversin de la variable de 27 bits con signo a Volts se realiza mediante la ecuacin de la recta
vista en 4.3.

y = mx + b ,

(4.3)

donde:
y es la salida en Volts,
m es la pendiente de la recta,
x es la entrada en binario y
b es la ordenada al origen.
La conversin se lleva a cabo como se ve en la figura 4.16. El valor mximo del voltaje fue
27
asignado al voltaje pico de 10Vrms que corresponde al valor binario de 2 . El clculo de la
pendiente m se lleva a cabo con la ecuacin 4.4.

m=

y 2 y1
x 2 x1

61

(4.4)

m=

10 2V (10 2V )
2 27 ([2 27 1])

20 2V
268,435,455
nV
m = 105.36
.
bit
m=

y
(227, 10 2)

arc tan m
b

(-[227-1], -10 2)

Figura 4.16. Ecuacin de la recta para conversin a Volts.

Una vez conociendo la pendiente slo falta despejar la ordenada al origen a partir de la ecuacin
4.3.

b = y mx
nV 27

b = 10 2 105.36
(2 )
bit

b = 5.26 x10 8 0.
La ecuacin resultante del convertidor analgico a digital por concatenaciones es la dada en 4.5.

nV

y = 105.36
bit

x .

(4.5)

Para la conversin de Volts a Pascales se debe dividir la cantidad dada por la ecuacin 4.5 entre la
sensibilidad del micrfono.

62

4.4. Comunicacin USB con la computadora


La produccin de muestras por el microcontrolador se lleva a cabo a 22kSps teniendo un periodo
de muestreo de 45.45s con un tamao por muestra de 16 bits (12 bits de medicin ms 4 bits que
indican la etapa de la muestra). Esto implica que se produce una salida de informacin de 2 bytes
cada 45.45s que equivalen a 44kB/s.
El puerto RS232 es comnmente usado por su facilidad de conexin hacia la computadora con
velocidades tericas de hasta 115200bps (11.5kB/s) y velocidades prcticas de hasta 38400bps
(3.84kB/s), pero ambas velocidades son insuficientes para la entrega en tiempo real de las
muestras acsticas.
Se eligi el puerto USB para la comunicacin de la tarjeta a la computadora por varias razones:

Se deseaba aprender a controlar este tipo de puerto en el microcontrolador PIC.


El puerto USB versin 2.0 en velocidad full-speed puede ofrecer un ancho de banda de
hasta 12Mbps.
Es un puerto presente en toda computadora actual.
Ofrece diversos tipos de protocolos con los que el dispositivo USB ofrece distintas
funcionalidades.

En las siguientes secciones se describir brevemente el conjunto de caractersticas del puerto


USB, los tipos de comunicacin y transferencias de datos que puede llevar a cabo, los pasos que
se siguen para enumerar un dispositivo ante el sistema operativo, la clase USB de dispositivos de
interfaz humana y por ltimo el algoritmo para la comunicacin en tiempo real entre el PIC y la
computadora. Parte del contenido de estas secciones fue tomado de la especificacin USB 2.0 y
de [36] y slo hace referencia a low-speed y full-speed.
4.4.1. Caractersticas del puerto USB
Fueron tres las principales motivaciones para que el puerto USB (cuyas siglas significan Bus Serial
Universal) fuera diseado:

Conexin de la computadora al telfono. Se necesitaba un vnculo universal y econmico


entre dispositivos de comunicacin y la computadora ya que las industrias telefnica y de
cmputo haban crecido de forma independiente.
Facilidad de uso. La falta de flexibilidad en la configuracin de hardware de una
computadora siempre fue un problema para desarrollos futuros de tecnologa. El puerto
USB busc mtodos mediante software y hardware para que los dispositivos fueran
conectados y usados sin mayor esfuerzo por los usuarios.
Expansin de puertos. El agregar nuevas tarjetas de expansin siempre estuvo limitado a
cuntos zcalos libres tena la computadora y a la velocidad del bus de los mismos.

Se uni un conjunto de empresas importantes de diseo de software y hardware y crearon el USB


Implementation Forum que es el encargado del desarrollo y mantenimiento del estndar USB.
Algunas empresas que conforman este grupo son Compaq, Hewlett-Packard, Intel, Lucent,
5
Microsoft, NEC y Philips .
La versin 2.0 del puerto USB ofrece 3 velocidades de intercambio de datos:

Hi-Speed 480Mbps
Full-Speed 12Mbps
Low-Speed 1.5Mbps

Pgina web del USB Implementation Forum: http://www.usb.org

63

Estas velocidades ofrecen la oportunidad de conectar dispositivos de alto rendimiento tales como
cmaras de video o discos duros externos. Recientemente en noviembre de 2008 se liber la
versin 3.0 del puerto USB en la que se ofrece una velocidad mxima de hasta 5Gbps llamada
SuperSpeed [37].
El puerto USB es confiable, rpido, verstil, de poco consumo elctrico, econmico y es soportado
por la mayora de los sistemas operativos.
Algunas limitantes del puerto USB son los problemas generados por una distancia de los cables del
puerto a ms de 5m, no hay comunicacin del tipo dispersin o broadcast entre la computadora y
los dispositivos USB y falta de soporte en equipos con sistemas operativos antiguos.
Los retos para los desarrolladores de hardware que involucra el uso de este puerto son la
complejidad del protocolo, soporte del sistema operativo para aplicaciones muy especficas y el
requerimiento de pago por obtencin de una identificacin de vendedor o Vendor ID. El uso del
puerto USB implica el pago de una cuota para obtener un Vendor ID nico, cuyo monto mnimo es
de $2,000.00USD.
Afortunadamente la empresa Microchip da libertad de uso de su Vendor ID con valor hexadecimal
de 0x04D8 para uso en sus microcontroladores PIC y dems productos relacionados con USB [38].
Esto ofrece la posibilidad de desarrollar aplicaciones USB a pequea escala sin pagar regalas
extra.
Los componentes requeridos para una comunicacin USB son una computadora anfitrin o host, y
uno o ms dispositivos con puertos USB. El host es un controlador USB que opera como maestro
que siempre tiene incluido un concentrador o hub para la conexin de los dispositivos USB y se
encarga de dar formato a los datos que entran y salen de la computadora a travs del bus. El hub
detecta la conexin o desconexin de dispositivos USB y acarrea las peticiones y datos del host a
los dispositivos. Cada dispositivo USB cuenta con el hardware y firmware suficientes para
administrar la comunicacin con el host.
La topologa del bus serial universal est conformada por una estrella por niveles como se ve en la
figura 4.17. En el centro de cada estrella hay un hub y cada conexin al hub es un punto en la
estrella. El host siempre cuenta con un hub raz. Los dems hubs pueden tener dos, cuatro o siete
puertos. La estrella en niveles nicamente describe las conexiones fsicas del bus. Desde el punto
de vista de programacin se ven como conexiones lgicas y el host y sus dispositivos no necesitan
estar al tanto de la ruta o cuntos hubs hay entre ellos. Pueden conectarse hasta cinco hubs en
serie con un lmite de 127 perifricos, que incluye a cualquier cantidad de hubs y el hub raz.
A pesar de existir estos lmites, el host tendra mucha dificultad comunicndose con todos esos
dispositivos y reservando ancho de banda del bus para cada uno por lo que es comn ver que las
computadoras cuentan con ms de un controlador host.
En la terminologa USB se manejan las palabras funcin, dispositivo y puerto de forma distinta. Una
funcin es un conjunto de una o ms interfaces que pueden llevar a cabo una tarea en especfico.
Ejemplos de funciones son los ratones, una unidad de adquisicin de datos o un hub. Un
dispositivo fsico puede contener mltiples funciones; por ejemplo, puede proveer funciones de
impresora y de escner. Un host identifica las funciones de un dispositivo mediante el anlisis del
descriptor de dispositivo y uno o ms descriptores de interfaz. Un descriptor es una estructura de
datos que describe al dispositivo.
Un dispositivo es una entidad fsica o lgica que lleva a cabo una o ms funciones. El host asigna
una direccin nica de 7 bits a cada dispositivo conectado al bus. Un dispositivo compuesto
(compound device en ingls) contiene un hub con uno o ms dispositivos permanentemente
conectados a l. El host trata a un dispositivo compuesto casi de la misma manera como si el hub y

64

sus funciones fueran dispositivos separados fsicamente. El hub y los dispositivos embebidos
tienen direcciones nicas.

HOST
HUB RAZ

NIVEL 1

NIVEL 2

HUB

DISP.
USB

HUB

NIVEL 3

HUB

DISP.
USB

DISP.
USB

DISP.
USB

HUB

DISP.
USB

DISP. COMPUESTO

NIVEL 4

DISP.
USB

DISP
USB

DISP.
USB

DISP
USB

Figura 4.17. Ejemplo de topologa USB.

Un dispositivo combinado (composite device en ingls) tiene una sola direccin pero varias
interfaces independientes que proveen funciones nicas.
En trminos generales un puerto hardware de computadora es una ubicacin con un nmero de
direccin para conectar circuitos perifricos. Las aplicaciones del host no pueden acceder a
puertos USB directamente, se deben comunicar mediante controladores dentro del sistema
operativo. El controlador del host puede estar apuntando a puertos en la RAM que el CPU de la
computadora puede acceder, pero estos puertos son distintos a los puertos USB.
Los puertos USB son conectores estndar con 4 lneas:

Terminal 1. VBUS, alimentacin a 5V.


Terminal 2. D-, par negativo de la seal.
Terminal 3. D+, par positivo de la seal.
Terminal 4. GND, referencia a tierra.

4.4.2. Tipos de transferencias USB


Para enviar o recibir datos el host inicia una transferencia USB. Cada transferencia usa un formato
definido para enviar datos, dirigir informacin, detectar errores en los paquetes y mantener un
control del estado de la transmisin.
Toda comunicacin USB ocurre nicamente entre el host y un dispositivo a la vez. El host
administra el trfico en el bus y el dispositivo responde cuando el host se lo indica. Para esta
comunicacin se utilizan los puntos terminales o endpoints. Un endpoint es un arreglo de bytes o
buffer usado para enviar o recibir datos y tiene un nmero que va del 0 al 15, una direccin y un

65

tamao mximo en bytes. Un dispositivo puede contar con un mximo de 16 endpoints


bidireccionales, requiriendo as dos buffers por endpoint haciendo un total de 32 buffers posibles.
Cada transferencia USB consiste de una o ms transacciones que pueden acarrear datos a travs
de los endpoints. La transaccin es iniciada cuando el host enva un paquete token a travs del
bus, el cual contiene el nmero y direccin del endpoint hacia el que se dirige.
Los paquetes siguientes pueden ser de datos que incluyen los datos mismos y adems, si el tipo
de transferencia lo especifica, bits de chequeo de errores y un identificador de paquete o Packet ID
con un valor de secuencia. Varias transacciones tienen tambin control de recepcin de datos o
handshake.
Para establecer una conexin lgica hacia un endpoint se debe crear una tubera o pipe que no es
ms que una simple asociacin entre un endpoint del dispositivo con el software del controlador del
host.
Se soportan cuatro tipos de transferencias en el bus serial universal: de control, de masa o bulk, de
interrupcin e iscronas. Esto proporciona flexibilidad en cuanto a los dispositivos que pretendan
usar el bus serial universal ya que da libertad en cuanto a tamao de transferencia de datos,
tiempos de respuesta y monitoreo de errores.
En la tabla 4.5 se pueden ver algunas funciones de dispositivos con las transferencias USB que
mejor conviene aplicar.
Tabla 4.5. Caractersticas principales de las transferencias USB.

Tipo de transferencia
Uso tpico

Control
Identificacin y
configuracin

Compatible con USB


v1.1

Bulk
Impresin, escaneo,
almacenamiento
masivo
No

Interrupcin
Ratones,
teclados, tarjetas
de adquisicin
S, con muestreo
mayor o igual a
10ms
64

Iscrona
Audio y
video para
usuario final
No

Tamao mximo del


paquete en FullSpeed
Direccin de los
datos

64

64

Entrada y salida

Entrada y salida

Ancho de banda
reservado para la
transferencia
Correccin de errores
Velocidad constante
de envo de datos
Tiempo constante de
envo de datos entre
transferencias

10% para FullSpeed

Ninguno

Entrada y salida
Entrada y
(slo entrada
salida
para v1.1)
90% en Full-Speed

S
No

S
No

S
No

No
S

No

No

1023

Cabe mencionar que la direccin de un endpoint siempre se ve desde la perspectiva del host; si es
entrada significa que el dispositivo enva datos hacia el host y si es salida es cuando el host enva
datos al dispositivo.
Las transferencias de control son las que permiten al host comunicarse con el dispositivo cuando
ste es recin conectado, asignarle una direccin USB y establecer el modo de operacin del
mismo. Todo dispositivo debe contar con un endpoint de control de nmero 0 para poder ser
enumerado correctamente ante el host y el sistema operativo. Las tareas de un endpoint no se

66

limitan a la enumeracin del dispositivo, tambin hay clases que dan mayor utilidad a estos
endpoints.
Las transferencias bulk se disearon para aplicaciones en las que la velocidad de transmisin no
es relevante, tales como el envo de datos a una impresora o el almacenamiento de datos en un
disco duro. Una transferencia bulk puede enviar grandes cantidades de datos sin imposibilitar las
transmisiones de otros dispositivos conectados al bus, siempre y cuando haya ancho de banda
libre; en un bus con mucho trfico las transferencias bulk deben esperar pero en un bus libre son
las ms veloces.
Las transferencias de interrupcin estn pensadas para dispositivos o hosts que requieren de
atencin peridica y con bajos retrasos. Los ratones y teclados usan este tipo de transferencias ya
que el sistema operativo debe estar siempre al pendiente de la interfaz con el usuario. Estas
transferencias cuentan con un ancho de banda reservado por lo que no importa si otras
transferencias estn ocupando el bus, stas siempre tendrn una oportunidad para efectuar una
transmisin de datos. Cuentan tambin con correccin de errores por lo que si un paquete llega
daado se retransmite y verifica su estado. Es importante que no se d un significado similar al de
interrupcin de ejecucin de programas en los procesadores, la cual se desencadena cuando
ocurre un evento importante y el procesador debe interrumpir su ejecucin primaria y atender el
evento. Se llaman de interrupcin nicamente porque poseen prioridad sobre el ancho de banda
del bus y atencin del host y no interrumpen la ejecucin del CPU de la computadora.
Las transferencias iscronas tienen un tiempo de entrega garantizado y no cuentan con deteccin
de errores. Las transferencias de este tipo se usan comnmente para audio y video para el usuario
final, en donde no importa si se daa una pequea rea de la imagen de video ya que el usuario
final puede pasarla desapercibida.

4.4.3. Enumeracin de un dispositivo USB


Antes de que las aplicaciones puedan comunicarse con un dispositivo, el host necesita conocer las
capacidades del dispositivo y asignarle un controlador. La enumeracin es el intercambio de
informacin entre un dispositivo recin conectado a un puerto USB y el host. Este proceso implica
la asignacin de una direccin USB, la lectura de descriptores, la carga de un controlador y la
seleccin de una configuracin que indique los requerimientos de potencia del dispositivo. Una vez
cumplido lo anterior el dispositivo y el host pueden intercambiar datos.
Una de las varias tareas de un hub es detectar la conexin y desconexin de dispositivos a puertos
USB. Cada hub tiene un endpoint de interrupcin con direccin de entrada para el reporte de estos
eventos ante el host.
Cuando se requiere conocer las caractersticas del dispositivo recin conectado, el host enva
peticiones al hub en el que el dispositivo se encuentra conectado para establecer una ruta lgica
entre el host y el dispositivo. Entonces el host intenta enumerar al dispositivo enviando
transferencias de control con peticiones estndar USB y el dispositivo debe responderlas
apropiadamente.
Desde el punto de vista de usuario, la enumeracin es invisible y cuando un dispositivo es
conectado por primera vez al entorno de un sistema operativo es probable que se deba
proporcionar un conjunto de controladores para el manejo del mismo.
La especificacin USB define seis estados de dispositivo. La enumeracin recorre los estados de
Energizado (Powered), Predeterminado (Default), Direccin (Address) y Configurado (Configured).
Los otros dos estados son Conectado (Attached) y Suspendido (Suspended). La figura 4.18
muestra un diagrama de estos estados.

67

Figura 4.18. Mquina de estados de un dispositivo USB (cortesa de USB-IF).

La figura 4.19 muestra las transferencias involucradas en la enumeracin de la tarjeta de


adquisicin a travs del mdulo USB del PIC. La imagen es una impresin de pantalla del software
6
analizador del protocolo USB MobileHS LeCroy .
A continuacin se describen los pasos que se llevan a cabo en la enumeracin de la figura 4.19:
1. El sistema encuentra un dispositivo nuevo. El usuario conecta un dispositivo USB o el
sistema es encendido con un dispositivo ya conectado. El hub provee energa al puerto y el
dispositivo se encuentra en el estado de energizado. El dispositivo slo debe consumir
hasta 100mA del puerto.
2. El hub detecta el dispositivo. El hub monitorea los voltajes en las lneas D+ y D- en cada
uno de sus puertos. El hub tiene una resistencia conectada a tierra (pull-down) con valor de
6

Pgina web de la compaa LeCroy: http://www.lecroy.com/

68

14.25k a 24.8k en cada lnea. El dispositivo tiene una resistencia conectada al voltaje
de alimentacin (pull-up) con valor de 900 a 1575 en D+ para identificarse como
dispositivo full-speed o en D- para identificarse como low-speed. Cuando un dispositivo se
conecta al puerto la resistencia pull-up eleva el voltaje de la lnea haciendo saber al hub
que un dispositivo se ha conectado. Cuando se detecta el dispositivo el hub sigue
entregando energa pero an no transmite informacin USB.

Figura 4.19. Transferencias involucradas en la enumeracin de la tarjeta de adquisicin.

3. El host indaga el estado del nuevo dispositivo. Cada hub usa su endpoint de interrupcin
para reportar eventos al host. Cuando ocurre un evento el host enva una peticin Get Port
Status para obtener ms informacin.
4. El hub detecta si el dispositivo es low o full speed. Justo antes de enviar un reinicio o reset
al dispositivo, el hub determina la velocidad del dispositivo mediante la medicin del voltaje
en las lneas D+ y D-. Se reportar esto al host al recibir la peticin Get Port Status.
5. El hub reinicia el dispositivo. Cuando el host sabe de un nuevo dispositivo enva al hub una
peticin Set Port Feature que pide al hub que reinicie el puerto. El hub coloca las lneas D+
y D- en estado bajo por al menos 10ms. Esta es una situacin especial ya que
normalmente las lneas tienen estados lgicos opuestos, es decir, son diferenciales. El
reinicio slo es hecho para el puerto USB del dispositivo en enumeracin, los dems
dispositivos conectados no se enteran de esta accin. El reinicio en la enumeracin del
PIC dura 93.7ms para el caso de la figura 4.19 (Packet 9).
6. El hub establece una ruta fsica entre el dispositivo y el bus. El host verifica que el
dispositivo haya salido del estado de reinicio mediante el envo de una peticin Get Port

69

Status. Un bit en los datos regresados por el hub indica si el dispositivo sigue en el estado
de reinicio. Si es necesario el host repite la peticin hasta que el dispositivo haya salido del
estado de reinicio. Cuando el hub termina el reinicio, el dispositivo ya se encuentra en el
estado predeterminado y est listo para responder a transferencias en el endpoint cero de
control. El dispositivo se comunica con una direccin provisional de 0x00.
7. El host enva una peticin de Get Request para investigar el tamao mximo en bytes del
pipe que apunta al endpoint cero (Transfer 0). El host enva la peticin a la direccin 0x00
en el endpoint 0. Debido a que el host slo enumera un dispositivo a la vez slo un
dispositivo responder esta peticin. El octavo byte del descriptor de dispositivo contendr
el tamao en bytes requerido. Al recibir respuesta, el sistema operativo Windows pide al
hub que reinicie una vez ms las lneas D+ y D- (Packet 86). Este reinicio no es requerido
por la especificacin USB pero asegura que el dispositivo quede en un estado de reinicio
conocido.
8. El host asigna una direccin USB nica. Al terminar el reinicio, el controlador del host
asigna una direccin al dispositivo mediante el envo de una peticin Set Address (Transfer
1). El dispositivo ya se encuentra en el estado direccin. Esta direccin es vlida mientras
el dispositivo no sea desconectado o reiniciado y mientras no se reinicie el sistema
operativo. La direccin USB puede ser diferente en cada enumeracin.
9. El host investiga las capacidades del dispositivo. El host enva varias peticiones Get
Descriptor a la nueva direccin del dispositivo y analiza los descriptores completos
(Transfer 2 a 12). El descriptor contiene el tamao mximo del endpoint cero, el nmero de
configuraciones que el dispositivo soporta e informacin adicional sobre el dispositivo. El
host contina indagando sobre configuraciones adicionales mediante la peticin de
descriptores de configuracin y de interfaz.
10. El host asigna y carga un controlador de dispositivo. El sistema operativo busca un
controlador de dispositivo que mejor se aplique a la clase de dispositivo encontrado.
11. El controlador del host enva la peticin de configuracin. El controlador pide al dispositivo
que se configure mediante el envo de una peticin Set Configuration (transfer 13 en figura
4.19). El dispositivo pasa al estado configurado y las interfaces del mismo son activadas. El
dispositivo ya puede consumir mayor corriente del bus.
Despus de que se configur el dispositivo pueden seguirse enviando descriptores por el endpoint
de control para detallar las caractersticas del dispositivo USB. Para el caso del PIC se envan
descriptores relacionados a la clase USB de dispositivos de interfaz humana sobre la que se darn
detalles en la siguiente seccin.
Haciendo uso de la figura 4.19 se pueden identificar los estados USB del dispositivo durante la
enumeracin:

Antes de la transferencia 0 el dispositivo pasa por los estados desconectado, conectado y


energizado, en esa secuencia.
La transferencia 0 marca el punto en donde el dispositivo se encuentra en estado
predeterminado.
Posteriormente ocurre un reinicio en las lneas diferenciales del puerto con duracin de
27.1ms.
Una vez que el dispositivo fue reiniciado se le asigna la direccin nica 0x01 y pasa al
estado de direccin.
El sistema operativo indaga las caractersticas del dispositivo mediante Get Descriptor en
las transferencias 2 a la 12.

70

Una vez que el sistema operativo encontr un controlador apropiado notifica al dispositivo
mediante una peticin Set Configuration que ya puede iniciar la comunicacin. El
dispositivo ya se encuentra en estado configurado.

Cabe sealar que el consumo de corriente del bus est monitoreado por el host. Los dispositivos
USB en la versin 2.0 pueden consumir una corriente mxima de 500mA cuando llegan al estado
configurado. Esta corriente puede variar de 0mA a 500mA en incrementos de 2mA. La corriente
que cada dispositivo demandar del bus se indica mediante el descriptor de configuracin del
dispositivo.

4.4.4. Clase de dispositivos de interfaz humana


La mayora de dispositivos USB llevan a cabo funciones similares y para tener un mejor
ordenamiento de stas se han creado diversas clases USB. Todo dispositivo USB pertenece a
alguna o ms clases USB. Esto facilita el desarrollo de dispositivos ya que se pueden seguir
estndares y protocolos afines a una clase y se sabe de antemano que los sistemas operativos
controlarn correctamente la comunicacin dispositivo-host.
Los elementos que determinan el comportamiento de un dispositivo dentro de una clase USB son
el nmero de endpoints mnimos, el tipo de transferencia de los endpoints, el formato de los datos
a comunicar y el orden de los bytes dentro de los descriptores, entre varios ms.
Algunos ejemplos de clases USB y sus caractersticas se ven a continuacin:

Audio. Esta clase comprende dispositivos que envan y/o reciben voz codificada, msica u
otros sonidos. Comnmente emplean endpoints iscronos o bulk para el protocolo MIDI.
Comunicaciones. Comprende un amplio rango de dispositivos de telecomunicaciones y
redes. Se incluyen los telfonos analgicos y digitales, mdems y puertos RS232 virtuales.
Hacen uso principalmente de endpoints de interrupcin o bulk.
Puente IrDA. La interfaz IrDA (Infrared Data Association) define requerimientos de
hardware y protocolos para intercambio de datos en cortas distancias va luz infrarroja.
Almacenamiento masivo. Esta clase est pensada para dispositivos que transfieren
archivos y estn incluidos los discos duros, CD, DVD y memorias porttiles flash. Pueden
usar para su comunicacin nicamente endpoints tipo bulk o una combinacin de
control/bulk/interrupcin.
Cuidado de la salud. Comprende dispositivos que ayudan a mantener la salud y el
bienestar de la gente, monitorear enfermedades y dar soporte a la gente de edad. Algunos
ejemplos de dispositivos USB de esta clase son los monitores de la frecuencia cardiaca y
los monitores de presin sangunea, medidores de glucosa, sensores de movimiento y
administradores de pastillas. Estas funciones cuentan al menos con un endpoint bulk y
otros endpoints son opcionales.
Impresin. Son los dispositivos que convierten datos en texto, imgenes o ambos en papel
u otros medios. Est basada en el estndar IEEE-1284. Utiliza un endpoint de salida tipo
bulk y el host obtiene informacin de estado va peticiones de control u otro endpoint bulk.

La clase USB que se eligi para el microcontrolador PIC fue la de dispositivos de interfaz humana o
Human Interface Devices (HID). A continuacin se describen las caractersticas que motivaron esta
decisin.
Esta clase incluye dispositivos como teclados, dispositivos apuntadores o controles de videojuegos.
El host lee y acta de acuerdo a la entrada de datos que el usuario genera mediante la presin de
teclas o movimientos del ratn. El host debe responder rpidamente para que los usuarios no
noten retrasos entre la accin ejecutada y la respuesta esperada.

71

Toda la informacin que viaja en la clase HID se transporta en reportes, los cuales son estructuras
de datos con formatos definidos. Windows y otros sistemas operativos tienen controladores
previamente instalados para manejar cualquier dispositivo HID que sea conectado, no hay
necesidad de generar un controlador especial para ello. Al enumerar el PIC ante Windows se
instala automticamente y se puede usar inmediatamente.
La clase HID no slo est limitada a dispositivos de interfaz humana, puede intercambiar datos de
cualquier tipo. Sus limitantes son que slo puede tener un endpoint bidireccional de control y un
endpoint bidireccional de interrupcin.
Otras habilidades y limitantes de esta clase se ven a continuacin:

Los reportes pueden albergar cualquier tipo de datos.


Un HID puede tener como mximo un endpoint de interrupcin de entrada y otro de salida.
Un dispositivo que requiere ms endpoints de interrupcin puede comportarse como un
dispositivo combinado (composite device) con mltiples interfaces HID. El sistema
operativo ve a cada interfaz como un HID diferente.
El endpoint de interrupcin de entrada permite al HID enviar informacin al host en
periodos impredecibles. Por ejemplo, no hay forma de indicar al host cuando un usuario ha
presionado una tecla, por lo que el host hace un muestreo peridico para saber si algo ha
sucedido.
La velocidad de transmisin es limitada. Un host puede permitir una velocidad de hasta
64kBps para los endpoints de interrupcin en modo full-speed.
El muestreo del host para endpoints de interrupcin puede tener un valor de 1ms hasta
255ms.

Un HID puede ser una de varias interfaces dentro de un dispositivo. Por ejemplo, una bocina USB
puede usar transferencias iscronas de audio y una interfaz HID para controlar el volumen,
ecualizador y dems detalles.
La tabla 4.6 muestra las caractersticas de los endpoints involucrados en la clase HID.
Tabla 4.6. Caractersticas de los endpoints de la clase HID.

Tipo de
transferencia
Control

Interrupcin

Origen de los datos

Datos tpicos

Dispositivo (transferencia
de entrada)
Host (transferencia de
salida)
Dispositivo (transferencia
de entrada)
Host (transferencia de
salida)

Datos que no requieren de


tiempos confiables
Datos que no requieren de
tiempos confiables
Datos peridicos y con bajo
retraso

Requiere de un
pipe?
S

S
No

4.4.5. Algoritmo para la comunicacin en tiempo real entre el PIC y la computadora


El estndar USB 2.0 en Full-Speed establece que los dispositivos de interfaz humana (HID) deben
contar nicamente con 2 endpoints, uno de control y otro de interrupcin. El endpoint de control se
usar para configuracin y enumeracin del dispositivo y sus interfaces. El endpoint de interrupcin
se usar para envo y recepcin de reportes.
El envo y recepcin de datos se hace con una periodicidad constante en los endpoints de
interrupcin. Para Full Speed (12Mbps) este muestreo puede ser de 1ms a 255ms. Se entiende
entonces que una interfaz podr enviar datos cada 1ms a la computadora y que la computadora
puede hacer lo mismo cada 1ms.

72

El tamao de los reportes puede ser desde 1 byte hasta 64 bytes de acuerdo a la tabla 4.5 y
considerando la velocidad del muestreo se tiene entonces un reporte de 64 bytes cada 1ms,
entregando as una velocidad mxima de 64kB/s.
Se recuerda que la frecuencia de muestreo de la tarjeta es de 22kSps con 2 bytes por muestra,
teniendo entonces 44kB/s, una velocidad menor a los 64kB/s mximos que ofrece la clase HID. El
PIC toma 22 muestras equivalentes a 44 bytes cada 1ms (22,000 en 1s) y ya que el muestreo del
host ocurre en este mismo periodo se pueden enviar las muestras en tiempo real en reportes de 22
muestras cada uno. Se consider usar una frecuencia de muestreo estndar de 22,050Sps pero
las 50 muestras extra a 22,000 complican el muestreo y tamao del reporte HID.
El descriptor USB presenta al PIC ante el sistema operativo como un HID. Se utiliz el analizador
7
por software USBlyzer para obtener los descriptores que el PIC presenta ante Windows . La tabla
4.7 muestra el descriptor de dispositivo del PIC.
Tabla 4.7. Descriptor de dispositivo del PIC.

Offset Campo
Tamao Valor Descripcin
0 bLength
1
12h
1 bDescriptorType
1
01h Device
2 bcdUSB
2 0200h USB Spec 2.0
4 bDeviceClass
1
00h Class info in Ifc Descriptors
5 bDeviceSubClass
1
00h
6 bDeviceProtocol
1
00h
7 bMaxPacketSize0
1
08h 8 bytes
8 idVendor
2 04D8h Microchip Technology, Inc.
10 idProduct
2 0003h
12 bcdDevice
2 0100h 1.00
14 iManufacturer
1
01h "SAN"
15 iProduct
1
02h "Tadq_v033"
16 iSerialNumber
1
00h
17 bNumConfigurations
1
01h
Se configur el Vendor ID 0x04D8 que pertenece a Microchip ya que puede ser usado
comercialmente. El Product ID 0x0003 se eligi simplemente por gusto teniendo que ser un nmero
entre 0x0000 y 0xFFFE. El nombre del fabricante y producto tambin fueron elegidos por gusto
para identificar a la tarjeta.
La tabla 4.8 presenta el descriptor de configuracin. En este descriptor es donde se indica el
nmero de interfaces que tiene el dispositivo, los atributos de alimentacin (auto energizado para el
caso de la tarjeta) y la corriente mxima de consumo del PIC que en este caso es de 0mA. Cabe
mencionar que la terminal VBUS del puerto USB no est conectada en punto alguno a la tarjeta del
PIC por lo que no consume corriente.
La tabla 4.9 presenta el descriptor de interfaz, el cual detalla que ser una interfaz HID. La tabla
4.10 presenta el descriptor de los reportes HID. Las tablas 4.11 y 4.12 presentan los descriptores
de endpoint de entrada y salida respectivamente.
El descriptor de entrada (dispositivo a host) est configurado como de interrupcin y con periodo de
muestreo de 1ms y tamao mximo de 44 bytes. El descriptor de salida (host a dispositivo) est
configurado como de interrupcin y con periodo de muestreo de 10ms y tamao mximo de 8
bytes. Este ltimo endpoint no se utiliza en la aplicacin en ningn momento y slo se configur
para futuras expansiones de comunicacin.
7

Pgina web del software USBlyzer: http://www.usblyzer.com/

73

Tabla 4.8. Descriptor de configuracin del PIC.

Offset Campo
Tamao Valor
Descripcin
0 bLength
1
09h
1 bDescriptorType
1
02h Configuration
2 wTotalLength
2
0029h
4 bNumInterfaces
1
01h
5 bConfigurationValue
1
01h
6 iConfiguration
1
00h
7 bmAttributes
1
C0h Self Powered
4..0: Reserved
...00000
5: Remote Wakeup
..0..... No
6: Self Powered
.1...... Yes
7: Reserved (set to one)
1.......
(bus-powered for 1.0)
8 bMaxPower
1
00h 0 mA
Tabla 4.9. Descriptor de interfaz HID.

Offset Campo
Tamao Valor Descripcin
0 bLength
1 09h
1 bDescriptorType
1 04h Interface
2 bInterfaceNumber
1 00h
3 bAlternateSetting
1 00h
4 bNumEndpoints
1 02h
5 bInterfaceClass
1 03h HID
6 bInterfaceSubClass
1 00h
7 bInterfaceProtocol
1 00h
8 iInterface
1 00h
Tabla 4.10. Descriptor de reportes HID.

Offset Campo
Tamao Valor Descripcin
0 bLength
1
09h
1 bDescriptorType
1
21h HID
2 bcdHID
2 0100h 1.00
4 bCountryCode
1
00h
5 bNumDescriptors
1
01h
6 bDescriptorType
1
22h Report
7 wDescriptorLength
2 0020h 32 bytes

Tabla 4.11. Descriptor del endpoint de entrada.

Offset Campo
Tamao Valor
Descripcin
0 bLength
1
07h
1 bDescriptorType
1
05h Endpoint
2 bEndpointAddress
1
81h 1 In
3 bmAttributes
1
03h Interrupt
1..0: Transfer Type
......11 Interrupt
7..2: Reserved
000000..
4 wMaxPacketSize
2
002Ch 44 bytes
6 bInterval
1
01h 1 ms

74

Tabla 4.12. Descriptor del endpoint de salida.

Offset Campo
Tamao Valor
Descripcin
0 bLength
1
07h
1 bDescriptorType
1
05h Endpoint
2 bEndpointAddress
1
01h 1 Out
3 bmAttributes
1
03h Interrupt
1..0: Transfer Type
......11 Interrupt
7..2: Reserved
000000..
4 wMaxPacketSize
2
0008h 8 bytes
6 bInterval
1
0Ah 10 ms
Para el muestreo en tiempo real de la seal acstica en el PIC se emplearon arreglos circulares o
ring buffers. Un arreglo circular es una estructura de datos o buffer de tamao constante que
simula estar conectado de principio a fin, de forma tal que los datos que van llegando a l pueden
sobrescribir datos anteriores que ya hayan sido procesados. Es un buffer con arquitectura el
primero que entra es el primero que sale (First In First Out - FIFO).
El PIC18F2550 cuenta con 2kB de RAM y 1kB de esta RAM es compartida con la mquina de
interfaz serial o Serial Interface Machine (SIE), la cual se encarga del control de toda la actividad
USB y est integrada dentro del microcontrolador. Esta USB RAM puede ser escrita y leda por el
PIC mientras la SIE no est utilizndola. El PIC puede llenar los buffers de envo en esta RAM y
cuando el buffer est listo se pasa el control a la SIE mediante un semforo. Si el PIC intenta
escribir en una seccin de la RAM que est siendo procesada por la SIE no se garantiza la
integridad de los datos resultantes.
Se ubicaron cuatro buffers idnticos de 44 bytes cada uno en la USB RAM (banco 6 de memoria
del PIC), los cuales se comportan como un gran buffer circular de 176 bytes. El muestreo se hace
en una sub-rutina disparada por el temporizador de 16 bits cada 45.45s, escribiendo 2 bytes por
evento, teniendo 44bytes cada 1ms escribiendo en el primer buffer directamente sobre la USB
RAM. Cuando se llena el primer buffer pasa al segundo buffer, cuando se llena el segundo se pasa
al tercero y cuando se llena el cuarto se regresa al primero. El orden de los buffers en la USB RAM
se ve en la figura 4.20.
Cuando algn buffer se ha llenado entonces en el programa principal del PIC se llama una funcin
de envo USB que hace lo siguiente:

Recibe el nmero del buffer que est listo para envo.


Espera indefinidamente a que la SIE deje de controlar el endpoint de interrupcin.
Se informa a la SIE el nmero de bytes del buffer, siendo siempre 44 bytes.
Se informa a la SIE la direccin RAM del comienzo del buffer a enviar.
Se activa el semforo que permite a la SIE tomar control de tal seccin RAM.
El host enviar una peticin de escritura del dispositivo y la SIE har todo el proceso de
preparacin y envo del buffer.

El host pedir al PIC que enve datos cada 1ms y el PIC enviar 22 muestras por cada peticin. La
implementacin del buffer circular permite que el PIC siga tomando muestras y depositndolas en
un buffer vaco mientras que la SIE toma posesin de un buffer lleno. Este periodo de 1ms es
altamente exacto porque depende del host y no del programador de ejecucin de procesos de
Windows.
Habra sido suficiente el colocar slo 2 buffers idnticos de 88 bytes en total, pero se consider que
podra ocurrir algn retraso en la seal debido a algn ruido elctrico presentado en las lneas D+ y
D- o a algn otro problema. Este error requerira de una retransmisin del reporte y de un retraso
en tiempo que podra provocar la escritura sobre un buffer posedo por la SIE. Cuatro buffers dan
mayor rango ante errores y no son problema porque se tiene 1kB de USB RAM disponible.

75

Figura 4.20. Ubicacin del buffer circular en USB RAM.

Una vez que se ha garantizado la entrega en tiempo real de las muestras se deben leer de la
misma manera en la computadora. Para la lectura de los reportes es necesario importar algunas
funciones de las libreras internas de Windows: hid.dll, setupapi.dll y kernel32.dll. Cuando Windows
enumera un dispositivo HID y lo pasa al estado configurado es cuando el dispositivo comienza a
enviar los reportes o paquetes cada que el host se lo indique.
Windows cuenta con interfaces para la programacin de aplicaciones HID o Application
Programming Interfaces (HID API) que proveen conjuntos de funciones para comunicarse con
dispositivos HID, las cuales estn cargadas en archivos de libreras dinmicas o dynamic library
link (DLL).
Las DLL involucradas en el descubrimiento y control de dispositivos HID son:

hid.dll. Provee funciones para obtener informacin de un HID, recuperar cadenas de texto
sobre las propiedades del HID, enviar y recibir reportes y analizar el contenido de los
reportes.
setupapi.dll. Obtiene informacin sobre dispositivos conectados a una computadora, la ruta
lgica de conexin en el sistema operativo e informacin bsica del dispositivo.

76

kernel32.dll. Crea un vnculo lgico o handle para comunicarse con un dispositivo, lo libera,
y transporta los reportes hacia la aplicacin final.

Para la programacin de la conexin USB al PIC configurado como HID se utiliz el software Visual
C# 2008 Express Edition ya que cuenta con una interfaz de usuario amigable, cuenta con todas las
funciones y clases para el manejo de las APIs mencionadas arriba, porque el lenguaje C# est
tomando importancia recientemente y porque la versin Express es gratuita para cualquier fin, sin
8
importar si es privado o comercial . Adicionalmente se puede usar C# para generar archivos DLL
para la lectura del dispositivo USB en otro software, como por ejemplo, LabVIEW.
Un problema comn en sistemas operativos convencionales es el manejo de tiempos con
exactitud. En una aplicacin no se puede garantizar con precisin de milisegundos la ejecucin de
tareas a nivel usuario.
El ncleo o kernel de Windows tiene acceso total a los recursos de la computadora y ejecuta
cdigo en zonas protegidas de memoria con la prioridad de ejecucin que se necesite. Controla la
programacin de tiempos de ejecucin de los procesos, la prioridad de los hilos, la administracin
de memoria y la interaccin con el hardware. El kernel asegura que aplicaciones a nivel usuario no
tengan acceso a hardware o zonas privadas de memoria. Estas aplicaciones deben pedir permiso
para ejecutar cdigo a nivel kernel [39] [40].
Mediante una llamada a la librera kernel32.dll desde el nivel de usuario se pide al kernel que
reciba los reportes que el PIC enva cada 1ms y los almacene en un buffer circular. Este buffer
tiene un tamao predeterminado de 32 reportes y un tamao mximo de 512 reportes en Windows
XP.
El usuario debe leer estos reportes mediante otra llamada al kernel antes de que el buffer circular
se llene. Si el buffer circular del kernel es de 32 reportes de tamao, llegan 33 reportes y no se lee
el buffer, entonces el reporte ms viejo es sobrescrito y por lo tanto perdido.
Si cada reporte llega exactamente cada 1ms, entonces con 32 reportes es necesario que el usuario
vace el buffer cada 32ms o menos. Un tiempo de 32ms en un equipo con muchas tareas en
ejecucin no es garantizado y existira prdida de paquetes. Al configurar el buffer circular con 512
reportes se tiene un almacenamiento de hasta 512ms de datos, obligando al usuario a solo vaciar
el buffer cada 512ms o menos. Esto es bastante fcil de lograr con temporizadores incluidos en
Visual C# sin importar cuanta carga tenga el CPU de Windows. Un muestreo de 32ms genera
mucha carga para el procesador mientras que uno de 512ms es ms llevadero.
Gracias a estas funciones y que el kernel de Windows guarda los paquetes temporalmente es
posible leer datos a 44kB/s desde un PIC en modo HID sin prdida de paquetes.

4.5. Conclusiones
La aplicacin de los filtros anti-offset y anti-alias resulta ventajosa en el muestreo de seales
acsticas ya que stas presentan un ancho de banda que permite ser atenuado en los extremos de
bajas frecuencias y altas frecuencias. La eliminacin de las componentes de corriente directa hasta
las de 20Hz y de las componentes de frecuencias mayores a 11kHz no afecta la calidad del
muestreo.
La seleccin de una corriente IEPE de 4mA para el micrfono no present problemas de ruido o
impedancia de salida conforme a lo estudiado sobre el funcionamiento del estndar IEPE. La
fuente de 4mA se prob con una resistencia variable para conocer el rango de voltajes que el

Pgina web de Microsoft Visual C# 2008 Express Edition: http://www.microsoft.com/express/default.aspx

77

circuito LM334 puede entregar sin variar la corriente constante. Esto asegur que el micrfono
pudiera abarcar todo el rango dinmico que ofrece su fabricante.
El uso de amplificadores operacionales con bajo offset permite transportar seales de voltajes muy
pequeos a travs de todas las etapas de amplificacin sin que stas fueran distorsionadas o
destruidas por saturacin; adems permite mantener un retraso mnimo de la seal entre etapas
slo debido a la respuesta de salida de los amplificadores.
La seleccin de los ADC MCP3201 con frecuencia de muestreo superior a la de la tarjeta permiti
tomar una muestra velozmente y ocupar el tiempo restante en el microcontrolador para preprocesarla y atender otros asuntos relacionados con el envo de las muestras por USB.
La puesta a prueba del circuito LM324 para proteger las entradas de los ADC ante seales
saturadas result exitosa. La seal entregada por el LM324 tiene una magnitud que es tolerable
por la entrada del ADC y no presenta conflictos en el algoritmo de bsqueda de la muestra legible
que ejecuta el microcontrolador. Existen otros mtodos como colocar diodos encontrados
(clamping diodes) con una resistencia en serie para proteger la entrada del ADC, sin embargo se
utiliz el LM324 ya que adems de la proteccin ofrece un acoplamiento adecuado de impedancia
entre la salida del filtro anti-alias y la entrada del ADC.
El microcontrolador PIC18F2550 result ser una buena eleccin para la ejecucin de la mayora de
las tareas esperadas. nicamente se tuvieron inconvenientes con la velocidad de bsqueda de la
muestra legible, cuya duracin aunada a la duracin de otros procesos era mayor a 40s (25kSps).
Se realizaron pruebas extendiendo el periodo de muestreo y se encontr que una frecuencia de
23kSps poda ser alcanzable por el PIC. Se recort la frecuencia de muestreo a 22kSps por la
facilidad que implic ajustarla al tamao de los paquetes de envo USB.
La programacin del firmware del microcontrolador se realiz en lenguaje C debido a que el
compilador empleado ofrece optimizaciones importantes en lenguaje ensamblador y a que las
libreras de manejo del perifrico USB estn escritas en este lenguaje. Sin embargo, para la
optimizacin del algoritmo de bsqueda y ensamblado de muestras se escribi cdigo
directamente en lenguaje ensamblador ya que ciertos cdigos de operacin del PIC resultaron ms
eficientes que cualquier otra instruccin en C. Esto demuestra que ningn lenguaje de
programacin es mejor que otro y su eficiencia depende mucho de la experiencia del programador.
El uso de la clase HID de dispositivos USB fue exitoso debido a que el sistema operativo Windows
ofrece API para la lectura peridica de estos dispositivos y adems ofrece arreglos circulares para
almacenamiento temporal de la informacin enviada. Estos arreglos permitieron la lectura de
muestras con tiempos poco estrictos desde el punto de vista del programador de tareas de
Windows.
La enumeracin de la tarjeta ante Windows est garantizada en puertos USB versin 2.0 o
mayores ya que al ser un dispositivo HID se conecta inmediatamente al sistema sin necesidad de
contar con controladores especiales. Usando la clase HID para la tarjeta se garantizaron los
tiempos de entrega de paquetes y sin prdida de informacin debido a fallas elctricas en el cable
USB o a otros factores.
La implementacin del arreglo circular en el firmware del PIC permiti realizar el muestreo de la
seal mientras que el perifrico USB enviaba la informacin a la computadora, todo esto sin
interrupciones, en tiempo real.
Se cumpli con el objetivo de emplear material electrnico de bajo precio y fcil adquisicin para la
elaboracin de la tarjeta de adquisicin. nicamente se encontraron problemas por la baja
velocidad de procesamiento del microcontrolador del PIC que ralentiz la frecuencia de muestreo
de la tarjeta de 25kSps a 22kSps y con los capacitores empleados para los filtros analgicos que
generaron desfasamientos de la seal entre etapas de amplificacin.

78

79

Captulo 5. Clculos discretos de la seal acstica.


5.1. Introduccin
En este captulo se presentan las funciones matemticas discretas que se utilizan en el clculo de
seales acsticas de un sonmetro digital.
Una vez que la seal fue muestreada por la tarjeta y adquirida por la computadora mediante USB
se deben aplicar varios clculos para medir el nivel de contaminacin por ruido acstico. Se
manejarn dos constantes del muestreo durante las siguientes secciones: frecuencia de muestreo
de 22kSps y periodo de muestreo de 45.45s.
Los clculos que las normas de evaluacin de ruido acstico establecen son los siguientes:

Valor Pico
Nivel Sonoro Continuo Equivalente (NSCE)
Nivel Sonoro Continuo Equivalente con Filtro de Ponderacin A o C
Anlisis Espectral
Anlisis de Octavas
Percentiles

Adicionalmente se emple el clculo del valor eficaz de la seal acstica o valor RMS para realizar
la calibracin de la sensibilidad del conjunto tarjeta-micrfono.

5.2. Clculos del sonmetro


5.2.1. Valor eficaz
Matemticamente, el valor eficaz o valor medio cuadrtico (root mean square o RMS) es la
medicin estadstica de la magnitud de una seal con variaciones. Tiene un uso prctico ante
seales con variaciones positivas y negativas.
El valor RMS es el empleado para indicar la magnitud eficaz de las seales seno. Para la
calibracin de la sensibilidad del conjunto tarjeta-micrfono se emplea este valor ya que el
calibrador empleado genera una seal seno con frecuencia de 1kHz y valor RMS de 1 o 10
Pascales, siendo 94dB y 114dB respectivamente.
Para la conversin de la seal en Volts a Pascales es necesario conocer la sensibilidad del
micrfono. La conversin involucrada se ve en la ecuacin 5.1:

Vrms = SPrms ,

(5.1)

donde:
Vrms es el voltaje eficaz de la seal,
S es la sensibilidad del conjunto tarjeta-micrfono dada en mV/Pa y
Prms es la presin acstica eficaz del calibrador.
La presin acstica eficaz del calibrador se considera como constante de 10Pa. El valor de la
sensibilidad es la incgnita de la ecuacin y el voltaje eficaz se debe obtener mediante el clculo
RMS discreto de las muestras.
La ecuacin para el clculo del valor RMS de una seal continua es la dada en 5.2:

80

Vrms =

1
T

V 2 dt ,

(5.2)

donde:
T es el tiempo que dura la seal continua y
V es la funcin del voltaje respecto al tiempo.
Esta funcin debe adaptarse a su equivalente discreto y se logr mediante el uso del mtodo de
integracin por trapecios mltiples. La ecuacin para el clculo de la integral de una funcin
discreta mediante este mtodo es la dada en 5.3.

A=

n2
ba

x[0] + 2 x[i ] + x[n 1] ,


2(n 1)
i =1

(5.3)

donde:
A es el rea bajo la curva,
b es el lmite superior de las abscisas,
a es el lmite inferior de las abscisas,
n es el nmero de muestras de la funcin discreta y
x es el conjunto de muestras (ordenadas).
Resolviendo la parte integral de la ecuacin 5.2 mediante la ecuacin 5.3 y sustituyendo en 5.2 se
tiene la ecuacin 5.4 para el clculo del voltaje RMS de una seal discreta.

Vrms =

1 V [0] 2 + V [n 1]2 n 2

+ V [i ] 2 .
n 1
2
i =1

(5.4)

Una vez que se ha obtenido el valor RMS de la seal discreta slo basta despejar S de la ecuacin
5.1 para haber calibrado el sistema.

5.2.2. Valor Pico


El valor pico de la seal acstica se encuentra mediante el clculo del valor absoluto de todas las
muestras (remocin del signo) y la bsqueda del mayor valor de ese conjunto.

5.2.3. Nivel Sonoro Continuo Equivalente


El nivel sonoro continuo equivalente (NSCE) se define como el nivel de presin acstica de un
sonido que flucta en un tiempo T expresado como un promedio de la energa. Este nivel suele
darse en dB y referenciado a 20Pa. La ecuacin 5.5 muestra la frmula para el clculo del NSCE.

1
NSCE = 10 log
t 2 t1

t2

t1

P2
Pref

dt ,

donde:
t2 - t1 es el tiempo que dura el sonido,
P es la presin acstica fluctuante y
Pref es la presin acstica de referencia de 20Pa.

81

(5.5)

Su equivalente discreto es el visto en 5.6 [41].

t N 1

2
NSCE = 10 log P[i ]2 10 log Pref ,
T i =0

(5.6)

donde:
t es el periodo de muestreo de la seal discreta,
N es el nmero de muestras,
P es la presin acstica fluctuante y
Pref es la presin acstica de referencia de 20Pa.
5.2.4. Nivel Sonoro Continuo Equivalente con Filtro de Ponderacin A o C
Este nivel de sonido se calcula de la misma manera que el NSCE pero sobre una seal filtrada. Los
filtros de ponderacin A y C se encargan de modificar la seal acstica a una seal similar a la que
el ser humano percibe [42].
Las curvas de respuesta de frecuencia de estos filtros son subjetivas ya que an no hay forma de
medir la respuesta fsica de un odo humano. Un ejemplo de obtencin de la curva de respuesta de
frecuencia subjetiva de una persona es el siguiente: se presenta una seal de 1kHz de amplitud
constante y conocida; se pide a la persona que memorice el nivel de ese sonido; posteriormente se
le presentan una cantidad de frecuencias que van de los 20Hz a los 20kHz y la persona indicar el
nivel de los sonidos escuchados; tales frecuencias tienen el mismo nivel que la de 1kHz pero el
conjunto odo-cerebro de la persona las interpreta de distinta manera.
La aplicacin de estos filtros permite evaluar qu tanto dao psicolgico y fsico puede provocar un
sonido de acuerdo a sus componentes de frecuencia.
La ponderacin A debe ser calculada a partir de la ecuacin 5.7:

A( f ) = 20 log
f 2 + 20.6 2

12194 2 f

)(

f 2 + 107.7 2

)(

f 2 + 737.9 2

)(

A1000 , (5.7)
f 2 + 12194 2

donde:
A1000 es igual a -2dB,
A(f) es la atenuacin en la frecuencia dada y
f es la frecuencia dada.
La ponderacin C debe ser calculada a partir de la ecuacin 5.8:

12194 2 f 2
C ( f ) = 20 log 2
C1000 ,
2
2
2
f + 20.6 f + 12194

)(

(5.8)

donde:
C1000 es igual a -0.062dB,
C(f) es la atenuacin en la frecuencia dada y
f es la frecuencia dada.
Cabe mencionar que los filtros de ponderacin deben entregar una ganancia de 0dB en la
frecuencia de 1kHz y se normalizan agregando A1000 y C1000 a cada ecuacin. Los polos y ceros
que generan las funciones 5.7 y 5.8 pueden encontrarse en la norma IEC 61672-1.

82

Las ecuaciones 5.7 y 5.8 entregan los coeficientes de atenuacin para una frecuencia dada por lo
que pueden filtrar una seal nicamente si sta est presentada en el dominio de la frecuencia.
Para filtrar una seal en el dominio del tiempo es necesario obtener un filtro FIR o un filtro IIR con
relacin a las ecuaciones 5.7 y 5.8.
Esto ltimo se logra mediante el uso de la transformada bilineal Z. Este mtodo es el ms
ampliamente usado para obtener los coeficientes de un filtro IIR para respuestas de frecuencia no
rectangulares.
La transformada bilineal recibe una funcin de transferencia analgica en el dominio s y entrega a
cambio una funcin de transferencia discreta en el dominio z mediante la relacin 5.9:

H ( z ) = H a ( s ) | s = (1 z 1 ) /(1+ z 1 ) .

(5.9)

El prototipo analgico Ha(s) se disea de tal forma que la funcin de transferencia digital H(z),
derivada de la transformada bilineal, sea independiente del valor de .
La transformacin dada en la ecuacin 5.9 mapea el plano s en el plano z de la siguiente manera
(ver figura 5.1):

La mitad izquierda del plano s el interior del crculo unitario del plano z.
La parte derecha del plano s el exterior del crculo unitario del plano z.

Eje imaginario s = j crculo unitario del plano z ( z

= e jw ).

Figura 5.1. Mapeo del plano s hacia el plano z mediante la transformada bilineal.

Por lo tanto la transformada bilineal mapea un filtro analgico estable en un filtro digital estable
[43].
Las funciones en el dominio s de las ponderaciones A y C son proporcionadas por el estndar
ANSI S1.42-2001 [44] y se pueden ver en las ecuaciones 5.10 y 5.11 respectivamente.

H A ( s) =

4 2 12194 2 10

A1000
20

s4

(s + 2 (20.6)) (s + 2 (12194) ) (s + 2 (107.7 ))(s + 2 (737.9))


2

83

(5.10)

H C ( s) =

4 12194 10
2

C1000
20

s2

(s + 2 (20.6 ))2 (s + 2 (12194))2

(5.11)

donde:
HA(s) y HC(s) son las funciones de transferencia y
s es la variable compleja.
La funcin de la transformada bilineal Z viene incluida en el Signal Processing Toolbox de
MATLAB. Los parmetros de entrada son los numeradores y denominadores de la funcin en el
dominio S y la frecuencia de muestreo objetivo del filtro IIR que entrega. Se le pasan los datos
desarrollados de las ecuaciones 5.9 y 5.10 y una frecuencia de muestreo de 22kSps y MATLAB
regresa entonces los coeficientes discretos del filtro IIR para aplicarlos a la seal muestreada [45].
La ecuacin de los filtros IIR se muestra en 5.12.

y[n] =

1
(b0 x[n] + b1 x[n 1] + ... + b p x[n p ]
a0

(5.12)

a1 y[n 1] a 2 y[n 2] ... a q y[n q ]).


Los coeficientes para ponderacin en A a 22kSps se ven en la tabla 5.1.
Tabla 5.1. Coeficientes IIR para filtro de ponderacin A a 22kSps.
a0
a1
a2
a3
a4
a5
a6
1
-3.2264887 3.34597513 -0.72209273 -0.6309382 0.17681965 0.05672518
b0
b1
b2
b3
b4
b5
b6
0.44992644 -0.89985289 -0.44992644 1.79970577 -0.44992644 -0.89985289 0.44992644

Los coeficientes para ponderacin en C a 22kSps se ven en la tabla 5.2.


Tabla 5.2. Coeficientes IIR para filtro de ponderacin C a 22kSps.
a0
a1
a2
a3
a4
1
-1.44741407 -0.0139299 0.38912408 0.07227542
b0
b1
b2
b3
b4
0.40400182
9.99E-16
-0.80800363 -3.61E-16 0.40400182

Una vez que se conocen los coeficientes en el dominio z se puede investigar si el filtro es estable.
Si los polos del filtro IIR se encuentran dentro del crculo unitario en el plano z entonces el filtro es
estable. En caso contrario, si los polos estn fuera del crculo unitario u originalmente estaban en la
mitad derecha del plano s, entonces el filtro ser inestable y su salida tender al infinito.
Mediante MATLAB y la funcin zplane se determin que ambos filtros IIR son estables ya que los
polos no salen del crculo unitario. El diagrama de polos y ceros de cada uno de ellos se ve en las
figuras 5.2 y 5.3.
La norma IEC 61672-1 determina las tolerancias que los filtros pueden presentar y los agrupa en
Clase 1 o Clase 2. Las tolerancias pueden verse en la tabla 5.3.
La respuesta de frecuencia de los filtros A y C obtenidos se puede ver en las figuras 5.4 y 5.5
respectivamente. El captulo anexo contiene el cdigo fuente en MATLAB para el diseo de los
filtros de ponderacin. La ponderacin Z es un filtro con ganancia de 0dB en cualquier frecuencia.

84

Figura 5.2. Estabilidad del filtro IIR de ponderacin A.

Figura 5.3. Estabilidad del filtro IIR de ponderacin C.

85

Tabla 5.3. Lmites de tolerancia para ponderacin A y C.

86

Figura 5.4. Filtro IIR de ponderacin A a 22kSps.

Figura 5.5. Filtro IIR de ponderacin C a 22kSps.

87

5.2.5. Anlisis espectral


El anlisis de las componentes de la seal acstica es puramente informativo y no es requerido por
las normas de contaminacin por ruido. Se emplea para anlisis del NSCE por componentes de
frecuencia en investigaciones especializadas.
La extraccin de las componentes se realiza mediante la Transformada Rpida de Fourier (Fast
Fourier Transform - FFT). El nico requerimiento de este mtodo es contar con un nmero de
muestras equivalente o menor a una potencia de 2.
Otra aplicacin de la respuesta de frecuencia de una seal es en la elaboracin de sonmetros de
bajas prestaciones que obtienen la seal en el dominio del tiempo, aplican la FFT, aplican el filtro
de ponderacin A o C directamente sobre la respuesta de frecuencia y calculan el NSCE utilizando
la relacin de Parseval sin tener que regresar la seal al dominio del tiempo [46]. En general, la
energa de una seal se define como la suma de las magnitudes cuadradas de las muestras en el
dominio del tiempo. La relacin de Parseval estima la energa de una seal en el dominio de la
frecuencia sin tener que regresarla al dominio del tiempo.
Se sabe que el clculo de la FFT sobre una seal en el dominio del tiempo entrega las
componentes en frecuencia de la misma pero con fugas espectrales, tambin conocidas como el
efecto Gibbs. En la imagen 5.6 se puede ver el efecto Gibbs de una onda seno pura.

Figura 5.6. Fuga espectral de una seal seno discreta (cortesa Wikipedia.org).

Para reducir este efecto se emplean las ventanas que son funciones que se aplican en el dominio
del tiempo y suavizan los extremos de una seal para que su respuesta de frecuencia presente
menos fugas. Las ventanas que se emplearon son: Hamming, Hanning y Nuttall para amplio rango
dinmico.
- Ventana de Hamming. Su ecuacin se ve en 5.12.

2n
w(n) = 0.54 0.46 cos

N 1
88

(5.12)

Figura 5.7. Ventana de Hamming.

- Ventana Hanning. Su ecuacin se ve en 5.13.

2n
w(n) = 0.51 cos

N 1

(5.13)

Figura 5.8. Ventana de Hanning.

- Ventana Nuttall. Su ecuacin est dada en 5.14.

2n
4n
6n
w(n) = a 0 a1 cos
+ a 2 cos
a 3 cos
,
N 1
N 1
N 1
a 0 = 0.355768, a1 = 0.487396, a 2 = 0.144232, a 3 = 0.012604,

Figura 5.9. Ventana Nuttall para FFT de amplio rango dinmico.

89

(5.14)

donde:
w(n) es el valor de la ventana en el punto n,
n es la muestra actual y
N es el total de muestras.
Para aplicaciones que requieren de un mayor rango dinmico, como el presente en la seal
acstica, la ventana Nuttall presenta un mejor rendimiento que las ventanas comunes [47] [48].

5.2.6. Filtros de octavas


Los filtros de octavas se aplican sobre la seal acstica para conocer el nivel de ruido por zonas de
frecuencia. Una vez que la seal es filtrada se aplica el clculo del NSCE sobre ella y se tabula en
una columna su valor. Esto debe repetirse para todo el banco de filtros.
Los filtros de octavas y de un tercio de octava deben disearse conforme a la norma ANSI S1.112004 [49]. Los filtros deben aplicarse sobre la seal en el dominio del tiempo mediante un filtro FIR
o IIR que puede disearse mediante la transformada bilineal en la misma forma en que se
disearon los filtros de ponderacin A y C [45].
Otro mtodo que puede emplearse para la generacin de los filtros es el de Polos y Ceros ya que
los filtros pasa banda son fciles de disear mediante el trazado manual de las frecuencias en el
crculo unitario. El nico detalle a cuidar es que el orden del filtro est dentro de las
especificaciones de la norma ANSI.

5.2.7. Percentiles
Los niveles estadsticos o percentiles tambin suelen usarse para medir la contaminacin por ruido
ambiental. Un percentil es un nivel sonoro que se rebasa en un porcentaje del tiempo de una seal
acstica. Un percentil con una precisin aceptable slo se obtiene a partir de grabaciones con
largas duraciones.

Figura 5.10. Obtencin de L10, L50 y L90 de una seal acstica.

90

Los percentiles ms usados son el L10, L50 y L90, que corresponden muy aproximadamente a los
niveles mximos y mnimos del ruido ambiental, respectivamente. El nivel L10 representa el nivel de
ruido que es rebasado el 10% del tiempo de la seal. Los niveles L50 y L90 representan al 50% y
90% respectivamente. Por ejemplo, si se tiene una seal de 50 muestras y se desea obtener el L10
entonces la muestra quinta con mayor amplitud absoluta ser el valor de L10. Tambin se conoce al
L90 como el nivel de fondo ya que la mayor parte del tiempo este nivel es rebasado.
En la figura 5.10 se tiene un ejemplo del clculo de los percentiles sobre una seal con duracin de
2 segundos. Se debe obtener el valor absoluto de cada muestra y posteriormente ordenarlas
descendentemente. Por ltimo se obtiene el valor en el 10%, 50% y 90% del tiempo. El percentil
siempre se debe entregar en decibeles referenciados a 20Pa.

5.3. Conclusiones
Mediante mtodos matemticos y una programacin eficiente en lenguaje C es posible convertir
cualquier integral matemtica continua en una integral aproximada discreta. Existen mtodos de
integracin como el de Simpson que calculan con mayor precisin estas integrales, pero se eligi el
mtodo de los trapecios mltiples para el valor RMS ya que es rpido y su precisin se ve
mejorada al incluir ms muestras en la funcin discreta.
El diseo de filtros digitales resulta problemtico cuando stos no presentan respuestas de
frecuencia rectangulares. El mtodo de la transformada bilineal Z ofrece una conversin de filtros
analgicos en el dominio s a filtros digitales en el dominio z respetando la estabilidad del filtro
original.
La problemtica principal de este mtodo es que el filtro debe contar con una ecuacin diferencial
correctamente simplificada en numeradores y denominadores de la variable compleja s. El diseo
de los filtros de ponderacin se simplific gracias a que la funcin de transferencia de los mismos
en el dominio s est dada en la norma ANSI S1.42-2001. La transformada bilineal de MATLAB
recibe los coeficientes del numerador y del denominador de la funcin en forma desarrollada o en
vectores de polos, ceros y el valor de k.
Los filtros de ponderacin A y C obtenidos cumplen con la respuesta de frecuencia requerida por la
norma IEC 61672-1 en la clase 2. Si se necesitara cumplir con la clase 1, el diseo de los filtros
debe hacerse con una mayor frecuencia de muestreo, aproximadamente de 48kSps, pero esto
resulta imposible ya que la frecuencia de muestreo actual est limitada por la capacidad de
procesamiento del microcontrolador PIC.
El anlisis espectral de la seal resulta sencillo mediante el algoritmo de la transformada rpida de
Fourier. Se tom cuidado en la implementacin de las ventanas para reducir la fuga espectral y se
investig sobre la aplicacin de ventanas en seales de amplio rango dinmico mediante el uso de
la ventana de Nuttall.

91

Captulo 6. Desempeo de la tarjeta de adquisicin de


seales acsticas.
6.1. Introduccin
En este captulo se presentan las pruebas de funcionamiento que se hicieron a la tarjeta de
adquisicin una vez que se fabric su circuito impreso y se ensambl dentro de su gabinete. Estas
pruebas se llevaron a cabo en laboratorio bajo condiciones ambientales normales y con la
simulacin de seales acsticas mediante un generador de seales modelo PM5193 de la marca
Philips y la medicin de ellas con un osciloscopio Tektronix TDS 520A.
Las pruebas llevadas a cabo son:

Determinacin de la sensibilidad del conjunto micrfono-tarjeta.


Obtencin de la respuesta de frecuencia de la tarjeta.
Pruebas con seales de diversos rangos dinmicos.
Pruebas de respuesta de frecuencia de los filtros de ponderacin A y C.
Pruebas del funcionamiento del cambio automtico de canal legible.

La tarjeta se elabor en un circuito impreso de doble cara con dimensiones de 10x16cm. Se tom
especial cuidado en el arreglo de los componentes digitales y analgicos colocndolos a distancias
en las que no se afectaran electromagnticamente entre ellos. La figura 6.1 muestra la cara
superior de la tarjeta.

Figura 6.1. Cara superior de la tarjeta de adquisicin de amplio rango dinmico.

La parte inferior izquierda de la tarjeta integra las fuentes de alimentacin. La parte inferior derecha
contiene el circuito para la fuente de corriente directa de 4mA (IEPE) y la conexin del micrfono.
La parte derecha contiene las etapas de amplificacin analgica y los filtros anti-offset y anti-alias.
El centro de la tarjeta contiene los convertidores analgico a digital de 12 bits (MCP3201) y el

92

amplificador operacional para proteccin contra saturacin (LM324). Por ltimo, en la parte superior
izquierda se tiene al microcontrolador PIC18F2550 y su puerto USB. El gabinete de la tarjeta es
una estructura metlica que permite la conexin de las fuentes, el puerto USB y el micrfono (ver
figura 6.2). La tarjeta cuenta con planos de tierra que estn conectados fsicamente al gabinete
metlico para conformar la jaula de Faraday mencionada en un captulo anterior.

Figura 6.2. Gabinete de la tarjeta de adquisicin.

El software empleado para la calibracin y para todas las dems pruebas se program en Visual
C# 2008 y lleva el nombre tentativo SL Sonometer (ver figura 6.3).

Figura 6.3. Software de prueba SL Sonometer.

93

El software diseado realiza las siguientes tareas:

Bsqueda y conexin de la tarjeta HID por puerto USB con Vendor ID 0x04D8 y Product ID
0x0003.
Coleccin manual o automtica de las muestras legibles va USB.
Concatenacin de las muestras legibles en una muestra equivalente de 27 bits ms signo.
Calibracin del conjunto tarjeta-micrfono con ayuda de calibrador externo.
Conversin de las muestras binarias a Pascales.
Clculo del Nivel Sonoro Continuo Equivalente.
Clculo del NSCE ponderado en A y C.
Aplicacin de ventanas Hamming, Hanning o Nuttall sobre la seal.
Clculo de la Transformada Rpida de Fourier.
Graficacin de la seal en el dominio del tiempo y de la frecuencia.

El software fue diseado para efectuar las pruebas acsticas de la tarjeta pero cuenta con gran
parte de los clculos acsticos que demanda un sonmetro comercial.
Adicionalmente se escribi un archivo DLL que se encarga de obtener los datos desde la tarjeta de
adquisicin y entregarlos a una aplicacin en LabVIEW. Esta librera se conecta a la tarjeta
mediante lo descrito en el captulo 4, toma las muestras que la aplicacin en LabVIEW le demande,
las concatena en muestras equivalente de mayor resolucin y entrega un arreglo de enteros con
signo con la seal del micrfono. La escritura de esta librera permite no slo la integracin de la
tarjeta de adquisicin al software LabVIEW, tambin permite que cualquier otro software que pueda
controlar DLL pueda hacer uso de la tarjeta.

6.2. Sensibilidad del conjunto tarjeta-micrfono


La sensibilidad del micrfono se ve afectada por el circuito de medicin al que se conecte
(acoplamiento de impedancias), la corriente IEPE que se le suministre y la sensibilidad propia del
pre-amplificador del micrfono. Esta sensibilidad debe determinarse para poder vincular los valores
binarios de la conversin analgica a digital a valores en unidades de ingeniera (Pascales).
La determinacin de esta sensibilidad se logr mediante un calibrador estandarizado de
micrfonos. El modelo empleado es el modelo 1356 de la compaa TES (ver figura 6.4), el cul
est diseado para cumplir con la norma IEC 942 de calibradores. Actualmente esta norma ya no
se emplea y fue sustituida por la norma IEC 60942.

Figura 6.4. Calibrador para micrfonos bajo norma IEC 942.

94

El calibrador se encarga de generar movimiento en la membrana del micrfono de forma tal que
simule una onda acstica. La seal generada tiene una frecuencia de 1kHz y una amplitud de 94dB
(1Parms) o 114dB (10Parms). Para la calibracin se eligi la amplitud de 114dB ya que abarca las 5
etapas de amplificacin proporcionando una calibracin completa de todas las rutas elctricas de la
tarjeta.
La figura 6.5 muestra la seal que entrega el micrfono al usar el calibrador con salida a 114dB.

Figura 6.5. Seal de calibracin a 114dB con micrfono MP201.

En la figura 6.3 se observa en la seal en el dominio del tiempo la onda seno generada por el
calibrador cuyo valor pico es de aproximadamente 14Pa. Mediante el clculo del valor RMS visto
en el captulo 5 se obtiene el valor en Pascales RMS de la seal y se determina la sensibilidad del
conjunto tarjeta-micrfono en mV/Pa (ver ecuacin 5.1).
El valor inicial de la sensibilidad al arrancar el software SL Sonometer se predetermin en 62mV ya
que es un valor promedio de la sensibilidad del micrfono que se us en las pruebas. La
calibracin generada oscila entre los 62mV/Pa y los 64mV/Pa.

6.3. Respuesta de frecuencia de la tarjeta


La respuesta de frecuencia de la tarjeta es el resultado de la integracin de la respuesta de varios
filtros analgicos, la respuesta de los amplificadores operacionales, la respuesta de los
convertidores analgico a digital y la frecuencia de muestreo. La respuesta de frecuencia terica se
puede deducir a partir de todo lo anterior pero lo mejor es medirla de forma prctica con el software
SL Sonometer.
Esto se logr mediante el barrido de una seal de 10Parms (114dB con sensibilidad de 62mV/Pa)
por varias frecuencias y la tabulacin del valor medido con el esperado. La seal se obtuvo
mediante el generador de seales mencionado anteriormente. Los datos obtenidos se ven en la
tabla 6.1 y la figura 6.6, en donde se emplean la unidad dBSPL (Sound Pressure Level) para
unidades de nivel acstico en Pascales y la unidad dB para unidades de ganancia adimensional.
Se observa que el primer cruce por los -3dB de atenuacin se presenta aproximadamente a los
20Hz debido a la frecuencia de corte de los filtros anti-offset. El segundo cruce por -3dB ocurre

95

aproximadamente a los 11kHz cuya frecuencia se aproxima a la frecuencia de corte de los filtros
anti-alias.
Tabla 6.1. Respuesta de frecuencia de la tarjeta.

Frecuencia NSCE (dBSPL)


10
107.17
20
111
30
112.39
50
113.32
80
113.73
100
113.84
150
113.95
160
113.96
200
113.98
250
113.99
315
114
400
114
500
113.99
630
114
800
113.99
1000
113.99
1250
113.97
1600
113.93
2000
113.91
2500
113.82
3150
113.71
4000
113.5
5000
113.29
6300
112.97
8000
112.39
10000
111.5
10900
111.07

Atenuacin
(dB)
-6.83
-3.00
-1.61
-0.68
-0.27
-0.16
-0.05
-0.04
-0.02
-0.01
0
0
-0.01
0
-0.01
-0.01
-0.03
-0.07
-0.09
-0.18
-0.29
-0.5
-0.71
-1.03
-1.61
-2.5
-2.93

Respuesta de frecuencia
1
0
Ganancia (dB)

-1
-2
-3
-4
-5
-6
-7
-8
10

100

1000

10000

Frecuencia (Hz)

Figura 6.6. Respuesta de frecuencia de la tarjeta de adquisicin.

96

100000

6.4. Pruebas con seales de diversos rangos dinmicos


Esta prueba involucra la generacin de seales cuyas amplitudes abarcan una o ms etapas de
amplificacin al mismo tiempo. Por ejemplo, una seal seno de 10Vrms debe ser medida por la
primera etapa cuando est dibujando su pico y cuando est cruzando por cero deber ser medida
por la quinta etapa. Entre ms amplitud tenga la seal, un mayor nmero de etapas se ver
involucrado en el muestreo.
Las pruebas se hicieron con seales de frecuencia constante de 1kHz y con amplitudes que
abarcaran un nmero conocido de etapas de amplificacin de acuerdo a la figura 4.15.
6.4.1. Prueba en la quinta etapa
La quinta etapa tiene un lmite superior de voltaje de 215V y abarca un nivel acstico RMS de
hasta 43.6dB. Este nivel es muy prximo al que se ofreci en las caractersticas del rango dinmico
de la tarjeta de 40dB que representa el nivel de fondo.
Para probar esta etapa se coloc el generador de seales con una amplitud de 0V por lo que lo
que lo medido slo debera ser ruido electromagntico. La figura 6.7 muestra la seal de 0V como
la muestra el osciloscopio al que se gener el generador y la figura 6.8 muestra la seal que tom
la tarjeta de adquisicin.
Se puede observar que el ruido involucrado con una seal de 0V es de 32dB aproximadamente.
Esto cumple con el ruido de fondo propuesto de 40dB.

Figura 6.7. Ruido de fondo con generador de seales a 0V.

97

Figura 6.8. Ruido de fondo de la tarjeta de adquisicin.

6.4.2. Pruebas en quinta y cuarta etapas


De acuerdo a la figura 4.15 la cuarta etapa puede contener seales de hasta 3.45mVpico con ayuda
de la quinta etapa para su zona no legible. Se gener una seal de 500Vrms aproximadamente; la
medicin del osciloscopio es la vista en la figura 6.9 y la medicin del software en 6.10.

Figura 6.9. Seal de 500Vrms medida por osciloscopio.

98

Figura 6.10. Seal de 49dB medida por la aplicacin.

Cabe sealar que las mediciones en el osciloscopio muestran mucho ruido ya que su canal de
amplitud ya estaba en el lmite mnimo de 1mV y su ancho de banda se ajust a 20MHz. En
cambio, la seal medida en la aplicacin muestra la seal de 1kHz ligeramente distorsionada pero
sin ruido gracias a los filtros anti-alias. El nivel medido a 500Vrms es de 49dB.
En una segunda prueba se coloc una seal de 3.4mVrms. Las figuras 6.11 y 6.12 muestran los
resultados. Esta seal abarca ligeramente el inicio de la tercera etapa.

Figura 6.11. Seal de 3.4mVrms medida por osciloscopio.

99

Figura 6.12. Seal de 69dB medida por la aplicacin.

6.4.3. Prueba en la tercera, cuarta y quinta etapas


La tercera etapa puede abarcar seales de hasta 55mV aproximadamente con ayuda de las dems
etapas inferiores. Se gener una seal de 27mVrms la cual se ve en las figuras 6.13 y 6.14.

Figura 6.13. Seal de 27mVrms medida por osciloscopio.

100

Figura 6.14. Seal de 88dB medida por la aplicacin.

6.4.4. Prueba en la segunda, tercera, cuarta y quinta etapas


La segunda etapa puede abarcar seales de hasta 900mV aproximadamente con ayuda de las
dems etapas inferiores. Se gener una seal de 400mVrms la cul se ve en las figuras 6.15 y 6.16.

Figura 6.15. Seal de 400mVrms medida por osciloscopio.

101

Figura 6.16. Seal de 110dB medida por la aplicacin.

6.4.5. Prueba en la primera, segunda, tercera, cuarta y quinta etapas


La primera etapa puede abarcar seales de hasta 14.4V con ayuda de las dems etapas inferiores.
Se gener una seal de 2.4Vrms la cul se ve en las figuras 6.17 y 6.18.

Figura 6.17. Seal de 2.4Vrms medida por osciloscopio.

102

Figura 6.18. Seal de 125dB medida por la aplicacin.

Es importante notar que una seal como sta produce daos casi inmediatos en el odo de una
persona.
En una prueba final se gener una seal de 6.84Vrms que rebasa el voltaje mximo del preamplificador del micrfono por 2V aproximadamente. Las figuras 6.19 y 6.20 muestran la medicin
y sus resultados.

Figura 6.19. Seal de 6.8Vrms medida por el osciloscopio.

103

Figura 6.20. Seal de 135dB medida por la aplicacin.

Esta seal de 135dB es la mxima que el generador de seales pudo entregar pero demuestra el
rango mximo de la tarjeta de adquisicin de forma aproximada.

6.5. Pruebas de respuesta de frecuencia de los filtros de


ponderacin A y C
Si bien la respuesta de frecuencia de los filtros de ponderacin ya est garantizada desde el
momento en que fueron diseados se realiz una segunda prueba con muestras entregadas por el
generador de seales. Se utiliz una seal con amplitud constante de 114dB (10Parms) y se fueron
tabulando las diversas frecuencias que pueden estar dentro de la frecuencia Nyquist de los filtros
analgicos de la tarjeta (10Hz a 11kHz) y de acuerdo a algunas frecuencias significativas de la
tabla 5.3.
La tabla 6.2 muestra el resultado de la prueba con el filtro de ponderacin A (ver figura 6.21).
Haciendo una comparacin de lo obtenido con lo esperado en la tabla 5.3 se observa que el filtro
aplicado prcticamente cumple con la clase 2 de la norma IEC 61672-1 a partir de una frecuencia
de 63Hz hasta la frecuencia Nyquist de 11kHz. Esto se debe a que la atenuacin requerida de 70.4dB a 10Hz implica una cada muy rpida de la respuesta de frecuencia.
La tabla 6.3 muestra el resultado de la prueba con el filtro de ponderacin C (ver figura 6.22).
Comparando los resultados con la tabla 5.3 se observa que el filtro cumple con la clase 2 de la
norma IEC 61672-1 a partir de una frecuencia de 10Hz hasta la ltima frecuencia de 11kHz.

104

Tabla 6.2. Respuesta de frecuencia prctica del filtro de Ponderacin A.

NSCE
(dBA)
66
72
79
87.5
97.5
100.53
105.21
110.68
113.97
115.12
115.05
114.81
114.21
111.22
106.1
90.63
81.57

Frecuencia NSCE (dBSPL)


10
98.87
16
104.61
31.5
110.15
63
112.71
125
113.6
160
113.75
250
113.88
500
113.93
1000
113.98
2000
113.87
2500
113.79
3150
113.67
4000
113.5
6300
112.91
8000
112.36
10000
111.39
10900
110.97

Atenuacin
(dB)
-32.87
-32.61
-31.15
-25.21
-16.1
-13.22
-8.67
-3.25
-0.01
1.25
1.26
1.14
0.71
-1.69
-6.26
-20.76
-29.4

Filtro de ponderacin A
5
0
Ganancia (dB)

-5
-10
-15
-20
-25
-30
-35
10

100

1000

10000

Frecuencia (Hz)

Figura 6.21. Respuesta de frecuencia prctica del filtro de ponderacin A.

105

100000

Tabla 6.3. Respuesta de frecuencia prctica del filtro de Ponderacin C.

NSCE
(dBC)
85
96.3
107
111.84
113.4
113.66
113.88
113.96
113.95
113.7
113.44
113.08
112.43
109.32
104.2
88.46
81.82

Frecuencia NSCE (dBSPL)


10
98.87
16
104.61
31.5
110.15
63
112.71
125
113.6
160
113.75
250
113.88
500
113.93
1000
113.98
2000
113.87
2500
113.79
3150
113.67
4000
113.5
6300
112.91
8000
112.36
10000
111.39
10900
110.97

Atenuacin
(dB)
-13.87
-8.31
-3.15
-0.87
-0.2
-0.09
0
0.03
-0.03
-0.17
-0.35
-0.59
-1.07
-3.59
-8.16
-22.93
-29.15

Filtro de ponderacin C
5
0
Ganancia (dB)

-5
-10
-15
-20
-25
-30
-35
10

100

1000

10000

100000

Frecuencia (Hz)

Figura 6.22. Respuesta de frecuencia prctica del filtro de Ponderacin C.

6.6. Desfasamiento por el valor RC de los filtros analgicos


Es bien sabido que los filtros analgicos de orden 1 empleados para la atenuacin del offset o para
eliminar el efecto alias
en la tarjeta tienen una respuesta de fase que se manifiesta
significativamente cuando la frecuencia de una seal est prxima a la frecuencia de corte de los
filtros.
La frecuencia de corte de los filtros est dada por los valores de la resistencia y el capacitor de la
ecuacin 4.1. Cada etapa de amplificacin de la tarjeta cuenta con 2 filtros RC: el filtro anti-offset
lleva una resistencia de 169k y un capacitor de 47nF (ver figura 4.6) mientras que el filtro antialias lleva una resistencia de 14.7k y un capacitor de 1nF (ver figura 4.9).

106

La respuesta de fase del filtro anti-offset se ve en la figura 6.23. Se puede observar que la
respuesta de fase no es lineal desde una frecuencia de 0Hz con 90 hasta aproximadamente 1kHz
con 0.

Figura 6.23. Respuesta de fase del filtro anti-offset.

La respuesta de fase del filtro anti-alias se ve en la figura 6.24. La respuesta de fase no es lineal
desde los 100Hz con 0 hasta los 100khZ con 90 aproximadamente.

Figura 6.24. Respuesta de fase del filtro anti-alias.

107

Los valores de las resistencias y de los capacitores en la prctica no son exactos. Las resistencias
que se integraron en la tarjeta tienen valores de 169k 1% y 14.7k 1%. Los capacitores son
cermicos con valores de 47nF 20% y 1nF 20%. Si una seal requiere de un cambio de etapa de
amplificacin entonces ser filtrada por un juego de resistencias y capacitores diferentes.
La desviacin en los valores de las resistencias pudieran no ser de importancia pero la desviacin
de 20% del valor de los capacitores s tiene un impacto notorio en la respuesta de fase del filtro. La
figura 6.25 muestra este comportamiento empleando los valores de 20% del capacitor del filtro
anti-alias. La lnea azul representa la respuesta de fase con un capacitor de 1nF y las lneas rojas
representan la respuesta de fase usando un capacitor de 0.8nF y 1.2nF respectivamente.

Figura 6.25. Respuestas de fase por desviacin del valor de capacitancia.

Esto significa que la seal de una etapa estar atrasada o adelantada respecto a las dems etapas
debido a las diferentes respuestas de fase que existen entre canales generadas por los capacitores
de los filtros anti-offset y anti-alias (ver figura 6.26).

Figura 6.26. Etapas de amplificacin con sus respectivos filtros.

108

La diferencia de la respuesta de fase es ms notoria con seales de baja frecuencia ya que stas
tienen un periodo mayor que las de alta frecuencia. Por ejemplo, una seal de 20Hz tiene un
periodo de 50ms y una de 2kHz uno de 0.5ms; si se tiene un desfasamiento angular de 90 en la
seal de 20Hz entonces el desfasamiento en el tiempo se puede calcular con la ecuacin 6.1:

Da
F (360)
90
t=
= 12.5ms .
(20 Hz )(360)
t=

(6.1)

Y para el caso del desfasamiento de la seal de 2kHz se tiene:

t=

90
= 125s .
(2000 Hz )(360)

Conocer el grado de desfasamiento temporal es importante ya que el ancho de banda de la tarjeta


est presente en zonas donde la respuesta de frecuencia vara por cada etapa de amplificacin y
sus filtros involucrados, por lo que las seales de baja frecuencia de hasta 1kHz se ven
indudablemente afectadas.
Mediante el generador de funciones se conectaron seales de frecuencias bajas y con amplitud de
94dB a la tarjeta. Se observaron diversos retrasos en los cambios de etapas mediante un
acercamiento a la seal graficada y al reproducir las seales en forma sonora mediante el driver
diseado para LabVIEW. Estos retrasos no afectan el clculo del NSCE de forma notoria pero si
afectan la forma de la seal muestreada.

6.7. Desfasamiento por amplificadores operacionales


La conexin en cascada de los amplificadores operacionales conlleva retrasos de la seal por cada
vez que pasa por una etapa de amplificacin. El retraso se debe a las caractersticas internas del
amplificador OP177GP y una de ellas es la velocidad de cambio (slew rate) dada en unidades de
V/t.
Segn la hoja de caractersticas este valor es de 0.3V/s tpicamente. Haciendo uso de una
simulacin es posible calcular el retraso de la seal con este valor. Utilizando una frecuencia
mxima de salida de 11kHz y un voltaje de 10Vrms se obtuvo la grfica de la figura 6.27. La grfica
superior muestra la seal senoidal de 11kHz en color azul y una seal distorsionada y retrasada en
color rojo.
El retraso entre seales se calcul con una correlacin cruzada. El resultado de la correlacin es la
seal inferior de la figura 6.27. El pico de la seal est ubicado a -4.5s por lo que se es el retraso
que el OP177GP tendra si se usara un valor tpico de 0.3V/s. El cdigo fuente de la simulacin
puede encontrarse en el anexo de este documento.
En la prctica, la seal de salida del amplificador no es distorsionada en amplitud tan severamente
y slo es retrasada. Mediante el uso del osciloscopio se midieron los retrasos entre etapas, siendo
estos:

Etapa 1 a 2: 5s
Etapa 2 a 3: 5.6s
Etapa 3 a 4: 20.4s
Etapa 4 a 5: no medible por contar con filtro anti-offset

109

Figura 6.27. Simulacin del retraso generado por OP177GP.

El retraso total de la seal a 11kHz es de 30s promedio desde la primera etapa hasta la cuarta
etapa. Este retraso afecta en poco el muestreo de la seal cada 45.45s.

6.8. Comparativa con el mdulo NI USB 9233 de National


Instruments
Como objetivo adicional a este proyecto se trabaj en aproximar las caractersticas del mdulo de
adquisicin con el mdulo comercial NI USB 9233 de National Instruments pero con un enfoque
hacia las mediciones de seales acsticas. Esto significa que se tomaron algunas caractersticas
de operacin de la NI USB 9233 pero se acotaron para trabajar la respuesta de frecuencia y rango
dinmico de las seales de audio.
La tabla 6.4 muestra una comparativa entre las bondades del prototipo de mdulo de adquisicin
obtenido y el mdulo NI USB 9233 segn la hoja de caractersticas del fabricante [50].
Se requiri un slo canal para la medicin. Cuatro canales o ms seran necesarios para
aplicaciones acsticas de arreglos de micrfonos.
La frecuencia de muestreo de 22kSps fue suficiente para cumplir con la norma IEC 61672 clase 2.
La resolucin ofrecida por ambos mdulos rebasa la necesaria para el rango dinmico terico de
las seales de audio (23 bits segn lo descrito en el captulo 3). El rango dinmico efectivo es
similar entre el prototipo y la NI USB 9233.

110

Segn pruebas dadas en secciones anteriores, el ruido de fondo del prototipo es de 32dB (ver
figura 6.8). El rango dinmico terico del prototipo es de 170dB de acuerdo a la ecuacin 3.2, pero
se ve limitado por dos factores: el ruido de fondo y el rango de entrada de voltaje (14.14Vpico), por
lo que el rango dinmico efectivo termin siendo de 100dB.
Tabla 6.4. Comparacin entre el prototipo de mdulo de adquisicin y mdulo NI USB 9233.

Nmero de canales
Frecuencia de muestreo
Resolucin
Rango dinmico terico
Rango dinmico efectivo
Tipo de ADC
Acoplamiento de la
entrada
Frecuencia de corte AC
Rango de voltajes de
entrada
Corriente de excitacin
IEPE
Voltaje IEPE
Precisin
Impedancia de entrada
Potencia de alimentacin
Velocidad de Bus
Temperatura de
operacin

NI USB 9233
4
50kSps
24 bits
146dB
98dB (25kSps)
Delta-Sigma
AC

Prototipo de mdulo de adquisicin


1
22kSps
28 bits
170dB
100dB (22kSps)
Concatenacin de aproximaciones
sucesivas
AC

0.5Hz
5.8Vpico

20Hz
14.14Vpico

2mA

4mA

19V
0.6dB (sin calibrar)
>300k
2.5W (alimentado por USB)

18V a 24V
0.2677dB, de acuerdo a LegdB
>169k
5W (alimentacin externa a 18V o
24V)
USB 2.0 Full-Speed

USB 2.0 Hi-Speed, USB 1.1


Full-Speed
0 a 60C

0 a 80C

Un rango de voltajes de entrada mayor propicia de forma inmediata un rango dinmico efectivo
mayor. El hecho de que el prototipo cuente con un rango de entrada de aproximadamente el doble
del rango de la NI USB 9233 ofrece la posibilidad de conectar otros micrfonos que entreguen
seales de alta amplitud sin ser saturadas.
La entrada de ambos mdulos cuenta con acoplamiento de corriente alterna, esto es, que se
elimina la componente de corriente directa de la seal. La frecuencia de corte de esta eliminacin
est dada en 0.5Hz para la NI USB 9233 y en 20Hz para el prototipo.
Se pudo haber usado una fuente de alimentacin generada a partir de los 5V que el puerto USB
entrega, justo como lo hace la NI USB 9233, pero esta fuente tendra que ser conmutada y como
se coment en el captulo 3, tendra que tener una frecuencia de conmutacin muy alejada del
espectro de frecuencia de audio para que no entrara como ruido a la seal. Por ello se opt en usar
una fuente externa de voltaje sin conmutacin.
La figura 6.28 muestra la respuesta de frecuencia del mdulo NI USB 9233. Se puede observar
que tiene una curva de respuesta excelente que no excede los 0.025dB dentro del rango de
frecuencia til. La curva obtenida del prototipo es diferente (ver figura 6.6), el ancho de banda
comienza desde los 20Hz y termina en 11kHz. Una respuesta casi lineal con desviaciones menores
a 1dB se tiene desde los 50Hz hasta los 6300Hz.

111

Figura 6.28. Respuesta de frecuencia del mdulo NI USB 9233 (cortesa de National
Instruments).

6.9. Conclusiones
El diseo cuidadoso de los circuitos analgicos y digitales del circuito impreso permiti la medicin
de seales de amplio rango dinmico con la legibilidad logartmica propuesta para la tarjeta.
Mediante el uso de un generador de seales fue posible poner a prueba las distintas etapas y
espectros de frecuencia que la tarjeta deba soportar. Estas pruebas resultaron exitosas debido a
que fueron realizadas con seales similares a las que se pueden encontrar en una ciudad ruidosa.
Mediante el uso de la funcin para el clculo del valor RMS fue posible calibrar el micrfono sin
hacer uso de algoritmos complejos. Simplemente se despej el valor de lo medido y se utiliz para
encontrar la sensibilidad del micrfono mediante el uso de un calibrador normalizado.
La respuesta de frecuencia resultante de la tarjeta es muy similar a la respuesta de frecuencia que
ofrece el micrfono de acuerdo al fabricante. Esto permite hacer mediciones con un buen ancho de
banda sin tener que preocuparse por realizar ajustes en zonas no lineales y permite cumplir con lo
establecido por la norma IEC 61672-1 para la clase 2 de sonmetros. Esta respuesta de frecuencia
tambin demuestra que el la legibilidad logartmica fue aceptable en una buena parte del ancho de
banda ya que el error medido es menor a los 0.6dB propuestos.
Se someti la tarjeta a un conjunto de seales de diversos rangos dinmicos y se comprob que el
cambio automtico de etapa de amplificacin era correctamente efectuado por el microcontrolador
PIC al ver que la aplicacin SL Sonometer recibi las muestras sin interrupciones. Se demostr
que el nivel de ruido de fondo de la tarjeta se encontr por debajo de los 40dB y el nivel mximo
pudo alcanzar hasta 135dB, nicamente limitado por la salida que entreg el generador de
funciones. La tarjeta cumpli con el voltaje de entrada mximo propuesto de 10Vrms.

112

Se prob que los filtros anti-offset y anti-alias delimitaron efectivamente el ancho de banda de la
tarjeta al comparar la seal medida por un osciloscopio y la seal medida por SL Sonometer. La
seal del osciloscopio contaba con ruido mayor a 11kHz mientras que la medicin discreta no lo
presentaba en forma de alias. En pruebas de laboratorio no se encontr mucho ruido
electromagntico generado por fuentes externas pero en caso de que la tarjeta estuviera sometida
a l, la jaula de Faraday hecha con el gabinete metlico lo aminorara.
Se demostr que la adquisicin de las muestras se pudo hacer en tiempo real ya que todas las
seales llegaron sin interrupciones o prdidas de datos. El rendimiento del procesador bajo
Windows nicamente se vio comprometido en clculos pesados como la aplicacin de los filtros de
ponderacin o la transformada de Fourier. Esto permite que el software y el muestreo se ejecuten
en equipos Windows de prestaciones medianas mientras se ejecutan otras operaciones.
Se comprob el rendimiento real de los filtros de ponderacin A y C con seales de distintas
frecuencias y se compar su ganancia con la demandada por la norma IEC 61672-1. La respuesta
de frecuencia prctica de ambos filtros fue apropiada para las tolerancias marcadas por la clase 2
de la norma.
Se encontraron problemas en la implementacin de los filtros analgicos debido a la calidad de los
capacitores empleados. La desviacin en los valores nominales de los capacitores acarrea un
cambio de respuesta de fase en los filtros que afecta la correlacin entre la seal de una etapa y la
de otra. Este desfasamiento entre canales afecta de forma sutil la forma de onda pero no afecta de
forma importante el clculo del NSCE.

113

Conclusiones
Se plantearon los rangos y legibilidades que la tarjeta de adquisicin debera cumplir de acuerdo a
diversas normas internacionales de medicin de niveles acsticos y de acuerdo a las cualidades
que ofrecen otros sonmetros comerciales. Se eligi un ancho de banda intermedio entre lo
establecido por las clases 1 y 2 de la norma IEC de acuerdo a anteriores experimentos de
mediciones acsticas ambientales.
Se logr terminar un prototipo 100% funcional de la tarjeta de adquisicin con comunicacin USB
que cumple con el espectro de banda y el rango dinmico propuesto de 100dB. La clase HID USB
fue una buena eleccin ya que Windows ofrece libreras de programacin para el control de estos
dispositivos y arreglos circulares para ofrecer transferencias de datos en tiempo real con
velocidades de hasta 64kB/s. Adems, la clase HID ya est totalmente contemplada en Windows y
no requiere de controladores para entablar la comunicacin.
El espectro de frecuencias de las seales acsticas que abarca 20Hz a 20kHz permiti la
implementacin de filtros analgicos pasa bajos y pasa altos que dieron paso al transporte de
seales pequeas entre etapa y etapa sin degradacin. El uso de la tcnica de etapas de
amplificacin no se puede hacer con seales en donde importe conocer el valor de componentes
de frecuencia como la de corriente directa.
Se dise una arquitectura de expansin de la funcionalidad de un convertidor analgico a digital
para alcanzar una mayor resolucin binaria suficiente para el rango dinmico requerido por el
proyecto. La resolucin binaria resultante fue de 27 bits ms signo, siendo mayor a la encontrada
en la mayora de los convertidores analgico a digital comerciales.
Se demostr que el equilibrio entre el nmero de etapas de amplificacin analgicas y la resolucin
binaria de los convertidores analgico a digital en las etapas puede entregar una legibilidad
logartmica buena para las mediciones de seales acsticas de amplio rango dinmico as como
una legibilidad lineal aceptable con bajos costos de implementacin.
Se someti la tarjeta a un conjunto de seales de diversos rangos dinmicos y se comprob que el
cambio automtico de etapa de amplificacin era correctamente efectuado por el microcontrolador
PIC al ver que la aplicacin SL Sonometer recibi las muestras sin interrupciones. Se demostr
que el nivel de ruido de fondo de la tarjeta se encontr por debajo de los 40dB y el nivel mximo
pudo alcanzar hasta 135dB, nicamente limitado por la salida que entreg el generador de
funciones. La tarjeta cumpli con el voltaje de entrada mximo propuesto de 10Vrms.
Se prob que los filtros anti-offset y anti-alias delimitaron efectivamente el ancho de banda de la
tarjeta al comparar la seal medida por un osciloscopio y la seal medida por SL Sonometer. La
seal del osciloscopio contaba con ruido mayor a 11kHz mientras que la medicin discreta no lo
presentaba en forma de alias. En pruebas de laboratorio no se encontr mucho ruido
electromagntico generado por fuentes externas pero en caso de que la tarjeta estuviera sometida
a l, la jaula de Faraday hecha con el gabinete metlico lo aminorara.
Se programaron los filtros de ponderacin A y C, se comprob su rendimiento con seales de
distintas frecuencias y se compar su ganancia con la demandada por la norma IEC 61672-1. La
respuesta de frecuencia prctica de ambos filtros fue apropiada para las tolerancias marcadas por
la clase 2 de la norma. El filtro de ponderacin A tiene problemas de atenuacin en frecuencias
menores a 100Hz pero esto se debi a que la curva demanda una cada muy rpida de la seal en
esos puntos.
Se program un software sobre Windows capaz de adquirir las muestras legibles de la tarjeta de
adquisicin y procesarlas acsticamente de acuerdo a las mediciones y tolerancias definidas por la
norma IEC 61672-1. Esta adquisicin se hace en tiempo real y con tiempos de espera de hasta
512ms que permiten al sistema operativo dar prioridad a la ejecucin de otros procesos. Esto fue

114

gracias a las API que Windows ofrece para el manejo de dispositivos USB HID y a la
implementacin de arreglos circulares en el firmware del PIC.
Mediante las pruebas realizadas sobre el sistema de adquisicin se logr demostrar la hiptesis
planteada y cumplir con los objetivos generales y especficos del proyecto.

115

Trabajo Futuro
El circuito analgico diseado puede ser mejorado en el acoplamiento de impedancia en la salida
anti-alias de la etapa 1 y la entrada al ADC. La impedancia de la salida del filtro anti-alias est dada
por la resistencia del conjunto. Es importante colocar resistencias de valores menores a 2.5k para
que la entrada sample&hold del ADC muestree correctamente la seal. Una solucin inmediata a
este problema es colocar un amplificador operacional configurado como seguidor de fuente.
Se coment en el captulo 6 que el valor de los capacitores empleados es de alta importancia en el
desfasamiento entre etapas de las seales amplificadas. El uso de capacitores de mayor precisin
como los de mica o los multicapa ofrecen precisiones de hasta 0.5% con precios atractivos.
Otra solucin al desfasamiento entre etapas es el uso de los filtros analgicos de Bessel. Si bien no
existen filtros analgicos que no modifiquen una seal en su respuesta de fase, existe el filtro
Bessel que presenta desfasamientos pero alejados de la frecuencia de corte; es decir, que retrasan
9
o adelantan la seal en zonas fuera del ancho de banda de inters .
Un ejemplo de este filtro se ve en la figura T.1. Se dise como pasa altas, orden 1 y frecuencia de
10
corte de 20Hz mediante un asistente web .

Figura T.1. Respuesta de fase de filtro Bessel pasa altas con frecuencia de corte de 20Hz.

El eje x contiene la frecuencia proporcional a una frecuencia de muestreo de 22kSps debido a la


conversin digital requerida para graficarlo. Se puede ver que el desfasamiento (curva azul) llega a
9

Bessel filter - Wikipedia. Fuente web: http://en.wikipedia.org/wiki/Bessel_filter


Fisher, T. Butterworth / Bessel / Chebyshev Filters.
Fuente web: http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html

10

116

cero a partir de 0.013 aprox. (286Hz) el cual es mejor que el visto en la figura 6.25, cuyo
desfasamiento llega hasta 1kHz. Esto aunado al uso de capacitores precisos puede eliminar casi
por completo el problema del desfasamiento entre etapas.
La tarjeta de adquisicin cumpli con el muestreo legible de la seal acstica en tiempo real por
puerto USB. Si se implementa un procesador de seales digitales en vez del microcontrolador PIC
y se ejecuta a velocidades de 30MIPS con una ALU de mayor amplitud en bits, entonces es factible
disear un sonmetro autocontenido que realice todos los clculos que se realizaron en la
computadora sobre Windows.
Existen muchas tcnicas de programacin que mediante aproximaciones hacen ms eficiente el
tamao de cdigo y su velocidad de ejecucin. La operacin ms compleja involucrada en los
clculos acsticos es la transformada de Fourier pero existen algoritmos como el Split-Radix que
agilizan su clculo.
Los requisitos de este algoritmo son que la seal debe contar con un nmero de muestras mltiplo
11
de 4 y que debe ser constante . Esto es, que siempre se debe tener un nmero constante mltiplo
de 4 ya que si es otro mltiplo de 4 el algoritmo debe ser modificado. Los resultados de estos
algoritmos son idnticos a los obtenidos por el algoritmo completo de la Transformada Rpida de
Fourier. Las mejoras en tiempo de este mtodo se deben a que no se aplican clculos
trigonomtricos a los datos al ser reemplazados por constantes y por un nmero corto de sumas y
multiplicaciones flotantes.
Mediante un experimento con un microcontrolador PIC24FJ64GB002 (ALU de 16 bits)
ejecutndose a 16MIPS se puso a prueba el algoritmo Split-Radix para 16 muestras en nmeros
flotantes de 4 bytes de resolucin. El algoritmo entrega resultados en 674s y slo ejecuta 79
sumas y 10 multiplicaciones flotantes [51]. El cdigo fuente puede ser visto en el captulo anexo de
este trabajo.
Mediante otras tcnicas como el uso de la relacin de Parseval para calcular la energa de una
seal en el dominio del tiempo se pueden obtener la mayora de los clculos acsticos requeridos
por las normas y por comparacin con otros sonmetros comerciales de forma econmica desde el
punto de vista de tamao de programa y velocidad de ejecucin.
El relajamiento de los filtros analgicos empleados para eliminar el offset de la salida de los
amplificadores operacionales podra lograrse gracias a los nuevos circuitos que ha liberado a la
venta la compaa Microchip. El MCP651 es un amplificador operacional que se auto-calibra de
forma automtica sin requerir de potencimetros. Ofrece un offset de salida mximo de 200V. Si
hiciera falta recalibrarlo debido a cambios en la temperatura o a otros factores se inyecta un voltaje
TTL en una de sus terminales y la auto-calibracin toma lugar de nuevo [52]. Estos amplificadores
seguramente ganarn terreno en aplicaciones de amplio rango dinmico.
La velocidad de muestreo de la tarjeta se limit a las capacidades de operacin del PIC18F2550.
Una vez que se coloque un microcontrolador ms rpido podra mejorarse el ancho de banda del
conjunto. Se haba comentado que la clase de dispositivos USB HID permite velocidades por
interfaz de hasta 64kB/s; si una muestra legible ocupara 16 bits entonces cabran 32 muestras por
reporte HID cada 1ms, entregando entonces una velocidad de 32kSps. Esta velocidad de 32kSps
ofrece un ancho de banda analgico de 16kHz suficiente para cumplir con lo requerido por la
norma IEC 61672-1 para la clase 1 de sonmetros.
Es posible que investigaciones ms detalladas requieran de anchos de banda mayores a 64kB/s.
Si esto sucediera sera necesario cambiar de clase de dispositivo USB a otras como la de Audio
que empleen transferencias iscronas o del modo bulk.

11

Split-Radix FFT Algorithm - Wikipedia. Fuente web: http://en.wikipedia.org/wiki/Split-radix

117

El diseo del circuito analgico de la tarjeta, que incluye: alimentacin del micrfono, etapas de
amplificacin, filtrado anti-offset y anti-alias y proteccin de las entradas ADC, podra integrarse en
una pastilla de silicio para disear un circuito integrado que reduzca significativamente el tamao
de la tarjeta. Al usar tcnicas de diseo en silicio podran garantizarse las precisiones de las
resistencias y capacitores, y el offset de los amplificadores.

118

Bibliografa
[1] REAL ACADEMIA DE LA LENGUA ESPAOLA, Diccionario De La Lengua Espaola Vigsima segunda edicin. Espaa, 2004.
[2] LARSEN, K. Ruido Ambiental. BRUEL&KJAER - SOUND AND VIBRATION MEASUREMENT,
Madrid, p. 71, 2000.
[3] FLETCHER, H.; MUNSON, W.A. Loudness, its definition, measurement and calculation. The
Journal of the Acoustical Society of America, vol. 5, issue 2, p. 82, 1933.
[4] CROCKER, M. J. Handbook of Acoustics. Ed. Wiley-Interscience, New York, p. 1461, 1998.
[5] DUNN, J. High dynamic range audio application for digital signal processing. AES 93rd
Convention, p. 10, Octubre 1992.
[6] SONG, W. S. High dynamic range Analog-To-Digital Converter having parallel equalizers. United
States Patent US 6,653,959 B1, p. 7, Noviembre 2003.
[7] WILLIAMS, D. Measurement Dynamic Range for Signal Analyzers. App Note AN010. LDS
DACTRON, p. 3, 2003.
[8] HERSHENSON, M. M. Efficient Description of the Design Space of Analog Circuits. Annual ACM
IEEE Design Automation Conference, Proceedings of the 40th annual Design Automation
Conference, New York, p. 970-973, 2003.
[9] SCHNEIDER, M. Digital Microphones for High Resolution Audio. AES Conference: 31st
International Conference: New Directions in High Resolution Audio, p. 21, Junio 2007.
[10] IHS STANDARDS. AES 42 Standard for acoustics - Digital Interface for Microphones. Audio
Engineering Society, Munich, p. 41, 2006.
[11] GASIOR, M.; BOCCARDI, A. High dynamic range analysis in the kHz band. CERN, DIPAC09
Conference, Geneva, p. 4, 2009.
[12] VISCOR, I.; VONDRA, V.; HALAMEK, J. Two channel high dynamic range bioimpedance
monitor for cardiography. 13th International Conference on Electrical Bioimpedance and the 8th
Conference on Electrical Impedance Tomography, Springer-Verlag, Volume 17, part 8, p. 225-228,
octubre 2007.
[13] BIOSEMI. What are the advantages of a 24 bit system? [cita en lnea 19 ene. 2010]
Fuente web: http://www.biosemi.com/faq/24bitsystem.htm
[14] PANAHI, S. S.; ALEGRIA, F.; MANUEL, A. Characterization of a High Resolution Acquisition
System For Marine Geophysical Applications. IMTC 2006 Instrumentation and Measurement,
Technology Conference, Sorrento, Italy, p. 1317-1320, Abril 2006.
[15] McHUGH, S. Understanding Dynamic Range in Digital Photography. [cita en lnea 21 ene.
2010]
Fuente web: http://www.cambridgeincolour.com/tutorials/dynamic-range.htm
[16] ZOTTI, G. Measuring Light Pollution with a Calibrated High Dynamic Range All-Sky Image
Acquisition System. DARKSKY 7th European Symposium for the Protection of the Night Sky,
Vienna, p. 22, Octubre 2007.

119

[17] SCHREIBER, R. Precision Analog-To-Digital Converter Architecture Trade-Offs. ChipCenter.


[cita en lnea 21 ene. 2010]
Fuente web: http://archive.chipcenter.com/analog/c078.htm
[18] PAI, H-C; BIBYK, S. B. High Dynamic Range Design for M with Wide Input Ranges.
Department of Electrical Engineering, Springer Netherlands, p. 4, 2004.
[19] FETTE, B. A. High Dynamic Range Analog To Digital Converter Architecture. United States
Patent US 7,253,755 B1, p. 4, Agosto 2007.
[20] SILICON LABORATORIES. Improving ADC Resolution by Oversampling and Averaging.
Application Note AN118, Austin, p. 22, 2003.
[21] BRUEL & KJAER. Noise Monitoring Terminal Type 3597. [cita en lnea 24 nov. 2008].
Fuente web: http://www.bksv.com/doc/bp1883.pdf
[22] BSWA 2008. Product Catalog 2008. [cita en lnea 19 nov. 2008].
Fuente web: http://www.bswa-tech.com/pdf/BSWA%20Product%20Catalog-2008.pdf
[23] INTERNATIONAL ELECTROTECHNICAL COMMISSION, Norma IEC 61672-1 Electroacstica
Sonmetros. Parte 1 - Especificaciones, 1a. ed., p. 44, 2005.
[24] METRA MESS - UND FREQUENZTECHNIK IN RADEBEUL E.K. IEPE Standard. [cita en lnea
19 nov. 2008]. Fuente web: http://www.mmf.de/PDF/AN4E-IEPE_Accelerometers.pdf
[25] ROHDE&SCHWARZ. dB or not dB? Everything you ever wanted to know about decibels but
were afraid to ask (Application Note 1MA98). 2006 [cita en lnea 19 nov. 2008].
Fuente web: http://www2.rohdeschwarz.com/en/service_and_support/Downloads/Application_Notes/?downid=1603&type=20
[26] TEXAS INSTRUMENTS. LOG2112 Precision Logarithmic and Log Ratio Amplifiers. [cita en
lnea 30 nov. 2008].
Fuente web: http://focus.ti.com/lit/ds/symlink/log2112.pdf
[27] LUTHER, A.C. Principles of Digital Audio and Video. Artech House, Inc., 1st ed., Norwood, p.
408, 1997.
[28] SHANEFIELD, DANIEL; LIPSHITZ, STANLEY P.; POCOCK, M.; VANDERKOOY, JOHN. On
the Audibility of Midrange Phase Distortion in Audio Systems. Audio Engineering Society, Princeton,
NJ, p. 447-448, Junio 1983.
[29] ANALOG DEVICES. OP177 Datasheet. [cita en lnea 23 dic. 2009]
Fuente web: http://www.analog.com/en/amplifiers-and-comparators/operational-amplifiers-opamps/op177/products/product.html
[30] TEXAS INSTRUMENTS. TL062 Datasheet. [cita en lnea 23 dic. 2009]
Fuente web: http://focus.ti.com/docs/prod/folders/print/tl062.html
[31] NYQUIST, H. Certain topics in telegraph transmission theory. AIEE Trans., vol. 47, pp. 617644, Abril 1928.
[32] RUBIN, J. Michael Faraday: The invention of Faraday Cage. [cita en lnea 12 ene. 2010]
Fuente web: http://www.juliantrubin.com/bigten/faradaycageexperiments.html
[33] MICROCHIP. MCP3201 Datasheet. [cita en lnea 24 dic. 2009]
Fuente web: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010531

120

[34] TEXAS INSTRUMENTS. LM324 Datasheet. [cita en lnea 24 dic. 2009]


Fuente web: http://focus.ti.com/docs/prod/folders/print/lm324.html
[35] MICROCHIP TECH. PIC18F2550 Datasheet. [cita en lnea 12 ene. 2010]
Fuente web: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010280
[36] AXELSON, J. USB Complete, The Developer's Guide, Fourth Edition. Lakeview Research LLC,
Madison WI, p. 504, 2009.
[37] USB IMPLEMENTERS FORUM. USB 3.0 Specification. [cita en lnea 28 dic. 2009]
Fuente web: http://www.usb.org/developers/docs/
[38] MICROCHIP TECH. Application For Sublicense To Microchip Universal Serial Bus Vendor Id.
Fuente web:
http://ww1.microchip.com/downloads/en/AppNotes/Application%20for%20USB%20Vendor%20ID%
20Sublicense.pdf
[39] ROMAN, S. Windows Architecture. Win32 API Programming with Visual Basic. O'Reilly and
Associates, Inc., New York, p. 534, 1999.
[40] WIKIBOOKS. Windows Programming/User Mode vs Kernel Mode. [cita en lnea 12 ene. 2010]
Fuente web: http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode
[41] KALISKI, K.; MILLS-TETTEY, A.; SEITARIDOU, E.; COLLIER, R. Low-Complexity Continuous
Noise Monitoring System For Communities, Small Airports And Remote Areas. NOISE-CON,
Portland, p. 6, Octubre 2001.
[42] BEIS, U. Weighting Filter Set. 2006. [cita en lnea 03 ene. 2010]
Fuente web: http://www.beis.de/Elektronik/AudioMeasure/WeightingFilters.html
[43] MITRA, S. K.; KAISER, J. F. Handbook for Digital Signal Processing. Wiley-Interscience, 3rd
ed., p. 1268, 1993.
[44] AMERICAN NATIONAL STANDARD DESIGN. ANSI S1.42-2001 (R2006), Response of
Weighting Networks for Acoustical Measurements. Octubre 2008.
[45] COUVREUR, C. Implementation of a One-Third-Octave Filter Bank in MATLAB. Applied
Acoustics, Belgium, p. 13, 1997.
[46] LANMAN, D. R. Design of a Sound Level Meter. 2005. [cita en lnea 03 ene. 2010]
Fuente web: http://mesh.brown.edu/dlanman/courses/decibel_meter.pdf
[47] GUMAS, C. C. Window choices become crucial in high-dynamic-range FFT processing.
Personal Engineering & Instrumentation News, p. 53-59, Mayo 1997.
[48] NUTTALL, A. H. Some Windows with Very Good Sidelobe Behavior. IEEE Trans ASSP, Vol.
29, No. 1, pgs 84-91, Febrero 1981.
[49] AMERICAN NATIONAL STANDARDS INSTITUTE. ANSI Standard S1.11-2004: Specification
for Octave-Band and Fractional-Octave-Band Analog and Digital Filters. 2004.
[50] National Instruments. USER GUIDE AND SPECIFICATIONS, NI USB-9233. 2007. [cita en
lnea 03 mzo. 2010]
Fuente web: http://www.ni.com/pdf/manuals/371569d.pdf

121

[51] MARTINIAN, E. 16 Point Split-Radix Fast Fourier Transform. [cita en lnea 21 ene. 2010]
Fuente web: http://www.mit.edu/~emin/source_code/fft/
[52] MICROCHIP INC. MCP651, self-calibrating ampop. [cita en lnea 21 ene. 2010]
Fuente web: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en540381
[53] USB IMPLEMENTERS FORUM. USB 2.0 Specification. [cita en lnea 28 dic. 2009]
Fuente web: http://www.usb.org/developers/docs/
[54] GALICIA S., H. R.; GARCA L., N.; HERRERA M., A.; MAYN G., J.; MNDEZ A., M.;
SNCHEZ G., S. Metrologa Geomtrica Dimensional. AGT Editor S.A., Mxico, D.F., p. 187, 1986.
[55] FLOYD, T.L. Fundamentos de Electrnica Digital, Vol. 3. LIMUSA NORIEGA Editores, Mxico,
p. 900, 1996.
[56] INTERNATIONAL ELECTROTECHNICAL COMMISSION. Norma IEC 60942 Electroacstica
Calibradores. 3ra ed., 1993.
[57] INTERNATIONAL ELECTROTECHNICAL COMMISSION. Norma IEC 61094-4 Micrfonos de
medida. Parte 4 - Especificaciones para los micrfonos patrones de trabajo, 1a ed., 1995.
[58] ROSAS M., J. Mtodos Numricos, Teora y Programacin en Lenguaje C. Editorial Moya,
Cuarta Edicin, Mxico, D.F., p. 280, 2003.
[59] HARDT, D. Understanding Zeros and Poles, Analysis and Design of Feedback Control
Systems. Massachusetts Institute of Technology. p. 13, 2004. [cita en lnea 13 ene. 2010]
Fuente web: http://web.mit.edu/2.14/www/Handouts/PoleZero.pdf
[60] HARDT, D. Introduction to Frequency Domain Processing, Analysis and Design of Feedback
Control Systems. Massachusetts Institute of Technology, p. 55, 2004. [cita en lnea 13 ene. 2010]
Fuente web: http://web.mit.edu/2.14/www/Handouts/FreqDom.pdf
[61] COULTER, D. Digital Audio Processing. R&D Books, Kansas, 1st. ed., p. 413, 2000.
[62] HAYES, M. H. Digital Signal Processing. McGraw-Hill. New York, p. 429, 1999.

122

Publicaciones Derivadas

123

Captulo Anexo.
Cdigo fuente MATLAB para diseo de filtros IIR de ponderacin
AyC
Diseo IIR Filtro de Ponderacin A
function [B,A] = adsgn(Fs);
% ADSGN Design of a A-weighting filter.
%
[B,A] = ADSGN(Fs) designs a digital A-weighting filter for
%
sampling frequency Fs. Usage: Y = FILTER(B,A,X).
%
Warning: Fs should normally be higher than 20 kHz. For example,
%
Fs = 48000 yields a class 1-compliant filter.
%
%
Requires the Signal Processing Toolbox.
%
%
See also ASPEC, CDSGN, CSPEC.
% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)
%
couvreur@thor.fpms.ac.be
% Last modification: Aug. 20, 1997, 10:00am.
% References:
%
[1] IEC/CD 1672: Electroacoustics-Sound Level Meters, Nov. 1996.
% Definition of analog A-weighting filter according to IEC/CD 1672.
f1 = 20.598997;
f2 = 107.65265;
f3 = 737.86223;
f4 = 12194.217;
A1000 = 1.9997;
pi = 3.14159265358979;
NUMs = [ (2*pi*f4)^2*(10^(A1000/20)) 0 0 0 0 ];
DENs = conv([1 +4*pi*f4 (2*pi*f4)^2],[1 +4*pi*f1 (2*pi*f1)^2]);
DENs = conv(conv(DENs,[1 2*pi*f3]),[1 2*pi*f2]);
% Use the bilinear transformation to get the digital filter.
[B,A] = bilinear(NUMs,DENs,Fs);

Diseo IIR Filtro de Ponderacin C


function [B,A] = cdsgn(Fs);
% CDSGN Design of a A-weighting filter.
%
[B,A] = CDSGN(Fs) designs a digital A-weighting filter for
%
sampling frequency Fs. Usage: Y = FILTER(B,A,X).
%
Warning: Fs should normally be higher than 20 kHz. For example,
%
Fs = 48000 yields a class 1-compliant filter.
%
%
Requires the Signal Processing Toolbox.
%
%
See also CSPEC, ADSGN, ASPEC.
% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)
%
couvreur@thor.fpms.ac.be
% Last modification: Aug. 20, 1997, 10:10am.
% References:
%
[1] IEC/CD 1672: Electroacoustics-Sound Level Meters, Nov. 1996.

124

% Definition of analog C-weighting filter according to IEC/CD 1672.


f1 = 20.598997;
f4 = 12194.217;
C1000 = 0.0619;
pi = 3.14159265358979;
NUMs = [ (2*pi*f4)^2*(10^(C1000/20)) 0 0 ];
DENs = conv([1 +4*pi*f4 (2*pi*f4)^2],[1 +4*pi*f1 (2*pi*f1)^2]);
% Use the bilinear transformation to get the digital filter.
[B,A] = bilinear(NUMs,DENs,Fs);

Cdigo fuente MATLAB para diseo de filtros de octavas


Filtro IIR de octavas
function [B,A] = octdsgn(Fc,Fs,N);
% OCTDSGN Design of an octave filter.
%
[B,A] = OCTDSGN(Fc,Fs,N) designs a digital octave filter with
%
center frequency Fc for sampling frequency Fs.
%
The filter are designed according to the Order-N specification
%
of the ANSI S1.1-1986 standard. Default value for N is 3.
%
Warning: for meaningful design results, center values used
%
should preferably be in range Fs/200 < Fc < Fs/5.
%
Usage of the filter: Y = FILTER(B,A,X).
%
%
Requires the Signal Processing Toolbox.
%
%
See also OCTSPEC, OCT3DSGN, OCT3SPEC.
% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)
%
couvreur@thor.fpms.ac.be
% Last modification: Aug. 22, 1997, 9:00pm.
% References:
%
[1] ANSI S1.1-1986 (ASA 65-1986): Specifications for
%
Octave-Band and Fractional-Octave-Band Analog and
%
Digital Filters, 1993.
if (nargin > 3) | (nargin < 2)
error('Invalide number of arguments.');
end
if (nargin == 2)
N = 3;
end
if (Fc > 0.70*(Fs/2))
error('Design not possible. Check frequencies.');
end
% Design Butterworth 2Nth-order octave filter
% Note: BUTTER is based on a bilinear transformation, as suggested in [1].
%W1 = Fc/(Fs/2)*sqrt(1/2);
%W2 = Fc/(Fs/2)*sqrt(2);
pi = 3.14159265358979;
beta = pi/2/N/sin(pi/2/N);
alpha = (1+sqrt(1+8*beta^2))/4/beta;
W1 = Fc/(Fs/2)*sqrt(1/2)/alpha;
W2 = Fc/(Fs/2)*sqrt(2)*alpha;
[B,A] = butter(N,[W1,W2]);

125

Filtro IIR para 1/3 de octava


function [B,A] = oct3dsgn(Fc,Fs,N);
% OCT3DSGN Design of a one-third-octave filter.
%
[B,A] = OCT3DSGN(Fc,Fs,N) designs a digital 1/3-octave filter with
%
center frequency Fc for sampling frequency Fs.
%
The filter is designed according to the Order-N specification
%
of the ANSI S1.1-1986 standard. Default value for N is 3.
%
Warning: for meaningful design results, center frequency used
%
should preferably be in range Fs/200 < Fc < Fs/5.
%
Usage of the filter: Y = FILTER(B,A,X).
%
%
Requires the Signal Processing Toolbox.
%
%
See also OCT3SPEC, OCTDSGN, OCTSPEC.
% Author: Christophe Couvreur, Faculte Polytechnique de Mons (Belgium)
%
couvreur@thor.fpms.ac.be
% Last modification: Aug. 25, 1997, 2:00pm.
% References:
%
[1] ANSI S1.1-1986 (ASA 65-1986): Specifications for
%
Octave-Band and Fractional-Octave-Band Analog and
%
Digital Filters, 1993.
if (nargin > 3) | (nargin < 2)
error('Invalide number of arguments.');
end
if (nargin == 2)
N = 3;
end
if (Fc > 0.88*(Fs/2))
error('Design not possible. Check frequencies.');
end
% Design Butterworth 2Nth-order one-third-octave filter
% Note: BUTTER is based on a bilinear transformation, as suggested in [1].
pi = 3.14159265358979;
f1 = Fc/(2^(1/6));
f2 = Fc*(2^(1/6));
Qr = Fc/(f2-f1);
Qd = (pi/2/N)/(sin(pi/2/N))*Qr;
alpha = (1 + sqrt(1+4*Qd^2))/2/Qd;
W1 = Fc/(Fs/2)/alpha;
W2 = Fc/(Fs/2)*alpha;
[B,A] = butter(N,[W1,W2]);

Cdigo fuente CCS Compiler Split-Radix para FFT de 16 puntos


//Clculo de la FFT de 16 muestras reales
#include "24fj64gb002.h"
#device adc=10
#use delay (clock=32M)
#fuses nowdt, nojtag, noprotect
#fuses ICSP3
//pines 2 y 3 para ICSP
#fuses NOPR
//sin oscilador primario
#fuses NOCKSNOFSM
//sin cambio de oscilador (siempre con FRC)
#fuses OSCIO
//RB3 es pin normal, no entrega FOSC/2
#fuses SOSC_IO
//RA4 y RB4 son normales, no son para reloj secundario
#fuses FRC_PLL

126

#fuses PLL96MHZ
#fuses PLLDIV1
/*
FRC -> 8MHz
8MHz -> Postscaler CLKDIV 10:8 001 (default al encender pic) -> 4MHz
4MHz -> USB Postscaler PLLDIV 2:0 000 (elegido por fusibles) -> 4MHz
4MHz -> USB PLL -> 96MHz -> USB
96MHz -> entre 3 -> 32MHz
32MHz -> CPDIV 1:0 00 (default al encender pic) -> 32MHz
32MHz -> FRCPLL FNOSC 10:8 001 -> CPU
*/
#use fast_io (a)
#use fast_io (b)
#include <math.h>
//FFT Split Radix
//Autor: Emin Martinian
//http://www.mit.edu/~emin/source_code/fft/
#define
#define
#define
#define
#define
#define
#define

SIN_2PI_16 0.38268343236508978
SIN_4PI_16 0.707106781186547460
SIN_6PI_16 0.923879532511286740
C_P_S_2PI_16 1.30656296487637660
C_M_S_2PI_16 0.54119610014619690
C_P_S_6PI_16 1.3065629648763766
C_M_S_6PI_16 -0.54119610014619690

//Input son 16 muestras reales, no hacen falta las imaginarias


//Output son las 16 muestras complejas que entrega la FFT,
//hay que escalarlas correctamente
void R16SRFFT(float *input,float *output);
////////////////////////////////////////////////////////////////////////////////
void main()
{
float data[16];
float out[16];
int16 i=0;
data[0]=1;
data[1]=23;
data[2]=15;
data[3]=8;
data[4]=9;
data[5]=1;
data[6]=2;
data[7]=3;
data[8]=4;
data[9]=5;
data[10]=2;
data[11]=4;
data[12]=6;
data[13]=8;
data[14]=0;
data[15]=0;
output_a(0);
output_b(0);
set_tris_a(0b1111111111100000); //ra0 - ra4 salidas
set_tris_b(0b1111111111100000); //rb0 - rb4 salidas, rb15 entrada
SETUP_ADC(ADC_CLOCK_DIV_128 | ADC_TAD_MUL_31); //reloj del sistema

127

SETUP_ADC_PORTS(sAN9, VSS_VDD);
SET_ADC_CHANNEL(9);
//Calcula la FFT de las 16 muestras reales de in y deposita 8 complejos en out
while(1)
{
output_high(pin_a0); //para medir el tiempo con pickit 2
R16SRFFT(data, out);
output_low(pin_a0);
delay_us(10); //para que pickit pueda detectar flanco
//La prueba indica que R16SRFFT tarda 674us en ejecutarse
}
}
////////////////////////////////////////////////////////////////////////////////
//El orden de los complejos de salida es ste:
/*
printf("\nresult is:\n");
printf("k,\t\tReal Part\t\tImaginary Part\n");
printf("0\t\t%.9f\t\t%.9f\n",output[0],0.0); //componente DC
printf("1\t\t%.9f\t\t%.9f\n",output[1],output[9]);
printf("2\t\t%.9f\t\t%.9f\n",output[2],output[10]);
printf("3\t\t%.9f\t\t%.9f\n",output[3],output[11]);
printf("4\t\t%.9f\t\t%.9f\n",output[4],output[12]);
printf("5\t\t%.9f\t\t%.9f\n",output[5],output[13]);
printf("6\t\t%.9f\t\t%.9f\n",output[6],output[14]);
printf("7\t\t%.9f\t\t%.9f\n",output[7],output[15]);
printf("8\t\t%.9f\t\t%.9f\n",output[8],0.0); //componente Nyquist
printf("9\t\t%.9f\t\t%.9f\n",output[7],-output[15]);
printf("10\t\t%.9f\t\t%.9f\n",output[6],-output[14]);
printf("11\t\t%.9f\t\t%.9f\n",output[5],-output[13]);
printf("12\t\t%.9f\t\t%.9f\n",output[4],-output[12]);
printf("13\t\t%.9f\t\t%.9f\n",output[3],-output[11]);
printf("14\t\t%.9f\t\t%.9f\n",output[2],-output[9]);
printf("15\t\t%.9f\t\t%.9f\n",output[1],-output[8]);
*/
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*

INPUT: float input[16], float output[16] */


OUTPUT: none */
EFFECTS: Places the 16 point fft of input in output in a strange */
order using 10 real multiplies and 79 real adds. */
Re{F[0]}= out0 */
Im{F[0]}= 0 */
Re{F[1]}= out8 */
Im{F[1]}= out12 */
Re{F[2]}= out4 */
Im{F[2]}= -out6 */
Re{F[3]}= out11 */
Im{F[3]}= -out15 */
Re{F[4]}= out2 */
Im{F[4]}= -out3 */
Re{F[5]}= out10 */
Im{F[5]}= out14 */
Re{F[6]}= out5 */
Im{F[6]}= -out7 */
Re{F[7]}= out9 */
Im{F[7]}= -out13 */
Re{F[8]}= out1 */
Im{F[8]}=0 */
F[9] through F[15] can be found by using the formula */
Re{F[n]}=Re{F[(16-n)mod16]} and Im{F[n]}= -Im{F[(16-n)mod16]} */

128

/*
/*
/*
/*
/*

Note using temporary variables to store intermediate computations */


in the butterflies might speed things up. When the current version */
needs to compute a=a+b, and b=a-b, I do a=a+b followed by b=a-b-b. */
So practically everything is done in place, but the number of adds */
can be reduced by doinc c=a+b followed by b=a-b. */

/*
/*
/*
/*

The algorithm behind this program is to find F[2k] and F[4k+1] */


seperately. To find F[2k] we take the 8 point Real FFT of x[n]+x[n+8] */
for n from 0 to 7. To find F[4k+1] we take the 4 point Complex FFT of */
exp(-2*pi*j*n/16)*{x[n] - x[n+8] + j(x[n+12]-x[n+4])} for n from 0 to 3.*/

void R16SRFFT(float *input,float *output)


{
float temp, out0, out1, out2, out3, out4, out5, out6, out7, out8;
float out9,out10,out11,out12,out13,out14,out15;
out0=input[0]+input[8]; /* output[0 through 7] is the data that we */
out1=input[1]+input[9]; /* take the 8 point real FFT of. */
out2=input[2]+input[10];
out3=input[3]+input[11];
out4=input[4]+input[12];
out5=input[5]+input[13];
out6=input[6]+input[14];
out7=input[7]+input[15];
out8=input[0]-input[8];
out9=input[1]-input[9];
out10=input[2]-input[10];
out11=input[3]-input[11];
out12=input[12]-input[4];
out13=input[13]-input[5];
out14=input[14]-input[6];
out15=input[15]-input[7];

/* inputs 8,9,10,11 are */


/* the Real part of the */
/* 4 point Complex FFT inputs.*/
/* outputs 12,13,14,15 are */
/* the Imaginary pars of */
/* the 4 point Complex FFT inputs.*/

/*First we do the "twiddle factor" multiplies for the 4 point CFFT */


/*Note that we use the following handy trick for doing a complex */
/*multiply: (e+jf)=(a+jb)*(c+jd) */
/*
e=(a-b)*d + a*(c-d)
and
f=(a-b)*d + b*(c+d) */
/* C_M_S_2PI/16=cos(2pi/16)-sin(2pi/16) when replaced by macroexpansion */
/* C_P_S_2PI/16=cos(2pi/16)+sin(2pi/16) when replaced by macroexpansion */
/* (SIN_2PI_16)=sin(2pi/16) when replaced by macroexpansion */
temp=(out13-out9)*(SIN_2PI_16);
out9=out9*(C_P_S_2PI_16)+temp;
out13=out13*(C_M_S_2PI_16)+temp;
out14*=(SIN_4PI_16);
out10*=(SIN_4PI_16);
out14=out14-out10;
out10=out14+out10+out10;
temp=(out15-out11)*(SIN_6PI_16);
out11=out11*(C_P_S_6PI_16)+temp;
out15=out15*(C_M_S_6PI_16)+temp;
/* The following are the first set of two point butterfiles */
/* for the 4 point CFFT */
out8+=out10;
out10=out8-out10-out10;
out12+=out14;

129

out14=out12-out14-out14;
out9+=out11;
out11=out9-out11-out11;
out13+=out15;
out15=out13-out15-out15;
/*The following are the final set of two point butterflies */
output[1]=out8+out9;
output[7]=out8-out9;
output[9]=out12+out13;
output[15]=out13-out12;
output[5]=out10+out15;
/* implicit multiplies by */
output[13]=out14-out11;
/* a twiddle factor of -j */
output[3]=out10-out15; /* implicit multiplies by */
output[11]=-out14-out11; /* a twiddle factor of -j */
/* What follows is the 8-point FFT of points output[0-7] */
/* This 8-point FFT is basically a Decimation in Frequency FFT */
/* where we take advantage of the fact that the initial data is real*/
/* First set of 2-point butterflies */
out0=out0+out4;
out4=out0-out4-out4;
out1=out1+out5;
out5=out1-out5-out5;
out2+=out6;
out6=out2-out6-out6;
out3+=out7;
out7=out3-out7-out7;
/* Computations to find X[0], X[4], X[6] */
output[0]=out0+out2;
output[4]=out0-out2;
out1+=out3;
output[12]=out3+out3-out1;
output[0]+=out1; /* Real Part of X[0] */
output[8]=output[0]-out1-out1; /*Real Part of X[4] */
/* out2 = Real Part of X[6] */
/* out3 = Imag Part of X[6] */
/* Computations to find X[5], X[7] */
out5*=SIN_4PI_16;
out7*=SIN_4PI_16;
out5=out5-out7;
out7=out5+out7+out7;
output[14]=out6-out7; /* Imag Part of X[5] */
output[2]=out5+out4; /* Real Part of X[7] */
output[6]=out4-out5; /*Real Part of X[5] */
output[10]=-out7-out6; /* Imag Part of X[7] */
}

130

Cdigo fuente Visual C# para clculo de valor RMS


//Subfuncin Calcula Valor RMS de un arreglo flotante de n muestras
//Con integral por trapecios
public static double RMS(int[] arreglo)
{
int i;
int samples = arreglo.GetLength(0);
double suma = 0;
double[] d_arr = new double[samples];
arreglo.CopyTo(d_arr, 0);
for (i = 0; i < samples; i++)
d_arr[i] = d_arr[i] * d_arr[i];
for (i = 1; i < samples - 1; i++)
suma += d_arr[i];
suma += (d_arr[0] + d_arr[samples - 1]) / 2.0;
return Math.Sqrt(suma / samples - 1);
}

Cdigo fuente Visual C# para aplicar filtros de ponderacin A y C


public static double[] FiltroPA(double[] x)
{
//Coeficientes del filtro IIR para ponderacin A 22kSps
double[] b = new double[]
{0.449926443, -0.899852886, -0.449926443, 1.799705771, 0.449926443, -0.899852886, 0.449926443};
double[] a = new double[]
{1, -3.226488701, 3.345975132, -0.722092727, -0.630938204,
0.176819645, 0.056725176};
double[] y = new double[x.GetLength(0)];
for (int n = 0; n < x.GetLength(0); ++n)
{
//Si no existe el dato entonces el apuntador arrojar una
excepcin
//Numerador
for (int i = 0; i < b.GetLength(0); ++i)
{
try { y[n] += b[i] * x[n - i]; }
catch { break; }
}
//Denominador
for (int i = 1; i < a.GetLength(0); ++i)
{
try { y[n] -= a[i] * y[n - i]; }
catch { break; }
}
}
return y;
}
public static double[] FiltroPC(double[] x)
{
//Coeficientes del filtro IIR para ponderacin C 22kSps

131

double[] b = new double[]


{0.404001816, 1.22E-15, -0.808003633, -6.38E-16, 0.404001816};
double[] a = new double[]
{1, -1.447414071, -0.013929899, 0.389124081, 0.072275422};
double[] y = new double[x.GetLength(0)];
for (int n = 0; n < x.GetLength(0); ++n)
{
//Si no existe el dato entonces el apuntador arrojar una
excepcin
//Numerador
for (int i = 0; i < b.GetLength(0); ++i)
{
try { y[n] += b[i] * x[n - i]; }
catch { break; }
}
//Denominador
for (int i = 1; i < a.GetLength(0); ++i)
{
try { y[n] -= a[i] * y[n - i]; }
catch { break; }
}
}
return y;
}

Cdigo fuente MATLAB para simular el retraso por un


amplificador operacional
%Prueba de retraso OP177GP
%v3 corrijo muestreo a 2MHz para cumplir con Nyquist, slewrate=0.15V/0.5us
%Seal ideal en la salida
Vp=14.14;
F=11000;
Fsample=2000000; %2MHz
tsample=0.0000005; %0.5us
samples=2000;
ideal=zeros(1,samples);
i=0;
while(i<=samples)
t(i+1)=tsample*i;
ideal(i+1)=Vp * sin(2*pi*F*tsample*i);
i=i+1;
end
%Curva prctica debido a retraso del OP177GP
slewrate=0.15; %0.3V/1us
real=zeros(1,samples);
i=1;
real(1)=0; %la primera tiene cero por retraso
vout=0;
deltav=0; %cambio de voltaje en 0.5us
while(i<=samples)
vout=Vp * sin(2*pi*F*tsample*i); %el valor ideal se calcula
deltav=vout-ideal(i);

132

%luego se compara con el slewrate de 0.5us


if(abs(deltav)<slewrate) %puede entregar tal incremento?
%ahora verifica el incremento de la real respecto a la ideal
if( abs(vout-real(i)) < slewrate)
real(i+1)=real(i)+deltav;
else
if( (vout-real(i)) > 0)
real(i+1)=real(i)+slewrate;
else
real(i+1)=real(i)-slewrate;
end
end
else %no, entrega su mx slewrate con signo
if(deltav>0)
real(i+1)=real(i)+slewrate;
else
real(i+1)=real(i)-slewrate;
end
end
i=i+1;
end
%Correlacin cruzada
%ccruzada=xcorr(ideal, real);
ccruzada=xcorr(ideal, real, 'coeff'); %entrega salida normalizada
subplot(211),plot(t, ideal);
hold on;
subplot(211),plot(t, real, '-r');
subplot(212),plot(ccruzada)
hold off;
grid
%Que imprima el pico
[a,delay]=max(ccruzada)
%Una grfica ms entendible
figure
tx = [-samples:samples]*0.0000005; %0.5us
plot(tx,ccruzada)
grid
lag = tx(delay) %Imprime el valor del retraso en tiempo

Diagramas electrnicos del mdulo de adquisicin


Las siguientes pginas incluyen los diagramas en este orden:

Fuentes de alimentacin
Alimentacin del micrfono
Etapas de amplificacin y filtrado
Control

133

134

135

136

137

S-ar putea să vă placă și