Está en la página 1de 10

Práctica No.

7
Calculado la Tranformada Discreta de Fourier(DFT) con
matlab.
Ángel de Jesús Eslava Castro *, Mario Alberto Ambrosio González **
e Israel Bautista
Bautista ***

Universidad Autónoma Metropolitana, Unidad Azcapotzalco. Ciudad de México.

3 de diciembre de 2017

Resumen

1. Objetivos
2. Introducción
3. Desarrollo
3.1. Ejercicio 1.- Cálculo de una DFT
Suponga que x[0] = 1, x[1] = 2, x[2] = 2, x[3] = 1y x[n] = 0, para los demás enteros n. Con N = 4,
de la fórmula (1), calcule la DFT dex[n]sobre el intervalo de tiempo n = 0 a n = N − 1 = 3 Desarrolle la
fórmula, sustituya los valores y calcule los valores de parte real e imaginaria a mano, y posteriormente
verificar usando el programa dado de MatLab.

3.1.1. Para k = 0
3 2π
3
X0 = ∑ x[n]e− j 4 (0)n = ∑ x[n] = 1 + 2 + 2 + 1 = 6
n=0 n=0
* a.eslava.castro@gmail.com
** mmaambrosio@gmail.com
*** israel.bta94@gmail.com

1
3.1.2. Para k = 1
3 2π
X1 = ∑ x[n]e− j 4 (1)n
n=0
2π 2π 2π 2π
=e− j 4 (1)0 + 2e j 4 (1)1 + 2e− j 4 (1)2 e− j 4 (1)3

2π 2π 2π
= 1 + 2e− j 4 (1)1 + 2e− j 4 (1)2 + e− j 4 (1)3
π π π
= 1 + 2e− j 2 (1)1 + 2e− j 2 (1)2 + e− j 2 (1)3
π 3π
= 1 + 2e− j 2 + 2e− jπ + e− j 2
= 1 + 2[cos(− π2 ) + jsen(− π2 )] + 2[cos(−π) + jsen(−π)] + [cos(− 3π 3π
2 ) + jsen(− 2 )]
= 1 + 2(− j) + 2(−1) + j
= −1 − j

3.1.3. Para k = 2
3 2π
X2 = ∑ x[n]e− j 4 (2)n
n=0
2π 2π 2π 2π
= e− j 4 (2)0 + 2e− j 4 (2)1 + 2e− j 4 (2)2 e− j 4 (2)3
2π 2π 2π
= 1 + 2e− j 4 (2)1 + 2e− j 4 (2)2 + e− j 4 (2)3
π π π
= 1 + 2e− j 2 (2)1 + 2e− j 2 (2)2 + e− j 2 (2)3
= 1 + 2e− jπ + 2e− j2π + e− j3π
= 1 + 2[cos(−π) + jsen(−π)] + 2[cos(−2π) + jsen(−2π)] + [cos(−3π) + jsen(−3π)]
= 1 + 2(−1) + 2(1) − 1
=0

3.1.4. Para k = 3
3 2π 2π 2π 2π 2π
X3 = ∑ x[n]e− j 4 (3)n = e− j 4 (3)0 + 2e− j 4 (3)1 + 2e− j 4 (3)2e− j 4 (3)3
n=0
2π 2π 2π
= 1 + 2e− j 4 (3)1 + 2e− j 4 (3)2 + e− j 4 (3)3
π π π
= 1 + 2e− j 2 (3)1 + 2e− j 2 (3)2 + e− j 2 (3)3
3π 9π
= 1 + 2e− j 2 + 2e− j3π + e− j 2
= 1 + 2[cos(− 3π 3π 9π 9π
2 ) + jsen(− 2 )] + 2[cos(−3π) + jsen(−3π)] + [cos(− 2 ) + jsen(− 2 )]
= 1 + 2( j) + 2(−1) − j
= −1 + j

1 clc
2 clear all
3 close all
4
5 x =[1 2 2 1];
6 y = dft (x )
1 y =
2 6.0000 + 0.0000 i −1.0000 − 1 . 0 0 0 0 i 0.0000 + 0.0000 i −1.0000 + 1 . 0 0 0 0 i
3
4 >>
El valor de la variable Y es el resultado de la DFT, con lo cual se deduce que el resultado obtenido
manualmente es correcto.

