Sei sulla pagina 1di 40

1

ELT 3952 PROCESAMIENETO DIGITAL DE SEALES


CAPITULOS
1) Seales y sistemas en tiempo discreto
2) Convolucin
3) Transformada Z
4) Teorema del muestreo
5) Conversores A/D y D/A Sigma
6) Transformada discreta de Fourier
7) Transformada rpida de Fourier
8) Tcnica de diseo de filtros.


BIBLIOGRAFIA

1) Tratamiento de Seales en Tiempo Discreto. Alan Oppenheim, et al
2) Tratamiento Digital de Seales Proakis Manolakis
3) The Scientist and Engineers Guide Steven W. Smith
4) Anlisis de Fourier Hwei Hsu




2

Capitulo 1: SEALES Y SISTEMAS

Seal.-
Es algo que lleva informacin, una seal se representa matemticamente como funciones de una
o ms variables independientes por ej. Voz=f(t).
Imagen fotogrfica = funcin de brillo respecto a dos variables espaciales.
La variable independiente puede ser continua o discreta.
1.- Seal en tiempo continuo es continua en sentido temporal y es una variable independiente
continua (seal analgica)
2.- Seal en tiempo discreto est representado en instantes discretos de tiempo o sea la variable
independiente toma valores discretos o se representan como secuencias de nmeros y su
amplitud tambin puede ser continua o discreta.
Sea digital es discreta tanto en tiempo como en amplitud.
Secuencias.-
Son seales en tiempo discreto y son secuencias de nmeros x en los que el n-simo nmero indica
como x[n] y se representa.


Estas secuencias surgen de muestrear una seal analgica siendo el n-simo nmero de la
secuencia el valor de la seal analgica X
a
(t) en el intervalo nT.
O sea: x[n]=X
a
(nT) en el intervalo
T es el periodo de muestreo 1/T = f muestreo

En forma grfica

Figura 1


X[n] no est definida para valores no enteros de n


Secuencias bsicas y operaciones bsicas
El producto y la suma de secuencias x[n] y y[n] son tambin producto y suma muestra a muestra.
X[n] *
Cada muestra se multiplica por
y[n] se retrasa respecto a x[n]
si y[n]=x[n-n
0
] n
0

1.- Secuencia muestra unidad
Esta secuencia juega el mismo papel que la funcin Impulso Unidad (Delta Dirac) para tiempo
continuo.
Se la llama tambin Impulso en tiempo discreto. Cualquier secuencia se puede expresar como
una sumatoria de impulsos desplazados y escalados.
Ej. P[n]
Figura 4
Se puede expresar como
P[n]=a
Generalmente

2.- Escaln Unidad.-


3
Figura 2

Secuencias bsicas y operaciones bsicas.-
secuencias x[n] y y[n] son tambin producto y suma muestra a muestra.
Cada muestra se multiplica por .
y[n] se retrasa respecto a x[n]
Secuencia muestra unidad.-


Figura 3
Esta secuencia juega el mismo papel que la funcin Impulso Unidad (Delta Dirac) para tiempo
Se la llama tambin Impulso en tiempo discreto. Cualquier secuencia se puede expresar como
una sumatoria de impulsos desplazados y escalados.
P[n]=a
-3
[n+3] + a
-1
[n-1] + a
-2
[n-2] + a
-7
[n-7]



Figura 5
secuencias x[n] y y[n] son tambin producto y suma muestra a muestra.

Esta secuencia juega el mismo papel que la funcin Impulso Unidad (Delta Dirac) para tiempo
Se la llama tambin Impulso en tiempo discreto. Cualquier secuencia se puede expresar como
4




U[n]=[n] + [n-1] + [n-2] + ..


Recprocamente
[n]=u[n] - u[n-1]

3.- Secuencia Exponencial.-


La secuencia es real si y A
Si 0<<1 y A 0
La secuencia es positiva y decrece al incrementar n


Figura 6

Si -1<<0 los valores alternan el signo y el mdulo decrece al aumentar n
Si || 1 el mdulo de los valores de la secuencia crece al aumentar n.

Combinacin de secuencias bsicas.-
Si queremos una funcin
xn

0
0 0


Se puede lograr de un modo simple como:
X[n]=

combinacin

4.- Secuencias senoidales.-
X[n]=A cos(W
0
n+) n

A y
5


Figura 7

Si

con tiene parte Real e Imaginaria. Son sinusoides ponderadas exponencialmente.


Si ||

y A=||

||

. ||

|| ||

|| ||

cos

|| ||


Si || 1 envolvente exponencial creciente
Si || 1 envolvente exponencial decreciente
Y

= ||=1 secuencia exponencial compleja


||

= || cos

||

frecuencia de la sinusoide compleja en radianes.


fase
Practica No. 1
Graficar todas las secuencias bsicas en Excel o Matlab.

Sistemas en tiempo discreto.-
Un sistema en tiempo discreto se define como una transformacin u operador que transforme una
secuencia x[n] en una secuencia de salida y[n]
y[n]=T{x[n]}
x[n]=
figura 8
Ejemplo un sistema de retardo ideal.
y[n]=x[n-n
d
]
n
d
>0 nd muestras a la derecha.
Si n
d
<0 |

| muestras a la izquierda entonces se trata de avance temporal.


Sistemas sin memoria.-
Si su salida n depende solo de la entrada en el mismo valor n
Ej. y[n]= (x[n])
2
n
Sistemas lineales.-
Son sistemas que estn definidos por el principio de superposicin.
Si y
1
[n] e y
2
[n] si son las respuestas de un sistema cuando x
1
[n] e x
2
[n] el sistema es lineal si y solo
si
T{ x
1
[n]+ x
2
[n]}= T{ x
1
[n]} + T{ x
2
[n]}= y
1
[n]+ y
2
[n]

Y T{ ax
1
[n]} = aT {x
1
[n]} = ay[n]
Donde a es una constante
6


Sistema acumulador.-


Este sistema es lineal

Un sistema no lineal.
y[n]=log10 (||)

Sistemas invariantes en el tiempo.-
Tambin llamado sistema invariante en el desplazamiento (shift invariant) es un sistema para el
que un desplazamiento temporal o retardo de la secuencia de entrada provoca el mismo
desplazamiento o retardo en la secuencia de salida.
Si x
1
[n]= x[n-n
0
] entonces y
1
[n]= y[n-n
0
]

Prctica.- Enumerar algunos sistemas lineales y no lineales, graficar las secuencias ya sea en Excel
o matlab.
Causalidad.-
Para todo no valor de secuencia de salida en el ndice n=n
0
depende de solo valores de secuencia
de entrada para n> n
0
, es no anticipativo, esto implica que si
x
1
[n]= x
2
[n] nn
0

entonces y
1
[n]= y
2
[n] nn
0
Ejemplo.-
y[n]= x[n-n
d
]
Este sistema es causal para n
d
0 y no causal para n
d
<0

