You are on page 1of 42

Fundamentos matemticos del anlisis espectral

Luis A. Candelas Fernndez. 1999.


SUMARIO
Pgina
1. Introduccin. 2
2. Seales. 3
2.1 Anlisis del movimiento ondulatorio. 3
2.2 Extensin al caso de seales elctricas. 5
2.3 mbito de estudio de las seales. 5
2.3.1 Descripcin de la seal en el dominio del tiempo. 5
2.3.2 Descripcin de la seal en el dominio de la amplitud. 6
2.3.3 Descripcin de la seal en el dominio de la frecuencia. 6
3. Fasores y desarrollo en serie de Fourier. 7
3.1 Diagrama fasorial y representacin espectral de una seal sinusoidal. 7
3.2 Desarrollo en serie de Fourier. 9
3.3 La funcin SINC. 10
3.4 Ejemplo de desarrollo en serie de Fourier. 11
4. Transformada de Fourier. 12
4.1 La transformada de Fourier. 12
4.2 Delta de Dirac o impulso unidad. 13
4.3 Onda muestreadora ideal. 15
5. Convolucin. 17
6. Muestreo de seales. 18
6.1 Muestreo terico. 18
6.2 Teorema de muestras. 19
6.3 Muestreo prctico. 20
6.4 Efecto de solapamiento (Alliasing). 21
7. Secuencias. 22
7.1 Secuencias. 22
7.2 Transformacin de Fourier de una secuencia. 22
7.3 Convolucin de secuencias. 23
8. Transformacin discreta de Fourier. 24
8.1 La transformacin discreta o DFT. 24
8.2 Relacin de la DFT con la transformada continua. 25
8.3 La transformada rpida de Fourier. 26
9. Mecanizacin de los procesos. 28
9.1 Introduccin. 28
9.2 Captura de datos y muestreo. 28
9.3 Proceso de datos. 30
9.4 Presentacin de la informacin. 38
Bibliografa. 40
1
1. INTRODUCCIN.
Para la correcta lectura y comprensin de estas pginas es imprescindible conocer los teoremas y
mtodos elementales del Anlisis Matemtico y el lgebra de los primeros cursos de facultades de ciencias
o escuelas tcnicas o al menos estar familiarizado con el clculo infinitesimal, ya que es el soporte
imprescindible de la informacin que aqu se presenta.
El orden creciente establecido en los captulos permite ir evolucionando desde los principios fsicos
del movimiento ondulatorio hasta la consecucin de algoritmos informticos que permitan calcular los
parmetros necesarios para obtener un anlisis espectral.
La base de la inteligencia electrnica y acstica, es el estudio de seales, entendiendo por seal la
representacin en forma elctrica de la informacin generada por una fuente. Atendiendo a esto, no
estableceremos diferencias por el tipo de fuente ni por el medio de propagacin, y solo nos referiremos a
las propiedades elementales del fenmeno ondulatorio; por tanto no se entrar en propiedades que aunque
son muy interesantes en la clasificacin de determinadas seales no son caractersticas de todas en
general, como puede ser la polarizacin, que es propia de ondas electromagnticas pero no existe en
ondas mecnicas.
Bsicamente se explicar como se realiza el anlisis espectral, esto es, captar una seal cuya
amplitud se define en funcin del tiempo para transformarla en otra cuya potencia es definida en funcin de
la frecuencia, para lo cual primero se ofrecer el soporte matemtico y analtico y posteriormente su
mecanizacin para un ordenador.
En general, el conjunto de informacin generado por una fuente es tan amplio que no suele
prestarse atencin ms que a una coleccin de rasgos fundamentales que nos servirn para parametrizar
las seales.
En inteligencia se estudian seales deterministas, descritas en funcin del tiempo, esto es,
funciones de la forma x = f(t), en las que el valor de la seal puede conocerse para cualquier instante,
resultando ms interesantes an las peridicas, es decir, las que cumplen:
f (t) = f (t + P) siendo P el periodo.
Como puede observarse responden a la ecuacin general del movimiento ondulatorio. Debido a
esto, se detalla en primer lugar la descripcin de este movimiento, para luego extenderlo al caso de las
seales elctricas en los distintos mbitos: temporal, amplitud y frecuencia.
2
2. SEALES.
2.1 Anlisis del movimiento ondulatorio.
La ecuacin general de un movimiento ondulatorio se puede escribir: x = f (t) y al ser de carcter
peridico verifica que: f (t) = f(t+P), siendo P el periodo.
Tomado por ejemplo la ecuacin de movimiento descrita por la ecuacin:
x = A sen t + B sen 2t siendo la frecuencia [1]
que representa la superposicin de dos movimientos ondulatorios simples cuya grfica es:
Sumando a la ecuacin [1] trminos de la forma sen nt cos nt se obtiene un desplazamiento
peridico en x, de periodo P y la forma exacta depende del nmero de funciones seno y coseno que se
sumen y de sus amplitudes relativas.
Vemos as que sumando movimientos ondulatorios simples cuyas frecuencias son mltiplos de una
fundamental y cuyas amplitudes sean seleccionadas correctamente, se puede obtener cualquier funcin
peridica arbitraria. La inversa tambin es verdadera, y constituye el Teorema de Fourier, cuya
formulacin es:
Una funcin peridica de periodo P = 2 / puede expresarse como la suma:
x = f(t) = ao + a1 cos t + a2 cos 2t + .... + an cos nt + b1 sen t + b2 sen 2t +.....+ bn sen nt [2]
La frecuencia se llama frecuencia fundamental y las 2, 3, ..., n se denominan armnicos.
Es fundamental la obtencin de los coeficientes de cada uno de los trminos ya que determinarn
la amplitud de cada armnico de forma que la suma total de todos los obtenidos proporcione la funcin
original.
Para la obtencin de los coeficientes an y bn , llamados coeficientes de Fourier, se emplea el
siguiente razonamiento:
Para obtener el coeficiente an se multiplican ambos miembros de la ecuacin [2] por cos nt con
lo que se obtiene:
cos nt f(t) = ao cos nt + a1 cos t cos nt + a2 cos 2t cos nt + .... + an cos
2
nt +
+ b1 sen t cos nt + b2 sen 2t cos nt +.....+ bn sen nt cos nt
Integrando ambos miembros de la ecuacin en el intervalo [0, P]:
En este desarrollo se obtiene trminos cuyo integrando corresponde a uno de los siguientes:
1.- am cos mt cos nt
2.- bm sen mt cos nt
3.- an cos
2
nt
Veremos como los de la forma 1 y 2 son nulos y el de la forma 3 es el que permite obtener el valor
de an.
3
cos ( ) cos cos cos ...
sen cos cos ... sen
n tf t dt a n tdt a t n tdt a n tdt
b t n tdt b t n tdt b n tdt
P P P
n
P
P P
n
P


+ + + +
+ + +


0
0
1
0 0 0
1
0
2 2
0 0
cos
sen n tos
2
1.- Clculo de la integral de los trminos de la forma 1.
Esto explica que todos los trminos de esta forma son nulos incluido el trmino del
coeficiente a0 que es el caso trivial de que el factor m sea m = 0.
2.- Clculo de la integral de los trminos de la forma 2.
Por lo cual todos los trminos de esta forma son nulos.
3.- Clculo de la integral del trmino de la forma 3.
El trmino an cos
2
nt es nico y su valor es:
As pues, eliminando los trminos nulos se tiene:
4
[ ] a m t n tdt
a
m n t m n t dt
a
m n tdt m n tdt
a m n t
m n
m n t
m n
a m n
m n
m n
m n
m
m
P P
m
P P
m
P P
m
cos cos cos( ) cos( )
cos( ) cos( )
sen( ) sen( )
sen( ) sen( )



+ +
+ +

1
]
1

+
+
+

1
]
1

+
+
+

1
]
1



2
2 2
2
2 2
0
0 0
0 0 0 0
se ha empleado la sustitucin: cos(mx - nx) + cos(mx + nx) = 2 cos mx cosnx
porque P =
2
y sen 0 = 0
[ ] b m t n tdt
b
m n t m n t dt
b
m n tdt m n tdt
b m n t
m n
m n t
m n
b m n
m n
m n
m n
m
m
P P
m
P P
m
P P
m
sen cos sen( ) sen( )
sen( ) sen( )
cos( ) cos( )
cos( ) cos cos( ) cos



+ +
+ +

1
]
1

+
+
+

1
]
1

+ +
+
+
+

1
]
1



2
2 2
2
2 0 2 0
0
0 0
0 0 0 0
se ha empleado la sustitucin: sen(mx +nx) + sen(mx - nx) = 2 sen mx cosnx
porque P =
2

[ ] a n tdt
a
n t dt
n t
n t
a
dt n tdt
a
P
n t
n
a
P
n
n
a P
m
m
P P
n
P P
n
P
n n
cos cos
cos
cos
cos
sen sen
2
0 0
0 0 0
2
1 2
2
1 2 2
2
2
2
2
2
2 2
2 2
2 2

+
+

1
]
1
+

1
]
1
+

1
]
1



se ha empleado la sustitucin:
cos ( )
cos ( )
n tf t dt
a P
a
P
n tf t dt
P
n
n
P

0
0
2
2
y despejando:
Para la obtencin de los coeficientes bn se utiliza el mismo proceso pero multiplicando ambos
miembros de la ecuacin [2] por sen nt.
El Teorema de Fourier enuncia: un movimiento ondulatorio peridico puede expresarse como una
superposicin de movimientos ondulatorios armnicos de frecuencias mltiplos de una frecuencia
fundamental.
En acstica esto explica la cualidad del sonido o timbre de un sonido producido por distintas
fuentes. As la misma nota musical generada por una guitarra o por un piano suenan de forma distinta
aunque posean la misma frecuencia fundamental.
El mtodo de Fourier es til no solo para el anlisis de curvas peridicas, sino para curvas no
peridicas, ya que basta suponer que la curva se extiende de - a + y que este intervalo corresponde a
un solo periodo. La diferencia esencial es que en lugar se analizar la curva en un espectro discreto de
frecuencias , 2, 3, ..., n, se analiza en un espectro continuo.
2.2 Extensin al caso de seales elctricas.
Aunque no es estrictamente necesario para la explicacin terica, si es eminentemente prctico
trasladar el estudio general del movimiento ondulatorio al caso elctrico, ya que el tratamiento de la seal
se realizar en este plano.
En la mayora de los casos el anlisis se facilita escribiendo las ondas sinusoidales en forma de
exponenciales complejas y en este proceso reside el fundamento de la representacin del anlisis
espectral. Esta modificacin en la forma de la notacin no implica modificacin alguna en el concepto ni en
el punto de vista, es simplemente un camino ms fcil y evidente.
Para realizar un estudio detallado se seguirn los siguientes pasos:
1. mbito de estudio de las seales.
2. Descripcin de un FASOR que se usar para comprender la representacin de una seal
temporal como un espectro de rayas.
3. El desarrollo en serie de Fourier, sus propiedades y su interpretacin espectral. El desarrollo en
serie se usa para anlisis de seales peridicas y la funcin SINC.
4. La transformada de Fourier y sus uso para el anlisis de seales no peridicas.
5. La funcin Delta de Dirac y la convolucin. Muestreo de seales, su utilizacin y las condiciones
para que una seal continua pueda ser sustituida por una muestra de la misma.
6. La transformacin discreta de Fourier o la aplicacin de la transformada de Fourier a una suma
finita.
7. Mecanizacin de la transformacin discreta de Fourier para ordenadores, su algoritmo y
codificacin.
2.3 mbito de estudio de las seales.
Las seales pueden estudiarse en tres mbitos diferentes: tiempo, amplitud y frecuencia.
2.3.1 Descripcin de seales en el dominio del tiempo.
El mbito temporal es el dominio primario en el que se manejan y captan las seales y en
el que se presentan ordinariamente en el osciloscopio.
En general se representan con nmeros complejos de la forma: x(t) + jy(t) con j = .
Trabajando en este dominio es posible conocer los siguientes parmetros:
Valor de cresta:
Mxima amplitud de la seal, registrada en el tiempo de observacin T, positivo o negativo.
Valor de pico a pico:
Separacin entre los mximos, positivos y negativos de la seal.
Valor medio:
Valor medio temporal:
Expresa la componente continua de la seal cuando existe.
Valor medio cuadrtico o potencia media de la seal:
5
< >
+
X t
T
x t dt T
t
t T
( ) ( )
1
< > < >