2
3.2. Ejercicio 2
Similar al ejercicio anterior, calcule la DFT de la siguiente sucesión de duración finita: x(n)=1, 2, 3,
4, 5

x(n) = {1, 2, 3, 4, 5}
Desarrollando:
4 2π
Xk = ∑ x[n]e− j( 5 )kn
n=0
− j( 2π − j( 4π 6π 8π
Xk = x[0] + x[1]e 5 )k + x[2]e + x[3]e− j( 5 )k + x[4]e− j( 5 )k
5 )k
2π 4π 6π 8π
Xk = 1 + 2e− j( 5 )k + 3e− j( 5 )k + 4e− j( 5 )k + 5e− j( 5 )k
Evaluamos en k:
x0 = 15
− j( 2π 4π 6π 8π
x1 = 1 + 2e 5 + 3e− j( 5 ) + 4e− j( 5 ) + 5e− j( 5 )
)
4π 8π 12π 16π
x2 = 1 + 2e− j( 5 ) + 3e− j( 5 ) + 4e− j( 5 ) + 5e− j( 5 )
6π 12π 18π 24π
x3 = 1 + 2e− j( 5 ) + 3e− j( 5 ) + 4e− j( 5 ) + 5e− j( 5 )
8π 16π 24π 32π
x4 = 1 + 2e− j( 5 ) + 3e− j( 5 ) + 4e− j( 5 ) + 5e− j( 5 )
Desarollando la exponencial:
x0 = 6
x1 = 1 + 2cos( 2π
5 ) + 3cos( 4π
5 ) + 4cos( 6π
5 ) + 5cos( 8π 2π 4π 6π 8π
5 − j[−2sin( 5 ) + 3sin( 5 ) + 4sin( 5 ) + 5sin( 5 )]
x2 = 1+2cos( 4π 8π 12π 16π 4π 8π
5 )+3cos( 5 )+4cos( 5 )+5cos( 5 − j[−2sin( 5 )+3sin( 5 )+4sin( 5 )+5sin( 5 )]
12π 16π

x3 =

1 + 2cos( 5 ) + 3cos( 5 ) + 4cos( 5 ) + 5cos( 5 − j[−2sin( 6π
12π 18π 24π 12π 18π 24π
5 ) + 3sin( 5 ) + 4sin( 5 ) + 5sin( 5 )]
x4 =
1 + 2cos( 5 ) + 3cos( 5 ) + 4cos( 5 ) + 5cos( 5 − j[−2sin( 8π
8π 16π 24π 32π 16π 24π 32π
5 ) + 3sin( 5 ) + 4sin( 5 ) + 5sin( 5 )]
La Transformada Discreta de Fourier (DFT) de x[n]:
x0 = 15
x1 = − 25 + j[3,44095]
x2 = − 52 + j[0,812299]
x3 = − 52 + j[0,812299]
x4 = − 52 + j[3; 440954]

Evaluamos X(e jω ), en un 501 puntos equidistantes entre [0, π], y graficamos su magnitud, ángulo,
parte real y parte imaginaria.
Usamos las propiedades de la DFT, visualizando la reducción del dominio al intervalo [0, π], para suce-
siones en valores reales.
1 close all ;
2 clc ;
3 clear all ;
4
5 % [0 , pi ] eje dividido en 501 puntos .
6 w =[0:1:500]* pi /500;
7
8 %rellenando con ceros la senal para completar el numero de muestras
que
9 %entregara la transformada

3
10 x =[1 2 3 4 5];
11 x =[ x zeros (1 ,997) ];
12
13 % obtenemos la dft de x
14 y = dft (x ) ;
15 f = y (1: length ( y ) /2) ;
16
17 %obtenemos la magnitud , fase , parte real y parte imaginaria de la
dft
18 magX = abs ( f ) ;
19 angX = angle ( f ) ;
20 realX = real ( f ) ;
21 imagX = imag ( f ) ;
22
23 % graficamos la parte de magnitud
24 subplot (2 ,2 ,1) ;
25 plot ( w /pi , magX ) ;
26 grid on ;
27 xlabel ( ' frecuencia en pi unidades ') ;
28 title ( ' Parte Magnitud ') ;
29 ylabel ( ' Magnitud ') ;
30
31 % graficamos la parte de fase
32 subplot (2 ,2 ,3) ;
33 plot ( w /pi , angX ) ;
34 grid on ;
35 xlabel ( ' frecuencia en pi unidades ') ;
36 title ( ' Parte Angulo ') ;
37 ylabel ( ' Radianes ') ;
38
39 % graficamos la parte real
40 subplot (2 ,2 ,2) ;
41 plot ( w /pi , realX ) ;
42 grid on ;
43 xlabel ( ' frecuencia en pi unidades ') ;
44 title ( ' Parte Real ') ;
45 ylabel ( ' Real ') ;
46
47 % graficamos la parte imaginaria
48 subplot (2 ,2 ,4) ;
49 plot ( w /pi , imagX ) ;
50 grid on ;
51 xlabel ( ' frecuencia en pi unidades ') ;
52 title ( ' Parte Imaginaria ') ;
53 ylabel ( ' Imaginaria ') ;

4
Parte Magnitud Parte Real
16 15

14
10
12

Magnitud 10 5

Real
8 0
6
-5
4

2 -10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
frecuencia en pi unidades frecuencia en pi unidades

Parte Angulo Parte Imaginaria


4 5

2 0

Imaginaria
Radianes

0 -5

-1

-2 -10

-3

-4 -15
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
frecuencia en pi unidades frecuencia en pi unidades

Figura 1: Graficas con funciones rand y randn

3.3. Ejercicio 3
Calcule numericamente la DFT de la siguiente sucesion de duracion finita x(n) del ejercicio 2, ahora
con operacion matricial, en un 501 puntos equidistantes entre [0, π], y grafique su magnitud, angulo,
parte real y parte imaginaria.Revise la discontinuidad que se visualiza en la grafica del angulo para -π
a π, esto es dado a que la funcion angle de MATLAb hace el calculo del angulo principal. Revise en
la documentacion de MATLAB la funcion dt f t y discuta en equipo las consideraciones numericas de
MATLAB para el calculo.
1 clc
2 clear all
3 close all
4
5 %rellenando con ceros la senal para completar el numero de muestras
que
6 %entregara la transformada
7
8 x =[1 2 3 4 5 zeros (1 ,997) ] ';
9 N =1002; %Numero de puntos de soporte
10
11
12
13 Wn = exp ( - i *2* pi /N ) ;
14 W =[ zeros (N , N ) ];
15
16 for k =1: N
17 for i =1: N
18 W (k , i) = Wn ^(( k -1) *( i -1) ) ;

5
19 end
20 end
21 X =( W * x) ';
22
23
24 w =[0: length ( X ) /2 -1]* pi ; % [ 0 , pi ] e j e
25 w = w / max ( w ) ; %Normalizamos a pi
26 X = X (1: length ( X ) /2) ;
27 magX = abs ( X ) ;
28 angX = angle ( X ) ;
29 realX = real ( X ) ;
30 imagX = imag ( X ) ;
31 subplot (2 ,2 ,1) ;
32 plot (w , magX ) ;
33 grid on ;
34 xlabel ( ' frequencia en pi unidades ') ;
35 title ( ' Magnitud ') ;
36 ylabel ( ' Magnitud ')
37 subplot (2 ,2 ,3) ;
38 plot (w , angX ) ;
39 grid on
40 xlabel ( ' frequencia en pi unidades ') ;
41 title ( ' angulo ') ;
42 ylabel ( ' Radianes ') ;
43 subplot (2 ,2 ,2) ;
44 plot (w , realX ) ;
45 grid on
46 xlabel ( ' frequencia en pi unidades ') ;
47 title ( ' Parte Real ') ;
48 ylabel ( ' Real ')
49 subplot (2 ,2 ,4) ;
50 plot (w , imagX ) ;
51 grid on
52 xlabel ( ' f r equency in pi uni t s ' ) ;
53 title ( ' Parte Imaginaria ') ;
54 ylabel ( ' Imaginaria ')

3.4. Ejercicio 4
jnπ
Sea x(n) = 0,9e( 3 ) , 0 < n < 10. Determine X(e jω ) e investigue su periodicidad. Sugerencia: Primero
determine la DFT de x(n) = (0,5)n u[n] A continuacion se mmuetra el código para la funcion sugerida
1 clear all
2 close all
3 clc
4 % definimoos la funcin y su transformada
5 n =[0:10];

6
Magnitud Parte Real
16 15

14
10
12

Magnitud 10 5

Real
8 0
6
-5
4

2 -10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
frequencia en pi unidades frequencia en pi unidades

angulo Parte Imaginaria


4 15

2 10

Imaginaria
Radianes

0 5

-1

-2 0

-3

-4 -5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
frequencia en pi unidades f r equency in pi uni t s

Figura 2: Graficas con funciones rand y randn

6 x =(0.5) .^ n ;
7 y = fft (x ) ;
8
9 %graficamos la funcion
10 figure ;
11 grid on
12 subplot (5 ,1 ,1) ;
13 plot (n ,x ) ;
14 title ( 'x ( n ) =(0.5) ^ n * u ( n) ') ;
15 %graficamos la magnitud de la funcion
16 subplot (5 ,1 ,2)
17 grid on
18 plot (n , abs (y ) ) ;
19 title ( ' Magnitud x [n ] ')
20 %graficamos la fase de la funcion
21 subplot (5 ,1 ,3)
22 grid on
23 plot (n , angle ( y ) ) ;
24 title ( ' Fase de x [ n ] ')
25 %graficamos la parte real de la funcion
26 subplot (5 ,1 ,4)
27 grid on
28 plot (n , real ( y ) ) ;
29 title ( ' Real de x [ n ] ')
30 %graficamos la parte imaginaria de la funcion
31 subplot (5 ,1 ,5)
32 plot (n , imag ( y ) ) ;

7
33 title ( ' Imaginario de x[ n ] ')
34 grid on

x(n)=(0.5) n*u(n)
1

0.5

0
0 1 2 3 4 5 6 7 8 9 10
Magnitud x[n]
2

0
0 1 2 3 4 5 6 7 8 9 10
Fase de x[n]
1

-1
0 1 2 3 4 5 6 7 8 9 10
Real de x[n]
2

0
0 1 2 3 4 5 6 7 8 9 10
Imaginario de x[n]
1

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

Figura 3: Graficas con funciones rand y randn

A continuacion se muestra el codigo para la funcion deseada


1 clear all
2 close all
3 clc
4
5 %definimos la cantidad de muestras y la funcion a transformar
6 n =[0:10];
7 x =(0.9* exp ( i * pi /3) ) .^ n ;
8 y = fft (x ) ;
9
10 %graficamos la funcion
11 figure ;
12 grid on ;
13 subplot (5 ,1 ,1) ;
14 plot (n ,x ) ;
15 title ( 'x ( n ) =(0.9* exp ( i * pi /3) ) .^ n ') ;
16
17 %graficamos la magnitud de la funcion
18 subplot (5 ,1 ,2)
19 grid on
20 plot (n , abs (y ) ) ;
21 title ( ' Magnitud x [n ] ')
22
23 %graficamos la fase de la funcion

8
24 subplot (5 ,1 ,3)
25 grid on
26 plot (n , angle ( y ) ) ;
27 title ( ' Fase de x [ n ] ')
28
29 %graficamos la parte real de la funcion
30 subplot (5 ,1 ,4)
31 grid on
32 plot (n , real ( y ) ) ;
33 title ( ' Real de x [ n ] ')
34
35 %graficamos la parte imaginaria de la funcion
36 subplot (5 ,1 ,5)
37 plot (n , imag ( y ) ) ;
38 title ( ' Imaginario de x[ n ] ')
39 grid on ;

x(n)=(0.9*exp(i*pi/3)).n
1

-1
0 1 2 3 4 5 6 7 8 9 10
Magnitud x[n]
10

0
0 1 2 3 4 5 6 7 8 9 10
Fase de x[n]
2

-2
0 1 2 3 4 5 6 7 8 9 10
Real de x[n]
10

0
0 1 2 3 4 5 6 7 8 9 10
Imaginario de x[n]
5

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

Figura 4: Graficas con funciones rand y randn

4. Conclusiones
Referencias
[1] Breeding, Andy (2004). The Music Internet Untangled: Using Online Services to Expand Your Mu-
sical Horizons. Giant Path. p. 128. ISBN 9781932340020.

[2] Rafael C. González, Richard Eugene Woods (2008). Digital image processing. Prentice Hall. p. 354

9
[3] John C. Russ (2007). The image processing handbook

10

También podría gustarte