Вы находитесь на странице: 1из 14

Resumen 3 1

Anlisis de Fourier

Motivacin e historia
La idea bsica del anlisis de Fourier es que una seal se descomponer en tonos puros. Por supuesto, hay
que precisar mucho para llegar a enunciados matemticos de esta afirmacin. Para fijar ideas, pensemos que una
seal es una funcin con cierta regularidad, y quiz propiedades de periodicidad, y los tonos puros son funciones
que de alguna forma tienen frecuencia fija que toma valores en cierto conjunto, por ejemplo sen(nx) y cos(nx)
con n Z. Tomando una terminologa fsica, a veces los tonos puros se llaman armnicos, y por ello anlisis
armnico es sinnimo de anlisis de Fourier.

Simplemente por dar una imagen previa del tipo de expresiones que aparecen en el anlisis de Fourier, men-
cionamos como ejemplo la descomposicin de una onda triangular como superposicin de cosenos de frecuencias
enteras, que son los tonos puros o armnicos en este caso:
0.5

0.4

0.3 1 2 X cos(2nx)
0.2 ... =
4 2 n2
0.1 n impar
0.5 1 1.5 2

La idea tiene su origen en el siglo XVIII, con los trabajos de L. Euler y J. dAlembert acerca de la ecuacin de
ondas, la cual admite una solucin con un aspecto simtrico para datos expresables como una superposicin de
senos y cosenos de frecuencias enteras. Ninguno de los dos pensaba que esto se aplicase a funciones 1-peridicas
generales (con cierta regularidad), mientras que D. Bernoulli defenda la opinin contraria.
La famosa memoria de J. Fourier sobre la propagacin del calor [Fou88], publicada en 1822, no resolvi esta
cuestin, ni siquiera con los niveles de rigor matemtico de entonces (por ejemplo, Fourier resolva ecuaciones
lineales de infinitas variables trabajando con determinantes). Sin embargo dio buenas razones para confiar que
las funciones 1-peridicas son superposicin de tonos puros de la forma A cos(2nx), B sin(2nx) con n Z. Por
ello tiene cierta lgica, que hablemos actualmente de anlisis de Fourier, a pesar de la contribucin fundamental
de muchos matemticos. La primera prueba de la convergencia de los desarrollos de Fourier, bajo condiciones
adecuadas, se debe a P.G.L. Dirichlet en 1829.

Muchas de las aplicaciones del anlisis de Fourier se basan en la conveniencia de eliminar o modificar ciertos
rangos de las frecuencias que componen una funcin porque no tienen influencia significativa en el resultado o
porque son ruido. La reduccin de rangos de frecuencias se traduce a menudo en la facultad de poder comprimir
una seal de audio o vdeo.
Dentro de las Matemticas y la Fsica, una utilidad bsica es que hay problemas que son difciles de entender
para funciones generales pero son ms sencillos para tonos puros. El anlisis de Fourier tiene incluso ciertas
implicaciones en la Filosofa de la Ciencia, pues participa en el propio concepto de experimento fsico a travs de
la interpretacin de Copenhague de la mecnica cuntica (la imperante hoy en da, aunque fsicos de prestigio
como Einstein nunca la aceptaron). Sin entrar en detalles, segn ella, los sistemas tienen funciones de onda y un
experimento fsico detecta los tonos puros que las componen con una probabilidad que depende de su amplitud.

Desarrollos de Fourier
En lo que sigue, vamos a ver diferentes formas de anlisis de Fourier. La primera es la ms sencilla pero
tambin la ms relevante en las aplicaciones actuales que tratan seales digitalizadas.
2 Resumen 3

Si muestreamos una seal compleja tomando N valores por cada periodo, el resultado se puede representar
como una funcin f : ZN C donde ZN son las clases de enteros mdulo N . Con esto se quiere representar
que el valor de f (k) es el mismo que el de f (k + N ). Lo que queremos hacer es expresar f como una superposicin
de tonos puros discretos, concretamente de
mn 
(1) wm (n) = e donde e(x) = e2ix .
N
La funcin e(x) es slo una manera cmoda de encapsular el seno y el coseno. No tiene mayor propsito que
simplificar las frmulas y hacerlas ms simtricas. Dibujar las partes real e imaginaria de wm para m fijo y N
grande, justifica que consideremos estas funciones como tonos puros.
1 1

0.5 0.5

5 10 15 20 25 30 35 5 10 15 20 25 30 35

-0.5 -0.5

-1 -1

(w2 ) para N = 37 (w2 ) para N = 37

La siguiente igualdad se reduce a la suma de una serie geomtrica:


(
1 X 1 si n 0 (m
od N )
(2) wm (n) = (n) donde (n) =
N
mZ
0 si n 6 0 (m
od N )
N

P
Si sustituimos esta relacin en la frmula trivial f (n) = mZN f (m)(nm), tras invertir el orden de sumacin,
se concluye el resultado deseado para cualquier f : ZN C

1 X b X
(3) f (n) = f (m)e(nm/N ) donde fb(n) = f (m)e(nm/N ).
N
mZN mZN

Esta expresin de f en trminos de wm se llama desarrollo de Fourier y a la funcin n 7 fb(n) se le llama


transformada de Fourier discreta, ms conocida por sus siglas en ingls, DFT. Cada fb(n) se dice que es un
coeficiente de Fourier .

Si estn almacenadas en memoria las races N -simas de la unidad, cada fb(n) requiere N multiplicaciones,
y por tanto hallar todos ellos requerira N 2 . Sin embargo, no es difcil percatarse de que los clculos se reducen
enormemente usando la periodicidad de las funciones trigonomtricas. Al refinar esta idea, se obtiene un algoritmo
llamado transformada rpida de Fourier y abreviada habitualmente como FFT. Normalmente se cita [CT65]
como el artculo con el que naci la FFT en 1965, sin embargo, algunos autores [HJB85] han sealado que el
mtodo se remonta a un trabajo pstumo de C.F. Gauss.
El algoritmo permite pasar de N 2 operaciones a una cantidad del orden de N log N . Una reduccin tan
drstica tiene una influencia fundamental en las aplicaciones (en [Str93] se dice que es el mtodo numrico ms
importante de nuestros das). Segn una opinin recogida en [Ger99], es tan sumamente necesaria, que se decidi
que la FFT fuera de dominio pblico y alejarla de las patentes.

Si N es grande, la nube de puntos que compone las ondas discretas wm de (1), se parecern ms a senos
y cosenos, que convenientemente escalados tendrn frecuencias enteras. Para materializar esta idea, escribamos
Resumen 3 3

x = n/N , si F : ZN C entonces f (x) = F (N x) = F (n) cumple f (x + 1) = f (x). De acuerdo con (3), se tiene
X Fb(m) Fb (m) 1 X
(4) f (x) = e(mx) donde = F (k/N )e(mk/N ).
N N N
mZN kZN

La ltima expresin es una suma de Riemann que tender a la integral si N es muy grande, en cuyo caso x = n/N
se comportar como si recorriera todo [0, 1]. Esto sugiere que si f : R C es 1-peridica, lo cual a veces se
abrevia como f : T C, se tiene el siguiente desarrollo de Fourier

X Z 1
(5) f (x) = fb(n)e(nx) donde fb(n) = f (x)e(nx) dx.
n= 0

Por supuesto, el argumento est lejos de ser una demostracin y son necesarias condiciones de regularidad. Por
ejemplo, si f C 2 (T), (donde, de nuevo, T indica la 1-periodicidad), la frmula es correcta con convergencia
absoluta con cierta rapidez. Ya si f C 1 (T) la convergencia est asegurada y es uniforme (aunque quiz no
absoluta). Uno de los grandes hitos del anlisis de Fourier es el dificilsimo teorema de Carleson-Hunt que asegura
que la igualdad en (5) es cierta en casi todo punto para una funcin que est en cualquier espacio Lp (T) con
p > 1.

Obviamente no podemos descomponer una funcin que no sea 1-peridica como suma de senos y cosenos
de frecuencias enteras, a travs de e(nx). Sin embargo todava hay una oportunidad de lograrlo cuando las
frecuencias no son enteras. El truco es pensar fantasiosamente que una funcin que no es peridica es como si
fuera peridica con periodo infinitamente grande.
Una funcin T -peridica f se escribe como f (x) = g(x/T ) donde g es 1-peridica. Utilizando (5) para g y
sustituyendo x por x/T se tiene

X Z 1/2
n 
(6) f (x) = b
g(n)e x con b
g(n) = g(x)e(nx) dx.
n=
T 1/2

Con un cambio de variable e incorporando el coeficiente de Fourier en el sumatorio:


Z T /2
1 X n  n 
(7) f (x) = f (x)e x dx e x
T n= T /2 T T

Si T es muy grande, n/T recorrer puntos cercanos de R. Procediendo como antes, pensando en la suma como
una suma de Riemann, se intuye que
Z Z
(8) f (x) = fb()e(x) d donde fb() = f (x)e(x) dx.

A esta frmula se le llama frmula de inversin y a fb se le llama transformada de Fourier de f y fue introducida
por el propio Fourier en [Fou88]. De nuevo, no hemos probado (8), slo hemos dado indicios para que sea correcta
(como hizo Fourier). La no acotacin de R, limita la certeza de (8) a funciones tales que tengan cierta regularidad
pero tambin cierto decaimiento. Por ejemplo, es vlida para funciones f C 2 tales que |f (k) (x)||x|1 0,
k = 0, 1, 2 cuando x .

Proyecciones, convoluciones y filtros


Vistas las similitudes entre (3), (5) y (8), cabe preguntarse si hay una teora general de la que se deduzcan
estas frmulas como casos particulares. La respuesta es afirmativa y existe un desarrollo de Fourier asociado a
4 Resumen 3

cada grupo abeliano localmente compacto [Kat76]. Las frmulas anteriores corresponden, respectivamente, a los
grupos (ZN , +), (R/Z, +) y (R, +).
Sin entrar en este tipo de teoras, es posible desarrollar cierta intuicin considerando la descomposicin (3)
en el contexto de espacios vectoriales eucldeos lo cual, por extensin tambin arrojan luz sobre (5) y (8).
Recordemos que en un espacio vectorial (complejo) de dimensin finita, si ~u1 , ~u2 , . . . ~un es una base orto-
normal, cualquier vector ~x se escribe como

(9) ~x = a1 ~u1 + a2 ~u2 + + an ~un con ai = h~ui , ~xi.



Si tenemos un subespacio con una base ortonormal ~u1 , ~u2 , . . . ~uk , la proyeccin (ortogonal) sobre l viene dada
por una frmula similar:
k
X
(10) Pr(~x) = h~um , ~xi~um .
m=1

Las funciones f : ZN C forman un espacio vectorial compleja y si introducimos el producto escalar

1 X
(11) hf, gi = f (n)g(n)
N
nZN

entonces las funciones {wm }N 1


m=0 definidas en (1) forman una base ortonormal gracias a (2). Con ello, el desarrollo
de Fourier discreto (3) no es ms que (9).
En el caso de (5) es natural considerar el espacio vectorial complejo completo (un espacio de Hilbert ) dado
 R1
por L2 (T) = f : R C 1-peridica, f L2 [0, 1] con el producto escalar hf, gi = 0 f (x)g(x) dx. Las
funciones {wn }nZ con wn (x) = e(nx) son ortonormales pero en el sentido estricto del lgebra lineal (que no
trata cuestiones de convergencia) no se puede decir que es una base. Sin embargo, la comparacin entre (5) y
(9) nos lleva a pensar que en cierto modo s lo es y que (5) no es otra cosa que la expresin en esta base. En
rigor, se dice que {wn }nZ forman un sistema ortonormal completo
R del espacio de Hilbert L2 (T).
En el caso de (8) el producto escalar natural es hf, gi = f (x)g(x) dx en L2 (R) pero parece que ahora
deberamos considerar un conjunto no numerable {w }R que se sale del espacio y por tanto su ortogonalidad
es difcilmente interpretable. Sin embargo, todo funciona como si as fuera. Pn
Pensemos por ejemplo, en el teorema de Pitgoras aplicado a (9), que nos da k~xk2 = m=1 |h~um , ~xi|2 . En
cada una de las tres situaciones discutidas anteriormente, nos da respectivamente las siguientes frmulas que no
son en absoluto triviales:
X Z 1 Z Z
1 X b X
b
(12) 2
|f (n)| = 2 2
|f (n)| , 2
|f | = 2
|f (n)| , 2
|f | = |fb|2 .
N 0
nZN nZN nZ

Por ejemplo, si tomamos la funcin 1-peridica que coincide con f (x) = x en [0, 1) entonces fb(0) = 1/4 y
P
fb(n) = i/(2n) para n 6= 0. La segunda frmula da una identidad que equivale a 2 /6 = n=1 n
2
.

La idea de la proyeccin (10) es muy natural en las aplicaciones del anlisis de Fourier. Por ejemplo, una
seal de audio 1-peridica, en principio requiere infinitos nmeros complejos para ser representada a travs
de sus coeficientes de Fourier (5). Sin embargo el espectro audible est entre 20Hz y 20kHz, con lo cual no
perdemos nada si proyectamos sobre el subespacio que corresponde a estas combinaciones de frecuencias, lo que
corresponde a
X
(13) f 7 fb(n)e(nx).
20|n|20000
Resumen 3 5

En otras ocasiones, se quieren exagerar algunas frecuencias o atenuarlas sin perderlas del todo (por ejemplo,
aumentar los graves o los agudos). Matemticamente la operacin que generaliza la proyeccin en el caso de
funciones 1-peridicas sera multiplicar cada coeficiente por un peso,
X
(14) f 7 w(n)fb(n)e(nx).
nZ

De cara a las aplicaciones, es interesante saber a qu operacin sobre la funcin corresponde esta accin sobre
los coeficientes de Fourier. La respuesta, est relacionada con la convolucin, que en cada uno de los casos antes
considerados, f : ZN C, f : T C y f : R C, se define respectivamente como
X Z 1 Z
(15) (f g)(n) = f (n m)g(m), (f g)(x) = f (x t)g(t) dt, (f g)(x) = f (x t)g(t) dt.
mZN 0

La convolucin es una operacin conmutativa: f g = g f .


El resultado fundamental sobre convoluciones en el mbito del anlisis de Fourier es que en cualquiera de las
tres situaciones:
(16) f[
g = fb gb
Es decir, la multiplicacin de coeficientes o transformadas de Fourier, como en (14), corresponde a una
convolucin de la funcin.
La prueba es similar en los tres casos. Consideremos el tercero:
Z Z  Z Z 
(17) [
f g() = f (x t)g(t) dt e(x) dx = g(t) f (x t)e(x) dx dt.

Con el cambio x = y + t en la integral interior, se tiene


Z Z 
(18) f[ g() = g(t)e(t) f (y)e(y) dy dt = gb()fb().

Acciones como (14) o sus anlogos en la situacin finita o no peridica, se pueden considerar filtros. Un valor
nulo de w corresponde a una frecuencia que desaparece totalmente y otros valores, corresponde a dar mayor
o menor importancia a una frecuencia. Lo que hemos probado a travs de (16) es que estos filtros siempre se
pueden entender como convoluciones.

Simetras y decaimiento de los coeficientes de Fourier


Est claro que desde el punto de vista prctico, no podemos guardar todo el desarrollo de Fourier de una
funcin 1-peridica arbitraria en una mquina. En principio s podramos hacerlo con los desarrollos de Fourier en
ZN porque son finitos pero en ambos casos, con vistas a la compresin, slo desearamos guardar la informacin
significativa.
Para fijar ideas, centrmonos en el caso de las funciones f : T C. Un hecho fundamental es que la
regularidad implica decaimiento de los coeficientes de Fourier y cuando tenemos coeficientes de Fourier que
decaen rpidamente y basta con almacenar los primeros de ellos. Concretamente, para una funcin f C k (T)
se cumple
(19) |fb(n)| K|n|k para cierta constante K (dependiente de f y k).
La prueba se reduce a una integracin sucesiva por partes, usando la periodicidad para eliminar los trminos de
frontera:
Z 1 Z 1 Z 1
1 1
(20) fb(n) = f (x)e(nx) dx = f (x)e(nx) dx = = k
f (k) (x)e(nx) dx
0 2in 0 (2in) 0
6 Resumen 3

donde se ve que K est controlada por la norma 1 de f (k) y por tanto el mismo resultado se consigue con tal de
que f (k) sea integrable, incluso si no est definida en un conjunto de medida cero, como ocurre con singularidades
como en la de f (x) = |x|.

El problema prctico es que si tomamos un fragmento de una seal, tpicamente cuando la hacemos peridica
el resultado es discontinuo en T y la baja regularidad impide la convergencia rpida de la serie de Fourier.
Nuestro objetivo es el caso finito pero para entender la idea, veamos un mtodo sencillo en el caso 1-peridico
para forzar una mnima regularidad. Este mtodo depende de la relacin entre las simetras y el desarrollo de
Fourier.
R 1/2
Si f : T R es par fb(n) = 1/2 f (x)e(nx) dx ser una real, pues la parte imaginaria de e(nx) es
impar. El desarrollo de Fourier (5) se puede reducir en este caso a una serie de cosenos. Anlogamente, si f es
impar, entonces fb(n) ser imaginario puro y la serie de Fourier se puede expresar como una serie de senos.
Esta expresin en serie de cosenos o senos dependiendo de la simetra de la funcin se extiende al caso
complejo sin ms que considerar partes reales e imaginarias.

X
X
(21) fpar (x) = an cos(2nx), fimpar(x) = bn sen(2nx).

Volviendo a la regularidad, una funcin f : [0, 1] C tpicamente se vuelve discontinua al hacerla 1-


peridica, incluso si f C [0, 1]. Una forma de evitarlo es considerar la funcin 1-peridica g que coincide con
f (2x) en [0, 1/2] y que vale f (2x) para x [1/2, 0]. La funcin g tiene toda la informacin contenida en
f porque f (x) = g(x/2) en [0, 1] y adems, si f C 1 [0, 1], g es continua y C 1 en cualquier intervalo que no
contenga enteros. Segn (19) esto ya asegura que sus coeficientes decaen al menos tan rpido como n1 .
En el caso discreto ocurre algo similar. La falta de regularidad, es decir, las variaciones abruptas, locales
hacen que fb no tenga un decaimiento, es decir, que ciertos valores dominen sobre el resto, lo cual impide
podamos comprimir la seal sin muchas prdidas.
Adaptando la solucin anterior, para evitar este problema se sustituye la seal por otra de periodo doble
obtenida por simetra a travs de 1/2 (o equivalentemente de N 1/2).

0 2 4 6 8 10 12 14 2 4 6 8 10 12 14

Seal original Seal simtrica y peridica

La simetra por n = 1/2 sugiere que estamos trasladando


 los tonos puros, y como duplicamos el periodo,
deberan pasar a ser w em (n) = e m(n + 1/2)/2N , en lugar de (1). La simetra  provoca que el desarrollo de
Fourier se convierta en un desarrollo en cosenos de la forma cos (m+1/2)n/N . Por las razones antes indicadas
y porque en ella slo participan nmeros reales (si la seal es real), la nueva transformada sustituye en muchas
aplicaciones a la transformada de Fourier discreta.
Dada f : {0, 1, . . . , N 1} CN se define su transformada coseno discreta (abreviada habitualmente
mediante DCT) como

N
X 1
n 1 
(22) fbc (n) = f (m) cos (m + ) .
m=0
N 2
Resumen 3 7

El desarrollo de Fourier correspondiente es


N 1
fbc (0) 2 X bc n 1 
(23) f (m) = + f (n) cos (m + ) .
N N n=1 N 2

Para ver que la idea funciona, tomemos la seal f (n) = n 4.5 en Z10 . Los valores de la transformada
coseno discreta son fbc (0) si n es par y fbc (1) = 20.1801, fbc (3) = 2.1615, fbc (5) = 0.7071, fbc (7) = 0.2859,
fbc (9) = 0.0801.
Veamos grficamente lo que ocurre al reconstruir la seal original empleando slo la primera mitad de los
armnicos:

4.0 4.0 4.0

2.0 2.0 2.0

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

2 0
. 2 0
. 2 0
.

4 0
. 4 0
. 4 0
.

Seal original Cinco armnicos con DFT Cinco armnicos con DCT

No es ya slo que la transformada coseno discreta (DCT) da una aproximacin casi perfecta con la mitad de la
informacin, es que la transformada de Fourier discreta apenas aproxima en la misma situacin.
Para probar (23), por la linealidad, basta considerar el caso f (m) = (m m0 ), esto es f (m0 ) = 1 y f (m) = 0
para m 6= m0 . Por sustitucin directa y empleando 2 cos cos = cos( + ) + cos( ), la frmula se reduce
en este caso a
1 
N
X n  n 
(24) N (m m0 ) = 1 + cos (m0 + m + 1) + cos (m m0 ) para 0 m < N.
n=1
N N

La suma de cosenos es par en n y se anula para n = N , por tanto se reescribe como


(25)
1 
N
X n  n  2N
X 1
n(m0 + m + 1)  n(m m0 ) 
2N (mm0) = cos (m0 +m+1) +cos (mm0 ) = e +e
N N n=0
2N 2N
n=N

y esto se sigue de (2) con 2N en lugar de N , notando que 0 < m0 + m + 1 < 2N .

Aplicaciones
El anlisis de Fourier es fundamental en las telecomunicaciones y otras ramas de la ingeniera. Entre la
multitud de aplicaciones, sealamos aqu algunas de ellas que cumplen los requisitos de ser suficientemente
sencillas y tener relacin con la informtica.

El formato JPEG. El color de un pxel (sin transparencias) se expresa mediante tres nmeros de un byte, es
decir, enteros entre 0 y 255, que corresponden a los canales R (rojo), G (verde) y B (azul). Cuando los valores
R, G y B coinciden, el color resultante es un tono de gris. De esta forma, una fotografa de tamao N M puede
considerarse como una funcin f : {0, 1, . . . , N 1} {0, 1, . . . , M 1} R3 y para fotografas en blanco y
negro (en rigor, en tonos de gris), R3 se puede reemplazar por R.
El formato JPEG es el ms utilizado en la fotografa digital no profesional. Las siglas se refieren al comit
que introdujo sus especificaciones (Joint Photographic Experts Group) pero ha quedado como nombre del propio
formato.
8 Resumen 3

En lo que respecta al anlisis de Fourier, el formato trata imgenes de tamao extremadamente pequeo 8 8
pues cualquier otra se divide en bloques de este tamao (si las dimensiones no son mltiplos de 8, se aaden filas
o columnas artificialmente). Cada uno de estos bloques ser una funcin {0, 1, . . . , 7} {0, 1, . . . , 7} R3 . En
este proceso de descomposicin en bloques y su traduccin en funciones, hay un punto tcnico que complica la
implementacin aunque es poco relevante en el modelo matemtico. El espacio de colores RGB no refleja muy
bien las capacidades de nuestra visin, que es mucho ms sensible a la luminosidad que a los tonos de color,
especialmente a los de azul. Por ello se define el espacio de color Y CB CR , donde Y es la luminancia (o luma)
y el par CB y CR es la crominancia (o croma) que tiene menos importancia. La relacin terica entre ambos
espacios de color es la siguiente [Sal02, p.145]

Y 0 77 150 29 R
(26) CB = 128 + 1 44 87 131 G ,
256
CR 128 131 110 21 B
aunque en la prctica no hay que tomarla literalmente porque queremos ajustar los resultados para que sean
enteros de un byte.
Como CB y CR son menos importantes, al tratar estos canales se suelen tomar slo la mitad o la cuarta parte
de los pxeles de la imagen (con GIMP, al exportar como jpg se puede elegir entre 4 posibilidades en Advanced
options>subsampling). Para imgenes en tonos de gris, CB y CR son constantes y toda la informacin est en
Y . en cualquier caso, los tres canales se tratan de manera matemticamente similar, por tanto supondremos que
un bloque 8 8 est representado por una funcin F : {0, 1, . . . , 7} {0, 1, . . . , 7} R.
Aplicando la transformada coseno discreta sucesivamente a cada una de las variables se obtiene
7 X
X 7
n  m 
(27) F = anm nm con nm (k, l) = cos (2k + 1) cos (2l + 1)
n=0 m=0
16 16

y los coeficientes vienen dados por


7 7
(
n m X X 2 si n 6= 0
(28) anm = F (k, l)nm (k, l) donde n =
64
k=0 l=0
1 si n = 0

El objetivo que persigue es comprimir (con prdidas) la foto omitiendo totalmente cierto nmero de coeficientes
de Fourier anm y perdiendo parte de la precisin en el resto. Con los datos resultantes se lleva a cabo una
compresin convencional. Esto explica por qu las carpetas con ficheros .jpg apenas sufren cambios en su
tamao cuando se les aplican programas de compresin y tambin por qu editar muchas veces una foto (abrir
un JPEG y guardarlo como JPEG) reduce su calidad.
De alguna forma, (27) representa cualquier imagen 8 8 como superposicin de imgenes bsicas 8 8.
Asignando al negro el 1 y al blanco el 1, el aspecto de estas imgenes bsicas es:
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

0 4

1 5

2 6

3 7
En la mitad izquierda estn los armnicos nm con 0 m < 4 y en la derecha, los armnicos nm con 4 m < 8.
Los coeficientes de Fourier anm se calculan con cierta precisin, a veces aproximando a enteros (de nuevo,
con GIMP, Advanced options>DCT method da cierto control). Parece claro, y las experiencias lo avalan, que el
Resumen 3 9

ojo es poco sensible a oscilaciones de brillo en reas pequeas, es decir, que ve peor los armnicos con frecuencias
mayores. La matriz de cuantificacin es una matriz entera C = (cnm )7n,m=0 de naturaleza experimental tal que
cnm est en relacin inversa a la visibilidad del armnico nm . La matrices ms empleadas para la luminancia
y la crominancia, son respectivamente:
16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99
12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99
14 13 16 24 40 57 69 56
62 24 26 56 99 99 99 99 99
66 99 99 99 99 99 99
(29) C = 14 17 22 29
18 22 37 56
51
68
87
109
80
103 77 C = 47
99 99 99 99 99 99 99 99
24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99
49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99
72 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99

En vez de los coeficientes de Fourier anm , lo que se almacena son los enteros nm ms cercanos a anm /cnm .
Matemticamente, el esquema del proceso desde F a los nmeros que hay que almacenar es

(30) F {anm }8n,m=0 {nm = [anm /cnm + 1/2]}8n,m=0,

donde [ ] indica la parte entera.


Si F viene dada por 64 valores enteros y ahora almacenamos los nm que son otros 64 enteros, cabe preguntarse
dnde est la compresin. La respuesta es que tpicamente los nm son muchas veces cero o valores pequeos, y
en estas condiciones, la lista de todos los nm para todos los bloques 8 8 de la imagen original tendr muchos
ceros y valores repetidos. No sorprender a nadie que una tabla de datos con estas caractersticas es muy fcil
de comprimir con mtodos convencionales (de compresin sin prdidas) y el fichero jpg que vemos en nuestro
ordenador es el resultado de esa compresin. Habitualmente se emplea la compresin de Huffman porque es muy
ventajosa cuando las probabilidades de diferentes smbolos estn muy descompensadas y porque est libre de
patentes.
Cuando se abre una imagen JPEG, internamente en el ordenador se descomprime el fichero y se obtienen los
nm , con ellos se aproximan los anm por medio de anm cnm nm . Finalmente se utiliza (27) para reconstruir
cada porcin 8 8 de la imagen.
A pesar de que el formato JPEG logra habitualmente una compresin notoria sin prdida de calidad aparente,
est claro que tiene ciertas deficiencias. La ms clara es que la divisin en porciones 8 8 es arbitraria (y adems
las porciones son demasiado pequeas con los tamaos actuales de las fotos y monitores). Una foto puede tener
zonas mucho mayores con gradaciones de color en las que el anlisis de Fourier discreto funciona bien. Lo ideal
sera que hubiera un proceso adaptativo en el que el tamao de los armnicos se ajustase a las diferentes zonas
de la imagen. Esta idea se manifiesta en gran medida en el nuevo formato JPEG 2000 pero, al parecer, no ha
tenido el xito que se esperaba.

Aproximacin de funciones. Los cursos de matemticas sobre anlisis de Fourier suelen dedicar bastante
tiempo a estudiar condiciones de poca regularidad en las que todava se tiene (5) y a cambiar la definicin de
la convergencia para que sta se produzca. Muchas veces se pierde de vista el hecho de que para funciones con
mucha regularidad, la aproximacin mediante unos pocos trminos de la serie de Fourier es realmente buena.
La aplicacin que perseguimos es desarrollar un mtodo que un ordenador o una calculadora pudiera utilizar
internamente para aproximar funciones trascendentes. El mtodo que veremos es marginal en la prctica frente a
otros ms eficientes o precisos (CORDIC o aproximantes de Pad) pero es muy fcil de implementar. Pensemos,
por ejemplo, en qu algoritmo podra usar una calculadora al pusar la tecla sin o un ordenador al llamar
a esta funcin en un lenguaje de programacin. Consideremos como operaciones bsicas las sumas, restas,
multiplicaciones y divisiones, porque estn muy cerca de lo que hace el microprocesador. As pues, el problema
es cmo reducir funciones complicadas a estas operaciones. Una solucin ingenua es utilizar polinomios de
Taylor. Esto suele ser muy poco prctico porque la aproximacin de Taylor es muy buena, ptima en algn
sentido, cerca del punto en el que se hace pero posiblemente bastante mala en cuanto nos alejamos un poco.
La situacin tpica es que necesitemos aproximar la funcin en un intervalo acotado. Por ejemplo, si f (x) =
sen x entonces,
 por las simetras y la periodicidad, basta considerar el intervalo [0, /2], si f (x) = log x la relacin
log x/2n = log x n log 2 y que para un ordenador es trivial dividir por 2n , reduce el rango a [1, 2].
10 Resumen 3

Con una transformacin lineal podemos suponer que el intervalo


 en el que queremos llevar a cabo la aproxi-
macin de una funcin f es [1, 1]. Definamos g(x) = f cos(2x) que, al ser real y par, tiene un desarrollo de
Fourier (5) de la forma

X Z 1

(31) f cos(2x) = a0 + 2 an cos(2nx) con an = g(x) cos(2nx) dx.
n=1 0

Supongamos que f es muy regular, como ocurre con casi todas las funciones que aparecen en las teclas de nuestra
calculadora en los intervalos de inters. Entonces {an }
n=0 tiende a cero muy rpidamente. Si cambiamos x por
1
2 arc cos x en el desarrollo anterior, se tiene

X 
(32) f (x) = a0 + 2 an Tn (x) con Tn (x) = cos n arc cos x .
n=1

Diremos que ste es el desarrollo de Chebyshev-Fourier porque a los Tn , n 0, se les llama polinomios de
Chebyshev . Quiz resulte una sorpresa que, como su nombre indica, son realmente polinomios para 1 x 1.
Una manera rpida de comprobarlo es partir de T0 = 1 y T1 = x y utilizar las frmulas de adicin para el seno
y el coseno para deducir

(33) Tn+1 (x) = 2xTn (x) Tn1 (x), n Z+ .

Esta recurrencia implica que evaluar estos polinomios es computacionalmente muy poco costoso. La aproximacin
de f se logra tomando un nmero finito de trminos en (32). Los coeficientes an necesarios para efectuar la
aproximacin con la precisin deseada se precalculan con precisin al disear el software y se almacenan en
memoria. En una calculadora formaran parte de su propia arquitectura.

Tomemos como ejemplo la aproximacin de la funcin seno. Elegimos, f (x) = sen(x/2), aunque en principio
parece mejor sen((x + 1)/4) porque sus valores en [1, 1] determinan sin redundancias los de la funcin seno,
pero f tiene la ventaja computacional de que su simetra impar implica a2k = 0 (ejercicio). Si tomamos tres
coeficientes de Fourier no nulos, precalculados con 8 decimales, (32) lleva a

(34) sen x 0.56682409T1(x) 0.06903589T3(x) + 0.00224536T5(x),
2
donde T1 (x) = x, T3 (x) = 4x3 3x y T5 (x) = 16x5 20x3 + 5x, aunque las expresiones explcitas para los
Tn (x) son indiferentes desde el punto de vista computacional porque tenemos la recurrencia (33). Se puede
comprobar que el error absoluto mximo en esta aproximacin es menor que 7 105 . Tomando 8 coeficientes
el error mximo est ya cercano al habitual en doble precisin, 253 1016 . Es decir, que almacenando slo
8 nmeros conseguimos tanta aproximacin para el seno de cualquier nmero real como la que nos da nuestro
ordenador.

Filtros de convolucin. Supongamos una seal f : ZN C con N grande, digamos que idealmente tenemos
f : Z PC, que de algn modo equivaldra a N = . La convolucin con g : Z C corresponde a efectuar
la suma f (n m)g(m) y es natural, por razones prcticas, limitarse a funciones g con soporte acotado. En
ingeniera este tipo de filtros de convolucin se dice que son filtros de respuesta finita, abreviado como FIR (finite
impulse response). Muchas veces se representa g con un vector de cuyas coordenadas son los valores consecutivos
de g forzando a que g(0) sea aproximadamente la coordenada en la posicin intermedia. Por ejemplo, (1, 2, 3, 2, 1)
indica la funcin g(n) = 3 |n| para |n| 2 y cero en el resto.
Como ya hemos apuntado, f 7 f g lleva a cabo una especie de promedio ponderado de f a travs de g
que dentro del anlisis de Fourier es equivalente a la multiplicacin de los coeficientes de Fourier y por tanto
sirve para aumentar o reducir la importancia de las diferentes componentes de frecuencia. Sin embargo, no es
Resumen 3 11

necesario saber nada de anlisis de Fourier para entender el funcionamiento y el inters de algunos filtros de
convolucin bsicos que incorporan los programas de retoque fotogrfico. Lo que sigue es totalmente elemental
pero an as interesante desde el punto de vista prctico.

Ya sabemos, que una fijado uno de los canales del espacio de color, una imagen N M se puede considerar
como una funcin f : {0, 1, . . . , N 1} {0, 1, . . . , M 1} R. Para la teora, supongamos inicialmente que
f : Z2 R (imagen
P P de dimensiones infinitas). En analoga con lo anterior, la2 convolucin se define como
(f g)(n, m) = f (n i, m j)g(i, j). Si g tiene soporte incluido en [K, K] , los nmeros g(i, j) pueden
interpretarse como elementos de una matriz cuadrada C de dimensin 2K + 1. Dada una matriz de este tipo, el
filtro de convolucin acta sobre la imagen como
K
X K
X
(35) Nuevo valor del pxel (n, m) = f (n i, m j)ci+K+1 j+K+1 .
i=K j=K

Esto no es ms que cambiar el valor de cada pxel por un promedio de los valores de pxeles de alrededor,
ponderado a travs de C.
Por ejemplo, consideremos las matrices,

0 0 0 1 1 1 1 1 1
1
(36) C1 = 0 1 0 , C2 = 1 1 1 y C3 = 1 8 1 .
9
0 0 0 1 1 1 1 1 1

La primera matriz da lugar a un filtro trivial que no tiene ninguna accin, la segunda, promedia entre los pxeles
adyacentes, con lo cual se producir cierto desenfoque. Dicho sea de paso, el desenfoque ms natural desde
el punto de vista terico  consiste en tomar una matrices que aproxime los valores de una funcin gaussiana
K1 exp K2 (x2 + y 2 ) y es lo que aproxima el filtro de desenfoque gaussiano que est en los programas de
retoque fotogrfico. La ltima matriz, dejar fijo el valor de un pixel si los adyacentes tienen el mismo valor y lo
cambia mucho si hay grandes variaciones. Este tipo de filtros se utiliza para detectar bordes en imgenes.
En la prctica, la frmula (35) no se aplica tal cual. Hay dos problemas a tratar, el primero es que la imagen f
no es ilimitada y hay que decidir qu se hace en los bordes, habitualmente uno inventa una regla para continuar
la imagen con los valores que sean necesarios (por ejemplo repetir las ltimas K filas y columnas). El segundo
es que, sin propiedades demasiado restrictivas sobre C, en general el valor de un pxel puede tomar valores no
enteros o fuera del rango [0, 255), una solucin fcil y comn es aproximar al entero ms prximo y, si fuera
necesario, asociar los que caen en (, 0) y (255, ) a 0 y 255, respectivamente (este proceso se conoce en ingls
con el nombre de clamping).

Imagen original Filtro C3 (negativo) Filtro C3 (negativo) 1


8 C3 (negativo) [0, 240]

Veamos un ejemplo de estas ideas intentando disear a partir de C3 un filtro que simule la transformacin de
una foto en un dibujo hecho a lpiz. Tomamos una imagen en tonos de gris (la de la izquierda) y aplicamos C3
12 Resumen 3

efectuando el clamping como se ha indicado y mostramos en negativo la imagen (el 0 ser blanco y el 255 negro)
para que las partes de lpiz sean oscuras. El resultado es la segunda figura. y parece poco denso y aleatorio
porque el filtro C3 detecta variaciones en un rango de 3 pixels, que es una unidad pequea (en un monitor actual
tpicamente 0.75mm y todava menor en los dispositivos mviles de calidad).
Esto sugiere trabajar en bloques de tamao doble. Es decir, consideramos C3 como C3 pero sustituyendo
cada elemento por una celda 2 2 con todos sus valores iguales. El resultado el la tercera figura. Simula mejor
un trazado a lpiz, pero tiene demasiadas partes oscuras. La razn es que, como C3 involucra ms nmeros no
nulos, tras aplicar el filtro, hay muchos valores que sobrepasan 255 (negro en el negativo). Para evitarlo, en la
ltima figura se ha dividido el filtro por 8 y se ha bajado el umbral de negro hasta 240 para mejorar el resultado.
Casi todo los filtros de los programas de retoque fotogrfico son combinaciones de convoluciones con otras
ideas sencillas. En el conocido programa libre GIMP, es posible elegir una matriz de convolucin para crear un
filtro propio (en el men Filters>Generic>Convolution Matrix). En la documentacin correspondiente se
lee Here is a mathematicians domain. [. . . ] What is a convolution matrix? Its possible to get a rough idea of it without
using mathematical tools that only a few ones know. Lo curioso es que a los matemticos en formacin que conocen
sobradamente las herramientas, rara vez se les explica su utilidad.

Tomografas y transformadada de Radon. Una ltima aplicacin est en la base de la obtencin de


algunas imgenes mdicas.
La TAC (tomografa axial computarizada) es una tcnica poco invasiva para obtener imgenes de la estruc-
tura de secciones planas de tejidos sin necesidad de ciruga. Esencialmente lo que se hace es tomar muchas
radiografas unidimensionales en muchas direcciones contenidas en el plano que quiere examinarse. Lo que se
hace es reconstruir la seccin a partir de sus sombras, teniendo en cuenta que el tejido es semitranslcido a los
rayos X.

Para formular el modelo, consideremos un fino haz de rayos X que atraviesa la muestra siguiendo una recta
r,t que dista t del origen y cuya normal forma un ngulo con el eje OX. Es natural suponer que la atenuacin
que sufre al atravesar la muestra depende de la integral densidades que atraviesa, es decir, de
Z
(37) P (t) = con r,t x cos + y sen = t.
r,t

Matemticamente, esto es lo que se llama transformada de Radon (a veces con una normalizacin diferente) o,
por razones obvias, transformada de rayos X .
El problema que se plantea es cmo recuperar a partir de P (t), que idealmente se conocera con infinitas
radiografas. Usando la definicin de integral de lnea de una funcin escalar con la parametrizacin de r,t dada
por x = t cos u sen , y = t sen + u cos , se tiene
Z
(38) P (t) = (t cos u sen , t sen + u cos ) du

Resumen 3 13

Tomando transformada de Fourier (para fijo),


Z Z
(39) c (r) =
P (t cos u sen , t sen + u cos )e(tr) dudt = (x, y)e(rx cos ry sen ) dxdy
R2 R2

donde se ha hecho el cambio de variable (t, u) 7 (x, y) que corresponde a la parametrizacin anterior.
Para seguir, tenemos que introducir la transformada de Fourier en varias variables. Es inmediato generalizar
(8) a dimensiones superiores, simplemente aplicando la misma frmula en cada variable. As para dimensin dos
Z Z
(40) f (x, y) = b
f (, )e(x + y) dd b
donde f (, ) = f (x, y)e(x y) dxdy.
R2 R

De esta forma, la conclusin de los clculos anteriores es

(41) c (r) = b(r cos , r sen )


P

y la primera frmula de (40) permite recuperar , como desebamos a partir de esta informacin. Haciendo un
cambio a polares, el resultado final es
Z 2 Z
(42) (x, y) = c (r)e(xr cos + yr sen ) drd.
rP
0 0

En la prctica, no tendr mucha regularidad y entonces la aproximacin de la transformada de Fourier y


de las integrales no es sencilla. Quiz esto explique que desde los resultados matemticos de J. Radon hasta que
las tomografas formaron parte de la prctica mdica habitual, pasaron ms de 70 aos. Por otro lado, el mtodo
indicado no es el nico con el que se lleva a cabo la reconstruccin. Lo que est claro es que para el diagnstico
mdico actual es realmente crucial disponer de tcnicas poco invasivas como sta. Imgenes mucho ms precisas
se obtienen con la resonancia magntica nuclear (cuando es posible llevarla a cabo). Sus bases fsicas son mucho
ms complicadas pero hay tambin una relacin con los fenmenos oscilatorios: se busca que entren en resonancia
una onda asociada a los ncleos de tomos de hidrgeno y una onda electromagntica externa.

Algunos comentarios sobre formatos de audio. Ciertamente el que dijo aquello de que una imagen vale
ms que mil palabras no tena en mente el mundo digital. Una foto 3648 2736 tomada con una cmara digital
ocupa en formato JPEG, alrededor de un par de megas, teniendo una calidad ms que suficiente para un fondo
de escritorio o impresin en formato medio. Por otro lado, con parmetros habituales, la amplitud de un sonido
en estreo se representa con 32 bits (16 por cada canal) y se muestrea a 44.1kHz, es decir, que 44100 veces por
segundo, hay que procesar un nmero de 32 bits esto es alrededor de 1.5 megabits por segundo. Es decir, sin
ninguna compresin, 1000 palabras, que en promedio llevan unos 5 minutos, requeriran mas de 50 megas. Esto
est muy por encima de lo que necesita cualquiera de las fotos que almacenamos en nuestro ordenador. Incluso
si no llevamos acabo ninguna compresin (ni sin prdidas ni con prdidas), una imagen 3648 2736 slo podra
llegar a ocupar 29 megas.

Los nmeros anteriores indican que no es conveniente, ni a veces posible, almacenar audio sin una severa
compresin. En los aos 90 se cre el formato MP3 que con el posterior auge de la transmisin por internet de
ficheros multimedia se convirtieron en el gran referente en audio (Ogg vorbis es un formato libre anlogo pero
ha tenido menos difusin).
Un CD conteniendo audio sin comprimir tiene una duracin de 74 minutos, mientras que el mismo contenido
en MP3 tpicamente multiplica esta duracin por ms de 10. Por supuesto, el precio que hay que pagar es una
prdida de calidad. La difusin del formato no deja dudas acerca de que esta prdida es aceptable por la mayor
parte de los usuarios.
14 Resumen 3

Desafortunadamente, la descripcin completa del formato es muy compleja y no est demasiado divulgada
(vase [Sal02] para una descripcin somera). Esta complejidad se manifiesta especialmente en la parte de la
codificacin. La fuerza del algoritmo est en un modelo psicoacstico (basado en experimentos) para filtrar la
seal. el sonido se divide inicialmente en subbandas de frecuencias (que podemos interpretar como fragmentos de
la serie de Fourier). La anchura de las subbandas y la imprecisin en su tratamiento es mayor cuanto menor sea
la sensibilidad del odo humano a ellas. Tambin hay un sistema adaptativo de ventanas que permite considerar
ondas regularizadas ms largas si no ha habido cambios significativos.
Menos evidente pero importante, es aprovechar el enmascaramiento (masking) temporal o tonal en el filtrado
de la seal. ste es un fenmeno relacionado con la fisiologa de nuestra audicin que consiste en que cuando la
amplitud se eleva sbitamente, nuestro odo apenas percibe la seal (se queda sordo) en un instante posterior e
incluso ligeramente anterior. De la misma forma, una frecuencia dominante causa una insensibilidad a frecuencias
cercanas que se pueden filtrar sin consecuencias.

Referencias
[CT65] J. W. Cooley and J. W. Tukey. An algorithm for the machine calculation of complex Fourier series.
Math. Comp., 19:297301, 1965.
[Fou88] J. Fourier. Thorie analytique de la chaleur. ditions Jacques Gabay, Paris, 1988. Reprint of the 1822
original.
[Ger99] N. Gershenfeld. The nature of mathematical modeling. Cambridge University Press, Cambridge, 1999.
[HJB85] M. T. Heideman, D. H. Johnson, and C. S. Burrus. Gauss and the history of the fast Fourier transform.
Arch. Hist. Exact Sci., 34(3):265277, 1985.
[Kat76] Y. Katznelson. An introduction to harmonic analysis. Dover Publications, Inc., New York, corrected
edition, 1976.
[Sal02] D. Salomon. A guide to data compression methods. Springer-Verlag, 2002.
[Str93] G. Strang. Wavelet transforms versus Fourier transforms. Bull. Amer. Math. Soc. (N.S.), 28(2):288
305, 1993.

Вам также может понравиться