2 2dft

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 32

Procesamiento digital de la señal

Transformada discreta de Fourier (DFT)


Transformada discreta de Fourier (DFT)

Sea x(n) una secuencia de N muestras en el intervalo [0, N − 1] (o sea


causal). Se define la Transformada discreta de Fourier DFT de x(n), la
cual se denota por X(k), como:

N
X −1
X(k) , DFT[x(n)] = x(n)WNkn (1)
n=0

0≤k ≤N −1

− 2π

donde WN , exp N .

La DFT X(k) es igualmente una secuencia de N muestras.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Transformada discreta de Fourier inversa (IDFT)

Sea X(k) la DFT de N muestras en el intervalo [0, N − 1] de x(n). Se


define la Transformada discreta de Fourier inversa IDFT de X(k):

N −1
1 X
x(n) , IDFT[X(k)] = X(k)WN−kn (2)
N
k=0

0≤n≤N −1

La IDFT x(n) es igualmente una secuencia de N muestras.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Implementación de la DFT usando MATLAB

function Xk=dft(xn)
% X(k)=DFT(x(n))
%
% Calcula la DFT de la secuencia x(n) de duracion finita N.
N=length(xn);
n=0:N-1;
k=0:N-1;
WN=exp(-j*(2*pi/N));
W=WN.^(k’*n);
Xk=W*xn’;

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Implementación de la IDFT usando MATLAB

function x=idft(X)
% x(nk)=IDFT(X(k))
%
% Calcula la IDFT de la secuencia X(k) de duracion finita N.
N=length(X);
n=0:N-1;
k=0:N-1;
WN=exp(j*(2*pi/N));
W=WN.^(k’*n);
x=(1/N)*W*X’;

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación entre la DFT y la serie de Fourier de tiempo
discreto DFS

1. Recordemos algunas caracterı́sticas de las DFS:

a) La DFS está definida solo para secuencias x


e(n) periódicas, de perı́odo
N , de duración infinita:
1) Ecuación de análisis:

N
X −1
X(k)
e = e(n)WNkn,
x 0≤k ≤N −1 (3)
n=0

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


2) Ecuación de sı́ntesis: Relación DFT-DFS –6–

N −1
1 X e
x
e(n) = X(k)WN−kn, −∞ ≤ n ≤ ∞ (4)
N
k=0

b) El contenido frecuencial de la DFS es discreto y finito (se puede


manejar computacionalmente).
c) Si N es el perı́odo de x
e(n), solo N coeficientes X(k) distintos es
necesario calcular.
d) El contenido temporal de x
e(n) es discreto e infinito.

2. La DFT en cambio:

a) La DFT está definida solo para secuencias x(n) de duración finita


(aperiódicas):

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


1) Ecuación de análisis: Relación DFT-DFS –7–

N
X −1
X(k) = x(n)WNkn, 0≤k ≤N −1 (5)
n=0

2) Ecuación de sı́ntesis:

N −1
1 X
x(n) = X(k)WN−kn, 0≤n≤N −1 (6)
N
k=0

b) Tanto el contenido temporal como frecuencial de las secuencias se


pueden manejar computacionalmente.

3. Comparación resumida:

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DFS –8–

Cuadro 1: Relación entre la DFS y la DFT

DFS DFT

−1
NP −1
NP
X(k)
e = e(n)WNkn
x X(k) = x(n)WNkn
n=0 n=0

0≤k ≤N −1 0≤k ≤N −1

−1
NP −1
NP
−kn
x
e(n) = 1
N X(k)W
e
N x(n) = 1
N X(k)WN−kn
k=0 k=0

−∞ ≤ n ≤ ∞ 0≤n≤N −1

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DFS –9–

4. Del cuadro (1) observamos que si expandimos la secuencia aperiódica


x(n) de N muestras, en una secuencia periódica de perı́odo N :

X
x
e(n) = x(n − rN ) (7)
r=−∞

o equivalentemente:

x
e(n) = x(nmodN ), −∞ ≤ n ≤ ∞ (8)