+
x t lim X t lim
T
x t dt
T
T
T
t
t T
( ) ( ) ( )
1
Corresponde a la potencia que un voltaje o corriente x(t) disipara en una resistencia de 1.
Si la seal es peridica no precisa del paso al lmite.
Varianza o cuadrado del valor eficaz:
Representa la potencia de las componentes alternas de la seal.
Factor de forma:
Cociente entre el valor eficaz y el valor medio con signo positivo.
Factor de cresta:
Cociente entre el valor de cresta y el valor eficaz.
Puede comprobarse que los parmetros tratan el aspecto energtico de la seal.
2.3.2 Descripcin de las seales en el dominio de la amplitud.
Se trata de un mbito muy apropiado para determinar propiedades estadsticas de las
seales.
Representa la informacin en un sistema de amplitud - porcentaje de tiempo en el que se
rebasa dicha amplitud o en el que toma los valores de un intervalo determinado.
2.3.3 Descripcin de las seales en el dominio de la frecuencia.
La base del estudio en el dominio de la frecuencia reside en descomponer la seal en sus
frecuencias constitutivas, representando las peridicas mediante su desarrollo en serie de Fourier y
las no peridicas mediante la transformada de Fourier.
La representacin de la seal as efectuada se denomina ESPECTRO y este tipo de
tratamiento ANALISIS ESPECTRAL.
Todo el proceso parte de la obtencin de una seal presente en el entorno a analizar.
Evidentemente la seal captada por cualquier medio est tomada en el dominio del tiempo, es decir, la
variable independiente de la funcin que la define es el tiempo. Sin embargo, y aunque de la observacin
de la crnica temporal de la seal proporciona informacin relevante de la misma, es ms ventajoso para
los fines de obtencin de inteligencia acstica, la presentacin en el dominio de la frecuencia, es decir,
transformar la funcin original obtenida del medio cuya variable independiente es el tiempo en otra cuya
variable independiente es la frecuencia.
6
P x t lim
T
x t dt
T
t
t T
< >

+
( ) ( )
2 2 1
[ ] [ ]
X x t x t x t x t
eff
2
2
2
2
< < > > < > < > ( ) ( ) ( ) ( )
3. FASORES Y DESARROLLO EN SERIE DE FOURIER.
3.1 Diagrama fasorial y representacin espectral de una seal sinusoidal.
Considerando una onda sinusoidal arbitraria es equivalente escribir:
x(t) = A cos (t+ ) x(t) = Re [A e
j ( t + )
]
con = 2f ; f: frecuencia , : fase inicial y j = . Re expresa la parte real.
El trmino exponencial se llama representacin fasorial ya que puede representarse como un
vector giratorio de longitud A, con ngulo inicial y velocidad angular . La proyeccin de este vector
sobre el eje de abcisas es el valor real de x(t).
La representacin del trmino fasorial o fasor se describe en la figura:
El vector descrito puede representarse en el dominio de la frecuencia, mediante un sistema cartesiano con la
frecuencia en las abcisas y en las ordenadas separadamente la amplitud y la fase, obteniendo as el espectro de rayas de
la figura en el que se representa una sinusoide de frecuencia f0 y de fase inicial . La fase inicial se toma como la
diferencia temporal entre la sinusoide descrita y la funcin cos t.
En general en los anlisis de seales y la construccin de espectros de rayas se adoptan los siguientes
convenios:
1. La variable independiente es la frecuencia y se representa en las abcisas.
2. Los ngulos de fase inicial se referencias respecto a seales cosenoidales, esto quiere decir que
para representar seales seno se tomar en complementario del coseno: sen t = cos (t - /2).
3. Los ngulos de fase se miden en radianes.
4. La amplitudes son siempre nmeros reales positivos.
7
Por ejemplo, tomando la seal:
x(t) = 3 + 4 sen (2 15 t + /2) - 5 cos ( 2 25 t ) + 2 cos ( 600 t + 30)
la transformacin segn los puntos descritos ser:
x(t) = 3 + 4 cos (2 15 t - /6) + 5 cos ( 2 25 t - ) + 2 cos (2 600 t/2 + /6)
Se ha tomado = 2 f siendo f la frecuencia en Hz.
Y su representacin en amplitud y fase es:
Esta representacin es unilateral o de frecuencias positivas. Otra forma de representacin es la bilateral o de
frecuencias positivas y negativas, que se basa en la relacin de Euler para nmeros complejos que se describe a
continuacin.
Un nmero complejo admite la siguiente representacin exponencial:
p e
z y
= p ( cos z + j sen z)
En la que z representa el argumento y p el mdulo.
Realizando la suma:
La representacin bilateral se puede escribir de la forma:
x(t) = A cos ( t + ) = A/2 ( e
j (t + )
+ e
- j (t + )
)
La amplitud de la seal viene determinada por la suma de dos fasores de igual longitud pero con
fases iniciales y velocidades angulares opuestas. En este caso para obtener el valor de x(t) no es preciso
realizar la proyeccin del fasor sobre el eje de abcisas, sino que viene dada por la suma de ambos fasores
en el instante t.
Este tipo de representacin es el ms cmodo para el anlisis matemtico, pero deben researse las siguientes
particularidades:
8
e e z j z
z j z
z j z
z j z
e e
z z zj z
z j z
z zj z
z j z
e e
z z j z
z j z
z
z
e e
zj zj
zj zj
zj zj
zj zj
+ + +
+

+ +
+
+
+ +
+

+
+
+
+
+

(cos sen )
(cos sen )
(cos sen )
(cos sen )
cos sen cos sen
cos sen
cos cos sen
cos sen
cos (cos sen )
cos sen
cos
cos
1 1
2 1 2 2
2
2
2
2
2 2 2
1. Las frecuencias negativas no tienen realidad fsica y se eliminan en una representacin grfica
normalizada.
2. La amplitud de las lneas es la mitad de la amplitud de la seal.
3. El espectro de amplitud es simtrico respecto al origen y el de fase antisimtrico.
En general el espectro de amplitud ser el ms utilizado en anlisis espectral. Este indica que frecuencias
estn presentes y en que proporcin relativa. La completa identificacin de la seal requiere el conocimiento de los
espectros de amplitud y de fase, pero en nuestro caso el de fase es rara vez usado.
La siguiente figura muestra el mismo ejemplo que se represent en un diagrama unilateral, esta vez en el
diagrama bilateral.
La ecuacin es:
x(t) = 3 + 4 cos (2 15 t - /6) + 5 cos ( 2 25 t - ) + 2 cos (2 600 t/2 + /6)
3.2 Desarrollo en serie de Fourier.
Se ha definido una seal peridica x(t) de periodo P si para todo t se verifica que: x(t) = x (t + P).
Esto implica que x(t) dura entre - y + por lo cual, es slo un modelo matemtico que aproximadamente
describe una seal fsica, cuya duracin ha de ser necesariamente finita.
x(t) puede representarse de modo nico mediante un desarrollo en serie de exponenciales
complejas, conocido como desarrollo en serie de Fourier de la forma:
siendo los coeficientes en general nmeros complejos dados por:
Observe se que cn es el valor medio de x(t) e
-jnt
en un periodo y que c0 es el valor medio de x(t) en
un periodo.
Para obtener el valor de los coeficientes cn se procede de igual forma que en la ecuacin del
movimiento ondulatorio, para ello, basta sustituir en el desarrollo los trminos de la forma cm e
j(m-n)t
por su
equivalente trigonomtrico cm [ cos (m-n)t + j sen (m-n)t] .
9
x t c e
n
jn t
n
P
( )


con
2
c
P
x t e dt
n
jn t
P
P

1
2
2
( )
/
/

La existencia del desarrollo est supeditada a que la serie sea convergente hacia x(t), esto es, que
tomando un nmero de trminos suficientemente grande la diferencia entre el valor de la funcin y la suma
de la serie sea infinitesimal. Para ello son suficientes las condiciones:
1. Para que existan los coeficientes la integral debe ser finita en un periodo de |x(t)|.
2. Para que la serie sea convergente debe ser finita la integral de |x(t)|
2
en un periodo, es decir, x(t)
debe ser una funcin de cuadrado integrable, lo que en trminos fsicos representa que su
potencia debe ser finita.
Suponiendo que x(t) es real y cambiando n por -n puede comprobarse que: c-n = cn
*
, esto es
coincide con el conjugado de cn , porque la diferencia entre el coeficiente de c-n y cn es el signo del
exponencial del integrando, poniendo los exponenciales en forma trigonomtrica es:
e
-jnt
= cos (-nt) + j sen (-nt) pero como cos (-nt) = cos (nt) y sen (-nt) = - sen (nt)
se tiene que:
e
-jnt
= cos (nt) - j sen (nt) es el conjugado de e
jnt
= cos (nt) + j sen (nt)
Tomando trminos homlogos del desarrollo, positivo y negativo es:
ck e
jnt
+ c-k e
-jnt
= 2| ck | cos (Kt + k)
donde k representa el ngulo de fase inicial de ese trmino del desarrollo.
De esta el desarrollo en serie puede escribirse como: x(t) = c0 + 2 | cn | cos (Kt + n).
El desarrollo en serie de Fourier expresa que x(t) puede escribirse como una combinacin lineal de
infinitos fasores, y por tanto admitir una representacin en el dominio de la frecuencia en forma de
esprectro de rayas, con la particularidad de que las lneas espectrales estarn situadas en frecuencia
mltiplos enteros de la fundamental.
Antes de continuar con un ejemplo de aplicacin se hace preciso definir una funcin que aparece
comunmente en el estudio de seales en forma de impulso y que permite normalizar los resultados de las
transformadas y de los desarrollos en serie de Fourier refirindolos a esta funcin.
3.3 La funcin SINC.
La funcin SINC se define como:
La funcin tiene un mximo en el origen porque se tiene en l un punto de discontinuidad evitable
con el paso al lmite, y en l es:
Su representacin grfica es:
Como es evidente la funcin se anula para los valores enteros de x y es una funcin par pues:
sinc x = sinc -x.
10
sinc x
x
x

