Implementación de efectos acústicos

Documentos relacionados
Sistemas lineales invariantes en el tiempo

Análisis de Sistema FIR - IIR en TD

PROBLEMAS TEMA 2 TEORÍA DE LA APROXIMACIÓN

Problemas de Estructuras de Filtros Digitales.

Seminario de Procesamiento Digital de Señales

Sistemas Lineales e Invariantes PRÁCTICA 2

Señales: Tiempo y Frecuencia PRÁCTICA 1

ELO 385 Laboratorio de Procesamiento Digital de Señales Laboratorio 4: Filtros digitales Parte I

GUÍA DE LABORATORIO 2 FILTROS DIGITALES FILTROS FIR E IIR

Práctica 3: Convolución

Práctica 1: Perturbaciones: distorsión y ruido

Taller de Filtros Digitales 2016 Práctica 2

1. Una onda sonora armónica tiene una frecuencia de 1 Hz y una amplitud de 100

FISICA APLICADA. A. Preguntas: Leer el material bibliográfico para responder las siguientes preguntas.

transmisión de señales

En la Clase 3, se demostró que cualquier señal discreta x[n] puede escribirse en términos de impulsos como sigue:

Filtrado Digital. Lectura 2: Estructuras Básicas de Filtros Digitales

Práctica 3. Nombre del curso: Teoría Moderna de la Detección y Estimación. Autores: Emilio Parrado Hernández

PROBLEMAS TEMA 1 INTRODUCCIÓN. DEFINICIONES BÁSICAS

Problemas de Filtros Digitales FIR. VENTANAS

Fundamentos de los Computadores Grado en Ingeniería Informática

CAPÍTULO V: IMPLEMENTACIÓN FILTROS DIGITALES EN FPGA's IMPLEMENTACIÓN DE FILTROS DIGITALES EN FPGA'S IEC FRANCISCO JAVIER TORRES VALLE

Ayudantía Análisis de Señales. Transformada Z

Vídeo Digital Examen de Junio de 2001

UNIVERSIDAD DE SONORA

Sistemas LTI discretos

Síntesis del sonido I

PRÁCTICA 3. Identificación de un Motor de Corriente Continua. mediante su Respuesta Frecuencial

Estudio De Un Absorbente Electroacústico

ELO Procesamiento Digital de Señales Lab. 3 - Parte I: Filtros Digitales en MatLab

Muestreo PRÁCTICA 3. Laboratorio de Señales y Comunicaciones. (2 sesiones)

2. SEÑALES Y SISTEMAS DISCRETOS EN EL TIEMPO. Una señal puede ser definida como una portadora física de información. Por ejemplo,

Escuela Politécnica Superior 3º Ingeniería Informática. Laboratorio TAAO1. Curso 2004/2005. Autor de la práctica: Prof. Doroteo Torre Toledano

TEMA 2: MODULACIONES LINEALES

DISEÑO DE UNA INTERFAZ PARA LA SIMULACIÓN DE FILTROS ADAPTATIVOS BASADOS EN EL ALGORITMO LMS

Análisis de Fourier: efectos de un medio físico ideal en la transmisión de una señal digital

Procesamiento digital de audio usando Matlab. Laboratorio de procesamiento digital de audio. Disertantes: Pablo R. D Angelo / Agustín M.

Práctica 4: Series de Fourier

Laboratorio de Procesamiento Digital de Voz Practica 1. INTRODUCCION DE MATLAB Y MANEJO DE ARCHIVOS DE VOZ

ANEXO B: TEORÍA UNIFORME DE LA DIFRACCIÓN

Conversión Analógico/Digital

SISTEMAS DE CONTROL ANÁLISIS Y DISEÑO DE SISTEMAS DE CONTROL EN EL DOMINIO DE LA FRECUENCIA. Profesor: Adrián Peidró

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Método Simplex. Ing. Ricardo Fernando Otero, MSc

Objetivo específico: Maneja los elementos básicos de algoritmos utilizados para resolver un problema por computadora.

Práctica 1 INTRODUCCIÓN A MATLAB

Prof. Víctor J. Avilés Franco. ONDAS SINUSOIDALES, 2 da Parte

ONDAS Y SONIDO JUNIO 1997: 1.- SEPTIEMBRE

3) a) En qué consiste la refracción de ondas? Enuncie sus leyes. b) Qué características de la onda varían al pasar de un medio a otro.

Creación de modelos matemáticos para representar los acordes musicales mediante ondas sinusoidales

Materia: Análisis de sistemas y señales

Práctica 6: Aplicaciones de la TF

Pràctica 3: Síntesis por modulación

INTRODUCCION- FILTRO DE WIENER

TEORÍA DE SISTEMAS PRÁCTICA 7 SISTEMAS. SISTEMAS DISCRETOS Y MUESTREADOS 1. INTRODUCCIÓN DE SISTEMAS DISCRETOS EN SIMULINK

