Documente Academic
Documente Profesional
Documente Cultură
TESIS
Para obtener el grado de:
Presenta
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.
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:
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:
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
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
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
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.
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.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.
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.
(2.1)
R1 = 10 0.1 = 1.26 .
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 ,
(2.3)
c =
donde:
p
,
u
(2.4)
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:
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)
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.
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).
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).
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:
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.
Algunos requerimientos establecidos por normas como la AES 42 [10] son los siguientes:
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.
12
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.
14
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.
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
16
17
Figura 2.9. Sistema de monitoreo Bruel & Kjaer para aeropuertos (cortesa de Bruel & Kjaer).
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.
19
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
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.
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
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.
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
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.
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
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)
( )
(3.2)
( )
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.
27
Vsalida = K ln(Ventrada )
(3.3)
28
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.
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.
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
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
I1mx =
14.14V
= 851A .
4
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
R2 =
2.5V
= 11.9 M.
210nA
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)
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.
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
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
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
Figura 3.18. Proceso de conversin analgica a digital por aproximaciones sucesivas de 4 bits.
Leg L =
VREF +
,
2n 1
(3.7)
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:
20 Pa
Vmn escala + Leg L
20 Pa
=
Leg dB = 20 log
Vmn escala
20 Pa
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
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
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
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
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
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:
39
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.
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).
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.
( )
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
Cada uno de los bloques ser descrito a detalle en las siguientes secciones.
44
+18V
+15V
-15V
+6.6V
+5V
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.
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
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.
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
fc =
fc =
1
2RC
(4.1)
1
= 20.03Hz .
2 (169k)(0.047 F )
47
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.
50
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.
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.
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:
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.
54
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.
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:
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
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
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
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.104Pa
55.2mV
0Pa
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
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
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)
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
Hi-Speed 480Mbps
Full-Speed 12Mbps
Low-Speed 1.5Mbps
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
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:
65
Tipo de transferencia
Uso tpico
Control
Identificacin y
configuracin
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
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
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.
67
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.
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:
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.
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:
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
Datos tpicos
Dispositivo (transferencia
de entrada)
Host (transferencia de
salida)
Dispositivo (transferencia
de entrada)
Host (transferencia de
salida)
Requiere de un
pipe?
S
S
No
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
73
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
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
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:
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
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
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
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.
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
(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.
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)
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.
= 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
83
(5.10)
H C ( s) =
4 12194 10
2
C1000
20
s2
(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)
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
85
86
87
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)
2n
w(n) = 0.51 cos
N 1
(5.13)
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,
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.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.
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
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.
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.
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).
93
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.
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.
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.
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.
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)
96
100000
97
98
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.
99
100
101
102
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.
103
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.
104
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
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)
105
100000
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
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)
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.
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.
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.
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).
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)
t=
90
= 125s .
(2000 Hz )(360)
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
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.
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
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
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.
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
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
120
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);
124
125
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
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]);
*/
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
128
/*
/*
/*
/*
/*
/*
/*
/*
/*
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
131
132
Fuentes de alimentacin
Alimentacin del micrfono
Etapas de amplificacin y filtrado
Control
133
134
135
136
137