Sistemas LTI.-
Esta combinacin de dos propiedades conduce a representaciones especialmente convenientes de
los sistemas que los cumplen. Existen muchas aplicaciones en el tratamiento de seales.
1) Superposicin.-
T{ ax
1
[n]+b x
2
[n]}= aT{ x
1
[n]} + bT{ x
2
[n]}

2) Linealidad.- Mas combinacin de impulsos retrasados. Un sistema lineal queda
caracterizado por su respuesta al impulso.
h
k
[n]= respuesta del sistema a la entrada un impulso en n=k
Entonces
y[n]=T{


y[n]=


y[n]=


Sistema LTI

Linear Time Invariant
Dicha ecuacin se puede llamar ecuacin de convolucin
y[n]=x[n]*h[n]

Respuesta al Impulso.-
La anterior ecuacin nos da una
por x[n] es transformada por el sistema en una secuencia de salida
y que para cada valor de k estas secuencia se superponen para formar la
secuencia total de salida.
x[n] es la suma de las tres secuencias individuales
x[-2] x[0]
x
-2
[n]=
X
0
[n]=
X
3
[n]=
7
Dicha ecuacin se puede llamar ecuacin de convolucin
La anterior ecuacin nos da una interpretacin de que la muestra de entrada en n=k representada
es transformada por el sistema en una secuencia de salida
y que para cada valor de k estas secuencia se superponen para formar la
Figura 9
x[n] es la suma de las tres secuencias individuales
x[3]
y
-2
Figura 10
[n]= y
0


Figura 11
[n]= y
3
Figura 12



interpretacin de que la muestra de entrada en n=k representada
para
y que para cada valor de k estas secuencia se superponen para formar la






8


x[n]=x
-2
[n]+x
0
[n]+x
3
[n] y[n]=y
-2
[n]+y
0
[n]+y
3
[n]
Figura 13

9

Capitulo 2: CONVOLUCION

Haciendo un resumen de cmo trabaja el sistema, el sistema cambia una seal de entrada en una
seal de salida.
Primero, la seal de entrada se descompone en un juego de impulsos, cada uno de los cuales
pueden ser vistos y escalados y desplazados por una funcin .
Segundo, la salida resultante de cada impulso se escala y desplaza segn la respuesta impulso.
Tercero, la seal de salida resultante se encuentra aadiendo cada una de estas respuestas
escaladas y desplazadas individuales.
Este es un mtodo grafico para realizar la convolucin pero primero veremos lo que es la suma de
convolucin.
Se demuestra que: h[n-k]=h[-(k-h)]
Si

h[k]
Figura 14


h[-k]=h[0-k]
Figura 15


h[n-k]=h[-(k-n)] (lqqd)
Figura 16
Resumiendo los tres pasos anteriores
1) Si h[k] es una secuencia y deseamos calcular h[n-k]=h[-(k-n)], se define h
1
[k]=h[-k]
2) Se define h
2
[k]=h
1
[k]retrasada n muestras en el eje k es decir h
2
[k]=h
1
[k-n]
3) Se demuestra la relacin entre h
1
[k] y h[k] h
2
[k]=h
1
[k-n]=h[-(k-n)]
Para realizar la convolucin en tiempo discreto se multiplican dos secuencias x[n] y h[n-k] en
y se suman los productos para obtener la salida y[n]. Para obtener otra
muestras de salida se desplaza el origen de la secuencia h[-k] hasta la posicin de la nueva
muestra y se repite el proceso.
10

Mtodo grfico.-
Haremos un ejercicio con un mtodo grfico de resolucin.
Halle la convolucin de la respuesta al impulso de un sistema lineal e invariante en el tiempo
H[n]={1,2

,1,-1}
Y la seal de entrada es x[n]= {1

,2,3,1}
La flecha indica la posicin 0 en el eje n
1.- El primer paso, reflejamos h[k], la secuencia reflejada h[-k] es la resultante secuencia finita.



h[k] x[k]
Figura 17
2.- Reflejamos Multiplicamos x[k] punto a punto



h[-k] V
0
[k]
Figura 18
Donde V
0
[k]=x[k].h[-k]
3.- Reflejamos h[-k]


h[1-k] v
1
[k]
Figura 19
Donde V
1
[k]=h[1-k].x[k]

4.- Desplazamos a la izquierda

h[-1-k] V
-1
[k]
Figura 20
Donde V
-1
[k]=h[-1*k].x[k]
11

5.- Seguimos desplazando tanto a la derecha como a la izquierda hasta tener resultantes = 0 luego
se hace la suma general.

y[n]
Figura 21

Donde


y[1]=8, y[-1]=1, y[n]=0 para n-2
entonces y[n]={,0,0,1,4

,8,8,3,-2,-1,0,0,.}
Debemos sealar que la convolucin es conmutativa, o sea que se puede desplazar tanto la
respuesta al impulso o la secuencia de entrada.
Procedimiento.-
1.- Reflexin h[k] respecto a k0 hasta h[-k]
2.- Desplazamiento de h[-k] una cantidad n
0
hacia derecha o izquierda, si n
0
es positivo (negativo)
para obtener h[n
0
-k]
3.- Multiplicacin de x[k] por h[n
0
-k] para obtener una secuencia producto.
V
n0
[k]=x[k]h[n
0
-k]
4.- Suma de todos los valores de la secuencia producto V
n0
[k] para obtener el valor de la salida en
el instante n=n
0
.
Se evala en n= n
0
y en todos los valores y se repite puntos 2 y 4 para todos los
posibles valores de desplazamiento temporal

Mtodo de la tira deslizante.-
Tambin llamado Sliding Strip Method, este mtodo es para secuencias finitas y al igual que en el
otro mtodo se hace el reflejo de una de ellas luego se alinea las secuencias y se suman y
desplazan sucesivamente, veremos un ejemplo para notar mejor este procedimiento.
Sea h[n]={2,5,0,4}, x[n]={4,1,3}, ts=1/2. Las dos secuencias comienzan en n=0.
Se hace el reflejo de una de ellas, x[-n]={3,1,4}.
Se alinea las secuencias y se suman y desplazan sucesivamente.

t=0

t=t
s


t=2t
s



h

2 5 0 4

2 5 0 4

2 5 0 4

k 3 1 4

3 1 4

3 1 4


0 0 8 0 0 0

0 2 20 0 0

6 5 0 0


suma=8

suma=22

suma=11


Ys(0)=8. 1/2=4

Ys(1)=22. 1/2=11.5 Ys(2)=11. 1/2=5.5
12



t=3t
s




t=4t
s




t=5t
s



h 2 5 0 4

2 5 0 4

2 5 0 4

k 3 1 4

3 1 4

3 1 4

0 15 0 16

0 0 0 4 0

0 0 0 12 0 0

suma=31

suma=4

suma=12


Ys(3)=31. 1/2=15.5 Ys(4)=4. 1/2=2

Ys(5)=12. 1/2=6


Figura 22

La convolucin discreta y[n] es {8,22,11,31,4,12}. La convolucin numrica es {4,11,5.5,15.5,2,6}.

Mtodo de las Suma por Columnas.-

Se hace el mismo ejemplo. No es necesario reflejar una de las secuencias.
n 0 1 2 3 4 5
h 2 5 0 4

