You are on page 1of 18

COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

UNIVERSIDAD NACIONAL DE QUILMES

CARRERA DE COMPOSICION CON MEDIOS ELECTROACUSTICOS

COMPUTACION APLICADA A LA MUSICA II

Prof. Oscar 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: timbre es esa cualidad del sonido que no es la frecuencia fundamental, ni
tampoco la intensidad, ni la duraciòn, ni la localización. Lo que queda es la microestructura del sonido y, para examinarla,
debemos usar una manera de, literalmente, diseccionar sonidos, 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 en el mismo instrumento, pueden tener sorprendentes
diferencias 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 las complejidades de
las características físicas de los instrumentos 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 frecuencias se encuentran en la misma proporción, aproximadamente, llamamos al resultado "sonido blanco",
por analogía con la luz blanca, o bien "ruido blanco", ya que el arco iris es mucho mas atrayente que el espectro de su
contrapartida sonora. Sin embargo, si algunas frecuencias son considerablemente más predominantes que otras, el sonido
se vuelve "coloreado", y si las relaciones entre los componentes que predominan son armónicas 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).

1/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12
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

2/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

-2000

-1000

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)=

Σ x(n) e^-jωnk
n=0

en donde:

ω = 2π/N

-jωnk = cos(ωnk) - j sin(ωnk) (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

3/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

IDFT:

N-1

x(n)= 1/N

Σ 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(

2πfn/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(2π.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

4/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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:

5/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

h(n) = x(n)*y(n)=

Σ 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 N

x + 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 f2 el espectro resultante (la convolución de sus espectros) estará integrado por dos componentes de
frecuencias f1 + f2 y f1 - f2. 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

6/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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
digital).

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

7/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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

8/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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., "dibujar" 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

9/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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

10/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

Gráfico 7

11/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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:

h(n)= a - (1-a) cos(2πn / N)

en donde a=.54 genera la llamada ventana Hamming, muy comunmente usada en aplicaciones de audio.

Gráfico 8

12/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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

13/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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

14/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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

15/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

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(

ωn), con ω=2π/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

ω extrayendo la amplitud A de la sinusoide a esta frecuencia. Esto se hace al formar el producto de x(n) con
sin(ωn) y sumar todos los números de la secuencia:

N-1

A sin(ωn) 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

ω, 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(ωn), formamos la secuencia:

x(n) sin(

ωn) =A ( sin(ωn))2

y todos los valores de sin

2 son positivos.

Así hemos extraído la amplitud de una sinusoide de frecuencia

ω en x(n) por medios puramente matemáticos. ¿Qué pasaría si intentáramos extraer la amplitud de un
componente de frecuencia 2ω 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(2ωn) y sumamos la secuencia. Más aun: si realizamos la suma de los productos de
x(n) con sin(kωn), 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

ω. Una sinusoide con una fase y amplitud arbitrarias se puede también representar ,gracias a identidades
trigonométricas, como:

A sin(

16/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

ωn+φ) = a cos(ωn) + b sin(ωn)

en donde:

A es la amplitud

φ es el ángulo de la fase

a = A sin(

φ)

b = A cos(

φ)

esto da:

A sin(

ωn+φ) = A sin(φ) cos(ωn) + A cos(φ) sin(ωn)

La amplitud y la fase de nuestro componente sinusoidal se pueden calcular usando nuestro procedimiento de
multiplicación y suma, primero con cos(

ωn), para calcular el coeficiente a, y luego con sin(ωn) 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 φ, se convierten a coordenadas polares, de acuerdo
con:

A = SQRT(a

2+b2) (eq. 1.1)

φ = tan-1(b/a) (eq. 1.2)

NB: SQRT=raíz cuadrada

Por ejemplo, sea la secuencia x(n):

x(n) = A sin(

ωn + φ1) + B sin(2ωn + φ2)

=a

1 cos(ωn) + b1 sin(ωn) + a2 cos(2ωn) + b2 sin(2ωn)

, repitamos el procedimiento, usando cos(

ωn):

17/18
COMPUTACION APLICADA A LA MUSICA II 08/13/10 06:49:12

N-1

cos(ωn) x(n) =

n=0

N-1

Σ ( a1 cos(ωn)2 + b1 sin(ωn) cos(ωn) + a2 cos(2ωn) cos(ωn) + n=0 b2 sin(2ωn) cos(ωn) )

N-1

a1 Σ (1/2+1/2 cos(2ωn) = N (a1/2)

n=0

De forma similar, si usáramos sin(ωn) como multiplicador, hubieramos extraído b1; con cos(2ωn) hubieramos
extraído a2; y así en adelante. Teniendo a y b, obtenemos A(Magnitud o módulo) y φ(á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.

18/18

You might also like