sen

sinc x
x
x

sen

3.4 Ejemplo de desarrollo en serie de Fourier.


Sea x(t) un tren de impulsos rectangulares cuya funcin y grfica es:
x(t) = A si | t | /2
x(t) = 0 si | t | > /2
La funcin x(t) es real y por tanto los coeficientes de Cn sern reales; esto quiere decir que en el
integrando el trmino j sen x ser nulo y por tanto:
Por lo cual la funcin admite un desarrollo en serie de la forma:
Para obtener una representacin del espectro se debe dar un valor a T0 . Pra que resulte ms
evidente la representacin se ha hecho: T0 = 4. As se tiene que: f0=1/4 y el valor medio de los Cn es por
tanto:
lo cual indica que la funcin tiene ceros en los valores de n mltiplos de 4 que anulan el numerador.
En este ejemplo puede verse la correspondencia entre frecuencia y tiempo. La separacin entre rayas del
espectro es f0 = 1/T0. Esto quiere decir que cuando T0 decrece, es decir, existen ms pulsos por segundo, las
lneas del espectro se separan ms, lo cual indica la presencia de componentes de mayor frecuencia; por el
contrario al aumentar T0 las lneas se acercan.
11
C
T
Ae dt
T
A n t j n t dt
A
T
n tdt
A
T
n
n
f
C
A
T
n f
n f
A
T
n f
n f
A
T
sinc nf
n
jn t
n

1 1
2
2 2
2
0 2
2
0
0 0
2
2
0
0
2
2
0
0 2
0
0
0
0
0 2
0 0
0
0 0
0
0

/
/
/
/
/
/
(cos sen ) cos
sen
sen sen
como es

x t
A
T
sinc nf e
n
jn t
( ) +


0
0
1
0

C
A n
n
A n f
n f
A n
n n

4 4
2
2 4
0 2
0
0 2
0
4
sen sen sen

Otro dato de la observacin es que en la regin de frecuencias ms bajas la amplitud es mayor lo


que muestra claramente que la mayor parte de la potencia asociada a estas seales corresponde a las
frecuencias ms bajas.
Si el ancho del pulso disminuye, las componentes de las frecuencias de la seal se extienden
hacia las frecuencias ms altas. Existe por tanto una relacin inversa entre en ancho del pulso y el ancho
de la banda de su espectro.
12
4. TRANSFORMACIN DE FOURIER.
4.1 Transformacin de Fourier.
Los modelos bsicos de seales no peridicas lo constituyen funciones limitadas en el tiempo. Esta
limitacin temporal puede ser estricta, cuando la funcin es nula fuera de un intervalo de tiempo
determinado, o real, puesto que todas las seales que tienen existencia fsica son observadas en un
periodo finito de tiempo.
Para el anlisis de seales, lo ms normal es realizar transformaciones desde el dominio del tiempo
al de la frecuencia, con lo cual se trata de evaluar como se distribuye la energa en funcin de la
frecuencia. La conmutacin entre ambos dominios se realiza mediante la transformacin de Fourier.
Para esto supondremos siempre que la funcin temporal x(t) es de cuadrado integrable, o lo que es
lo mismo, que tiene una energa finita.
Para obtener la transformada consideremos una seal peridica x(t) de periodo P, cuyo desarrollo
en serie ser:
Por tanto puede escribirse:
Ahora bien, si se hace crecer P hacia infinito, la funcin x(t) quedara limitada a un solo pulso y
adems f0 tendera a cero, pudindose interpretar f0 = f de modo que el armnico de frecuencia nf0 se
corresponda con la frecuencia f, lo que permite pasar del espectro discreto al contino.
Esta relacin se conoce como identidad de Fourier.
La transformacin de Fourier se define entonces como:
X(f) es en general una funcin compleja, es decir:
Si consideramos que x(t) es una funcin real se tiene que:
13
x t c e
P
c
P
x t e dt
n
jn t
n
n
jn t
P
P
( ) ( )
/
/


con y
2 1
2
2
x t
P
x z e dz e f x t x z e dz e f
jn z
P
P
n
jn t jn z
P
P
n
jn t
P
( ) ( ) ( ) ( )
/
/
/
/

1
]
1

1
]
1

1 1
2
2
0
2
2
0

como es:

haciendo ahora el paso al lmite es y el sumatorio es una integral.

x t x z e dz e f
d
x t x z e dz e df
jn z
P
P
n
j t
jn z j t
f f
( ) ( )
( ) ( )
/
/

1
]
1

1
]
1



2
2

X f x t e dt x t X f e df
j t j t
( ) ( ) ( ) ( )



y adem s admite inversa que es:
[ ]


en la que R representa la parte real e I la parte imaginaria.
Su mdulo es:
y su argumento: define su espectro de fase.
X f X f e R f jI f
X f R f I f
f
I f
R f
j f
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) arctg
( )
( )
( )
/
+
+

2 2
1 2
[ ]
en la que: e
X f x t t j t dt
R f x t tdt I f x t tdt
( ) ( ) cos sen
( ) ( ) cos ( ) ( ) sen




Hasta ahora se han tratado dos tipos de seales, las peridicas con potencia media finita y las no
peridicas limitadas en el tiempo y con energa finita, o lo que es equivalente, de cuadrado integrable.
Sin embargo, existen otras muchas seales no encuadrables en ninguno de los dos tipos definidos.
Adems, si una seal se descompone en suma de peridicas y no peridicas su representacin en el
dominio de la frecuencia requiere un espectro discreto para las peridicas y uno continuo para las no
peridicas.
Para extender la transformacin de Fourier a todo tipo de seales, se contemplan tambin aquellas
que tienen potencia finita cuando se promedia sobre todo el tiempo, es decir, las que verifican que:
En efecto, si consideramos una transformada de una funcin no peridica podemos interpretar:
lo cual nos lleva a considerar un desarrollo en serie de Fourier cuyos coeficientes cn=X(f)f son de amplitud
infinitesimal, de forma que el espectro estar compuesto por infinitos armnicos de amplitud infinitesimal
separados entre s un infinitsimo.
Desde este punto de vista, un desarrollo en serie de una seal peridica presenta infinitos puntos
de discontinuidad que pueden evitarse mediante el paso al lmite de la transformada, de esta forma
cualquier seal que tenga un espectro discreto puede describirse mediante un espectro continuo.
El estudio de las transformadas en el lmite que servirn para la generalizacin de la transformada
de Fourier a todo tipo de seales requiere introducir la nocin de impulso unidad o Delta de Dirac.
4.2 Delta de Dirac o impulso unidad.
No es una funcin propiamente dicha. Se define el impulso unidad que representamos por (t)
mediante las siguientes condiciones:
De acuerdo con estas condiciones se representa por A (t-t0) a un impulso de amplitud A centrado
en t0 .
Aunque un impulso no puede existir fsicamente hay muchas funciones que en el lmite tienen las propiedades
de (t). Por ejemplo, se puede escribir como el lmite de un impulso rectangular de amplitud A y anchura
1/A cuando esta anchura tiende a cero:
14
lim
T
x t dt
T
T

<
1 2
( )
x t X f e df X f f e
j t j t
( ) ( ) ( )

( )
( )
t t dt t
t t t t

0 0
0 0
1
0
para todo
para todo
( )
/
t lim A
t
A
A

_
,

1
]
1
1
La propiedad ms interesante de (t) es la de muestreo, que establece que dada una funcin x(t)
para todo punto t0 en el que sea continua se verifica que:
Como puede apreciarse el impulso (t) extrae valores instantneos de x(t) justo donde se coloca el
impulso, en este caso, t0 .
Una Delta de Dirac (t) puede generarse como lmite de otras funciones. En particular, si existe una
funcin de(t) tal que:
Por ejemplo:
Puede observarse que la transformada de una Delta de Dirac es la unidad. En efecto:
porque evidentemente (t) solo est definida en t = 0.
Un ejemplo claro de la aplicacin de la Delta de Dirac es la transformada de una seal constante en
el tiempo, esto es, x(t) = A. Esta seal no tiene desarrollo en serie de Fourier pues su periodo no est
definido y tampoco posee transformada de Fourier en el sentido estricto por ser de energa infinita. Sin
embargo, promediando la potencia sobre todo el tiempo el resultado es finito, por lo cual podemos calcular
la transformada de Fourier en el lmite, esto es:
El resultado es una raya espectral en la frecuencia cero y de amplitud A . Las consecuencias que
podemos extraer del resultado son inmediatas. Existe una relacin inversa entre variacin de una seal en
el tiempo y ancho espectral de la misma; una seal constante en el tiempo tiene un ancho espectral cero,
mientras que un impulso tiene duracin cero y ancho espectral infinito.
El haber encontrado la transformada en el lmite de un fasor, es la clave para el clculo de
transformadas de seales peridicas que pueden expresarse como desarrollo en serie de Fourier. Su
transformada ser un desarrollo en serie de Deltas de Dirac, centradas en los diferentes armnicos nf0,
siendo f0 = 1/ T0 y T0 el periodo de la seal.
Si x(t) es peridica admite un desarrollo en serie de Fourier de la forma:
15
x t t t dt x t ( ) ( ) ( )

0 0
lim x t d t dt x lim d t t
e e e e


0 0
0 ( ) ( ) ( ) ( ) ( ) entonces


( )
/
/ ( ) t lim A
t
A
A s lim
s
s
t
A s

_
,

1
]
1


1
1
0 2
haciendo es:
F t t e dt e
j t j t
t
[ ( )] ( )

0
1
( ) F A lim A e dt A lim t j t dt A lim t dt
A lim
t
A lim
f
f
A lim sinc f A f
T
j t
T
T
T
T
T
T
T
T
T
T
T
T T
[ ] cos sen cos
sen sen
( )
/
/
/
/
/
/
/
/


2
2
2
2
2
2
2
2
x t c e
n
jn t
n
( )

0
La transformada en el lmite ser:
y cada trmino de este lmite:
Y sumando todos los trminos:
lo cual permite representar la seal peridica como un espectro continuo.
Es muy importante tener en cuenta que no existe diferencia fsica entre el espectro contnuo y
discreto de la seales y que el desarrollo anterior es slo un convenio matemtico que permite la
normalizacin del anlisis espectral.
Partiendo de los resultados obtenidos para la Delta de Dirac se va a definir la onda muestreadora
ideal y se obtendr su transformada, que se usar posteriormente en el muestreo de seales.
4.3 Onda muestreadora ideal.
Se define la onda muestreadora ideal como la seal peridica:
puesto que la integral:
da como resultado una coleccin de valores instantneos o muestras de x(t) espaciadas Ts segundos que
es el periodo de (t), porque el integrando es no nulo solo para valores de t = mTs como indica la propiedad
de muestreo de la Delta de Dirac.
Para calcular su transformada partimos del desarrollo en serie de Fourier de la seal peridica sd(t).
Los coeficientes cn son:
16
X f lim c e e dt
T n
jn t
n
jn t
( )