Muestreo y Procesamiento Digital

Contenido. XVII Introducción. Prefacio

ESTADÍSTICA BIDIMENSIONAL

Distribuciones Bidimensionales.

Primera parte (2.5 puntos, 20 minutos):

LABORATORIO DE TEORÍA DE COMUNICACIONES MARZO SEPTIEMBRE PRACTICA No. 3

Ejemplos usando la Carta de Smith. Ejemplo 1.

ANALISIS DE CIRCUITOS DE CORRIENTE ALTERNA

Aplicaciones del Tratamiento de Señales. Parte 1: Grabación y Reproducción de Señales de Voz

Programación Estructurada

DEMODULACIÓN AM. - El detector de envolvente es un método muy simple de demodulación que consta de un rectificador y un filtro paso bajo.

Seguimiento de los parámetros del modelo del tracto vocal

Fecha de creación 07/04/ :38:00 5. EL SUBWOOFER

TEMA 6: GEOMETRÍA ANALÍTICA EN EL PLANO

Unidad Didáctica 3. Acústica Arquitectónica

Unidad 6. Ficha de trabajo I

Trabajo opcional tema 3: modulación lineal

Universidad Nacional de La Plata - Facultad de Bellas Artes. Acústica Musical. Guías de Trabajos Prácticos. Primer cuatrimestre - Año 2009

Diagramas de flujo El método gráfico.

Integral de Fourier y espectros continuos

1. Implementación de filtros IIR: Formas Directas I y II

Derivadas Parciales (parte 2)

Ayudantía 1 Fibras Ópticas

INSTITUTO SAN ROQUE GUÍA DE TRABAJOS PRÁCTICOS FÍSICA. 4to. y 5to. AÑO

Transcripción:

Práctica 3: Implementación de efectos acústicos 3.0.- Objetivos Al finalizar esta práctica, el alumno debe ser capaz de: Grabar una señal de voz procesarla en Matlab. Añadir un eco, con diferente amplitud retardo a una señal de voz. Representar reproducir, la nueva señal de audio. Explicar el efecto de cada parámetro en la señal con eco. Añadir reverberación, con diferentes amplitudes, retardos, número de ecos a una señal de voz. Representar reproducir, la nueva señal de audio. Explicar el efecto de cada parámetro en la señal con reverberación. Añadir un efecto flanging a una señal de audio. Representar reproducir, la nueva señal de audio. Explicar el efecto de cada parámetro en la señal con flanging. 3.1.- Introducción En esta tercera práctica, empezaremos a tratar sistemas o filtros. Estrictamente hablando, un filtro es un sistema diseñado para eliminar o modificar componentes de la señal. Hablaremos de los filtros FIR (Finite Impulse Response). Estos filtros son sistemas para los cuales cada salida es un promedio de un número finito de muestras de la señal de entrada. La expresión general de un filtro FIR es de la forma: M [] n = bk x[ n k] k = 0 Para computar la salida en el instante n, el filtro emplea las M+1 muestras anteriores multiplicándolas por los coeficientes b k. Un filtro FIR está completamente determinado por dichos coeficientes. El orden del filtro es el número de coeficientes-1. Los efectos de audio que vamos a tratar son todos filtros FIR, de la forma anteriormente indicada. 1.1

3.2.- Retrasos eco Quizá el más básico de todos los efectos sea el retraso temporal. Este efecto se utilizará luego como base para construir otros efectos más complejos. Un retraso en el tiempo se puede expresar mediante la siguiente ecuación en diferencias: [ n] = x[ n D] donde D es el retardo en número de muestras que experimenta la señal. Así, un eco, que no es mas que la suma a una señal de la misma señal atenuada retardada en el tiempo, quedaría representado por: [ n] = x[ n] + ax[ n D] donde a < 1 representa las pérdidas debidas a las reflexiones durante la transmisión. El diagrama de bloques aparece representado en la Figura 1. x[n] [n] D Retardo a Figura 1: Diagrama de bloques de un sistema con eco. Escribir una función en Matlab que genere un eco de la señal de entrada. Sus parámetros de entrada serán la señal de entrada, el retardo el valor de la atenuación, a, como salida tendrá la señal generada. Recordar que para leer la señal de entrada se debe utilizar el comando [,fs,nbits]=wavread('nombre_archivo.wav') donde será el vector con los datos, fs es la frecuencia de muestreo que se utilizó cuando se generó el fichero '.wav' nbits es el número de bits con que los datos fueron almacenados. Para más detalles utilizar la auda de Matlab. fs es la frecuencia a utilizar cuando reproducimos el sonido utilizando sound. Comprobar que existe un valor mínimo del retardo introducido para que este comience a percibirse. Utilizando Fs calcular el tiempo al que corresponde este retardo Comprobar el efecto del parámetro a, variando su valor. NOTA: Tener en cuenta que la señal retardada tiene una duración D muestras maor que la original. 1.2

