REPRESENTACIÓN DE LA ESTRUCTURA PROFUNDA DEL RUIDO 1/f MEDIANTE LA ECUACIÓN DE LA NATURALEZA Fernando
Galindo Soria
Cd. de México a 9 de Junio del 2004 Ultima
actualización 19 de Agosto del 2004 Escuela Superior de Cómputo (ESCOM) del
Instituto Politécnico Nacional (IPN)
Av. Miguel Othón de Mendizábal y Av. Juan de Dios Bátiz s/n Zacatenco, Cd. de México
07738 MÉXICO www.fgalindosoria.com fgalindo@ipn.mx www.laredi.com ResumenLos ruidos de colores representan patrones característicos de muchos fenómenos naturales y en particular el ruido 1/f o rosa se presenta en gran cantidad de fenómenos, como los terremotos, el comportamiento de la bolsa, distribución de montañas y muchos más[1][2][7], reflejando la estructura de los fenómenos donde aparece. Por lo que, en este trabajo analizaremos esa estructura y la representaremos gramaticalmente, para lo cual, se analiza el algoritmo de Richard F. Voss para generar ruido 1/f[1], tanto en su estructura superficial (lanzamiento de dados) como en su estructura profunda (generación de la secuencia en la que se lanzan los dados), mostrándose que su estructura profunda se puede representar mediante reglas de producción que son casos particulares de la ecuación de la naturaleza S->e*S*[10] Palabras Claves: Ruido de Colores, Blanco, Browniano, 1/f, Ecuación de la Naturaleza, Lingüística Matemática, Reglas de producción. 1. CONCEPTOS GENERALES 1.1 Ondas y Espectro de
Frecuencias Los ruidos de colores abarcan desde lo que se conoce como ruido blanco o 1/f0 hasta el ruido browniano o 1/f2 y el ruido negro o 1/f3[8], pasando por los flicker noises (o ruidos de centelleo) o 1/Fa donde 0<a<2, y en particular el ruido 1/f que se obtiene cuando a =1 y que es uno de los ruidos mas importantes en la naturaleza. Para entender la diferencia entre todos estos tipos de ruidos es necesario tener una idea de lo que se conoce como análisis espectral[3][4], para lo cual partiremos del análisis de las ondas sinusoidales puras, como las que se generan mediante la función f(θ)= sen(θ) que tiene la forma mostrada en la figura 1.1.
Algunas de las características que se toman en cuenta para el análisis de las ondas puras son la Amplitud, la frecuencia, y el desplazamiento de fase. La frecuencia nos indica el numero de ciclos o repeticiones de la onda en un intervalo dado, por ejemplo en las Fig. 1.2 a, b, c se muestran ondas con frecuencia 1, 2 y 3.
La amplitud es la altura de la onda, por ejemplo en la figura 1.3 se muestran tres ondas con la misma frecuencia y diferente amplitud.
Otras características de las ondas senosoidales puras son su comportamiento periódico o cíclico y el desplazamiento de fase. El desplazamiento de fase ocurre cuando la onda no empieza en la coordenada cero, por ejemplo en las figuras 1.4 se ve una onda senosoidal desplazadas 45˚.
En general una onda senosoidal se escribe
como f(θ)=A*seno(f*θ+w) donde A nos indica la amplitud,
f es la frecuencia, w es el desplazamiento de fase y θ es el valor de la función en un punto. θ y w pueden estar dados en grados o en radianes,
pero dentro del análisis de señales se manejan en general radianes, por lo
que en la Tabla 1.1 se muestra la equivalencia entre algunos grados y
radianes.
Por ejemplo la función 3seno(5θ+p/4) corresponde a una onda
senosoidal con amplitud 3, frecuencia 5 y desplazamiento de fase de p/4 radianes o 45˚. Ahora bien si se grafica la función f(θ)=coseno(θ) se observa que la onda generada es idéntica a la que se obtiene al graficar la función seno con un desplazamiento de fase de 90˚ o p/2 radianes, como se ve en las figuras 1.5a y 1.5b.
Por lo que es equivalente usar
la función seno o la función coseno con un desplazamiento de fase de p/2 radianes. Las ondas que tienen comportamiento
periódico o cíclico se caracterizan porque se repiten periódicamente, o
sea que, cada 360˚ o 2p radianes la onda se vuelve a
repetir, este comportamiento se refleja matemáticamente en que una función
periódica f(θ) es idéntica a la función f(2p+θ), y en general para cualquier valor entero t se tiene que f(θ)=f(2pt+θ). Por ejemplo las funciones seno(θ) y coseno(θ) generan ondas periódicas, o sea que coseno(θ)=coseno(2pt+θ) y seno(θ)=seno(2pt+θ) como se ve en la figura 1.6
donde se nuestra la función seno(θ) con
periodo 1 y 3. Fig. 1.6 Graficas de la función seno con periodos 1 y 3 Otra propiedad de las ondas es que se pueden sumar entre ellas dando origen a nuevas ondas como se ve en las figuras 1.7a y 1.7b.
Se pueden sumar tantas ondas como se quiera dando lugar a sumas infinitas de senos y cósenos y como el seno es idéntico al coseno desplazado 90 grados o π/2 radianes, se tiene que estas ondas se pueden representar como sumas infinita de cósenos de la forma f(t)= A0 + A1coseno(f1
t- w1) + A2coseno( f2 t- w2) + A3coseno( f3 t- w3)+…… o en general f(t)= Σ Ai coseno( fi t- wi) O sea que, la función f(t) esta formada por una suma infinita de ondas de la forma Aicoseno(fi t- wi), donde para la onda i-esima se tiene que Ai es la amplitud, fi es la frecuencia, wi es el desplazamiento de fase y en general se considera que t representa el tiempo trascurrido desde que se comenzó a generar la señal. Por ejemplo en la figura 1.8a se muestra la grafica de la función f(t)=1cos(1t)+2cos(2t) +3cos(3t) +4cos(4t) +…… +50cos(50t) y en la figura 1.8b se muestra la grafica de f(t)=3coseno(5t-p/2)+6coseno(7t+p)+4coseno(10t-p/3)+5coseno(14t+p/3)
Ahora bien, si se tiene una señal representada como una suma de cósenos, se puede encontrar directamente lo que se conoce como espectro de la señal, para lo cual se generan dos graficas, una en que se relaciona la amplitud con la frecuencia y la otra que relaciona la fase con la frecuencia Por ejemplo, en la Tabla 1.2 se muestra la relación que
existe entre las frecuencias, amplitudes y fases de la función presentada en
la figura 1.8b. f(t)=3coseno(5t-p/2)+6coseno(7t+p)+4coseno(10t-p/3)+5coseno(14t+p/3) y en las figuras 1.9a y 1.9b se presentan sus
espectros de señal.
Fig. 1.9a Espectro de señal que relaciona la frecuencia con la amplitud de la función f(t)=3coseno(5t-p/2)+6coseno(7t+p)+4coseno(10t-p/3)+5coseno(14t+p/3) Fig. 1.9b Espectro de señal que relaciona la frecuencia con la fase de la función f(t)=3coseno(5t-p/2)+6coseno(7t+p)+4coseno(10t-p/3)+5coseno(14t+p/3) A la grafica que relaciona la amplitud con la frecuencia se le conoce como el espectro de frecuencia y es una herramienta fundamental para explicar las diferencias entre los diferentes tipos de ruidos que se presentaron al principio. Cuando se dice que una señal tiene una distribución 1/fa, lo que se esta indicando es que si graficamos el espectro de frecuencias de la señal, para la frecuencia 1 se tiene que la amplitud vale 1/1a o sea 1, cuando la frecuencia vale 2 se tiene que la amplitud vale 1/2a y así sucesivamente para todas las frecuencias que componen la señal, como se ve en la tabla 1.3
Algunos de los ruidos mas conocidos se presentan cuando en 1/fa, a vale 0, 1, 2 y 3. 1.2 Ruido Blanco, Browniano
y 1/f Cuando en 1/fa, a vale cero se tiene el ruido blanco, con a igual a 1 se tiene el ruido 1/f, si a vale 2 se tiene el ruido browniano y con a igual a 3 se tiene el ruido negro. El ruido blanco o aleatorio se presenta cuando una señal tiene un comportamiento aleatorio, o sea que el valor de la señal en un instante no tiene ninguna relación con el valor de la señal en el siguiente instante, se dice también que no tiene memoria o que no esta autocorrelacionado, en la figura 1.10a se presenta un ejemplo de ruido blanco. Una de las propiedades mas importantes del ruido blanco es que su espectro de frecuencias tiene una distribución 1/f0. Cuando se dice que el ruido blanco es del tipo 1/f0 se esta diciendo que para todas las frecuencias su amplitud vale 1, porque 1/f0=1, para cualquier valor de f diferente de cero como se ve en la tabla 1.4a. Por eso se le llama ruido blanco, porque en términos del análisis de la señal indica que todas las frecuencias contribuyen con la misma potencia a la señal, en forma parecida a como el color blanco surge de la combinación de todos los colores. El ruido browniano[9] (en honor a R. Brown quien lo describió en 1827) o café (figura 1.10b), tiene la propiedad de que su espectro de frecuencia tiene una distribución 1/f2 o sea que cuando la frecuencia vale 1 la amplitud vale 1/12= 1. cuando la frecuencia vale 2 la amplitud vale 1/22 o sea 1/4 y así sucesivamente como se muestra en la tabla 1.4b, por lo que, en el ruido browniano las componentes con frecuencia mas alta prácticamente no son significativas.
Tanto el ruido blanco como el ruido browniano tienen comportamientos muy interesantes y se presentan frecuentemente en fenómenos de la naturaleza, pero marcan los extremos de un espacio enorme, ya que en medio existen una gran cantidad de fenómenos que tienen un espectro de frecuencia que esta entre el 1/f0 del ruido blanco y 1/f2 del browniano, o sea que tienen un espectro de frecuencia de la forma 1/fa donde 0<= a <=2, a estos tipos de ruidos se les llama ruidos de colores. Un caso particular de los ruidos de colores es el ruido 1/f, el cual se presenta cuando a=1, o sea que el ruido tiene un comportamiento 1/f, cuando la frecuencia vale 1 la amplitud vale 1, cuando la frecuencia vale 2 la amplitud vale 1/2, y así para las demás frecuencias como se muestra en la tabla 1.4c. El ruido 1/f o rosa se descubrió en 1925 por J.B. Johnson[2] y se ha encontrado que se presenta en gran cantidad de fenómenos, como los terremotos, el comportamiento de la bolsa, distribución de montañas y mucho mas[1][2][7], reflejando la estructura de los fenómenos donde aparece. Por lo que en este trabajo analizaremos esa estructura.
2. RUIDO 1/f Y ECUACIÓN DE
LA NATURALEZA 2.1 Representación
gramatical de la estructura profunda
del algoritmo de Voss En 1978 Martin Gardner publico “Música blanca y música parda, curvas fractales y fluctuaciones del tipo 1/f” (White and brown music, fractal curves, and one-over-f noise, en Scientific American, abril de 1978) [1], un articulo sobre los ruidos de colores, donde describe un algoritmo desarrollado por Richard F. Voss para generar ruido 1/f. En este algoritmo podemos visualizar dos procesos entrelazados, el primero se basa en la generación de números aleatorios (lanzamiento de dados) y el segundo es el proceso que indica en que orden se deben lanzar estos dados, siguiendo la secuencia marcada por los cambios que se presentan en una sucesión de números binarios. O sea que el algoritmo se caracteriza por una
estructura superficial, representada por el lanzamiento de los dados y una
estructura profunda, que indica el orden en que se lanzan los dados. La estructura superficial del algoritmo se representa por el lanzamiento de los dados (o sea la generación de un numero aleatorio). En este algoritmo se tienen tres dados d1, d2, d3 (pueden ser 4, 5 ,.., n dados), cada dado con valores entre 1 y 6 (pueden ser otros rangos de valores). La estructura profunda marca la pauta de los cambios generales del sistema y en este caso nos indica el orden en que se lanzan los dados. En el algoritmo de Voss, primero se lanzan los tres dados y se suma el resultado para tener la primera nota. Al lanzarse los tres dados se obtiene una secuencia de valores, que va desde (1,1,1) hasta (6,6,6), por lo que al sumarse los valores de los dados se obtiene un numero entre 3 y 18, lo cual corresponde a 16 valores diferentes de ruido (si cada valor se asocia con una nota musical, se genera música 1/f). Para obtener el orden en que se deben seguir lanzando los dados, se generar una secuencia de números binarios, donde cada bit representa a un dado, por lo que, como en este caso se tienen tres dados, se generan números binarios de 3 bits, obteniéndose la secuencia 000, 001,..., 111., Si al generar la secuencia de números binario, entre un numero binario y el que le sigue cambia el valor de algún bit se lanza el dado correspondiente a ese bit, sin tocar los dados que no cambian, como se ve en la tabla 2.1, y se suma el valor de los tres dados para obtener la siguiente nota.
Como se puede ver en la tabla 2.1, primero se lanzan los 3 dados d1, d2, d3, y se suman sus valores, luego como de 000 a 001 cambio el bit correspondiente al dado d3 , solo se lanza el dado d3 y no se tocan ni d1 ni d2, y nuevamente se vuelven a sumar los valores de los 3 dados. De 001 a 010 cambian los valores de los bits correspondientes a los dados d2 y d3, por lo que, se lanzan los dados d2 y d3 sin tocar d1 y se suma el resultado para generar la nueva nota, y así sucesivamente. Generándose la secuencia de lanzamientos d1d2d3, d3, d2d3, d3, d1d2d3, d3, d2d3, d3, que representa la estructura profunda del algoritmo de Voss En la tabla 2.1 se muestran los valores entre 000 y 111 por lo que solo se generan 8 notas, pero el algoritmo se puede volver cíclico, con lo que, después de 111 se genera nuevamente 000 y se continua la generación de notas indefinidamente. Si se toma la columna que indica el dado que se lanza y se pone verticalmente, como se muestra en la Fig. 2.1a, se observa que es la misma estructura de un árbol binario como se puede ver en las Figuras. 2.1a, 2.1b y 2.1c donde se introdujo la letra S para indicar la raíz del árbol.
Los árboles binarios se utilizan cotidianamente para representa la estructura de muchos sistemas y procesos y están formados por un tronco y dos ramas, una rama a la izquierda y una rama a la derecha. Al tronco lo denotamos con la letra e para indicar que representa a los elementos del sistema, la rama a la izquierda la representamos como Si para resaltar que por si sola es un sistema y la rama a la derecha como Sd, para indicar que también es otro subsistema, o sea que un sistema que tiene la estructura de un árbol binario esta formado por un elemento e y dos subsistemas S S. Una forma de representar la relación entre esos componentes es mediante la ecuación lingüística o regla de reescritura S-->e Si Sd, donde la flecha --> indica que S se puede sustituir por e Si Sd (En general una regla de reescritura a --> b se interpreta como que a se puede sustituir por b). Y representa el llamado a un proceso e que genera el tronco, seguido de 2 llamados recursivos S S que generan las ramas. Por lo que una forma simple de representar la estructura del algoritmo de Voss es mediante la ecuación S-->e Si Sd o mas generalmente S-->e S S que a su ves se representa directamente como pseudocodigo
2.2 Generalización Para 4 dados el análisis es similar, como se ve en la tabla 2.2
El patrón característico es d1 d2 d3 d4, d4, d3 d4, d4, d2 d3 d4, d4, d3 d4, d4, d1 d2 d3 d4, d4, d3 d4, d4, d2 d3 d4, d4, d3 d4, d4. Si se pone la secuencia en forma vertical se encuentra de nuevo que representa un árbol binario, solo que de cuatro niveles como se ve en la Fig. 2.2.
En general si se usan n dados se tiene árboles binarios con n niveles que se siguen representando mediante la ecuación S->e S S solo que tomando en cuenta el numero de niveles, por lo que el pseudocodigo queda S(num_nivel) { if
num_nivel < N
e(num_nivel) //En cada nivel lanza el dado
correspondiente a ese nivel
S(num_nivel+1) //Llama recursivamente al sistema 2
veces
S(num_nivel+1)
else suma valores de dados
y genera ruido } O sea si el numero de nivel num_nivel es menor que el numero de dados N, se lanza el dado de ese nivel y se llama al árbol recursivamente dos veces, si se llego al ultimo nivel se suman los valores de los dados y se genera el ruido resultante. Tampoco es obligatorio usar solo números binarios, por ejemplo en la tabla 2.3 se puede ver el resultado si en lugar de usar números binarios usamos ternarios (números de base 3) para tres dados.
Cuyo patrón característico es el de un árbol con tres ramas como se puede ver en la Fig. 2.3 y cuya ecuación es S->eSSS
Si queremos árboles con m ramas en lugar de números
binarios o ternarios se usan números m-arios (de base m) que generan árboles
de m ramas y que se representan por la ecuación S->eSS...S Entonces el numero de ramas corresponde a la base numérica (binaria, ternaria,...) que se manejan y el numero de niveles a la cantidad de dígitos (1,2,3, ) que forman un numero, ya que como se vio cada digito corresponde a un dado y este se lanza en un nivel, si queremos hacer un generador de ruido con n niveles y m ramas el pseudocodigo queda S(num_nivel) { if
num_nivel < N
e(num_nivel)
S(num_nivel+1)
S(num_nivel+1)
..... .....
..... .....
S(num_nivel+1)
else
suma valores de dados y genera ruido } Podemos asumir árboles que generen ramas y niveles en forma aleatoria, con lo que podemos tener una gran diversidad de estructuras profundas para la generación de ruidos, pero todas basadas en la ecuación lingüística S->eSSS...S, la cual a su ves es un caso particular de la ecuación de la naturaleza S-->e*S*, donde la flecha --> indica que S se puede sustituir por e* S*. En la ecuación S-->e*S*, S significa Sistema, e es cualquier elemento del sistema, e* significa que se pueden tener tantos elementos como se quieran (en particular se puede tener 1 elemento) y S* indica que el sistema se puede llamar tantas veces como se quiera. Observe que se utiliza el signo * como un factor de repetición, lo cual no es una notación común dentro de las reglas de producción, pero en este caso facilita la representación. Como ejemplos de casos particulares de S-->e *S* tenemos los mostrados en la tabla 2.4.
O sea que las ecuaciones que
generan ruido basado en números binarios, ternarios y m-arios son casos
particulares de la ecuación S->e*S*, con lo que plantemos que la
estructura profunda de todos esos ruidos sigue la estructura de la Ecuación
de la naturaleza S->e*S*. FUENTES DE INFORMACION 1. Martin Gardner, Música blanca y música parda, curvas fractales y fluctuaciones del tipo 1/f, en Investigación y Ciencia, Junio 1978 (White and brown music, fractal curves, and one-over-f noise, en Scientific American, abril de 1978). 2. Edoardo Milotti, El ruido 1/f en Investigación y Ciencia, diciembre de 1996. 3. Luis Candelas; Fundamentos matemáticos del análisis espectral, en http://webs.ono.com/usr047/luiscandelas/tema03.html (consultado el 20 de Mayo del 2004) 4. Jesús Bernal Bermúdes, Jesús Bobadilla Sancho, Pedro Gómez Vilda, Reconocimiento de Voz y Fonética Acústica, Ed. Alfaomega ra-ma, Octubre 2000, México. 5. Horacio Alberto García Salas, Aplicación de los sistemas evolutivos a la composición musical, Tesis de Licenciatura, UPIICSA del Instituto Politécnico Nacional, México. 6. Armando Castañeda Rojano, Uriel Hernández Santana, Mario Herrera González, Prototipo de Armonización de una Melodía por Computadora, Trabajo Terminal 0317, Escuela Superior de Computo del Instituto Politécnico Nacional, 2002 México. 7. Ruido 1/f http://www.nslij-genetics.org/wli/1fnoise/ 8. Pedro Miramontes, El Color del Ruido, Facultad de Ciencias, UNAM, México., en www.ejournal.unam.mx/ciencias/no54/CNS05401.pdf (consultado el 4/vi/2004) 9. Juan Manuel Valderas Jaramillo, José María Alba Riesco, Elena Olmedo Fernández, Modelización estocástica en los mercados financieros: un puente entre lo simple y lo complejo, en Revista Encuentros Multidisciplinarios Núm. 12-2002, septiembre-diciembre 2002. 10. Fernando Galindo Soria, Una Ecuación de la Naturaleza, en Memorias del X Congreso Nacional ANIEI sobre Informática y Computación, Xalapa, Ver., Octubre de 1998. 11. Música Electrónica: órganos, Biblioteca Básica Electrónica, Núm. 25, Ed. Nueva Lente, 1986, Madrid. |