You are on page 1of 104

Series y Transformada de Fourier

para Señales Continuas


y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Javier González Barajas


Open Access Support

Si encuentra este libro interesante le agradeceríamos que diera soporte a sus


autores y a OmniaScience para continuar publicando libros en Acceso Abierto.

Puede realizar su contribución en el siguiente enlace: http://dx.doi.org/10.3926/oss.23

Series y Transformada de Fourier para señales Continuas y Discretas en el Tiempo


Algoritmos para el desarrollo de ejercicios prácticos

Autor:
Javier Enrique González Barajas
javiergonzalezb@usantotomas.edu.co
Facultad de Ingeniería Electrónica, División de Ingenierías, Universidad Santo Tomás de
Aquino, Bogotá D.C., Colombia

ISBN: 978-84-944229-6-6
DOI: http://dx.doi.org/10.3926/oss.23
© OmniaScience (Omnia Publisher SL) 2015
© Diseño de cubierta: OmniaScience
Dibujos de cubierta: 3d-function-6: Martin Thoma CC-BY 3.0 y © Abstrakt wellen bewegung:
bittedankeschön – Fotolia.com

OmniaScience no se hace responsable de la información contenida en este libro y no aceptará


ninguna responsabilidad legal por los errores u omisiones que puedan existir.
Agradecimientos

El autor expresa sus sinceros agradecimientos a las personas, que con su expe-
riencia contribuyeron al diseño de algunos de los experimentos ilustrados en este
texto. Las personas mencionadas a continuación hacen parte del grupo de docen-
tes de la Facultad de Ingeniería Electrónica, Universidad Santo Tomás- Colombia.

Ing. Davis Montenegro, por su apoyo en el diseño de experimentos basados en la


Transformada Wavelet Continua.

Ing. Carlos Javier Mojica, por su contribución en el diseño del experimento basado
en la estrategia matricial de la Transformada Rápida de Fourier.
Contenido

Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Capítulo 1
Algoritmo para reconstrucción de señales periódicas
a partir de sus coeficientes de Fourier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Capítulo 2
La Transformada de Fourier. Método computacional. . . . . . . . . . . . . . . . . . . . . 29

Capítulo 3
Método eficiente para el cálculo de la Transformada
de Fourier Discreta: La FFT matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Capítulo 4
Cálculo de la densidad espectral de potencia para señales
con muestreo irregular: Método de Lomb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Capítulo 5
Promediado de espectros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Capítulo 6
Manipulación del espectro de una señal unidimensional . . . . . . . . . . . . . . . . . 61

Capítulo 7
Transformada Cepstrum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Capítulo 8
Introducción a la Transformada Wavelet continua . . . . . . . . . . . . . . . . . . . . . . 73

Capítulo 9
Aplicación de la Transformada Wavelet continua en señales de voz. . . . . . . . . 79

Capítulo 10
Espectro de una señal discreta bidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Capítulo 11
Manipulación del espectro de una señal discreta bidimensional . . . . . . . . . . . 93

Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

6
Xxxx
xxxx

Presentación

Diversas asignaturas impartidas en el área de la ingeniería, demandan en la actua-


lidad el uso de las herramientas computacionales e informáticas disponibles en la
actualidad, para ofrecer a los estudiantes estrategias pedagógicas para su mejor
entendimiento. El uso de la informática ya es transversal en todos los programas
de enseñanza media, profesional y de postgrado y no pueden ser la excepción los
programas de ingeniería.

Al interior de las asignaturas relacionadas con el tema de análisis de señales, se


imparten tópicos que están ligados directamente con la Transformada de Fourier
y diversas maneras de estudiar el espectro de señales continuas en el tiempo y
también de las señales que han sido el producto de procesos de muestreo.

Cada día son publicadas nuevas aplicaciones de la Transformada de Fourier y dife-


rentes técnicas para su implementación con la finalidad de obtener mayor infor-
mación en tiempo real de los escenarios que son de exploración para un ingeniero.
Además, se suman las diferentes estrategias de nuevas transformaciones de tiem-
po frecuencia, como es el caso del uso de las ondillas u ondaletas (Transformada
Wavelets).

Este texto es un sencillo manual que recopila los diversos algoritmos implementa-
dos en la herramienta informática Matlab y que han sido utilizados para un prác-
tico entendimiento de las diversas maneras de implementar estrategias para el
análisis de señales en el dominio de la frecuencia.

7
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

El texto ofrece al lector diversos ejemplos prácticos de aplicaciones del análisis en


el dominio de la Frecuencia y los respectivos algoritmos desarrollados. Los códigos
correspondientes a cada escenario práctico, están disponibles en el anexo de este
texto.

Los códigos implementados cubren diferentes contextos, como es el caso de se-


ñales electrofisiológicas, muestras provenientes de la voz humana y el caso de las
señales discretas bidimensionales, que son la base del procesamiento digital de
imágenes.

8
Introducción

La Transformada de Fourier, es una herramienta matemática desarrollada por Jean


Batiste Fourier y en primera instancia fue creada con la intención de explicar el
fenómeno de propagación del calor como un conjunto de oscilaciones cuyas fre-
cuencias son múltiplos enteros de una oscilación fundamental. Por tal motivo, esta
transformada toma como base la función exponencial compleja para expresar el
comportamiento de señales en el dominio de la frecuencia.

En el inicio del texto se podrá observar que para las señales periódicas, se puede
lograr una reconstrucción a través de las series de Fourier. Se ha implementado
un algoritmo en la herramienta Matlab que permite tomar la serie de una señal
cuadrada periódica y reconstruirla con ajustes de sus parámetros de ancho de
pulso y periodo fundamental. El algoritmo desarrollado es adaptado para demos-
trar las propiedades de linealidad y desplazamiento en el tiempo de la señal de
entrada. Para demostrar que la teoría de la serie de Fourier permite reconstruir
cualquier señal periódica, se realiza un ejemplo que reconstruye periodos de una
señal electrocardiográfica.

El segundo tema abordado se centra en el método computacional para el cálculo


de la Transformada de Fourier, denominado la DFT (Discrete Fourier Transform).
Se ofrece al lector un sencillo algoritmo para el desarrollo de la DFT a través de
un ejemplo que utiliza una señal exponencial decreciente y su Transformada de
Fourier calculada analíticamente. En esta sección se puede observar los resultados
obtenidos al implementar la estrategia del promediado de espectros.

9
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

El tercer tema, se centra en las manipulaciones que pueden aplicarse al espectro


de una señal y las diferentes modificaciones que pueden generarse en el dominio
del tiempo. También se expone los resultados obtenidos al utilizar la transformada
de Fourier en señales bidimensionales, de gran pertinencia en el procesamiento
digital de imágenes.

En este tema se ha introducido un caso especial de la densidad espectral de po-


tencia, el cual se centra en el escenario de muestras tomadas bajo un muestreo
irregular. Este caso es abordado desde la técnica de Lomb, el cual ha propuesto
una modificación de la Transformada de Fourier adaptada al muestreo irregular.

EL cuarto tema ilustra varios casos especiales de la aplicación de la Transformada


de Fourier, como es la aplicación del Cepstrum para la detección de ecos en la se-
ñal de voz y la exposición del caso cuando se desea estimar la densidad espectral
de potencia de una señal a partir del muestreo irregular.

Por último, se expone la Transformada de Ondillas o Wavelets, a través de la im-


plementación práctica de algoritmos que permiten al usuario desarrollar experien-
cias con dos de las ondillas básicas utilizadas en la literatura: Morlet y Sombrero
Mexicano.

10
Capítulo 1

Algoritmo para reconstrucción


de señales periódicas a partir
de sus coeficientes de Fourier

11
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

12
Los coeficientes de Fourier, permiten la caracterización de una señal continua en el
tiempo con la propiedad de periodicidad. Estos coeficientes ofrecen la información
de la señal en el dominio de la frecuencia. Según la teoría de Fourier, es posible
tomar estos coeficientes y reconstruir una señal periódica.

Tomando como ejemplo una señal cuadrada de periodo T y ancho T1, como se ilus-
tra en la Figura 1. Se procede a estimar la serie de Fourier con base a la Ecuación (1).

1
T ³T
ak x(t )e  jkw0t dt (1)

1
T ³T
a0 x(t )dt

2T1
a0
T
1  jkw0t
T ³T
ak e dt

2sin kw0T1
ak
kw0T
w0 2S F0
N
x(t ) ¦ae
k N
k
lkw0t

x(t ) o ak
x(t  t0 ) o ak e  jkw0t0
x(t ) o ak
y(t ) o bk con periodo T = 4 seg. y ancho T = 1 seg.
Figura 1. Onda cuadrada periódica, 1
x(t )  y(t ) o ak  bk
f
13
X w ³ x(t)e
 jZ t