3.3.- Reverberación Si un número infinito de ecos sucesivos es sumando, obtenemos una reverberación similar a la que experimentan las habitaciones. La reverberación es el resultado de las múltiples reflexiones de un sonido, por ejemplo en una habitación. Desde cualquier fuente de sonido existe un camino directo a nuestros oídos. Además, las ondas de sonido pueden tomar un camino más largo, reflejándose en las paredes, suelo techos de la habitación antes de llegar a nuestros oídos. Una onda reflejada llegará más tarde que la onda directa, a que la distancia que recorre es más larga, es así mismo más débil, a que cada rebote supone una pérdida de energía. La señal de salida puede calcularse recursivamente como: [ n] = x[ n] + a [ n D] El valor inicial de [] n es x [ n] el número de iteraciones será el número de ecos tenidos en cuenta. Así por ejemplo, una iteración nos genera un eco como el que hemos estudiado en el ejercicio anterior. x[n] [n] a D Figura 2: Diagrama de Bloques de un reverberador. Escribir una función en Matlab que genere un efecto de reverberación de la señal de entrada. Sus parámetros de entrada serán la señal de entrada, el retardo, el valor de la atenuación, a, el número de ecos tenidos en cuenta. Como salida tendrá la señal generada. NOTA: Tener en cuenta que cada iteración aumenta el tamaño de la señal en D muestras. 3.4.- Flanging El efecto de flanging se puede crear fácilmente haciendo que el retardo varíe periódicamente usando para ello una onda sinusoidal de baja frecuencia. Sin embargo la forma más natural de interpretar el flanging pasa por entenderlo como si fuese un simple eco. Es decir, a cada muestra de la señal original se le suma otra muestra de la misma señal pero atenuada desfasada con respecto a la muestra original. Además el flanging añade la peculiaridad de que este desfase no es fijo, ni aleatorio, sino que se trata de un desfase que viene marcado por una función sinusoidal. 1.3

De ahí que el efecto final del flanging sea el de un eco más o menos curioso con reverberaciones que parecen no ajustarse a un patrón determinado, aunque ahora a sepamos de dónde proceden. El efecto de flanging se puede resumir en esta fórmula: [ n] = x[ n] + ax[ n d( n) ] Donde el retardo d[n] realmente varía de igual modo que una sinusoide entre los límites 0 <= d[n] <= D, según cualquiera de las siguientes fórmulas (equivalentes); d[n]= D/2 * ( 1- cos(2*pi*f d *n) ) d[n]= abs( round ( D cos(2*pi*f d *n) ) ) Donde Fd representa una frecuencia baja ( típicamente 1Khz) en unidades de ciclos/muestra. El diagrama de flujo que explica conceptualmente el efecto del flanging es el siguiente: X[n] + Y[n] Z -d a Figura 3: Diagrama de bloques para flanging. El siguiente dibujo ilustra de forma clara como se podría conseguir un flanging en caso de disponer de una pared móvil : 1.4

Señal + ecos D Señal con flanging Figura 4: Flanging con una pared móvil. Al final la fórmula del flanging quedará así; (i)= x(i)+a*x(i-dela(i)); donde el dela se saca de la señal sinusoidal. Es mu importante que el argumento de la señal eco : [i-dela(i)], tome un valor siempre positivo. Para ello la señal final se construirá en dos pasos: 1. Hacemos que en las D primeras muestras la señal original sea la misma. for i=1:1:d+1 (i)=x(i); end; 2. En las muestras posteriores ( hasta la última muestra de la señal de entrada) a la señal original se le añade el eco. Se trata de diseñar este eco, sabiendo que su amplitud no puede ser maor que D que su frecuencia viene dada en ciclos por muestra. for i=d+1:1:xlen dela(i) = ----------------? (i)= x(i)+a*x(i-dela(i)); 1.5

end; Una posible estructura para comenzar el programa sería esta: [x,fs,n]=wavread('dt.wav');%cargamos señal de audio xlen=length(x)%número de muestras en la señal original %constantes--------------------------------------- a=/****/; % atenuación de la señal de eco D=/****/; % numero de muestras en el retardo =zeros(size(x)); dela = zeros(size(x)); ccle=/****/; % cosntrucción de la señal ----------------------- for i=1:1:d+1 / ******************** / end; for i=d+1:1:xlen dela(i) = / ******************************** / (i)= x(i)+a*x(i-dela(i)); end; sound(,fs); Variar el valor del parámetro a. Qué observas?, Qué efecto tiene esta constante sobre el la señal resultante? Variar el valor del parámetro D. Qué cambios observas?, qué valores de D hacen que el eco se haga notar antes? Quizá esta figura te aude a entenderlo mejor. 1 D.. xlen ( xlen - D ) Figura 5: Vector de salida en efecto flanging. 1.6