Está en la página 1de 6

Fsico-Matemtica Aplicada 2

Transformada Discreta de Fourier (DFT)

Ejercicio 1
Sea la seal de longitud finita definida como:
. cos(0 . ) 0 1
[] = {
0

Podemos definir la seal de duracin finita multiplicando una seal de duracin


infinita por la ventana de tiempo, de la siguiente manera:

1 [] = . cos(0 . )
2 [] = [] [ ]
[] = 1 [] . 2 []

Para hallar la transformada de Fourier de la seal recurrimos a la propiedad que


indica que el producto en el tiempo corresponde a la convolucin en la frecuencia:

( ) = 1 ( ) 2 ( )

Por tabla, tenemos que las transformadas de las seales 1 y 2 son:




1 ( ) = [( 0 + 2) + ( + 0 + 2)]
=0

2 ( ) = . ( ) . 2
2
El resultado de la convolucin, teniendo en cuenta la propiedad de seleccin del
impulso, es:

1
(0 )
(
)= [. ( ( 0 + 2)) . 2
2 2
=0


(+0 )
+ . ( ( + 0 + 2)) . 2 ]
2


(0 )
(
) = [ ( ( 0 + 2)) . 2
2 2
=0


(+0 )
+ ( ( + 0 + 2)) . 2 ]
2 2

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 1


Fsico-Matemtica Aplicada 2

Teniendo en cuenta los siguientes valores:



0 = = 32
4
Planteando la DFT de 32 puntos para la seal, tenemos el siguiente cdigo en
MATLAB para los clculos y sus grficos correspondientes:

close all;
clear all;
clc;

% Parametros:
N = 32;
T = 1; % Periodo de muestreo.
A = 1; % Amplitud del coseno.
f = (pi/4)/(2*pi); % Frecuencia.
n= [0:N-1]; % Eje de tiempo discreto.
x = A*cos(2*pi*f*n*T); % Seal muestreada.
X = fft(x); % Espectro.

% Grafico de la magnitud del espectro segn la DTFT:


fm=[0:1/100:1] % Eje normalizado de Frecuencia.
d=f; % 1er desplazamiento en Frecuencia.
d2=-f+1; % 2ndo desplazamiento en Frecuencia.
d3=f+1; % 3er desplazamiento en Frecuencia.
s1=16*sinc(16*(fm-d)).*(exp(-i*16*(fm-d))); % 1era sinc desplazada (+).
s2=16*sinc(16*(fm+d)).*(exp(-i*16*(fm+d))); % 1era sinc desplazada (-).
s3=16*sinc(16*(fm-d2)).*(exp(-i*16*(fm-d2))); % 2nda sinc desplazada.
s4=16*sinc(16*(fm-d3)).*(exp(-i*16*(fm-d3))); % 3era sinc desplazada.
s=s1+s2+s3+s4; % Total (simulando la periodicidad).
subplot(2,1,1);
stem(fm,abs(s),'ok'); grid on; title 'DTFT';
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');

% Grafico de la magnitud del espectro segn la DFT:


magX = abs(X)/N; % Magnitud.
fn = [0:1/N:1-1/N]; % Eje normalizado de Frecuencia.
subplot(2,1,2);
stem(fn,magX,'ok'); grid on; title 'DFT';
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 2


Fsico-Matemtica Aplicada 2

Grficos del espectro:

Comparando ambos grficos se puede apreciar que los picos coinciden y se ubican
en mltiplos de la frecuencia fundamental de la seal. La DFT no presenta tanta resolucin
como la DTFT debido a la cantidad de puntos considerados.

Ahora si variamos la frecuencia fundamental de la seal:


0 = 1,1 = 32
4

Se modifica la siguiente lnea en el cdigo presentado anteriormente:

f = (1.1*(pi/4))/(2*pi); % Frecuencia.

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 3


Fsico-Matemtica Aplicada 2

Grficos del espectro:

La diferencia con el grfico anterior se debe a que el aumento de la frecuencia


fundamental desplaza el espectro hacia la derecha, lo cual hace que la DFT muestree otros
puntos y esto se traduce en un cambio de forma.

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 4


Fsico-Matemtica Aplicada 2

Ejercicio 2:

Sea la seal definida como:


[] = cos(0 )

Teniendo en cuenta los siguientes valores:


0 = = 16
4

El siguiente cdigo en MATLAB calcula primero la DFT de 16 puntos de la seal


utilizando las 16 muestras y luego la DFT de 32 y 64 puntos utilizando la tcnica de zero
padding para complementar a las muestras que se tienen:

close all;
clear all;
clc;

% Parametros:
N = 16;
T = 1; % Periodo de muestreo.
A = 1; % Amplitud del coseno.
f = (pi/4)/(2*pi); % Frecuencia.
n= [0:N-1]; % Eje de tiempo discreto.
x = A*cos(2*pi*f*n*T); % Seal muestreada (16 muestras).
X = fft(x); % Espectro (16 muestras).
z1=16; % Numero de ceros (1).
x1=[A*cos(2*pi*f*n*T),zeros(1,z1)] % Seal muestreada (zero padding 1).
X1 = fft(x1); % Espectro (zero padding 1).
z2=48; % Numero de ceros (2).
x2=[A*cos(2*pi*f*n*T),zeros(1,z2)] % Seal muestreada (zero padding 2).
X2 = fft(x2); % Espectro (zero padding 2).

% Grafico de la magnitud del espectro segn la DFT (16 muestras):


magX = abs(X)/N; % Magnitud.
fn = [0:1/N:1-1/N]; % Eje normalizado de Frecuencia.
subplot(3,1,1);
stem(fn,magX,'ok'); grid on; title 'DFT (16)';
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');

% Grafico de la magnitud del espectro segn la DFT (zero padding 1):


magX1 = abs(X1)/N; % Magnitud.
fn1 = [0:1/(N+z1):1-1/(N+z1)]; % Eje normalizado de Frecuencia.
subplot(3,1,2);
stem(fn1,magX1,'ok'); grid on; title 'DFT Zero Padding (32)';
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 5


Fsico-Matemtica Aplicada 2

% Grafico de la magnitud del espectro segn la DFT (zero padding 2):


magX2 = abs(X2)/N; % Magnitud.
fn2 = [0:1/(N+z2):1-1/(N+z2)]; % Eje normalizado de Frecuencia.
subplot(3,1,3);
stem(fn2,magX2,'ok'); grid on; title 'DFT Zero Padding (64)';
xlabel('Frecuencia (Hz)');
ylabel('Magnitud');

Grficos del espectro:

En los grficos se puede apreciar claramente la utilidad de la tcnica de zero


padding. El efecto que produce es el de dar mayor resolucin al espectro de la seal, pues
se observa que a medida que se agregan ms ceros, se tiene el espectro ms definido. Si
continuamos agregando ceros, mejor ser la definicin del espectro.

De Almeida, Gonzalo / Kelm, Marcelo / Sosa, Gabriel 6

También podría gustarte