_
,



0 0
[ ]
lim c e dt lim c e dt
lim c t n j t n dt
lim c t n dt lim c
t
f nf
f nf
T n
t
t
jt n
T n
jt n
t
t
T n
t
t
T n
t
t
T n

1
]
1


0
0
0 0
0
0
0
0
0
0
2
2
2
2
0 0
2
2
0
2
2
0
0
0
2
2
2
2
/
/
( ) ( )
/
/
/
/
/
/
cos ( ) sen ( )
cos ( )
sen ( )
( )





[ ]



lim c
t f nf
f nf
lim c T sinc T f nf
c lim T sinc T f nf c f nf
T n T n
n T n



sen ( )
( )
( )
( ) ( )
0 0
0
0
0 0

X f c f nf
n
n
( ) ( )


0
s t t mT
d s
m
( ) ( )
x t s t dt x mT
d s
m
( ) ( ) ( )


s t c e
T
d n
n
jn t
s
s
s
( ) siendo

2
c
T
s t e dt
n
s
d
T
jn t
s
s


1
( )

Considerando cada trmino por separado ser de la forma:


por la propiedad de muestreo de la Delta de Dirac.
Ser entonces:
Calculando ahora la transformada y teniendo en cuenta el valor de la transformada de una funcin
peridica se tiene que:
lo que muestra que la transformada es, igual que la onda muestreadora, un tren de Deltas de Dirac de
periodo fs.
17


con luego: por cada t rmino.
entonces:
s t t mT mT s t t
c
T
t e dt
T
f
d s s d
n
s
jn t
T
T
s
s
s
s
s
( ) ( ) ( ) ( )
( )
/
/


0
1 1
2
2
s f e
d s
jn t
n
s

s f f f nf
d s s
n
( ) ( )
5 CONVOLUCIN.
La convolucin es una operacin fundamental en teora de la seal cuando se aborda el estudio en
el dominio del tiempo. Consiste en un producto generalizado de funciones del que hay diferentes
variedades segn la naturaleza de las funciones que intervienen.
De todas las variedades existentes la que ms interviene en el anlisis espectral es la relacionada
con el muestreo, por lo cual el estudio se reducir a la convolucin con la Delta de Dirac y al teorema de
Plancherell que permite el clculo de la transformada de Fourier de una convolucin.
El producto de convolucin, o simplemente la convolucin, de dos funciones x(t) e y(t) y que se
representa z(t) = x(t) * y(t) se define analticamente mediante la integral:
que es una integral paramtrica funcin del parmetro t , que define puntualmente la funcin z(t).
Si x(t) e y(t) son funciones de cuadrado integrable, es decir, de energa finita, existen sus
transformadas y tambin su convolucin, adems es finita y proporciona una seal z(t) de la misma
naturaleza.
El producto de convolucin as descrito es consistente y posee las propiedades de conmutatividad,
asociatividad y distributividad.
Como puede apreciarse, el producto consiste en tomar una de las funciones y sustituir en ella su
variable independiente, multiplicar por la otra funcin e integrar en el intervalo en que el producto no es
nulo.
El caso de que uno de los factores sea la Delta de Dirac es el ms simple que puede encontrarse.
Lo que muestra que toda convolucin con (t-t0) equivale a un desplazamiento t0 de la seal
original.
Este resultado puede generalizarse de forma que:
que se aplicar para el muestreo de seales.
La transformada de una convolucin es:
El resultado constituye el teorema de Plancherell que expresa que la transformada de una
convolucin es el producto de las transformadas de los factores, es decir: F[ x(t) * y(t) ] = F[x(t) ] . F[y(t) ].
18
z t x y t d ( ) ( ) ( )


x t t t t x t d x t t ( ) * ( ) ( ) ( ) ( )

0 0 0
x t t nT x t nT
n n
( ) * ( ) ( )
[ ] F x t y t x y t d e dt
x y t e dt e d
x e Y f d X f Y f
j t
j t j
j
( ) * ( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( )
( )

1
]
1

1
]
1




6. MUESTREO DE SEALES.
Como es apreciable, la transformada de Fourier est definida en un intervalo continuo que abarca
(-, +), lo cual se convierte en un problema de tratamiento de informacin en un calculador digital, por
ello para tratar la seal digitalmente se reemplazar por una serie de muestras tomadas a un ritmo
determinado, de forma que las muestras de la seal puedan reemplazarla sin prdida de informacin e
incluso pueda ser reconstruida a partir de las mismas.
La integral de Fourier es aplicable a funciones o seales con distribucin espectral arbitraria. Ahora
bien, si la transformada es nula fuera de cierto intervalo, existe una representacin de x(t) en forma de
desarrollo en serie cuyos coeficientes son muestras de la propia seal. En otros trminos, que la seal est
definida completamente por sus muestras a un ritmo determinado.
El teorema de muestras es la base de la representacin discreta de una seal continua de banda
limitada.
La explicacin del teorema de muestras se reducir a su aplicacin a seales limitadas en banda,
es decir aquellas que cumplen que el valor absoluto de su transformada en frecuencia es cero para
frecuencias cuyo valor absoluto es mayor que una frecuencia dada. Analticamente:
| X(f) | = 0 para toda | f | W.
y considerando un muestreo uniforme, es decir, muestras equiespaciadas temporalmente.
El teorema de muestras se establece a partir del producto en el dominio del tiempo entre una seal
limitada en banda y un tren de Deltas de Dirac, lo que se corresponder en el dominio de la frecuencia con
una convolucin.
6.1 Muestreo terico.
Sea x(t) una seal de banda limitada, cuyo espectro X(f) es nulo para | f | > W y consideremos la
onda muestreadora ideal: sd(t) = (t-mTs ) , el producto x(t) . sd(t) es una onda formada por Deltas de
Dirac cuya amplitud es igual a las muestras de x(t) :
Como puede verse la obtencin de xd(t) puede representarse como una convolucin entre las
funciones x(t) y sd(t) ya que haciendo mTs = se tiene que:
que llevndolo al lmite, es decir, considerando intervalos infinitesimales en el sumatorio es:
Como consecuencia del teorema de Plancherell la transformada de xd(t) ser la convolucin:
Xd(f) = X(f) * Sd(f) siendo Sd(f) = fs (f-m fs ) por tanto:
El resultado obtenido significa que el espectro de la seal xd(t) es el de la seal x(t) repetido y centrado
en cada armnico de la frecuencia de muestreo, salvo un trmino constante o factor de escala fs.
Es evidente que no habr solapamiento entre los espectros parciales de Xd(f) si se verifica que:
fs. - W W , es decir, fs. 2W, siendo W la frecuencia ms alta del espectro.
19
x t x t s t x t t mT x mT t mT
d d s
m
s s
m
( ) ( ). ( ) ( ). ( ) ( ). ( )
x t x t
d
m
( ) ( ). ( )
x t x t d x t s t
d d
( ) ( ). ( ) ( ) * ( )


X f X f f f mf f X f mf
d s s
m
s s
m
( ) ( ). ( ) ( )

1
]
1

6.2 Teorema de muestras.
Considerando una seal x(t) de energa finita y banda limitada, tal que X(f) = 0 para | f | > W es
posible establecer un desarrollo de Fourier de X(f) limitado a | f | W del modo siguiente:
Teniendo en cuenta que puede expresarse x(t) por la transformada inversa:
puede verse la similitud entre la transformada inversa y los valores particulares de x(t).
Efectivamente, basta hacer en la transformada inversa t = -n / 2W y los coeficientes sern:
lo que quiere decir que puede escribirse el espectro X(f) de x(t) en funcin de las propias muestras de
x(-n / 2W) de x(t) de la forma:
donde se ha sustituido n por -n , lo cual es viable por la simetra del sumatorio.
Una vez expresada X(f) en trminos de las muestras de x(t) es inmediato encontrar la propia x(t)
calculando la transformada inversa.
A este resultado se le denomina frmula de interpolacin, ya que permite obtener la funcin original
a partir de las muestras. Debe observarse que este resultado es consecuencia de la limitacin de banda de
x(t) al intervalo (-W,W) .
Se ha probado as el teorema de muestreo , que afirma que toda seal de energa finita y banda
limitada puede expresarse en modo nico en funcin de sus muestras o valores instantneos tomados a
intervalos regulares Ts , con Ts tal que ( 1 / Ts ) 2W, siendo W la mxima frecuencia espectral de la seal.
A la frecuencia fs = 2W se le denomina frecuencia de Nyquist y al intervalo de muestreo Ts ,
intervalo de Nyquist .
20
X f c e c
W
X f e df
n
j n
f
w
n
n
j n
f
W
W
W
( ) ( )

siendo los coeficientes del desarrollo


2
2
2
2
1
2

x t X f e df
j ft
W
W
( ) ( )


2
c
W
x
n
W
n

_
,

1
2 2

X f
W
x
n
W
e
n
j n
f
W
( )

_
,

1
2 2
2
2

x t X f e df
W
x
n
W
e e df
W
x
n
W
e df
W
x
n
W
ft
nf
W
j ft
nf
W
df
W
x
n
W
j ft
W
W
n
j n
f
W
j ft
W
W
n
j ft
nf
W
W
W
n
W
W
( ) ( )
cos sen

_
,

_
,

_
,

_
,

_
,
+

_
,

_
,

1
]
1

_
,








2
2
2
2
2
2
1
2 2
1
2 2
1
2 2
2
2
2
2
1
2 2

_
,

_
,

_
,

1
]
1

_
,

_
,

_
,

_
,

_
,

_
,

_
,

_
,

_
,




n
W
W
n
W
W
n
n
ft
nf
W
df
W
x
n
W
ft
nf
W
t
n
W
W
x
n
W
W t
n
W
t
n
W
x
n
W
W t
n
W
W t
n
W
cos
sen sen
sen
2
2
1
2 2
2
2
2
2
1
2 2
2 2
2
2
2
2
2
2
2
2

x
n
W
sinc W t
n
W
n
2
2
2

_
,

_
,

