You are on page 1of 173

Procesamiento Digital de Seales

Transformadas Discretas
Transformada Discreta de Fourier
Las transformadas de Fourier
DFT Real
DFT Complejo
El dominio de la frecuencia
La inversa de la DFT
Calculo de la DFT
Representacin Polar
Anlisis Espectral
Respuesta en Frecuencia
Convolucin usando Frecuencia

Transformadas de Fourier
Jean Baptiste Joseph Fourier (1768
1830)
Contribuyo a la idea de que una
funcin puede ser representada por
la suma de funciones sinusoidales
)
2
sin( )
2
cos( ) (
1 1
T
kt
b
T
kt
a c t f
k k
k k
t t

=
+ + =
Transformada de Fourier
Transformada de Fourier
Transformada de Fourier
Trasformada de Fourier
Es interesante descomponer una
seal en sinusoides por la:
FIDELIDAD SINUSOIDAL
Eso garantiza que si entra un
sinusoide a un sistema lineal solo
variar su fase y su amplitud pero su
frecuencia sera la misma

Transformadas de Fourier
Dependiendo del tipo de funcin que
se desee transformar se utilizan
diferentes mtodos

Transformadas de Fourier
Aperiodiodicas
Continuas
Transformada de Fourier

Peridicas Continuas
Series de Fourier

Aperidicas Discretas
T. Discreta en Tiempo de
Fourier

Peridicas Discretas
Transformada Discreta de
Fourier
Transformada de Fourier
Nosotros manejamos seales con un
nmero finito de muestras
Hay dos opciones
Convertirlas a Aperidicas Discretas
Convertirlas a Peridicas Discretas
Para sintetizar una seal aperidica
se necesita un nmero infinito de
sinusoides
Transformada de Fourier
Por lo tanto nos concentraremos en
la Transformada Discreta de Fourier
Llamada ms comnmente por su
siglas en ingles DFT
Para hacerlo debemos pensar en la
seal digital como peridica, o sea
que se repite indefinidamente
Transformada de Fourier
Existen dos maneras de atacar
matemticamente la DFT
DFT Sinusoidal (Real)
DFT Exponencial (Complejo)
DFT Real
Se basa en calcular los coeficientes
de la siguiente ecuacin:


= =
+ =
2 /
0
2 /
0
) / 2 sin( ) / 2 cos( ] [
N
k
k
N
k
k
N kn b N kn a n x t t
] [ ] [ Im
] [ ] [ Re
n b n X
n a n X
=
=
DFT Real
DFT Real
DFT Complejo
Se basa en la identidad


De tal manera que:


) ( ) cos( x isen x e
ix
+ =
Real vs. Complejo
La verdadera transformada de
Fourier es compleja por naturaleza
Hacerla real permite estudiarla
mejor, pero introduce ciertos
problemas
Nosotros utilizaremos las dos
dependiendo de la aplicacin
Notacin Polar
Tal como representamos a la funcin
en frecuencia con una parte real y
una imaginaria podemos expresarla
en forma de Magnitud y Fase
Mag X[0] y Fas X[0] son calculadas a
partir de Re X[0] y Im X[0] y asi con
las demas muestras
Notacin Polar
Esta forma de representar la funcin
en frecuencia nos ayuda a
visualizarla mejor

Notacin Polar
Se calcula de la siguiente manera

Notacin Polar
Notacin Polar
Usamos la notacin polar para
visualizar la seal
Usamos la notacin rectangular para
hacer los clculos
MATLAB
n = [0:1:50]/50*2*pi;
x = sin(2*pi*10*n);
X = fft(x);
realX = real(X);
imgX = imag(X);
magX = abs(X);
phaseX = angle(X);
subplot(2,2,1)
plot(realX); title('Parte Real');
subplot(2,2,2);
plot(imgX); title('Parte Imaginaria');
subplot(2,2,3);
plot(magX); title('Magnitud');
subplot(2,2,4);
plot(phaseX); title('Fase');
El dominio de la frecuencia
Aplicar la transformada de fourier a
una seal en el dominio del tiempo
tiene como efecto expresar esa seal
en el dominio de la frecuencia
X[n]=DFT(x[n])
Por lo tanto el eje x de la
transformada de fourier representa
frecuencia
El dominio de la frecuencia
El dominio de la frecuencia
El eje x se puede expresar de 4
maneras:
Fraccin de la frecuencia de Muestreo
Nmero de Muestra
Frecuencia Natural (radianes)
Frecuencia Absoluta
Inversa de la DFT
As como podemos ir del dominio del
tiempo al dominio de la frecuencia
Usamos la inversa de la DFT para
pasar de la frecuencia al tiempo
Por lo tanto podemos ver que al
pasar del tiempo a la frecuencia solo
estamos expresando la misma
informacin de otra manera
Inversa de la DFT
Eso nos lleva a un concepto muy
importante en analisis de seales y
sistemas: Dualidad

Clculo de la DFT
Hay 3 mtodos para calcular la DFT
DFT por ecuaciones simultaneas
DFT por correlacin
FFT
Hoy veremos los dos primeros

DFT por ecuaciones simultaneas
Tenemos N valores en tiempo y hay que
calcular N valores en frecuencia
Debemos escribir N ecuaciones lineales
independientes


= =
+ =
2 /
0
2 /
0
) / 2 sin( ) / 2 cos( ] [
N
k
k
N
k
k
N kn b N kn a n x t t

= =
+ =
2 /
0
2 /
0
) / 2 sin( ) / 2 cos( ] 1 [
N
k
k
N
k
k
N k b N a x t t
DFT por ecuaciones simultaneas
Se puede resolver usando los
mtodos como Eliminacin de Gauss
Pero en la prctica es muy lento
Solo se utiliza de manera terica

DFT por correlacin
Correlacionamos la seal original con
cada una de las funciones
sinusoidales base
Esto significa multiplicar cada punto
de la seal de entrada por la funcin
sinusoidal y luego sumar todos los
puntos
DFT por correlacin

=
=
=
1
0
1
0
) / 2 sin( ] [ ] [ Im
) / 2 cos( ] [ ] [ Re
N
i
N
i
N ki i x k X
N ki i x k X
t
t

=
=
M
i
i b i a n c
0
] [ ] [ ] [
Anlisis Espectral
Como ya vimos, en muchas seales,
la informacin no esta codificada en
la forma de la seal, sino en su
frecuencia
Ejemplo de esto:
Sonido
Radar Submarino
Color

Anlisis Espectral
Para analizar este tipo de seales el
dominio del tiempo es insatisfactorio
Trate de analizar su voz simplemente
viendo a forma de la seal en tiempo
Se utiliza la transformada de fourier
para representar estas seales en
frecuencia y asi poderlas analizar

Anlisis Espectral


0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
-4
-3
-2
-1
0
1
2
3
x 10
4
Time(seconds)
Vowel A
Anlisis Espectral
Obtenemos la transformada de Fourier
Obtenemos la Potencia por cada
Frecuencia y la Graficamos
Potencia = Magnitud2

Anlisis Espectral


0 1000 2000 3000 4000 5000 6000
10
4
10
5
10
6
10
7
10
8
10
9
10
10
10
11
10
12
Frequency(Hz)
P
o
w
e
r
Vowel A (256 samples - hamming)
MATLAB
fs = 100; % Sample frequency (Hz)
t = 0:1/fs:10-1/fs; % 10 sec sample
x = (1.3)*sin(2*pi*15*t) ... % 15 Hz component
+ (1.7)*sin(2*pi*40*(t-2)) ... % 40 Hz component
+ (2.5)*randn(size(t)); % Gaussian noise;
m = length(x); % Window length
n = pow2(nextpow2(m)); % Transform length
y = fft(x,n); % DFT
f = (0:n-1)*(fs/n); % Frequency range
power = y.*conj(y)/n; % Power of the DFT
plot(f,power)
xlabel('Frecuencia (Hz)')
ylabel('Potencia')
title('Potencia x Frecuencia')

Naturaleza Peridica DFT
As lo vemos nosotros
Naturaleza Peridica DFT
As lo ve la DFT
Naturaleza Peridica DFT
As lo vemos nosotros
Naturaleza Peridica DFT
As lo ve la DFT
MATLAB
y0 = fftshift(y); % Rearrange y values
f0 = (-n/2:n/2-1)*(fs/n); % 0-centered frequency range
power0 = y0.*conj(y0)/n; % 0-centered power

plot(f0,power0)
xlabel('Frequencia (Hz)')
ylabel('Potencia')
title('Potencia x Frecuencia')
MATLAB
phase = unwrap(angle(y0));

plot(f0,phase*180/pi)
xlabel('Frecuencia (Hz)')
ylabel('Fase (Grados)')
grid on
SIMULINK
Anlisis Espectral
Vamos tomando grupos de muestras
y realizamos la misma tcnica y
luego las graficamos juntas

Anlisis Espectral


Seconds
H
z
Sid
a
.txt, 256, hamming
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Anlisis Espectral
A representar una funcin en sus
componentes de frecuencia se le
llama Anlisis Espectral
Nos permite saber que frecuencias
estn presentes dentro de una seal
Anlisis Espectral
Al tomar un grupo de muestras
estamos multiplicando la funcin por
una ventana cuadrada
Eso provoca distorsiones en las
frecuencias obtenidas
Anlisis Espectral
Multiplicacin por Ventana
Ventanas
Existen varias ventanas
Cuadrada
Barlett (triangulo)
Welch (parabola)
Hann (Hanning)
Hamming
Ventanas
0 1000 2000 3000 4000 5000 6000
10
2
10
4
10
6
10
8
10
10
10
12
Vowel O - SQUARE (256 samples)
Frequency(Hz)
P
o
w
e
r
0 1000 2000 3000 4000 5000 6000
10
2
10
4
10
6
10
8
10
10
10
12
Vowel O - BARTLETT (256 samples)
Frequency(Hz)
P
o
w
e
r
0 1000 2000 3000 4000 5000 6000
10
2
10
4
10
6
10
8
10
10
10
12
Vowel O - WELCH (256 samples)
Frequency(Hz)
P
o
w
e
r
0 1000 2000 3000 4000 5000 6000
10
2
10
4
10
6
10
8
10
10
10
12
Vowel O - HANN (256 samples)
Frequency(Hz)
P
o
w
e
r
Cuadrada Barlett
Welch Hann
MATLAB
spectrogram(
seal,
tamaoVentana,
overlap,
tamaoFFT,
fs,
'yaxis');
spectrogram(x,128,120,128,8000,'yaxis');
Resolucin
Si tomamos ms puntos tendremos
una mejor definicin en frecuencia
Pero empeorara la definicin en
tiempo
Si tomamos menos puntos,
tendremos una mejor definicin en
tiempo
Pero empeorara la definicin de la
frecuencia
Resolucin
Seconds
H
z
Sid
a
i.txt, 64, hamming
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Resolucin
Seconds
H
z
Sid
a
i.txt, 128, hamming
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Resolucin
Seconds
H
z
Sid
a
i.txt, 256, hamming
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Resolucin
Seconds
H
z
Sid
a
i.txt, 512, hamming
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Resolucin
Seconds
H
z
Sid
a
i.txt, 1024, hamming
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
Respuesta en Frecuencia
Asi como en el dominio del tiempo
un sistema puede ser caracterizado
por su Respuesta a Impulso
En la Frecuencia un sistema se
caracteriza por su Respuesta en
Frecuencia
La relacin entre las dos es la
transformada de Fourier
Respuesta en Frecuencia
Respuesta en Frecuencia
Muchas veces podemos entender mejor el
funcionamiento de un sistema si
analizamos la Respuesta a Frecuencia en
vez de la Respuesta a Impulso
Respuesta en Frecuencia
Convolucin en Frecuencia
Si
x[n] * h[n] = y[n]
Entonces
X[f] ? H[f] = Y[f]

Respuesta
Multiplicacin
Convolucin en Frecuencia
Convolucionar dos seales en el
dominio del tiempo, significa
multiplicarlas en el dominio de la
frecuencia
Y viceversa
Convolucin en Frecuencia
Transformada Discreta de Fourirer
Las transformadas de Fourier
DFT Real
DFT Complejo
El dominio de la frecuencia
La inversa de la DFT
Calculo de la DFT
Representacin Polar
Anlisis Espectral
Respuesta en Frecuencia
Convolucin usando Frecuencia


Transformada Rpida de Fourier
Historia
Idea
Algoritmo
Tiempo de Ejecucin
Conclusin
Historia
J.W. Cooley y J.W. Tukey fueron los que
recibieron el crdito por inventar la
transformada rpida de Fourier (FFT)
(1965)
Pero no fue una idea original, ya se
encontraba en los escritos de Karl
Friedrich Gauss (1977-1855)
Historia
El clculo de la DFT por mtodos
tradicionales es O(N
2
)
El clculo de la FFT toma solamente
O(NlogN)
Se basa en el uso de la simetra de la
transformada de Fourier
Idea
Idea
Esto se puede hacer de manera recursiva
hasta llegar a la transformada de un solo
nmero
La transformada de un nmero es igual al
mismo nmero

Idea
Idea
Idea
Las divisiones en partes pares e impares
subsecuentes equivalen a invertir el orden
de los bits
Habra que reordenar los componentes
para que vayan juntos en la transformada
Idea
Idea
Idea
Luego hay que reordenar para formar la seal
en frecuencia
No podemos ir en un solo paso como en el caso
de la inversin de bits
A esto se le llama hacer mariposas por que se
parcen a las lneas trazasas se asemejan a las
alas de una mariposa
El resultado despus de realizar todas las
operaciones es la transformada
Idea
Idea
Idea
Para 2 puntos
Para 4 puntos
Para 8 puntos
Coeficientes
Como Matriz
Idea
Algoritmo
function M=myFFT (X, m)
%***************
% BIT REVERSAL
%***************
n = 2^m;
Y = X;
for i=0:n-1
Rev=0;
Index=i;
for j=0:m - 1
Rev = bitor((Rev * 2),bitand(Index,1));
Index = floor(Index / 2);
end;
newvalue=Rev;
Y(newvalue+1) = X(i+1);
X = Y;
Algoritmo
%***************
% BUTTERFLIES
%***************
Xnew = X;
for i=0:m-1
for j=1:n
if (bitget(j-1,i+1)==0)
coefficient = exp ((j-1)*2*pi*(-1i)/2^(i+1));
Xnew(j) = X(j)+coefficient*X(bitxor((j-
1),2^i)+1);
Xnew(bitxor((j-1),2^i)+1) = X(j) -
coefficient*X(bitxor((j-1),2^i)+1);
end;
end;
X = Xnew;
M = X;
Tiempo de Ejecucin
Cuando usamos DFT por correlacin el
programa usa dos lazos anidados cada
uno de N puntos.
Esto significa que el nmero total de
operaciones es proporcional a NxN o sea
N
2
Tiempo de Ejecucin
En el FFT tenemos solamente log
2
N
repeticiones de N/2 mariposas
Esto significa que el tiempo de ejecucin
ser proporcional a Nlog
2
N

Tiempo de Ejecucin


Tiempo de Ejecucin
Tiempo de Ejecucin
Conclusiones
Debemos usar siempre longitudes de
ventana que sean potencias de dos
Si no se deben aadir ceros
Hay maneras ms rpidas de la FFT como
la DCT (Discrete Cousine Transform) que
funcionan solo cuando las seales son
pares
Transformada Rpida de Fourier
Historia
Idea
Algoritmo
Tiempo de Ejecucin
Conclusin
Propiedades de la DFT
Propiedades Matemticas
Caractersticas de la Fase
Naturaleza Peridica de la DFT
Compresin y Expansin
Multiplicacin de Seales
(Modulacin)
Relacin de Parseval

Propiedades Matemticas
Linealidad
La transformada de Fourier es lineal ya
que es homognea y aditiva
] [ ] [ ] [ ] [ f mG f kX n mg n kx
Fourier
+ +
Propiedades Matemticas
Propiedades Matemticas
Propiedades Matemticas
A pesar de que la DFT es lineal, no es
invariable en el tiempo
Un desplazamiento en el tiempo no
corresponde a un desplazamiento en la
frecuencia
Propiedades Matemticas
Otras propiedades
* ) ( ) ( ) ( f H f H real t x =
) ( ) ( ) ( ) ( f H f H t h t h = =
) ( ) ( ) ( ) ( f H f H t h t h = =
|
.
|

\
|

a
f
H
a
at h
Fourier
1
) (
) ( * ) ( ) ( ) (
) ( ) ( ) ( * ) (
f H f X t h t x
f H f X t h t x
=
=
Caractersticas de la Fase
Dado:


Entonces


] [ & ] [ ] [ f Phase f MagX n x
Fourier

sf f Phase f Mag s n x
Fourier
t 2 ] [ & ] [ ] [ + +
Caractersticas de la Fase
Un desplazamiento en tiempo
corresponde a sumar un termino lineal a la
fase de la transformada de fourier
Caractersticas de la Fase
Caractersticas de la Fase
Caractersticas de la Fase
Caractersticas de la Fase
Caractersticas de la Fase
Veremos porque se produce este
fenmeno
Comparemos que pasa cuando se
desplaza en tiempo dos sinusoides
de diferente frecuencia
Caracterstica de la Fase
Caracterstica de la Fase
Caractersticas de la Fase
La fase captura la informacin acerca
de los cambios en la seal (su forma)
O sea que contiene informacin
codificada en tiempo
Caractersticas de la Fase
Caractersticas de la Fase
Cuando una seal es simtrica con
respecto a la muestra 0 (muestra
N/2) entonces su fase es 0
Esto se debe a que la fase de la una
mitad cancela a la fase de la otra
mitad
Caractersticas de la Fase
Caractersticas de la Fase
Caractersticas de la Fase
Caractersticas de la fase
Invertir una seal en tiempo,
significa cambiar el signo de la fase
A esto se le llama conjugada
compleja

* ] [ ] [
] [ ] [
f X n x
f X n x
Fourier
Fourier


Caractersticas de la fase
Esto se puede utilizar para calcular la
correlacin

* ] [ ] [ ] [ * ] [ f B f A n b n a
Fourier

Naturaleza Peridica DFT
A diferencia de sus hermanas, DFT
ve tanto el dominio del tiempo como
el de la frecuencia como peridico

Naturaleza Peridica
Cuando aplicamos algn
procesamiento a la seal en
frecuencia, podemos estar
generando una seal de tiempo ms
larga
Al tratar de ponerla en las misma
cantidad de muestras podemos
producir aliasn en el tiempo
Naturaleza Peridica
Compresin y Expansin
La compresin en un dominio resulta
en la expansin en el otro
|
.
|

\
|

a
f
H
a
at h
Fourier
1
) (
Compresin y Expansin
Compresin y Expansin
Compresin y Expansin
Modulacin
Seales de baja frecuencia (audio)
son buenas para comunicaciones a
poca distancia
Seales de alta frecuencia
(radiofrecuencias) son buenas para
comunicaciones a larga distancia
Desearamos mezclar la
caractersticas de estos dos tipos de
seales
Modulacin
Podemos hacerlo mediante un
mtodo llamado modulacin
Tiene que usar un procedimiento no
linear como la multiplicacin
Una de las primeras modulaciones
fue la modulacin de amplitud (AM)
Modulacin
Consiste en multiplicar una seal que
contiene informacin (audio) por otra
que es la portadora (carrier) y
transmitir la seal generada
En el receptor se divide la seal
recibida por la portadora y se obtiene
la informacin
Modulacin
Modulacin
Modulacin
Relacin de Parseval
Dado que el dominio del tiempo y la
frecuencia son solamente maneras
de representar una misma seal
La energa contenida por la seal en
los dos dominios debe ser igual

= =
=
1
0
2 /
0
2 2
] [
2
] [
N
i
N
k
k MagX
N
i x
Pares de la Transformada
Funcin Delta
Pares de la Transformada
Funcin Delta
Pares de la Transformada
Funcin Delta
Pares de la Transformada
Funcin Delta
Pares de la Transformada
Funcin Delta
Pares de la Transformada
Funcin Delta
Pares de la Transformada
La funcin Sinc

) (
) sin(
) (
x
x
x Sinc
t
t
=
Pares de la Transformada
La funcin Sinc

Pares de la Transformada
La funcin Sinc

Pares de la Transformada
La funcin Sinc

Pares de la Transformada
Pares de la Transformada
Pares de la Transformada
Pares de la Transformada
Efecto Gibbs
Cuando una seal se reconstruye con
menos frecuencias de las que tena
originalmente, en los bordes de la seal
se produce rizos y vibraciones
A esto se lo conoce como el efecto Gibbs
en honor a Josiah Gibbs que lo explic en
1899
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Efecto Gibbs
Harmnicas
Si una seal es periodica con frecuencia f,
las unicas frecuencias que componen la
seal son multiplos enteros de f
Estas frecuencias son llamadas
harmnicas.
f es la primera harmnica o frecuencia
fundamental, 2f es la segunda armnica
Harmnicas
Harmnicas
Harmnicas
La Transformada z
De la misma manera que los filtros analgicos
son diseados usando la transformada de
Laplace, los filtros digitales recursivos son
diseados utilizando la transformada z.


La Transformada z
La estrategia de estas transformadas es la
misma, analizar la respuesta a impulso con
sinusoides y exponenciales para encontrar los
polos y ceros del sistema.
La transformada de Laplace trata con
ecuaciones diferenciales, el dominio-s y el
plano-s.
La transformada z trata con ecuaciones de
diferencia, el dominio-z y el plano-z
Transformada de Laplace y z
Transformada Laplace



Transformada z
Planos s y z
Ecuacin Recursiva Sistemas Lineales
Sistema en el Plano-z
Chapter 33- The z-Transform 613
Frequency
0 0.1 0.2 0.3 0.4 0.5
0.0
0.5
1.0
1.5
c. Frequency response
Sample number
0 5 10 15 20 25 30 35 40
-0.5
0.0
0.5
1.0
1.5
b. Impulse response
Im
Re
a. Pole-zero plot
FIGURE 33-3
Notch filter designed in the z-domain. The
design starts by locating two poles and two
zeros in the z-plane, as shown in (a). The
resulting impulse and frequency response
are shown in (b) and (c), respectively. The
sharpness of the notch is controlled by the
distance of the poles from the zeros.
A
m
p
l
i
t
u
d
e
A
m
p
l
i
t
u
d
e
r ' 1
B/4
r ' 0.9
In rectangular form: In polar form:
z
1
' 1.00e
j (B/4)
z
2
' 1.00e
j (&B/4)
p
1
' 0.90e
j (B/4)
p
2
' 0.90e
j (&B/4)
z
1
' 0.7071 %j 0.7071
z
2
' 0.7071 & j 0.7071
p
1
' 0.6364 %j 0.6364
p
2
' 0.6364 & j 0.6364
write down the transfer function in the form of Eq. 33-4, (3) rearrange the
transfer function into the form of Eq. 33-3, and (4) identify the recursion
coefficients needed to implement the filter. Fig. 33-3 shows the example we
will use: a notch filter formed from two poles and two zeros located at
To understand why this is a notch filter, compare this pole-zero plot with Fig.
32-6, a notch filter in the s-plane. The only difference is that we are moving
along the unit circle to find the frequency response from the z-plane, as
opposed to moving along the vertical axis to find the frequency response from
the s-plane. From the polar form of the poles and zeros, it can be seen that the
notch will occur at a natural frequency of , corresponding to 0.125 of the B/4
sampling rate.
Sistema en el Plano-z
Sistema en el Plano-z

You might also like