entonces se cumple que:



e(n), n ∈ [0, N − 1];
x
x(n) = (9)
0, n∈/ [0, N − 1].

5. Y la DFT de x(n) coincide con la DFS de x


e(n).

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –10–

Relación entre la DFT y la DTFT

1. Recordemos algunas propiedades de la DTFT:


a) La DTFT está definida para secuencias absolutamente sumables.
b) Ecuación de análisis:

X
X(ω) = x(n)e−ωn (10)
n=−∞

c) Ecuación de sı́ntesis:
Z π
1
x(n) = X(ω)eωn dω (11)
2π −π

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –11–

d) De la ecuación de análisis (10) vemos que el contenido temporal de


x(n), aun cuando es discreto, se extiende, en general, infinitamente.
e) De la ecuación de sı́ntesis (11) vemos que el contenido frecuencial de
X(ω), aún cuando está confinado a un dominio finito, es (continuo)
infinito.

2. Para secuencias x(n) de duración finita N , la suma de la ecuación de


análisis (10) se restringe a N términos:

n0 +(N −1)
X
X(ω) = x(n)e−ωn (12)
n=n0

y si x(n) es causal:
N
X −1
X(ω) = x(n)e−ωn (13)
n=0

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –12–

3. El contenido temporal de las secuencia x(n) de duración finita es mane-


jable computacionalmente.

4. El espectro X(ω) de x(n) sigue siendo continuo (infinito) y por lo tanto


no es ((manejable computacionalmente)).

5. Para ((manejar)) numéricamente el espectro de x(n), podemos tomar algu-


nas muestras de X(ω): {X(ωk )}, con ωk = 2π M k y k ∈ {0, 1, 2, . . . , M −
1}.

6. Cabe preguntarse: ¿Cuál es el número M mı́nimo de muestras necesarios


para reconstruir X(ω)?

7. ¡¡¡ El número mı́nimo de muestras es N !!!. En efecto, dada la secuencia

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –13–

de N muestras {X(ωk )}, donde:


N −1 N −1
X X 2π
X(ωk ) = x(n)e−ωk n = x(n)e− N kn (14)
n=0 n=0

0≤k ≤N −1

X(ω) se puede reconstruir a partir de {X(ωk )} mediante la fórmula de


interpolación [1]:
N −1  
X 2π
X(ω) = X(ωk )Φ ω − k (15)
N
k=0

donde
sin ωN

2  −ω ( N 2−1 )
Φ(ω) = ω e
N sin 2

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –14–

8. Ahora procedamos a poner la ecuación (14) al lado de la ecuación de la


DFT de la secuencia finita x(n) (5):

Cuadro 2: Comparación entre la DTFT y la DFT.

N muestras de DTFT[x(n)] DFT[x(n)]

−1
NP −1
NP
− 2π
N kn
X(ωk ) = x(n)e X(k) = x(n)WNkn
n=0 n=0

0≤k ≤N −1 0≤k ≤N −1

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación DFT-DTFT –15–

− 2π

9. Tomando en cuenta que WN = exp N concluimos que:

X(k) = X(ω)|ω= 2π k (16)


N

0≤k ≤N −1

10. X(k), la transformada discreta de Fourier (DFT) de x(n), es la versión


discreta (muestreada) de X(ω), la transformada de tiempo discreto de
Fourier (DTFT) de x(n).

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


0 padding –16–

Zero-padding
X(k) = X(ω)|ω= 2π k 0≤k ≤N −1
N

1. A partir de la ecuación (16) inferimos que la resolución en frecuencia de


la versión muestreada de la DTFT se puede mejorar arbitrariamente hasta

M , con M tan grande cuanta memoria tengamos disponible, aumentando
el número de muestras de la DTFT en el intervalo [−π, π] de N a M .

2. Y que esto a su vez se consigue aumentando hasta M el tamaño de