x 4 1 3

8 20 0 16


2 5 0 4

6 15 0 12
y 8 22 11 31 4 12
Figura 23

8,22,11,31,4,12, 0,1,2, 5

Mtodo de la malla.-



2 5 0 4


8 20 0 16 4

8 2 5 0 4 1 x[n]
22 6 15 0 12 3

11 31 4 12
Figura 24

8,22,11,31,4,12, 0,1,2, 5
En este mtodo se colocan las dos secuencias en los dos ejes de una matriz que se forma de
acuerdo al tamao de las dos secuencias y se van multiplicando casilla a casilla h[n] con x[n], los
resultados se colocan en cada casilla y luego se suman en forma diagonal todos los componentes y
la suma general se va colocando en los ejes opuestos a las secuencias.
Convolucin en Matlab.-
13

Matlab dispone de dos funciones para el clculo de convoluciones y correlaciones.
>>y=conv(x,h)
Convolucin de dos vectores x y h. El vector resultante y tiene un tamao igual a length(x) +
length(h)-1.
>>rxy=xcorr(x,y)
Hace la correlacin de los vectores de M elementos x e y. Devuelve un vector de 2M-1 elementos.
>>rxx=xcorr(x)
Hace la autocorrelacin del vector x de M elementos. Devuelve un vector de 2M-1 elementos.
Correlacin y autocorrelacin.-

Es una operacin similar a la convolucin, con la diferencia de que en la correlacin nohay que
reflejar una de las seales.
Rxy(t)=x(t)**y(t)=


Relacin entre la convolucin y la correlacin
Rxx(t)=x(t)**x(t)=



La autocorrelacin representa la similitud entre una seal y su desplazada. El mximo de
autocorrelacin ocurre cuando no hay desplazamiento (t=0) y es simtrica respecto al origen, ya
que Rxx(t) = Rxx(-t)
Ejercicio para los alumnos.-
Realiza la convolucin y[n] por el mtodo grfico de x[n]=(1

,2) y h[n]=(2

,1,1,1).

Capitulo 3: TRANSFORMADA Z
Esta transformada es una herramienta muy importante para el anlisis de seales y sistemas LTI.
La Transformada Z realiza el mismo papel en seales discretas lo que la transformada de Laplace
para las seales continuas.
Por ejemplo, la convolucin, el tiempo es equivalente a producto en la transformada Z.
La transformada Z proporciona un medio de caracterizar a los sistemas LTI y su respuesta a
diversas seales mediante las posiciones de polos y ceros.
Concepto.-
Si X(n) es una seal discreta en el tiempo entonces


Z es variable compleja esta es la transformada directa.
Ejemplo: Si x(n)=(1

,2,5,7,0,1) una secuencia finita.


X(Z)= 1+2Z
-1
+ 5Z
-2
+ 7Z
-3
+ Z
-5

Su regin de convergencia ROC es el plano Z complejo excepto en Z=0.
ROC.-
La regin de convergencia es un conjunto de todos los valores de Z para los que X(Z) toma valor
finito.
14

La variable compleja Z en forma polar


||


||


|


Figura 25

Pero ||



Desde el punto de vista matemtico la Transformada Z es una representacin alternativa de una
seal como


Los coeficientes de

corresponden al valor de la seal en el instante n o sea el exponente de Z


contiene la informacin temporal que se necesita para identificar las muestras de la seal.
Ejemplo.-

Nmero infinito de valores diferentes a 0


x(n)=1, (1/2), (1/2)
2
, (1/2)
3
,, (1/n)
n
}
X(z)= 1 + ()Z
-1
+ ()
2
Z
-2
+ + ()
n
Z
-n


1
2



1
2


Esta es una serie geomtrica infinita de la forma
1+A+A
2
+A
3
++A
n
=

si || 1
Luego

1 ||


Esto se llama una alternativa compacta de la seal x(n).
Propiedades de la Transformada Z.-
15

1.- Linealidad.-
Si x
1
(n) X
1
(Z)
Y x
2
(n) X
2
(Z)
Entonces x(n)=a
1
x
1
(n)+a
2
x
2
(n) a
1
X
1
(Z)+a
2
X
2
(Z)
Ejemplo.-
Si x(n)=[3(2
n
)-4(3
n
)]u(n)
Determinar la Transformada Z y su ROC
x
1
(n)=2
n
u(n)
x
2
(n)=3
n
u(n)
x(n)= 3x
1
(n)-4x
2
(n)
X(Z)= 3X
1
(z) 4X
2
(Z)

Como a
n
u(n)


ROC= || ||
a=2 a=3
x
1
(n)=2
n
u(n) X
1
(Z)=

|| 2
x
2
(n)=3
n
u(n) X
2
(Z)=

|| 3
X(Z)=

ROC = || 3
2.- Desplazamiento temporal.-
Si x (n) X (Z)
x(n-k) Z
-k
x(z) ROC x(Z) excepto en z=0 si k>0 y z= si k<0

3.- Cambio de escala en el dominio Z.-
Si x (n) X (Z) ROC

||


a
n
x(n) x(

) ROC ||

|| ||


4.- Inversin temporal.-
Si x (n) X (Z) ROC

||


x(-n) X(Z
-1
) ROC


||



5.- Diferenciacin en el dominio Z.-
Si x (n) X (Z)
nx(n)


6.- Convolucin.-
Si x
1
(n) X
1
(Z)
Y x
2
(n) X
2
(Z)
X(n)=x
1
(n)*x
2
(n) X(Z)=X
1
(Z).X
2
(Z)
Ejercicios para el alumno.-
Realizar las siguientes transformadas.-
1) x(n)={1,2,5

,7,0,1}
2) x(n)={0

,0,1,2,5,7,0,1}
16

3) x(n)={2,45

,70}
4) x(n)=(n)
5) x(n)= (n-k) k>0
6) x(n)= (n+k) k>0



17

Capitulo 4: MUESTREO DE SEALES EN TIEMPO CONTINUO
Las seales en tiempo discreto aparecen de varias formas, una de ellas es que aparezcan como
consecuencia del muestreo de seales en tiempo continuo.
Seal continua muestreo seal en tiempo discreto
Muestreo peridico, a partir de una seal continua, se obtienen secuencias de muestras x[n]
mediante la relacin:
X[n]=x
c
(nT)
T es el periodo de muestreo y f
s
=1/T es la frecuencia de muestreo [muestras/seg].
Cuando se desea usar unidades en radianes por segundo s=2/T, es la frecuencia de muestreo.
Este proceso se denomina C/D o conversor ideal de tiempo continuo en tiempo discreto.
En la prctica este proceso se realiza por un ADC (conversor Anlogo digital)
El muestreo no es invertible.
El muestreo se puede representar dividindola en dos etapas.








Figura 26
1.- Modulador con un tren de impulsos
2.- Conversin del tren de impulsos en una secuencia.

Aqu se muestra una seal de tiempo continuo Xc(t) y el resultado de muestrearla con un tren de
impulsos para dos frecuencias de muestreo diferentes y sus secuencias de salida respectivas.


