Está en la página 1de 2

1

ELO 314 - Procesamiento Digital de Señales


Lab. 2 - Parte II: Señales de Audio en la LCDK
Preparado por
Dr. Gonzalo Carrasco, e-mail: Gonzalo.Carrasco@usm.cl

I NTRODUCCI ÓN
El propósito de este laboratorio es continuar madurando los conceptos del laboratorio anterior como el proce-
samiento algebraico (sin memora) con funciones no lineales, e incluir conceptos de uso de buffers, lı́neas de retardo
y su indexación. Esto implica trabajar con sistemas con memoria, que consecuentemente son sistemas digitales
dinámicos, donde además se trabajará con funciones de transferencia implementadas en la LCDK.

Descargue los archivos necesarios para esta experiencia, los que incluyen varias librerı́as de soporte, desde el
repositorio del laboratorio (https://bitbucket.org/Gonzalo_AC3E/labdsp_elo314_utfsm).
Cree en CCS un proyecto llamado lab2p2, enlazando correctamente todas las dependencias, o importe el
proyecto desde la imagen del repositorio. Construya su proyecto y experimente en base a los siguientes puntos.
Se recomienda ir guardando el archivo L2p2.c con nombres distintos que respondan a secciones o preguntas
muy diferentes entre si. En CCS, puede usar Exclude from building para no incluir un archivo al building toolchain.

I. S ISTEMAS CON MEMORIA : buffers, RETARDOS Y FUNCI ÓN DE TRANSFERENCIA


1) Ingrese una señal desde un generador de señales que se codifique con al menos el 70% del rango dinámico del
codec. Usando el código entregado ponga la señal capturada a la cabeza del buffer lineal audioBufferL y
extraiga la cola del buffer por ambos canales de salida.
(4ptos) Mida con osciloscopio cual es el retardo agregado por el buffer para una señal de entrada donde sea
fácil de medir su fase. Mida los ciclos de reloj del DSP que toma la actualización del buffer. Cambie la
frecuencia de muestreo del códec a 32 ksps y mida el nuevo retardo del buffer. Comente sus observaciones.
(3ptos) Nuevamente a 16 ksps, genere un retardo de 250 ms con el buffer (desprecie retardo propio del codec)
entre la entrada y salidas. ¿Es posible? ¿por qué?.

2) (4ptos) Implemente un buffer circular con audioBufferL que genere 250 ms de retardo. Muestre la sección
de código. ¿Cuántos ciclos toma actualizarlo?.
(4ptos) Muestre su captura en el informe e indique los principales parámetros de configuración usados para
ello en el codec.

3) Conecte un micrófono a la LDCK que permita capturar su voz con un uso de al menos el 70% del rango de
entrada (SNR alto).
(3ptos) Produzca un retardo a la señal del micrófono de 250 ms y extráigala por ambos canales de audio. Usando
audı́fonos, y al volumen más alto que le sea saludable escuchar (con el fin de opacar el ruido audible externo),
escúchese leyendo o hablando intentado solo escucharse por los audı́fonos. ¿Qué experimenta? Comente al
respecto.

4) Considere que un oscilador de tipo biquad se representa por la siguiente funció de transferencia:
sin(ωo )
H(z) = (1)
1 − 2 cos(ωo ) z −1 + z −2
donde ωo = 2π ffs es una frecuencia normalizada entre [0, 2π], fs es la frecuencia de muestreo y f es la
frecuencia de operación del oscilador. En el código dado están implementados dos osciladores generando
2

dos frecuencias: 130.8 Hz y 164.8 Hz. Configure la parte del código entregado para extraer la señal de los
osciladores biquad, uno por cada canal.
(6ptos) Modifique los parámetros del biquad2 de forma dinámica para generar con él 8 frecuencias distintas
de igual amplitud, cada una por un periodo aproximado de 0.5 s con la siguiente secuencia cı́clica (se repite):
261.6 Hz, 293.7 Hz, 329.6 Hz, 349.2 Hz, 392.0 Hz, 440Hz, 493.9 Hz y 523.3 Hz.

5) Implemente un algoritmo que le permita calcular el valor RMS de una ventana temporal de 16 ms de la señal
del micrófono. Debe obtener un nuevo valor RMS cada 16 ms con los datos capturados durante ese tiempo
(notar que no es una ventana móvil).
(6ptos) Use el valor RMS calculado, para modular la señal de un biquad de frecuencia cambiante, extráigala
por la salida de audio sin distorsión y capture en osciloscopio la ranura temporal en que usted pronuncia la
palabra “modulación” frente al micrófono. Muestre también una captura de detalle para algún momento en
que la señal de salida cambia de amplitud de forma notoria. ¿Cuántos ciclos de reloj del DSP toma calcular
el valor RMS? Usar DLU_tic() y DLU_toc().

II. E FECTOS DE AUDIO


1) Implemente el efecto de distorsión Overdrive visto en la primera parte del laboratorio, y pruébelo con el audio
gtr_jazz.wav. Utilize los parámetros α = 0.2, β = 0.05, Gi = 1 y Go = 1.
(4ptos) Muestre en osciloscopio la señal resultante y la de entrada a modo de comparación. Elija una señal
apropiada para que se visualice mejor el efecto.
(3ptos) Comente qué sucede al variar α = 0.1 y ganancia de entrada a Gi = 3 y explique brevemente el
funcionamiento del Overdrive.
Recuerde que el efecto Overdrive de entrada x y salida y tiene la siguiente expresión:
n G (β G x + sign(x)(1 − β)α) if |x| ≥ α
o i
y= . (2)
Go G i x if |x| < α
2) Implemente un efecto de retardo multi-etapa (delay multi-tap). Evalúe el efecto programado para 4 etapas
con un retardo por etapa M equivalente a 125 ms y ganancia constante k = 0.35. Ingrese una señal que
estime conveniente para validar su efecto de audio, puede probar con varias señales y escucharlas (ver carpeta
audio_files del repositorio).
(4ptos) Muestre en el osciloscopio una señal de entrada elegida que mejor muestre el efecto junto a la señal
de salida correspondiente. Recuerde que la señal del delay multi-tap es:
N
X
y(n) = b(k)x(n − k · M ) = b1 x(n − M ) + b2 x(n − 2M ) + b3 x(n − 3M ) + ... + bN x(n − N · M ). (3)
k=1
(4ptos) Varı́e los parámetros a N = 10, M equivalente a 200 ms de retardo por etapa, y que los coeficientes
varı́en según la función b(k) = 0.35k . Muestre una señal de entrada elegida para ver mejor el efecto junto a
la salida correspondiente.

3) Implemente el efecto de audio escogido por el grupo.


(10ptos) Debe mostrar su modelo matemático, diagrama de bloques, función de transferencia o la formalidad
necesaria para modelar o representar el procesamiento que realiza. Ingrese una señal de pruebas apropi-
ada a su efecto, registre el audio original y el de salida (en formato .mp3 o .wav) usando los nombres
audio_sin_efecto y audio_con_efecto.

Informe de Laboratorio:
Comente sus figuras adecuadamente. Si utiliza fotografı́as digitales, asegúrese éstas que permitan leer e interpretar
sus datos. Presente los gráficos correctamente etiquetados, su segmentos de código relevantes en C, y los archivos
de audio de salida para cada caso. Estos últimos deberán ser enviados vı́a email en un archivo comprimido siguiendo
las instrucciones generales.

GCR

También podría gustarte