la secuencia x(n) mediante una operación que se conoce como zero-
padding, la cual consiste en rellenar con ceros la secuencia, a partir de su
último valor, hasta alcanzar el tamaño deseado. Respecto al Zero-padding
cabe mencionar:
a) El zero-padding permite aumentar la densidad espectral de X(ωk ).

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


0 padding –17–

b) El zero-padding no altera la realidad matemática de la secuencia x(n),


y por lo tanto tampoco su espectro.
c) Sin embargo, si x(n) se ha obtenido muestreando una señal analógica
xa(t), de duración finita, enventanada, el zero-padding aún permi-
tirá una mayor resolución espectral de X(ωk ), pero, en general, no de
Xa(Ωk ).
d) La secuencia que se obtiene con el zero-padding ya no representa
las muestras de xa(t) en la ventana, porque los ceros que se añaden
artificialmente no se corresponden con el comportamiento de xa(t) en
la ventana ( a menos, claro está, de una providencial coincidencia).

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


0 padding –18–

Ejercicio: relación entre xa(t), su espectro, la DFT y el


zero-padding

Dada la señal
xa(t) = cos ω1t + cos ω2t

1. Enventanar xa(t) con una ventana rectangular de duración T segundos.

2. Tomar muestras de la porción de xa(t) enventanada a razón de ωs >


2 máx{ω1, ω2} y construir la secuencia x(n).

3. Calcular la DFT de x(n) para un valor pequeño de T .

4. Aumentar la densidad espectral de X(k) usando zero-padding.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


0 padding –19–

5. Calcular la DFT de x(n) para un valor grande de T , por ejemplo:


T > 1/∆f , siendo 2π∆f la resolución en frecuencia deseada en Ω.

6. Comentar y concluir.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –20–

Propiedades de la DFT

1. Linealidad:

DFT[ax1(n) + bx2(n)] = aDFT[x1(n)] + bDFT[x2(n)]

si N1 6= N2, para la aplicación de esta propiedad tomar N =


máx(N1, N1), y calcular las DFTs con N muestras completando con
ceros donde sea necesario.

2. Rotación circular:

a) La rotación circular de una secuencia se denota por x((−n))N y se

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –21–

define como:

x(0), n = 0;
x((−n))N =
x(N − n), 1 ≤ n ≤ N − 1.

b) ((Envolver (enrollar) la secuencia x(n) circularmente en sentido anti-


horario haciendo coincidir el 0 con N y desenvolver (desenrollar) en
sentido horario)).
c) En MATLAB: x=x(mod(-n,N)+1).
d) La DFT de una secuencia rotada circularmente se obtiene rotando
circularmente la DFT de la secuencia sin rotar:

X(0), k = 0;
DFT [x((−n))N ] = X((−k))N =
X(N − k), 1 ≤ k ≤ N − 1.

3. Conjugación, la DFT de una secuencia conjugada se obtiene conjugando

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –22–

la DFT de la secuencia rotada circularmente:

DFT[x∗(n)] = X ∗((−k))N

4. Simetrı́as de las secuencias reales: si x(n) es una secuencia real,


entonces x(n) = x∗(n) y usando la propiedad de conjugación anterior:

X(k) = X ∗((−k))N

de lo cual se desprenden las secuencias:


a) par circular <[X(k)] = <[X((−k))N ].
b) impar circular =[X(k)] = −=[X((−k))N ].
c) par circular |X(k)| = |X((−k))N |.
d) impar circular ∠X(k) = −∠X((−k))N .

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –23–

5. Desplazamiento circular de una secuencia

a) El desplazamiento circular de m muestras de una secuencia se logra


envolviendo (enrollar) la secuencia x(n) circularmente en sentido
antihorario, haciendo coincidir el 0 con N , rotando las muestras
sobre el circulo m veces, en sentido horario si m < 0 y en sentido
antihorario si m > 0, y desenvolviendo (desenrollar) en el mismo
sentido antihorario.
b) El desplazamiento circular de m muestras de x(n) se denota por
x((n − m))N .
c) La DFT de x((n − m))N vale:

DFT[x((n − m))N ] = WNkmX(k)