Figura 27
La secuencia de nmeros x[n] no contiene informacin sobre la frecuencia de muestreo.
Xs(T) es seal continua(tren de impulsos) que es cero excepto en mltiplos enteros de T.
x[n] est indexada con la variable entera n, es decir normalizado en el tiempo.
Representacin del muestreo en el dominio de la frecuencia.-
Conversin de tren de impulsos a
secuencia en tiempo discreto.
S(t)
Xc(t)
Xs(t)
X[n]=Xc(nT)
18


Para obtener una relacin entre la entrada y la salida de un conversor C/D ideal en el dominio de
la frecuencia, se considera la conversin de Xc(t) en Xs(t) mediante la modulacin con el tren de
impulsos.


(t) funcin impulso unitario o delta Dirac. Si modulamos (t) con Xc(t)
X
s
(t)=X
c
(t)s(t)
X
s
(t)=xc(t)


Xs(t)=


Propiedad de desplazamiento
Transformando con Fourier Xs(t)
Como Xs(t)=xc(t)s(t)
Sus transformadas se pueden convolucionar

2


s=2/T frecuencia de muestreo en radianes

1
2

Convolucin

1

ks


Es decir que la transformada de Xs(t) consiste en copias repetidas en forma peridica de la
transformada de Fourier de Xc(t)


Figura 28

Espectro de la seal original.


Figura 29
Espectro de la funcin de muestreo
19



Figura 30

Espectro de la seal muestreada con s>2
N

Entonces s-
N
>
N
del grafico o sea
s >2
N
Es decir que la frecuencia de muestre debe ser al menos dos veces la frecuencia de la seal
muestreada
N
.
Esas rplicas no se solapan, por tanto la seal Xc(t) se puede recuperar con un filtro paso bajo.


Figura 31
Espectro de la seal muestreada con s >2
N
. Existe solapamiento (aliasing) de las copias, de tal
forma que al sumar, ya no se puede recuperar la seal Xc(t) original.
Xc(t) se puede recuperar a partir de Xs(t) con un filtro paso bajo.








Figura 32

Figura 33

(
S
-
N
)
Figura 34
H
r
(j)
Xc(t)

Xr(t) Xs(t)
Hc(j)
20


Figura 35
Seal recuperada con el filtro pasobajo
Xr(j)=Xc(j)

2.- Caso de transformada de Fourier de una seal coseno.-
Xc(t) = Cos ot
Primero se muestra la transformada de Fourier de dicha seal, primero con una frecuencia de
muestreo o <
s
/2 y luego o >
s
/2.

Figura 36
Transformada de Fourier de cos ot

o</T=
s
/2
Figura 37
Cuando o <
s
/2

o>/T=
s
/2
Figura 38
Cuando o >
s
/2
o</T
Figura 39
Reconstruccin de la seal cuando o <
s
/2


21

Figura 40
Reconstruccin de la seal cuando o >
s
/2

Reconstruccin de la seal cuando o >
s
/2, la seal reconstruida en el primer caso es
Xr(t)= cos o t y en el segundo grfico Xr(t)=cos (
s
- o)t Estas son seales diferentes alias de baja
frecuencia.
Con este ejemplo se ve la base del teorema de muestreo o de Nyquist o Shannon que dice:
Si Xc(t) es la seal de banda limitada que cumple que Xc(j)=0 para ||
N
Xc(t) estar
determinada de forma nica por sus muestras x[n]=Xc(nT) para n=0, 1, 2, 3, 4,.
Si se cumple que


2
N
debe ser menor que la frecuencia de muestreo se denomina frecuencia de Nyquist. Como

1

ks


Y = T escalado, entonces

2k
T


Y = s en Xs(j ) se convierte en = 2 en X(

)
Ejemplo de muestreo y reconstruccin de una seal senoidal.-
Si Xc(t)=cos(4.000 t) y la muestreamos con un periodo T de muestreo T= 1/6.000 obtenemos la
seal x[n]=xc(nT) = cos (4.000 Tn)= cos(
o
n) con
o
= 4.000T= 2/3
En este caso s=2/T = 12.000 y la frecuencia ms alta de la seal es o= 4.000 y se satisfacen
las condiciones de un muestreo de Nyquist y no hay solapamiento.
La transformada de Fourier de Xc(t) en tiempo continuo.
Xc(j )= (-4.000 )+ (+4.000 )


Transformada de Fourier de Xc(t) en tiempo continuo
Figura 41


Transformada de Fourier en tiempo discreto de frecuencia = o=4.000 con T=1/6.000
Figura 42

22

