Escolar Documentos
Profissional Documentos
Cultura Documentos
DOCENTE:
Dr. Juan Carlos Cutipa Luque
1
EFECTOS DE LA GUITARRA ELÉCTRICA
EN FPGA(VHDL)- NEXYS 4 DDR
1 Especificaciones
• Se utilizara el FPGA Nexys-4..
• Se digitalizara la señal analogica que sale de la guitarra.
• La señal de la guitarra son procesadas por un FPGA.
2 Objetivos
2.1 Objetivo General
• Crear efectos de la guitarra eléctrica con la FPGA.
2
2.2 Objetivos Especificos
• Se utilizara el FPGA Nexy 4 DDR.
• Se digitalizara la señal analogica que sale de laguitarra.
• Elusuario podra elegir el tipo de efecto que quiera con los pulsadores.
• La tarjeta Nexys tiene un filtro que permite la demodulacionPWM que se
puede generar.
• Poder seleccionar los efectos de la guitarra.
3 Resumen
El Propósito de este proyecto es el de crear unos efectos de guitarra eléctrica
digitales,los cuales tomaran la señal de la guittarra para ser procesada por un
FPGA.Este proyecto presentará un pequeño acercamiento sobre los efectos de
guitarra y su procesamiento digital,de la metodologı́a de la construcción del
proyecto,y de la explicación los resultados obtenidos.
4 Introducción
La música es una gran parte de la vida de todos y hay una constante presión en
la industria de la ingenierı́a para mejorar el hardware y la calidad de sonido, sin
tener que aumentar los costos. La motivación para que el proyecto se llevara a
cabo el como las señales son obtenidas de la guitarra, procesadas y reconstruidas.
Para hacer eso se decidió hacer efectos de guitarra, que es uno de los instru-
mentos más conocidos por sus ”efectos” usando la tarjeta Nexys 4 DDR, que
nos permitirá digitalizar la señal de audio de la guitarra, seleccionar los efectos
de guitarra con los interruptores, los cuales un usuario podrá elegir los efectos.
Además se tendrá que tener una salida de audio, puesto que lo más común
será usar un DAC para obtener la señal continua, la tarjeta Nexys 4 DDR tiene
un filtro que permite la demodulación PWM que se puede generar, la cual sale
por el puerto auxiliar a un parlante externo o amplificador.
3
tratar una señal PCM generada por el ADC y procesada en el FPGA y conver-
tirla en una señal PWM, para poder usar el puerto auxiliar de la tarjeta Nexys
4 DDR y el procesamiento digital de señales.
Sobre todo, hubo mucho que tuvo que ser aprendido para el diseño y la
implementación del proyecto, este mismo proyecto puede ser usado como una
base para futuras mejoras, tanto en eficiencia como en calidad de audio.
5 FUNDAMENTOS TEORICOS
Para la realizacion de nuestro proyecto de efectos de guitarra electrica en FPGA
nexys 4 tomares en cuenta el conocimiento previo de los siguitens temas que se
ya se han visto en cursos anteriores a microelectronica en todo caso haremos un
breve resumen:
–MODULACION POR ANCHO DE PULSO (PWM)
–FILTRO DIGITALES
D=t/T
• D = Ciclo de trabajo
• t = Tiempo en el que la funcion es positiva (ancho de pulso)
• T = Periodo de la funcion
4
Figure 1: En la imagen tenemos una representación de la modulación AM , FM
respecto a la señal de audio (guitarra) como se aprecia en la modulación AM
se presentan crestas y valles , mientras que en la FM todas son de la misma
amplitud (fuente Universidad Técnica de España )
5.2.2 DEMODULACION.
Son un conjunto de técnicas para recuperar la información que se transporta en
la señales, existen vairas tecnicas para demodular una señal entre las pincipales
tenemos a la amplitud modulada (AM) y la frecuencia modulada (FM).
5
Figure 2: Bloque XADC
F s >= 2F max
(1)
5.4.1 DIGITALIZACION
La digitalización o conversión analógica-digital (conversión A/D) consiste básicamente
enrealizar de forma periódica medidas de la amplitud (tensión) de una señal (por
ejemplo, la queproviene de un micrófono si se trata de registrar sonidos, de un
sismógrafo si se trata de registrarvibraciones o de una sonda de un osciloscopio
para cualquier nivel variable de tensión de interés),redondear sus valores a un
conjunto finito de niveles preestablecidos de tensión (conocidos comoniveles de
cuantificación) y registrarlos como números enteros en cualquier tipo de memo-
ria o soporte. La conversión A/D también es conocida por el acrónimo inglés
ADC (analogue to digitalconverter). debemos recordar que la tarjeta Nexys 4
tiene ya integrada un ADC llamado XADC.
6
Figure 3: Ejemplos de Señales
5.5 Antecedentes
El procesamiento de la señal se puede lograr tanto en el dominio analógico como
en el digital. La diferencia entre lo analógico y lo digital es que las formas de
onda analógicas son continuas tanto en tiempo como en amplitud, mientras que
las digitales son discretas en ambos aspectos.
7
atenúan o amplifican. Un ecualizador en su forma más básica es una combi-
nación de filtros que controla la amplitud de la señal de audio en frecuencias
definidas. Un ejemplo es un ecualizador de 2 bandas que utiliza un filtro de paso
bajo y un filtro de paso alto para controlar la ganancia de las frecuencias más
bajas, los graves y las frecuencias más altas, los agudos, de forma independiente.
f recuenciaanalógica
F (f recuenciadigital) = (2)
f recuenciademuestreo
8
Figure 4: FPGA Nexys 4 DDR
9
Figure 5: Bloque XADC
10
un comparador para cambiar de estado a la salida PWM y ası́ sucesivamente se
genera una señal PWM a partir de una codificación.
5.8 Efectos
5.8.1 Overdrive
Para generar este tipo de distorsión en el mundo analógico, simplemente se
aumentaba la ganancia de un amplificador y se saturaba la salida, generando
”clipping” o recortes en la señal, es decir que permanecı́a constante hasta que
deje de saturarte, en general o comúnmente eso no se desea en ningún tipo de
aplicación, pues se pierde información y generas armónicos en tu salida, pero en
el mundo del audio, se usó este fenómeno no deseado para poder crear algunos
efectos o sonido diferentes a los instrumentos amplificados, como lo son siempre
las guitarras eléctricas. Para hacer el programa en VHDL, se necesita simple-
mente marcar un margen en el cual uno desee que este se recorte o genere el
”clipping”, para nuestro caso, la señal de entrada no está centrada en cero, por
lo cual hay que hallar el valor para el lı́mite superior y el lı́mite inferior, si es
que se quiere un Overdrive simétrico distanciados equitativamente, el cual será
el tipo que usaremos, parece bien fácil, la verdad lo es pero eso solo en teorı́a,
pues se entiende fácilmente la idea, para poder implementarlo, hay que hacer
prueba tras prueba para quedar un valor decente o deseado. Puesto que varios
factores afectan, como el offset, la amplitud de salida de la guitarra y el valor
de amplificación posterior puesto que solo limitamos la señal, a diferencia de
un Overdrive analógico este se satura, aumentando la amplitud de la frecuencia
fundamental y generando armónicos, pero en esta forma digital solo ponemos
un valor lı́mite, la amplitud de la frecuencia fundamental no se amplifica y no
suena tan fuerte como el audio de la guitarra en limpio, o como un Overdrive
leve.
5.8.2 Distorsión
La forma más sencilla de crear distorsión es recortar la amplitud de la señal de
salida. En el dominio analógico un circuito de recorte que consiste en resisten-
cias y diodos. En el dominio digital, el desbordamiento aritmético se aplica a
la salida. El desbordamiento se logra cuando la señal de entrada es mayor que
el valor permitido definido por el tipo de datos de las salidas. Normalmente
se evita el desbordamiento por diseño porque las señales distorsionadas no son
deseadas. Para aplicar la distorsión, se utiliza un valor de umbral para com-
parar la entrada y, si es mayor que el umbral, se genera el valor de umbral.
Para el programa en VHDL, se usaron limites como en el overdrive, solo que
en este se usaron más para definir diferentes ”saturaciones”, puesto que hacer
la curva de saturación suave, una curva suave se necesitarı́an muchos lı́mites,
pero a cambio de eso se tendrı́a un sonido más natural o ”analógico” en la salida.
11
Figure 6: Señal con saturación suave
5.8.3 Trémolo
El efecto de trémolo es sin duda uno de los efectos más llamativos, siendo
también uno de los efectos analógicos más antiguos, este efecto se basa en el cam-
bio de amplitudes, que pueden ser de forma triangular, circular, o de cualquier
otra forma geométrica, puesto que solo se define el trémolo como un efecto que
varı́a las amplitudes de la señal a una frecuencia baja o se puede ver como una
señal modulada, como en AM por ejemplo. Su teorı́a no es tan sencilla como los
efectos de distorsión, pero lo sigue siendo, se tiene que generar la señal modu-
ladora con la forma elegida, que en nuestro caso es una señal triangular, esta se
multiplica con la señal de audio que queremos modificar con el efecto y listo, se
tiene el efecto trémolo. Para hacer el código en VHDL, se necesitaron generar
diferentes frecuencias de reloj para los diferentes niveles de trémolo, generar la
señal triangular a partir de esos relojes con un código de incrementar y decre-
mentar, puesto que son señales triangulares son lineales, después de generar la
señal triangular, está la multiplicamos con la señal muestreada y nos sale una
señal triangular portando sobre sı́ misma la señal de audio, generando un ruido
en la salida del parlante bastante alto. El problema tuvo que ver con que nuestra
señal de audio no estaba centrada en 0V y tenı́a una componente de corriente
continua (offset), la cual también es multiplicada por la señal triangular, obte-
niendo la salida ya mencionada, una solución a este problema fue generar un
filtro pasa altas, puesto que la frecuencia de esta señal es bien baja, no tendrı́a
que afectar a la calidad de audio de la salida de la tarjeta, el filtro fue diseñado
para una frecuencia de corte de aproximadamente 18Hz.
12
Figure 7: Señal del Efecto Trémolo
6 Metodologı́a
En esta imagen, la figura a, básicamente ingresamos las librerı́as a usar, estas
son la estándar de la IEEE. También tenemos lo que son las entradas y salidas
que conformaran nuestro proyecto hasta el momento como son:
- clk, que es la entrada de nuestro reloj.
- led, que mostrara una señal de salida según la apmplitud de la misma en los
leds.
- En1, que viene a ser uno de los habilitadores que usaremos para seleccionar o
habilitar el primer efecto logrado para el presente proyecto.
- PWMO U T, paratenerlasalidaconunf iltroP W M.
− AU DS D, habilitadorparabotarlaseñaldelef ectooaudio.
− V auxp3,
− V auxn3,
13
Figure 8: Librerı́as, entradas y salidas del proyecto.
14
este componente y este lo ejecuta.
Una señal puede ser una salida o entrada interna, es decir, que está dentro
del FPGA al cual no necesito ponerle o asignarle una salida fı́sica, sino que es
una lógica dentro del FPGA.
Entonces:
- x, viene a ser nuestra entrada principal de la señal analógica por ası́ decirlo
porque en realidad es digital y tiene 12 bits.
- x2, es una señal de salida del componente highpass, el OUTPUT que tiene
este componente.
- y1, es la salida de nuestro primer efecto alcanzado hasta el momento.
15
Figure 11: Señales del proyecto en el FPGA y filtro pasa altos.
OUTPUT.
Este filtro se usó porque cuando se acomodó con un offset la señal de la gui-
tarra se obtuvo una señal analógica continua y fija, senoidal, pero por encima del
cero del eje horizontal, y al multiplicarlo con el efecto que nosotros planteamos
aplicar nos da una señal fea, la cual tiene mucho ruido y por lo tanto usando
este filtro nosotros podemos disminuir este ruido.
Al ser uno de los efectos que planteamos usamos el habilitador en1 para selec-
cionarlo, entonces, si el habilitador está en 1 estaremos operando con este efecto.
16
Figure 13: Filtro pasa altas.
17
Figure 14: Efecto de guitarra OVERDRIVE.
18
Figure 15: Selección de salida.
19
Figure 16: Procesos para la salida PWM.
20