Como corolario del teorema puede afirmarse que dada una coleccin discreta de valores x( n/2W )
existe una funcin x(t) y solo una de banda limitada a W que pasa por todos los puntos dados y que se
construye mediante la frmula de interpolacin. Existen infinitas funciones que pasan por esos puntos y son
de anchura diferente de W.
Aunque la reconstruccin de la seal no es el caso que nos ocupa, ya que para el anlisis espectral
solo interesa el primer paso, para la reconstruccin de la seal a partir de sus muestras, es necesario que la
frecuencia de muestreo sea superior al doble de la frecuencia mxima que se desea obtener, pues si la
frecuencia de muestreo es la de Nyquist, puede demostrarse que aparecen interacciones entre las rayas
espectrales que van apareciendo alrededor de los armnicos de la frecuencia de muestreo.
6.3 Muestreo prctico.
El teorema de muestras es consecuencia de la limitacin en la banda y la caracterizacin de la
seal requiere conocer sus muestras, que tericamente hemos obtenido del modo ms simple posible, pero
tambin del ms irrealizable fsicamente: la onda muestreadora ideal.
Los sistemas prcticos de muestreo difieren del terico en:
1. La onda muestreadora est formada por trenes de pulsos de duracin no nula.
2. Las seales a las que se aplica no estn estrictamente limitadas en banda, ni pueden estarlo
porque son seales limitadas en el tiempo.
Efectivamente, la onda muestreadora responde generalmente a una funcin de la forma:
formada por pulsos rectangulares de amplitud p que responden a la condicin:
p(t) = 0 para todo | t | ( Ts / 2 )
para evitar el solape de los pulsos bsicos.
Existen dos tipos de muestreo prctico:
1. El muestreo instantneo, en el que se forma la seal:
que da como resultado un tren de pulsos cada uno de los cuales tiene una amplitud igual al valor
instantneo de x(mTs ) .
2. El muestreo natural, que responde a:
en el que se multiplica punto a punto por cada uno de los valores de x(t) en el intervalo de
existencia.
Para obtener las transformadas de ambos muestreos primero hallaremos la transformada de la
onda muestreadora.
cuya transformada ser, siendo P(f) la transformada de p(t):
21
s t p t mT
s
m
( ) ( )
x t x mT p t mT
pi s s
m
( ) ( ) ( )
x t x t p t mT
pn s
m
( ) ( ) ( )
s t p t mT p t mT p t t mT
s t p t t mT
s s s
m
s
m
( ) ( ) ( ) ( ) * ( )
( ) ( ) ( )



como se tiene que

S f P f f f nf f P nf f nf
s
n
s s s
n
s
( ) ( ) ( ) ( ) ( )
En el caso del muestreo natural la transformada es:
El resultado es idntico al obtenido con una onda muestreadora ideal formada por un tren de Deltas
de Dirac, pero afectado por un coeficiente constante o factor de escala P( n fs ).
En el caso del muestreo instantneo podemos poner:
Como la expresin interior del sumatorio es la obtenida para el caso del muestreo ideal se puede escribir:
En la que se puede ver que el espectro se ve afectado por el valor de P( f ) , que modifica el espectro de la
seal muestreada, especialmente en el margen ms alto del espectro. Este factor adems no es constante.
En general el efecto puede disminuirse acortando la duracin del impulso de muestreo; en cualquier
caso como normalmente la frecuencia de esa duracin efectiva es mucho mayor que la limitacin de la
banda, la distorsin es insignificante.
Podemos concluir por tanto que la validez del teorema de muestras subsiste an cuando no se
emplee la onda muestreadora ideal.
6.4 Efecto de solapamiento (Aliasing).
A efectos prcticos, no existe la limitacin estricta de la banda de anlisis, ya que siempre se parte
de seales reales de duracin finita, cuyo espectro en general se asemeja al de la figura:
Este tipo de espectro puede considerarse como de banda limitada si el contenido que exceda el
intervalo (-W, W) es pequeo, o escasamente significativo.
Ahora bien, al muestrear una seal de este tipo se presenta inevitablemente un solapamiento en el
espectro como el de la siguiente figura:
En el proceso de reconstruccin de la seal, las frecuencias inferiores del espectro centrado en fs, fs - W,
que originalmente estaban fuera de la banda W, es decir, f1 > W ,aparecen ahora de la forma ( fs - f1 )< W.
Este fenmeno ocurre con cualquier frecuencia submuestreada, es decir, cualquier f1 tal que:
fs < 2 f1 y se denomina solapamiento o alliasing.
La nica forma de combatir este efecto es aumentar convenientemente la frecuencia de muestreo,
de forma que los componentes fuera de la banda tomada se presenten muy atenuados y su influencia sea
apenas perceptible.
22
X f X f S f X f f P nf f nf
f P nf X f nf
pn s
n
s s
s
n
s s
( ) ( ) * ( ) ( ) * ( ) ( )
( ) ( )

1
]
1

x t x mT p t mT p t x mT t mT
pi s s
m
s s
m
( ) ( ) ( ) ( ) ( ) ( )


X f f P f X f mf
pi s s
m
( ) ( ) ( )
7. SECUENCIAS
7.1 Secuencias.
Las seales discretas se caracterizan por estar definidas slo para un conjunto numerable de
valores, por lo que se representan mediante sucesiones o secuencias de nmeros reales o complejos.
En nuestro caso, las secuencias se generan mediante el muestreo de una seal continua. Para el
tratamiento de secuencias, cuyas amplitudes son tambin discretas, es decir, estn cuantificadas, se
emplea el procesamiento digital, que presenta el atractivo de que puede ser mecanizado mediante
ordenadores.
Una secuencia es un conjunto ordenado de valores cuyo trmino genrico se designa como x(n) con n entero
y que se representan:
Se define la secuencia impulso unidad como:
que es equivalente a la Delta de Dirac en el proceso continuo.
El caso ms elemental de descomposicin es la expresin de cualquier secuencia como suma de
secuencias de impulso unidad, cada una de ellas con un factor de escala determinado.
Por ejemplo:
x(n) = 2 (n+1) + (n) - 3 (n-3) + 2 (n-4)
Una secuencia se llama peridica de periodo N cuando verifica que: x(n) = x(n+N).
Las secuencias obtenidas por muestreo de una seal analgica peridica sern peridicas, cuando
el periodo de aquella sea entero o racional; en el primer caso, el periodo de la secuencia ser igual al de la
seal analgica y en el segundo, ser el primer nmero que haga entero a dicho racional.
7.2 Transformacin de Fourier de una secuencia.
Dada una secuencia x(n) se define su transformada como:
siempre que la serie sea convergente.
Si x(n) es absolutamente convergente, es decir, si | x(n) | < ,la serie es absolutamente
convergente hacia la funcin continua: X ( e
j
).
23
( ) n

'


1 si n = 0
0 si n 0
X e x n e
j j n
n
( ) ( )



La transformada de Fourier de una secuencia es una funcin continua y peridica de la variable
con periodo igual a 2.
Se puede obtener la transformada inversa partiendo de que X ( e
j
) es funcin continua de y
peridica, por lo que admite un desarrollo en serie de Fourier de la forma:
7.3 Convolucin de secuencias.
Dadas las secuencias x(n) e y(n) se define su convolucin como:
que es idntica a la de seales continuas, donde se ha sustituido la integracin por la sumacin.
Al igual que en el tratamiento continuo, las secuencias cumplen el teorema de Plancherell:
e identificando componentes se obtiene el enunciado del teorema.
Para calcular el resultado de una convolucin de suele usar el mtodo expuesto en el siguiente
ejemplo:
Sean: x(n)= 2 (n) + (n-2) -(n-3) e y(n)= (n) + 2 (n-1) - 3 (n-2).
Siguiendo el desarrollo de la definicin de la convolucin de secuencias se forman los productos no
nulos de ambas funciones:
z(n)=x(0) y(n) + x(1) y(n-1) + x(2) y (n-2) + x(3) y(n-3) = 2 y(n) + y(n-2) - y(n-3).
ya que son los nicos valores para los que x(n) no es nula.
Ahora se forma el cuadro con los valores:
n 0 1 2 3 4 5
2 y(n) 2 4 -6
y(n-2) 1 2 -3
-y(n-3) -1 -2 3
z(n) 2 4 -5 1 -5 3
24
X e x n e c e x n c
c X e e d
x n X e e d
j jn
n
n
jn
n
n
n
j jn
j jn
( ) ( ) ( )
( )
( ) ( )




donde y como:
es por tanto:
1
2
1
2
z n x n y n x k y n k y k x n k
k k
( ) ( ) * ( ) ( ) ( ) ( ) ( )
Z e X e Y e
z n x n y n x k y n k y n k X e e d
X e y n k e e d
X e Y e e d
Z e Z e e d
j j j
k k
j jk
j
k
j n k jn
j j jn
j j jn
( ) ( ) * ( )
( ) ( ) * ( ) ( ) ( ) ( ) ( )
( ) ( )
( ) ( )
( ) ( )
( )

1
]
1




porque:
pero como:
1
2
1
2
1
2
1
2
8. TRANSFORMACIN DISCRETA DE FOURIER.
8.1 La transformacin discreta o DFT.
Ya se ha visto tratando con secuencias, que la transformacin de Fourier de una secuencia es una
funcin continua o analgica, lo cual es un grave inconveniente desde el punto de vista del clculo
numrico, ya que una secuencia puede tratarse con un ordenador y una funcin analgica no.
Con el fin de buscar una representacin tipo secuencia en el dominio de la frecuencia, surge la
transformacin discreta de Fourier o abreviadamente DFT.
La DFT efecta la relacin entre N trminos de una secuencia en el dominio del tiempo y N
trminos de otra en el de la frecuencia.
Esta formulacin era conocida desde antiguo, pero problemas relacionados con el excesivo tiempo
de clculo haban impedido su expansin. La aparicin en 1965 del algoritmo de la transformada rpida de
Fourier, debido a Cooley y Tuckey, cambi radicalmente el panorama, de forma que hoy en da puede
decirse que no existe aplicacin de procesamiento digital de seales que no lo emplee.
Consideremos la secuencia x(n) que toma valores no nulos para n = 0, 1, 2, ...., N-1. Se denomina
transformada discreta de Fourier o DFT de la sucesin anterior a otra sucesin X(k) , k = 0, 1, 2, ..., N-1,
cuyo trmino genrico es:
Esta transformada se diferencia de la de Fourier de una secuencia, en que aquella era una funcin
continua de , mientras que en este caso es otra secuencia en general de trminos complejos, con el
mismo nmero de ellos que la secuencia original.
La transformada discreta inversa responde al trmino genrico:
Comparando la transformada de Fourier de una secuencia y la transformada discreta de la misma
puede apreciarse que si la secuencia es finita, la DFT son muestras equiespaciadas de la transformada
continua. En efecto, si suponemos que la secuencia es finita, es decir, 0 k N-1 en la expresin de la
transformada:
Adems las N muestras de la DFT cubren un periodo completo de la transformada de Fourier.
Cuando la secuencia a tratar no es de duracin finita no es posible encontrar una relacin con la
transformada continua, y la nica solucin para aproximarlas es hacerla de longitud finita. Para ello se debe
formar una secuencia y(n) = x(n) * w(n) con - n de forma que w(n) = 0 para n < 0 y n > N-1 para
que resulte y(n) una secuencia finita.
A la secuencia w(n) se le denomina ventana porque nos permite observar la secuencia x(n)
parcialmente.
La solucin obtenida ser la transformada Y( e
j
) que de acuerdo con el teorema de Plancherell
para secuencias ser: Y( e
j
) = X( e
j
) * W( e
j
).
De esta forma resulta que la transformada Y( e
j
) es una aproximacin a la transformada X( e
j
)
debida a la convolucin por la transformada de la secuencia ventana. Interesa por tanto que la
transformada W( e
j
) tenga la forma ms parecida posible a la Delta de Dirac, lo cual es imposible puesto
que la secuencia w(n) ya se defini como finita.
Desafortunadamente, no existe una ventana ptima en general, sino que dependen de la seal x(n)
que se analiza.
Se llama duracin de una secuencia al nmero N en el que X(n) est definida.
Siempre que se intenta relacionar dos secuencias de diferente duracin se debe completar con
ceros a la de menor duracin.
25
X k x n e
j
nk
N
n
N
' ( ) ( )


