Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Electrónica y De Telecomunicaciones
2018-I
Curso: Sistemas Lineales
4
Sistemas Lineales
Guía de Prácticas:
Transformada de Fourier
1. Introducción:
La FFT es la abreviatura usual (del inglés Fast Fourier Transform), este eficiente
algoritmo nos permite calcular la transformada de Fourier discreta (DFT) y su inversa la
IFFT. Tiene una gran importancia en una amplia variedad de aplicaciones desde el
tratamiento digital de señales y filtrado digital.
2. Objetivos
Esta guía práctica tiene como objetivo:
3. Contenido teórico
Asignatura de Sistemas Lineales – Primera Unidad
MATLAB está equipado con funciones especiales que nos van a permitir
realizar un análisis de Fourier de señales definidas por un conjunto de valores
discretos. Por ejemplo, el comando fft() nos permite obtener la transformada
rápida de Fourier (fast Fourier Transform) de una secuencia de números
definida por el vector x .
Por ejemplo:
X = fft(x);
1
UCSP - Facultad de Ingeniería y Computación – Ing. Electrónica y De Telecomunicaciones
2018-I
Curso: Sistemas Lineales
X = fft(x,N);
Donde N es exponente de 2. Mientras más largo sea x, más fina será la escala
para la fft. Debido a un fenómeno de plegamiento del espectro, sólo la primera
mitad de los puntos obtenidos son de utilidad. La función fftshift() reordena el
vector X en orden creciente de frecuencia. Si X es el vector resultante de
hacer una fft, utilizando esta función reordenamos los puntos en función de la
frecuencia [1].
X = fftshift(X);
4. Actividades
Obtenga la transformada de Fourier de una señal exponencial modulada en
amplitud con una frecuencia de portadora de 200 Hz .
x (t)=exp (−2t )sin(2 π 200 t)
t=-0.5:0.001:0.5;
x=exp(-2*t).*sin(2*pi*200*t);
figure(1)
subplot(3,1,1);
plot(t,x);
grid on;
title('x(t)=exp(-2t)·sin(2·pi·200·t)');
xlabel('Tiempo (t)');ylabel('x(t)');
Tf=fft(x);
X=fftshift(Tf);
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
subplot(3,1,2);
plot(f,Xm);
grid on;
title('Módulo de transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('|X(jw)|');
subplot(3,1,3);
plot(f,Xf);
grid on;
title('Fase de la transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('Fase X(jw)');
2
UCSP - Facultad de Ingeniería y Computación – Ing. Electrónica y De Telecomunicaciones
2018-I
Curso: Sistemas Lineales
t=-0.5:0.001:0.5;
x=exp(-2*t).*sin(2*pi*200*t);
figure(1)
subplot(3,1,1);
plot(t,x);
grid on;
title('x(t)=exp(-2t)·sin(2·pi·200·t)');
xlabel('Tiempo (t)');ylabel('x(t)');
Tf=fft(x);
X=fftshift(Tf);
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
subplot(3,1,2);
plot(f,Xm);
grid on;
title('Módulo de transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('|X(jw)|');
subplot(3,1,3);
plot(f,Xf);
grid on;
title('Fase de la transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('Fase X(jw)');
R=ifft(Tf);
3
UCSP - Facultad de Ingeniería y Computación – Ing. Electrónica y De Telecomunicaciones
2018-I
Curso: Sistemas Lineales
figure(2)
plot(t,R);
grid on;
title('Reconstrucción de x(t)');
xlabel('Tiempo (t)');ylabel('x(t)');
t=-pi:0.001:pi;
x=1+cos(7*pi*t/2);
figure(1)
subplot(3,1,1);
plot(t,x);
grid on;
title('x(t)=1+cos(7*pi*t/2))');
xlabel('Tiempo (t)');ylabel('x(t)');
Tf=fft(x);
X=fftshift(Tf);
Xm=abs(X);
Xf=unwrap(angle(X))*180/pi;
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;
subplot(3,1,2);
plot(f,Xm);
grid on;
title('Módulo de transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('|X(jw)|');
subplot(3,1,3);
plot(f,Xf);
grid on;
title('Fase de la transformada de Fourier de x(t)');
xlabel('Frecuencia (Hz)');ylabel('Fase X(jw)');
R=ifft(Tf);
figure(2)
plot(t,R);
grid on;
title('Reconstrucción de x(t)');
xlabel('Tiempo (t)');ylabel('x(t)');
4
UCSP - Facultad de Ingeniería y Computación – Ing. Electrónica y De Telecomunicaciones
2018-I
Curso: Sistemas Lineales
5. Conclusiones:
Los comandos fft e ifft son de gran ayuda pues simplifica o reduce las líneas
código empleadas en los anteriores ejercicios en las cuales usamos bucles para
obtener los armónicos y luego con tales armónicos poder reconstruirla.
El comando unwrap (P) corrige los ángulos de fase en radianes en un vector P
sumando múltiplos de ± 2π cuando los saltos absolutos entre elementos
consecutivos de P son mayores o iguales a la tolerancia de salto por defecto de
π radianes.
5