6. Desplazamiento circular en el dominio de la frecuencia, es una

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –24–

propiedad similar al desplazamiento temporal:

DFT[WN−`nx(n)] = X((k − `))N

7. Convolución circular de N muestras


a) La convolución circular de N muestras se denota por x1(n)
N x2 (n) y
se define como:
N1
X
x1(n)
N x2 (n) = x1(m)x2((n − m))N , 0≤n≤N −1
m=0

b) La DFT de la convolución circular de dos secuencias es igual al


producto de las DFT de las secuencias:

DFT [x1(n)
N x2 (n)] = X1 (k)X2 (k)

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Propiedades de la DFT –25–

8. Multiplicación, esta propiedad es similar a la propiedad de convolución


circular:
1
DFT[x1(n)x2(n)] = X1(k) N X2 (k)
N

9. Relación de Parseval, relaciona la energı́a de la señal en ambos domin-


ios:
N −1 N −1
X 1 X
Ex = |x(n)|2 = |X(k)|2
n=0
N
k=0

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación x1 (n) ∗ x2 (n) ⇔ x1 (n)
N x2 (n) –26–

Cálculo de la convolución lineal a partir de la


convolución circular

1. Sean x1(n) y x2(n) dos secuencias de duración finita, y sean N1 y N2


los tamaños respectivos de tales secuencias.

2. A partir de la definición de convolución circular observamos que


x1(n)
N x2 (n) es, en general, una versión ((solapada)) (aliased) de
x1(n) ∗ x2(n).

3. Si ponemos N = N1 + N2 − 1, y completamos con ceros las secuencias


x1(n) y x2(n) hasta que cada una alcance un tamaño de N muestras,
entonces [1]: x1(n) ∗ x2(n) = x1(n)
N x2 (n).

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


Relación x1 (n) ∗ x2 (n) ⇔ x1 (n)
N x2 (n) –27–

4. ¿Cómo podrı́amos calcular la convolución circular/lineal de dos secuencias


a partir de sus DFTs?

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


FFT –28–

Comentarios acerca de la FFT

1. La DFT implementada como ha sido en MATLAB, es ineficiente, porque


el número de operaciones requeridas para su computo es del orden
N 2.

2. En 1965 Cooley y Tukey [2] divulgaron el primer algoritmo para el cálculo


eficiente de la DFT.

3. Luego se han desarrollado varios (DIT-FFT, DIF-FFT, por ejemplo),


todos los cuales se engloban bajo un mismo acrónimo: FFT de fast
Fourier transform.

4. La FFT es un algoritmo que requiere un número de operaciones del orden


N lg N .

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


FFT –29–

100

90

80

70

60 DFT(N2)

50

40

30

20
FFT(N logN)
10

0
1 2 3 4 5 6 7 8 9 10
N

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


FFT –30–

Referencias

[1] Vinay K. Ingle and John G. Proakis. Digital Signal Processing us-
ing MATLAB. BookWare Companion Series. Brooks/Cole Thomson
Learning, 2000.

[2] J. W. Cooley and J. W. Tukey. Mathematical computations. (19):297–


301, April 1965.

[3] Jhon G. Proakis and Dimitris G. Manolakis. Digital Signal Processing,


Principles,Algorithms, and Application. Prentice Hall, third edition,
1996.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]


FFT –31–

[4] Gordon E. Carlson. Signal and Linear System Analysis with MATLAB.
BookWare Companion Series. John Wiley & Sons, Inc., 1998.

[5] Julius O. Smith. Introduction to Digital Filters. http://www-


ccrma.stanford.edu/˜jos/filters/, February 11, 2002.

[6] Thanos Antoulas and John Slavinsky. Partial Fraction Expansion.


http://cnx.rice.edu/content/, Nov 24, 2003.

[7] Apuntes Dr. Afonso Zozaya, Universidad de Carabobo, UC Departamento


de Electrónica y Comunicaciones.

[Abrir] [⊗] [<=] [N] [C] [J] [I] [H]

También podría gustarte