2
0
1
x n
N
X k e
j
nk
N
k
N
( ) ' ( )

1
2
0
1




basta tomar valores discretos de de forma que
X e x n e
k
N
X k X e
j jn
j
k
N
( ) ( )
' ( ) ( )

2
2
Entre las propiedades de la DFT ms interesantes se encuentran las de linealidad y traslacin.
La linealidad expresa que dadas dos secuencias genricas de igual duracin x(n) e y(n) la DFT de
la combinacin :
z(n) = a x(n) + b y(n) es Z(k) = a X(k) + b Y(k).
La traslacin lineal no tiene mucho sentido en una secuencia, debido a que slo estn definidas
para 0 n N-1 , por tanto se plantea esta propiedad de forma que si y(n) es igual a x(n) desplazada n0
lugares a la derecha se verifica que:
A este tipo de desplazamiento se le llama circular porque el resultado siempre queda comprendido
ente el 0 y N-1. Cuando hay un desplazamiento a la derecha los trminos que avanzan desde n = N-1
aparecen en n = 0.
8.2 Relacin de la DFT con la transformada continua.
Sea la seal x(t) cuya transformada es X(f) segn estn representadas en la figura superior. A
continuacin se va a representar el resultado de aplicar la DFT a la seal muestreada para ver sus
diferencias con la transformada continua.
La primera fase del procedimiento es aplicar la onda muestreadora, que se representa en la figura siguiente
junto con su transformada.
El siguiente paso es aplicar la DFT a la seal muestreada con lo cual se obtiene la funcin y su transformada,
como en la siguiente figura.
Aqu surge la primera fuente de error. Si x(t) no es de banda limitada habr solapamiento en el
espectro lo cual, modificara el mismo, sobre todo en las frecuencias ms altas. Para controlar este efecto,
puede aumentarse la frecuencia de muestreo, pero conlleva el tener que manejar ms datos y realizar ms
clculos.
26
Y k X k e k N
j
n k
N
' ( ) ' ( )


2
0
0 1

Como tampoco es posible manejar infinitos muestreos de x(t) es preciso realizar una truncatura. En
el caso de que la funcin se atene con el tiempo, como en el ejemplo mostrado en las figuras
precedentes, ser preciso calibrar a partir de que muestra stas dejan de ser significativas.
En la siguiente figura se muestra la ventana y su transformada.
En general la truncatura o ventana se realiza mediante una multiplicacin por ser una funcin de , lo que
en frecuencia implica una convolucin con una funcin sinc que produce un pequeo rizado en el espectro,
como se muestra en la siguiente figura.
8.3 La transformada rpida de Fourier.
La transformada rpida de Fourier o FFT no es una nueva transformada sino un algoritmo que
permite reducir el tiempo de clculo de la transformada discreta o DFT.
Un examen del algoritmo de la DFT permite comprobar que se precisarn N multiplicaciones
complejas y N sumas por cada una de las rayas espectrales que permitan la representacin en el dominio
de la frecuencia, siendo N el nmero de muestras. Como hay N/2 componentes distintas, contando solo las
frecuencias positivas del espectro el nmero total de multiplicaciones es N
2
.
La necesidad de precisin y el aumento de la banda de anlisis conlleva el aumento de las
frecuencias de muestreo y por tanto del nmero de muestras, multiplicaciones y sumas a realizar, lo cual
retrasa la presentacin en tiempo real de la seal.
Sin embargo muchos de los coeficientes de los complejos son redundantes y se pueden reducir del
clculo.
Para comprobar este extremo, se realizar el clculo de una DFT de un muestreo de duracin 8,
con el cual se podr comprobar que hay tan solo 8 coeficientes distintos.
Partiendo de la frmula de la DFT es:
donde se hace N = 8.
As por ejemplo, es claro que para k=0 y n=0 es cos 0 - j sen 0 = 1; para k=1 y n=1 es:
cos (2/8) - j sen (2/8) = cos /4 - j sen /4 = ( / 2) - j ( / 2 ) = (1 - j ) / .
27
X k x n e x n
nk
N
j
nk
N
j
nk
N
n
N
n
N
' ( ) ( ) ( ) cos sen

1
]
1



2
0
1
0
1
2 2


Calculando los valores posibles del coeficiente en los 64 productos que se forman mediante el
sumatorio, se obtiene la siguiente tabla:
n 0 1 2 3 4 5 6 7
0 1 1 1 1 1 1 1 1
1 1
[(1-j)/]
-j
-[(1+j)/]
-1
-[(1-j)/]
j
[(1+j)/]
2 1 -j -1 j 1 -j -1 j
3 1
-[(1+j)/]
j
[(1-j)/]
-1
[(1+j)/]
-j
-[(1-j)/]
4 1 -1 1 -1 1 -1 1 -1
5 1
-[(1-j)/]
-j
[(1+j)/]
-1
[(1-j)/]
j
-[(1+j)/]
6 1 j -1 -j 1 j -1 -j
7 1
[(1+j)/]
j
-[(1-j)/]
-1
-[(1+j)/]
-j
[(1-j)/]
en la que puede apreciarse que los nicos coeficientes distintos son:
1, -1, j, -j, [(1-j)/], -[(1-j)/], [(1+j)/] y -[(1+j)/].
La FFT reconoce esta redundancia de coeficientes y utiliza un proceso de decimalizacin para
reducir los clculos, realizando en total N Log2 N multiplicaciones en lugar de las N
2
que necesita la DFT,
siendo N el nmero de muestras. Por ejemplo, para 8 muestras la FFT realiza 24 productos complejos,
mientras que la DFT realiza 64.
El algoritmo empleado para la FFT es matemticamente engorroso, pero fcilmente mecanizable
en un ordenados, por lo cual en lugar de ofrecerlo matemticamente se ofrecer como cdigo informtico
en el siguiente captulo.
28
9. Mecanizacin de los procesos.
9.1 Introduccin.
La impresionante potencia de clculo de los ordenadores junto con la eficacia de la FFT, hace de
stos el elemento adecuado para procesar y presentar la informacin y proveer de los medios necesarios
para el anlisis detallado, tanto numrica como grficamente.
El proceso completo de un anlisis espectral contiene los siguientes pasos:
1. Captura, muestreo de la seal y almacenamiento de las muestras.
2. Procesamiento de la informacin adquirida.
3. Presentacin de los resultados.
Si bien se van a tratar todos los aspectos del anlisis, se har hincapi en el procesamiento dela
informacin, describiendo con detalle los algoritmos empleados tanto para la DFT como para la FFT en su
mecanizacin para ordenador.
Los pasos a seguir se representan en el siguiente diagrama:
Para la mecanizacin se usarn mltiples variables, entre las cuales hay que destacar dos matrices lineales
designadas ar y ai con una longitud igual al nmero de muestras y que almacenarn la parte real y la parte
imaginaria respectivamente de la seal a procesar.
9.2 Captura de datos y muestreo.
Esta operacin es absolutamente necesaria para realizar los pasos siguientes. Se trata de
reemplazar la seal continua x(t) por una secuencia x(n) con los valores instantneos de la seal
muestreada, operacin que realiza un convertidor analgico-digital.
Si el intervalo de muestreos en el dominio del tiempo es T y se capturan N muestras, la resolucin
espectral que se obtendr en el dominio de la frecuencia viene dada por: (f) = 1 / ( N T ) . Para una
velocidad de muestreo fija, una buena resolucin requiere la toma de muchas muestras.
Por ejemplo: aplicando una frecuencia de muestreo de 40 Khz. y tomando 128 muestras, la
resolucin espectral es de 312,5 Hz. Esto quiere decir que la separacin mnima detectable entre dos
frecuencias contiguas es de 312,5 Hz.
En la parte izquierda de la figura se haya representada la seal en el dominio del tiempo a la cual
se aplica la onda muestreadora, con la cual y despus del tratamiento obtendremos el espectro de rayas de
la parte derecha de la figura. Observe que el espectro obtenido se ha trazado en dos partes simtricas
respecto a la lnea N/2 que representa la frecuencia de Nyquist. Esto es as porque las rayas a la izquierda
de sta pueden interpretarse como las frecuencias negativas del anlisis clsico. El algoritmo usado en la
presentacin grfica del espectro debe eliminar las rayas que superen la frecuencia de Nyquist o las que no
lleguen a ella.
29
La resolucin espectral es muy importante, porque refleja el grado de precisin que obtendremos
del anlisis subsiguiente. El proceso de la informacin es siempre el mismo y la nica precisin adicional
que puede conseguirse de l, es tomar la cantidad de decimales y cifras significativas adecuadas para
minimizar el error en las operaciones. Sin embargo la eleccin de la frecuencia de muestreo a emplear y el
nmero de muestras a tomar es decisivo para la consecucin del objetivo final. Se deben tener en cuenta
las necesidades del anlisis que se desea obtener para elegir los valores adecuados.
La resolucin conseguida debe sufrir un posterior filtrado por el sistema de presentacin de
resultados. Si la presentacin es un diagrama de rayas, la escala mnima debe poder presentar la
resolucin conseguida mediante el muestreo. De nada vale obtener una gran resolucin que no pueda
presentarse. El mayor de los nmeros conseguidos as, bien la resolucin de la captura de datos, o el de la
presentacin es lo que se denomina binwidth .
Un problema habitual en la captura de datos es el truncamiento de la seal en el dominio del
tiempo, paso imprescindible anterior al muestreo. Es inevitable que se produzca una discontinuidad al
principio y al final de los datos recogidos. Esto se debe a la bajsima probabilidad de capturar una seal
peridica con un nmero completo de ciclos; por poner una analoga es comparable a la probabilidad que
una persona tiene de vivir un nmero exacto de aos, es decir, la de morir el da de su cumpleaos. La
truncatura adems es imprescindible puesto que no podemos operar con un sistema continuo ni con lo que
es igual, con un nmero infinito de muestras.
Para minimizar este problema se emplean las ventanas. Las ms comunes son las de Dirichlet, Bartlett o
Hanning, cuyas funciones se han representado en la figura siguiente.
El efecto de aplicar una ventana es la convolucin de la seal en el dominio del tiempo con una funcin
como las mostradas, es evitar tratar el principio y final de la captura como una seal peridica que aada rayas al
espectro como interferencia.
La mecanizacin de la captura de datos en un ordenador requiere de un perifrico especial conectado a uno de
los puertos I/O cuya direccin conocida por el programa leer convenientemente a la frecuencia del muestreo,
almacenando los datos en una matriz lineal de longitud igual al nmero de muestras que se pretenden tomar, a la que
posteriormente se aplicar la funcin de ventana elegida.
El algoritmo siguiente escrito en Pascal supone las N muestras almacenadas en una matriz lineal o array de
nmeros reales de longitud N. De estos valores se calcular el promedio , para poder eliminar la componente continua
de las muestras. Se generar otra matriz con la misma longitud en la que se calcularn los valores de una ventana de
Hanning por cada muestra y se convolucionarn ambas para obtener los datos que se usarn para obtener la
transformada.
Es importante observar que los datos procesados por este cdigo se guardarn en otros dos nuevos arrays;
uno ser el que contenga la componente real y otro la componente imaginaria, que originalmente ser cero.
const N = 512;
Var z: Array[1..N] of real; { matriz con los valores del muestreo }
ar: Array[1..N] of real; { matriz con los valores reales tratados }
ai: Array[1..N] of real; { matriz con los valores imaginarios tratados}
w: Array[1..N] of real; { matriz con los valores de la funcin ventana}
vcb: Integer; { variable de control del bucle }
promedio: real; { variable para el promedio de los valores de entrada }
30
Begin
promedio := 0;
{ array de imaginarios a cero y clculo del promedio }
For vcb := 1 to N do
Begin
ai[vcb] := 0;
promedio := promedio+(z[vcb]/N);
End;
For vcb := 1 to N do
Begin
{ Clculo de los valores de la ventana de Hanning }
w[vcb] := 0.5(1-cos(2*PI*(vcb-1)/N));
{ eliminacin del promedio y convolucin con la ventana }
ar[vcb] := 5*(z[vcb]-promedio)*w[vcb];
End;
End;
En la siguiente figura puede observarse el resultado de aplicar la ventana de Hanning generada con la
funcin: z = 0,5 ( 1- cos ( 2 n / N )) donde z es el nmero de punto seleccionado y N el nmero total de
muestras.
9.3 Proceso de datos.
Obtenidos los datos procedentes del muestreo de la seal, se efecta sobre ellos la transformacin
desde el dominio del tiempo al de la frecuencia. En general el paso final ser la presentacin de los
resultados obtenidos mediante este proceso en unos ejes coordenados, con la frecuencia creciente en las
abcisas y un valor cuantitativo en las ordenadas, normalmente la potencia cuadrtica media, resultando as
un espectro de rayas.
Se va a tratar inicialmente el proceso de datos con la DFT, partiendo de su formulacin matemtica
se realizar su codificacin para ordenador. Seguidamente se describir el algoritmo de la FFT y se
codificar igualmente.
Partimos pues de la muestras contenidas en dos matrices lineales ar y ai que contienen la parte
real y la parte imaginaria ( que es cero originalmente ) respectivamente, de la seal muestreada.
Comenzando por la DFT es:
en la que se ha multiplicado el sumatorio por 1/N para aadir un factor de escala.
31
X k
N
x n e
j
nk
N
n
N
' ( ) ( )

