Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abstract—Se presenta la implementación de un sistema de señal, incluso se puede llegar a realizar una gran variedad de
procesamiento digital, de bajo costo, para señales de audio y efectos de audio tales como eco, reverberación, entre otros.
la información necesaria para llevar a cabo el correcto muestreo
de dichas señales utilizando un microcontrolador ARM Cortex-
M4. Para ello se ha compilado un conjunto de técnicas que En este documento se presentan los principales aspectos a
permiten mejorar la calidad de la señal muestreada y facilitar considerar para realizar un sistema de tratamiento de señales
el acondicionamiento de la señal previa y posteriormente al de audio en tiempo real empleando el microcontrolador Tiva
procesamiento de la misma. Como aplicación, se provee la TM4C123G, ası́ también, se presentan distintas técnicas para
información necesaria para realizar efectos de audio basados en mejorar la calidad del audio al momento de ser muestreado y
filtros FIR y en retardos de muestras.
la implementación de efectos de audio empleando filtros FIR
Keywords—Procesamiento digital de señales, muestreo de au- y efectos basados en retardos.
dio, Cortex-M4, Filtros FIR.
el rendimiento y consumo energético de los mismos. El uso de Texas Instruments, el cual realizarı́a la función de
de estos procesadores en microcontroladores que poseen una procesador digital de señales.
gran variedad de periféricos, facilita la implementación de los • ADC interno del microcontrolador TM4C123GH6PM,
mismos en una mayor cantidad de sistemas que requieran un el cual posee una resolución de 12 bits y una tasa de
balance entre consumo y poder de procesamiento. muestreo máxima de 1MSPS.
• DAC TLV5616, el cual posee una resolución de 12 bits y
Un ejemplo de ello es la familia de procesadores ARM comunicación serial 4-Wire, haciendo uso de la interfaz
Cortex-M4, estos son procesadores embebidos de alto SPI.
rendimiento con una gran flexibilidad de configuración, A continuación se presenta el diagrama de bloques gener-
los cuales han sido diseñados con una gran variedad de alizado para un sistema DSP.
caracterı́sticas orientadas al control de señales digitales. Estos
procesadores poseen extensiones para realizar instrucciones
que anteriormente solo pertenecı́an a los DSP (Procesadores
digitales de señal), tales como instrucciones MAC (Multiply-
Accumulate), SIMD (Single Instruction Multiple Data) con
optimización aritmética y opcionalmente pueden incluir una
FPU (Unidad de punto flotante) de simple precisión.
El costo relativamente bajo de la familia de procesadores Figura 1. Elementos de un sistema de procesamiento digital de señales
Cortex-M4 y su alto rendimiento, permite reemplazar DSPs
de mayor costo en la realización de tareas básicas que A. Acondicionamiento de la señal previo al filtro Anti-aliasing
son esenciales en el aprendizaje del tratamiento digital de Se escogió utilizar señales de audio de nivel de lı́nea (line
señales, tales como Filtos FIR (Finite Impulse Response), level) que se encuentran en salidas de dispositivos comunes
Filtros IIR (Infinite Impulse Response), FFT (Fast Fourier como computadoras y smartphones, las señales de este nivel
Transform), entre otras. Una de las principales aplicaciones usualmente poseen un voltaje aproximado que varı́a entre
de los DSPs que puede ser implementada utilizando este tipo ±1.5V . Debido a que el ADC utilizado posee entrada unipolar,
de procesadores es el tratamiento de señales de audio, las es decir, solo reconoce voltajes positivos comprendidos entre 0
cuales al ser digitalizadas se simplifica su almacenamiento, y 3.3V, se realizó un offset de 1.5V DC a la señal para que esta
transmisión y manipulación. Mediante la manipulación de estuviera en el rango aceptado por el ADC, esto significaba
las señales de audio se pueden lograr cambios audibles en la que la señal de audio ahora estarı́a entre 0 y 3V.
XXXVI CONVENCIÓN DE ESTUDIANTES DE CENTROAMÉRICA Y PANAMÁ, CONESCAPAN, PANAMÁ, 2017 2
III. R ESULTADOS
A. Circuitos utilizados
F. Software Utilizado
1) Librerı́a TivaWare: La librerı́a TivaWare es un extensa
suite de herramientas de software diseñada para simplificar y
agilizar el desarrollo de aplicaciones para microcontroladores
de la serie Tiva C. Dicha librerı́a fue utilizada para la
configuración de periféricos y rutinas de interrupciones de
los mismos.
Figura 7. Circuito para el filtro de anti-aliasing y reconstrucción
XXXVI CONVENCIÓN DE ESTUDIANTES DE CENTROAMÉRICA Y PANAMÁ, CONESCAPAN, PANAMÁ, 2017 4
int16_t i;
float32_t tmp = 0.0;
x[k] = (float32_t)sample;
x[k+N] = x[k];
k = (k+1) % N;
for (i=0 ; i<N ; i++){
tmp += coeffs[i]*x[k+i];
}
output = (uint32_t)tmp;
Figura 8. Circuito de condensador de acople
if(output>4095){
output=4095;
B. Habilitación de dithering y 8x Oversampling }
if(output<0){
A continuación se muestran las lineas de código utilizadas output = 0;
para habilitar dithering y realizar el oversampling de factor 8 }
en Code Composer Studio para el microcontrolador utilizado. ROM_SSIDataPut(SSI0_BASE, output);
C. Efectos de audio
Se realizó la implementación de efectos de audio utilizando
filtros FIR (Pasa bajos, pasa altos, pasa banda y rechaza
banda) y efectos basados en retardos (delay y eco).
1) Filtros FIR:
Figura 10. Entrada (rojo) y salida (amarillo) del filtro pasa altos.
Figura 11. Entrada (rojo) y salida (amarillo) del filtro pasa bajos.
XXXVI CONVENCIÓN DE ESTUDIANTES DE CENTROAMÉRICA Y PANAMÁ, CONESCAPAN, PANAMÁ, 2017 5
3) Eco:
Figura 12. Entrada (rojo) y salida (amarillo) del filtro pasa banda.
current_sample -= 2048;
delayed = buffer[buf_ptr];
buffer[buf_ptr]=(current_sample+delayed*GAIN);
buf_ptr = (buf_ptr+1)%BufferSize;
delayed+=4096;
ROM_SSIDataPut(SSI0_BASE, (delayed));
Figura 13. Entrada (rojo) y salida (amarillo) del filtro rechaza banda.
2) Delay:
IV. C ONCLUSIONES
delayed = buffer[buf_ptr] + current_sample; 1) Un sistema que realice funciones básicas de proce-
buffer[buf_ptr] = current_sample; samiento digital de señales puede ser implementado
buf_ptr = (buf_ptr+1)%BufferSize; utilizando un microcontrolador ARM Cortex-M4 de bajo
ROM_SSIDataPut(SSI0_BASE, (delayed)); costo, en sustitución de procesadores digitales de señal
que suelen ser de mayor costo.
2) La elaboración de efectos digitales de audio, como
Listing 3: Segmento de código para el efecto delay aplicación de los sistemas DSP, en microcontroladores
de bajo costo representa una alternativa viable princi-
palmente en el entorno educativo dónde no siempre es
posible costear procesadores digitales dedicados.
XXXVI CONVENCIÓN DE ESTUDIANTES DE CENTROAMÉRICA Y PANAMÁ, CONESCAPAN, PANAMÁ, 2017 6
R EFERENCES
[1] R. Donald, Digital Signal Processing using the ARM Cortex M4. New
Jersey: Wiley, 2015
[2] L. Gareth, Musimathics: The mathematical foundation of music, Volume
2. MIT Press, 2007
[3] Texas Instruments. ADC Oversampling Techniques for Stellaris Family
Microcontrollers. Application Report SPMA001A, 2013.
[4] Texas Instruments. Using the CMSIS DSP Library in Code Composer
Studio for TM4C MCUs. Application Report SPMA041G, 2015.
[5] Texas Instruments. TivaWare Peripheral Driver Library. User’s Guide,
2015.
[6] Texas Instruments. TM4C123GH6PM Microcontroller Data Sheet. Rev.
E, 2014.