Post on 23-Feb-2022
SISTEMA DE TRANSMISIÓN INALÁMBRICA DE SEÑALES DE INSTRUMENTOS
MUSICALES CON TRATAMIENTO EN TIEMPO REAL
JESÚS STEVEN REY HERRERA 20122005024
ANDRÉS FELIPE ARIZA LONDOÑO 20122005027
DIRECTOR
Ing. MSc. JOSÉ IGNACIO CASTAÑEDA FANDIÑO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR INGENIERÍA ELECTRÓNICA
BOGOTÁ D.C.
2019
1
SISTEMA DE TRANSMISIÓN INALÁMBRICA DE SEÑALES DE INSTRUMENTOS
MUSICALES CON TRATAMIENTO EN TIEMPO REAL
JESÚS STEVEN REY HERRERA 20122005024
ANDRÉS FELIPE ARIZA LONDOÑO 20122005027
Monografía para optar el título de
Ingeniero Electrónico
DIRECTOR
Ing. MSc. JOSÉ IGNACIO CASTAÑEDA FANDIÑO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR INGENIERÍA ELECTRÓNICA
BOGOTÁ D.C.
2019
2
TABLA DE CONTENIDO
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
CAPÍTULO 1
1. Planteamiento problema
1.1 Justificación
1.2 Objetivo general
1.3 Objetivos específicos
CAPÍTULO 2. ESTADO DEL ARTE
2.1 Guía del micrófono de tecnología inalámbrica - line 6
2.2 Manual para la selección y operación de micrófonos con tecnología inalámbrica
2.3 Modificación de tono de señales en tiempo real
2.4 Implementación de algoritmos para efectos de audio digital con alta fidelidad usando hardware
programable
2.5 Sistema inalámbrico para transmisión de señales de audio con mínima latencia
CAPÍTULO 3. MARCO TEÓRICO
3.1. Sistema de comunicaciones electrónicas
3.2. Transmisor de radio
3.3. El espectro electromagnético
3.3.1. Frecuencias de transmisión
3.4. Ancho de banda y capacidad de información
3.5. Análisis de ruido
3.5.1. Relación de potencia de señal a ruido
3.6. Clasificación de señales
3.6.1. Señales en tiempo continuo y en tiempo discreto
3.6.2. Señales analógicas y digitales
3.7. Procesamiento digital de señales
3.7.1. Señal
3.7.2. Sistema
3.7.3 Elementos básicos de un sistema DSP
3.7.4. Señales sinusoidales en tiempo discreto
3.8. Conversor análogo-digital
3.8.1. Muestreo
3.8.2. Cuantificación
3.8.3. Codificación
3.8.4. Muestreo de señales analógicas
3.8.5. Teorema de muestreo
3.8.6. Cuantificación de señales continuas en amplitud
3.9. Conversor análogo-digital delta sigma
3.9.1. Modulador delta sigma
3.10. Introducción a los filtros
3.10.1. Tipos de filtros
3
3.10.2. Filtros digitales
3.10.2.1. Funcionamiento base filtro digital
3.10.2.2. Filtros en ecuaciones
3.10.3. Filtro FIR
3.11. UART
3.11.1. UART Definición
3.11.2. Transmitir y recibir datos en formato serie
3.11.3. Transmisión de un carácter
3.11.4. Bloques generales
3.11.5. Receptor
3.11.6. Transmisor
3.12. SPI
3.13. nRf24l01
3.13.1. Características nRf24l01
3.14. Modulación y demodulación
3.14.1. Técnicas de modulación digital con portadora modulada
3.14.2. Modulación GFSK
3.15. Receptor
3.15.1. Descripción general Receptor
3.15.2. Circuitos de audio
3.16. DAC
3.17. Psoc5lp
3.17.1 descripción general Psoc5lp
3.17.2. Características
3.17.3 PSoC Creator
CAPÍTULO 4. METODOLOGÍA
CAPÍTULO 5. DESARROLLO
5.1. Acondicionador de señal analógica (preamplificador)
5.2. Sistema transmisor
5.2.1. ADC
5.2.2. Filtro digital
5.2.3. Bluetooth
5.2.4. SPI
5.2.5. Nrf24l01
5.2.6. Código main.c (psoc creator)
5.3. Receptor
5.3.1. SPI
5.3.2. Interrupción (irq)
5.3.3. DAC
5.3.4. Amplificador seguidor (buffer)
5.3.5. Código main.c (psoc creator)
5.4. App inventor 2
5.4.1. Descripción general
5.4.2. Front end
5.4.3. Back end
4
CAPÍTULO 6. ANÁLISIS DE RESULTADOS
6.1 Prototipo transmisor y receptor
6.2 Aplicativo móvil (software de selección de filtros)
6.3. Filtros
6.3.1. Filtro LP 3 kHz
6.3.2. Filtro LP 2 kHz
6.3.3. Filtro LP 1 kHz
6.4. Latencia
6.5. Socialización del proyecto en la Academia Superior de Artes de Bogotá
CAPÍTULO 7. COSTOS
CAPÍTULO 8. CONCLUSIONES
REFERENCIAS
5
ÍNDICE DE FIGURAS
Figura 1. Respuesta en frecuencia para sistemas análogos.
Figura 2. Respuesta en frecuencia para sistemas digitales.
Figura 3. Relay G10, por LINE 6
Figura 4. Instalación de sistema inalámbrico Relay G10.
Figura 5. Transmisores, Shure.
Figura 6. Receptores, Shure.
Figura 7. Diagrama de bloques en el procesamiento de escalamiento del espectro.
Figura 8. Señales generadas por los efectos: a) Compressor, b) Expander,c) Noise gate, d) Soft-
clipping, e) Hard-clipping, f) sigmoidal distortion, g) sigmoidal piecewise distortion, h) Polynomial
distortion, i) Ring modulator.
Figura 9. Diagrama simplificado de bloques de un sistema de comunicaciones electrónicas.
Figura 10. Espectro electromagnético de longitudes de onda.
Figura 11. Designación de banda CCIR
Figura 12. Efectos del ruido sobre una señal. (a) Señal sin ruido. (b) Señal con ruido
Figura 13. Elementos básicos de un sistema de procesamiento de señales digital.
Figura 14. Partes básicas de un convertidor analógico-digital (A/D)
Figura 15. Muestreo periódico de una señal analógica.
Figura 16. Conversión D/A ideal (interpolación)
Figura 17. Cuantificación
Figura 18. Diagrama de bloques de un ADC tradicional.
Figura 19. Diagrama a bloques de una ADC sigma-delta
Figura 20. Modulador sigma-delta de primer orden.
Figura 21. Modelo lineal de una moduladora delta-sigma de primer orden
Figura 22. Espectro de salida de una moduladora sigma-delta.
Figura 23. Tipos de filtros (lowpass, highpass, notch, bandpass)
Figura 24. Diagrama de bloques de los dos tipos de filtros digitales: (a) FIR y (b) IIR.
Figura 25. Estructura básica de un FIR
Figura 26. Transmisión de un carácter
Figura 27. Transmisión y recepción
Figura 28. SPI Master y Slaves
Figura 29. Modo A del SPI
Figura 30. Modo B del SPI
Figura 31. Modo C del SPI
Figura 31. Modo D del SPI
Figura 32. Datos de referencia rápida del nRF24l01.
Figura 33. Diagrama de bloques del nRF24l01.
Figura 34. Técnicas de modulación
6
Figura 35. Diagrama de bloques de un sistema de comunicaciones
Figura 36. Señales 2-GFSK
Figura 37. Señales 4-GFSK
Figura 38. Diagrama de bloques general de un receptor.
Figura 39. Conversión digital-analógica (D/A) con retención de orden cero.
Figura 40. Conector lineal de puntos (con un retardo de T segundos).
Figura 41. Diagrama de bloques simplificado del PSoC 5LP
Figura 42. Ejemplo de proyecto en PSoC Creator
Figura 43. Mapa mental metodológico.
Figura 44. Circuito Acondicionador de la señal de entrada al transmisor.
Figura 45. Señal de salida del acondicionador, condiciones máximas
Figura 46. Esquema general del transmisor
Figura 47. Configuración en la pestaña “Common” del ADC
Figura 48. Característica de entrada-salida para un ADC de 16 bits con modo de entrada Single Ended
Figura 49. Configuración del ADC en la pestaña “Config1”
Figura 50. Configuración de asistente de diseño de filtros de componente Filter
Figura 51. Respuesta en frecuencia
Figura 51. Respuesta en frecuencia Fc=3kHz
Figura 52. Configuración para los filtros lowpass FIR a 2 kHz y 1 kHz
Figura 53. Arreglo “Filter_data_b” y sus primeros 24 datos (4 coeficientes)
Figura 54. Archivo filters.c
Figura 55. Archivo main.h
Figura 56. Código del archivo main.h en PSoC Creator 4.2
Figura 57. Código del método LoadFilter () en PSoC Creator 4.2.
Figura 58. Modulo Bluetooth HC-05 pines de salida.
Figura 59. Configuración del UART en PSoC Creator 4.2
Figura 60. Código de la interrupción “int_Rx”
Figura 61. Módulo nRF24l01 pines de salida.
Figura 62. Configuración del módulo SPI en PSoC Creator 4.2
Figura 63. Project/Dependencies en PSoC Creator 4.2
Figura 64. Ciclos Tx/Rx con ACK y las interrupciones
Figura 65. Configuración del módulo nrf24l01 en PSoC Creator parte 1.
Figura 66. Ejemplo de direccionamiento del canal de datos Multiserver
Figura 67. Configuración del módulo nrf24l01 Parte 2.
Figura 68. Configuraciones de potencia de salida RF para el nrf24l01
Figura 69. Configuración del módulo nrf24l01 Parte 3.
Figura 70. Código principal del transmisor en PSoC Creator 4.2.
Figura 71. TopDesign del proyecto en PSoC Creator
Figura 72. Configuración de pines PSoC5LP Receptor
Figura 73. Asignación de pines PSoC5LP Receptor
Figura 74. Ventana configuración del componente SPI
7
Figura 75. Ventana de configuración del elemento de interrupción
Figura 76. Ventana de configuración del nRF24 primera parte
Figura 77. Ventana de configuración del nRF24 segunda parte
Figura 78. Ventana de configuración del nRF24 tercera parte
Figura 79. Ventana de configuración del nRF24 cuarta parte
Figura 80. Ventana de configuración del nRF24 quinta parte
Figura 81. Ventana de configuración del DVDAC primera parte
Figura 82. Ventana de configuración del OpAmp como seguidor
Figura 83. Diagrama de etapas de desarrollo de una aplicación en App Inventor 2.
Figura 84. Entorno de desarrollo Front end de App Inventor 2
Figura 85. Pre visualización
Figura 86. Entorno de desarrollo Back end de App Inventor 2
Figura 87. Bloques de programación
Figura 88. Bloques para evento antes de oprimir botón Conectar
Figura 89. Bloques para evento después de oprimir botón Conectar
Figura 90. Bloques para eventos de los botones de los filtros
Figura 91. Descarga de aplicación desde la página de App Inventor 2
Figura 92. Screenshot de aplicación antes de conectar al dispositivo
Figura 93. Screenshot de lista de dispositivos disponibles (luego de haber pulsado el botón conectar)
Figura 94. Screenshot luego de establecer la conexión bluetooth
Figura 95. Circuito transmisor inalámbrico.
Figura 96. Prototipo final del transmisor
Figura 97. Prototipo final del receptor
Figura 98. Interfaz gráfica del App (software de selección de filtros)
Figura 99. Configuración componente WaveDac (PSoC5LP Generador)
Figura 100. Señales de entrada (f = 2 kHz) y salida para Filtro Fc = 3 kHz
Figura 101. Atenuación requerida en dB en función de la cantidad de bits de resolución y la frecuencia
de ruido dither a 4 V de rango
Figura 102. Señales de entrada (f = 2.5 kHz) y salida para Filtro Fc = 3 kHz
Figura 103. Señales de entrada (f = 300 Hz) y salida para Filtro Fc = 3 kHz
Figura 104. Señales de entrada (f = 2k Hz) y salida para Filtro Fc = 2 kHz
Figura 105. Señales de entrada (f = 1 kHz) y salida para Filtro Fc = 2 kHz
Figura 106. Señales de entrada (f = 500 Hz) y salida para Filtro Fc = 2 kHz
Figura 107. Señales de entrada (f = 1 kHz) y salida para Filtro Fc = 1 kHz
Figura 108. Señales de entrada (f = 700 Hz) y salida para Filtro Fc = 1 kHz
Figura 109. Señales de entrada (f = 300 Hz) y salida para Filtro Fc = 1 kHz
Figura 110. Medida 1 de desfase entre las señales a la entrada al transmisor y salida del receptor
Figura 111. Medida 2 de desfase entre las señales a la entrada al transmisor y salida del receptor
Figura 112. Explicación del dispositivo a estudiantes de la facultad ASAB
Figura 113. Interacción de los estudiantes con el instrumento (bajo eléctrico) y su sonido
Figura 114. Explicación detallada del transmisor, receptor y aplicativo móvil a estudiantes
8
ÍNDICE DE TABLAS
Tabla 1. Norma hecha por la Federal Communications Commission
Tabla 2. Resultados del filtro de 3 kHz con tres frecuencias distintas
Tabla 3. Resultados del filtro de 2.5 kHz con tres frecuencias distintas
Tabla 4. Resultados del filtro de 1 kHz con tres frecuencias distintas
Tabla 5. Costos de elementos
9
CAPÍTULO 1
1. Planteamiento del problema
En un recorrido por los distintos espacios de la Academia Superior de Artes de Bogotá (ASAB), que
tenía como fin el encontrar alguna necesidad para la cual el área de estudio en ingeniería electrónica
tuviera solución, se observó el uso de instrumentos como por ejemplo la guitarra eléctrica, el bajo,
piano eléctrico y otros que tienen como salida una señal eléctrica. Posteriormente se hizo una
indagación en el almacén de instrumentos y dispositivos dirigidos al audio, para conocer qué sistemas
de transmisión, tratamiento y reproducción tenían a su disposición. De esta revisión se concluyó que,
aunque la ASAB cuenta con sistemas alámbricos de amplificación electrónica, los sistemas que
brindan tratamiento de señales de audio en tiempo real, son escasos para cubrir la demanda que tienen
los estudiantes y docentes de esta institución.
Este es el punto de partida para proponer a la comunidad educativa, como una posible solución, el
uso de diferentes sistemas que integren la trasmisión de señales, el tratamiento en tiempo real y la
amplificación, con el fin de construir y poner en práctica diferentes conocimientos en las clases y,
que, a su vez, pueda usarse en los eventos musicales donde se requiera. Para este propósito, es
necesario identificar las definiciones de los sistemas que podrían suplir las necesidades de este
proyecto.
Proponemos usar un sistema de comunicaciones electrónicas, entendido como “la transmisión,
recepción y procesamiento de información entre dos o más lugares, mediante circuitos electrónicos”
[1]. Es decir, un sistema que tiene una señal eléctrica como entrada y permite transferir información
de un punto a otro, por medio de un elemento llamado medio de transmisión, el cual se encarga de
“transportar las señales desde el transmisor hasta el receptor” [1] y “puede ser una instalación física
o el espacio libre (es decir, la atmósfera terrestre)” [1].
Actualmente la ASAB cuenta con medios de transmisión que requieren una instalación física, lo que
implica dificultades de movimiento en los músicos durante una presentación y trae inconvenientes
10
por los daños en el cableado por su uso en el tiempo. Nuestra propuesta es emplear un sistema de
transmisión en el espacio libre que eliminaría las dificultades enunciadas.
En cuanto al tipo de procesamiento de señales, consideramos un estudio de comparación entre
procesamiento análogo (ASP) y procesamiento digital realizado en 2008 por Barchiesi [2]. El autor
señala que el procesamiento digital es menos simple que el ASP porque requiere típicamente de un
filtro antialiasing, un conversor A/D, un procesador DSP, un conversor D/A y un filtro análogo
adicional para suavizar la salida. No obstante, resalta algunas de las ventajas del procesamiento digital
con respecto al análogo:
• El envejecimiento de los componentes y las derivas térmicas no afectan al resultado del proceso.
•Todos los dispositivos fabricados se comportan en forma idéntica, ya que la tolerancia de los
componentes no influye en el procesamiento.
•Se puede reconfigurar un dispositivo modificando los valores de algunos coeficientes; no es
necesario ajustar potenciómetros, o reemplazar componentes.
•El procesamiento análogo de señales de muy baja frecuencia se dificulta debido al requerimiento de
capacitores de gran capacidad y muy baja corriente de fuga.
En el caso del procesamiento digital no existen limitaciones; se pueden procesar señales con períodos
de horas (tales como las mareas) e incluso de años (manchas solares).
•El procesamiento digital es capaz de realizar tareas muy complejas
De acuerdo con lo anterior, proponemos emplear el procesamiento digital que, adicionalmente a las
ventajas mencionadas, también ha dado lugar al surgimiento de diversas aplicaciones y técnicas
nuevas dirigidas al audio. Por ejemplo, la ecualización, reverberación artificial, compresión de la
información (MP3) y cancelación activa de ruido ambiente (inyectando ruido en contrafase) entre
otras.
A partir del planteamiento problema nos surge la siguiente pregunta investigativa:
¿Cómo diseñar un sistema de transmisión inalámbrica con tratamiento digital de señales en tiempo
real que satisfaga las necesidades de la comunidad académica ASAB?
11
1.1 Justificación
Académica: La realización del proyecto frente a la producción académica brinda aportes teóricos
para futuras indagaciones e investigaciones referentes al tema de comunicaciones electrónicas y
procesamiento digital de señales. Esta investigación generará estudios, metodologías, códigos,
algoritmos, dirigidos a la producción de un diseño e implementación de una herramienta (sistema).
Estos aportes proporcionan posibles soluciones a dudas e inquietudes en futuros proyectos al igual
que una guía de diseño según criterios de eficiencia, eficacia e impacto en una población objeto. La
herramienta quedará para el uso de toda la comunidad ya sea en clases para reforzar conocimientos o
eventos en vivo que necesiten los servicios de transmisión con tratamiento de la señal en tiempo real.
Socioeconómica:
Esta investigación desde el ámbito social generaría un impacto positivo en la medida que los
estudiantes y docentes tendrán acceso a una nueva tecnología sin ningún costo, que da mejores
condiciones, formas de aprendizaje e implementos con los cuales puedan interactuar e ir mejorando
desde el ámbito teórico y práctico lo que permite experiencias, las cuales posibilitan oportunidades
en el mundo laboral.
A partir del informe de avances de la universidad Distrital “El 12,5% de los estudiantes matriculados
de pregrado pertenece al estrato 1, el 55,1% pertenece al estrato 2, y el 27,8% a estrato 3+.” [3] es
decir se genera un costo de oportunidad en los estudiantes que accedan a este tipo de herramientas.
Al no tener costos, la comunidad podrá invertir el dinero en otros beneficios.
Otros beneficios que generará el proyecto son mejorar la movilidad en los intérpretes con el fin de
una mayor expresividad corporal, por otra parte, la producción de efectos sonoros que den calidad en
los eventos institucionales realizados en la UD.
A cualquier institución el uso de sistemas inalámbricos evita costos futuros en la reparación de las
líneas de transmisión físicas lo cual es muy usual en donde se usa con frecuencia. Específicamente
12
en una academia de artes en donde este tipo de sistemas de transmisión y amplificación electrónica
se tiene que movilizar las reparaciones en el cableado son muy normales.
Ambiental: Una línea de transmisión física generalmente está compuesta por conductores, aislantes,
relleno y cubierta, en la actualidad existen formas de reciclado en las que usan la incineración de la
parte plástica del cable para recuperar solamente el cobre. Estas emisiones gaseosas que se realizan
en esta actividad son altamente contaminantes, pueden causar daños a quienes la practican, a quienes
se encuentren cerca al medio ambiente en general.” [4] Nuestro diseño implementa una línea de
transmisión no guiada (inalámbrica) lo que evita la contaminación anteriormente mencionada.
Personal: Este interés investigativo surge a partir del gusto por la música y de la necesidad de
encontrar soluciones a problemas que se presentaron en momentos de nuestra vida, como ejemplo el
acceso a herramientas que mejorarán nuestra calidad a la hora de una presentación musical. Al realizar
un recorrido por las instalaciones de la academia superior de artes de Bogotá encontramos problemas
en común con sus integrantes. Esta investigación es una oportunidad para diseñar e implementar
desde la electrónica un sistema que solucione algunas de estas necesidades.
1.3. Objetivo General
Diseñar e implementar un sistema de comunicaciones electrónicas inalámbricas y de procesamiento
digital de señales de instrumentos musicales en tiempo real en la facultad de artes ASAB.
1.4. Objetivos Específicos
1. Diseñar e implementar un sistema de transmisión inalámbrica.
2. Diseñar e implementar un sistema de tratamiento digital de audio en tiempo real.
3. Diseñar una interfaz de usuario (software de control).
4. Realizar las pruebas para la validación del proyecto.
5. Presentar el sistema completo en la Facultad de Artes ASAB, con evidencia de su socialización.
13
CAPÍTULO 2. ESTADO DEL ARTE
Para reconocer el contexto actual del desarrollo de iniciativas relacionadas con los sistemas
inalámbricos y de procesamiento de audio, se han elegido documentos de referencia como tesis de
grado, monografías, artículos teóricos, manuales de usuario, hojas de especificaciones de
dispositivos, y guías hechas por empresas pioneras en el ámbito de sistemas inalámbricos y de
procesamiento de audio. A continuación, se presenta una revisión detallada de los documentos
enunciados.
2.1. Guía del micrófono de tecnología inalámbrica - Line 6
Line 6. (2010). Wireless Microphone Technology Guide. California. USA. Disponible en
https://line6.com/media/pdf/Line%206%20Wireless%20microphones%20Whitepaper.pdf [5].
En el documento “wireless Microphone technology guide”, se hace una recapitulación de conceptos
básicos en la radio frecuencia (RF) como transmisión, radio distancia, radio interferencia, diversidad
recepción y distorsión. A continuación, se presenta la definición que ofrece la empresa de cada uno
de estos términos:
Distancia: La calidad del audio no se ve afectada a lo largo del rango de distancia.
Diversidad: En dispositivos análogos se hace uso de dos antenas en el caso de cuando la señal es
débil por obstrucción o hay un “multipath” (múltiples caminos desde el emisor hasta el receptor). Con
lo que hay un circuito que se encarga de seleccionar (switch) la señal más fuerte o consistente.
La tecnología digital que se usa en este tipo de micrófonos emplea un sistema llamado diversidad
espacial, en donde hay dos receptores y dos circuitos, pero en este caso, el sistema compara los datos
digitales de los dos y usa el que tenga menos errores.
Line 6 provee una tecnología adicional, en los sistemas inalámbricos digitales, llamada diversidad en
frecuencia. En donde usan múltiples portadoras para transportar distintas partes de los datos, evitando
el impacto de otras señales RF en el medio, que no están presentes en todas las frecuencias que se
14
usan. Respecto al uso del espectro electromagnético es tenida en cuenta la norma hecha por la Federal
Communications Commission (FCC)
Tabla 1. Norma hecha por la Federal Communications Commission (FCC).
Según el documento la mayoría de los sistemas inalámbricos están diseñados sobre la banda de
difusión de televisión, que, para el caso de los EE.UU., llamada banda de los 700 MHZ.
Pero desde 2009 esta banda ha sido limitada solo para uso comercial y seguridad pública, y ya no
puede ser usada por sistemas estos aparatos. Así que en se han desarrollado sobre las llamadas ISM
bands, (industrial, científico y médico, pero no limitada a esas áreas), las cuales no necesitan licencia
y están libres de interferencia de alta potencia como la difusión de TV; las bandas usadas son 902
MHz y 2,4 GHz.
“En sistemas digitales inalámbricos operando en las bandas ISM, todos los canales están siempre
disponibles. Esto es porque no hay competencia de alta potencia permitidos en este espacio. El
número total de canales seleccionables es el número de canales que puede ser usado simultáneamente.
15
Además, las ISM son libres de usar a lo largo del mundo independientemente de las asignaciones de
canales de TV locales.”
Distorsión
La gran mayoría de los sistemas análogos especifican sus niveles de THD en niveles normales de 0,1
% a 0.5 %. En un sistema digital, como la señal es lineal a lo largo de todo el rango dinámico, la THD
típica especificada es de 0,03 %.
Respuesta en frecuencia
La alta respuesta en frecuencia de sistemas digitales es una función de la tasa de muestreo y no de
aspectos de transmisión de RF.
Es posible transmitir completamente señales entre los 10 Hz y los 20 KHz, ya que como en estos
sistemas no hay un limitador como en los sistemas análogos.
Figura 1. Respuesta en frecuencia para sistemas análogos. Fuente: line 6. wireless microphone guide.pdf.
16
Figura 2. Respuesta en frecuencia para sistemas digitales. fuente: line 6. Wireless microphone guide.pdf.
Finalmente, se hace un sumario de los beneficios de la tecnología digital.
Simple instalación y uso
No interferido por canales de TV
Todos los sistemas de 2,4 GHz trabajan en cualquier parte del mundo
No se requiere una licencia
No es necesario el proceso de de-énfasis y pre-énfasis
No companding
No limitadores
No aplastamiento o limitador de ganancia.
Rango dińamico hasta los 115 dB
Respuesta en frecuencia desde los 20 Hz hasta los 20 KHz
THD típica de 0.03 %
Calidad del audio no se ve afectada por interferencia RF.
17
Figura 3. Relay G10, por LINE 6 .fuente:https://media.sweetwater.com/images/items/750/RelayG10-
large.jpg?v=f29c34211418099a.
Line 6 lanza al mercado el Relay G10 en 2015, dispositivo para guitarras eléctricas y bajos eléctricos
con las siguientes especificaciones.
Alta calidad de sonido (24 bits de transmisión no comprimidos)
Alta calidad de ADC con un transmisor de bajo ruido (mejor que rango dinámico de 110 dB)
Fácil uso
8 horas de uso ininterrumpido con una carga
Con la tecnología de 2.4 GHz, recomiendan evitar colocar el receptor cerca de cualquier elemento RF
como transmisores o routers Wifi, al menos tres metros lejos.
18
Figura 4. Instalación de sistema inalámbrico Relay G10. Fuente: Line6. Relay G10 pilot's guide.pdf.
2.2. Manual para la selección y operación de micrófonos con tecnología inalámbrica
[6] Shure. (2017). Selection and Operation of Wireless Microphone Systems. USA. Disponible en
https://522bb370f5443d4fe5b9-
f62de27af599bb6703e11b472beadbcc.ssl.cf2.rackcdn.com/publication/upload/827/selection_and_o
peration_of_wireless_microphone_systems_english.pdf
Por su parte, la gran mayoría de los sistemas inalámbricos son digitales y los que son análogos son
desarrollados en FM. Con esto, en el documento Selection and operation of wireless systems, Tim
Vear, hace un apéndice sobre algunas consideraciones a tener en cuenta en la tecnología digital.
19
Sabiendo que el objetivo último es la transmisión de señales de 20 Hz a 20 KHz y una amplitud o
rango dinámico de 120 dB. Para lograr esto a nivel profesional o semi-profesional es recomendable
desarrollarlo con una calidad de C, es decir, una tasa de muestreo de 44,1 kHz, con una resolución de
16 bits (65536).
Teniendo en cuenta la fórmula de tasa de bit necesaria.
br = resolución X f_muestreo
br = 16 bits X 44,1 KHz = 705,6 Kbps
Con lo cual, el ancho de banda necesario para una calidad de CD es de 705,6 KHz.
Luego de esto existe el proceso de data compression para reducir el flujo de datos codificando datos
redundantes en formas cortas. Por medio de algoritmos llamados códecs (code-decode) por ejemplo
.mp3, .AAC, .flag entre otros, se reduce la latencia. Latencia que se debe mantener como máximo en
5 ms, ya que arriba de esto se puede llegar a notar. Shure hace uso de sistemas basados en la mezcla
de FSK, PSK y ASK. A continuación, se muestran los diversos dispositivos del catálogo.
Figura 5. Transmisores, Shure. Fuente: introduction to wireless microphone systems.pdf.
20
Figura 6. Receptores, Shure. Fuente: introduction to wireless microphone systems.pdf.
2.3. Modificación de tono de señales en tiempo real
Bisheimer, G., & Sonnaillon, M. (s.f). Modificación del tono de señales de audio en tiempo real [7].
En el artículo se hace un recuento sobre distintas técnicas usadas en los últimos años, para desplazar
el espectro en frecuencia de una señal sin alterar la relación de sus componentes armónicos, las cuales
son aplicaciones bastante extendidas en el campo de la música para armonizar en vivo con un solo
instrumento con un Pitch shifter o el clásico pedal para guitarra Whammy, por ejemplo.
Se hace claridad en que el uso de técnicas como la disminución de la velocidad de reproducción o el
escalado armónico de tiempos en dominio TDHS (Embree, 1995), afectan la frecuencia de la señal
de audio. Por esto, se propone el uso de la técnica transformada rápida de Fourier (FFT) en
procesadores digitales de señal (DSP) en la que se obtiene el espectro, se altera y se construye una
señal con base en el espectro alterado.
21
Figura 7. Diagrama de bloques en el procesamiento de escalamiento del espectro. Fuente: Bisheimer, Guillermo.
Sonnaillon, Maximiliano. (2014) Modificación de tono de señales en tiempo real. Researchgate.
Finalmente, los investigadores implementaron un software sobre una placa DSP, de bajo costo,
haciendo uso de la técnica Phase vocoder, para funcionar en tiempo real sobre el espectro frecuencial,
a bajas latencias, con 16 kHz de ancho de banda.
Se concluye, que, a pesar de tener una calidad de señal aceptable, según análisis en el dominio del
tiempo y de frecuencia, aún hace falta eliminar la distorsión presentada. Para ello, se sugiere continuar
la investigación en el uso de transformadas como Wavelet o modificaciones a la transformada de
Fourier.
2.4. Implementación de algoritmos para efectos de audio digital con alta Fidelidad usando
hardware programable
Liévano, P., Espinosa, J. & Velasco, J. (2013). Implementación de algoritmos para efectos de audio
digital con alta fidelidad usando hardware programable. Ingeniería y Universidad, 17(1): 93-108 [8].
Este estudio se justifica en la necesidad que tienen los músicos a la hora de generar sonidos diferentes
y únicos al momento de una presentación en vivo.
La investigación está organizada en tres secciones. En la primera, los autores clasifican los efectos de
audio digital en tres dominios de procesamiento: el dominio dinámico, el dominio de la frecuencia y
22
el uso de los retardos. En la segunda, se realiza el diseño y la implementación en hardware de los
efectos de audio y en la tercera, se presentan los resultados de simulación y las pruebas de
verificación. En la clasificación de los efectos de audio se realiza un análisis y descripción del tipo
de procesamiento, por ejemplo, en el dominio dinámico los autores explican cualitativamente y con
modelos matemáticos los efectos de compresor, expander, distortion y phaser; y en el procesamiento
de retardos, los efectos de chorus, reverb, flanger y phaser. En el diseño e implementación de
hardware, los autores usan el análisis matemático en cada efecto para encontrar el algoritmo que
simule el circuito correcto, que en el FPGA genere un efecto análogo sobre la señal de entrada (audio),
y visualizarlo en diagrama de bloques. Los resultados de las pruebas de verificación se presentan en
tablas e imágenes que contienen las señales generadas por los efectos como se muestra en la figura 8.
Figura 8: señales generadas por los efectos: a) Compressor, b) Expander,c) Noise gate, d) Soft-clipping, e)
Hard-clipping, f) sigmoidal distortion, g) sigmoidal piecewise distortion, h) Polynomial distortion, i) Ring
modulator.
23
Las pruebas de verificación son comparadas con los resultados de simulación y por medio de un
cálculo de correlación, se encuentra el error, el cual es tabulado para cada efecto. Esta investigación
muestra que las implementaciones por hardware presentan un error por debajo del 1% respecto a las
simulaciones, y que este error varía según el efecto deseado. Los resultados de simulación y las
pruebas de verificación permiten concluir que los efectos implementados en hardware son adecuados
para procesar señales de audio y pueden sintetizarse en un FPGA de bajo costo.
2.5. Sistema inalámbrico para transmisión de señales de audio con mínima latencia.
Becerra, M. (2016) Sistema inalámbrico para transmisión de señales de audio con mínima latencia.
Tesis De Maestría. Universidad de Chile [9].
El autor propone para el ámbito musical, un sistema basado en protocolos de comunicación
inalámbrica con estándares IEEE, que tenga el beneficio de mínima latencia que invisibiliza el retardo
del sonido en el oído humano y que sirva para transportar diferentes fuentes de sonido, mezclar y
retornar la señal, mediante el uso de tecnologías abiertas y estándares libres.
En esta investigación primero se determinan los requerimientos para que el sistema presente un
retardo imperceptible al oído humano, posterior a todo el proceso de mezclado y retorno. Luego, se
diseña la arquitectura del sistema y el protocolo para permitir la comunicación inalámbrica en tiempo
real. Finalmente, se valida la factibilidad técnica de la solución propuesta mediante la implementación
y simulación, para analizar y determinar si el sistema cumple con los requerimientos establecidos.
El aporte de este estudio fue entregar una solución satisfactoria a distintos problemas de transmisión
de sonido, mediante el correcto diseño de redes inalámbricas. Sin embargo, al ser un diseño e
implementación computacional no tuvo en cuenta las especificaciones del hardware involucrado,
como micrófonos y audífonos, es decir, se asumió que la señal de todos los nodos emisores era igual
y estándar, tampoco se tuvo en cuenta la alimentación de los dispositivos y no se consideraron las
condiciones necesarias para el correcto funcionamiento en presencia de obstáculos e interferencias.
24
Como resultado de la investigación se diseñó e implementó computacionalmente un protocolo de
comunicaciones inalámbrica, que transmite, mezcla y retorna señales de audio de alta calidad con
mínima latencia. Se realizó un diseño sobre la capa física de IEEE 802.11 y se propuso una capa de
enlace basada en TDMA, que en las simulaciones presentó una tasa de transferencia efectiva del
97.26% con la mayor carga posible, y un valor máximo de latencia de 12,73 ms, desde que el paquete
de datos es creado por la fuente de audio hasta que es recibido por un receptor. Se observa que el
diseño permite un excelente aprovechamiento del canal.
25
CAPÍTULO 3. MARCO TEÓRICO
3.1. Sistema de comunicaciones electrónicas
Un sistema de comunicaciones electrónicas es entendido como “la transmisión, recepción y
procesamiento de información entre dos o más lugares, mediante circuitos electrónicos” Tomasi,
(2003). Es decir, un sistema que tiene una señal eléctrica como entrada y permite transferir
información de un punto a otro, por medio de un elemento llamado medio de transmisión, el cual se
encarga de “transportar las señales desde el transmisor hasta el receptor” y “puede ser una instalación
física o el espacio libre (es decir, la atmósfera terrestre)”. Tomasi, (2003) [1]
Figura 9. Diagrama simplificado de bloques de un sistema de comunicaciones electrónicas. Fuente: Wayne
Tomasi, (2003). Sistemas De Comunicaciones Electrónicas, 4ta edición, PEARSON EDUCACIÓN, México.
3.2. Transmisor de radio
El concepto de transmisor de radio ha sido estudiado y explicado por diferentes autores, Santa Cruz
Oscar M. (2008) [11] ofrece una definición adecuada que incluye los procesos internos que se dan en
el transmisor, y a la vez agrega los requisitos como pureza espectral, potencia de salida, eficiencia y
fidelidad de la modulación. Un transmisor de radio toma la información que va a comunicarse y la
convierte en una señal electrónica compatible con el medio de comunicaciones. Este proceso suele
26
incluir la generación de una portadora, la modulación y la amplificación. La señal se transmite por un
medio ya sea un conductor simple, cable coaxial o guía de onda, a una antena que la difunde por el
espacio libre.
3.3. El Espectro Electromagnético
A continuación, se presenta una explicación sobre el espectro electromagnético, frecuencias de
transmisión y sus asignaciones según la comisión federal de comunicaciones, información encontrada
en el libro “sistemas de comunicaciones electrónicas” (Wayne Tomasi, DeVry Institute of Technology
Phoenix, Arizona) [1].
El objetivo de un sistema electrónico de comunicaciones es transferir información entre dos o más
lugares, cuyo nombre común es estaciones. Esto se logra convirtiendo la información original a
energía electromagnética, para transmitirla a continuación a una o más estaciones receptoras, donde
se reconvierte a su forma original. La energía electromagnética se puede propagar en forma de voltaje
o corriente, a través de un conductor o hilo metálico, o bien en forma de ondas de radio emitidas hacia
el espacio libre, o como ondas luminosas a través de una fibra óptica. La energía electromagnética se
distribuye en un intervalo casi infinito de frecuencias.
3.3.1. Frecuencias de transmisión
El espectro electromagnético de frecuencias total, donde se muestran los lugares aproximados de
diversos servicios, se ve en la siguiente figura. Este espectro de frecuencias va desde las subsónicas
(unos pocos Hertz) hasta los rayos cósmicos (1022 Hz).
Figura 10. Espectro electromagnético de longitudes de onda.
27
El espectro de frecuencias se subdivide en subsecciones o bandas. Cada banda tiene un nombre y sus
límites. En los Estados Unidos, las asignaciones de frecuencias para radio propagación en el espacio
libre son realizadas por la Comisión Federal de Comunicaciones (FCC).
El espectro total útil de radiofrecuencias (RF) se divide en bandas de frecuencia más angostas, a las
que se dan nombres y números descriptivos, y algunas de ellas se subdividen a su vez en diversos
tipos de servicios. Las designaciones de banda según el Comité consultivo internacional de radio
(CCIR) se muestran en la siguiente tabla.
Figura 11. Designación de banda CCIR.
28
3.4. Ancho de banda y capacidad de información
Se encuentra en el libro de [11] Telecomunicaciones digitales, dispositivos y sistemas, de Díaz (1997)
una introducción a los conceptos fundamentales que introducen a los sistemas de comunicaciones
electrónicas, entre esto encontramos el ancho de banda, capacidad de información, ruido eléctrico,
Díaz (1997) menciona que:
El ruido y el ancho de banda son las dos limitaciones más significativas de un sistema de
comunicaciones. La banda de paso mínima (rango de frecuencias) requerida para propagar la
información de la fuente a través del sistema se conoce como ancho de banda. El ancho de banda de
un sistema de comunicaciones debe ser lo suficientemente ancho para pasar todas las frecuencias
significativas de la información. La capacidad de información de un sistema de comunicaciones es
una medida de cuánta información de la fuente puede transportarse por el sistema, en un periodo de
tiempo. La cantidad de información que puede propagarse a través de un sistema de transmisión es
una función del ancho de banda del sistema y el tiempo de transmisión. Cuando mayor sea la cantidad
de información por unidad de tiempo, mayor será la cantidad del ancho de banda requerida. Díaz,
(1997) [11].
3.5. Análisis de ruido
En el libro (Sistemas de comunicaciones electrónicas, Wayne Tomasi) [1] se define el ruido eléctrico
como cualquier energía eléctrica indeseable que queda entre la banda de paso de la señal. Por ejemplo,
en la grabación de audio se consideran como ruido todas las señales eléctricas no deseadas que están
dentro de la banda de frecuencias de audio, de 0 a 15 kHz, que interfieren con la música.
Se puede clasificar al ruido en dos categorías: correlacionado y no correlacionado. La correlación
implica una relación entre la señal y el ruido. Por consiguiente, el ruido correlacionado sólo existe
cuando hay una señal. Por otra parte, el ruido no correlacionado está presente siempre, haya o no una
señal. La fig. 12 muestra el efecto que tiene el ruido sobre una señal eléctrica. En la fig. 12a se ve una
senoide sin ruido, y en la fig. 12b se ve la misma señal, pero con la presencia de ruido.
29
Figura 12. Efectos del ruido sobre una señal. (a) Señal sin ruido. (b) Señal con ruido.
3.5.1. Relación de potencia de señal a ruido
La relación de potencia de señal a ruido, S/N (de signal-to-noise), es el cociente del valor de la
potencia de la señal entre el valor de la potencia del ruido. Matemáticamente se expresa como sigue
En la cual Ps = potencia de la señal (watts)
Pn = potencia del ruido (watts)
Esta relación de potencia de señal a ruido se expresa con frecuencia en forma de función logarítmica,
en unidades de decibeles.
30
3.6. Clasificación de señales
La siguiente información sobre clasificación de señales es tomada de (Comunicaciones digitales,
Rodríguez, Gonzáles, 2012) [12].
Un primer paso en el estudio de las señales consiste en su clasificación de acuerdo con determinados
criterios. Veamos a continuación los criterios más importantes.
3.6.1. Señales en tiempo continuo y en tiempo discreto
Si la variable independiente puede tomar cualquier valor real decimos que la señal es en tiempo
continuo y la denotamos como x(t) (t ∈ R, siendo R el cuerpo de los números reales). Si la variable
independiente toma solo valor en los números enteros decimos que la señal es en tiempo discreto
(también denominada secuencia) y la denotamos como x[n] (n ∈ Z, siendo Z el anillo de los números
enteros).
3.6.2. Señales analógicas y digitales
Si la señal puede tomar uno entre un conjunto finito de valores decimos que la señal es digital y la
denotamos con letras mayúsculas como X(t) o X[n] (según sea en tiempo continuo o en tiempo
discreto). Si la señal puede tomar uno de entre un conjunto infinito de valores decimos que la señal
es analógica y la denotamos con letras minúsculas como x(t) o x[n].
Comúnmente se asocia el término “señal digital” a señales en tiempo discreto y digitales, pero no hay
que confundir una propiedad que afecta a la variable independiente (tiempo continuo o tiempo
discreto) con una propiedad que afecta a los valores que toma la señal propiamente dicha (analógica
o digital).
3.7. Procesamiento digital de señales
El libro “tratamiento y procesamiento de señales” de John G.Proakis, Dimitris G.Manolakis ,2007
[13] define muy bien los elementos básicos en el los sistemas DSP:
31
3.7.1. Señal
Una señal es definida como una cantidad física que varía con el tiempo, espacio o cualquier otra
variable o variables independientes.
3.7.2. Sistema
Dispositivo físico o software que realiza una operación sobre una señal, como por ejemplo filtrar el
ruido que hay en ella. Al pasar la señal por el sistema se ha procesado y este se caracteriza por el tipo
de procesamiento que se encargue de desempeñar.
En una computadora el procesamiento consiste en una serie de operaciones matemáticas especificadas
a través de software.
3.7.3. Elementos básicos de un sistema de procesamiento digital de señales
Casi todas las señales por naturaleza son análogas y dichas señales pueden ser procesadas
directamente por apropiados sistemas análogos como filtros, analizadores de frecuencia o
multiplicadores con el propósito de cambiar sus características o extraer alguna información deseada.
Por lo general y para el caso de este proyecto es necesario en el sistema digital un convertidor análogo
digital (ADC), un procesador digital de señal el cual puede ser un microprocesador programado para
realizar las operaciones requeridas y convertidor digital a análogo (DAC).
Ventajas del procesamiento digital sobre el analógico:
Mayor flexibilidad en el procesamiento simplemente reprogramando en vez de rediseñar todo
un hardware.
La tolerancia de los componentes en circuitos análogos dificulta la precisión para el
diseñador.
El procesamiento digital permite la implementación de algoritmos más sofisticados
En algunas ocasiones es más económica una implementación de un sistema digital.
32
Figura 13. Elementos básicos de un sistema de procesamiento de señales digital.
3.7.4. Señales sinusoidales discretas en el tiempo
Una señal sinusoidal discreta en el tiempo puede expresarse como sigue
Donde n es una variable entera, que se denomina número de muestra, A es la amplitud de la sinusoide,
ω es la frecuencia en radianes por muestra y θ es la fase en radianes.
Si en lugar de ω utilizamos la variable frecuencia f definida por
La relación se convierte en
33
La frecuencia f tiene dimensiones de ciclos por muestra. En comparación con las señales sinusoidales
continuas en el tiempo, las señales sinusoidales discretas en el tiempo se caracterizan por las
propiedades siguientes:
1. Una sinusoide discreta en el tiempo es periódica sólo si su frecuencia es un número racional. Por
definición, una señal discreta en el tiempo x(n) es periódica de período N (N > 0) si y sólo si
El valor mínimo de N para el que se cumple es el período fundamental.
La demostración de la propiedad de periodicidad es sencilla. Para que una sinusoide de frecuencia f0
sea periódica, se tiene que cumplir que
Esta relación es cierta si y sólo si existe un entero k tal que
O, lo que es lo mismo,
Una señal sinusoidal discreta en el tiempo sólo es periódica si su frecuencia f0 se puede expresar
como la relación de dos enteros (es decir, f0 es racional). Para determinar el periodo fundamental N
de una sinusoide periódica, expresamos su frecuencia f0 racionalmente y cancelamos los factores
comunes, de modo que k y N sean primos relativos. Entonces el período fundamental de la sinusoide
es igual a N.
34
2. Las señales sinusoidales discretas en el tiempo cuyas frecuencias están separadas un múltiplo
entero de 2π son idénticas.
Para demostrar esta afirmación, consideremos la señal sinusoidal cos (ω0n+θ).
Fácilmente se deduce que
Por tanto, todas las secuencias sinusoidales
Donde
Son indistinguibles (es decir, idénticas). Cualquier secuencia resultante de una sinusoide con
frecuencia |ω | > π, o | f | > ½, es idéntica a una secuencia obtenida a partir de una señal sinusoidal
de frecuencia | ω| < π. Debido a esta similitud, decimos que la sinusoide que tiene la frecuencia |ω|
> π es un alias
De la sinusoide cuya frecuencia es |ω| < π.
3. La tasa de oscilación más alta de una señal sinusoidal discreta en el tiempo se alcanza cuando ω
= π (u ω= −π) o, lo que es lo mismo, f = 1/2 (o f = -1/2).
35
3.8. Conversor analógico-digital
En el libro (Tratamiento y procesamiento de señales, John G.Proakis, Dimitris G.Manolakis,2007)
[13]se encuentra una explicación muy general sobre el conversor analógico-digital, explicando el
proceso de muestreo, cuantificación y codificación. Además, da información sobre el muestreo de
señales analógicas, el teorema de muestreo y la Cuantificación de señales continuas en amplitud.
La mayor parte de la señal con interés práctico, tales como las señales de voz, las señales biológicas,
sísmicas, de radar, de sonar y las diversas señales de comunicación como las de audio y vídeo, son
analógicas. Para poder procesar señales analógicas a través de medios digitales, primero es necesario
convertirlas a formato digital, es decir, convertirlas en una secuencia de números con una precisión
finita. Este procedimiento se denomina conversión analógica-digital (A/D), y los dispositivos que la
realizan son los convertidores A/D (ADC).
Conceptualmente, la conversión A/D es un proceso de tres pasos, el cual se ilustra en la siguiente
figura.
Figura 14. Partes básicas de un convertidor analógico-digital (A/D).
36
3.8.1. Muestreo
Este paso consiste en la conversión de una señal continua en el tiempo en una señal discreta en el
tiempo obtenido mediante la toma de “muestras” de la señal continua en el tiempo en instantes
discretos de tiempo. Por tanto, si xa(t) es la entrada del muestreador, la salida será xa (nT ) ≡ x(n),
donde T es el intervalo de muestreo.
3.8.2. Cuantificación
En este paso se realiza la conversión de una señal de valores continuos tomados en instantes discretos
de tiempo en una señal de valores discretos en instantes de tiempo discretos (es decir, es una
Señal digital). El valor de cada muestra de la señal se representa mediante un valor seleccionado
dentro de un conjunto finito de posibles valores. La diferencia entre la muestra no cuantificada x(n)
y la salida cuantificada xq(n) es el error de cuantificación.
3.8.3. Codificación
En el proceso de codificación, cada valor discreto xq(n) se representa mediante una secuencia binaria
de b-bits. Aunque hemos modelado el convertidor A/D como un muestreador seguido de un
cuantificador y un codificador, en la práctica, la conversión A/D se realiza mediante un único
dispositivo que toma xa(t) y produce un número codificado en binario. Las operaciones de muestreo
y cuantificación se pueden realizar en cualquier orden, aunque, en la práctica, el muestreo se efectúa
siempre antes que la cuantificación.
3.8.4 Muestreo de señales analógicas
Existen muchas formas de muestrear una señal analógica. El muestreo uniforme o periódico es el tipo
de muestreo empleado más a menudo en la práctica, y se describe mediante la siguiente relación
37
Donde x(n) es la señal discreta en el tiempo obtenida “tomando muestras” de la señal analógica xa(t)
cada T segundos. Este procedimiento se ilustra en la ilustración 15. El intervalo de tiempo T entre
muestras sucesivas es el período de muestreo o intervalo de muestreo y su recíproco 1/T =Fs se
denomina tasa de muestreo (muestras por segundo) o frecuencia de muestreo (hercios).
Figura 15. Muestreo periódico de una señal analógica.
El muestreo periódico establece una relación entre las variables t y n de las señales continuas y
discretas en el tiempo, respectivamente. Estas variables se relacionan linealmente a través del período
de muestreo T o, de forma equivalente, a través de la tasa de muestreo Fs = 1/T, como
38
3.8.5. Teorema de muestreo
Si la frecuencia más alta contenida en una señal analógica xa(t) es Fmax = B y la señal se muestrea a
una frecuencia Fs > 2 Fmax ≡ 2B, entonces xa(t) puede recuperarse de forma exacta a partir de los
valores de sus muestras utilizando la siguiente función de interpolación:
Luego, xa(t) puede expresarse como
Donde xa(n/Fs) = xa(nT) ≡ x(n) son las muestras de xa(t).
Figura 16. Conversión D/A ideal (interpolación).
39
Cuando el muestreo de xa(t) se realiza a la frecuencia mínima de muestreo Fs = 2B, la fórmula de
reconstrucción se convierte en
La frecuencia de muestreo FN = 2B = 2 Fmax se denomina frecuencia de Nyquist
3.8.6. Cuantificación de señales continuas en amplitud
Como se ha visto, una señal digital es una secuencia de números (muestras) en la que cada número
está representado por un número finito de dígitos (precisión finita).
El proceso de convertir una señal discreta en el tiempo con amplitud continua en una señal digital
expresando cada valor de muestra como un número finito (en lugar de infinito) de dígitos se denomina
cuantificación. El error introducido al representar la señal continua mediante un conjunto finito de
niveles discretos es el error de cuantificación o ruido de cuantificación.
La operación de cuantificación de las muestras x(n) la denotamos mediante Q[x(n)] y empleamos
xq(n) para indicar la secuencia de las muestras cuantificadas a la salida del cuantificador. Por tanto,
Luego el error de cuantificación es una secuencia eq(n) definida como la diferencia entre el valor
cuantificado
y el valor de la muestra real. Por tanto,
40
Figura 17. Cuantificación.
El error de cuantificación eq(n) en el redondeo está limitado en el rango comprendido entre −∆/2 y
∆/2, es decir,
En otras palabras, el error de cuantificación instantáneo no puede ser mayor que la mitad del escalón
de Cuantificación.
Si xmin y xmax representan los valores mínimo y máximo de x(n) y L es el número de niveles de
cuantificación, Entonces
Definimos el rango dinámico de la señal como xmáx -xmín.
41
3.9. Conversor analógico-digital delta-sigma
La siguiente información sale del artículo “Delta-Sigma Converter Processing: aplicación de
herramienta de software libre para el análisis y caracterización de convertidores ΔΣ, Alducin Castillo,
Juan Hidalgo, Iván Álvarez, Universidad Autónoma Metropolitana-Azcapotzalco” [14].
La conversión de señales analógicas al dominio digital es un paso esencial en cualquier sistema actual
de procesamiento de señales. Esta operación es llevada a cabo por un circuito integrado de señal mixta
llamado “convertidor analógico-digital” (ADC). Desde el punto de vista de la frecuencia de
operación, se puede decir que en la actualidad se cuenta principalmente con dos tipos de ADC’s:
ADC’s tradicionales o a razón de Nyquist y ADC’s con sobre muestreo o Sigma-Delta. Un ADC
tradicional, realiza principalmente 2 operaciones: muestreo y cuantificación. El muestreo se realiza a
una frecuencia establecida por el teorema de Nyquist (fN) e igual a dos veces el ancho de banda útil
de las señales a convertir. En el muestreo no hay pérdida de información. La señal original puede ser
recuperada al pasar las muestras f(nT) por un filtro pasa bajos. La cuantificación de la señal
muestreada introduce pérdida de información, ya que es un proceso no-lineal y no-reversible, en el
cual un intervalo continuo de valores de amplitud es transformado en un conjunto finito de códigos
digitales de salida c(nT) (B. Razavi, Principles of Data Conversion System Design. 1st Ed. 1995.
Wiley Interscience. New York. 96 pp.). Estas operaciones se muestran en la siguiente figura.
Figura 18. Diagrama de bloques de un ADC tradicional.
42
El concepto de ADC con sobre muestreo nació teóricamente en 1954 (C. C. Cutler, "Differential
Quantization of Communication Signals". U.S. Patent 2,605,361. June 29, 1950.) pero el avance
tecnológico sólo permitió su fabricación en un solo circuito integrado hasta 20 años más tarde (J. C.
Candy, "A Use of Limit Cycle Oscillations to Obtain Robust Analog-to-Digital Converters". IEEE
Transactions on Communications. Vol. COM-22. December 1974. 298-305 pp). En contraste con un
ADC tradicional, un ADC con sobre muestreo realiza el muestreo de la señal a una frecuencia mucho
mayor a la determinada por Nyquist, es decir a una frecuencia (fS) usualmente 128, 256, o 512 veces
mayor que fN. Adicionalmente, un sistema intermedio llamado “modulador sigma-delta” (ΣΔ) realiza
las operaciones de cuantificación y conformado de ruido. Posteriormente, un filtro digital a la salida
de éste lleva a cabo el diezmado de la señal y elimina el ruido fuera de banda. Las grandes ventajas
de este tipo de ADC’s son la alta resolución (14 a 18 bits) y alta linealidad (96dB o más) que
proporcionan. Por su excelente comportamiento en los dos aspectos antes mencionados, los ADC
Sigma-Delta, tienen muchas aplicaciones en sistemas de audio, adquisición de datos biomédicos y
telecomunicaciones.
La próxima figura muestra un diagrama a bloques de este tipo de ADC’s.
Figura 19. Diagrama a bloques de una ADC sigma-delta.
43
El modulador ΣΔ es el corazón de este tipo de convertidores ya que, dependiendo de su arquitectura,
además de las operaciones previamente mencionadas, también se puede realizar en él, la operación
de muestreo. Como se ve, prácticamente todas las operaciones involucradas en la conversión A/D son
llevadas a cabo por este sistema, ya que el diezmado y filtrado digital se realizan completamente en
el dominio digital. Por estas razones, el desempeño de un ADC ΣΔ queda determinado por la calidad
de su modulador. De este modo, la caracterización y prueba de los moduladores ΣΔ es de gran
importancia para predecir el comportamiento de los ADC’s que operan bajo este principio. Debido al
abundante uso de los ADC ΣΔ, el análisis y prueba de estos moduladores ha cobrado gran importancia
y en la literatura se encuentran varios reportes de metodologías orientadas a realizar esta tarea.
3.9.1. Modulador ΣΔ La estructura básica de un modulador ΣΔ de primer orden se muestra en
la Figura siguiente.
Figura 20. Modulador sigma-delta de primer orden.
Como se observa, un modulador ΣΔ es un sistema retroalimentado que contiene un integrador y un
cuantificador. Estrictamente hablando, el modulador es un sistema no lineal, porque el cuantificador
es un bloque no lineal. Como ya se dijo, el cuantificador introduce pérdidas de información en la
señal que está transformando. Bajo determinadas condiciones (A. V. Oppenheim, R.W. Schafer,
Discrete Time Signal Processing. 2nd. 1999. Edition. Prentice Hall.), dichas pérdidas pueden
44
modelarse como ruido blanco añadido a la señal, a través de una fuente aditiva de ruido. Haciendo
esto, se sustituye el cuantificador por una fuente de ruido blanco, con lo cual se tiene un sistema lineal
con dos entradas y una salida que puede analizarse por superposición. La Fig. 21 muestra el sistema
lineal resultante.
Figura 21. Modelo lineal de una moduladora delta-sigma de primer orden.
De la ilustración 21 se observa que la salida “d” consistirá de la señal de entrada “s” más el ruido
aditivo “n” cada uno multiplicado por su función de transferencia. El análisis de este modelo produce
la siguiente ecuación para la salida:
Donde ʃ / (1 + ʃ) (es la función de transferencia de la señal (STF) y 1 / (1 +ʃ) (es la función de
transferencia del ruido (NTF). Como se sabe, un integrador tiene ganancia muy alta (idealmente
infinita) a bajas frecuencias, por lo que la magnitud de STF tenderá a 1 a bajas frecuencias, mientras
que en el mismo intervalo de frecuencias la NTF tenderá a cero. A esta propiedad del modulador se
le conoce con el nombre de “conformado de ruido” (“noise shaping” en inglés). Esto tiene como
consecuencia que el espectro de la señal de salida del modulador contenga una componente de la
45
señal “s” más el ruido aditivo “n” pero atenuado en la banda de interés. La ilustración 22 se muestra
un espectro hipotético pero típico de la señal de salida de un modulador ΣΔ cuando a la entrada se
aplica una señal senoidal.
Figura 22. Espectro de salida de una moduladora sigma-delta.
En la ilustración-22 también se ha mostrado la gráfica de la función de transferencia del filtro digital
que acompaña a la salida de un ADC ΣΔ. Este filtro elimina el ruido de alta frecuencia fuera de la
banda de interés (fB). Las características del modulador se obtienen del espectro de la Fig. 22, obtenido
éste tras inyectar al modulador una señal senoidal de alta pureza y analizando el contenido de señal,
ruido y armónicos de la señal de salida. Dado que se usa sobre muestreo, la FFT mostrará el espectro
desde cero Hertz hasta fS/2, sin embargo, fB es sólo una porción del espectro total, como el límite de
la respuesta del filtro digital. El análisis espectral debe realizarse únicamente dentro de fB.
46
3.10. Introducción a los Filtros
El libro (JAVAFILTERS, Realización de Software para el Cálculo y Diseño de Filtros en Ambiente
Web, Puebla, 2004) [15] nos da una introducción precisa y adecuada sobre los filtros.
En la vida cotidiana es difícil tener una señal eléctrica pura o aislada, por lo regular las señales se
entremezclan o distorsionan, por ello es necesario contar con algún tipo de dispositivo que nos permita
separar las señales unas de otras o simplemente eliminar el ruido presente en ellas. Los filtros
eléctricos son aquellos dispositivos de los cuales nos servimos para dichos fines. Estos sistemas se
entienden como redes de dos puertos, uno de entrada y uno de salida, que funcionan en el dominio de
la frecuencia. Su funcionamiento se centra en la discriminación de señales con relación a su contenido
espectral, es decir, son sistemas que están diseñados para transmitir o bloquear señales eléctricas
dentro de un cierto rango o intervalo de frecuencias. Así, al rango de frecuencias dentro del cual las
señales pasan inalteradas se conoce como banda de paso, y al intervalo de frecuencias donde las
señales son bloqueadas se le llama banda de rechazo.
El diseño de estos circuitos puede estar formado por componentes puramente pasivos (resistencias,
capacitores e inductores), activos (con amplificadores operacionales) o digitales (implementados con
circuitería digital o programados en una computadora). Destacando que trabajarán sobre señales de
entrada produciendo una señal de salida, cuyo contenido espectral será función no sólo de la señal de
entrada sino también del tipo del filtro. De aquí se puede observar que existen dos grandes divisiones
dentro de estos sistemas: los filtros analógicos que son empleados para tratamiento de señales
continuas en el tiempo, y los filtros digitales que trabajan con señales discretas en el dominio del
tiempo. Como ya se mencionó con anterioridad, las aplicaciones de estos sistemas son numerosas y
muy variadas: sistemas de telecomunicaciones, instrumentos de medición, sistemas de audio y video,
transmisión de datos, sistemas de control electrónico, osciloscopios, analizadores espectrales,
procesamiento de señales, fuentes de poder, transformadores, etc. Un ejemplo práctico es el
sintonizador de estación de una radio o el selector de canal de un televisor, los cuales operan dejando
pasar sólo la frecuencia de la señal deseada y rechazando las demás estaciones, de modo tal que si no
se aplicará el filtrado, lo que se obtendría a la salida sería una combinación de todas las estaciones o
canales. Así mismo, dependiendo de la aplicación y funcionamiento deseados, se deberá seleccionar
el tipo de filtro adecuado. Existen cuatro tipos de filtros, y se denominan filtro pasa bajas si opera
47
dejando pasar frecuencias bajas y rechazando frecuencias altas, filtro pasa altas si funciona dejando
pasar frecuencias altas y rechazando frecuencias bajas, filtro pasa banda si trabaja dejando pasar una
banda o intervalo de frecuencias definido y rechaza las frecuencias mayores o menores a los límites
de dicha banda y filtro rechaza banda si lo hace con señales cuya frecuencia está comprendida dentro
de una cierta banda de frecuencias y deja pasar inalteradas las señales fuera de ésta.
3.10.1. Tipos de filtros
La autora Emilia Gómez en su libro (Síntesi i Processament del So I Departament de Sonologia.Escola
Superior de Musica de Catalunya, 2012) [16] identifica los tipos de filtros y da una explicación sobre
cada uno de una manera general. Además, la autora da una introducción breve a los filtros digitales,
su funcionamiento y una forma de representarlos.
Los filtros más corrientes son los filtros paso bajo (Low Pass, LP), paso alto (High Pass, HP), paso
de banda (Band Pass, BP) y los filtros rechazo de banda (o paso no banda) (Band Reject, Band stop
o Notch). En la ilustración 23 se representan estos 4 tipos de filtros mediante su respuesta en
frecuencia o espectro de amplitud. Cada punto de la respuesta en frecuencia nos indica la
atenuación a la que se someterá una señal a una frecuencia determinada.
Figura 23. Tipos de filtros (lowpass, highpass, notch, bandpass).
48
Los filtros paso bajo (LP) dejan pasar las frecuencias que están por debajo de una determinada
frecuencia. Los filtros paso alto (HP) dejan pasar las frecuencias que están por encima de una
determinada frecuencia. Estos dos tipos de filtros están definidos por su frecuencia de corte, que es
la frecuencia a la cual la amplitud de la señal se reduce a 0.707 de su valor máximo, es decir, sufre 3
dB de atenuación. Los filtros paso banda (BP) dejan pasar las frecuencias que están situadas en una
determinada banda de frecuencia, es decir, entre dos determinadas frecuencias.
Los filtros rechazo de banda (BR) dejan pasar todas las frecuencias excepto las que están situadas en
una determinada banda de frecuencia, es decir, entre dos determinadas frecuencias f1 y f2. Estas
frecuencias son las frecuencias a las que la amplitud de la señal se reduce a 0.707 de su valor máximo,
es decir, sufre 3 dB de atenuación. Estos dos tipos de filtros están definidos por su frecuencia central
y su ancho de banda, que sería la diferencia entre las frecuencias de corte inferior y superior.
Como se ilustra en la ilustración 23, las transiciones entre la banda pasante y la banda de corte no son
generalmente limpias en los filtros reales. Existe, por tanto, una banda de transición entre la zona
donde teóricamente todo pasa y la zona donde teóricamente nada pasa. Los filtros pueden combinarse
en serie o en paralelo para obtener respuestas frecuenciales más complejas.
3.10.2. Introducción a los filtros digitales
3.10.2.1. Funcionamiento de base
El funcionamiento de base de un filtro digital es relativamente simple. Distinguimos de hecho dos
tipos de funcionamiento, que se ilustran en la siguiente ilustración.
Figura 24. Diagrama de bloques de los dos tipos de filtros digitales: (a) FIR y (b) IIR.
49
(a) retardamos ligeramente una copia de la señal de entrada (de uno o varios períodos de muestreo) y
combinamos la señal de entrada retrasada 5 con la nueva señal de entrada. Los filtros digitales basados
en este funcionamiento se dice que son de respuesta impulsional finita o FIR (Finite Impulse
Response).
(b) retardamos una copia de la señal de salida, la cual combinamos con la nueva señal de entrada. Los
filtros digitales basados en este funcionamiento se dice que son de respuesta impulsional infinita o
IIR (Infinite Impulse Response). También se les denomina filtros recursivos o con feedback.
3.10.2.2. Los filtros en ecuaciones
Podemos describir los filtros mediante una ecuación que relaciona una señal de entrada con una señal
de salida en el dominio digital. De ésta manera, la salida del filtro se especifica como un resultado de
sumas, restas y multiplicaciones de muestras de entrada actuales y anteriores. Dichas ecuaciones se
denominan técnicamente ecuaciones lineales en diferencias. Lineales significa que, si la entrada de
un filtro es la suma de dos funciones escaladas, la salida del filtro es igual a la suma escalada de las
salidas del filtro para cada una de dichas funciones.
Los filtros en ecuaciones: Podemos describir los filtros mediante una ecuación que relaciona una
señal de entrada con una señal de salida en el dominio digital. De ésta manera, la salida del filtro se
especifica como un resultado de sumas, restas y multiplicaciones de muestras de entrada actuales y
anteriores. Dichas ecuaciones se denominan técnicamente ecuaciones lineales en diferencias.
Lineales significa que, si la entrada de un filtro es la suma de dos funciones escaladas, la salida del
filtro es igual a la suma escalada de las salidas del filtro para cada una de dichas funciones
50
3.10.3. Filtro FIR
El artículo (Implementación de Filtros Digitales Tipo FIR en FPGA, Jesús Cedillo, Klauss Bos,
Gustavo Romero) [17] nos da una explicación sobre los filtros digitales de respuesta finita al impulso
(FIR) matemáticamente, y con diagrama de bloques.
Los filtros digitales se usan frecuentemente para tratamiento digital de la imagen o para tratamiento
del sonido digital. FIR es un acrónimo en inglés para Finite Impulse Response o Respuesta finita al
impulso. Se trata de un tipo de filtros digitales en el que, como su nombre indica, si la entrada es una
señal impulso, la salida tendrá un número finito de términos no nulos. Para obtener la salida sólo se
basan en entradas actuales y anteriores. Su expresión en el dominio n es:
Aplicando la transformada Z a la expresión anterior:
La estructura básica de un FIR se presenta en la ilustración-25.
Figura 25. Estructura básica de un FIR
51
En la ilustración 25 los términos β son los coeficientes y los T son retardos. Pueden hacerse multitud
de variaciones de esta estructura. Hacerlo como varios filtros en serie, en cascada, etc. Hay tres
métodos básicos para diseñar este tipo de filtros: − Método de las ventanas. Las más habituales son:
o Ventana rectangular o Ventana de Barlett o Ventana de Hanning o Ventana de Hamming o Ventana
de Blackman o Ventana de Kaiser − Muestreo en frecuencia. − Rizado constante.
3.11. UART (Universal Asynchronous Receiver-Transmitter)
El escrito (UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER, Borja Mulas, Luis
Pozo, Universidad Carlos lll de Madrid, 2015) [18], da una definición detallada sobre el dispositivo
UART ya que este es el objeto de estudio que desarrolla e implementa durante todo el texto.
3.11.1. UART. Definición
Una UART (transmisor/receptor asíncrono universal) es un dispositivo hardware capaz de traducir
datos con formato paralelo a formato serie. Los dispositivos UART son empleados comúnmente en
conjunción con estándares de comunicación como EIA, RS-232, RS-422 o RS485. Se denominan
universales ya que el formato y la velocidad de transmisión de los datos es configurable. Los
niveles eléctricos de corriente y tensión son controlados por un driver externo a la UART.
Frecuentemente, la UART se presenta como un circuito integrado individual, empleado para
implementar una interfaz de comunicación serie en un ordenador o en un dispositivo periférico.
Actualmente es un circuito ampliamente incluido en microcontroladores.
3.11.2. Transmitir y recibir datos en formato serie
La UART es capaz de transmitir bytes de datos enviando bits individuales de forma secuencial. El
dispositivo receptor se encarga de reensamblar estos bits en un byte completo. Cada UART posee
un registro de desplazamiento, necesario para la conversión de datos de paralelo a serie.
Evidentemente la transmisión de datos a través de una sola línea es menos costosa que una
transmisión en paralelo con múltiples líneas. Normalmente la UART no genera o recibe las señales
externas empleadas entre distintos dispositivos. Se emplean dispositivos externos para convertir los
niveles lógicos de la UART a niveles diversos de tensión y corriente. Estándares como el RS-232,
RS422 y RS-485 presentan niveles distintos de tensión para los mismos estados lógicos. La
comunicación puede ser simplex (comunicación en una sola dirección), full-dúplex (dos
dispositivos transmiten y reciben al mismo tiempo) y half-duplex (los dispositivos se turnan para
52
transmitir y recibir). Dado que en la UART la comunicación se realiza mediante la transmisión de
caracteres, se explica, en el siguiente apartado, este proceso.
3.11.3. Transmisión de un carácter
Siempre que no se esté produciendo una transmisión de datos la línea de salida estará a nivel alto.
Esto se debe a una herencia por parte del telégrafo que se mantenía con tensión para mostrar que la
línea y el transmisor no estaban dañados. El envío de un carácter se completa con la secuencia
mostrada en la siguiente figura:
Figura 26. Transmisión de un carácter. Fuente: http://electronics.stackexchange.com/questions/24551/seeking-
mcu-with-9-data-bit-uart
- Cada transmisión se inicia con un bit de START. En este caso la línea tendrá un nivel lógico de
cero.
- A continuación, se enviará la información requerida bit a bit. Frecuentemente se puede programar
el número de bits que queremos transmitir. Se suele poder elegir en un rango de 5 a 9 bits dependiendo
de la UART empleada. A pesar de esto lo más habitual es la transmisión de 8 bits de datos.
- Opcionalmente se puede transmitir un bit de paridad siempre y cuando no se haya elegido la
transmisión de 9 bits de datos. - Para finalizar la transmisión se envía un bit de STOP. A diferencia
del bit de START nos encontramos con un nivel lógico de uno. Generalmente el primer bit transmitido
53
se corresponde con el bit menos significativo. La condición de START señala al receptor que la
transmisión de un carácter se ha iniciado.
Si se emplea bit de paridad este se transmitirá al final de los bits de datos. Los siguientes bits (uno o
dos) siempre presentan un estado lógico alto y se corresponden con los bits de STOP. Estos indican
al dispositivo receptor que la transmisión del carácter ha finalizado. Dado que siempre hay, como
mínimo, un bit de START con nivel bajo y un bit de STOP con nivel bajo, nos garantizamos al menos
dos cambios de la señal entre cada carácter. De esta manera se asegura la correcta comunicación entre
dispositivos.
3.11.4. Bloques generales que componen la UART
La UART se compone principalmente de dos bloques. Un transmisor y un receptor. Dependiendo de
la UART podemos encontrar distintos bloques que la componen pero estos son propios de cualquier
UART.
Figura 27. Transmisión y recepción
Fuente:http://www.embedded.com/design/other/4025995/Implementing-your-MCU-based-system-sserial-
UART-in-software
En la figura anterior podemos apreciar un carácter enviado por el transmisor y otro que detecta el
receptor. Estos dos bloques se describen en los siguientes apartados.
54
3.11.5. Receptor
Todas las operaciones realizadas por el hardware de la UART son comandadas por un reloj cuya
frecuencia es múltiplo de la velocidad de transmisión de los bits, típicamente 8 veces el bit rate aunque
se permiten otras velocidades. El receptor comprueba el estado de la línea de entrada en cada pulso
de reloj, esperando el comienzo marcado por el bit de START. Una vez finalizado el bit de START
el estado de la línea es muestreado y el resultado se introduce en un registro con desplazamiento. Una
vez que se han transmitido todos los bits de datos, el contenido del registro de desplazamiento está
en disposición del sistema. La UART tiene la opción de activar un flag indicando que hay un nuevo
dato disponible. Además, algunas UARTs implementadas en sistemas embebidos pueden generar una
interrupción en el procesador que permita la transferencia de los datos recibidos. La comunicación
UART no tiene ninguna forma de transmitir una cierta temporización más allá de las líneas de
transmisión de datos. Frecuentemente, la UART resincroniza su reloj interno en cada cambio de byte.
Dado que se sincroniza de esta manera, El receptor confía en que la transmisión de datos sea al bit
rate previamente acordado. Por tanto, la UART se sincroniza en el flanco de bajada del bit de START
y después lee en el centro de cada bit de datos que se espera recibir. Este sistema funciona siempre
que la velocidad de los bits transmitidos sea lo suficientemente precisa para que el bit de STOP se
muestra en el centro con una exactitud aceptable. Está bastante estandarizado que la UART almacene
un carácter mientras recibe el siguiente. Este “doble buffer” permite a un receptor tener todo el tiempo
que se emplea para transmitir un carácter, para poder leer otro carácter ya recibido. Muchas UARTs
presentan una pequeña memoria FIFO entre el receptor y la interfaz del dispositivo que utiliza los
datos. Esto le otorga más tiempo al equipo que incorpora la UART para generar una interrupción y
así asegurar que no se pierda ningún dato recibido.
3.11.6. Transmisor
La forma de operar para la transmisión de datos es más simple que la recepción. Tan pronto como se
escribe un carácter en el registro con desplazamiento, se genera un bit de START. A continuación, el
registro con desplazamiento va transmitiendo los bits a la línea de salida en concordancia con el bit
rate preestablecido. Para concluir se transmite el bit de paridad de forma opcional y el bit de STOP.
Como la transmisión de un único carácter puede durar un tiempo considerable en comparación con
la velocidad de una CPU, la UART mantendrá un flag activo. Este flag indica que la UART está
55
ocupada y que, por tanto, el sistema no debe depositar un nuevo bit en el transmisor hasta que la
transmisión anterior se complete
3.12. SPI (Serial Peripherical Interface )
El documento (Protocolo SPI (Serial Peripherical Interface, Teoría y Aplicaciones, Eric López
Pérez, México Distrito federal) [19] aborda el SPI brindando su definición y explicación general.
SPI es un bus de tres líneas, sobre el cual se transmiten paquetes de información de 8 bits. Cada una
de estas tres líneas porta la información entre los diferentes dispositivos conectados al bus. Cada
dispositivo conectado al bus puede actuar como transmisor y receptor al mismo tiempo, por lo que
este tipo de comunicación serial es full duplex. Dos de estas líneas transfieren los datos (una en cada
dirección) y la tercera línea es la del reloj. Algunos dispositivos solo pueden ser transmisores y otros
solo receptores, generalmente un dispositivo que transmite datos también puede recibir. Un ejemplo
podría ser una memoria EEPROM, el cual es un dispositivo que puede transmitir y recibir
información. Los dispositivos conectados al bus son definidos como maestros y esclavos. Un maestro
es aquel que inicia la transferencia de información sobre el bus y genera las señales de reloj y control.
Un esclavo es un dispositivo controlado por el maestro. Cada esclavo es controlado sobre el bus a
través de una línea selectora llamada Chip Select o Select Slave, por lo tanto, es esclavo es activado
solo cuando esta línea es seleccionada. Generalmente una línea de selección es dedicada para cada
esclavo. En un tiempo determinado T1, sólo podrá existir un maestro sobre el bus. Cualquier
dispositivo esclavo que no esté seleccionado, debe deshabilitarse (ponerlo en alta impedancia) a través
de la línea selectora (chip select).
El bus SPI emplea un simple registro de desplazamiento para transmitir la información.
Especificaciones del Bus Todas las líneas del bus transmiten la información sobre una sola dirección.
La señal sobre la línea de reloj (SCLK) es generada por el maestro y sincroniza la transferencia de
datos. La línea MOSI (Master Out Slave In) transporta los datos del maestro hacia el esclavo. La línea
MISO (Master In Slave Out) transporta los datos del esclavo hacia el maestro.
56
Figura 28. SPI Master y Slaves
Cada esclavo es seleccionado por un nivel lógico bajo (‘0’) a través de la línea (CS = Chip Select o
SS Slave Select). Los datos sobre este bus pueden ser transmitidos a una razón de casi cero bits
/segundo hasta 1 Mbits/ segundo. Los datos son transferidos en bloques de 8 bits, en donde el bit
más significativo (MSB) se transmite primero.
Modos del Reloj
Toda la transferencia de los datos, son sincronizados por la línea de reloj de este bus. Un BIT es
transferido por cada ciclo de reloj. La mayoría de las interfaces SPI tienen 2 bits de configuración,
llamados CPOL (Clock Polarity = Polaridad de Reloj) y CPHA (Clock Phase = Reloj de Fase).
CPOL determina si el estado Idle de la línea de reloj está en bajo (CPOL=0) o si se encuentra en un
estado alto (CPOL=1). CPHA determina en qué filo de reloj los datos son desplazados hacia dentro
o hacia fuera. (Si CPHA=0 los datos sobre la línea MOSI son detectados cada filo de bajada y los
datos sobre la línea MISO son detectados cada filo de subida). Cada BIT tiene 2 estados, lo cual
permite 4 diferentes combinaciones, las cuales son incompatibles una de la otra. Por lo que, si dos
dispositivos SPI desean comunicarse entre sí, estos deben tener el mismo la misma Polaridad de
Reloj (CPOL) y la misma Fase de Reloj (CPHA).
57
Existen cuatro modos de reloj definidos por el protocolo SPI, estos modos son:
• Modo A
• Modo B
• Modo C
• Modo D
Estos determinan el valor de la polaridad del reloj (CPOL = Clock Polarity) y el bit de fase del reloj
(CPHA = Clock Phase). La mayoría de los dispositivos SPI pueden soportar al menos 2 modos de
los 4 antes mencionados. Los diferentes modos son ilustrados a continuación.
El BIT de Polaridad del reloj determina el nivel del estado de Idle del reloj y el BIT de Fase de reloj
determina que flanco recibe un nuevo dato sobre el bus. El modo requerido para una determinada
aplicación está dado por el dispositivo esclavo. La capacidad de multi-modo combinada con un simple
registro de desplazamiento hace que el bus SPI sea muy versátil.
Polaridad del reloj (CPOL=Clock Polarity)
Si CPOL está en un 0 lógico y ningún dato está siendo transferido (Estado Idle), el maestro mantiene
la línea SCLK en bajo. Si CPOL está en un 1 lógico, el maestro desocupa la línea SCLK alta.
Fase Del Reloj (CPHA)
CPHA, juntamente con CPOL, controlan cuando los nuevos datos son colocados en el bus. Si CPHA
es igual a un ‘1’ lógico, los datos son desplazados sobre la línea MOSI según lo determinado por el
valor de CPOL.
Para CPHA = 1:
Si CPOL = 1, los nuevos datos son colocados sobre la línea cuando el flanco del reloj es descendente
y se leen cuando el flanco del reloj es ascendente.
Si CPOL = 0, los nuevos datos se ponen en la línea cuando el flanco del reloj es ascendente y se leen
cuando el reloj tiene un flanco descendente.
58
Si CPHA = 0, el reloj de cambio es la OR de SCLK con la terminal Chip Select. Tan pronto como el
terminal Chip Select se coloca en un nivel lógico 0, los nuevos datos se ponen en la línea y el primer
filo de del reloj se leen los datos. Si CPOL se activa a un nivel lógico ‘1’, el primer borde de reloj
baja y los bits de datos subsecuentes se leen en cada filo de bajada sobre la línea de reloj. Cada nuevo
bit se pone en la línea cuando el reloj tiene un flanco ascendente de Reloj.
Si CPOL es cero, el primer filo de reloj ascendente y los bits de datos subsecuentes se leen en cada
filo ascendente de reloj. Cada nuevo bit se coloca en la línea cuando el filo del reloj baja. En resumen,
Si CPHA=1, la transferencia (datos válidos leídos por el receptor) comienza en el segundo filo de
reloj.
Si CPHA=0, la transferencia comienza en el primer filo de reloj. Todas las transferencias
subsecuentes dentro del byte ocurren en cada filo de reloj.
Véase las siguientes figuras, en todos los casos, los datos se leen a la mitad del ciclo de reloj después
de que se ponen en la línea de datos.
Figura 29. Modo A del SPI
60
3.13. nRF24L01
La siguiente información fue tomada de la hoja de datos (Single chip 2.4 GHz Transceiver nRF24L01,
Nordic semiconductor) [20].
El nRF24L01 + es un transceptor de 2.4GHz de un solo chip con un motor de protocolo de banda
base incorporado (Enhanced ShockBurst ™), adecuado para aplicaciones inalámbricas de ultra baja
potencia. El nRF24L01 + está diseñado para operar en la banda de frecuencia ISM mundial a 2.400 -
2.4835 GHz.
Para diseñar un sistema de radio con el nRF24L01 +, simplemente necesita un MCU
(microcontrolador) y algunos dispositivos externos y componentes pasivos finales.
Puede operar y configurar el nRF24L01 + a través de una interfaz de periféricos en serie (SPI). El
registro map, al que se puede acceder a través del SPI, contiene todos los registros de configuración
en nRF24L01 + y es accesible en todos los modos de operación del chip. El motor de protocolo de
banda base integrado (Enhanced ShockBurst ™) se basa en la comunicación de paquetes y admite
varios modos, desde operación manual hasta operación avanzada de protocolo autónomo. Interno
Los FIFO aseguran un flujo de datos fluido entre el front-end de la radio y la MCU del sistema.
Choque mejorado Burst ™ reduce el costo del sistema al manejar todas las operaciones de capa de
enlace de alta velocidad.
La interfaz de radio utiliza la modulación GFSK. Tiene parámetros configurables por el usuario como
el canal de frecuencia, potencia de salida y velocidad de datos de aire. nRF24L01 + admite una
velocidad de transmisión de datos de 250 kbps, 1 Mbps y 2Mbps. los
Las altas velocidades de datos de aire combinada con dos modos de ahorro de energía hacen que el
nRF24L01 + sea muy adecuado para ultra bajo diseños de poder.
61
3.13.1. Características del nRF24L01
Las características del nRF24L01 + incluyen:
• Radio
Operación mundial de banda ISM de 2.4GHz
126 canales de RF
Interfaz RX y TX común
modulación GFSK
250 kbps, velocidad de datos aéreos de 1 y 2 Mbps
espaciado de canal no superpuesto de 1MHz a 1Mbps
espaciado de canal no superpuesto de 2MHz a 2Mbps
• Transmisor
Potencia de salida programable: 0, -6, -12 o -18dBm
11.3mA a 0dBm de potencia de salida
• Receptor
Fast AGC para un rango dinámico mejorado
Filtros de canal integrados
13.5mA a 2Mbps
Sensibilidad -82dBm a 2Mbps
Sensibilidad -85dBm a 1Mbps
Sensibilidad -94dBm a 250 kbps
• Sintetizador de RF
sintetizador totalmente integrado
Sin archivador de bucle externo, diodo varactor VCO o resonador
Acepta bajo costo ± 60ppm 16MHz crystal
• ShockBurst ™ mejorado
1 a 32 bytes de longitud de carga dinámica
Manejo automático de paquetes
62
Manejo automático de transacciones de paquetes
6 data pipe MultiCeiver ™ para redes en estrella 1: 6
• Administración de energía
Regulador de voltaje integrado
Rango de suministro 1.9 a 3.6V
Modos inactivos con tiempos de arranque rápidos para una administración de energía
avanzada
26 µA Modo de espera-I, modo de apagado 900nA
Max 1.5ms de arranque desde el modo de apagado
Arranque X Max 130us desde el modo de espera I
• Interfaz de host
SPI de hardware de 4 pines
Max 10 Mbps
3 FIFO separados de 32 bytes TX y RX
Entradas tolerantes a 5V
• Paquete compacto de 20 pines 4x4 mm QFN
Figura 32. Datos de referencia rápida del nRF24l01.
63
Figura 33. Diagrama de bloques del nRF24l01.
3.14. Modulación y demodulación
La siguiente explicación a la modulación y demodulación de señales se toma del libro (Sistemas de
comunicaciones electrónicas, Wayne Tomasi, 2003) [1].
Como a menudo no es práctico propagar señales de información a través de cables metálicos o de
fibra óptica, o a través de la atmósfera terrestre, con frecuencia es necesario modular la información
de la fuente, con una señal analógica de mayor frecuencia, llamada portadora. En esencia, la señal
portadora transporta la información a través del sistema. La señal de información modula a la
portadora, cambiando su amplitud, su frecuencia o su fase. Modulación no es más que el proceso de
cambiar una o más propiedades de la portadora, en proporción con la señal de información.
Los dos tipos básicos de comunicaciones electrónicas son analógico y digital. Un sistema analógico
de comunicaciones es aquel en el cual la energía se transmite y se recibe en forma analógica: una
señal de variación continua, como por ejemplo una onda senoidal. En los sistemas analógicos de
comunicaciones, tanto la información como la portadora son señales analógicas.
64
Sin embargo, el término comunicaciones digitales abarca una amplia variedad de técnicas de
comunicación, que incluyen transmisión y radio digitales. La transmisión digital es un sistema digital
verdadero, donde los pulsos digitales (con valores discretos, como +5V y tierra) se transfieren entre
dos o más puntos en un sistema de comunicaciones. Con la transmisión digital no hay portadora
analógica, y la fuente original de información puede tener forma digital o analógica. Si está en forma
analógica se debe convertir a pulsos digitales antes de transmitirla, y se debe reconvertir a la forma
analógica en el extremo de recepción. Los sistemas de transmisión digital requieren una instalación
física entre el transmisor y el receptor, como por ejemplo un conductor metálico o un cable de fibra
óptica.
La radio digital es la transmisión de portadoras analógicas moduladas digitalmente, entre dos o más
puntos en un sistema de comunicaciones. En la radio digital, la señal moduladora y la señal
demodulada son pulsos digitales. Estos pulsos se pueden originar en un sistema digital de transmisión,
en una fuente digital, como por ejemplo una computadora, o pueden ser una señal analógica
codificada en binario. En los sistemas digitales de radio, el medio de transmisión puede ser una
instalación física o el espacio libre (es decir, la atmósfera terrestre). Los sistemas analógicos de
comunicaciones fueron los primeros en ser desarrollados; sin embargo, en tiempos recientes, se han
popularizado más los sistemas digitales de comunicaciones.
La ecuación a continuación es la descripción general de una onda senoidal de voltaje, variable en el
tiempo, como puede ser una señal portadora de alta frecuencia. Si la señal de información es
analógica, y la amplitud (V) de la portadora es proporcional a ella, se produce la modulación de
amplitud (AM, por amplitude modulation). Si se varía la frecuencia (f) en forma proporcional a la
señal de información, se produce la modulación de frecuencia (FM, de frequency modulation); por
último, si se varía la fase (Φ) en proporción con la señal de información, se produce la modulación
de fase (PM, de phase modulation).
Si la señal de información es digital, y la amplitud (V) de la portadora se varía proporcionalmente a
la señal de información, se produce una señal modulada digitalmente, llamada modulación por
conmutación de amplitud (ASK, de amplitude shift keying). Si la frecuencia (f) varía en forma
proporcional a la señal de información se produce la modulación por conmutación de frecuencia
(FSK, de frequency shift keying), y si la fase (Φ) varía de manera proporcional a la señal de
información, se produce la modulación por conmutación de fase (PSK, de phase shift keying). Si se
varían al mismo tiempo la amplitud y la fase en proporción con la señal de información, resulta la
65
modulación de amplitud en cuadratura (QAM, de quadrature amplitude modulation). Los sistemas
ASK, FSK, PSK y QAM son formas de modulación digital.
v(t)=V sen (2πft + Φ)
Donde
v(t) = onda de voltaje que varía senoidalmente en el tiempo
V = máxima amplitud (volts)
f = frecuencia (Hertz)
Φ = fase (radianes)
A continuación, se muestra un resumen de las diversas técnicas de modulación
Figura 34. Técnicas de modulación
La modulación se hace en un transmisor mediante un circuito llamado modulador. Una portadora
sobre la que ha actuado una señal de información se llama onda modulada o señal modulada.
La demodulación es el proceso inverso a la modulación, y reconvierte a la portadora modulada en la
información original (es decir, quita la información de la portadora). La demodulación se hace en un
receptor, con un circuito llamado demodulador.
66
Hay dos razones por las que la modulación es necesaria en las comunicaciones electrónicas:
1) Es en extremo difícil irradiar señales de baja frecuencia en forma de energía electromagnética, con
una antena, y 2) ocasionalmente, las señales de la información ocupan la misma banda de frecuencias
y si se transmiten al mismo tiempo las señales de dos o más fuentes, interferirán entre sí. Por ejemplo,
todas las estaciones comerciales de FM emiten señales de voz y música que ocupan la banda de
audiofrecuencias, desde unos 300 Hz hasta 15 kHz. Para evitar su interferencia mutua, cada estación
convierte a su información a una banda o canal de frecuencia distinto. Se suele usar el término canal
para indicar determinada banda de frecuencias asignada a determinado servicio. Un canal normal de
banda de voz ocupa más o menos 3 kHz de ancho de banda, y se usa para transmitir señales como las
de voz; los canales comerciales de emisión en AM ocupan una banda de frecuencias de 10 kHz, y en
los canales de radio de microondas y vía satélite se requiere un ancho de banda de 30 MHz o más.
Figura 35. Diagrama de bloques de un sistema de comunicaciones
La ilustración -35 es el diagrama simplificado de bloques de un sistema electrónico de
comunicaciones, donde se ven las relaciones entre la señal moduladora, la portadora de alta frecuencia
y la onda modulada. La señal de información (que a veces se llama en inglés señal de inteligencia) se
combina con la portadora en el modulador, y se produce la onda modulada. La información puede
estar en forma analógica o digital, y el modulador puede efectuar modulación analógica o digital. En
el transmisor se hace una conversión elevadora de las señales de información, de bajas frecuencias a
altas frecuencias, y se hace una conversión descendente en el receptor, de altas frecuencias a bajas
67
frecuencias. El proceso de convertir una frecuencia, o banda de frecuencias, y pasarla a otro lugar en
el espectro total de frecuencias, se llama translación de frecuencia.
La traslación de frecuencia es una parte intrincada de las comunicaciones electrónicas, porque se
deben hacer muchas veces las conversiones elevadoras y descendentes cuando se transportan a través
del sistema llamado canal. La señal modulada se transporta hasta el receptor a través de un sistema
de transmisión. En el receptor se amplifica la señal modulada, se convierte en frecuencia menor y a
continuación se demodula, para reproducir la información original de la fuente.
3.14.1. Técnicas de modulación digital con portadora modulada
Dentro de las técnicas de modulación digital con portadora modulada nos encontramos con José E.
Briceño Márquez, (2012) [21] dónde ubica estas dentro de las técnicas combinadas de modulación, a
partir del encontramos:
Generalmente las señales de datos de terminales digitales no se transmiten a gran distancia en la forma
de señal de banda base, es decir, tal como se generan, sino que se transmiten en forma de una señal
modulada en forma analógica. Los impulsos o dígitos binarios modulan una portadora sinusoidal con
frecuencia es compatible con el medio de transmisión utilizado; este tipo de transmisión se denomina
“Transmisión Binaria mediante Portadora Modulada”. La modulación digital se realiza en un
dispositivo denominado “MÓDEM” en el cual los dígitos binarios modulan la amplitud, la frecuencia
o la fase de una señal sinusoidal, la portadora.
Las formas básicas de la modulación binaria mediante portadora modulada son:
1. La modulación Binaria de amplitud (Amplitude-Shift Keying, ASK)
2. La modulación Binaria de Frecuencia (Frequency-Shift Keying, FSK)
3. La modulación Binaria de Fase (Phase-Shift Keying, PSK)
4. La modulación Binaria Diferencial de Fase (Differential PSK,DPSK)
68
3.14.2. Modulación GFSK
Tomado de (Redes de Área Local Inalámbricas: Diseño de la WLAN de Wheelers Lane Technology
College,. José Anguís, José Bueno, Ingeniería de Telecomunicación Dpto. de Teoría de la Señal y
Comunicaciones Escuela Superior de Ingenieros Universidad de Sevilla Marzo de 2008) [22]
GFSK (Gaussian Frequency Shift Keying).
GFSK o modulación por desplazamiento de frecuencia gaussiana corresponde a la modulación usada
por FHSS. En ésta un 1 lógico es representado mediante un incremento de la frecuencia de la
portadora, y un 0 mediante un decremento de la misma. GFSK es una versión mejorada de la
modulación por desplazamiento de frecuencia (FSK). La G de gaussiano se refiere a la forma del
pulso que se utiliza para su transmisión: la información es pasada por un filtro gaussiano antes de
modular la señal. Esto se traduce en un espectro de energía más estrecho de la señal modulada, lo que
permite que haya otros usuarios, reduciéndose así la probabilidad de interferirse entre ellos. Entre las
variedades de esta modulación usadas por FHSS encontramos dos, 2GFSK y 4GFSK. La
implementación más básica de GFSK es 2GFSK (de dos niveles). Esta utiliza dos frecuencias
diferentes para transmitir un uno o un cero. Para transmitir un 1 la frecuencia de la portadora se
incrementará en un cierto valor; mientras que para la codificación de un 0 simplemente se transmitirá
la portadora sin ningún incremento. La representación de esto lo podemos ver en la siguiente figura,
en la que se muestra como sería la señal para la representación de un símbolo uno y la señal para la
representación de un símbolo cero. Con 2GFSK se consiguen tasas de hasta 1 Mbps.
Figura 36. Señales 2-GFSK
69
Para poder enviar más datos tenemos dos posibilidades, usar una tasa de símbolos mayor o codificar
más bits por símbolo. La modulación 4GFSK (GFSK de cuatro niveles) opta por usar cuatro símbolos
en lugar de dos, así consigue codificar más bits por símbolo. Los cuatro símbolos son 00, 01, 10 y 11,
ahora tenemos dos bits empaquetados por símbolo. Cada uno corresponde a una cierta frecuencia
discreta. Se tiene así una tasa de datos de hasta 2 Mbps. La representación de los cuatro símbolos en
frecuencia se muestra en la siguiente figura.
Figura 37. Señales 4-GFSK
3.15. Receptor
3.15.1. Descripción general
Como punto de referencia y de bases para el desarrollo del proyecto se tiene en cuenta el documento
de Shure al respecto (selection and operation of wireless microphone systems) (2017) [6], escrito por
Tim Vear, ingeniero de dicha empresa que es una de las pioneras en desarrollo de sistemas
inalámbricos para instrumentos musicales y micrófonos.
Al igual que los transmisores, los receptores pueden variar mucho en ensamblaje, pero en el interior
deben lograr un objetivo común: recibir la señal de radio de manera eficiente y convertirla en una
salida de señal de audio adecuada.
70
Figura 38. Diagrama de bloques general de un receptor. Fuente: Vear, Tim (2017) Selection and Operation of
Wireless microphone systems, Shure.
3.15.2. Receptor: Circuitos de audio
Un receptor totalmente digital también implementa un proceso "complementario" que reconstruye la
señal de audio original. Está el proceso comienza con un flujo de valores discretos provenientes de el
paso de demodulación. Esta secuencia de datos eventualmente pasa a través de un convertidor digital
a analógico (DAC) que vuelve a generar la señal de audio original. Finalmente, un amplificador de
salida suministra la señal de audio con las características necesarias (nivel e impedancia) para la
conexión a un dispositivo externo como una entrada de mezclador, un grabador, auriculares, etc. Por
lo general, los mejores receptores incluirán una salida balanceada que se puede cambiar entre nivel
de línea y nivel de micrófono. Las salidas desbalanceadas también se disponen de vez en cuando.
71
3.16. DAC (Conversor digital-analógico)
La siguiente información sobre el DAC se obtiene del libro (tratamiento y procesamiento de señales
digitales, John G.Proakis, Dimitris G.Manolakis ,2007) [13].
En muchos casos prácticos (por ejemplo, el procesamiento de voz) es deseable convertir las señales
digitales procesadas a formato analógico. Obviamente, no es posible escuchar la secuencia de
muestras que representa una señal de voz o ver los dígitos correspondientes a una señal de TV. El
proceso de conversión de una señal digital en una señal analógica se conoce como conversión digital-
analógica (D/A). Todos los convertidores D/A “conectan los puntos” de una señal digital realizando
alguna clase de interpolación, cuya precisión depende de la calidad del proceso de conversión D/A.
Figura 39. Conversión digital-analógica (D/A) con retención de orden cero.
La ilustración-39 muestra un método simple de conversión D/A, denominado aproximación mediante
escalones o mediante retención de orden cero. Existen otras aproximaciones, como por ejemplo la
conexión lineal de una pareja de muestras sucesivas (interpolación lineal), el ajuste de una función
72
cuadrática a través de tres muestras sucesivas (interpolación cuadrática), etc. El muestreo no da lugar
a una pérdida de información, es decir, no introduce distorsión en la señal si el ancho de banda de la
señal es finito. En principio, la señal analógica puede reconstruirse a partir de las muestras, siempre
y cuando la tasa de muestreo sea lo suficientemente alta como para evitar el problema generalmente
conocido como aliasing.
Por el contrario, la cuantificación es un proceso no reversible que distorsiona la señal. La cantidad de
distorsión es dependiente de la precisión, determinada por el número de bits del proceso de conversión
A/D. Los factores que afectan a la elección de la precisión deseada del convertidor A/D son el coste
y la frecuencia de muestreo. En general, el coste aumenta cuando aumenta la precisión y/o la
frecuencia de muestreo. Para convertir una señal digital en una señal analógica podemos utilizar un
convertidor digital-analógico (D/A). La tarea de un convertidor D/A consiste en interpolar entre
muestras.
El teorema de muestreo especifica la interpolación óptima para una señal de banda limitada. Sin
embargo, este tipo de interpolación es demasiado compleja y, por tanto, poco práctica, como ya hemos
comentado anteriormente. Desde un punto de vista práctico, el convertidor D/A más sencillo es el
retenedor de orden cero mostrado en la ilustración-39 el cual simplemente conserva (retiene) el valor
constante de una muestra hasta que se recibe la siguiente.
Utilizando la interpolación lineal puede obtenerse una mejor interpolación, como se muestra en la
Figura 40 conectando las muestras sucesivas mediante segmentos de línea recta. Se puede conseguir
una mejor interpolación utilizando técnicas de interpolación más sofisticadas de orden superior. En
general, las técnicas de interpolación subóptimas dejan pasar frecuencias por encima de la frecuencia
de solapamiento. Tales componentes de frecuencia no son deseables y normalmente se eliminan
haciendo pasar la salida de la interpolación a través del apropiado filtro analógico, el cual se denomina
post-filtro o filtro de suavizado. Por tanto, normalmente, la conversión D/A implica el uso de un
interpolador subóptimo seguido de un post-filtro.
73
Figura 40. Conector lineal de puntos (con un retardo de T segundos).
3.17. PSoC 5LP
La siguiente información sobre el PSoC 5LP y su entorno de desarrollo PSoC Creator es extraída del
documento (PSoC® 5LP: CY8C58LP Family Datasheet: Programmable System-on-Chip (PSoC®).pdf)
[23].
3.17.1 Descripción general
PSoC® 5LP es un verdadero sistema integrado en chip programable, que integra periféricos, memoria
y dispositivos analógicos y digitales configurables.
Un microcontrolador en un solo chip. La arquitectura PSoC 5LP aumenta el rendimiento a través de:
Core Core Arm Cortex-M3 de 32 bits más controlador DMA y procesador de filtro digital,
hasta 80 MHz
Ultra baja potencia con el rango de voltaje más amplio de la industria
Los periféricos digitales y analógicos programables permiten funciones personalizadas
Enrutamiento flexible de cualquier función periférica analógica o digital a cualquier pin
74
Los dispositivos PSoC emplean una arquitectura de sistema en chip altamente configurable para el
diseño de control integrado. Se integran circuitos analógicos y digitales configurables, controlados
por un microcontrolador en chip. Un solo dispositivo PSoC puede integrar hasta 100 digitales y
analógicas funciones periféricas, que reducen el tiempo de diseño, el espacio de la placa, el consumo
de energía y el costo del sistema al tiempo que mejoran la calidad del sistema.
3.17.2. Características
Características de funcionamiento
Rango de voltaje: 1.71 a 5.5 V, hasta 6 dominios de potencia
Rango de temperatura (ambiente): –40 a 85 ° C
Partes de temperatura extendida: –40 a 105 ° C
Operación de CC a 80 MHz
Modos de potencia:
• Modo activo 3.1 mA a 6 MHz y 15.4 mA a 48 MHz
• Modo de suspensión de 2 µA
• Modo de hibernación de 300 nA con retención de RAM
Rendimiento
CPU Arm Cortex-M3 de 32 bits, 32 entradas de interrupción
Controlador de acceso directo a memoria (DMA) de 24 canales
Procesador de filtro digital de punto fijo de 64 bits y 24 bits (DFB)
Memoria
Flash de programa de hasta 256 KB, con características de caché y seguridad
Flash adicional de hasta 32 KB para el código de corrección de errores (ECC)
Hasta 64 KB de RAM
2 KB EEPROM
Periféricos digitales
Cuatro bloques de temporizador, contador y PWM (TCPWM) de 16 bits
I^2C, velocidad de bus de 1 Mbps
75
Interfaz periférica de 12 Mbps de alta velocidad (FS) con certificación USB 2.0 (TID
# 10840032) utilizando un oscilador interno
Full CAN 2.0b, 16 Rx, 8 Tx buffers
20 a 24 bloques digitales universales (UDB), programables para crear cualquier
número de funciones:
Temporizadores, contadores y PWM de 8, 16, 24 y 32 bits.
Interfaces I2C, UART, SPI, I2S, LIN 2.0
Verificación de redundancia cíclica (CRC)
Generadores de secuencia pseudoaleatoria (PRS)
Decodificadores en cuadratura
Funciones lógicas a nivel de puerta
Reloj programable
Oscilador interno de 3 a 74 MHz, 1% de precisión a 3 MHz
Oscilador de cristal externo de 4 a 25 MHz
Generación de reloj PLL interno hasta 80 MHz
Oscilador interno de baja potencia a 1, 33 y 100 kHz
Oscilador de cristal de reloj externo de 32.768 kHz
12 divisores de reloj enrutables a cualquier periférico o E / S
Periféricos analógicos
ADC delta-sigma configurable de 8 a 20 bits
Hasta dos ADC SAR de 12 bits
Cuatro DAC de 8 bits
Cuatro comparadores
Cuatro op amps
Cuatro bloques analógicos programables, para crear:
• Amplificador de ganancia programable (PGA)
Amplificador de transimpedancia (TIA)
Mezclador
76
o Sistema de E / S versátil
46 a 72 pines de E / S: hasta 62 E / S de propósito general (GPIO)
Hasta ocho pines de E / S de rendimiento (SIO)
sumidero de corriente de 25 mA
Umbral de entrada programable y altos voltajes de salida
Puede actuar como un comparador de propósito general
Capacidad de intercambio en caliente y tolerancia a sobretensión
Dos pines USBIO que se pueden usar como GPIO
Dirija cualquier periférico digital o analógico a cualquier GPIO
Unidad directa LCD desde cualquier GPIO, hasta 46 × 16 segmentos
Soporte CapSense de cualquier GPIO
Voltajes de interfaz de 1.2 V a 5.5 V, hasta cuatro dominios de potencia
o Programación, depuración y rastreo
JTAG (4 hilos), depuración de hilos en serie (SWD) (2 hilos), visor de un solo
cable (SWV) e interfaces Traceport (5 hilos)
Arm (debug y trace) módulos integrados en el núcleo de la CPU
Programación del cargador de arranque a través de I2C, SPI, UART, USB y
otras interfaces
o Soporte de desarrollo con la herramienta gratuita PSoC Creator ™
Soporte de diseño esquemático y de firmware
Más de 100 PSoC Components ™ integran múltiples circuitos integrados e
interfaces del sistema en un solo PSoC. Los componentes son circuitos
integrados integrados gratuitos representados por iconos. Arrastre y suelte
iconos de componentes para diseñar sistemas en PSoC Creator.
Incluye compilador GCC gratuito, admite compilador Keil / Arm MDK
Admite la programación y depuración de dispositivos
77
Figura 41. Diagrama de bloques simplificado del PSoC 5LP.
3.17.3. PSoC Creator
PSoC Creator es un entorno de diseño integrado (IDE) gratuito basado en Windows. Permite el diseño
concurrente de hardware y firmware de los sistemas basados en PSoC 3, PSoC 4 y PSoC 5LP. Cree
diseños utilizando la captura de esquemas clásica y familiar con el apoyo de más de 100 componentes
PSoC pre verificados y listos para producción; vea la lista de hojas de datos de componentes. Con
PSoC Creator, puedes:
78
Figura 42. Ejemplo de proyecto en PSoC Creator.
1. Arrastre y suelte iconos de componentes para construir su hardware
Diseño del sistema en el espacio de trabajo de diseño principal
2. Codifique el firmware de su aplicación con el hardware PSoC, utilizando el compilador PSoC
Creator IDE C
3. Configure los componentes usando las herramientas de configuración
4. Explore la biblioteca de más de 100 componentes
5. Revisar hojas de datos de componentes
79
CAPÍTULO 4. METODOLOGÍA
La presente propuesta consiste en un diseño experimental. Para concretar, se proponen cuatro fases
principales, a partir de las cuales se construyen momentos particulares en el proceso de diseño e
implementación.
Como puede verse en la figura 43, las cuatro grandes fases del proyecto son: revisión teórica, diseño,
montaje y pruebas e implementación. Todas ellas sobre la base de una revisión teórica permanente
que asegure contar con las definiciones y posiciones técnicas adecuadas.
Figura 43. Mapa mental metodológico. Fuente: Autores.
80
La fase de diseño incluye los cálculos, la construcción de diagramas y las simulaciones para
transmisor, receptor y procesador de efectos; la fase de montaje, incluye la articulación de los
circuitos integrados (CI), las placas requeridas, y la programación del sistema completo; por último
la fase de pruebas e implementación, se refiere a la comprobación del funcionamiento del proyecto
bajo las condiciones de operación, para verificar, mediante instrumentos de medida, los valores
correspondientes al cumplimiento de los niveles óptimos de funcionamiento en los espacios donde
posiblemente operaría el sistema.
81
CAPÍTULO 5. DESARROLLO
En este apartado se describe de forma detallada el proceso que se lleva a cabo para la elaboración del
sistema de comunicaciones electrónicas (RF) con procesamiento digital (filtros) en tiempo real. De
forma general esta descripción aborda los 4 subsistemas (acondicionamiento, transmisor, app móvil,
receptor) que en cascada conforman el sistema. Para cada subsistema, exceptuando el acondicionador,
se explica de manera precisa la configuración de los componentes dentro del software PSoC Creator
4.2 (ADC, FIR, UART, SPI, Nrf24l01, DAC) que lo componen.
5.1. Acondicionador de la señal analógica
Debido a que la mayoría de las señales de salida en los instrumentos musicales varían entre voltajes
positivos y negativos es necesario realizar un acondicionamiento a la entrada del transmisor para estar
dentro del rango del cuantificador. El rango del cuantificador es de vssa hasta vdda, equivalente a 0v
y 5v respectivamente, por lo cual es necesario agregar un nivel dc a la señal de salida del instrumento
musical.
El siguiente circuito permite agregar un nivel DC a nuestra señal analógica de entrada, es un sumador
no inversor, con ganancia de 2.5. La impedancia de salida de una guitarra eléctrica está en el orden
de los 10 kΩ, la impedancia de entrada del amplificador es muy alta respecto a esta por ende se da
una buena adaptación de impedancia.
El generador envía una señal sinusoidal con amplitud de 2v que representa la señal de salida del
instrumento musical en máximas condiciones con el fin de ver la salida del A.O y concluir si
sobrepasa o no el rango del cuantificador.
La ecuación que modela el voltaje de salida para la configuración sumador no inversor es la siguiente, con n
igual a 2, R´ igual 150kΩ y R igual 100kΩ.
𝑉𝑂 =𝑉𝑎𝑐 + 𝑉𝐷𝐶
2∗ 2.5
82
Figura 44. Circuito Acondicionador de la señal de entrada al transmisor.
Si tenemos un voltaje dc de 2 voltios y lo multiplicamos por 1.25, el nivel dc de la señal de salida estará en 2.5
voltios. Si nuestra señal de prueba es una sinusoidal de frecuencia a 1kHz comprendida entre el rango de (-2,2)
voltios la multiplicamos por 1.25 nos da queda dentro de un rango de (-2.5,2.5) voltios, pero debido al nivel dc
quedara entre (0, 5) voltios, evitando voltajes negativos. La siguiente imagen corresponde a la simulación
de la señal de voltaje en la salida del circuito de la figura 44 respecto al tiempo.
Figura 45. Simulación de la señal de salida del acondicionador en condiciones máximas usando Circuitlab.
83
Se evidencia que la señal de salida del acondicionador está dentro del rango de cuantificación del
sistema conversor analógico-digital sigma-delta. Por lo tanto, se iniciará la descripción del sistema
transmisor.
5.2. Sistema Transmisor
El sistema transmisor que se implementa es un conjunto de subsistemas (conversor analógico-digital
delta-sigma, filtro FIR, un UART para la comunicación serial con el bluetooth, y un chip Nrf24 que
realiza la modulación y comunicación digital con el receptor) que tienen como objetivo “convertir la
información de la fuente original en una señal que se preste más a su transmisión en el espacio libre
para transmitir ondas electromagnéticas de radio. “(sistema de comunicaciones electrónicas, cuarta
edición, Wayne tomasi , Devry institute technology ).
En la siguiente imagen se observa el esquema general del transmisor obtenido del archivo
TopDesign.cysch del software PSoC Creator 4.2.
Figura 46. Esquema general del transmisor obtenido del archivo TopDesign.cysch del software PSoC
Creator 4.2.
84
Un conversor analógico-digital encargado de realizar el muestreo y cuantificación de la señal
analógica de entrada para obtener una señal discreta en el tiempo con el fin de realizar operaciones
sobre está como el filtrado y modulación. Se usa un dispositivo UART que realiza una comunicación
de forma serial con el módulo bluetooth. Un Bus SPI (Serial Peripheral Interface) para controlar el
dispositivo electrónico digital (Nrf24) que acepta un flujo de bits serie regulado por un reloj y, por
último, se hace uso de la interfaz gráfica del dispositivo Nrf24 que ofrece la librería
(nRF24_Component-master) y así realizar su configuración. Se subdivide el sistema transmisor en
subsistemas (conversor analógico-digital, filtro digital, UART, Nrf24)
5.2.1. ADC (Conversor analógico-digital)
Para la implementación del conversor analógico digital se seleccionó un tipo delta-sigma. Según el
datasheet (Delta Sigma Analog to Digital Converter (ADC_DelSig) 3.30, empresa Cypress) se
escoge la conversión en modo continúo debido a que sólo se muestrea una señal de entrada y de
manera continua. Debido a que la máxima resolución de bits para un DAC disponible en el PSoC5LP
es de 12 bits, también se escoge 12 bits para el ADC delta sigma.Teniendo en cuenta que para el
espectro audible la frecuencia máxima es 20 KHz, la frecuencia de Nyquist de muestreo mínima es
40 KHz, se escoge 44 KHz según el estándar CD.
En la pestaña Common dentro de la configuración del conversor delta-sigma se encuentra el modo de
entrada (Input mode), para la cual existen dos opciones, Differential y Single ended, como se observa
en la ilustración 47 para la solución del problema se selección “Single ended” puesto que nos permite
elegir un rango de entrada de Vssa hasta Vdda.
Figura 47. Configuración en la pestaña “Common” del ADC.
85
En la siguiente ilustración se observa la característica de entrada-salida para un ADC de 16 bits de
resolución con modo de entrada Single Ended. El acondicionamiento de entrada genera una señal con
un rango de 0v hasta 5v, por ende, el voltaje de referencia seleccionado (Vref) debe estar multiplicado
por N veces para ser igual a Vdda que son 5v.
Figura 48. Característica de entrada-salida para un ADC de 16 bits con modo de entrada Single Ended
Rango de entrada: Se tomó el rango desde Vssa hasta Vdda con lo cual el rango de entrada para la
señal analógica sería de (0-5) v.
Ganancia del buffer: Teniendo en cuenta que el rango de entrada es desde Vssa hasta Vdda se debe
seleccionar una ganancia de 1 según la hoja de datos.
Buffer mode; Rail to Rail
Referencia: Vdda/4, lo que da un Vref (V)= 1.250, lo que nos da un N=4 para la ilustración 38.
86
Todas las especificaciones anteriormente mencionadas para el ADC se observan en la siguiente
ilustración.
Figura 49. Configuración del ADC en la pestaña “Config1”
87
5.2.2. Filtro Digital
Para la implementación de los filtros FIR se hace uso del módulo Filter, el cual posee un asistente
para la generación de los coeficientes según parámetros seleccionados para tipo de filtro (Low Pass,
High pass y Band Pass), clase de filtro (FIR o Biquad), el tipo de Ventaneo, cantidad de etapas y la
frecuencia de corte.
Para fines del proyecto se hace la elección de un filtro FIR, debido a que este sistema discreto en el
tiempo es no recursivo, es decir no posee realimentación, solo depende de las entradas actuales y
pasadas lo que lo hace un sistema con gran estabilidad.
La siguiente imagen es un ejemplo de configuración de un filtro FIR de coeficientes, pasa bajas, con
tipo de ventana rectangular y una frecuencia de corte a 3 KHz. Según la hoja de especificaciones
(PSoC Creator component Datasheet Filter 2.30), la tasa de muestreo configurada no afecta la
operación del hardware, solamente el proceso de diseño de los coeficientes del filtro y la escala de
las gráficas usadas para presentar los resultados. Para una tasa de 20 kHz no es necesaria una gran
cantidad de taps (coeficientes) lo que significa una menor carga de procesamiento, evitando un mayor
retardo. Además, se encuentra una respuesta en frecuencia adecuada, con alta selectividad y sin
generar ganancia a la salida
Figura 50. Configuración de asistente de diseño de filtros de componente Filter
88
La respuesta en frecuencia se presenta en la siguiente ilustración, se obtiene simultáneamente a la
configuración del filtro en la venta del asistente.
Figura 51. Respuesta en frecuencia con Fc=3kHz
89
Figura 52. Configuración para los filtros lowpass FIR a 2 kHz y 1 kHz con su respectiva respuesta en
frecuencia
Al tener el filtro diseñado, generar la aplicación y compilar el programa se genera automáticamente
la carpeta “Filter”.
Se evidencia que dentro de la carpeta “Filter” existe el archivo Filter_Coefficients.c en el cual se
encuentran los 4 taps o coeficientes de la siguiente manera:
90
Se puede ver que claramente que para cada coeficiente hay 4 datos del arreglo
Filter_ChannelAFirCoefficients.
En el archivo Filter_RAM_Data.c se encuentran varios vectores que almacenan datos de
configuración del filtro diseñado, los cuales son: Filter_control, Filter_data_a, Filter_data_b,
Filter_acu y Filter_cfsm.
Para lograr modificar la respuesta del filtro FIR en tiempo real es necesario modificar solo los
coeficientes, por motivos del software PSoC Creator 4.2 los coeficientes sean generados en el canal
A o B quedan dentro del vector Filter_data_b []. En la siguiente imagen se muestran los datos del
vector Filter_data_b [].
Figura 53. Arreglo “Filter_data_b” y sus primeros 24 datos (4 coeficientes)
Al ser los datos (coeficientes del filtro FIR) en el vector Filter_ChannelAFirCoefficients iguales a los
datos del vector Filter_data_b, se concluye que al crear vectores con coeficientes de filtros
predeterminados y sustituyéndolos con el vector de coeficientes en ejecución se puede tener de
manera seleccionable un sistema discreto en el tiempo (filtros FIR). Para esto se crea un archivo
llamado filters.c donde se crean los vectores que contienen los coeficientes para los filtros
prediseñados con el asistente del módulo Filter.
Figura 54. Archivo filters.c.
91
Para el desarrollo de este proyecto se crean 3 filtros low pass a distintas frecuencias de corte, cuyos
coeficientes se guardan en los siguientes vectores.
Por efectos de tamaño de los vectores, en la imagen se colocan los primeros coeficientes.
Para poder implementar los vectores con los coeficientes de los filtros FIR preestablecidos en del
código principal main.c es necesario declararlos en la carpeta Header Files dentro de un archivo
creado al que se denomina main.h.
Figura 55. Archivo main.h.
92
Dentro del main.h se declaran tres vectores con valores enteros constantes con prefijo extern para
usarlos en el fichero principal main.c como se observa en la siguiente imagen.
Figura 56. Código del archivo main.h en PSoC Creator 4.2
En la siguiente imagen se observa el método en PSoC Creator 4.2 que permite cambiar los
coeficientes del filtro FIR en ejecución, por los coeficientes obtenidos por otro filtro a diferente
frecuencia de corte.
Figura 57. Código del método LoadFilter() en PSoC Creator 4.2.
El método llamado LoadFilter está encargado de poner en una posición de registro (DB_RAM) de la
RAM del filtro, un BUS de datos (coeficientes del filtro FIR) asignado en el archivo Filter.h para los
vectores declarados dentro del archivo main.h. Dependiendo del valor de la variable fltr se configura
el bloque Filter con los coeficientes de elección.
93
5.2.3. Bluetooth
El transmisor tiene un módulo bluetooth encargado de realizar la conexión entre un dispositivo celular
y el componente UART del PSoC5LP. El UART recibe los datos transmitidos por el dispositivo
celular conectado al bluetooth, y permite entrar a un método por interrupción de recepción dentro del
código.
Para realizar este procedimiento se usa un componente llamado UART (Transmisor-Receptor
Asíncrono Universal) dentro del software PSoC Creator 4.2, el cual nos permite una comunicación
del tipo serial con el módulo bluetooth hc-05.
Cabe mencionar la configuración de pines del módulo bluetooth hc-05. En la siguiente imagen se
observa.
Figura 58. Modulo Bluetooth HC-05 pines de salida. Tomada de: https://components101.com/wireless/hc-05-
bluetooth-module
Se puede observar que el módulo tiene dos pines correspondientes a la transmisión y recepción, los
cuales deben ir conectados a los pines del PSOC5LP que correspondan a recepción y transmisión del
UART respectivamente.
94
Es necesario realizar la configuración correcta del UART con el fin de una conexión estable y
funcional con el módulo bluetooth. Se selecciona el modo de operación Full UART (TX+RX) para
habilitar los pines de Tx y Rx en el UART. Además, se elige una velocidad de transmisión de 9600
bits por segundo, la cual debe ser igual a la del bluetooth. La configuración se detalla en la siguiente
imagen.
Figura 59. Configuración del UART en PSoC Creator 4.2
95
El componente UART como se observa en la figura 46 posee pines de interrupción, los cuales tienen
como fin entrar en un método de interrupción tan pronto transmita o reciba un dato. El código para la
comunicación entre el UART y el módulo bluetooth se basa en un método por interrupción de
recepción, tan pronto llega un dato la aplicación entra la interrupción llamada int_Rx, y la variable
tipo carácter (char) llamada Dato toma el valor del dato de entrada. Si el valor de entrada corresponde
con uno de los casos (1, 2,3), se valida transmitiendo el valor del caso al módulo bluetooth y se carga
el valor en el método LoadFilter (caso).
Figura 60. Código de la interrupción “int_Rx”
96
5.2.4. SPI (Serial Peripheral Interface)
Dentro del software PSoC Creator 4.2 está el componente llamado SPI, esté se ubica dentro del
transmisor y tiene como funcionalidad establecer la comunicación entre el PSoC5LP (maestro) y el
módulo nRF24l01 (esclavo).
Se establece la configuración del componente como se observa en la ilustración-61, se elige el modo
de operación CPHA=0, para que la transferencia comience en el primer filo de reloj, y CPOL=0, para
que los bits de datos subsecuentes se lean en cada filo ascendente de reloj. Para las líneas de datos
(Data lines) se elige MOSI+MISO debido a que el módulo transceptor nRF24l01 tiene dos pines
respectivos para estas líneas de datos como se observa en la figura 61. La tasa de bits debe ser igual
a la de transmisión del nrf24l0, de 2Mbps.
Figura 61. Módulo nRF24l01 pines de salida. ¿Tomado de:https://i1.wp.com/www.how2electronics.com/wp-
content/uploads/2019/04/NRF24L01-Pinouts.jpg? ssl=1
97
Figura 62. Configuración del módulo SPI en PSoC Creator 4.2
5.2.5. nRF24L01
El componente que se observa en la figura (46) con nombre nRF24, no se encuentra originalmente en
el software PSoC Creator 4.2, se es necesario descargar la librería llamada “nRF24 Component for
PSoC4, PSoC5LP and PSoC6” del siguiente enlace (https://github.com/C47D/nRF24_Component)
para implementarlo. Al descargar y descomprimir la librería solo es necesario entrar a la pestaña
Project/Dependencies y agregarla como se evidencia a continuación.
98
Figura 63. Project/Dependencies en PSoC Creator 4.2.
Para la configuración del componente se debe tener en cuenta el requerimiento en transmisión del
proyecto: Baja latencia (menor a 10 ms) puesto que es esencial para sistemas que funcionen en tiempo
real. Así que todas las configuraciones estarán enfocadas en la menor cantidad de procesos para
evitar retardos en la llegada de los datos al receptor.
Para iniciar se selecciona el modo de operación del módulo nrf24l01 en Transmisor. Se deshabilitan
los 3 tipos de interrupción (RX_DR, TX_DS, MAX_RT). Al estar en modo transmisor directamente
no se usa la interrupción por RX_DR. Para explicar porque debemos deshabilitar la interrupción por
dato enviado es necesario explicar la siguiente imagen.
99
Figura 64. Ciclos Tx/Rx con ACK y las interrupciones. Tomado de: nRF24L01+ Single Chip 2.4 GHz
Transceiver Preliminary Product Specification v1.0
Como se muestra en la imagen anterior, después de que un paquete es transmitido por el transmisor
y recibido por el receptor, el paquete ACK es transmitido desde el Rx a Tx. El RX_DR IRQ es
activado después de que el paquete es recibido por el RX. Mientras el TX_DS IRQ es activado cuando
el paquete ACK es recibido por el transmisor. Al estar transmitiendo una señal en tiempo real, no es
práctico confirmar en todo instante si los datos llegan al receptor, puesto que este procedimiento
agrega un tiempo (retardo) que será visible en la señal de salida del receptor. Por ende, la interrupción
por TX_DS (Transmit Data Sent) se deshabilita.
La retransmisión automática es una función disponible en los Nrf24l01, que consiste en la
retransmisión de un paquete de datos si el ACK no es recibido. Este es usado en un sistema con auto
reconocimiento (auto acknowledgement) en el Tx. Cuando un paquete no es reconocido, se puede
elegir el número de veces permitido de retransmisiones. Debido a que el sistema no usa auto
100
reconocimiento, no se hará retransmisiones, y no será necesario habilitar interrupción por sobrepasar
el número de retransmisiones permitidas (MAX_RT) IRQ.
En el módulo se puede habilitar la función de detección de errores por comprobación de redundancia
cíclica, al tratarse de un sistema de transmisión en el cual prima la baja latencia entre la señal original
y la de salida del receptor, es necesario evitar este proceso.
En la siguiente imagen se evidencia las configuraciones descritas anteriormente.
Figura 65. Configuración del módulo nrf24l01 en PSoC Creator parte 1.
Para establecer la comunicación entre un módulo Nrf24L01 transmisor y receptor, es necesario
habilitar un canal de datos (Data Pipe) por el cual enviar la información, para este proyecto se elige
el Data Pipe 0. Además, se debe compartir la misma dirección entre el registro TX_ADDR y el
RX_ADDR_P0. La cantidad de bytes de la dirección es configurable entre 3 y 5, se elige 5 bytes.
En la siguiente imagen se describe de manera más precisa a partir de un ejemplo la configuración de
los canales de comunicaciones y las direcciones respectivas.
101
Figura 66. Ejemplo de direccionamiento del canal de datos Multiserver. Tomada de: nRF24L01+ Single Chip
2.4GHz Transceiver Preliminary Product Specification v1.0.
102
En la siguiente imagen se evidencia las configuraciones descritas anteriormente (auto
acknowledgement, data pipe 0, Pipe Address width, Auto Retransmit)
Figura 67. Configuración del módulo nrf24l01 Parte 2.
El canal de frecuencia (RF Channel) según la hoja de datos del módulo nRF24L01, determina el
centro del canal usado por el módulo. El canal ocupa un ancho de banda menor que 1MHz a 250kbps
y 1Mbps y un ancho de banda menor que 2MHz a 2Mbps. El nrf24l01 puede operar en un rango de
frecuencias desde 2.4GHz a 2.525GHz. La frecuencia del canal RF se establece mediante el registro
RF_CH de acuerdo con la siguiente fórmula.
103
Se debe programar el transmisor y receptor con la misma frecuencia del canal RF para lograr la
comunicación. En nuestro proyecto se elige el canal 75, lo que nos da un F0= (2400+75) MHz.
Para tomar la elección de cuál de las siguientes tasas de bits
(250kbps, 1Mbps, 2Mbps) es la adecuada se realiza el siguiente cálculo:
Resolución del ADC: 12 bits / muestras
Frecuencia de muestreo: 44000 muestras/segundo
Tasa de bits: 44000 muestra /segundo * 12 bits /muestra = 528 000 bits/segundo.
Al tener la necesidad de mínimo 528 000 bits/segundo se descarta la opción de tasa de transmisión a
250kbps, lo que nos deja las opciones de 1Mbps y 2Mbps. Por cuestiones de mínima latencia se toma
como tasa de transmisión 2Mbps, disminuyendo el tiempo de transmisión.
En la siguiente tabla se muestran las diferentes potencias de salida disponibles en el módulo
transmisor, con su consumo de corriente respectivo.
Figura 68. Configuraciones de potencia de salida RF para el nrf24l01. Tomado de: nRF24L01 + Transceptor
de 2,4 GHz de chip único Especificación preliminar del producto v1.0
104
Se elige una potencia de salida RF de 0 dBm equivalente a 1 mW con el fin de sensibilizar la antena
receptora a la mayor distancia posible. Las configuraciones de (RF Channel, Data rate y RF output
power in TX mode) para el componente nrf24l01 se encuentran a continuación.
Figura 69. Configuración del módulo nrf24l01 Parte 3.
5.2.6. Código main.c
El código principal escrito dentro del entorno de desarrollo (PSoC Creator 4.2), tiene como objetivo
principal transmitir la señal que representa el audio de manera digital después de pasar por un FIR.
Se declaran las siguientes variables:
Data: Vector de dos posiciones para enteros representados en 8 bits. La posición 0 del vector
son los últimos 8 bits de Value (16 bits) y la posición 1 del vector son los primeros 8 bits de
Value.
Value: Es una variable que representa un entero de 16 bits. Toma el resultado de la conversión
analógica a digital después de pasar por el proceso digital de filtrado (FIR).
TX_ADDR: Es un vector de 5 posiciones, en cada posición se encuentra un entero de 8 bits
que representa un byte. Es la dirección del registro para el canal de comunicaciones del
receptor y la dirección del Tx (debe ser igual en el receptor).
105
Se inicializan los componentes:
ADC
UART
Filter
SPI
Nrf24l01
Los siguientes métodos se realizan al principio de la operación del PSoC 5LP y solamente una vez:
CyGlobalIntEnable: Habilita el uso de interrupciones
Isr_Rx_StartEx (int_Rx): inicializa la interrupción “Rx” del UART.
nRF24_set_rx_pipe_address (NRF_ADDR_PIPE0, TX_ADDR, 5): Este método da un valor
al registro SETUP_AW que configura el ancho del campo en 5 bytes de la dirección RX/TX
dentro del nrf24l01. Posteriormente toma el valor del vector de 5 bytes llamado TX_ADDR
y lo coloca en el registro RX_ADDR_P0 del nrf24l01.
nRF24_set_tx_address (TX_ADDR, 5) :): Este método da un valor al registro SETUP_AW
que configura el ancho del campo en 5 bytes de la dirección RX/TX dentro del nrf24l01.
Posteriormente toma el valor del vector de 5 bytes llamado TX_ADDR y lo coloca en el
registro TX_ADDR del nrf24l01.
ADC_StartConvert(): Comienza la conversión analógica-digital
LoadFilter (1): Entra el caso 1 del método LoadFilter(fltr), debido a que se da el valor 1 a la
variable fltr. Este caso implementa un filtro FIR low pass a 1kHz.
Los métodos a continuación se realizan de forma continua en el transmisor:
Filter_Write16(Filter_CHANNEL_A, ADC_GetResult16()): Escribe una nueva muestra de
16 bits en el registro de etapas de entrada del filtro. Tiene dos parámetros: el canal de filtro
en el que debe escribirse (Filter_CHANNEL_A o Filter_CHANNEL_B.) y el valor de
entrada a esa canal, en este caso nuestra entrada es el resultado del ADC en 16 bits.
Filter_Read16(Filter_CHANNEL_A): Cuando el filtro en el canal A procesa la señal de
entrada, debe leerse el resultado que en este caso es de 16 bits y pasarlo a una variable
(Value).
106
nRF24_transmit(data,2): Este método transmite desde le nrf24l01 en modo transmisor el
arreglo llamado “data” de longitud de dos posiciones cada una con un entero de 8 bits. Se da
un valor al registro W_TX_PAYLOAD que indica el tamaño de la carga útil (0bytes-32bytes)
y además coloca dentro de la TX FIFO el valor de la carga útil (data).
Figura 70. Código principal del transmisor en PSoC Creator 4.2.
107
5.3. Receptor
Consta del módulo RF nRF42L01 el cual recibe los datos y los transmite al PSoC5LP por
comunicación SPI y este a su vez los convierte a través de un DAC para finalmente ser amplificados.
Como el módulo RF es configurado como SPI Slave, los comandos de control para la configuración
son programados desde el microcontrolador por medio del software PSoC Creator 4.2. Por lo tanto
se explica el proceso de diseño desde el PSoC.
Los componentes usados en el diseño (TopDesign.cysch) con el software PSoC Creator fueron los
siguientes.
Figura 71. TopDesign del proyecto en PSoC Creator.
108
SPI Master
IRQ
nRF24
DVDAC
Op amp
Figura 72. Configuración de pines PSoC5LP Receptor
Figura 73. Asignación de pines PSoC5LP Receptor
109
A continuación, se muestran las configuraciones usadas para cada componente.
5.3.1. SPI
El componente SPI permite un interfaz maestro del estándar de 4 puertos. Aunque también permite
una conexión bidireccional de 3 cables, el nRF24 está configurado para el estándar de 4 puertos.
También permite además del estándar de 8 bits de longitud de palabras de control, escoger entre 3 y
16 bits para comunicaciones SPI fuera del estándar.
figura 74. Ventana configuración del componente SPI
110
En el caso del componente SPI master se configura para ambas líneas de datos MOSI (Master Output
Slave Input) y MISO (Master Input Slave Output) para la adecuada comunicación entre el nRF24l01
y el PSoC. Según el datasheet del fabricante del nRF24 la longitud de la palabra de comandos SPI es
de 8 bits, por lo tanto, se deja por defecto la opción estándar. Las palabras de control (comandos) para
el nRF24 están organizadas con el bit más significativo primero (MSB first) y la tasa de bits de 2
Mbps que es a la velocidad a la que está configurada la comunicación entre los nRF24.
5.3.2. Interrupción (IRQ)
Para el módulo de interrupción adjunto al pin irq del PSoC que se conecta directamente con el pin
IRQ del nRF24, se selecciona en la opción InterruptType el tipo DERIVED, ya que, al ser la opción
por default, inspecciona el tipo de forma de onda a su entrada y deriva el tipo disparador (trigger).
Figura 75. Ventana de configuración del elemento de interrupción.
111
5.3.3. nRF24L01 (Receptor)
Oficialmente no hay un desarrollo de componente para el nRF24L01 por parte de PSoC Creator, pero
si hay una implementación desarrollada en GitHub por el usuario C47D, (como proyecto personal y
abierto para mejoras). En dicha implementación la completa configuración del dispositivo se facilita
bastante y viene con APIs (Application Programming Interface) para la lectura y escritura de los
registros de control. Así que para la configuración e implementación del dispositivo basta con tener
en cuenta las funciones y opciones de los principales registros de control y configuración según el
datasheet.
En la ventada de la configuración del nRF24L01+ se deja activa la interrupción por datos recibidos,
la cual se notifica en el registro RX_DR (Rx Data Ready); se desactiva el código de redundancia
cíclica CRC y se configura como receptor. Tampoco se habilita la opción de auto acknowledgment
para evitar demoras en la transmisión.
Figura 76. Ventana de configuración del nRF24 primera parte.
112
Se activa el canal 1 del receptor, se define el número de la dirección del transmisor con 5 bytes que
es igual tanto en el transmisor como en el receptor.
const uint8_t RX_ADDR [5]= 0xBA, 0xAD, 0xC0, 0xFF, 0xEE;
Figura 77. Ventana de configuración del nRF24 segunda parte
Como se observa la retransmisión se encuentra deshabilitada.
113
Figura 78. Ventana de configuración del nRF24 tercera parte.
El canal RF tanto en el transmisor como en el receptor debe ser el mismo (75), la tasa de bits se deja
al máximo (2 Mbps) para lograr la transmisión más eficiente (menor latencia posible).
114
Figura 79. Ventana de configuración del nRF24 cuarta parte.
Figura 80. Ventana de configuración del nRF24 quinta parte.
115
5.3.4. DVDAC (Dithered Voltage Digital Analog Converter)
Este conversor digital - analógico que posee una resolución seleccionable entre 9 y 12 bits.
Figura 81. Ventana de configuración del DVDAC primera parte
Para el rango de voltaje de salida se selecciona (0 - 4.080) V (1 mV/bit) para una salida sin atenuación
respecto a la entrada a la interfaz del emisor. Se deja 12 bits de resolución (la mayor resolución
disponible). El Valor inicial de 0 (valor de salida del DAC cuando inicia el dispositivo.
La sincronización por reloj interno se configura a 250 KHz. La frecuencia de reloj representa cuán
rápidamente la salida de voltaje es actualizada1. Para un rango de salida de 4 V, la máxima velocidad
116
disponible es de 250 KHz. Y por sugerencia de la misma hoja de datos del fabricante se hace uso de
un capacitor de 10nF al puerto de salida.
5.3.5. Amplificador Seguidor. (Buffer)
El componente de amplificador operacional dispuesto por el PSoC5LP es ideal para ser conectado
con elementos de alta impedancia de salida y para evitar efecto de carga en la salida de DAC
(conversor digital a análogo).
Figura 82. Ventana de configuración del Op Amp como seguidor
Es configurado como seguidor (no es necesario ningún cableado interno). Además se usa Med Power
(media potencia) permitiendo altas corrientes a la salida (hasta 25 mA).
117
5.3.6. Código main.c
Se incluyen las bibliotecas necesarias
#include "project.h"
#include <stdbool.h>
#include <stdio.h>
/*Se declara una variable volátil booleana para la bandera de la
interrupción de datos recibidos*/
volatile bool irq_flag = false;
//Aquí se guardan los datos recibidos
uint8 data;
uint8 dataFinal[2];
//Se declara la interrupción
CY_ISR_PROTO(IRQ_Handler);
//El proceso principal
int main(void)
//Número de la dirección de 5 bytes
const uint8_t RX_ADDR[5]= 0xBA, 0xAD, 0xC0, 0xFF, 0xEE;
// Se habilita la interrupción
isr_IRQ_StartEx(IRQ_Handler);
//Se habilitan las interrupciones en general
CyGlobalIntEnable;
118
/*Inicialización de los módulos de SPI,amplificador operacional como
seguidor, DAC, nRF24 */
SPI_Start();
Opamp_Start();
DVDAC_Start();
nRF24_start();
/* se configura el el canal del receptor nRF24 especificando número de
canal, la dirección del receptor y el número de bytes de la dirección */
nRF24_set_rx_pipe_address(NRF_ADDR_PIPE1, RX_ADDR, 5);
//Se inicia la comunicación
nRF24_start_listening();
//ciclo principal
while (1)
/*Espera mientras se notifique por medio de la interrupción la
llegada de nuevos datos*/
while(false == irq_flag);
//se obtiene la bandera y se limpia
nrf_irq flag = nRF24_get_irq_flag();
nRF24_clear_irq_flag(flag);
/*Se obtienen los datos recibidos y se guardan en el vector de 2
bytes dataFinal*/
nRF24_get_rx_payload(dataFinal, 2);
/*como primero llegan los MSB entonces al intercambiar los datos
entre dataFinal y data2 entonces se intercambian las posiciones de los
bytes para que el número quede correctamente ordenado*/
119
uint16 data2 = (dataFinal[1]<<8) + dataFinal[0];
//se envía el vector data2 al DAC
DVDAC_SetValue(data2);
/*Se cambia el valor de la bandera a false para reiniciar el proceso*/
irq_flag = false;
//Definición de la interrupción
CY_ISR(IRQ_Handler)
//la bandera se activa para notificar los nuevos datos recibidos
irq_flag = true;
//se limpia la interrupción
IRQ_ClearInterrupt();
/* [] END OF FILE */
5.4. App Inventor 2
5.4.1. Descripción general
App Inventor es un entorno visual de programación intuitivo diseñado para construir aplicaciones
para smartphones y tablets desarrollado por la universidad MIT. Disponible en
https://appinventor.mit.edu/explore/about-us.html.
“El objetivo de este proyecto es proporcionar facilidades a la hora del desarrollo de aplicaciones
complejas y de alto impacto en un tiempo significativamente menor al que toma desarrollar en
entornos de programación tradicionales”.
120
Busca democratizar el desarrollo de software empoderando a todo el público, especialmente a la gente
joven pasando de consumir tecnología a desarrollar tecnología.
Este proyecto que es liderado por el profesor Hal Abelson y conformado por un grupo de estudiantes
del CSAIL. En aras de mantener un alcance educativo líder y hacer investigaciones de su alcance,
este equipo mantiene libre el software para más de 6 millones de usuarios registrados.
Figura 83. Diagrama de etapas de desarrollo de una aplicación en App Inventor 2. Tomado de:
https://appinventor.mit.edu/explore/content/what-app-inventor.html
121
5.4.2. Front end
Figura 84. Entorno de desarrollo Front end de App Inventor 2
En el entorno de desarrollo online de App Inventor 2 se muestra en la figura xxx. En la parte superior
derecha la pestaña Designer abre la ventada para el diseño del Front end. Arriba a la izquierda se
observa el nombre del proyecto y a la izquierda se encuentra la paleta de elementos disponibles para
agregar. En primera instancia se agrega el elemento BluetoothClient1 (habilita el uso del sensor de
bluetooth del celular). Luego se añaden de la pestaña Layout seis elementos de
HorizontalArrangement (Arreglos horizontales), que son los “rectángulos” o plataformas donde van:
el título, botones de conectar, filtro 1, filtro 2, filtro 3 y las imágenes respectivas a cada filtro.
122
Luego de colocar y ajustar las dimensiones de los 6 rectángulos (HorizontalArrangements) se agregan
desde la pestaña de User Interface los elementos de Label, ListPicker, Button e Image para hacer el
título, botón para conectar, botones para los filtros y agregar las imágenes de los filtros
respectivamente (cada imagen tomada del asistente de creación de filtros de PSoC Creator (FDB)).
A la derecha en la pestaña components se observan los elementos añadidos con sus nombres y su
ubicación dentro de interfaz gráfica de la aplicación. En Media los elementos (imágenes) subidos
desde el computador y en Properties las propiedades del elemento seleccionado.
Figura 85. Previsualización
123
5.4.3. Back end
Figura 86. Entorno de desarrollo Back end de App Inventor 2
Seleccionando la pestaña Blocks se abre la ventana con los bloques (propiedades, métodos o procesos)
de los componentes agregados previamente en la instancia de Designer (Front end) para programar
el funcionamiento de la aplicación (back end).
124
Figura 87. Bloques de programación.
El primer paso es realizar la conexión al módulo bluetooth HC-05 desde el celular.
Figura 88. Bloques para evento antes de oprimir botón Conectar.
Para esto se debe programar la acción del elemento conectar (ListPicker), se añade el bloque que
hace referencia al estado del elemento antes de ser pinchado (Conectar.BerforePicking) y se le agrega
la acción de que muestre una lista con los nombres y direcciones de los dispositivos disponibles o
previamente emparejados con el celular.
Figura 89. Bloques para evento después de oprimir botón Conectar.
125
Bajo la misma lógica, se agrega el bloque Conectar.AfterPicking (método adjunto al evento) que hace
referencia al proceso que se ejecuta al ser oprimido. Con set conectar.selection se toma el elemento
seleccionado de la lista de dispositivos conectados y se pasa al método .Connect del elemento
BluetoothClient1 por medio del bloque Conectar.Selection.
Con set Conectar.Text se cambia la propiedad de texto del elemento list por Connected.
Figura 90. Bloques para eventos de los botones de los filtros
Luego de que se establece la conexión entre el celular y el PSoC 5LP por medio del módulo HC-05
se envían los comandos para cambiar de filtro al pulsar los botones respectivos. Si se pulsa el botón
Filtro1 el evento llama al método BluetoothClient1.SendText y envía el texto “1”. Igualmente se hace
para los casos de los demás botones.
126
Figura 91. Descarga de aplicación desde la página de App Inventor 2
Cuando se termina la aplicación se descarga el archivo .apk al computador y desde allí se descarga
también al celular y se instala (es necesario cambiar la configuración de seguridad del smartphone
para habilitar la instalación de software no reconocido).
A continuación, se muestran screenshots del software en el celular.
Figura 92. Screenshot de aplicación antes de conectar al dispositivo
127
Figura 93. Screenshot de lista de dispositivos disponibles (luego de haber pulsado el botón conectar)
Figura 94. Screenshot luego de establecer la conexión bluetooth
128
CAPÍTULO 6. ANÁLISIS DE RESULTADOS
6.1. Prototipo del transmisor y receptor
Posterior al diseño del proyecto, se realiza la implementación del sistema de comunicaciones
electrónicas inalámbrico. Este sistema consta de manera general en dos partes, el acondicionador de
señal conectado al transmisor, y el receptor. A continuación, se muestra el circuito completo del
transmisor, conectado al acondicionador.
Figura 95. Circuito transmisor inalámbrico.
El circuito de la figura 95 es ensamblado dentro de una caja negra buscando protección y fácil
manejo a la hora de su manipulación. En la siguiente imagen se ve el resultado del ensamblaje para
el transmisor, se observa la caja, la antena y el cable de alimentación.
129
Figura 96. Prototipo final del transmisor
Al igual que el transmisor, el circuito receptor necesita un ensamblaje que permita su protección y fácil
manipulación. En seguida se ve el montaje.
Figura 97. Prototipo final del receptor
130
6.2 Aplicativo móvil (software de selección de filtros)
Como se abordó en la sección 5.4 de esta investigación, la implementación del aplicativo móvil da
como resultado una interfaz gráfica que permite al usuario conectarse vía bluetooth con el transmisor
y modificar la configuración del filtro digital tipo FIR. Esta interfaz tiene tres diferentes instancias,
la primera permite observar la respuesta en frecuencia de los 3 diferentes filtros y dar al botón
“conectar”, que instantáneamente manda a la segunda instancia, la cual da la opción de elegir con
cual modulo bluetooth desea la conexión, y así pasar directamente a la tercera instancia que afirma la
buena conexión y permite la elección en tiempo real del filtro de elección.
Figura 98. Interfaz gráfica del App (Software para selección de filtros).
Como se observó en la anterior imagen hay un cambio entre la primera interfaz y la tercera, un cambio en la
etiqueta del botón, de conectar a conectado, lo que indica el buen funcionamiento.
131
6.3. Filtros
Para comprobar el funcionamiento de los filtros digitales según la respuesta en frecuencia obtenida
en el diseño, es necesario realizar un montaje que permita encontrar una relación en términos de
amplitud entre la señal de salida del sistema (Filtro FIR) y la señal de entrada. El montaje que se
implementa consta de dos PSoC5LP, uno configurado como generador de onda senoidal de 1 Vpp y
el otro como sistema de procesamiento digital. Este sistema SISO consta de un ADC, un filtro digital
y un DAC; tiene conectado el generador a la entrada y dos canales del osciloscopio para medir entrada
y salida. Teniendo en cuenta la respuesta en frecuencia para cada filtro se generan señales a distintas
frecuencias alrededor de la frecuencia de corte midiendo la amplitud en milivoltios a la salida y
entrada. Para cada filtro se toman 3 medidas. Debido a que parámetros como la cantidad de etapas en
el filtro y la frecuencia de muestreo (según el datasheet estos datos no tienen que ver con la
configuración de hardware) permiten variar la cantidad de coeficientes entonces se encuentra que
para una cantidad menor a 6 etapas y frecuencia de muestreo de 44 kHz para diseño de filtros con
frecuencias de corte mayores a 1 kHz los filtros son estables y no hay una caída de señal a la salida
por sobrepasar la capacidad de procesamiento (sobrecargar la CPU).
Figura 99. Configuración componente WaveDac (PSoC5LP Generador) Amplitud 1 Vpp y Offset 2.040 V para
las señales de prueba
132
6.3.1. Filtro LP con frecuencia de corte a 3 kHz
Como limitación del generador WaveDac8 del PSoC5LP no se pueden llegar a frecuencias mayores
a 2.5 kHz, así que las pruebas de los filtros son hechas hasta estas frecuencias de onda seno de prueba.
Figura 100. Señales de entrada (f = 2 kHz) y salida para Filtro con Fc = 3 kHz
Según el datasheet del componente se recomienda un valor de condensador para filtrar el ruido
Dithered (dithered noise), que ocurre por el mismo funcionamiento del DVDAC y que para la
configuración establecida (12 bits y rango de 4 V), los valores de amplitud de este ruido varían entre
16 mV a una frecuencia de 15,6 kHz.
133
Figura 101. Atenuación requerida en dB en función de la cantidad de bits de resolución y la frecuencia de ruido
dither a 4 V de rango. Tomado de: http://www.cypress.com/file/159206/download.
Teniendo en cuenta la ecuación de atenuación de filtro:
𝐴𝑡𝑡𝑒𝑛 = 20 ∗ 𝑙𝑜𝑔10(𝑓𝑑𝑖𝑡ℎ
𝑓𝑐)
Donde Atten es la cantidad de atenuación requerida para una resolución dada, ℎℎℎℎℎes la frecuencia
dither y ℎℎes la frecuencia de corte del filtro pasa bajos necesaria para compensar el ruido.
Se despeja para ℎℎ:
𝑓𝑐 =𝑓𝑑𝑖𝑡ℎ
10𝐴𝑡𝑡𝑒𝑛
20
Se puede calcular el valor del condensador
𝐶 =1
2 ∗ 𝜋 ∗ 𝑅 ∗ 𝑓𝑐
Según los datos de la tabla se necesita de una atenuación de 24 dB al haber una frecuencia de ruido
dither de 15.6 kHz. Resolviendo se obtiene una frecuencia de corte de filtro (ℎℎ) de 984.29 Hz.
Reemplazando este resultado para calcular el valor del condensador necesario a la salida (filtro pasa
bajas de primer orden) y el valor de resistencia para un rango de 4 V (16 kOhms) (referencia) se llega
a un resultado de 10,106 nF (≃10 nF).
134
Al haber colocado este condensador a la salida se observa no solo una atenuación del ruido intrínseco
generador DVDAC sino también una atenuación a la onda de salida con respecto a la entrada. Así
que para las medidas de atenuación se decide hacer las pruebas sin condensador a la salida.
Sabiendo que:
20 ∗ 𝑙𝑜𝑔10(𝑋) = 𝐴𝑡𝑡𝑒𝑛
Se despeja:
𝑋 = 10𝐴𝑡𝑡𝑒𝑛
20
Pero
𝑋 =𝑉𝑜𝑢𝑡
𝑉𝑖𝑛
Entonces
𝑉𝑜𝑢𝑡 = 𝑉𝑖𝑛 ∗ 10𝐴𝑡𝑡𝑒𝑛
20
Donde Vout es el valor esperado en milivoltios a la salida del procesador DSP. Vin es el valor en
milivoltios para la señal de entrada (generador) y Atten (Attenuation) es la atenuación esperada
obtenida de las gráficas de respuesta en frecuencia para cada caso. Para las señales de entrada y salida
se toman los valores de voltaje pico.
Para los cálculos de porcentaje de error se compara la salida teórica con la salida obtenida, ambas en
milivoltios:
% 𝑒𝑟𝑟𝑜𝑟 =|𝑉𝑜𝑢𝑡 𝑚𝑒𝑑𝑖𝑑𝑜 − 𝑉𝑜𝑢𝑡 𝑡𝑒ó𝑟𝑖𝑐𝑜|
𝑉𝑜𝑢𝑡 𝑡𝑒ó𝑟𝑖𝑐𝑜× 100
135
Figura 102. Señales de entrada (f = 2.5 kHz) y salida para Filtro con Fc = 3 kHz
Las señales que se muestran están en acople AC, pero al ser obtenidas de conversores análogos
digitales directamente poseen un nivel DC, que tanto para el generador y el procesador de filtros es
de 2.0 V.
A frecuencias mayores a 1,5 kHz es posible ver el efecto de ruido del DVDAC (dither noise) (señal
canal 1 figura 98).
136
Figura 103. Señales de entrada (f = 300 Hz) y salida para Filtro con Fc = 3 kHz
En la siguiente tabla se muestran los resultados de obtenidos en milivoltios pico de la salida y la
entrada, la atenuación y el porcentaje de error con el valor teórico esperado para cada caso de
frecuencia de prueba del filtro con frecuencia de corte de 3 kHz.
F (kHz) Vout (mV) Vin (mV) Aten (dB) Teórico(dB) Teórico Vout (mV) Error %
2,5 360 600 -
4,436974992
3
-3,5 401,0063505412 10,2258606343
1 440 600 -
2,693971477
9
-2,5 449,9365255995 2,208428308
0,3 679 580 1,368835614
4
0 580 17,0689655172
Tabla 2. Resultados del filtro de 3 kHz con tres frecuencias distintas
137
Según el asistente de diseño de filtros se definen estos bajo una frecuencia de corte como parámetro
de diseño introducido por el usuario, pero esta frecuencia de corte no siempre se encuentra en la
atenuación de media potencia (-3 dB), lo cual se puede constatar según los datos en la tabla 1, donde
se encuentra que, aunque en el proceso de diseño se configura para una Fcut de 3 kHz, realmente la
frecuencia de atenuación de -3 dBs se encuentra muy cercana a los 2,5 kHz.
6.3.2. Filtro LP con frecuencia de corte a 2 kHz
Figura 104. Señales de entrada (f = 2k Hz) y salida para Filtro con Fc = 2 kHz
138
Figura 105. Señales de entrada (f = 1 kHz) y salida para Filtro con Fc = 2 kHz.
Figura 106. Señales de entrada (f = 500 Hz) y salida para Filtro con Fc = 2 kHz.
Igualmente, que en el caso anterior se registran los valores de amplitud para cada frecuencia de
prueba.
139
F (kHz) Vout
(mV)
Vin (mV) Aten (dB) Teórico(dB
)
Teórico Vout
(mV)
Error %
2 333 580 -
4,819675201
1
-5 326,1579686104 2,0977661281
1 480 580 -
1,643735123
7
-2 460,7103761401 4,1869306312
0,5 540 580 -
0,620684674
8
-1 516,9255441176 4,4637871247
Tabla 3. Resultados del filtro de 2 kHz con tres frecuencias distintas
Al igual que en caso del filtro anterior, aunque se ha diseñado un pasa bajas a frecuencia de corte de
2 kHz, la frecuencia de -3 dB está localizada más cercana a 1 kHz.
6.3.3. Filtro LP con frecuencia de corte a 1 kHz
Figura 107. Señales de entrada (f = 1 kHz) y salida para Filtro Fc = 1 kHz.
140
Figura 108. Señales de entrada (f = 700 Hz) y salida para Filtro Fc = 1 kHz.
Figura 109. Señales de entrada (f = 300 Hz) y salida para Filtro Fc = 1 kHz.
141
F (kHz) Vout (mV) Vin (mV) Aten (dB) Teórico (dB) Teórico Vout (mV) Error %
1 160 640 -
12,041199826
6
-5 359,8984481218 55,543014749
0,7 420 560 -
2,4987747322
-2,5 419,9407572262 0,0141074122
0,3 629 580 0,7044530376 0 580 8,4482758621
Tabla 4. Resultados del filtro de 1 kHz con tres frecuencias distintas
Es importante hacer notar que, aunque para la zona de paso del filtro la atenuación es prácticamente
cero (a 300 Hz atenuación de -1 dB), en las medidas se observa una ganancia pequeña, debido al ruido
(dither noise). Este ruido que es el promedio de la variación entre dos valores adyacentes para este
tipo de conversor (16 mV de ruido), aunado a esto, al ruido mismo presente en los elementos discretos
y la precisión del osciloscopio en este caso llega hasta los 29 mV. La frecuencia de corte para -3 dB
está situada cerca a los 800 Hz.
6.4. Latencia
Una prueba de latencia tiene como fin medir el tiempo que transcurre entre que una señal es emitida
y es recibida. La latencia suele calcularse en función de los tiempos de transmisión, tiempo de
propagación y tiempo de procesamiento. El tiempo de transmisión, es el tiempo que se demora un
emisor en poner la información en un canal; en comunicación digital, este tiempo se calcula en base
con el tamaño en bits de la información y la capacidad en bits por segundo (bps) del canal. El tiempo
de propagación en comunicación digital, es el tiempo que tarda un bit en viajar mediante un canal,
entre el emisor y el receptor, en el caso de la transmisión inalámbrica viene dado por la velocidad de
la luz en el aire y la distancia a recorrer. El tiempo de procesamiento, es el tiempo que transcurre
cuando alguna estación tiene que computar o procesar información para continuar con la
comunicación [24].
Para medir correctamente la latencia en un sistema existen diferentes métodos. Para este caso basta
visualizar la señal de salida del acondicionador, es decir, la señal del instrumento musical (bajo
142
eléctrico) amplificada y con offset, y la señal de salida del receptor dirigida al amplificador. Con el
osciloscopio se puede apreciar de manera gráfica las dos señales mencionadas anteriormente, y con
ayuda de la herramienta “cursor” encontrar su desfase sobre el eje tiempo, lo que es igual a la suma
total de los retardos posteriormente explicados, y que no es más que la latencia. En la siguiente imagen
se evidencia de manera gráfica las señales de entrada a los canales 1 y 2 del osciloscopio, la señal de
salida del receptor y la de salida del acondicionador respectivamente. Cabe mencionar que las pruebas
se realizaron con vista directa y a una distancia de un metro (1m) entre el Rx y el Tx.
Figura 110. Medida 1 de desfase entre las señales a la entrada al transmisor y salida del receptor.
Como se observa, se hace uso del cursor A para ubicar un punto de referencia sobre la señal del canal
1 (salida del receptor), y del cursor B para situar sobre el canal 2 (entrada al transmisor) el momento
en el cual la señal toma el mismo valor de amplitud que la señal del canal 1 (reflejo desfasado). Todo
esto con el fin de encontrar tres resultados: AX, BX y BX-AX. AX es el valor de cruce en el eje
horizontal (tiempo) por el cursor A. BX es el valor de cruce en el eje horizontal (tiempo) por el cursor
B. BX-AX es la diferencia entre BX y AX.
143
Los datos arrojados por el osciloscopio son:
AX: 6.7ms
BX: 5.5ms
BX-AX: -1.2ms
El resultado que interesa para este estudio es el de BX-AX debido a que nos indica cuanto tiempo
está atrasada la señal de salida del receptor respecto a la entrada del transmisor, es decir, esta medida
indica la latencia del sistema.
Para corroborar los anteriores resultados se realiza una segunda medida, haciendo uso del mismo
procedimiento, pero invirtiendo los canales. El canal 1 es la señal de entrada al transmisor y el canal
2 la de salida del receptor. El cursor A se ubica sobre un punto de referencia en la señal del canal 1 y
el cursor B sobre el reflejo desfasado de la señal de entrada al transmisor.
Figura 111. Medida 2 de desfase entre las señales a la entrada al transmisor y salida del receptor.
144
Los resultados obtenidos de la segunda medición son:
AX: -5.920ms
BX: -4.640ms
BX-AX: 1.28ms
El resultado BX-AX hace relación al tiempo que transcurre entre que la señal de audio es emitida y
es recibida, es decir, la latencia del sistema.
La diferencia entre la medida de latencia 1 y la medida de latencia 2 son de 0.08 ms, algo despreciable
teniendo en cuenta que el escrito (Shure. (2012). Selection and Operation of Wireless Microphone
Systems), tomado como estado del arte, afirma que la latencia máxima en el audio es de 5ms para
que el oyente no la detecte.
La distancia entre el receptor y el transmisor altera únicamente el tiempo de propagación, es decir, el
tiempo que tarda un bit en viajar mediante un canal. Nuestro proyecto al ser inalámbrico tiene como
medio de transmisión el aire, y la velocidad de transmisión es muy cercana a la de la luz, por ende,
cambiar la distancia de 1 m a 30 m no agrega un retardo considerable. Sin embargo, se realiza el
cálculo y el retardo que se agrega al cambiar la distancia entre el rx y tx es de 9.66e-8 s.
6.5. Socialización del proyecto en la Academia Superior de Artes de Bogotá
Al tener el prototipo en su versión final, nos dirigimos a la facultada de artes de la universidad Distrital
Francisco José de Caldas para realizar la presentación de este en un espacio académico, esto porque
consideramos que la investigación que se hace en el espacio de la universidad debe fortalecer los
procesos académicos de la misma. En este caso logramos participar de una sesión de clase titulada
“Ensamble de música contemporánea” orientada por el maestro Juan Camilo Vásquez, en este espacio
se nos permitió presentar a los estudiantes y al maestro las posibilidades que se despliegan del uso de
este proyecto para sus propios espacios de trabajo curricular. Después de presentar las posibilidades,
su funcionamiento y una explicación teórica del diseño, el docente intervino para señalar la
importancia de seguir desarrollando investigaciones transdisciplinarias que nutran las prácticas de
enseñanza y aprendizaje que se dan en la universidad.
145
Figura 112. Explicación del dispositivo a estudiantes de la facultad ASAB.
Los estudiantes por su parte validaron el proyecto a partir de sus conocimientos respecto a la calidad
del sonido, emplearon el instrumento (bajo eléctrico) para realizar pruebas y evidenciaron que a pesar
de ser inalámbrico el sonido era de buena calidad. También calificaron el aplicativo Android que
modifica las frecuencias de corte de los filtros como novedoso, y de utilidad para su ejercicio
académico y profesional. Cabe resaltar que uno de los aspectos que más llamo la atención a varios
estudiantes fue el costo de fabricación, lo que indujo en ellos una necesidad de investigación para
innovar en este tipo de proyectos.
146
Figura 113. Interacción de los estudiantes con el instrumento (bajo eléctrico) y su sonido.
Figura 114. Explicación detallada del transmisor, receptor y aplicativo móvil a estudiantes.
147
CAPÍTULO 7. COSTOS
Elemento Cantidad Precio (dólares
(US$))/unidad
PSoC 5LP 2 10
Fuentes dc (5v) 2 3
nRF24l01 2 3.64
HC05(bluetooth) 1 3.5
A.O tl072 1 0.5
AMS1117 (regulador 3.3v) 1 0.5
Regulador 7805 1 0.8
Baquelita 3 1
Tabla 4. Costos de elementos
Total: 39.58 dólares
148
CAPITULO 8. CONCLUSIONES
i) Durante el desarrollo de esta investigación se encontró que existe una deficiente
cantidad de información que aborde proyectos con uso de la tecnología PSoC®
(Programmable System-on-Chip), y más en el idioma español, por ende, las
oportunidades de desarrollo e investigación son amplias para Colombia y demás
países de habla hispana.
ii) Según el modelo o familia del PSoC, los módulos presentan diferencias. Por ende, es
necesario revisar la hoja de datos, de tal forma que no existan problemas de
compatibilidad entre el proyecto a efectuar y la capacidad del PSoC a utilizar. Para
esta investigación se hizo uso de la familia PSoC 5LP, sus características permiten
el cumplimiento de los objetivos propuestos, tanto para la transmisión como el
tratamiento de la señal digital.
iii) Aunque el conversor sea tipo delta-sigma, el hecho de que exista una limitante en la
resolución (máximo 12 bits) de salida del conversor digital-analógico (DVDAC)
impide una relación señal a ruido de cuantificación mayor. Aun así, se puede plantear
para investigaciones futuras el diseño de DACs que sobrepasen la resolución del
componente actualmente disponible.
iv) A pesar de que la investigación se realizó con el fin de transmitir y recibir una señal
que representa información de audio, es posible manejar otro tipo de información,
como por ejemplo señales que varían su intensidad respecto a la temperatura o
humedad.
v) Debido a que el asistente de diseño para los filtros presenta como limitación el uso
de un único filtro preestablecido, cambiar los coeficientes de la memoria ram del
módulo (Filtro) en tiempo real es un procedimiento que permite tener una gran
cantidad de filtros a diferentes frecuencias de corte y de diferentes tipos (lowpass,
highpass, etc) al alcance. En este proyecto se crearon tres filtros lowpass, a diferentes
149
frecuencias de corte, solo fue necesario cambiar la matriz de coeficientes, debido a
que las matrices de control permanecen idénticas.
vi) Es importante tener en cuenta que, a mayor cantidad de coeficientes del filtro, será
mayor la cantidad de operaciones que debe realizar el microprocesador, esto genera
una respuesta no deseada o no esperada a la salida, además de un aumento del tiempo
de procesamiento, lo que genera una mayor latencia.
vii) Se recomienda que la fuente de alimentación para el PSoC esté aislada o sea diferente
a la del módulo bluetooth (hc05), debido a que se pueden presentar oscilaciones
continuas que alteran el funcionamiento adecuado del transmisor.
viii) El módulo nRF24l01 tiene un protocolo de comunicación enfocado en la fiabilidad,
es decir, que el paquete de datos llegue de manera correcta al receptor sin pérdida de
información, su implementación conlleva procedimientos que generan retardos de
tiempo. Nuestro proyecto está enfocado a la transmisión en tiempo real, por esto se
es necesario deshabilitar este protocolo.
ix) En el mercado existen diferentes dispositivos que ofrecen una transmisión de señales
de audio, sus precios se encuentran dentro el rango de los (35-500) dólares
dependiendo de sus características; si el sistema de transmisión posee tratamiento
digital de la señal su precio aumenta considerablemente, oscila desde los 500 $US a
2500 $US. En cuanto a nuestro prototipo, el costo de los materiales es de 39.58 $
US, esto porque su producción aún no es masificada y se debe comprar elementos
por unidad a un precio mayor. Dado que el dispositivo se encuentra en fase de
prototipo, su precio real a la venta no está contabilizado. No obstante, si se realiza
una proyección del precio, el dispositivo debe encontrarse en una posición
competitiva, ya que en costos está muy por debajo del precio del mercado.
El hecho de que en Colombia no existan empresas dedicadas a la producción de estos
dispositivos y que estas se dediquen a la venta de productos importados, indica que
nuestro prototipo posee una ventaja comparativa; en el sentido de que realizarlo en
150
masa en el país ahorraría costos de importación, lo que permitiría precios
competitivos en el mercado nacional.
x) Se concluye que App Inventor 2 permite un desarrollo de aplicaciones de manera
eficiente, ya que posee un entorno de desarrollo intuitivo y una programación con
líneas de código basadas en diagramas de bloques. Esta aplicación desarrollada
cumple con el objetivo de control de selección de los filtros el tiempo real mostrando
en la pantalla imágenes con la respuesta en frecuencia de cada uno. A través de
comandos activados por botones se puede controlar el PSoC5LP por comunicación
BlueTooth entre el celular y el módulo HC-05 por protocolo UART. A pesar de tener
la limitante de que aún solo está disponible para Android (ya existe oficialmente un
acercamiento a la plataforma iOS), es una buena alternativa para proyectos en
desarrollo donde se necesitan aplicativos en un tiempo considerablemente menor
teniendo en cuenta que es online, gratuita y está en continuo desarrollo.
xi) Al realizarse las pruebas de latencia a 1 metro de distancia (por cuestiones de
limitaciones del osciloscopio para la distancia de medición) se llega a un valor de 1,2
ms. Este retardo está dentro del rango admisible e incluso para distancias mayores a
30 m debido a que solo aumentará en función de la velocidad de propagación de las
ondas electromagnéticas en al aire (casi velocidad en el vacío) en 100 ns (3,3 ns por
metro).
xii) Teniendo en cuenta estándares encontrados en el estado del arte, tiempos de latencia
mayores a 20 ms no son aceptables por ser perceptibles o apreciables por los
intérpretes en una presentación musical. En este proyecto se tiene una latencia
máxima de 1,2 ms a una distancia de 1m, fue necesario el uso de transmisores y
microcontroladores que trabajan con datos a velocidades mayores a 1 Mbps, ya que
la tasa de bits es de 704 kbps. Es por eso que se prescinde de módulos bluetooth para
envío de datos, como el HC-05 para este propósito ya que no llega a más de 460800
151
bps y además que poseen una latencia de 100 ms en la mayoría de los casos (véase
latencia de audio bluetooth audífonos).
xiii) Este prototipo, aunque no está desarrollado para ser un modelo de producción en
serie, satisface requerimientos de latencia y puede ser usado en presentaciones
musicales con una puesta en escena o un performance en donde el intérprete tenga
libertad de movimiento en un escenario grande y no tenga que alejarse por más de
50 m del elemento transmisor (escenario al aire libre).
xiv) Al presentar el prototipo a algunos estudiantes y maestros de la comunidad de la
facultad de artes ASAB, demostraron bastante curiosidad e interés en aprender,
colaborar y poder desarrollar proyectos interdisciplinarios con el proyecto curricular
de ingeniería electrónica. Un dispositivo que junta dos subsistemas generalmente
aislados (DSP y transmisión wireless), fue algo novedoso e interesante para ellos,
teniendo en cuenta además el costo total del prototipo comparado con sistemas
únicamente de transmisión inalámbrica siendo apenas un producto en desarrollo y
con posibles mejoras. Con lo cual es un primer paso en procesos de acercamiento y
trabajo mancomunado para generar experiencias y conocimientos en áreas
aparentemente distantes.
xv) Al ser un proyecto que busca reemplazar largos cables coaxiales (ondas guiadas) para
transmitir las señales de los instrumentos por una transmisión de ondas inalámbricas,
tiene un impacto ambiental positivo al reducir el uso de plástico y otros materiales
no biodegradables que son incinerados para recuperar el cobre del cable y que son
altamente contaminantes para el medio ambiente.
xvi) El circuito preamplificador (acondicionador) es diseñado para instrumentos de alta
impedancia de salida (guitarras eléctricas, bajos eléctricos, teclados, etc). Sin
embargo, para futuros avances y mejoras del prototipo puede ser extendido a baja
impedancia como las de los micrófonos.
152
xvii) En el proceso de diseño de los filtros digitales con el asistente de PSoC Creator, se
ajusta la frecuencia de corte y su respuesta en frecuencia con parámetros de
frecuencia de muestreo, cantidad de etapas y frecuencia de corte deseada. Sin
embargo, la frecuencia de corte real (-3 dB) varía con los tres parámetros y no
depende solamente del parámetro de frecuencia de corte deseada. Aunado a esto, la
cantidad de coeficientes depende de estos tres parámetros y puede llegar a agregar
un retardo por cantidad de procesamiento. Se recomienda para futuras
investigaciones y/o avances encontrar la limitación para la cantidad de coeficientes
máximos manteniendo un funcionamiento óptimo del sistema (baja latencia y
estabilidad de la señal). Además, estudiar las razones y posibles soluciones en aras
de mejorar la eficiencia de los filtros y disminuir los porcentajes de error encontrados
en los resultados.
153
Referencias Bibliográficas
[1] Wayne Tomasi, Sistemas de Comunicaciones Electrónica, capítulo 1 Introducción a
las comunicaciones electrónicas, Pearson Educación México, (2003).
[2]. Juan Barchiesi Introducción al procesamiento digital de señales, capítulo 1.
Comparación entre dsp y asp, Ediciones Valparaíso, Chile, (2008).
[3]. INFORME DE AVANCE SOBRE EL PLAN INDICATIVO DE GESTIÓN, (enero de 2013)
Plan de Desarrollo 2008-2016 “Saberes, Conocimiento e Investigación de Alto Impacto para el
Desarrollo Humano y Social”. Universidad Distrital Francisco José de Caldas, Oficina Asesora de
Planeación y Control.
[4]. Tomado: http://www.rezagos.com/pages/analisis-del-ciclo-de-vida-de-los-cables.html.Swedish
National Testing and Research Institute.
[5]. Line 6. (2010). Wireless Microphone Technology Guide. California. USA.
https://line6.com/media/pdf/Line%206%20Wireless%20microphones%20Whitepaper.pdf.
[6]. Shure. (2017). Selection and Operation of Wireless Microphone Systems.
USA.https://522bb370f5443d4fe5b9-
f62de27af599bb6703e11b472beadbcc.ssl.cf2.rackcdn.com/publication/upload/827/selection_and_o
peration_of_wireless_microphone_systems_english.pdf .
[7]. Bisheimer, G., & Sonnaillon, M. (s.f). Modificación del tono de señales de audio en tiempo real.
[8]. Liévano, P., Espinosa, J. & Velasco, J. (2013). Implementación de algoritmos para efectos de
audio digital con alta fidelidad usando hardware programable., 17(1): 93-108.
[9]. Becerra, M. (2016) Sistema inalámbrico para transmisión de señales de audio con mínima
latencia. Tesis De Maestría. Universidad de Chile.
[10]. Telecomunicaciones digitales, dispositivos y sistemas, de Díaz (1997)
[11]. Cap. 10.- Transmisores de radio – Amplificadores de potencia, Santa Cruz Oscar M. (2008)
[12]. Comunicaciones digitales, Rodríguez, Gonzáles, 2012
154
[13]. Tratamiento y procesamiento de señales” de John G.Proakis, Dimitris G.Manolakis, (2007).
[14]. Delta-Sigma Converter Processing: aplicación de herramienta de software libre para el análisis
y caracterización de convertidores ΔΣ, Alducin Castillo, Juan Hidalgo, Iván Álvarez, Universidad
Autónoma Metropolitana-Azcapotzalco (2015).
[15]. JAVAFILTERS, Realización de Software para el Cálculo y Diseño de Filtros en Ambiente Web,
Puebla, (2004).
[16]. Síntesi i Processament del So I Departament de Sonología, Emilia Gómez, Escola Superior de
Música de Catalunya, (2012).
[17]. Implementación de Filtros Digitales Tipo FIR en FPGA, Jesús Cedillo, Klauss Bos, Gustavo
Romero, (2008).
[18]. UNIVERSAL ASYNCHRONOUS RECEIVER-TRANSMITTER, Borja Mulas, Luis Pozo,
Universidad Carlos lll de Madrid, (2015).
[19]. Protocolo SPI (Serial Peripherical Interface, Teoría y Aplicaciones, Eric López Pérez, México
Distrito federal.
[20]. Single chip 2.4 GHz Transceiver nRF24L01, Nordic semiconductor, (2008).
[21]. Principio de la comunicación, José E. Briceño, (2012),
[22]. Redes de Área Local Inalámbricas: Diseño de la WLAN de Wheelers Lane Technology College,
José Anguís, José Bueno, Ingeniería de Telecomunicación Dpto. de Teoría de la Señal y
Comunicaciones Escuela Superior de Ingenieros Universidad de Sevilla Marzo de 2008.
[23]. PSoC®5LP: CY8C58LP Family Datasheet: Programmable System-on-Chip (PSoC®).pdf, Last
Updated: Aug 07, 2019.
[24]. Sistema inalámbrico para transmisión de señales de audio con mínima latencia, Autor Becerra
Aravena, Matías Felipe, Profesor guía Céspedes Umaña, Sandra, Santiago de chile. (2016)