UNIVERSIDAD NACIONAL DE QUILMES CARRERA DE COMPOSICION CON MEDIOS ELECTROACUSTICOS
COMPUTACION APLICADA A LA MUSICA II Prof. Oscar Pablo Pablo Di Liscia ANALISIS ESPECTRAL DE SEÑALES DIGITALES N.B.: el siguiente apunte se elaboró básicamente con traducciones parciales de la bibliografía que se cita al final del mismo. Numerosos datos fueron omitidos por considerárselos fuera del alcance de este curso. Algunos fueron agregados y replanteados.
ESPECTROS Como casi todos sabemos, dos instrumentos musicales tocando la misma nota a la misma intensidad por la misma duración y desde la misma dirección, no suenan iguales a causa de lo que se llama su timbre. Desgraciadamente, esta definición del timbre sólo dice lo que no es: timbr timbre e es esa esa cualida cualidad d del sonid sonido o que no es la frecue frecuenci ncia a fundame fundamenta ntal, l, ni tampo tampoco co la intensidad, ni la duraciòn, ni la localización. Lo que queda es la microestructura del sonido y, para exam examina inarla, rla, debemo debemos s usar usar una manera manera de, litera literalme lmente, nte, disec disecci ciona onarr sonido sonidos, s, i.e., i.e., separarlos en sus partes constituyentes. Obviamente, una completa descripción de las partes de un sonido debe incluir información acerca de sus frecuencias, intensidades y, de manera general, podemos incluir esas cualidades en nuestra definición de timbre. A excepción de algunos instrumentos electrónicos como el Theremin, o los órganos electrónicos, el timbre no permanece igual cuando se tocan distintas notas, debido a la variación de longitud de tubos o cuerdas, tensión de los labios, etc. Ya que todas esas variaciones de timbre son bastante relevantes para la determinación de las características de los instrumentos musicales, vemos que el análisis de la microestructura de un sonido aislado sólo informa de las características de ese sonido en particular. Aun dos notas sucesivas tocadas por el mismo intérprete y de igual manera nera en el mismo smo instr nstrum ume ento nto, pue pueden den tene tenerr sorpre rprend nde ente ntes dife difere renc nciias en su microestructura. El estudio de esta microestructura y su relación con lo que escuchamos es una de las mayores preocupaciones en la investigación sobre música por computadoras, ya que es allí en donde l as complejida complejidades des de las carac caracter terís ístic ticas as físic físicas as de los instrume instrumentos ntos musicales, acústica de recintos y psicoacústica entran en juego. Nuestro modelo para describir esta microestructura se llama espectro de un sonido, por analogía con el espectro de un rayo de luz que puede obtenerse al hacer pasar la luz a través de un prisma. El prisma produce que la luz -formada por varias frecuencias, o colores- es refractada en montos variables, siendo el índice de refracción dependiente del componente o color primario en cuestión. Al observar las intensidades de la luz a esas diferentes frecuencias somos capaces de determinar la constitución del rayo de luz original. Si el rayo es luz "blanca pura", obtenemos un "espectro completo", proverbialmente los colores del arco iris. El prisma para los sonidos es el análisis de Fourier. Al aplicar la transformada Fourier a la forma de onda de un sonido podemos determinar matemáticamente cuáles montos de qué frecuencias son los responsables de esa silueta en la forma de onda y podemos usar nuestro análisis como guía para sintetizar ese sonido. Si el resultado de nuestro análisis es que todas las frecuen frecuencia cias s se encuentra encuentran n en la mism misma a proporc proporció ión, n, aprox aproximada imadame mente, nte, llamamo llamamos s al resultado "sonido blanco", por analogía con la luz blanca, o bien "ruido blanco", ya que el arco iris iris es mucho mucho mas mas atraye atrayente nte que el espec espectro tro de su contrapa contraparti rtida da sonora sonora.. Sin Sin embargo embargo,, si algunas frecuencias son considerablemente más predominantes que otras, el sonido se vuelve "colo "colore reado ado", ", y si las relac relacio ione nes s entre entre los los compo componen nente tes s que predo predomi mina nan n son son armó armónic nicas as atribuímos al sonido una fundamental definida. Cuando la forma de onda fué generada sólo
con frecuencias en relación armónica, es periódica, con un período igual al inverso de la frecuencia de la fundamental (que no necesita estar presente para que el sonido generado sea escuchado a esa frecuencia). La medición del espectro de un sonido es complicada por el hecho de que el espectro de casi todos los sonidos cambia rápida y drásticamente a través del tiempo. Esto se empeora por otro hecho: la precisión con la que medimos el espectro decrece en la medida en que intentamos hacerlo en intervalos de tiempo cada vez menores. El espectro de cada instante de la evolución temporal de una forma de onda casi no existe, por ejemplo, no podemos decir nada de los componentes de frecuencia de una señal digital examinando una sola muestra de la misma. Podemos solamente medir lo que pasa en el espectro promedio sobre un intervalo breve de tiempo, tal vez un milisegundo. Cuanto más largo el intervalo de medida es más precisa nuestra medida del contenido espectral promedio durante ese intervalo, pero sabemos menos de las variaciones de espectro ocurridas en ese intervalo. Por esto, el problema de la medición de espectro puede ser visto como la búsqueda del mejor compromiso entre estos dos fines opuestos. No se sabe exactamente cuanta precisión se necesita, esto es una cuestión abierta para la psicoacústica: en algunos casos nuestro sistema auditivo parece ser más tolerante que en otros. El modelo histórico de espectro planteado por Hermann von Hemholtz es claramente inadecuado para una resíntesis efectiva. Un modelo más reciente caracteriza una nota por tres segmentos: ataque, estado de regimen y extinción. Dicho modelo es, ciertamente, una mejora, pero tiene todavía limitaciones en las transiciones de una nota a otra. Además de ello el "estado de régimen" de cualquier sonido real no es "estable" para nada... Estas consideraciones no pretenden afirmar que la situación es desesperanzada, sólo indican que advertir las limitaciones de las técnicas de medición espectral es tan importante como tomar conciencia de su poder.
LA TRANSFORMADA FOURIER DISCRETA La DFT se usa para calcular el espectro de una forma de onda en términos de un conjunto de sinusoides relacionadas armónicamente, cada una con una amplitud y fase propias. Se implementa habitualmente con un algoritmo más eficiente llamado FFT (Fast Fourier Transform) cuyo descubrimiento ha posibilitado a la computación de espectros ser mucho más real de lo que era antes. Ya que la DFT es menos restrictiva (aunque menos eficiente) se considerará aquí sólo esta. La operación fundamental de la DFT es descomponer una forma de onda arbitraria en su espectro. El espectro de una forma de onda es una descripción de esta en términos de un número de "bloques básicos", que, en este caso, son sinusoides cuyas frecuencias se relacionan armónicamente. La DFT trabaja tomando a N muestras de una forma de onda como si fueran un período de N muestras de una forma de onda infinitamente larga compuesta solamente de sinusoides que son todas armónicos de la frecuencia fundamental que se corresponde con el período de N muestras. Debemos también discutir el concepto de energía en una frecuencia particular . Una forma de onda puede, en expresiones corrientes para DSP, tener energía, por ejemplo a 100 Hz, lo que significa que, al menos, existe en su espectro un componente sinusoidal de 100 Hz con amplitud distinta de cero. Con la palabra energía se designa en este caso a "aquello que existe" a 100 Hz, que no existe a , por ejemplo, 150 Hz. La DFT funciona midiendo las amplitudes de componentes sinusoidales a frecuencias particulares en una forma de onda y ya que la energía puede ser mostrada como proporcional al cuadrado de la amplitud, podemos ver que este proceso mide la energía a estas frecuencias. Podemos imaginar la realización de este proceso en un laboratorio con un conjunto de filtros, cada uno de ellos dejando pasar energía a una sola frecuencia y rechazando a las otras. (Para una explicación más detallada
de la DFT desde el punto de vista matemático, referirse al apéndice 1 de este apunte) ¿Cuántos armónicos estarán presentes? De acuerdo con el teorema de muestreo, necesitamos al menos dos muestras por período para evitar aliasing así que, si N=8 y la frecuencia de muestreo es de 8000 Hz, los únicos armónicos posibles que obtendremos estarán separados a distancia de 8000/8=1000 Hz, a esa separación se la llama Frecuencia de Análisis. Sin embargo, el teorema de muestreo admite perfectamente frecuencias negativas, de manera tal que obtendremos datos, en el ejemplo anterior sobre: -4000 Hz (armónico "-4") -3000 -2000 -1000 0 1000 (Frecuencia de análisis) 2000 3000 4000 Podemos comprobar que obtenemos sólo la mitad de la amplitud real en nuestro análisis, la otra mitad está representada por el componente de frecuencia negativa correspondiente (para una explicación de las causas de esto, ver Moore(1) y (2)). Por lo demás, a efectos prácticos, se consideran sólo los valores positivos del espectro, ya que los negativos son la imagen especular de estos. La ecuación para la DFT es: N-1
X(k)=
S x(n) e^- jwnk n=0
en donde: w = 2 p/N
e-jwnk = cos(wnk) - j sin(wnk) (Identidad de Euler, V. Moore(2)) para k igual o mayor que 0 e igual o menor que N-1 Por convención se usa x(n) para la forma de onda y X(k) para el vector que contiene su espectro (integrado de parejas de valores -un número complejo con una parte real y otra imaginaria- que tienen información de Amplitud y Fase de cada uno de los componentes sinusoidales). También es posible calcular la Transformada Fourier inversa(IDFT) y ninguna información se pierde en el proceso, esto es: DFT(x(n))=X(k)
IDFT(X(k))=x(n) Lo que indica que si tenemos la forma de onda x(n), estamos en condiciones de obtener su espectro mediante la DFT y, si tenemos el espectro X(k), estamos en condiciones de obtener su forma de onda mediante una IDFT. La ecuación de la IDFT: N-1
x(n)= 1/N
S X(k) e^+ jwnk k=0
El signo + en el exponente complejo ha sido incluído para evidenciar que ambas ecuaciones difieren sólo en esto. Los parámetros fundamentales de la DFT son: a)SR, o la frecuencia de muestreo de la señal digital a analizar. b)N, o el número de muestras de la señal digital a analizar, llamado también tamaño ("size") de la transformada. c)FA, o la Frecuencia de análisis, que es igual a SR/N. Cuando se usa de manera práctica en DSP, la DFT se ejecuta con un algoritmo más eficiente, llamado FFT (Fast Fourier Transform), al igual que su inversa (IFFT). Este algoritmo requiere que N (el número de muestras de la señal) sea una potencia de 2. Si N no es una potencia de 2, se utiliza el recurso de asignar a N la potencia de 2 más cercana y no menor que el número de muestras, rellenando con ceros los valores restantes ("zero pad"). Quedan en evidencia algunas de las limitaciones de la DFT que ya se habían mencionado. Para tener más precisión debemos disminuir la FA (SR/N), ya sea disminuyendo SR o aumentando N. Como generalmente no se cambia SR, el recurso es aumentar N. Y aquí está el problema: al aumentar N tenemos más precisión al definir las frecuencias, pero obtenemos un porcentaje del espectro en un intervalo temporal mayor: si el espectro cambia en ese lapso, no seremos capaces de registrar sus modificaciones. En otras palabras: cuanto más analizamos, más precisión tenemos, pero no registramos cambios. Cuanto menos analizamos, más podemos ver cambios de espectro, pero tenemos menos precisión para evaluarlos. La DFT trata a la señal digital como si fuera una señal periódica, con período N/SR. Hasta ahora nuestros ejemplos usaron señales que contienen armónicos de 1/N/SR ¿Qué ocurre para el caso de que la señal tenga componentes que no sean armónicos de la frecuencia 1/N/SR? En este caso la DFT mostrará energía en otros componentes que no están en la señal original. Y esto no se debe a fallas en su funcionamiento. Supongamos que analizamos N muestras de una señal x(n)= A sin( 2pfn/SR), siendo f=.7 y N=SR, por lo tanto, FA=1 Hz. La DFT seguirá mostrando energía a intervalos de la frecuencia de análisis (1Hz, 2hz, 3Hz, etc.), ya que está tomando sólo una parte del período completo de sin( 2p.7n/SR) y asumiendo que es una función periódica y que, por lo tanto se repite con un período N/SR. Dicho de otra manera: para la DFT ya no estamos analizando una sinusoide. De hecho esto es comprobable con un gráfico de la forma de onda analizada, repitiéndose varias veces (ver gráfico 1). Se puede visualizar que no es sinusoidal para nada... Las bruscas discontinuidades en el punto de repetición de la forma de onda crean componentes que, generalmente superan la frecuencia de Nyquist (SR/2) y se reflejan en alias que son, justamente, los armónicos "falsos" que vemos en el espectro. Con todo, la DFT ha funcionado perfectamente y estamos en condiciones de restituir exactamente la forma de onda original usando la IDFT con el espectro. Sólo que nosotros vemos algo diferente a lo que esperábamos porque suponemos algo que la
DFT no sabe. La DFT, en este caso, mostrará una estimación del verdadero espectro. A los componentes espúreos se los llama "artefactos de análisis" y, aunque no se los puede evitar completamente, se puede minimizar su efecto usando las llamadas Ventanas de Análisis. Antes de tratarlas, describiremos el procedimiento de convolución . Gráfico 1
CONVOLUCION Cuando dos formas de onda son sumadas, o restadas, el espectro de la forma de onda resultante es igual a la suma o a la resta de ambos espectros. Esto es: x(n)+a(n) = X(k)+A(k) x(n)-a(n) = X(k)-A(k) Sin embargo, cuando dos formas de onda son multiplicadas, el espectro de la forma de onda resultante no es la multiplicación de ambos espectros, sino la convolución de estos. De la misma manera, la forma de onda resultante de la multiplicación de dos espectros es igual a la convolución de sus dos formas de onda. Dicho de otra manera: x(n)a(n) = X(k) * A(k) X(k)A(k)= x(n) * a(n) N.B. : el asterisco denota la operación de convolución. La convolución lineal de dos secuencias x(n) e y(n), de duración N x y Ny, respectivamente, se define como: n
h(n) = x(n)*y(n)= S x(m)y(n-m) m=0
Por ejemplo, sean las dos secuencias: x(n) = 1, 3, 5 ,3 ,5, 1
y(n) = 1, 2, 4, 2 Su convolución, h(n), puede expresarse como: 135351 2 6 10 6 10 2 4 12 20 12 20 4 2 6 10 6 10 2 ---------------------------------------cuya suma 1 5 15 27 37 33 28 14 2 es el resultado h(n) Puede comprobarse que la secuencia resultante tiene más elementos que las dos que se procesaron. El resultado es de Nx + Ny - 1 elementos. La convolución es conmutativa, al igual que la multiplicación, esto es: x(n)*y(n) = y(n)*x(n) Para explicarla con dos espectros, tendríamos que seguir las reglas de las operaciones con números complejos, sin embargo, hay una manera de hacerlo que es más familiar a todos los músicos. Si multiplicamos dos formas de onda sinusoidales de frecuencia f 1 y f 2 el espectro resultante (la convolución de sus espectros) estará integrado por dos componentes de frecuencias f 1 + f 2 y f 1 - f 2. La operación de convolución en el espectro puede explicarse entonces como el establecimiento de una copia del espectro de una de las formas de
onda, centrada sobre cada uno de los componentes de frecuencia del espectro de la otra forma de onda. (Ver gráfico 2) La multiplicación de dos formas de onda es corrientemente denominada en música electroacústica modulación en amplitud o también modulación en anillo("ring modulation" ). Esta última denominación alude a la forma del circuito electrónico encargado de realizar esa tarea, y no tiene nada que ver con la operación matemática. Gráfico 2
Si volvemos ahora a la operación de convolución de dos formas de onda, hemos visto que esto da como resultado la multiplicación de sus respectivos espectros. Esto posibilita una gran variedad de procesos de DSP(procesamiento de señal d igital). Para explicarlos, primero se describirá la función impulso o, más corrientemente llamada pulso. La función impulso se define como sigue: u(n) = 1,0,0,0,0,0.... (para n igual o mayor que cero) es decir, un primer valor de amplitud máximo seguido de N valores cero. La convolución de cualquier forma de onda con una función impulso la deja invariante. Nótese que no es lo mismo que la multiplicación de ambas formas de onda, que daría como resultado una función impulso. Una de las más interesantes propiedades de la función impulso es que su espectro presenta energía uniforme en todas las frecuencias (esto se puede demostrar realizando una DFT de esta función). Es entonces la función ideal para alimentar cualquier sistema y estudiar sus características, ya que la salida del proceso mostrará claramente cuál es el efecto de éste sobre un espectro uniforme, en otras palabras la respuesta a impulso del sistema. Por ejemplo, si queremos evaluar la acción de un determinado filtro (su banda de rechazo, de transición y de paso, la atenuación, etc.), podemos filtrar un pulso con éste y realizar una DFT de la forma de onda resultante: este será el espectro de la respuesta a impulso del filtro. (Ver gráfico 3). Gráfico 3
Imaginemos ahora a la operación de convolución como el proceso de suma (mezcla) de diferentes copias de la forma de onda de una señal digital, a diferentes retardos y escalando cada copia con la amplitud de cada muestra sucesiva de la otra señal. Si produjéramos un pulso (o una señal lo más parecida a un pulso, eg. un estallido de un petardo, etc.) en un determinado recinto, obtendríamos la respuesta a impulso del recinto. Esta respuesta a impulso se integra con la suma de todos los ecos que se producen al rebotar las ondas de sonido del pulso ("directo") con las paredes, techo, piso, etc. del recinto ("reverberación") o, la convolución del espectro del pulso con el espectro del recinto. Si grabamos el resultado (la respuesta a impulso del recinto) podemos usarlo para convolver cualquier señal y obtener con ésta una reverberación igual a la de ése recinto. De manera similar (pero no con un petardo...) podríamos intentar obtener la respuesta a impulso de una caja armónica de un piano, violín, etc. De hecho, esta es una manera de implementar filtros digitales llamada convolución directa. En la práctica común la convolución se efectúa con un procedimiento más eficiente que se denomina convolución rápida (fast convolution). Una explicación de este procedimiento permite comprender la relación entre convolución y multiplicación. La convolución rápida usa las ventajas del algoritmo de la FFT (Transformada rápida de Fourier). Ya que la convolución de dos formas de onda equivale a la multiplicación de sus espectros, los pasos a seguir son los siguientes: x(n) * y(n) = c(n) 1)Dadas dos formas de onda a convolver, x(n) e y(n), se calculan sus dos espectros X(k) e Y(k) por medio de una FFT. FFT(x(n))=X(k), FFT(y(n))=Y(k) 2)Se multiplican los espectros X(k) e Y(k) X(k) Y(k)=C(k) 3)Se realiza una IFFT del producto, transformando el espectro resultante en la forma de onda correspondiente, que es la convolución de x(n) con y(n). IFFT(C(k))= c(n) = x(n) * y (n) Esto se puede clarificar con el gráfico siguiente (Gráfico 4): Gráfico 4
La reversibilidad de la FFT, a través de la IFFT, constituye la base para uno de los métodos de diseño de filtros (FIR, o filtros de respuesta a impulso finita, con el llamado método de ventanas o también filtros FFT ) , ya que nada nos impide crear una respuesta a impulso "artificial" por medio de un programa (i.e., "dibuj ar" el espectro de una respuesta a impulso) y usar esta para convolver cualquier señal digital modificándola. Por último, también es posible convolver dos formas de onda cualesquiera. El resultado (la multiplicación de sus espectros) será una especie de "híbrido" cuyo espectro es la intersección de los dos espectros involucrados, mutuamente escalados. A este procedimiento se le suele denominar síntesis cruzada ("cross synthesis"). El único posible inconveniente es que si hay muy poca energía o cero en una región de alguno de los espectros se causará la anulación de la energía del otro en la banda correspondiente, por lo que hay que tomar la precaución de que los espectros de las formas de onda a convolver tengan algún rasgo en común (si no lo tienen, el resultado será nulo...).
VENTANAS Hemos visto los llamados "artefactos de análisis" que surgen al realizar una DFT de una forma de onda de N muestras que contiene componentes de frecuencias que no están relacionadas de manera entera con la Frecuencia de Análisis (SR/N). Esto se debe a que las muestras que se analizan no contienen un número completo de períodos de la frecuencia que "realmente" contienen. Es imposible eliminar estos artefactos completamente, pero su efecto puede ser reducido considerablemente a través del uso de Ventanas de análisis. El hecho de elegir N muestras de una forma de onda es equivalente a especificar una DFT de la forma de onda multiplicada por w(n), en donde w(n)=1 para n=0,1,....N-1 y 0 en cualquier otro punto. A la función w(n), descripta anteriormente, se la denomina ventana rectangular . Esta multiplicación produce la convolución del espectro de la forma de onda elegida con el espectro de la ventana rectangular antes de que la transformación se efectúe. El espectro de la ventana rectangular tiene la forma de una conocida función llamada sinc x . sinc x = sin(x) / x Se puede observar que su espectro ( Ver gráfico 5 ) tiene la silueta de una onda coseno que decrece en amplitud a medida que x aumenta. Gráfico 5
Advertir que la convolución reemplaza cada componente de un espectro con una copia escalada del otro centrada a la misma frecuencia explica de otra manera porqué una multiplicación implícita por una ventana rectangular puede producir los artefactos que explicamos. Cuando está presente un número completo de períodos, los armónicos de la frecuencia de análisis se alínean con los cruces a cero del espectro de la ventana rectangular, produciendo una sóla línea sólo en el centro. Si está presente un número no entero de períodos la función sinc se centra sobre cada componente en el espectro subyacente. A causa de que estos componentes ocurren generalmente entre los armónicos de la frecuencia de análisis, los cruces a cero de la función sinc no se alínean con los armónicos de la frecuencia de análisis, "contaminando" la medición de la DFT al producir componentes falsos en el espectro analizado. (Ver gráficos 6 y 7) Gráfico 6
Gráfico 7
Otras ventanas pueden ser usadas en vez de la rectangular, es cuestión de multiplicar la forma de onda a analizar por otra forma de onda(la función de la ventana) antes de que la transformación se realice (efectivamente, convolver el espectro de la forma de onda a analizar con el espectro de la ventana usada). El efecto de las ventanas se caracteriza por su contorno que, casi siempre, comienza desde cero, alcanza su máximo y decrece simétricamente hasta cero nuevamente. Dicho en términos más simples, las funciones de las ventanas tienen por objetivo "suavizar" las bruscas discontinuidades en los extremos de la forma de onda analizada, reduciendo los artefactos de análisis al costo de una pequeña reducción en los componentes "reales" del espectro analizado. Muchas ventanas tienen nombres: entre ellos podemos citar, las ventanas: Hamming, Hanning (no he cometido un error de tipeo...), Kaiser, Blackman, Parzen (o triangular), etc. (Ver gráfico 8) Por ejemplo, la ventana Hamming generalizada está definida por la siguiente ecuación: Wh(n)= a - (1-a) cos(2 pn / N) en donde a=.54 genera la llamada ventana Hamming, muy comunmente usada en aplicaciones de audio. Gráfico 8
La elección de la ventana habitualmente no es crítica y, por lo general, es una cuestión de gusto. Sin embargo, para estimaciones de espectro, es altamente recomendable el uso de una ventana distinta de la rectangular.
ANALISIS DE ESPECTROS CAMBIANTES Como señalamos al comienzo, el espectro de los sonidos naturales (sean estos musicales o no) no es constante en el tiempo. En otras palabras, la forma de onda de estos sonidos no es estrictamente periódica. Para estudiar las propiedades variables de los sonidos naturales, es útil tener una manera de realizar una FFT de una forma de onda variable en el tiempo. Esto se hace usualmente en aplicaciones de música por computadoras al combinar los conceptos de la DFT con los de una función de ventana dependiente del tiempo. Este procedimiento se puede describir como la realización de DFT sucesivas, cada una de N muestras (el tamaño de la DFT, que equivale al de la ventana) a lo largo de la forma de onda a analizar. Algo así como tomar una serie de fotografías sucesivas de un objeto en movimiento. Podemos considerar que la ventana de análisis "se desliza" a lo largo de la forma de onda (por eso, a veces se la llama "ventana deslizante"). (Ver gráfico 9) Gráfico 9
Una manera posible de usar la FFT dependiente del tiempo sería deslizar la ventana muestra por muestra. Esto motivaría una "explosión de datos" ya que cada muestra de la forma de onda a analizar sería asociada con N valores complejos de su DFT. En muchos casos es posible reducir ese monto de datos (y el tiempo necesario para calcularlos...) deslizando la ventana por un monto mayor que el de una muestra (un típico valor usado es N/4 o, dicho de otra manera, un "overlap factor"-factor de solapamiento- del 75%). En el caso más extremo podemos calcular el espectro de las primeras N muestras, luego de las N muestras sucesivas, y así sucesivamente (overlap factor=0). Si N es ligeramente pequeño, serán posibles de observar en este caso las variaciones de espectro de la señal analizada. Sin embargo, a causa de que N además determina la resolución de frecuencia de la DFT (FA=SR/N), cada espectro puede no ser adecuadamente resuelto en frecuencia. Podríamos incrementar N para obtener una mejor resolución y seguir deslizando la ventana por el mismo monto de N. Pero desgraciadamente no obtenemos con ello -a pesar de mejorar la resolución de la frecuencia- una mejor resolución temporal en el análisis, ya que la DFT de
N muestras resulta en una indicación del contenido espectral promedio de la forma de onda por el tiempo de N/SR segundos. Como se comprueba, hay que realizar en este tipo de análisis un "comercio" entre resolución de frecuencia (tamaño de la DFT) y resolución temporal (tiempo entre las DFT sucesivas). Es importante tener en cuenta las características de la señal a analizar para elegir los parámetros adecuados. Los datos obtenidos a través del análisis de DFT con ventana deslizante raramente se observan en forma de números (salvo para operaciones de procesamiento muy específicas...), de la misma manera en que rara vez examinamos los valores numéricos de una forma de onda. En este caso se suelen presentar gráficamente de dos maneras: 1)Plot tridimensional: en el que un eje representa la amplitud (habitualmente el vertical), otro la frecuencia (habitualmente el horizontal) y el tercero el tiempo (indicado en muestras o segundos). Este es, tal vez, el más adecuado para observar variaciones rápidas del espectro en una señal que representa un sólo sonido. (Ver gráfico 10) Gráfico 10
2)Espectrograma: el eje horizontal representa el tiempo (indicado en muestras o segundos) y el vertical la frecuencia. La amplitud es representada por una mayor intensidad de grisado (en algunos casos se utilizan colores). Esta es una manera de representación más apta para observar las variaciones globales de espectro a través de una señal de mayor duración que representa una secuencia de distintos sonidos. (Ver Gráfico 11) Gráfico 11
Apéndice 1 - Explicación matemática de la operación de la DFT Supongamos que x(n) es una secuencia de números que representa a N muestras de un período completo de una forma de onda. Por ejemplo, sea x(n)= A sin(wn), con w=2 p/N y n igual o mayor que cero y no mayor que N-1. Para N=8 tendremos: x(n)= 0, A(.707), A, A(.707), 0, -A(.707), -A, -A(.707) NB: .707 es una aproximación de la cifra correcta. Podemos medir la energía a la frecuencia w extrayendo la amplitud A de la sinusoide a esta frecuencia. Esto se hace al formar el producto de x(n) con sin(wn) y sumar todos los números de la secuencia: N-1
S A sin(wn) x(n) = 0 + A/2 + A + A/2 + 0 + A/2 + A + A/2= 4A = N (A/2 n=0)
El resultado es A/2, la mitad de la amplitud de la sinusoide con frecuencia w, escalada por N, el número de muestras en consideración. No podríamos obtener esto simplemente sumando los valores de x(n), ya que sumar todos los valores de un período de una sinusoide daría cero por resultado. Sin embargo, al multiplicar x(n) por sin(wn), formamos la secuencia: x(n) sin(wn) =A ( sin(wn))2 y todos los valores de sin 2 son positivos. Así hemos extraído la amplitud de una sinusoide de frecuencia w en x(n) por medios puramente matemáticos. ¿Qué pasaría si intentáramos extraer la amplitud de un componente de frecuencia 2w de x(n)? Con x(n) definido como antes, se espera que dicho componente no sea detectado, es decir, que su amplitud sea igual a cero. Y esto es lo que realmente ocurre si realizamos el producto de x(n) con sin(2wn) y sumamos la secuencia. Más aun: si realizamos la suma de los productos de x(n) con sin(k wn), en donde k es un entero no mayor que N/2 y distinto de 1, obtendremos 0 por resultado, indicando que no existe energía a la frecuencia k.
No hemos considerado todavía la fase de la sinusoide de frecuencia w. Una sinusoide con una fase y amplitud arbitrarias se puede también representar ,gracias a identidades trigonométricas, como: A sin(wn+f ) = a cos(wn) + b sin(wn) en donde: A es la amplitud f es el ángulo de la fase
a = A sin(f ) b = A cos(f ) esto da: A sin(wn+f ) = A sin(f ) cos(wn) + A cos(f ) sin(wn) La amplitud y la fase de nuestro componente sinusoidal se pueden calcular usando nuestro procedimiento de multiplicación y suma, primero con cos( wn), para calcular el coeficiente a, y luego con sin(wn) para calcular el coeficiente b. Ambos valores forman un número complejo con una parte real y la otra imaginaria, indicado en coordenadas rectangulares, para obtener información más clara acerca de la amplitud A y la fase f , se convierten a coordenadas polares, de acuerdo con: A = SQRT(a2+b 2) (eq. 1.1) f = tan-1 (b/a) (eq. 1.2)
NB: SQRT=raíz cuadrada Por ejemplo, sea la secuencia x(n): x(n) = A sin(wn + f 1) + B sin(2wn + f 2) = a1 cos(wn) + b1 sin(wn) + a2 cos(2wn) + b2 sin(2wn) , repitamos el procedimiento, usando cos( wn): N-1
S cos(wn) x(n) = n=0 N-1
S ( a1 cos(wn)2 + b1 sin(wn) cos(wn) + a2 cos(2wn) cos(wn) + N-1
=a1 S (1/2+1/2 cos(2wn) = N (a1/2) n=0
n=0
b 2 sin(2wn) cos(wn) )
De forma similar, si usáramos sin(wn) como multiplicador, hubieramos extraído b1; con cos(2wn) hubieramos extraído a2; y así en adelante. Teniendo a y b, obtenemos A(Magnitud o módulo) y f (ángulo) con las ecuaciones 1.1 y 1.2. Este es el principio de operación de la DFT: la multiplicación y suma aplicadas para determinar las amplitudes y fases de cada uno de los armónicos de la forma de onda.
Apéndice 2 - Bibliografía 1)Moore, F. R. Elements of computer music Prentice Hall, New Jersey, USA, 1990. 2)Moore, F. R. An introduction to the mathematics of DSP, Part II CMJ 2(2):38-60, MIT Press, USA, 1978 3)Smith, J. O. III Introduction to Digital Filter Theory, Report Nº STAN-M-20, CCRMA, Stanford University, USA, 1985 4)Embree, P. & Kimble, B. C languaje algorithms for DSP,Prentice Hall, New Jersey, USA, 1991.