Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Las propiedades de la transformación discreta de Fourier (DFT1 ), aunque son similares a las propiedades
de otras transformaciones de Fourier, exhiben notables diferencias debido a su naturaleza finita. Debido a
que la DFT es nuestra principal herramienta de cálculo, debemos entender sus propiedades y su relación
con las otras transformaciones utilizadas en el procesamiento de señales digitales (DSP2 ). La meta de estos
proyectos y ejercicios es desarrollar alguna familiaridad y tener alguna idea del uso de las propiedades de
la DFT. Serán enfatizadas caracterı́sticas únicas de la DFT, especialmente la naturaleza circular de todo el
indexamiento tanto en el dominio del tiempo como en el de frecuencia.
La DFT se define como una operación sobre un vector de tiempo de N puntos x[0], x[1], . . . , x[n − 1] :
N
X −1
nk
X[k] = x[n]WN para k = 0, 1, 2, . . . , N − 1 (1)
n=0
* Ingeniero electrónico, profesor del área de procesamiento digital de señales e investigador del grupo IDEAS de la Facultad de Ingenierı́a
1
1. Ejemplos de la DFT 1.1. Pulsos
de señales comunes Hay señales que contienen únicamente unos y ceros. Para
los siguientes ejercicios, usted puede dibujar las partes real
En este proyecto desarrollaremos la DFT de ciertas señales e imaginaria de la DFT pero puede ser mejor dibujar la
comunes (p.e. pulsos, ondas seno, sinc con alias o asinc, etc.). magnitud y la fase.
Con Matlab, usted puede dibujar señales y sus transfor-
maciones fácilmente ası́ que el objetivo es visualizar una a. Señal impulso unitario: xi = [1 0 0 0 0 0 0 0] corres-
variedad de pares de transformaciones. En el proceso, us- ponde a la definición matemática:
ted debe poner atención a las simetrı́as que podrı́an estar (
presentes. 1 n=0
δ[n] = (2)
0 n = 1, 2, . . . , N − 1
Sugerencias. Todas las señales utilizadas con la DFT son
Para este problema calcule una DFT de 8 puntos (es
discretas, ası́ que ellas deben ser mostradas utilizando stem;
decir, N = 8). En general, ¿qué es la DFT de N puntos
similarmente, la transformación es un vector de valores dis-
de δ[n]?
cretos, ası́ que también debe ser dibujada con stem. Puesto
que la DFT es de valor complejo, usted tendrá que dibujar
las partes real e imaginaria en la mayorı́a de los casos. Si b. Todos uno: x1 = [1 1 1 1 1 1 1 1]. Fı́jese que este
usted desea ver dibujos simultáneos de las partes real e ima- ejemplo junto con la parte (a) ilustra el principio de dua-
ginaria de los vectores en el dominio del tiempo y en el do- lidad de la DFT.
minio de la frecuencia, utilice los comandos subplot(22x)
antes de cada comando stem para forzar que los cuatro di-
bujos sean colocados sobre la misma pantalla, con las partes c. Impulso desplazado: xish = [0 0 0 1 0 0 0 0]. Dibuje
real e imaginaria una encima de la otra, como en la Figura la magnitud de los valores de la DFT. Trate con otros
1. El programa que produce la Figura 1 sigue: desplazamientos—¿hay un desplazamiento diferente de
cero de xi donde la DFT sea puramente real?
Parte real de x[n] Parte real de DFT de x[n]
15
1
0.5
10 d. Pulso rectangular de tres puntos: xb = [1 1 1 0 0 0 0
0]; trate también el caso de cuatro puntos.
Valor
Valor
0 5
-0.5
0
e. Pulso rectangular simétrico: xbsy = [1 1 0 0 0 0 0 1].
-1
0 5 10 15
-5
0 5 10 15
Demuestre que esta DFT será puramente real. Compare
índice n índice k las magnitudes de la DFT de xb y xbsy.
Parte imaginaria de x[n] Parte imaginaria de DFT de x[n]
5
1
0.5
0 1.2. Ondas Seno
Valor
Valor
-5
Una sinusoide de valor real es descrita por tres parámetros.
-0.5
La forma matemática de la señal de tiempo es
-1
-10
0 5 10 15 0 5 10 15 s[n] = A cos(2πfo n + φ) para n = 0, 1, 2, . . . , N − 1 (3)
índice n índice k
Figura 1: Dibujos de las partes real e imaginaria de una señal de tiempo donde N es la longitud de la señal, A su amplitud, fo su
discreto y su DFT de 16 puntos con subplot(22x) para crear una frecuencia y φ la fase relativa en n = 0.
visualización de cuatro paneles. La DFT está al lado derecho y la
señal de tiempo de valor complejo está al lado izquierdo. a. Calcule la DFT de 21 puntos de una secuencia represen-
tando exactamente un ciclo de una onda coseno. Deter-
mine la frecuencia de esta sinusoide. Asegúrese de tomar
nn = 0:15; exactamente un ciclo, no un ciclo más un punto (es decir,
xx = exp(j*nn/3); no repita la primera muestra). Si se hace correctamente,
XX = fft(xx);
kk = nn; la respuesta será extremadamente simple.
subplot(221), stem(nn, real(xx))
title(’PARTE REAL de x[n]’), xlabel(’ı́ndice [n]’)
subplot(223), stem(nn, imag(xx)) b. Repita la parte (a) para una señal seno, luego para una
title(’PARTE IMAGINARIA de x[n]’), xlabel(’ı́ndice [n]’) coseno con un desplazamiento de fase de 45◦ . Observe
subplot(222), stem(kk, real(XX))
title(’PARTE REAL de la DFT’), xlabel(’ı́ndice [k]’)
cuidadosamente las magnitudes de los coeficientes de la
subplot(224), stem(kk, imag(XX)) DFT (y compare las fases).
title(’PARTE IMAGINARIA de la DFT’), xlabel(’ı́ndice [k]’)
2
c. Repita la parte (a) para tres ciclos de una sinusoide, aun 2.1. Secuencia senc con alias
utilizando una DFT de 21 puntos. ¿Cuál es la frecuencia
Una vez entendido, el principio de dualidad es bastante po-
de esta sinusoide (en radianes por muestra)?
deroso. Como un buen ejemplo de su uso en el cómputo,
considere la DFT de la señal senc con alias. De acuerdo
con la dualidad, el pulso rectangular y la función asenc son
d. Trate con un vector que es 3.1 ciclos de una sinusoide.
“transformaciones pares”.
¿Por qué es la DFT tan diferente?
a. La DFT de un pulso rectangular es una función seno con
alias en ω; la DFT de N puntos justamente muestrea la
e. Experimente con sinusoides de diferentes frecuencias. De- asenc en ω = (2π/N )k. Para un pulso de L puntos con
muestre que la selección para que la frecuencia sea fo = simetrı́a par, el resultado es
k(1/N ), cuando k es un entero, da una DFT de N puntos sen(πkL/N )
que tiene únicamente dos valores diferentes de cero. R[k] = asenc(ω, L)ω=2πk/N = (5)
sen(πk/N )
La selección de ωo da resultados radicalmente diferentes pa- b. En la dual de la parte (a), la secuencia de tiempo se toma
ra la DFT. para que sea una asenc. Utilice Matlab para calcular y
dibujar la DFT de la siguiente secuencia asenc muestrea-
da:
a. Escoja ωo = 6π/N y calcule la DFT de N = 16 pun-
tos. ¿Cuántos valores de la DFT son diferentes de cero? sen(9πn/N )
a0 [n] = para n = 0, 1, . . . , N − 1
Puesto que las exponenciales complejas son las señales sen(πn/N )
base de la DFT, la propiedad de ortogonalidad prestan
sus transformaciones en una forma sencilla. Asuma que N es mayor que 9, digamos N = 16 o N = 21.
3
b. Calcule la DFT de 207 puntos de p[n]. Observe que en el α = 12 , este es un caso especial donde la transformación
dominio de la DFT, P [k] también toma únicamente los de Fourier de tiempo continuo produce una transforma-
valores de ceros y una constante. Determine el espacio ción que es de la misma forma, X(ω) = exp( 12 ω 2 ).
entre los impulsos en el dominio de k.
4
Dibuje las magnitudes sobre la misma gráfica—explique es truculenta. Hay funciones internas de Matlab llamadas
la diferencia en términos del ventaneo. fliplr y flipud para dar la vuelta derecha-izquierda sobre
las filas y arriba-abajo sobre las columnas. Ninguna de es-
tas es lo que deseamos para la DFT, porque estas funciones
d. Otra señal relacionada puede ser creada muestreando la hacen lo siguiente:
DTFT de an u[n]. Cree una DFT por medio del muestreo
de la fórmula (6) yout [n] = x[N − 1 − n] para n = 0, 1, . . . , N − 1
Entonces x[0] es intercambiado con x[N − 1], x[1] con x[N −
V [k] = Y (ejω )
ω=(2π/N )k 2] y ası́ sucesivamente. Por otro lado, la vuelta circular ne-
cesaria para la DFT satisfarı́a
Tome la IDFT de N puntos de V [k] para obtener v[n]. ycir [n] = x[−n mód N ] = x[0, N − n]
Experimente con diferentes longitudes de transformación
para N , porque cuando N → ∞, el resultado debe obte- para n = 1, 2, . . . , N − 1. En este caso, x[0] no se mueve
nerse muy cercano a an u[n]. mientras que x[1] es intercambiado con x[N − 1], x[2] con
x[N − 2] y ası́ sucesivamente.
Puesto que la DFT fue formada a través de muestras en el a. Escriba un archivo .m para la operación dar la vuelta cir-
dominio de la frecuencia, debe haber aliasing en el dominio cularmente; llámela cflip. Para un vector fila de N pun-
del tiempo. Derive una fórmula para v[n] en términos de tos cflip es sencillamente [ x(1), x(N:-1:2) ] , pero
y[n], basada en esta idea del aliasing de tiempo. usted debe hacerla trabajar para filas, columnas y ma-
trices (es decir, dar la vuelta circular de cada columna).
5
Luego compute las DFTs de estas dos señales para la d. Muestre que <e V[k] es par, por medio de calcular la
siguiente parte. parte imparde <e V [k] la cual deberı́a ser cero. Mues-
tre que =m V [k] es impar.
d. Para la DFT computada en la parte (a), extraiga sus
partes real e imaginaria y haga la siguiente comparación:
Entonces podemos concluir que la DFT de una secuencia
DFT ve [n]
vs. <e V [k]
real es simétrica conjugada, la cual es la propiedad dual
esperada. ¿Cuál serı́a el resultado para un vector de entrada
DFT vo [n] vs. =m V [k] puramente imaginario?
f. Muestre que la parte real de vcsy [n] es siempre par y Sin embargo, está mal asumir que la DFT de una de las
que la parte imaginaria es impar. Verifique estos hechos sub-señales se ajusta a la correspondiente sub-secuencia de
en Matlab para la parte simétrica conjugada de una la DFT.
secuencia de prueba aleatoria. Establezca una relación
similar para vcas [n]; verifı́quela. a. Escriba una función de Matlab que descomponga cual-
quier vector en sus cuatro partes, como fue definido en
(8).
g. Verifique que la DFT de una señal simétrica conjugada
es puramente real. ¿Qué sucede con la DFT de una señal
anti-simétrica conjugada?
b. Las simetrı́as de la DFT pueden ser catalogadas en un
diagrama que muestra la correspondencia de la simetrı́a
en el dominio de la transformación a una de las cua-
3.3. DFT de una secuencia real tro sub-señales en el dominio del tiempo. Complete el
siguiente diagrama conectando cada sub-señal en el do-
Por dualidad, la DFT de una secuencia puramente real debe
minio del tiempo • con la sub-secuencia apropiada en el
ser simétrica conjugada. Comience con una secuencia real de
dominio de la frecuencia ◦.
N puntos v[n], la cual no es ni par ni impar.
a. Calcule su DFT: V [k] = DFT v[n] . Simetrı́as
de la DFT
vr,e [n] • ◦ Vr,e [k] real y par
vr,o [n] • ◦ Vr,o [k] real e impar
b. Visualice <e V [k] e =m V [k] . Además, grafique la vi,e [n] • ◦ Vi,e [k] imaginario y par
magnitud y la fase de V [k] y note cualquier simetrı́a ob- vi,o [n] • ◦ Vi,o [k] imaginario e impar
via.
c. Extraiga la parte antisimétrica conjugada de V [k], la cual c. Dé ejemplos numéricos para mostrar que cada conexión
debe ser cero. en el diagrama es correcta.
6
4. Trucos para la DFT inversa 4. Compare los valores numéricos de x[n] y v[n] = Y [k]|k=n .
7
ℜe X[k] N ℜe x[n]
FFT
ℑm X[k] N ℑm x[n]