Se ve que Xc(j ) es una pareja de impulsos situados en =4.000 y que aparecen copias de la
transformada de Fourier centradas en s, 2s, etc. El segundo prrafo muestra a X(

)= Xc(j
/T) en funcin de la frecuencia normalizada = /T; (/T T (
o=4.000= o=4.000 T=2 /3 o< , o=4.000 < ; o=4.000< /T=6.000
Hr(j) es el filtro de reconstruccin ideal para s=12.000
Se reconstruye con una frecuencia igual a o=4.000 que es la frecuencia original y no existe
solapamiento.



Capitulo 5: CONVERSORES DIGITAL ANALOGO Y ANALOGO DIGITAL
El proceso de conversion A/D se puede desglosar en dos etapas: muestreo y cuantizacin.
La primera etapa sera la de muestreo y mantenimiento S/H Sample and Hold donde la
informacin analgica es la instantnea a medida que se le va muestreando.


Figura 43
Entre la seal digital y la seal muestreada existe un error que se le llama error de cuantificacin,
que puede ser 1/2 LSB, el cual a veces se puede tomarlo como ruido aditivo a la seal.
Por ejemplo si tenemos una seal con una amplitud mxima de 1 volt y un ruido random de 1
mV.rms. Al digitalizar esta seal en 8 bits resulta que 1 volt es 255 y 1 mV llega a ser 0.255 LSB. Las
seales de ruido ase aaden a la seal como varianza aditiva en cuadratura es decir

. Entonces el ruido total en la seal digitalizada est dada por


0.386 0.255

0.29

, esto incrementa casi en 50% al ruido existente en la seal.


23

Al digitalizar esta misma seal pero en 12 bits no se produce virtualmente ningn incremento y
por tanto nada se pierde debido a las cuantizacin.
Por tanto se debe decidir en cual utilizar preguntndose si cuanto ruido existe ya en la seal
analgica y/o cuanto ruido se puede tolerar en la seal digital.
En algunos sistemas sin embargo, debido a la seal original que varia muy poco, se puede aadir
un poco de ruido intencionalmente de forma que en el proceso de cuantizacin la seal contenga
mas informacin (dithering). Esto puede aadirse con un generador de ruido randomico.
Luego de la digitalizacin, la computadora puede restar estos nmeros randmicos (substractive
dither) para recuperar la seal original.
Conversin D/A.-
Este proceso trata de jalar las muestras realizadas de la memoria y convertirlas luego en un tren
de impulsos. Como electrnicamente es difcil generar los pulsos se necesita de un elemento que
es el retenedor de orden cero, que es el equivalente al S/H de los ADC, esto produce una seal
como gradas durante el proceso.


Figura 44
En el dominio de la frecuencia, el retenedor de orden cero resulta en el espectro del tren de
impulsos que esta multiplicado por una curva que se la llama funcin sin o sinc(x).

sin

/

Esta funcin puede ser entendida como la convolucin del tren de impulsos con un pulso
rectangular que tiene un ancho igual al periodo de muestreo.
24


Espectro del tren de impulsos Espectro multiplicado por Sinc

Filtro de reconstruccin ideal 1/sinc Espectro reconstruido (regenerado)
Figura 45

Filtros analgicos para la conversin de datos.-
Este es un sistema DSP ideal como lo dicta el teorema del muestreo de Nyquist.




Figura 46

El filtro antialiasing remueve frecuencias encima de la velocidad de muestreo antes de llevarlo al
ADC para prevenir el solapamiento.
El segundo filtro remueve frecuencias hasta la frecuencia de Nyquist para reconstruir la seal, se le
llama filtro de reconstruccin y este incluye la frecuencia retenedora de orden cero.
Los tipos de filtros son los comunes Chebyshev, Butterworth y Bessel (Thompson), los cuales se
pueden ajustar mediante el nmero de polos y seros. Ms polos y ceros significan ms electrnica,
y lgicamente mejor rendimiento.
Para propsitos de DSP, es ms importante las caractersticas del filtro que como se las
construye.
Este es un punto fijo de filtro analgico que se describe a continuacin.
Entrada
analgica
Entrada
analgica
filtrada
Entrada
Digitalizada
Salida
digitalizada
Salida
analgica
S/H
Salida
analgica
25


Figura 47
Circuito Sallen Key de dos polos paso bajo



Por ejemplo se utiliza la siguiente tabla para encontrar los diferentes parmetros.
Bessel Butterworth Chebyshev
# de polos K1 K2 K1 K2 K1 K2
2 etapa 1 0.1251 0.268 0.1592 0.586 0.1293 0.842
4 etapa 1 0.1111 0.084 0.1592 0.152 0.2666 0.582
4 etapa2 0.0991 0.759 0.1592 1.235 0.1544 1.660
6 etapa 1 0.0990 0.040 0.1592 0.068 0.4019 0.537
6 etapa 2 0.0941 0.364 0.1592 0.586 0.2072 1.448
6 etapa 3 0.0834 1.023 0.1592 1.483 0.1574 1.846
8 etapa 1 0.0894 0.024 0.1592 0.038 0.5359 0.522
8 etapa 2 0.0867 0.213 0.1592 0.337 0.2657 1.379
8 etapa 3 0.0814 0.593 0.1592 0.889 0.1848 1.711
8 etapa 4 0.0726 1.184 0.1592 1.610 0.1582 1.913
Tabla 1

Ejemplo.- Para disear un filtro Butterworth de dos polos a 1 Khz localizamos la tabla y nos da
k1=0.1592 y k2=0.586, seleccionamos valores comerciales para R y C empezando por R1=10K y
C=0.0.1F, de donde R=k1/Cfc= 0.1592/0.01*1 Khz=15.95 k.
Con resistencias comerciales a 1% se tiene R
f
=5.9 k y R=15.8 k
El amplificador operacional no es crtico pero su ganancia se debe dar entre 30 y 100 ms alta de
la fc, siempre que fc sea menor a 100Khz.
Para formar filtros de 4,6 y 8 polos, se coloca el mismo circuito Sallen-Key en cascada y las etapas
se numeran de izquierda a derecha, si se necesita un filtro paso alto entonces solo debe
intercambiarse R y C.
Ahora se debe analizar 3 caractersticas clsicas de los filtros.
1.- Frecuencia de corte Fc chebyshev es mejor, butterworth es peor y Bessel el peor.
26

2.- Rizado o sea variaciones en forma de ondas en la amplitud de las frecuencias que pasan
Chebyshev permite, Butterworth permite y Bessel no permite.
3.- Respuesta al escaln, Chebyshev tiene overshoot y rizado, Butterworth tiene overshoot y
ringing, la que son oscilaciones que lentamente decrecen en amplitud, Bessel no tiene.
Resumiendo Chebyshev optimiza la rectitud de la banda pasante y Bessel optimiza la respuesta al
escaln.
Para elegir hay que ver la aplicacin, si la codificacin es en el dominio del tiempo o de la
frecuencia.
Conversin de datos a multivelocidad.-
Cuando se trata de reemplazar circuitos analgicos en algoritmos digitales se utiliza la conversin
de datos.
Ejemplo.- Si capturamos frecuencias de voz de banda entre 100 y 3000 Hz pero el micrfono
introduce frecuencias de 40 Khz. Aplicando framente la tcnica, es de pasar un filtro Chebyshev
de8 polos a 3 Khz y luego muestrear a 8 Khz. Al otro lado, el DAC reconstruye la seal a 8 Khz con
un retenedor de orden cero y otro filtro Chebyshev a 3 Khz para producir la seal original.
Pero la otra solucin sera muestrear la voz a 64 Khz y el filtro pasa bajo a 3 Khz y rechaza
frecuencias por encima de los 32 Khz, igualmente al otro lado. Pero el filtro esta vez es solo un
arreglo RC. Otro nivel sera el de tcnica multivelocidad en donde se pasa la seal de voz por un
filtro RC y muestrear a 64 Khz, la seal as tiene la informacin de 100 a 3 Khz.
Luego remover frecuencias indeseables por software, con un filtro paso bajo digital a 3 Khz.
Por ltimo, remuestrear dicha seal de 64 Khz a 8Khz simplemente descartando 7 de cada 8
muestras (decimacin).
El resultante es equivalente al producido por un filtro analgico a 8 Khz
Conversin de datos a un solo bit.-
Esto se usa en msica de alta velocidad DAC y ADC de simple bit, y usa el modulador DELTA.
Modulador DELTA.-

Figura 48
El comparador decide cual tiene mayor voltaje y se forma un 0 o un 1 que se aplica a la entrada del
latch, el reloj a 100 Khz sincroniza el latch de modo que la salida da 0 o 1 y carga ya sea
positivamente o negativamente al capacitor C por pequeos montos de voltaje (mV) , el positivo
aumenta la carga al capacitor y el negativo lo disminuye
27



Figura 49
El nmero relativo de unos Vs. Ceros es directamente proporcional a la pendiente o derivada de la
seal de entrada analgica.
Desventaja.- Hay que muestrear a altas velocidades ejemplo la voz a 64 Khz no es comercial.
Pendiente Delta de variable continua.-
Para solucionar el problema anterior esta tcnica se implemento por Motorola MC3518. El reloj y
el tamao de la cuantizacin se colocan entre 30 Khz y 2000 niveles, el slew rate muy pronunciado
y un registro chequea los ltimos 4 bits que produce el sistema.
Si el circuito esta en condicin de slew rate limitada, y los ltimos 4 bits sean todos 1 (pendiente
positiva) o todos 0 (pendiente negativa) y un circuito lgico detecta esto y produce una seal
analgica que incremente el nivel de carga producido por los inyectores.

Figura 50
Este filtro y lgica mejoran el slew rate mientras dure la condicin de pendiente, la lgica
incrementa el nivel de carga de los inyectores. Esto amplifica el slew rate incrementando el
tamao de los escalones de voltaje aplicados al capacitor.

28

Convertidor Delta Sigma.-

Figura 51
Este circuito combina electrnica analgica con algoritmos DSP. El capacitor se compara con
potencial de tierra y el voltaje decrece cuando la salida digital es 1 e incrementa su salida digital si
es 0.
Se trata de mantener el voltaje en el capacitor a 0 volts.
El numero de 1 y 0 entonces ya no es pendiente sino nivel del voltaje de entrada.
Ej.- Si tenemos 12 bits entonces en 4096 ciclos de reloj contamos el numero de unos y el nmero
4095 es igual al mximo nivel positivo y 0 es el mximo nivel negativo de voltaje.
2048 seria el cero.
Para reconstruir esta seal de 1 y 0 se requiere un filtro RC y saca un promedio por ejemplo si un
uno = 5 volts y cero = 0 volts, si el 80% de los bits en la serie de datos son 1 y 20% ceros entonces
el Capacitor se carga a 4 Volts.
El decimador reduce la velocidad de muestreo el cual descarta la mayora de las muestras.

Capitulo 6 LA TRANSFORMADA DISCRETA DE FOURIER

Como se vio en anteriores temas, el muestreo en el dominio del tiempo de una secuencia
aperidica de energa finita x(n), nos lleva directamente al concepto de la TDF, las muestras en
frecuencia espaciadas X(2k/N) con k=0,1,2,3,.N-1, no representan a la secuencia original x(n)
cuando esta tiene duracin infinita. En lugar, las muestras en frecuencia X(2k/N) con
k=0,1,2,3,.N-1 corresponden a una secuencia peridica x
p
(n) de periodo N, esta x
p
(n) es una
versin con aliasing o solapamiento de x(n)


Y si la secuencia tiene una longitud finita L N, entonces x
p
(n) es una repeticin peridica de x(n)
donde esta se da en un solo periodo por


0 1
0 1

Por tanto dichas muestras representan la secuencia de duracin finita x(n) que se pueden obtener
de las muestras en frecuencia por medio de
29

0,1,2. 1
Hay que hacer notar que el rellenado con ceros no da informacin adicional acerca del espectro
de la seal X()). Las L muestras equidistantes de X() son suficientes para reconstruir X()
usando las formula de reconstruccin
X X
2
N
k P
2
N
k


Resumiendo la secuencia de duracin finita x(n) de longitud L tiene una transformada de Fourier
X xn e

0 2
Si muestreamos X() en frecuencias igualmente espaciadas
k
=2kn/N, k=0,1,2,N-1 donde NL
las muestras resultantes son:
Xk X
2
N
k xn e
/


Xk xn e
/

k 0,1,2, N 1
Donde el ndice superior del sumatorio se ha incrementado de L-1 a N-1 ya que x(n)=0 para nL.
Esta frmula permite transformar una secuencia x(n) de longitud NL en una secuencias de
muestras en frecuencia de longitud N. Ya que dichas muestras se obtienen evaluando la TDF en un
conjunto de de N frecuencias discretas espaciadas equitativamente, la relacin anterior se define
como la TDF de x(n).
Resumen de las formulas:
DFT:
Xk xn e
/

k 0,1,2, N 1
IDFT:

1

0,1,2. 1
Ejemplo:
Una secuencia de duracin finita de longitud L est dada por:

1 ,0 1
0 ,

Determinar la DFT de N puntos de esta secuencia para NL
Solucin:
La transformada de Fourier de esta secuencia es:
X xn e


30

e

sen
L
2

sen

e
/


El mdulo y la fase de X() se muestra en la figura, para L=10. La DFT de N puntos de x(n=) es
simplemente X() evaluada en el conjunto de N frecuencias espaciadas equitativamente X(2k/N)
con k=0,1,2,3,.N-1 luego se tiene:
Xk
1

k 0,1,2, N 1

sen
kL
N

sen
k
N

e
/


Si N se selecciona de tal forma que N=L la DFT es:


, 0
0 , 1,2,3 1

Entonces existe solo un valor distinto de cero en la DFT. Esto es as porque observamos X(), ya
que X()=0 en las frecuencias
k
=2k/L, k0, se puede calcular la IDFT con L puntos y recuperar
x(n).
Aunque con L puntos es suficiente para representar la secuencia x(n) en el dominio de la
frecuencia, no da mucho detalle para sus caractersticas espectrales. Si queremos mejorar
tendremos que interpolar X() con un menor espaciado por ej. En donde N L podemos ver esto
como una expansin del tamao de la secuencia de L a N puntos. Aadiendo N-L ceros a las
secuencia x(n)k, as la DFT de N puntos proporciona una interpolacin ms ajustada que la DFT de
L Puntos.
En el dibujo se nota el modulo y la fase para L=10 N=50 y N=100 en donde la secuencia se ve ms
clara al comparar dichos espectros.
31


Figura 52


Figura 53
32


Figura 54

La DFT como transformacin lineal.-
Haciendo un cambio de definicin donde
Tenemos que las formulas de DFT e IDFT seran como siguen:


Es la raz ensima de valor unidad.
El clculo de cada punto de la DFT se puede llevar a cabo realizando N multiplicaciones complejas
y (N-1) sumas complejas, luego los valores de la DFT de N puntos pueden calcularse realizando un
total de N
2
multiplicaciones complejas y N(N-1) sumas complejas.
Definimos un vector de N puntos x
N
de la secuencia x(n) con n=0,1,2,.n-1, un vector de N puntos
X
N
de muestras en frecuencia y una matriz N x N W
N
como sigue:
x(0)
x
N
= x(1)
..
x(N-1)

X(0)
X
N
= X(1)
..
X(N-1)

33

1 1 1 1
W
N
= 1 W
N
W
N
2
... W
N

N-1

1 W
N
2
W
N
4
W
N

2(N-1)


1 W
N

N-1
W
N

2(N-1)
W
N

(N-1)(N-1)



Con estas definiciones la DFT de N puntos se puede expresar en forma matricial como:
X
N
= W
N
x
N

Donde W
N
es la matriz de la transformacin lineal. W
N
es una matriz simtrica, si disponemos de la
inversa de W
N
, entonces se puede invertir la matriz premultiplicando ambos lados de la ecuacin
por W
N
-1
, de donde se tienen las siguientes relaciones:

x
N
= W
N
-1
X
N

Y la IDFT se expresa como:
x
N
= 1/N W
N
*
X
N

Donde W
N
*
es el conjugado complejo de la matriz W
N
de donde comparando se tiene.
W
N
-1
= 1/N C
Lo que a su vez implica que
W
N
W
N
*
= NI
N

Donde I
N
es una matriz identidad N x N, por tanto, la matriz W
N
de la transformacin es una matriz
ortogonal (unitaria), adems existe su inversa y est dada por W
N
*
/N y la existencia de la inversa
de W
N
se ha establecido antes.
Ejemplo de clculo de la DFT
Sea una secuencia de cuatro puntos, calcule la DFT
X(n)= (0 1 2 3)
Encontrar la matriz W
4
y la propiedad de simetra
W
N

k +N/2
= -W
N
k
La propiedad de periodicidad:
W
N

k +N
= W
N
k


W
4
0
W
4
0
W
4
0
W
4
0
1 1 1 1
W
N
= W
4
0
W
4
1
W
4
2
W
4
3
= 1 W
4
1
W
4
2
W
4
3

W
4
0
W
4
2
W
4
4
W
4
6
1 W
4
2
W
4
0
W
4
2

W
4
0
W
4
3
W
4
6
W
4
9
1 W
4
3
W
4
2
W
4
1





1 1 1 1
W
N
= 1 -j -1

j
1 -1

1 -1
1 j -1 -j
34



6
De donde X
4
=W
4
x
4
= -2+2j
-2
-2-2j

La IDFT de X
4
puede determinarse conjugando los elementos de W
4
para obtener W
4
* y aplicando
la formula: x
N
= 1/N W
N
*
X
N

La DFT y la IDFT son herramientas de calculo que desarrollan un papel importante en las
aplicaciones de tratamiento digital de la seal, como ser anlisis en frecuencia de seales,
estimacin del espectro de potencia y filtrado lineal.


Capitulo 7 TRANSFORMADA RAPIDA DE FOURIER
Se ha visto que el algoritmo de la DFT es muy importante en las aplicaciones del tratamiento
digital de la seal, incluyendo el filtrado lineal, correlacin y anlisis espectral, pero en esta
seccin se estudia un algoritmo eficiente para calcular la DFT, mediante otros algoritmos que se
llaman FFT (Fast Fourier Transform) especialmente cuando el tamao de N es una potencia de 2 y
cuando es potencia de 4.
Bsicamente el problema de calcular la DFT es calcular la secuencia X(k) de N valores complejos
dada otra secuencia de datos x(n) de longitud N, esto se aprecia en la formula:

0,1,2, 1


Donde


/

La secuencia de datos x(n) se considera compleja.
Igualmente la IDFT es:

1

0,1,2, 1


En estas formulas se puede ver que tanto la DFT como la IDFT implican el mismo tipo de clculos,
es decir el clculo implica N multiplicaciones complejas (4N multiplicaciones reales) y N-1 sumas
complejas y N
2
-N sumas complejas.
El clculo de la DFT es ineficiente, ya que no se aprovecha las propiedades de la simetra y
periodicidad del factor de fase W
N
cuyas propiedades son:

Simetra: W
N

k +N/2
= -W
N
k

Periodicidad: W
N

k +N
= W
N
k


Los algoritmos eficientes de clculo conocidos como FFT aprovechan estas dos propiedades del
factor de fase.
35

Para el clculo directo de la DFT y teniendo en cuenta una secuencia compleja x(n) de N puntos la
DFT se puede expresar como sigue:



Este clculo directo requiere:
1.- 2N
2
evaluaciones trigonomtricas
2.- 4N
2
multiplicaciones reales
3.- 4N (N-1) sumas reales
4.- Una serie de operaciones de indexacin y direccionamiento.

Operaciones realizadas en lel algoritmo de DFT las multiplicaciones reales y las sumas reales dan
los resultados de los valores X
R
(k) y X
I
(k) de la DFT, las operaciones de indexacin y
direccionamiento son necesarias para extraer los datos de x(n) en los valores de n entre 0 y N-1 y
los factores de fase y almacenar los resultados.
En esta seccin se explicar un mtodo para volver eficiente este clculo.

Mtodo divide y vencers para calcular la DFT.- Este algoritmo posibilita la descomposicin de una
DFT de N puntos en transformadas DFT sucesivamente ms pequeas. Esto nos lleva a una familia
de algoritmos de clculos eficientes conocidos como algoritmos FFT.
Si consideramos el clculo de una DFT de N puntos, donde N puede descomponerse en factores
como un producto de dos enteros.
N=LM

La suposicin de que N no es un nmero primo no es restrictiva, ya que podemos rellenar
cualquier secuencia con ceros para asegurar una descomposicin en factores de la forma indicada
arriba.

n 0 1 2 N-1
x(0) x(1) x(2) X(N-1)

La secuencia x(n), 0nN-1, puede almacenarse en una matriz unidimensional indexada por n o
como una matriz bidimensional indexada por l y m donde 0lL-1 y 0mM-1, las cuales se
muestran en la siguiente tabla, l es el ndice de las filas y m es de las columnas. As, la secuencia
x(n) puede almacenarse en una matriz rectangular de diferentes maneras, dependiendo cada una
de la correspondencia existente entre el ndice n y los ndices (l,m)


36




x(0,0) x(0,1) ..
x(1,0) X(1,1) ..
x(2,0) x(2,1) ..
.. ..
..

Por ejemplo si seleccionamos la correspondencia
n=Ml+m
Esto lleva a disposicin de que la primera fila consta de los primeros M elementos de x(n), la
segunda fila est formada por los M elementos siguientes de x(n) y as sucesivamente como se
muestra abajo.


x(0) x(1) x(2) .. x(M-1)
x(M) x(M+1) x(M+2) .. x(2M-1)
x(2M) x(2M+1) x(2M+2) .. x(3M-1)
.. ..
x((L-1)M) x((L-1)M+1) x((L-1)M+2) .. x(LM-1)

Sin embargo la correspondencia
n=l+mL

Almacena los primeros L elementos de x(n) en la primera columna, los siguientes L elementos en la
segunda columna y as sucesivamente como se muestra abajo.




x(0) x(L) x(2L) .. x((M-1)L)
x(1) x(L+1) x(2L+1) .. x((M-1)L+1)
x(2) x(L+2) x(2L+2) .. x((M-1)L+2)
.. ..
x(L-1) x(2L-1) x(3L-1) .. x(LM-1)


Se puede utilizar una disposicin similar para almacenar los valores calculados de la DFT, en este
caso, la correspondencia se establece entre el ndice k y la pareja de ndices (p,q) donde 0pL-1 y
0qM-1.
0 1 M-1
0
1
2

M-1
Indice de filas
Indice de columnas
m
l
0 1 2 M-1
0
1
2

L-1
n=Ml+m
m
l
Por filas
0 1 2 M-1
0
1
2

L-1
n=l+mL
m
l
Por columnas
37

Si seleccionamos la correspondencia
k=Mp+q
la DFT se almacena por filas, donde la primera fila contiene los M primeros elementos de la DFT
X(k), la segunda fila contiene el siguiente conjunto de M elementos y asi sucesivamente. Por el
contrario la correspondencia
k= qL +p
da como resultado un almacenamiento de X(k) donde los L primeros elementos se almacenan en
la primera columna, el segundo conjunto de L elementos se almacena en la segunda columna, y as
sucesivamente.
Ahora suponemos que x(n) se hace corresponder con una matriz rectangular x(l,m) y X(k) con la
correspondiente matriz rectangular X(p,q). Luego la DFT se puede expresar como una suma doble
sobre los elementos de la matriz rectangular multiplicada por los correspondientes factores de
fase. Ms especficamente, adoptamos la correspondencia por columnas para x(n) dada por
n=l+mL y la correspondencia por filas para la DFT dada por k=Mp+q. Por tanto:
,


Pero


Sin embargo

1,

, y


Con estas simplificaciones la sumatoria se expresa como:
,


Esta expresin implica el clculo de transformadas DFT de longitud M y L, luego subdividimos el
clculo en tres pasos:
1.- En primer lugar, calculamos la DFT de M puntos:

, ,

0 1


Para cada una de las filas l=0,1,2,.., L-1
2.- En segundo lugar, calculamos una nueva matriz rectangular G(l,q) definida como:
,

,
Con 0lL-1 y 0qM-1.

3.- Por ltimo calculamos la DFT de L puntos.
, ,


Para cada columna q=0, 1, 2,.., M-1 de la matriz G(l,q)
38

En principio puede parecer que el procedimiento de clculo anterior es ms complicado que el
clculo directo de la DFT, pero evaluemos la complejidad de clculo de :
,


El primer paso implica el clculo de L transformadas DFT, cada una de ellas de M puntos. Luego
este paso requiere LM
2
multiplicaciones complejas y LM(M-1) sumas complejas. El segundo paso
requiere LM multiplicaciones complejas, por ltimo, el tercer paso requiere ML
2
multiplicaciones
complejas y ML(L-1) sumas complejas. Por tanto la complejidad de clculo es
Multiplicaciones complejas N(M+L+1)
Sumas complejas N(M+L-2)

Donde N=ML. Por tanto, el nmero de multiplicaciones se ha reducido de N
2
a N(M+L+1) y el
nmero de sumas se ha reducido de N(N-1) a N(M+L-2).
Por ejemplo si N=1000 y seleccionamos L=2 y M = 500. Por tanto en lugar de tener que realizar 10
6

multiplicaciones complejas del clculo directo de la DFT, este mtodo nos lleva a 503,000
multiplicaciones complejas, lo que representa una reduccin de aproximadamente 50 por ciento.
El nmero de sumas se reduce en la misma cantidad.
Cuando N es un nmero compuesto muy alto, es decir, N puede descomponerse en factores para
definir un producto de nmeros primos de la forma

N=r
1
r
2
.r
v

Entonces la descomposicin anterior puede repetirse (v-1) ms veces. Este procedimiento da
como resultado transformadas DFT ms pequeas, lo que, a su vez, lleva a un algoritmo de clculo
ms eficiente.
La primera segmentacin de la secuencia x(n) en una matriz rectangular de M columnas con L
elementos en cada columna genera transformadas DFT de tamaos L y M. Adems, la
descomposicin de los datos implica la segmentacin de cada fila (o columna) en matrices
rectangulares ms pequeas que darn lugar a transformadas DFT ms pequeas. Este
procedimiento termina cuando N se descompone en sus factores primos.

Ejemplo
Consideremos el clculo de una DFT de N=15 puntos. Como N=5 x 3 =15 seleccionamos L=5 y M
=3, o sea almacenamos por columnas la secuencia x(n) de 15 puntos de esta manera:
Fila 1: x(0,0)=x(0) x(0,1)=x(5) x(0,2)=x(10)
Fila 2: x(1,0)=x(1) x(1,1)=x(6) x(1,2)=x(11)
Fila 3: x(2,0)=x(2) x(2,1)=x(7) x(2,2)=x(12)
Fila 4: x(3,0)=x(3) x(3,1)=x(8) x(3,2)=x(13)
Fila 5: x(4,0)=x(4) x(4,1)=x(9) x(4,2)=x(14)

39

Ahora comparamos la DFT de tres puntos para cada una de las cinco filas y hacemos una matriz 5 x
3
F(0,0) F(0,1) F(0,2)
F(1,0) F(1,1) F(1,2)
F(2,0) F(2,1) F(2,2)
F(3,0) F(3,1) F(3,2)
F(4,0) F(4,1) F(4,2)

El siguiente paso consiste en multiplicar cada uno de los trminos F(l, q) por los factores de fase

0l4 y 0q2. Esto da una matriz 5 x 3


Columna 1 Columna 2 Columna 3
G(0,0) G(0,1) G(0,2)
G(1,0) G(1,1) G(1,2)
G(2,0) G(2,1) G(2,2)
G(3,0) G(3,1) G(3,2)
G(4,0) G(4,1) G(4,2)

El paso final consiste en calcular la DFT de cinco puntos para cada una de las tres columnas. Este
clculo proporciona los valores deseados de la DFT de la forma:
X(0,0)=X(0) X(0,1)=X(5) X(0,2)=X(10)
X(1,0)=X(1) X(1,1)=X(6) X(1,2)=X(11)
X(2,0)=X(2) X(2,1)=X(7) X(2,2)=X(12)
X(3,0)=X(3) X(3,1)=X(8) X(3,2)=X(13)
X(4,0)=X(4) X(4,1)=X(9) X(4,2)=X(14)

MATRIZ DE ENTRADA
X(0) x(5) x(10) x(1) x(6)x(11) x(2) x(7) x(12) x(3) x(8) x(13) x(4) x(9) x(14)
MATRIZ DE SALIDA
X(0) X(1) X(2) X(3) X(4)X(5) X(6) X(7) X(8) X(9) X(10) X(11) X(12) X(13) X(14)
La secuencia de datos se ha reestructurado respecto al orden normal en el clculo de la DFT y la
secuencia de salida se genera en el orden normal. En este caso la reordenacin de la matriz de los
datos de entrada se debe a la segmentacin de la matriz unidimensional en una matriz rectangular
y al orden en que se calculan las DFT. Esta reestructuracin de la secuencia de datos de entrada o
de la secuencia de los datos de salida es una caracterstica de la mayora de los algoritmos FFT.
En resumen el algoritmo sigue los siguientes pasos:
1) Almacenar la seal por columnas
2) Calcular la DFT de M puntos de cada fila
3) Multiplicar la matriz resultante por los factores de fase


4) Calcular la DFT de L puntos de cada columna
5) Leer la matriz resultante por filas.
40

Puede obtenerse un algoritmo adicional con una estructura de clculo similar si la seal de
entrada se almacena por filas y la transformacin resultante se hace por columnas. En dicho caso
seleccionamos n=Ml+m y k=qL+p
Esta eleccin de ndices nos lleva a la frmula de la DFT del a forma
, ,



As obtenemos el segundo algoritmo
1) Almacenar la seal por filas
2) Calcular la DFT de L puntos en cada columna
3) Multiplicar la matriz resultante por los factores


4) Calcular la DFT de M puntos de cada fila
5) Leer la matriz resultante por columnas.

Potrebbero piacerti anche