dt
f
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Tomando la Ecuación (1) se puede calcular


1 el coeficiente a0:
T ³³T x(t )e 0 dt
 jkw t
1 x(t )e  jkw0t dt
ak
ak
TT
1
a0 1 ³ x(t )dt
a0 T ³T x(t )dt
TT (2)
1 2T1
a a0 1 2Tx1(t )e 0 dt
akka0 T ³³TTx(t )e 1jkw0t dt  jkw0t
 jkw t

T 1TT ak jkw t ³ x(t )e dt


ak 1 1 ³ e  jkw T0t dt
a0ak 1 T³ x³T (et )dt 0 dt
T

a0 T T³ xT (t )dt 1
T0TT³T1
T a xla(t )Ecuación
dt
y para k ≠ 0 los coeficientes se calculan T 2sin
T 0según
kw (3):
a 2 T 2sin kw
a0akk 2T1 kw T 1 0 1
a0 T kw0T2T1
a 0
w0 1T2SF0jkw 0 t T
ak 0 1 ³ eNFjkw
w 2 S 0
dt
ak T ³ eN 0t dt
0
1lkw0t  jkw0t
x(t )T T ¦k ak e lkw
T a ³T 0et dt

x(t )2sin kw a eT
T
k kwN 0T1
 N k
a 2sin (3)
akkxx((tt )) ookw ak T02sin
aakk 0T
1
kw0T1
kw
w0xx((tt 2 St0F) o0 ak e  kw jkw0t0
jkw0t00T
w0 2S0F0  t )0o a e
k
x(t ) oNN awk 0 2S F0
Siendo
x (t ) o
x(t ) ¦ ak k e lkw0tN
a lkw0t


