Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ResumenEn el presente documento s implementan diferentes efectos de audio digital y tcnicas de filtrado en tiempo real
mediante un FPGA tipo Xilinx Zynq-7010 utilizando para ello un
lenguaje de alto nivel como es NI Labview que generara el cdigo
VHDL a implementarse en el hadware mencionado, previamente
se exponen las caractersticas matemticas de cada uno de los
efectos y el proceso que cumplen en el tratamiento de la seal,
anlogamente se programa y compar los resultados obtenidos
con los logrados utilizando Simulink en una computadora de
propsito personal, en los que se pueden apreciar claramente el
predominio del FPGA en cuanto a procesamiento en tiempo real
se refiere.
Index TermsProcesamiento, Efecto de audio, Filtro, Retardo,
FPGA.
AbstractIn this document we implemented several digital
and filtering techniques in real time using Xilinx Zynq-7010
FPGA. To achieve this we use a high level programming
language like NI LabView to generate the VHDL that will
be recorded in the hardware. We expose the mathematic
characteristics of each one of the effects and the impact
in the processing of the audio signal. We also compare
the results that we got with the FPGA and compare them
with those we obtained using Simulink in a personal computer
and we can apreciate the power of FPGA in real time processing.
Key TermsProcessing, Audio Effects, Filters, Delay, FPGA.
I.
I NTRODUCCIN
II.
M ETODOLOGA
II-A.
Eco
Figura 1. Eco
II-B.
Reverberacin
Donde:
x(n): Seal Emitida.
g: Ganancia del Filtro.
N : Retraso medido en muestras.
y(n): Respuesta del Filtro Pasa-Todo.
Para el diseo de la reverberacin tarda de Schroder se
debe tomar en cuenta el tiempo de retardo tanto para el Filtro
Pasa-Todo como del Filtro Peine, que puede ser calculado a
partir de la siguiente ecuacin [5].
=
N
fs
Donde:
: Tiempo de Retardo
N : Representa el orden del retardo en muestras
fs : Frecuencia de muestreo
Otro parmetro temporal importante en la reverberacin, es
el tiempo necesario para que el nivel de presin dentro de un
cuarto decaiga 60 dB de su nivel inicial, por lo cual se tiene
una relacin directa con el tiempo de retardo y el escalamiento,
sea para el Filtro Peine o Pasa Todo, y puede ser calculado
mediante la siguiente ecuacin [5].
3
g = 10 T r
Donde:
g: Facto de Escalamiento, ganancia del reverberador
: Tiempo de retardo.
Tr : Tiempo de reverberacin, el cul depende del espacio
fsico que se desee emular, algunos valores recomendados se
pueden observar en el cuadro 1.
Tipo de Sala
Sala de Conferencias
Cine
Sala Polivalente
Teatro de opera
Sala de Conciertos
Iglesia
Locutorio de Radio
II-C.
Flanging
Donde:
fc1: frecuencia de corte inferior(filtro pasa-bajo)
fc2:frecuencia de corte superior(filtro pasa alto)
BW: Ancho de banda suprimido
Fo: frecuencia eliminada
III. I MPLEMENTACIN
III-1. Frecuencia de muestreo: Se considero ajustar la
frecuencia de muestreo a 50000 muestras/s que es cercana a
la utilizada para sistemas de audio digital, forzando el lazo
principal de adquisicin y escritura de datos a un periodo de
20 microsegundos. Esto se hizo debido a que no se puede
forzar al periodo exacto correspondiente a la frecuencia de
44100 Hz utilizado en la mayora de sistemas de audio [8].
III-2. FIFO: Se utilizaron variables FIFO en este caso
implementadas como bloques en la memoria interna del
FPGA, las cuales estn programadas para guardar una
cantidad de hasta 1023 posiciones de memoria [11].
III-3. Pipeline: La prealimentacion se da en la primera
etapa, se alimenta una instruccin de memoria y se guarda en
la FIFO de lectura, la segunda etapa toma la instruccin y la
ejecuta, la primera etapa aprovecha los ciclos que se ejecuta
la segunda etapa para leer la siguiente instruccin y guardarla
en la FIFO, lo cual permite un procesamiento en paralelo de
tipo serial, permitiendonos aumentar la velocidad de reloj y
reducir el consumo de energa [12].
Figura 5. Flanning.
II-D.
Un filtro elimina banda se caracteriza por rechazar una frecuencia determinada que este interfiriendo en una seal dada,
estn constituidos por un filtro paso bajo y un filtro paso alto,
donde la frecuencia de corte de los filtros que lo conforman
Se posee adems un algoritmo que permite ajustar la memoria en caso de que el orden del retardo sea mayor que la
posicin actual dada por el registro mencionado anteriormente.
El algoritmo funciona mediante una comparacin y si el valor
pedido para el retardo es mayor la posicin actual de la
memoria se procede a tomar la diferencia del valor mximo
de la direccin de la memoria RAM. El algoritmo utilizado
es:
Direccion =
IndexM emory
N < IndexM emory
32767 (N IndexM emory N > IndexM emory
IV.
Figura 7. Eco
g = 10
30,3
0,9
= 0,1
R ESULTADOS O BTENIDOS
15000
N
=
= 0,3(s)
=
fs
50000
Figura 8. Reverberacin
Figura 9. Flanging
Figura 11. Procesamiento en Computador Multiproposito
V.
La implementacion de un Flitro Elimina Banda Butterwhort
mediante un FPGA se caracteriza por tener una respuesta en
frecuencia de paso plana y luego disminuye a razn de 20n dB
por dcada , donde n es el nmero de polos del filtro, En este
caso se implementa un filtro elimina banda con un ancho de
banda suprimido de 5Khz entre la frecuencia de corte inferior
de 7.5 kHz y superior de 12.5 kHz, obtenindose un resultado
optimo al eliminar las interferencias de frecuencias altas como
por ejemplo 10KHz, como se muestra en la figura 10.
El tiempo de procesamiento en el FPGA, durante las pruebas realizadas ronda los 0.01(s) a partir de una seal de audio
dada a la entrada, que no es apreciable auditivamente, si no
solo al procesar los datos obtenidos mediante el software
Matlab, Anlogamente se realizan los efectos mediante el
software Simulink de Matlab implementado en un computador
multiproposito, Obteniendose un retardo en el procesamiento
de aproximadamente 200 ms a partir de una entrada de audio
dada, como se muestra en la figura 11.
C ONCLUSIONES
[5]
I. Dornean, M. D. Topa,