1
2
0
1

La descomposicin del sumatorio en sus coeficientes complejos permite obtener por separado las
componentes real e imaginaria:
De esta forma cada elemento de la transformada ser: X(k) = ar(k) - j ai(k).
La potencia cuadrtica media se obtiene como: ( X(k))
2
= ( ar(k))
2
+( ai(k))
2
.
Para la mecanizacin de este algoritmo emplearemos el siguiente diagrama de flujo:
Donde N es el nmero de muestras.
La codificacin del mismo en lenguaje Pascal en forma de procedimiento es:
Procedure DFT(NumSamples: Word;
Var SignalIn: Array of Double;
Var RealOut: Array of Double;
Var ImagOut: Array of Double);
Var m, n: Integer; { contadores }
Begin
For m := 0 to NumSamples-1 do
Begin
RealOut[m] := 0;
ImagOut[m] := 0;
For n := 0 to NumSamples-1 do
Begin
RealOut[m] := RealOut[m]+SignalIn[n].cos(2*PI*n*m/NumSamples);
ImagOut[m] := ImagOut[m]+SignaIn[n].sin(2*PI*n*m/NumSamples);
End;
End;
End;
32
ar k
N
x n
nk
N
ai k
N
x n
nk
N
n
N
n
N
( ) ( ) cos
( ) ( ) sen

_
,

_
,

1 2
1 2
0
1
0
1

Este procedimiento recibe una matriz lineales en las que se encuentra las entrada procedente del
muestreo, SignalIn , y devuelve dos matrices lineales: RealOut y ImagOut, en las que estn contenidas la
parte real y la parte imaginaria de la transformada de la secuencia repectivamente. El parmetro
NumSamples indica la longitud de la muestra, y es imprescindible para el correcto manejo de las matrices
con los valores.
Como puede observarse la DFT es muy sencilla de mecanizar, aunque es poco eficiente, ya que
para obtener una buena resolucin es preciso manejar gran cantidad de muestras y el nmero de
multiplicaciones a realizar aumenta consecuentemente.
Puede mejorarse la codificacin para obtener mayor velocidad de proceso empleando matrices de
nmeros enteros en lugar de matrices de nmeros reales.
La FFT es mucho ms eficiente, ya que reduce con mucho el nmero de multiplicaciones
complejas a realizar ( de N
2
a N Log2N ) y si adems observamos las mismas consideraciones en cuanto al
formato de las variables, el resultado es espectacular. Este algoritmo permite manejar un mayor nmero de
muestras, aumentar la resolucin espectral y con un ordenador suficientemente rpido, procesar los datos
en tiempo real.
Debido a que el nmero de operaciones a realizar es funcin del logaritmo en base 2 del nmero de
muestras, es conveniente que la longitud del muestreo sea potencia de 2.
Para la mecanizacin de la FFT se usar el siguiente diagrama de flujo:
33
Para la codificacin del mismo en Turbo Pascal se emplea el siguiente cdigo.
Unit Fourier;
Interface
procedure fft ( NumSamples: word;
var RealIn: array of double;
var ImagIn: array of double;
var RealOut: array of double;
var ImagOut: array of double );
function ReverseBits ( index, NumBits: word ): word;
function NumberOfBitsNeeded ( PowerOfTwo: word ): word;
Implementation
function ReverseBits ( index, NumBits: word ): word;
var i, rev: word;
begin
rev := 0;
for i := 0 to NumBits-1 do
begin
rev := (rev SHL 1) OR (index AND 1);
index := index SHR 1;
end;
ReverseBits := rev;
end;
function NumberOfBitsNeeded ( PowerOfTwo: word ): word;
var i: word;
begin
for i := 0 to 16 do
begin
if (PowerOfTwo AND (1 SHL i)) <> 0
then
begin
NumberOfBitsNeeded := i;
exit;
end;
end;
end;
procedure fft ( NumSamples: word;
var RealIn: array of double;
var ImagIn: array of double;
var RealOut: array of double;
var ImagOut: array of double );
var
NumBits, i, j, k, n, BlockSize, BlockEnd: word;
delta_angle, delta_ar,alpha, beta, tr, ti, ar, ai: double;
begin
NumBits := NumberOfBitsNeeded (NumSamples);
for i := 0 to NumSamples-1 do
begin
j := ReverseBits ( i, NumBits );
RealOut[j] := RealIn[i];
ImagOut[j] := ImagIn[i];
end;
34
BlockEnd := 1;
BlockSize := 2;
while BlockSize <= NumSamples do
begin
delta_angle := 2*PI / BlockSize;
alpha := sin ( 0.5 * delta_angle );
alpha := 2.0 * alpha * alpha;
beta := sin ( delta_angle );
i := 0;
while i < NumSamples do
begin
ar := 1.0; (* cos(0) *)
ai := 0.0; (* sin(0) *)
j := i;
for n := 0 to BlockEnd-1 do
begin
k := j + BlockEnd;
tr := ar*RealOut[k] - ai*ImagOut[k];
ti := ar*ImagOut[k] + ai*RealOut[k];
RealOut[k] := RealOut[j] - tr;
ImagOut[k] := ImagOut[j] - ti;
RealOut[j] := RealOut[j] + tr;
ImagOut[j] := ImagOut[j] + ti;
delta_ar := alpha*ar + beta*ai;
ai := ai - (alpha*ai - beta*ar);
ar := ar - delta_ar;
INC(j);
end;
i := i + BlockSize;
end;
BlockEnd := BlockSize;
BlockSize := BlockSize SHL 1;
end;
end;
end; { Unit }
Este cdigo ha sido escrito por Don Cross en 1996 y est optimizado para su funcionamiento con
Turbo Pascal, aprovechando todas las ventajas posibles que la codificacin permite para mejorar la
velocidad de proceso y el rendimiento.
Veremos detalladamente su funcionamiento. Es condicin indispensable que el nmero de
muestras, representado por la variable NumSamples, sea potencia de 2. En primer lugar se calcula el
nmero de pasos a realizar que como ya se ha visto es Log2N, para ello se emplea la funcin
NumberOfBitsNeeded (nmero de bits que se necesitan), en lugar de emplear la frmula
Ln(NumSamples)/Ln(2) ya que las funciones de manipulacin de bits son mucho ms rpidas que las
operaciones que pueda realizar la ALU ( Unidad aritmtico-lgica ) del ordenador.
El siguiente paso consiste en reestructurar las matrices que se utilizarn tanto para el proceso de clculo como
para proporcionar la salida del procedimiento. En ellas se hayan los valores de los trminos reales e imaginarios de la
seal de entrada en funcin de la frecuencia. Para ello se usa la funcin ReverseBits que toma como parmetros
el nmero que se desea invertir y la cantidad de bits objeto de la inversin. Su actuacin es como la de un
espejo en el que se pueden reflejar tantos bits del nmero a invertir como indica el parmetro NumBits . El
funcionamiento se ilustra en la siguiente figura:
35
La inversin es necesaria para aprovechar al mximo el bucle y realizar las operaciones
necesarias en el mnimo nmero de vueltas.
Otras operaciones optimizadas para mxima velocidad de proceso son la eliminacin de los
clculos trigonomtricos a cada paso del bucle ms interior y el uso del operador de desplazamiento hacia
la izquierda ( SHL ) para ir contando potencias de dos.
Para eliminar el clculo en el bucle ms interior del seno y el coseno del argumento
correspondiente al producto complejo y teniendo en cuenta que el incremento del argumento es el mismo
por cada vuelta del bucle principal el autor traduce a cdigo la siguiente formulacin:
delta_angle: incremento que sufrir el argumento a cad paso del bucle principal.
tita: representar el argumento inicial, que siempre es 0.
Puede verse en el cdigo que los valores iniciales de ar y ai son 1 y 0 respectivamente, lo
cual corresponde al cos 0 y sen 0 respectivamente.
Traduciendo directamente del cdigo:
que como se v son los clculos normales del seno y coseno de la suma de dos ngulos.
Para ilustrar plenamente el funcionamiento de ambos algoritmos, DFT y FFT se presenta a
continuacin una comparativa entre ellos, calculando la componente real de una muestra de longitud 4,
dejando el clculo de la parte imaginaria como ejercicio para el lector.
Comenzando por la DFT, el algoritmo tiene dos bucles. Cada paso del ms externo es un trmino
de la secuencia de salida y cada uno del interno supone la adicin de una componente al trmino. Los
resultados de las distintas pasadas se reflejan en la siguiente tabla:
Pasada
Externa
Trmino Pasada interna 1 Pasada interna 2 Pasada interna 3 Pasada interna 4 Resultado Final
1 X(0) x(0) cos 0 x(1) cos 0 x(2) cos 0 x(3) cos 0 x(1)+x(2)+x(3)+x(4)
2 X(1) x(0) cos 0
x(1) cos(/2) x(2) cos() x(3) cos(3/2)
x(0)-x(2)
3 X(2) x(0) cos 0
x(1) cos
x(2) cos 0
x(3) cos
x(0)-x(1)+x(2)-x(3)
4 X(3) x(0) cos 0
x(1)cos(/2) x(2)cos x(3) cos(/2)
x(0)-x(2)
36