x(yt )(t ) o bak k e
x (
y(t ) o
x t (
) t
o )  a y
b
k  Nxk(t )
N
(t ) o a
¦N abk elkw0t
A través del asistente matemático ) Matlab,
aykk(tf) o ase
k k puede implementar las siguientes
x(xt )(to k  bk
k

líneas de código que permitenx(crear unx (


t  t0 ) ofak e  jkwt ) o
arreglo a
 jkw
k 0 t0 de datos con la serie de Fourier
x(X t  wtde 0 ) o ³ axk(et )e  jj0ZZTt0tt dt
calculada para una onda cuadradax(t ) o ak xf
X w Periodo
³ (t  t)0 ) odt
x (t e yakancho
e  jkw0t0 T1:
x(t ) o ak f
y(t ) o bk NNx(11t ) o akj 22SSNkn kn
y(tX) o k bk ¦x(n)e  j N
x(X t ) k y(t )¦ yo (0tx)a(o nk )ebbk k
N=100; x(t )  y(t )nno 0 a2k S bk
fx (t ) y (
kn t ) o ak  bk
k=-N:N; j
XA w n , k
w n , k ³ x(et )e NjZf
f
x e
(t
2S kn
 j NjZ t
) e dt
2³X w
T1=1; XA t
dt  jZ t
X w
f
f ³ x(t )e dt
T=4; X w NN 11
2
2S kn
 j 2f

X k ¦
X k
S kn
x(n)ªe  jN NN1N
wo=(2*pi)/T;
¦
2
N x n t n  x .s
2S kn
x ( n )
n 0X k ª ¦ Nx (n
e ¦
N
j
 S  W
n 0 1 « ¦ ¦ x t x .cos 2 f t 2

P f 1 j22S««kn n 0n 1 n Ntn  x2 .cos 2S f tn  W  ¦ n 1 xn Ntn  2x .s


ak=2*sin(k*wo*T1)./(k*wo*T); n 1 x )en n N n n 1

ak(N+1)=2*T1/T; P f
A n, k 2eG j2 «N
A n, k 2eG ««¬N
2 S kn

S knN cos2 2S f t n  W
 j ¦ n 1 cos 2S f t n  W

¦
¦
N sin2 2S
n 1 sin 2S
2 A n,¬k e N n 1 n 1
X w 2
X w ¦
N
2 N sin(4S t n )
tan 4 SW X w ¦
n 1 sin(4S t )
En la Figura 2 se puede apreciartan la serie
4SW de ª Fourier
generada
para N = 100. 22

2S f tn  W N x t  x .sin
n


1 ª« ¦ ¦
NNn 1 N
cos(4
x
nn 11 cos(4
t S 
t )
x .cos
P f 1 2 «« ¦Mnn11N1 1 n ¦
N
¦ n 12 x n t n N x .sin

N
xªn
t n
S 
t n
x
) .cos 2 S f t  W
P f 2G 2 «1 M 11N 1« N cos
n N
n
x t  x .cos n
2 S f t
  W ¦
n n
x t

n 1

¦
N 2 S ux
S
2

S

vy
W n
¦
N
2 2S f


n 1 2 j n n n 12 n n
A u , v2 GP «¬f1 ¦¦ 2 f t  N sin
2G 2¦ 2NS f N t2n  W 
¦ n 1 sin ¦2SN f
2 S ux 2 S vy
A ( x , y
«A(nx1, cos ) e 2 M N


n
2S f tn  W
 j 
A u , v MN «¬ ¦¦
n 1 n 1
y)e ¦M cos
Nx 0 y 0«
x 0y 0
MN ¬ n 1 n

tan 4SW ¦Nn 1


¦ N sin(4S t )
n 1 sin(4S N tn )
n
14
tan 4SW
tan¦ 4SW N cos(4
SNtnn )¦ S nt 1)
sin(4S tn )
¦ n 1 cos(4

1 MM 11 NN 11 ¦ n 1  jj 22SSMux


n 1 cos(4S2Stvyn )
ux 2SNvy
1 
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

1
T ³T
ak x(t )e  jkw0t dt

1
T ³T
a0x(t )dt

Figura 2. Serie
2T1de Fourier con N = 100.
a0
T
1  jkw0t
T ³T
Para tener una escala en el ejeahorizontal,
k e sedt debe tener en cuenta que para cada
valor de K, equivale a k x W0 en unidades de radianes/segundos.
2sin kw0T1
ak
Para reconstruir la señal, se toma la Ecuación
kw0T (4):
w0 2S F0
N
x(t ) ¦ae
k N
k
lkw0t
(4)
x(t ) o ak
x(t  tse
A través de Matlab en el programa o ak e  jkw t el algoritmo para reconstruir la
0 ) implementa
0 0

señal. Se crea una base de tiempo deak–5 a 5 segundos con un paso de simulación
x(t ) o
de 0.001 segundos. La salida del
y(talgoritmo
)o b es la señal x(t) contenida en la Figura 3.
k

x(t )  y(t ) o ak  bk
f
t=-5:0.001:5; X w ³ x(t )e  jZ t dt
L=length(t); f
for i=1:L N 1 2S kn
j
c=0; X k ¦
n 0
x ( n )e N

for k=-N:N 2S kn
j
A n , k e N
c=c+ak(k+1+N)*(cos(k*wo*t(i))+j*sin(k*wo*t(i)));
end
X w
2

x(i)=real(c);
ª

2
end
1 « ¦
N
x n t n  x .cos 2 S f t n  W ¦ n 1 xn tn 
N

P f
n 1

2G 2 «
«¬ ¦n 1
N
cos 2
2S f t n  W 15 ¦ n 1 si
N

¦
N
n 1
sin(4S tn )
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 3 ilustra el resultado de la reconstrucción para N = 20.

Figura 3. Reconstrucción con N = 20.

El algoritmo desarrollado permite también demostrar que la calidad de la señal


reconstruida puede mejorar al incrementar la cantidad N de coeficientes involu-
crados. En la Figura 4 se aprecia la señal reconstruida para una cantidad de coefi-
cientes con N = 100 de la serie de Fourier.

Figura 4. Señal cuadrada reconstruida para N = 100.

16
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

La Figura 5 se ilustra la reconstrucción para N = 200.

Figura 5. Reconstrucción con N = 200.

En la Figura 6 se ha producido la reconstrucción con N = 1000.

Figura 6. Señal cuadrada reconstruida para N = 1000.

17
TT
1
TT ³³T x(t )dt
a 1 x(t )dt
a00
T
Series y Transformada de Fourier para Señales 2TT11
2
Continuas y Discretas en el Tiempo.
a
a0
0 T
Algoritmos para el desarrollo de ejercicios prácticos
T
1
TT ³³T e
a 1 e  jkw 0t
jkw0t dt
akk dt
1.  Propiedad de desplazamiento Ten el tiempo
a 2sin kw
2sin kw00TT11
ak de Fourier,
k
kw
Según la propiedad de los coeficientes kw00TT si una señal periódica x(t) posee
los coeficientes ak, entonces en lawEcuación (5) se describe el cambio cuando la
w0 22S
S FF0
señal posee un retraso to. 0
N
0

¦
N lkw0t
xx((tt ))
¦ aa ee
k N
k N
k lkw0t
k

Si xx((tt )) o
oaakk
 jkw t (5)
Entonces xx((tt 
 tt00 )) o
oaakk ee  jkw t
0 0
0 0

xx((tt )) o oa akk
yy((tt )) o b
o bkk
A través del programa se implementa xx((ttel)) 
código que demuestra que al tomar los coe-
 yy((tt )) o
ficientes ak de la señal x(t), al ser multiplicados oaak 
bbk
f por ((cos(k*wo*to)+ j*sin(k*wo*to))),
k k
f

X w
w ³³ xx((tt ))ee  jZ t dt
al realizar la reconstrucción, la señal X x(t) obtendrá  jZ t un retraso de to unidades de
dt
tiempo. f
f
N 1 2S kn
 j 2S kn
X k ¦
N 1

¦xx((nn))ee
j N
Se implementa la línea de código: X k n 0
N

n 0
2S kn
 j 2S kn

A n
A n,, kk ee N
j N

ak=(2*sin(k*wo*T1)./(k*wo*T)).*(cos(k*wo*to)-j*sin(k*wo*to));
X ww
2
X 2

ªª
¦
2
N x t  x .cos 2S f t  W 2
1 « ¦ ¦ xx tt 
N N

¦ n 11 xnn Ntnn  xmultiplicados


.cos 2S f tnn por
W
N
n n

P ak
ff de 1la2 ««onda
n 1
En la cual se tienen los coeficientes P
2G 2 « n cuadrada el  n 1 n n

factor de desfase (cos(k*wo*to)+ j*sin(k*wo*to)). 2G «¬« ¦


¦
2

N cos2 2S f t  W
n 1 cos 2S f t  W n
n

¦
¦
N
N
n 1
sin2
sin2
¬ n 1 n 1

¦
N
N sin(4S t )
La Figura 7 ilustra los coeficientes atan en magnitud
k 4SW
tan 4SW
¦ ny
Nn 1
fase,Spara
1 sin(4 tnn ) N = 100.
¦
¦
N cos(4S t )
n 1 cos(4S t n )
n
Tomando los ak con desfase, se utilizan dentro1del M algoritmo
n 1
1 N 1 de 2Sreconstrucción,
ux 2S vy
 j 2S ux  2S vy
ob-
A u , v MN ¦¦
M 1 N 1
A u ,
teniendo la nueva señal x(t) con desplazamiento v 1 de en A( x , y )e
A(xel, ytiempo
)e M tNo, que se puede
j M  N

apreciar en la Figura 8.
¦¦
MN x 0 y 0 x 0y 0

18
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

Figura 7. Magnitud y fase de los coeficientes ak para N = 100, al ser modificados


para obtener un retraso en la señal reconstruida.

Figura 8. Señal reconstruida con los coeficientes ak con desfase


para generar un retraso con to = 2.5 segundos.

19
a0 T1
1  jkw0t
1T  jkw0t ak
T ³T
e dt
ak 1 ³ e  jkw t dt
ak T ³T e 0
dt
Series y Transformada de Fourier para Señales2sin
TT
kw0Ty1a Discretas
Continuas
2sinen kwel0Tiempo.
T1
a 2sin kw0T1
k
Algoritmos para el desarrollo de ejercicioskprácticos kw0T
ak kw0T
kw T w0 2S F0
w0 2S F0 0
2. Propiedad de linealidadw0 2SNF0 lkw xt (t ) ¦ a elkw0t
N

x(t ) ¦ N a e 0 k

x(t ) k¦
k lkw t k N
 N ak e
0

La propiedad de linealidad para los coeficientes xde o ak se ilustra en la Ecuación


(t )Fourier,
x(t ) ok akN
(6), en la cual se tiene dos señalesx(continuas
t ) o ak en jkw xel(ttiempo
 t ) o ax(t) y jkwY(t),
0t 0 con periodo T.
ke
x(t  t0 ) o ak e  jkw0tt0 0
x(t  t0 ) o ak e x(t0 )0 o ak
x(t ) o ak
Si x(t ) o ak y y(t ) o bk
y(t ) o bk
y(t ) o bk x(t )  y(t ) o ak  bk (6)
Entonces x(t )  y(t ) o ak  bk
x(t )  y(tf) o ak  bk f

 jZ t
X w ³ x(t )e  jZ t dt
X w f
w sef³³requiere
x (t ) e dt
En este experimento se suponenXque x(t )e  jZ t dtreconstruir
f
dos
2S kn señales cuadra-
N 1
j
¦
Xj k caso
Nf
1 2S kn
das similares a la visualizada en la Figura 1. Eneste xse
(n)etendrá
N
una señal cua-
X k ¦ N 1x (n)e 2SNkn
j
drada con T1 = 1 y otra señal conXT2 ¦
k = 2.4. n 0
n 0 x (n)e
N
2S kn
j
A n , k e
n 0 2S kn N
j
A ndos
El programa a continuación, genera , k tipos
e  j de coeficientes a y b , con periodo T,
2SNkn
A n, k 2 e N X w 2 k k
para cada una de las señales cuadradas:
X w
X w
2
ª

2

1 ª ¦
¦PNn 1f xxn ttn 2«« xx .cos
N
x t  x
n 1 2S f t  W 2
N .cos 2
2S
f
¦ tN W
xn tn  x¦

n n n

¦ 1 ª«

n
2W
¦
N


P f .cos 2 S f cos 2S f tn  Wn 1 N
t 
n 1
x t  x
«¬ 2 2S f ¦
2 G N
2G1 22 «
N=100;
n 1 W
n n n n n
P f ¦ ¦
n 1 N
cos t  sin 2
2
k=-N:N;
¦
N
n 1
2G «¬
cos2 2NS f tn  W
«¬
n
¦
N
n 1

sin2 2
sin(4S t ) ¦Nn 1
n 1 n 1
T=4; sin(4S tn )
¦
N
1 4SW n
ntan
tan 4SW ¦N sin(4S tn )
N
% Periodo de la señal
tan 4SW ¦ Nnn 11cos(4S tn ) ¦ n 1
cos(4S tn )
wo=(2*pi)/T;
% Coeficientes para señal de ancho ¦ 1N1T1 cos(4 S tn1) 2SMux1 N2S1vy j
2S ux 2S vy


T1=1;
1 M nA 1
u
A u , v 1 ¦¦A(x , y)MN
M  1 N 1
, v j
¦¦
e  j x 0y 0
2

Mux 2SNvy
S
A( x , y )e M N

ak=(2*sin(k*wo*T1)./(k*wo*T));MN ¦¦
A u , v MN x 0 y 0 A(x , y)e M N
x 0y 0
ak(N+1)=2*T1/T;
% Coeficientes para señal de ancho T2
T2=2.4;
bk=(2*sin(k*wo*T2)./(k*wo*T));
bk(N+1)=2*T2/T;

En la Figura 9 se ilustran los coeficientes ak y bk calculados.

20
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

Figura 9. Coeficientes ak y bk.

Utilizando el algoritmo de reconstrucción, se toman los coeficientes ak y bk para


reconstruir las señales x(t) y y(t).

t=-5:0.001:5;
L=length(t);
for i=1:L
c=0;
for k=-N:N
c=c+ak(k+1+N)*(cos(k*wo*t(i))+j*sin(k*wo*t(i)));
end
x(i)=real(c);
end
for i=1:L
c=0;
for k=-N:N
c=c+bk(k+1+N)*(cos(k*wo*t(i))+j*sin(k*wo*t(i)));
end
y(i)=real(c);
end

21
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

En la Figura 10 se ilustran las señales x(t) y y(t), reconstruidas para N = 100.

Figura 10. Señales x(t) y y(t) reconstruidas para N = 100.

Como siguiente paso se procede a crear los coeficientes ck los cuales son el resul-
tado de la suma de los coeficientes ak y bk. Con el algoritmo de reconstrucción se
reconstruye la señal z(t), ilustrada en la Figura 11. La señal z(t) equivale a la suma
en el dominio del tiempo de las señales x(t) y y(t).

ck=ak+bk;
for i=1:L
c=0;
for k=-N:N
c=c+ck(k+1+N)*(cos(k*wo*t(i))+j*sin(k*wo*t(i)));
end
z(i)=real(c);
end

22
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

Figura 11. Señal z(t) creada a partir de la reconstrucción de los coeficientes ck = ak + bk.

3. Reconstrucción de una Señal Electrocardiográfica


a partir de sus coeficientes de Fourier

En el siguiente programa se encuentra una simulación que toma los coeficientes


de Fourier de un ciclo completo del complejo cardiaco y realiza la reconstrucción
para una frecuencia fundamental F0. Los coeficientes se encuentran almacenados
en el archivo coef.mat.

El archivo coef.mat contiene los coeficientes de Fourier que corresponden a una


señal electrocardiográfica, almacenados en la variable XF1.

XF1 = 0.0306 - 0.2912i

0.1045 + 0.1070i 0.6869 + 0.0461i –0.5696 – 0.7458i 0.2926 + 0.1378i


–0.1660 – 0.1993i –0.5682 – 0.0270i 0.9622 + 0.7620i –1.2148 – 0.0371i
0.4851 + 0.2971i 0.5402 – 0.4401i –1.0227 – 0.6641i 1.5213 – 0.6171i
–0.2363 – 0.4382i –0.5121 + 0.6731i 0.9484 + 0.2450i –2.2415 + 1.5051i
0.5624 + 0.2922i 0.0299 – 0.6975i –1.1413 + 0.1069i 3.0091 – 2.9823i
–0.6417 – 0.2724i 0.2187 + 0.8459i 0.3722 – 0.3293i –3.4763 + 3.8879i

23
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

3.2797 – 5.3207i –7.5862 – 0.1233i 3.0091 + 2.9823i 0.0299 + 0.6975i


–2.9091 + 6.2133i 8.2304 – 2.8991i –2.2415 – 1.5051i –0.5121 – 0.6731i
1.8076 – 7.8318i –7.7367 + 6.6058i 1.5213 + 0.6171i 0.5402 + 0.4401i
–0.9435 + 8.5737i 7.0514 – 8.6604i –1.2148 + 0.0371i –0.5682 + 0.0270i
–0.2066 – 9.4362i –4.6682 + 8.6571i 0.2926 – 0.1378i 0.6869 – 0.0461i
2.6475 + 8.7986i 2.6475 – 8.7986i 0.3722 + 0.3293i –0.6417 + 0.2724i
–4.6682 – 8.6571i –0.2066 + 9.4362i –1.1413 – 0.1069i 0.5624 – 0.2922i
7.0514 + 8.6604i –0.9435 – 8.5737i 0.9484 – 0.2450i –0.2363 + 0.4382i
–7.7367 – 6.6058i 1.8076 + 7.8318i –1.0227 + 0.6641i 0.4851 – 0.2971i
8.2304 + 2.8991i –2.9091 – 6.2133i 0.9622 – 0.7620i –0.1660 + 0.1993i
–7.5862 + 0.1233i 3.2797 + 5.3207i –0.5696 + 0.7458i 0.1045 – 0.1070i
–3.0050 –3.4763 – 3.8879i 0.2187 – 0.8459i 0.0306 + 0.2912i

Con las siguientes líneas de código se realiza una gráfica de la magnitud y fase de
los coeficientes ilustrados en la Figura 12.

load coef
L=length(XF1);
N=(L-1)/2;
k=-N:N;
ak=XF1;
subplot(2,1,1)
stem(k,abs(ak))
title(‘magnitud coeficientes ak’)
subplot(2,1,2)
stem(k,angle(ak))
title(‘magnitud coeficientes bk’)

24
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

Figura 12. Coeficientes de Fourier en magnitud y fase de un ciclo


completo del complejo cardiaco.

La Figura 13 ilustra el periodo del complejo cardiaco.

Figura 13. Periodo del complejo cardiaco.

25
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Para la reconstrucción de varios periodos del complejo cardiaco, se declara la va-


riable F0 que representa la frecuencia fundamental, y permite que el complejo se
repita a un periodo determinado.

Fo=0.5;
wo=2*pi*Fo;
t=-5:0.001:5;
L=length(t);
for i=1:L
c=0;
for k=-N:N
c=c+ak(k+1+N)*(cos(k*wo*t(i))+j*sin(k*wo*t(i)));
end
x(i)=real(c);
end

La Figura 14 ilustra el resultado obtenido de la reconstrucción con F0 = 0.5 Hz, por


lo cual se tiene un periodo de de 2 segundos.

Figura 14. Reconstrucción de una señal electrocardiográfica


con frecuencia fundamental F0 = 0.5 Hz.

26
Algoritmo para reconstrucción de señales periódicas a partir de sus coeficientes de Fourier

El valor de F0 es aumentado a un valor de 2Hz, para obtener el resultado ilustrado


en la Figura 15, en la cual se aprecia la disminución del periodo y el aumento de la
cantidad de ciclos cardiacos por unidad de tiempo.

Figura 15. Reconstrucción de una señal electrocardiográfica


con frecuencia fundamental F0 = 2 Hz.

27
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

28
Capítulo 2

La Transformada de Fourier.
Método computacional

29
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

30
En diversos casos no se puede contar con una señal continua en el tiempo
que ofrezca la oportunidad de calcular su Transformada de Fourier directa-
mente. En estos casos se acude a tomar muestras de la señal bajo estudio a
través del teorema del muestreo. El siguiente ejemplo se basa en la construc-
ción de una señal compuesta por una función exponencial decreciente que
modela la caída de tensión de un circuito RC. En primera instancia se calcula
su Transformada de Fourier de manera analítica. Posteriormente se procede
a ejecutar el algoritmo para el método computacional para la Transformada
de Fourier: DFT.

A continuación se expone el código del programa en el cual se toma como ejemplo


la señal x(t) que representa la caída de voltaje de un circuito RC, con un capacitor
de 100 microfaradios y una resistencia de 1000 ohmios.

Ts=0.001;
C=100E-6;
R=1000;
tao=1/(R*C);
t=0:Ts:5;
x=exp(-tao*t);

31
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 16 ilustra la señal x(t) para un paso de simulación de 0.001 seg.

Figura 16. Señal x(t) que representa la caída de voltaje de un condensador.

Posteriormente se procede a calcular la Transformada de Fourier para la señal x(t).


En las siguientes líneas del programa, se realiza la simulación de X(w).

N=length(x);
k=-N/2:N/2;
F=(k-1)/(N*Ts);
% Transformada de Fourier teórica X(w) de la función x(t)
w=2*pi*F;
XW=1./(tao+j*w);
XWM=abs(XW);
plot(w,XWM)

32
La Transformada de Fourier. Método computacional

En la Figura 17 se ilustra la Transformada de Fourier de la senal x(t) calculada para


frecuencias entre –500 y 500 Hz.

Figura 17. Transformada de Fourier de x(t).

Utilizando el método computacional para evaluar la Transformada de Fourier por


medio de la DFT, se diseña el código para realizar el cálculo.

N=length(x);
for k=1:N
c=0;
for n=1:N
c=c+x(n)*(cos(2*pi*n*k/N)+j*sin(2*pi*n*k/N));
end
XF(k)=c;
end
k=1:N;
F=(k-1)/(N*Ts);
figure
plot(F,abs(XF))

33
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 18 ilustra el resultado obtenido de la evaluación de la Transformada de


Fourier a través del método de la DFT.

Figura 18. Calculo de la Transformada de Fourier de la señal x(t)


a través del método de la DFT.

La Figura 19 ilustra la comparación entre el cálculo de la Transformada e Fourier


por medio de ambos métodos.

En este experimento se deben tener en cuenta algunos detalles. Primero, se debe


recodar que para la Transformada de Fourier para señales continuas, la escala en
frecuencia es directa, osea W = 2xpixF.

Pero en el caso de la versión computacional, la escala en frecuencia está dada por


KxFs/N.

Como conclusión, se puede tomar la Figura 19 como un ejemplo que demuestra


que la versión computacional de la Transformada de Fourier es un muestro de la
versión continua.

34
La Transformada de Fourier. Método computacional

Figura 19. Comparación entre el resultado obtenido con el algoritmo de la DFT


y los datos obtenidos a través de la Transformada de Fourier.

35
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

36
Capítulo 3

Método eficiente para el cálculo


de la Transformada de Fourier Discreta:
La FFT matricial

37
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

38
ak
T ³ x(t)e
T
dt

1
T ³T
a0 x(t )dt

2T1
a0
1T
T1 ³T  jkw0t
ak x(t )e  jkw0t dt

T1 ³T
ak e dt
a0 ³T x (tkw
T2sin
)dt
0T1
ak
2T1 kw0T
a0
w0 2TS F0
1 N
axk(t ) ³ e ajkwe0tlkw
dt0t
T¦ T
k
k N

x(t ) o 2sinak kw0T1


ak
x(t  t0 ) kw o a0Tk e  jkw0t0
w
Matemáticamente la Transformadax(0t ) o 2Sa1de
F0 Fourier para una señal continua en el tiem-
ak Nk³ x(t )e  jkw0t dt
po x(t) se define en la Ecuación
yx((tt))(7).
o Tbk Ta e lkw0t
¦ k
x(t )  yk (1tN) o ak  bk
x(ta)0o Taf k³
x(t )dt

xX( tw t0 )2o ³f1x(atk)ee jkw0dtt0


T  jZ t
(7)
T
a
x(t )0o aNTk1 j
2S kn
X k o b1¦
x (n )e N
Para el análisis espectral de yla(ta)misma
k n ³
k
0e
señal
 jkw0t x(t), cuando se ha discretizado y se
dt
(t )  yT(t )To
obtiene la señal discreta de Nxmuestras j
2aS kkn b
x(n), sek utiliza la Transformada Discreta de
Fourier (T.D.F.) expresada en Ala nEcuación
, k 2sin
fe
0 1
kw
N
(7). T
X awk 2 ³ x(t )e  jZ t dt
X w f kw0T
w0 N2S1 F0ª  jN2S kn

2
X k ¦ x ( n )
1 « lkwn t1
N ¦
e
N
x n t n  x .cos 2 S f t n  W ¦
(8)
N
xn tn  x
P xf( t ) n ¦
n 1

2kG 2N«ja2Skkn
e

0

¦ n 1 cos2 2S f tn  W
0

¦ n 1 sin2
N N
«¬ N
A xn(,tk) o a e
Es necesario tener en cuenta que al implementar
k directamente la Transformada
¦
N
Discreta de Fourier a través de X w
2 sin(4 S tn ) poca eficiencia computa-
tanxun
(t4SWalgoritmo,
t0 ) o ak e se obtiene
 jkw 0t 0
n 1

ak ª¦
N
cional. Por tal motivo se propone x(ten ) oesta práctica S tn )
cos(4implementar un método eficien-

2

te para el cálculo de la T.D.F. aprovechando 1 1« M 1sus¦


n N1
x t
nN 11 propiedades
n n  x .cos de 2 S f t
simetría.
n  W ¦
N
xn tn  x
PA yuf(, tv) o b2k «
2S ux 2S vy n 1
j  
2G ¦¦A¦ (x , y)cos
N e 2 2S f t  W
M N
¦
N
sin2
MN
x(t )  y(t )«¬ox a0ky 0 bk n 1 n n 1
Siendo N el número de muestras de la señal discreta x(n), se procede como primer
f
paso a generar la matriz A(n,k) de dimensiones
X w ³ x¦
N
jZ tN ×SN con todas los posibles valores
dt tn )
(t )ne 1 sin(4
tan 4SW que
de las función exponencial compleja f seN deben calcular durante el computo de
N 1¦ n 1 2S kn
cos(4S tn )
la T.D.F. (ver Ecuación (3)). j
X k ¦1 x(n)e A(x , y)e
M 1 N 1 N
j
2S ux 2S vy

A u , v n 0
MN
¦¦x2S0kn
y 0
M N

j
A n , k e N (9)
X w
2

¦ x t  x .cos 2S f t  W ¦
ª 2 39
1 «
N
n n n
N
x t
n n
P f
n 1 n 1

2G 2 « ¦ cos 2S f t  W ¦ s
N 2 N
n
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Para N = 4, el código utilizado es:

N=4;
for k=1:N
for n=1:N

A(n,k)=cos(2*pi*(k-1)*(n-1)/N)-j*sin(2*pi*(k-1)*(n-1)/N);

end
end

Se obtiene la siguiente matriz:

1.0000 1.0000 1.0000 1.0000


1.0000 0.0000 – 1.0000i –1.0000 – 0.0000i –0.0000 + 1.0000i
1.0000 –1.0000 – 0.0000i 1.0000 + 0.0000i –1.0000 – 0.0000i
1.0000 –0.0000 + 1.0000i –1.0000 – 0.0000i 0.0000 – 1.0000i

Al tener la matriz A previamente calculada, se obtiene un ahorro de tiempo de


máquina invertido en la realización de 2*N2 operaciones trigonométricas.

Como señal de prueba se utiliza la siguiente secuencia para x(n):

x(n) = [1 2 3 4]

40
Método eficiente para el cálculo de la Transformada de Fourier Discreta: La FFT matricial

La T.D.F. se calcula simplemente al realizar la multiplicación entre la matriz A(n,k)


y el arreglo de datos x(n):

XF = x*A

XF = 10.0000 –2.0000 + 2.0000i –2.0000 – 0.0000i –2.0000 – 2.0000i

El programa contiene un algoritmo implementado que genera una señal x(n) para
diferentes cantidades de muestras N = 100, 200, 300, 400, 500, 1000, 2000, 3000
y 4000 muestras. Este programa contabiliza el tiempo de duración para ejecutar
la Transformada de Fourier FFT a través del método matricial y lo compara con el
método de la DFT.

La Figura 20 ilustra los tiempos de cómputo invertidos para calcular la Transforma-


da de Fourier por el método DFT.

Figura 20. Tiempo de cómputo para cálculo de la DFT.

41
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 21, ilustra los tiempos de cómputo para calcular la Transformada de Fou-
rier a través del método matricial. Se puede apreciar que los valores de tiempo
son muy inferiores a comparación de los obtenidos a través del método de la DFT.

Figura 21. Tiempo de cómputo para cálculo de la Transformada de Fourier


por medio del método matricial.

42
Capítulo 4

Cálculo de la densidad espectral de


potencia para señales con muestreo
irregular: Método de Lomb

43
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

44
a0 1
T
1  jkw0t
T ³T
ak e dt

2sin kw0T1
ak
kw0T
w0 2S F0
N
x(t ) ¦ae
k N
k
lkw0t

x(t ) o ak
x(t  t0 ) o ak e  jkw0t0
x(t ) o ak
y(t ) o bk
x(t )  y(t ) o ak  bk
f

X w ³de
Por medio de la Transformada continua )e  jZ t dt X(w) (ver Ecuación (7)) es
x(tFourier
posible establecer una medida de la distribución
f
del espectro por unidad de
N 1 2S kn
frecuencia, lo cual se denomina densidad
X k ¦ espectral
x(n)e N de potencia (PSD). Ver Ecua-
j

ción (10). n 0
2S kn
j
A n , k e N

X w
2
(10)
ª
¦ x
2

1 « ¦ n 1 xn tn  x .cos 2S f tn  W
N N
n

A través del teorema del muestreo,Pse f ha


determinado det un Wnúmero 
n 1

2G 2 «
«¬
de muestras de la señal x(t), adquiridas a un periodo ¦
que
N
cos
de muestreo
n 1
2
2
a partir
S f n
Ts y cumpliendo ¦
el criterio de Nyquist se obtiene una serie de tiempo x(n). Tomando estas mues-
¦
N
sin(4S tn )
tras, se puede estimar la PSD a través 4SWla Transformada
tande n 1
discreta de Fourier (ver
¦
N
Ecuación 8). n 1
cos(4S t n)
2S ux 2S vy
1 M 1 N 1 j 
A u , v ¦¦
En algunas ocasiones no es posible tener muestras
MN x 0 y 0de A( x
la , y )e
señal
M N
original de manera
regular, por lo cual Lomb, en el año de 1976, propone un método de estimación
de la densidad espectral de potencia de datos tomados en observaciones as-
tronómicas. En este contexto, el autor plantea que no existe una garantía que
permita que las muestras adquiridas en estas observaciones sean tomadas a un
periodo regular.

El método de Lomb toma un arreglo de datos xn(tn) el cual contiene las muestras
adquiridas para cada tiempo tn y procede calcular la densidad espectral de poten-
cia para cada valor de frecuencia f como se observa en la Ecuación (11).

45
k
X w ³ x(t)e
 jZ t
dt
f y(t ) o bk
2S kn
X k ¦x(n)e
N 1
j
N x(t )  y(t ) o ak  bk
Series y Transformada
n 0 f
de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para
A n , k e N
j
2S kn
el desarrollo deX w
ejercicios x (t )e
prácticos
 jZ t
dt ³
f

X w
2
N 1 2S kn
j
X k ¦x(n)e N

¦
x t  x .cos 2S fn 0t 2SWkn ¦ x t  x .sin 2S f t  W º»
ª N 2 N 2

1 « n n n n n n
P f n 1
 » (11)
n 1

2G 2 «¦ cos 2AS fn , kt  We N ¦ sin 2S f t  W


N j 2 N 2
«¬ n 1 n »¼ n 1 n

¦ sin(4S t ) X w
N 2

tan 4SW n 1 n

¦ cos(4
nW
N
(4), Sδt2 corresponde
) aªla a Nla varianza
xn tn  x .sin 2S
2
En la Ecuación n 1
1 «
n
¦ x n t n  x
de los 2datos
.cos S f t x n(t
n  ) y el cálculo
¦
N

de la variable
A u , v
1 τ se realiza
M 1 N 1

¦¦A(x , y)e
a
P f
través de la Ecuación
j
n 1
2S ux 2S vy
 (12). 
n 1

2G « ¦ n 1 cos2 2S f tn  W ¦ n 1 sin2 2S f tn
2 M NN N
MN x 0y 0 « ¬
¦
N
sin(4S tn )
tan 4SW n 1
(12)
¦
N
n 1
cos(4S tn )
2S ux 2S vy M 1 N 1
1 j 

MN
¦¦ A( x , y )e M
A u , v
N

Para entender la técnica de Lomb se xha0 y diseñado


0 un algoritmo contenido en el
programa que se basa en la construcción de una señal discreta (N = 500 muestras)
compuesta por la suma de tres sinusoides de frecuencias conocidas (30Hz, 80Hz
y 120Hz) y con una frecuencia de muestreo Fs = 1000 s/seg, lo que garantiza que
cada una de sus muestras están con una separación de tiempo de Ts = 0.001 seg.

N=500;
Fs=1000;
Ts=1/Fs;
n=1:N;
f1=30;
f2=80;
f3=120;
x=cos(2*pi*f1*Ts*n)+cos(2*pi*f2*Ts*n)+cos(2*pi*f3*Ts*n);

La Figura 22 ilustra la señal de prueba en el dominio del tiempo.

46
Cálculo de la densidad espectral de potencia para señales con muestreo irregular: Método de Lomb

Figura 22. Señal de prueba, compuesta por la suma de tres sinusoides de frecuencias: 30Hz,
80Hz y 120Hz. Con frecuencia de muestreo Fs = 100Hz y cantidad de muestras N = 500.

A través de la Transformada rápida de Fourier, es fácil estimar la densidad espec-


tral de potencia de la señal de prueba. Como se puede ver en la Figura 23, la PSD
de la señal de prueba se representa a través de tres impulsos ubicados en las res-
pectivas frecuencias de cada componente sinusoidal.

Figura 23. PSD de la señal de prueba, compuesta por tres impulsos unitarios
ubicados en las frecuencias: 30Hz, 80Hz y 120Hz. Con frecuencia de muestreo
Fs = 100Hz y cantidad de muestras N = 500.

47
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La señal de prueba es procesada a través de un algoritmo diseñado para extraer


aleatoriamente un porcentaje de muestras y simular un escenario de muestreo
irregular. El algoritmo diseñado permite escoger el porcentaje de muestras que se
requiere extraer de la señal de prueba.

c=0;
for i=1:N
t(i)=c+Ts;
c=t(i);
end

c=round(rand(N,1));
x1=x.*c’;
k=0;

for i=1:N
if x1(i)==0
x1(i)=x1(i);
else

k=k+1;
xr(k)=x1(i);
tr(k)=t(i);

end
end

El algoritmo desarrollado permite obtener una nueva señal xr(tn), la cual es una
versión con muestreo irregular. El arreglo de datos tr, contiene los valores de tiem-
po tn para cada muestra de la señal xr.

48
Cálculo de la densidad espectral de potencia para señales con muestreo irregular: Método de Lomb

La Figura 24 ilustra el resultado obtenido al realizar un proceso de muestreo irre-


gular.

Figura 24. Señal con muestreo irregular.

Para poder aplicar la técnica de Lomb, se debe calcular primero la varianza para
las muestras obtenidas:

xm=(1/N)*sum(xr);
var=(1/(N-1))*sum((xr-xm).^2);

Posteriormente se establece los valores de frecuencia (Hz) para los cuales se re-
quiere calcular la PSD.

for h=1:N/2
f(h)=Fs*(h-1)/(N);
end

49
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

También es necesario enventanar los datos muestreados. Se utiliza una versión de


ventana para tiempos irregulares.

s=0;
for i=1:N
W2= 0.54+0.46*cos(2*pi*t(i)/t(N));
xr(i)=xr(i)*W2;
s=s+W2;
end

A continuación se presenta el código para calcular la PSD a través de la técnica de


Lomb:

NOR=N/(s*s);
R=length(f);
N=length(xr);
for r=1:R
c=0;
b=0;
Sh=0;
Ch=0;
S2=0;
C2=0;
for i=1:N
Sh=Sh+( (xr(i)-xm)*sin( 2*pi*f(r)*(tr(i)) ) );
Ch=Ch+((xr(i)-xm)*cos(2*pi*f(r)*(tr(i))));
S2=S2+sin(2*pi*f(r)*(tr(i)));
C2=C2+cos(2*pi*f(r)*(tr(i))) ;
end
tao=(atan(S2/C2))/(4*pi*w(r));
A=Ch*cos(2*pi*f(r)*tao)+Sh*sin(2*pi*f(r)*tao);
B=Sh*cos(2*pi*f(r)*tao)-Ch*sin(2*pi*f(r)*tao);
A2=(N/2)+0.5*C2*cos(4*pi*f(r)*tao)+0.5*S2*sin(4*pi*f(r)*tao);
B2=(N/2)-0.5*C2*cos(4*pi*f(r)*tao)-0.5*S2*sin(4*pi*f(r)*tao);
P(r)=NOR*(((A^2)/A2)+((B^2)/B2));
end

50
Cálculo de la densidad espectral de potencia para señales con muestreo irregular: Método de Lomb

figure
plot(w,P)
title(‘espectro de lomb(muestreo uniforme)’)
xlabel(‘Frecuencia’)
ylabel(‘Magnitud’)

La Figura 25, ilustra el resultado obtenido al calcular la PSD por medio del método
de Lomb de las muestras tomadas irregularmente de la señal original.

Figura 25. PSD calculada por medio del método de Lomb,


para muestras tomadas irregularmente.

51
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

52
Capítulo 5

Promediado de espectros

53
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

54
Existen señales, cuyas características se pueden repetir en el tiempo y también
pueden ser apreciadas en el dominio de la frecuencia. A través del promediado de
espectros, es posible determinar un espectro promedio de una señal con la finali-
dad de observar aquellas características que se repiten en el tiempo.

El objetivo de esta práctica es el análisis de la señal de voz humana a través del


promediado de espectros con la finalidad de realizar comparaciones con el cálculo
del espectro de una señal.

El primer paso es cargar la señal de voz de prueba con frecuencia de muestreo


igual a 44100 Hz, la cual se aloja en el archivo de datos sonido.mat. La señal de
voz se puede generar pidiendo a una persona que repita consecutivamente una
misma vocal un número de veces. Si una persona repite una vocal cada segundo,
es posible obtener una cantidad de 28000 muestras para cada repetición.

A1=load sonido;
a1=A1.sonido.
plot(a1)

55
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 26 ilustra la señal de voz importada en el dominio del tiempo.

Figura 26. Señal de voz.

Posteriormente se procede a realizar el proceso de enventando y estimación de la


magnitud del espectro (ver Figura 27).

N=length(a1);
k=1:N/2;
F=(k-1)*44100/N;
a1f=abs(fft(a1.*(hamming(N))));
plot(F,a1f(1:N/2));

56
Promediado de espectros

Figura 27. Magnitud del espectro de la señal de voz.

Para la realización del promediado de espectros, se debe ejecutar un proceso de


segmentado de la señal. Cada segmento debe contener la misma cantidad de
muestras. En este caso se supone que la muestra de inicio para cada vocal es:
15000, 54000, 132000 y 170000.

ma1=a1(15000:15000+27999);
L=length(ma1);
ma2=a1(54000:54000+27999);
ma3=a1(132000:132000+27999);
ma4=a1(170000:170000+27999);

57
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 28 ilustra el proceso de segmentado de la señal.

Figura 28. Segmentado de la señal.

Después del proceso de segmentado, se deben enventanar cada uno y realizar el


cálculo de la magnitud del espectro de frecuencia (ver Figura 29).

W=hamming(L);
ma1w=ma1.*W;
ma2w=ma2.*W;
ma3w=ma3.*W;
ma4w=ma4.*W;
ma1f=abs(fft(ma1w));
ma2f=abs(fft(ma2w));
ma3f=abs(fft(ma3w));
ma4f=abs(fft(ma4w));

58
Promediado de espectros

Figura 29. Espectros en magnitud de cada segmento.

El paso final es realizar el promedio de cada espectro de frecuencia en magnitud.

maf= (ma1f + ma2f + ma3f + ma4f)/4;


figure
plot(f,maf(1:3000))
title(‘Espectro promedio vocal a’)

59
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 30 ilustra el resultado y es de gran importancia compararlo con el espec-


tro obtenido en la Figura 29 y observar los rizados en cada versión del espectro.

Figura 30. Promedio del espectro.

El resultado ilustrado en la Figura 30 evidencia la ventaja del promediado de es-


pectros. Se pueden detallar los diferentes picos en magnitud del espectro con una
gran disminución del contenido de rizados.

60
Capítulo 6

Manipulación del espectro


de una señal unidimensional

61
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

62
El espectro en frecuencia de una señal discreta x(n), contiene información impor-
tante que modela el comportamiento en el dominio del tiempo. El espectro lo po-
demos dividir en dos grandes bandas: bajas frecuencia y altas frecuencia. En esta
práctica se realiza un proceso de manipulación en el espectro de una señal discreta
x(n) con la finalidad de poder diferenciar el aporte en el dominio del tiempo de
cada una de las bandas.

Se ha desarrollado un código contenido en el siguiente programa, en el cual se


ejecuta la acción de tomar una señal sinusoidal y verificar los efectos causados al
eliminar componentes en el dominio de la frecuencia.

En esta práctica se toma una señal de muestra con componentes espectrales co-
nocidas.

N=500;
n=1:N;
Fs=500;
Ts=1/Fs;
x=cos(2*pi*10*n*Ts)+ cos(2*pi*20*n*Ts)+ cos(2*pi*30*n*Ts)+
cos(2*pi*100*n*Ts)+ cos(2*pi*150*n*Ts)+ cos(2*pi*200*n*Ts);

En la Figura 31 se aprecia la señal de prueba.

63
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 31. Señal de prueba x(n).

Posteriormente se calcula y se grafica (en magnitud) su espectro a través de la


herramienta para la Transformada rápida de Fourier (ver Figura 32).

xf=(fft(x));
k=1:N/2;
f=(k-1)*Fs/N;

Figura 32. Espectro en frecuencia de la señal x(n).

64
Manipulación del espectro de una señal unidimensional

Después se toma el espectro de la señal de prueba y se almacena en la variable


x1f y se procede a eliminar las altas frecuencias, generando un efecto “pasa bajos”.

xf1=xf;
xf1(50:449)=0;

Con el espectro modificado se recupera la señal x2 a través de la herramienta para


la Transformada inversa de Fourier. El resultado del efecto pasa bajos se ilustra en
la Figura 33.

Figura 33. Señal con efecto pasa bajos.

x2=real(ifft(xf1));

Si se desea lograr un efecto “pasa altos” se pueden eliminar las bajas frecuencias
(ver Figura 34).

xf1(1:201)=0;
xf1(801:N)=0;

65
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 34. Señal con efecto pasa altos.

66
Capítulo 7

Transformada Cepstrum

67
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

68
El Cesptrum de la señal es una aplicación especial de la Transformada de Fourier.
Se calcular a partir del logaritmo de la densidad espectral de potencia de una señal
y que posteriormente se le calcula nuevamente su Transformada de Fourier.

En esta práctica de laboratorio se realiza una aplicación del cepstrum de una se-
ñal aplicado a un ejercicio de simulación del eco. El programa contiene el código
para la elaboración de una aplicación que ilustra el funcionamiento del cálculo del
cesptrum.

El primer paso a seguir es cargar el tramo de voz almacenado el archivo de datos.

A1=load sonido;
Fs=44100;
Ts=1/Fs;
a1=A1.andreaa;

El segundo paso consiste en tomar un segmento de la señal que contenga la pri-


mera realización de la vocal a (ver Figura 35).

ma1=a1(15000: 15000 + 27999);

69
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 35. Segmento de señal de voz que representa


la pronunciación de la vocal a.

Posteriormente se debe generar un arreglo que permita obtener una reproducción


de la vocal, emulando la acción repetitiva del eco (ver Figura 36).

c=zeros(1,1000);
x1=[ma1’ c ma1’ c ma1’ c];
N=length(x1);
x1=x1/max(x1);
t=(1:N)/44100;
figure
plot(t,x1)

70
Transformada Cepstrum

Figura 36. Repeticiones del segmento de voz, emulando un eco.

Tomando la señal que contiene las repeticiones, se le aplica el Cepstrum con las
siguientes líneas de instrucción.

c = cceps(x1);
figure
plot(t,c)

En la Figura 37, se observa el resultado obtenido, se puede notar que en el eje del
tiempo se evidencias unos picos, los cuales indican el comienzo de una repetición.

71
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 37. Coefientes Cepstrum de la señal que contiene un eco emulado.

En la Figura 38 se realiza de forma gráfica la superposición de la señal con repeti-


ciones y el Cepstrum.

c=c/max(c);
figure
plot(t,x1,t,c)
xlabel(‘Tiempo(Seg)’)
legend(‘Señal de voz’, ‘Coeficientes Cepstrum’)

Figura 38. Coeficientes Cepstrum indicando cuando empieza


cada repetición de la señal de la voz.

72
Capítulo 8

Introducción a la Transformada
Wavelet continua

73
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

74
El objetivo de esta práctica es el desarrollo de una aplicación para la generación
de una familia de ondaletas y estudiar una señal continua en el tiempo con com-
ponentes espectrales conocidas.

El primer paso es generar una señal basada en suma se senosoidales.

Ts=0.01;
Fs=1/Ts;
t=-10:Ts:10;
x=cos(2*pi*1*t)+cos(2*pi*1.5*t)+cos(2*pi*2*t);
subplot(2,1,1)
plot(t,x)

En la Figura 39, se ilustra la señal de prueba en el dominio del tiempo.

75
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 39. Señal de prueba conformada por una sumatoria de sinusoidales.

El siguiente paso es generar una familia de ondeletas. Para este ejemplo se utiliza
la ondaleta “Sombrero méxicano” (ver Figura 40).

L=length(t);
f=0.01:0.05:5;
N=length(f);
for u=1:N
ta=t/f(u);
mex(u,:)=((pi^(0.25))/sqrt(3))*(1-ta.*ta).*exp(-ta.*ta/2);
end
figure
mesh(t,f,mex)

76
Introducción a la Transformada Wavelet continua

Figura 40. Ondaleta Sombrero Mexicano.

El último paso es aplicar cada una de las ondaletas a la señal de prueba.

for u=1:N
TW(u,:)=filter(mex(u,:),1,x);
end
figure
t=-10:Ts:10;
mesh(t,f,TW)

La Figura 41 ilustra el resultado obtenido.

77
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 41. Análisis de la señal de prueba a través de la Transformada Wavelet continua.

78
Capítulo 9

Aplicación de la Transformada Wavelet


continua en señales de voz

79
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

80
El objetivo de esta práctica es el desarrollo de una aplicación para la generación
de una familia de ondaletas con la finalidad de identificar patrones dentro de una
señal de voz.

El primer paso es importar un archivo de voz humano y realizar un proceso de


diezmado, para obtener menos muestras.

Fs=44100;
Ts=1/Fs;
A1=load sonido;
ma1=A1.andreaa;
x1=ma1(15000: 15000 + 27999);
xa=decimate(x1,5);
x=xa(1:4000);
Fs=8000;

81
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

La Figura 42 ilustra la señal de prueba.

Figura 42. Señal de Voz de prueba.

El segundo paso es crear la familia de ondaletas. Para este caso se utiliza “Morlet”.

t=-2:Ts:2;
L=length(t);
f=0.1:1:10;
N=length(f);
for u=1:N
ta=t/f(u);
mor(u,:)=(exp(-(ta.*ta)/2)).*cos(5*ta);
end
figure
mesh(t,f,mor)

82
Aplicación de la Transformada Wavelet continua en señales de voz

La Figura 43 ilustra la familia de ondaletas para el caso Morlet.

Figura 43. Ondaleta Morlet en el dominio del tiempo y frecuencia.

Por último se aplica cada ondaleta a la señal de voz, obteniendo el resultado ilus-
trado en la Figura 44.

for u=1:N
TW(u,:)=filter(mor(u,:),1,x);
end
figure
t=(1:4000)/Fs;
mesh(t,f,TW)

83
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 44. Resultado obtenido después de analizar la señal de voz a través


de la Transformada Wavelet usando la ondaleta Morlet.

84
Capítulo 10

Espectro de una señal discreta


bidimensional

85
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

86
k

x(t  t0 ) o ak e  jkw0t0
x(t ) o ak
y(t ) o bk
x(t )  y(t ) o ak  bk
f

X w ³ x(t)e
 jZ t
dt
f
N 1 2S kn
j
X k ¦x(n)e
n 0
N

2S kn
j
A n , k e N

X w
2

ª

2

1 « ¦ n 1 xn tn  x .cos 2S f tn  W ¦ n 1 xn tn  x .sin 2
N N

P f 
2G 2 «
«
¬
¦
N
n 1
cos 2
2S f t n  W

Para el caso de una señal discreta bidimensional A(x,y), se expresa su Transforma-
¦
N
n 1
sin2 2S f

da Discreta de Fourier de la siguiente manera:


¦
N
sin(4S tn )
tan 4SW n 1

¦ n 1 cos(4S tn )
N

2S ux 2S vy
1 M 1 N 1 j 
A u , v ¦¦
MN x 0 y 0
A( x , y )e M N
(13)

El programa contiene el código de un sencillo ejercicio que permite tener un rápido en-
tendimiento de las propiedades básicas de la Transformada De Fourier bidimensional.

Para demostrar cómo se representa una señal sinusoidal bidimensional, se imple-


menta el siguiente código para generar una matriz que contiene variaciones de
intensidad entre 0 y 255.

N=200;
n=1:N;
x=128*cos(2*pi*10*n*0.01);
x=uint8(x+128);

for i=1:N

A(i,:)=x;
end
mesh(double(A))
figure
imshow(A)

87
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

En la Figura 45 se puede apreciar la función bidimensional (representada con el


comando mesh). Se puede apreciar que es una función que depende de los ejes x
y y, la amplitud varia de manera sinusoidal.

Figura 45. Función sinusoidal bidimensional.

Las funciones bidimensionales, también pueden describir una imagen monocromática,


donde la intensidad mínima es de valor 0 y su máxima intensidad es 255. La Figura 46
ilustra esta función representada como una imagen (se utiliza el comando imshow).

Figura 46. Función sinusoidal representada como una imagen monocromática.

88
Espectro de una señal discreta bidimensional

A través de las siguientes líneas de código, se pude calcular y representar gráfica-


mente la magnitud de la Transformada de Fourier bidimensional.

AF=fftshift(abs(fft2(double(A))));
figure
mesh((AF))
figure
imshow(uint8(AF))

La Figura 47 ilustra el resultado obtenido al calcular la magnitud de la Transforma-


da de Fourier bidimensional de la función bajo estudio.

Figura 47. Magnitud de la Transformada de Fourier Bidimensional.

Como se pudo apreciar en la Figura 47, se obtienen dos funciones impulso unitario
simétricamente ubicadas en el eje horizontal. Este resultado es similar al obtenido
de la magnitud de la Transformada de Fourier para una señal sinusoidal discreta
unidimensional.

89
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

A través del siguiente código, se puede representar la misma función sinusoidal


bidimensional oscilando a través del eje vertical.

for i=1:N

B(:,i)=x;
end

figure
mesh(double(B))

figure
imshow(B)

La Figura 48 ilustra la nueva señal sinusoidal generada.

Figura 48. Función sinusoidal bidimensional través del eje y.

90
Espectro de una señal discreta bidimensional

Utilizando las líneas de código para representar la Transformada de Fourier bidi-


mensional, se procede a calcular la magnitud de esta transformación.

BF=fftshift(abs(fft2(double(B))));
figure
mesh((BF))
figure
imshow(uint8(BF))

La Figura 49 ilustra el resultado obtenido al calcular la magnitud de la Transforma-


da de Fourier bidimensional para la señal sinusoidal a través del eje y.

Figura 49. Magnitud de la Transformada de Fourier bidimensional (función rotada).

91
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

92
Capítulo 11

Manipulación del espectro


de una señal discreta bidimensional

93
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

94
En esta sección se manipula el espectro de una señal bidimensional, para la cual
en nuestro contexto se denomina una imagen digital.

El primer paso es generar una función bidimensional A(x,y), la cual tendrá un pa-
recido a un tablero de ajedrez.

A=ones(200,200);
A(1:50,1:50)=0;
A(1:50,100:150)=0;
A(100:150,1:50)=0;
A(50:100,50:100)=0.4;

La Figura 50 ilustra la función bidimensional A(x,y).

Figura 50. Función bidimensional A(x,y).

95
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

El segundo paso es generar una máscara a través de funciones de Butterworth de


la misma dimensión de la función A(x,y). Esta máscara tendrá dos versiones: una
para bajos y la otra será una para lograr el efecto pasa altos.

[a,b]=size(A);
for i=1:a
for j=1:b
D(i,j)=(((i-(a/2))^2)+((j-(b/2))^2))^(0.5);
end
end
Do=10;
n=4;
for i=1:a
for j=1:b
d=D(i,j);
Hpb(i,j)= 1 / (1+ (d/Do)^(2*n) );
%pasa bajos
Hpa(i,j)= 1 / (1+ (Do/d)^(2*n) );
%pasa altos
end
end

96
Manipulación del espectro de una señal discreta bidimensional

En la Figura 51 se ilustran las dos máscaras obtenidas.

Figura 51. Máscara para efecto pasa bajos y para efecto pasa altos.

El tercer paso es calcular la Transformada bidimensional de Fourier para la función


A(x,y) (verer Figura 52).

AF=(fft2(double(A)));

Figura 52. Magnitud del espectro de la función A(x,y).

97
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Posteriormente se procede a organizar los datos para que estén centrados en el


mismo centro geométrico de la máscara H(u,v).

AF2=fftshift(AF);

Y se procede a aplicar la máscara pasa bajos.

AG=AF2.*Hpa;

El espectro del resultado de la aplicación de la máscara pasa bajos es ilustra en la


Figura 43.

Figura 43. Magnitud del espectro de la función A(x,y)


después de la aplicación de la máscara pasa bajos.

98
Manipulación del espectro de una señal discreta bidimensional

El siguiente paso es volver a organizar el espectro y obtener la nueva función en


el dominio del espacio A2(x,y) por medio de la Transformada inversa de Fourier
bidimensional.

AG=fftshift(AG);
A2=ifft2(AG);
figure
imshow(A2)

La Figura 54 ilustra el resultado obtenido en el dominio del espacio.

Figura 54. Resultado en el dominio espacial de la aplicación de la máscara pasa bajos.

Este método también es pertinente en el uso de la máscara pasa altos. En la Figura 55


se ilustra en dominio de la frecuencia la magnitud del espectro de la función A(x,y)
después de ser multiplicada por la máscara pasa altos.

En la Figura 56, se ilustra en el dominio del espacio el resultado de minimizar las


bajas frecuencia de la función A(x,y).

99
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Figura 55. Magnitud del espectro de la función A(x,y)


después de la aplicación de la máscara pasa altos.

Figura 56. Resultado en el dominio espacial de la aplicación de la máscara pasa altos.

100
Bibliografía

La teoría utilizada en este texto ha sido basada en escritos que son listados a con-
tinuación.

Transformada de Fourier

Oppenheim Alan, Willsky Alan. Señales y Sistemas. Prentice Hall. México 2011.

Proakis John, Manolakis DImitris. Tratamiento Digital de Señales. Pearson. España 2010.

Mitra Sanjit. Procesamiento Digital de Señales Digitales. Mc Graw Hill. España 2008.

William T. Vetterling. Numerical Recipes 3rd Edition. Cambridge University Press 2007.

Señales Bidimensionales

González Rafael. Woods Richard. Digital Image Processing. 2007.

Pajares Gonzalo. De la cruz Jesús. Visión por Computador. Alfaomega – Ra-MA.


España 2002.

González Javier y Montenegro Davis. Análisis de Texturas a Través del Procesa-


miento Digital de Imágenes. Ediciones USTA. Colombia, 2013.

101
Series y Transformada de Fourier para Señales Continuas y Discretas en el Tiempo.
Algoritmos para el desarrollo de ejercicios prácticos

Voz humana

Faundez Zanuy Marcos. Tratamiento Digital de Voz e Imagen. Alfaomega – Marco-


mobo. México 2001.

Transformada Wavelet

Montenegro Davis. Procesamiento digital de perturbaciones de calidad de poten-


cia eléctrica. Ediciones USTA. Colombia, 2013.

Algoritmo de la Técnica de Lomb

Press William. Numerical Recipies in C: The Art of Scientific Computing. Ed. Cam-
bridge USA 2002.

102

You might also like