Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alumno:
Grupo: 3BM3
Objetivos
-Observar la importancia de un muestreo adecuado, en la conversión de señales en el
dominio del tiempo al dominio de la frecuencia.
Introducción
FFT es la abreviatura usual (del inglés Fast Fourier Transform) de un eficiente algoritmo
que permite calcular la transformada de Fourier discreta (DFT) y su inversa. La FFT es de
gran importancia en una amplia variedad de aplicaciones, desde el tratamiento digital de
señales y filtrado digital en general a la resolución de ecuaciones en derivadas parciales o
los algoritmos de multiplicación rápida de grandes enteros. El algoritmo pone algunas
limitaciones en la señal y en el espectro resultante. Por ejemplo: la señal de la que se
tomaron muestras y que se va a transformar debe consistir de un número de muestras
igual a una potencia de dos. La mayoría de los analizadores TRF permiten la
transformación de 512, 1024, 2048 o 4096 muestras. El rango de frecuencias cubierto por
el análisis TRF depende de la cantidad de muestras recogidas y de la proporción de
muestreo.
Programa
%Practice 2: Fast Fourier Transform
close all
clear all
clc
% A)Función Coseno
f=50;
fs=20*f;
T=1/fs;
A=1;
t=0:T:0.2;
x=A*cos(2*pi*f*t);
subplot(4,2,1),
plot(t,x)
title(['Original Function ',num2str(f),'Hz'])
hold on
xlabel('Time')
hold on
ylabel('Amplitude')
grid on;
% Generate the Frecuency vector for the FFT
X=fft(x);
le=length(X);
le=floor(le/2);
X=X(1:le);
f=(0:le-1)*(fs/2)/(le-1);
subplot(4,2,2),
plot(f,abs(X))
axis([0 fs/2 0 130])
title('Fast Fourier Transform')
xlabel('Frequency')
ylabel('Amplitude')
grid on;
% B) Escalón Unitario
t1=t0:T:-Bm;
t2=-Bm:T:Bm;
t3=Bm:T:tf;
x1=zeros(1,length(t1));
x2=ones(1,length(t2));
x3=zeros(1,length(t3));
t=[t1 t2 t3]; %Concatenamos vectores
x=[x1 x2 x3];
subplot(4,2,3),
plot(t,x,'r')
axis([t0 tf 0 2])
title('Original Function')
xlabel('Time')
ylabel('Amplitude')
grid on;
%Fast Fourier Transform
X=fft(x);
le=length(X);
le=floor(le/2);
X=X(1:le);
f=(0:le-1)*(fs/2)/(le-1);
subplot(4,2,4),
plot(f,abs(X))
title('Fast Fourier Transform')
xlabel('Frequency')
ylabel('Amplitude')
grid on;
f=50;
fs=10*f;
T=1/fs;
t=0:T:(0.5);
x=exp(-1*2*pi*f*t);
subplot(4,2,5),
plot(t(1:100),x(1:100))
title('Exponential Function')
xlabel('Time')
ylabel('Amplitude')
grid on;
%Fast Fourier Transform
X=fft(x);
le=length(X);
le=floor(le/2);
X=X(1:le);
f=(0:le-1)*(fs/2)/(le-1);
subplot(4,2,6),
plot(f,abs(X))
title('Fast Fourier Transform')
xlabel('Frequency')
ylabel('Amplitude')
grid on;
A=3;
B=2;
C=1;
t=0:T:0.2;
x=(A*sin(2*pi*fa*t))+(B*sin(2*pi*fb*t))+(C*sin(2*pi*fc*t));
subplot(4,2,7),
plot(t,x)
title('Original Function')
xlabel('Time')
ylabel('Amplitude')
grid on;
%Fast Fourier Transform
X=fft(x);
le=length(X);
le=floor(le/2);
X=X(1:le);
f=(0:le-1)*(fs/2)/(le-1);
subplot(4,2,8),
plot(f,abs(X))
title('Fast Fourier Transform')
xlabel('Frequency')
ylabel('Amplitude')
grid on;
%ECG
fs=250;
load a01m.mat; %fs=250
figure,
subplot(1,2,1)
plot(val);
title('ECG');
xlabel('Time')
ylabel('Amplitude')
%Fast Fourier Transform
X=fft(val);
le=length(X);
le=floor(le/2);
X=X(1:le);
f=(0:le-1)*(fs/2)/(le-1);
subplot(1,2,2),
plot(f,abs(X))
title('Fast Fourier Transform')
xlabel('Frequency')
ylabel('Amplitude')
grid on;
Resultados:
Conclusiones
Un aspecto importante, es que las gráficas en el dominio de la frecuencia, el límite de la
f
gráfica en el eje “x” esta en s , debido que el procedimiento matemático de la FFT
2
centra la grafica en origen, dejando una mitad negativa y la otra mitad positiva en el
−f s
dominio de la frecuencia (por lo que la grafica en el dominio de la frecuencia va de
2
f
hasta s ). Al utilizar esta herramienta en la práctica, es fácil entender que en la realidad
2
no existen frecuencias negativas, por lo que solo se utiliza la parte positiva de dicha
transformada.
http://cs.cinvestav.mx/~fraga/Cursos/PDI/tdf.pdf
http://iie.fing.edu.uy/ense/asign/dsp/proyectos/2006/analizador_espectro/FFT.pdf