sacando factor com n:

alpha
delta angle
beta delta angle
ai tita
delta angle
tita delta angle tita
ar tita
delta angle
tita delta angle tita
ai tita
delta angle
delta angle tita
ar tita
delta angle
delta angle

_
,

_
,

_
,
+

_
,

_
,

2
2
2
2
2
2
1 2
2
1 2
2
2
2
2
2
2
sen
_
sen _
sen( ) sen
_
sen( ) sen( _ ) cos( )
cos( ) sen
_
cos( ) sen( _ ) sen( )
sen( ) sen
_
sen( _ ) cos( )
cos( ) sen
_
sen( _ )
( )
( )
sen( )
sen
cos
sen cos
sen cos
sen( ) cos( _ ) sen( _ ) cos( )
cos( ) cos( _ ) sen( _ ) sen( )
tita
x
x
x x
t
t
ai tita delta angle delta angle tita
ar tita delta angle delta angle tita

_
,




+

y sustituyendo:
haciendo x = t / 2 es:
que sustituyendo queda:





2 2
2
1 2
2
1 2 2
1 2
2
El correspondiente a la FFT tiene tres bucles en lugar de dos, por lo cual para esta demostracin se
han numerado desde el ms interior al ms exterior, de forma que el controlado por la variable n tiene el
nmero 1, el controlado por la variable i el nmero 2 y el controlado por la variable BlockSize o ms
externo el nmero 3.
Los resultados en cada pasada por los bucles se presentan en el siguiente esquema:
1 pasada del bucle 3:
1 pasada del bucle 2:
1 pasada del bucle 1:
X(1) = x(0)-x(2)
X(1) = x(0)+x(2)
2 pasada del bucle 2:
1 pasada del bucle 1:
X(3) = x(1)-x(3)
X(2) = x(1)+x(3)
2 pasada del bucle 3:
1 pasada del bucle 2:
1 pasada del bucle 1:
X(2) = x(0)+x(2)-x(1)-x(3)
X(0) = x(0)+x(2)+x(1)+x(3)
2 pasada del bucle 1:
X(3) = x(0)-x(2)
X(1) = x(0)-x(2)
Como puede verse se ha llegado al mismo resultado con bastantes menos operaciones.
Bsicamente es lo que se necesita para poder realizar la presentacin de resultados en tiempo real,
rapidez. Esta velocidad en el clculo permite obtener asimismo mayor precisin, ya que ahora podemos
aumentar el nmero de muestras para obtener mayor resolucin sin introducir demoras excesivas en el
clculo de componentes.
Para comparar la velocidad de proceso y la fiabilidad de los resultados se presenta el siguiente
cdigo que calcula con la misma onda de entrada la DFT y la FFT, presentando los resultados de forma
numrica y de forma grfica; adems presenta el tiempo empleado en realizar los clculos. El programa
precisa de la unidad de Turbo Pascal Fourier escrita anteriormente y a la que debemos incorporar el
cdigo de la DFT.
Program PruebaFFT;
Uses Crt, Graph, Fourier, Dos;
Var ar,ai,dfr,dfi,df,ff,ffr,ffi: Array[0..512] of double;
m,n,vcb: Integer;
grdr,grmo: Integer;
h0,m0,s0,d0,h1,m1,s1,d1: Word;
timeDFT0,TimeDFT1,TimeFFT0,TimeFFT1: Double;
sCad: String;
Begin
ClrScr;
n := 128;
{ Generar una onda ficticia y guardar los datos del muestreo
en ar el valor de la amplitud de la onda
en ai todos los valores a cero }
For vcb := 0 to n-1 do
Begin
ar[vcb] := sin(2*PI*vcb/n);
ai[vcb] := 0;
End;
37
Writeln('VALORES DE SALIDA DFT');
Writeln('---------------------');
{ DFT }
{ Calculo de la DFT con el sumatorio normalizado }
GetTime(h0,m0,s0,d0);
dft(n,ar,dfr,dfi);
For vcb := 0 to n-1 do
df[vcb] := Sqrt((dfr[vcb]*dfr[vcb])+(dfi[vcb]*dfi[vcb]));
GetTime(h1,m1,s1,d1);
TimeDFT0 := (h0*360)+(m0*60)+s0+(d0/100);
TimeDFT1 := (h1*360)+(m1*60)+s1+(d1/100);
If TimeDFT1 < TimeDFT0
Then
TimeDFT1 := TimeDFT1+86400;
TimeDFT0 := TimeDFT1-TimeDFT0;
For vcb := 0 to n-1 do
Begin
Write(df[vcb]:2:4,' ');
If vcb MOD 8 = 0
Then
Writeln;
End;
Writeln;
Writeln;
Writeln('VALORES DE SALIDA FFT');
Writeln('---------------------');
{ FFT }
{ Calculo de la FFT }
For vcb := 0 to n-1 do
Begin
ar[vcb] := sin(2*PI*vcb/n);
ai[vcb] := 0;
End;
GetTime(h0,m0,s0,d0);
fft( n, ar, ai, ffr, ffi );
GetTime(h1,m1,s1,d1);
TimeFFT0 := (h0*360)+(m0*60)+s0+(d0/100);
TimeFFT1 := (h1*360)+(m1*60)+s1+(d1/100);
If TimeFFT1 < TimeFFT0
Then
TimeFFT1 := TimeFFT1+86400;
TimeFFT0 := TimeFFT1-TimeFFT0;
For vcb := 0 to n-1 do
Begin
{ Se aade el factor Sqrt(n) para equiparar los valores a la DFT }
ff[vcb] := Sqrt((ffr[vcb]*ffr[vcb]/n)+(ffi[vcb]*ffi[vcb])/n)/Sqrt(n);
Write(ff[vcb]:2:4,' ');
If vcb MOD 8 = 0
Then
Writeln;
End;
Writeln;
Writeln;
Writeln('Tiempo empleado por la DFT: ',Int(TimeDFT0):6:0,' seg.
',Frac(TimeDFT0):3:0,' dec.');
Writeln('Tiempo empleado por la FFT: ',Int(TimeFFT0):6:0,' seg.
',Frac(TimeFFT0):3:0,' dec.');
Writeln;
Writeln('Pulse ENTER para continuar');
Readln;
38
Detectgraph(grdr,grmo);
InitGraph(grdr,grmo,''); { Incluir la trayectoria del sistema grfico }
SetBkColor(15);
Setcolor(1);
SetTextJustify(1,1);
OutTextxy(320,20,'REPRESENTACION DE LA DFT');
OutTextxy(320,250,'REPRESENTACION DE LA FFT');
Str(n,sCad);
OutTextxy(320,450,'MUESTRAS PROCESADAS: '+sCad);
Line(10,150,620,150);
Line(10,350,620,350);
For vcb := 0 to n-1 do
Begin
Setcolor(4);
Line(vcb+10,150,vcb+10,150-Round(df[vcb]*20));
Setcolor(2);
Line(vcb+10,350,vcb+10,350-Round(ff[vcb]*20));
End;
Readln;
CloseGraph;
End.
Originalmente se calculan 128 muestras, pero pueden modificarse variando el valor de la variable n
hasta un mximo de 512.
El resultado final se presenta en unos ejes coordenados de frecuencia-potencia media, que es la
forma habitual.
9.4 Presentacin de la informacin.
Hemos visto ya en el apartado anterior la forma normal de presentacin de los resultados.
En general las presentaciones del anlisis espectral son en ejes coordenados de frecuencia-
amplitud o potencia, y la velocidad de proceso es tal que permite el tiempo real; este tipo de presentacin
es conocido como ALI.
Muy usual tambin es el tipo de representacin dependiente del tiempo, llamada MAPA o
WATERFALL ( cascada ). En ella se tiene en las abcisas la frecuencia y en las ordenadas el tiempo, de
forma que cada resultado de muestreo genera una lnea horizontal de puntos, cuya intensidad es
proporcional a la amplitud de cada frecuencia. Esta forma de ver los resultados es muy til para ver la
evolucin temporal de la seal, y las variaciones en las frecuencias como por ejemplo el efecto Doppler.
La consideracin ms importante a tener en cuenta es la simetra existente en los resultados de la
transformada y que son fruto del propio anlisis, ya que se consideran frecuencias reales e imaginarias, o
positivas y negativas, an cuando las frecuencias negativas no poseen realidad fsica.
En la figura puede observarse el resultado de presentar la FFT de una onda sinusoidal de frecuencia F.
Por esta razn y es fcil comprobarlo, las rayas que aparecen en un espectro son simtricas
respecto a la frecuencia de Nyquist, esto es, a la mitad de la frecuencia del muestreo. A la hora pues de
representar los resultados hay que tener cuidado de eliminar esta parte.
Una ltima consideracin en cuanto a la presentacin de resultados se refiere a la resolucin del
monitor a emplear. Pongamos un ejemplo:
Si la zona de presentacin del monitor es de 800 puntos y se desea representar un ancho de banda
espectral de 200 Hz. la forma ideal sera obtener (200/800) = 0.25 Hz. de resolucin espectral, de forma
que la banda cubriera completa la zona aprovechable del monitor. Para conseguir una resolucin en el
39
anlisis de 0.25 Hz. podremos actual sobre la frecuencia de muestreo o sobre el nmero de muestras a
tomar. Teniendo en cuenta el teorema de muestras la frecuencia de muestreo debe ser superior a 2 veces
el valor mximo de la frecuencia que se espera obtener, por tanto fijando la frecuencia de muestreo a 500
Hz. se tiene que el nmero de muestras debe ser:
f = 1/( N T) ; 0.25 = 1/( N.0,002) ; N = 2000 muestras.
Como en general el proceso de la FFT se realiza con un nmero de muestras que sea potencia de
2 tendra que ser el ms prximo, es decir, 2048 muestras. La resolucin espectral sera pues para esta
cifra de: 0,2441 Hz. Este sera el BINWIDTH.
40
Bibliografa
Teora de la seal ESI. 1982 Vidaller, G. Santos, Burillo, Climent
y Puertas.
Clculo integral TEBAR FLORES. 1984 F. Coquillat.
Problemas de clculo infinitesimal TEBAR FLORES. 1978
Fsica ADDISON-WESTLEY. 1986 Alonso y Finn.
Fsica AGUILAR. 1975 Sears, Zemansky y Young.
Calculus REVERT M. Spivak.
http://bucanero.ugr.es/wwwcurso/ccordoba Universidad de Granada.
http://www.cs.vu.nl/~jprins/tp.html Programadores de Turbo Pascal.
41

You might also like