0% encontró este documento útil (0 votos)
149 vistas6 páginas

Transformada Rápida de Fourier en MATLAB

La transformada rápida de Fourier (TRF) es un método para transformar una función del tiempo a una función de la frecuencia. Se utiliza para analizar fenómenos dependientes del tiempo dividiéndolos en componentes de frecuencia. La TRF de un sonido muestra las frecuencias presentes, lo que es útil para el análisis de sonidos. Se ilustra usando el sonido de silbatos de policía.

Cargado por

PedroJose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas6 páginas

Transformada Rápida de Fourier en MATLAB

La transformada rápida de Fourier (TRF) es un método para transformar una función del tiempo a una función de la frecuencia. Se utiliza para analizar fenómenos dependientes del tiempo dividiéndolos en componentes de frecuencia. La TRF de un sonido muestra las frecuencias presentes, lo que es útil para el análisis de sonidos. Se ilustra usando el sonido de silbatos de policía.

Cargado por

PedroJose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TRANSFORMADA RAPIDA DE FOURIER

El análisis de Fourier de una función periódica se refiere a la extracción de series de senos y


cosenos que cuando se superponen, reproducen la función original. Este análisis se puede
expresar como series de Fourier.

La transformada rápida de Fourier (TRF) es un método matemático para la transformación


de una función del tiempo en una función de la frecuencia. A veces se describe como la
transformación del dominio del tiempo al dominio de frecuencia. Es muy útil para el análisis
de los fenómenos dependientes del tiempo.

Una aplicación importante se da en el análisis del sonido. Es importante evaluar la


distribución de frecuencias de la energía que transmite un sonido, porque el oído humano
ejerce tal capacidad en el proceso de audición. La siguiente ilustración describe el sonido de
un silbato de la policía de Londres en ambos dominios, del tiempo y de la frecuencia (por
medio de la TRF).

Silbato A.
Llamando a cada silbato como silbato A y
silbato B, la ilustración de la izquierda nos
muestra el sonido sólo del silbato A . El
gráfico superior, representa la muestra
ordinaria de la señal de voltaje respecto del
tiempo, proporcionada por un micrófono.
El gráfico inferior es la transformada
rápida de Fourier (TRF) de esa señal.
Muestra que la mayor parte de la potencia
se da solo a una frecuencia, aproximándose
con ello a una onda pura sinusoidal. El
hecho de que el pico que muestra la mayor
parte de la potencia esté en la posición
cuatro, sólo refleja el hecho de que fueron
seleccionados cuatro períodos para la
muestra FFT.
Silbato B.
Esta es la misma clase de muestra con el
silbato B solamente. Esta vez se
escogieron tres periodos para la TRF,
resultando en un pico principal en la
posición 3.

Silbatos A y B
Cuando se hacen sonar simultáneamente
los silbatos A y B, la gráfica del tiempo
muestra el característico patrón de
frecuencia de batimiento. La TRF muestra
las dos frecuencias distintas de los silbatos
individuales.
Estas ilustraciones, muestran la naturaleza
esencial de las TRF. Para una onda
sinusoidal de una frecuencia simple, la
TRF consiste en un solo pico. La
combinación de dos ondas de sonido,
produce un patrón complejo en el dominio
del tiempo, pero la TRF muestra
claramente que consiste casi enteramente
en dos frecuencias.
En sí la transformada rápida de Fourier FFT es un algoritmo que reduce el tiempo de cálculo
de n2 pasos a n·log2(n). El único requisito es que el número de puntos en la serie tiene que
ser una potencia de 2 (2n puntos), por ejemplo 32, 1024, 4096, etc.
Las fórmulas con la que MATLAB calcula la transformada rápida de Fourier Y=fft(x) y la
transformada inversa y=ifft(X) son, respectivamente:

Supongamos que tenemos una señal descrita por un conjunto de n (potencia de dos) pares de
datos (tj, xj) igualmente espaciados en el tiempo, por un intervalo Δt, desde t=0 hasta tfinal=(n-
1)Δt. La inversa del intervalo Δt, se denomina frecuencia de muestreo fs. De modo que el
vector de tiempos es t=(0:n-1)/ fs

La función fft de MATLAB convierte un vector de valores de la señal x en función del tiempo
t en un vector g en función de la frecuencia ω.
g=fft(x)
g es un vector cuyos elementos son números complejos porque guarda información acerca
de de la amplitud y de la fase. Ahora tenemos que asociar cada elemento del vector g con una
frecuencia, del mismo modo que hemos asociado cada elemento del vector x con un tiempo.

El intervalo de frecuencias es Δω=2π/(n·Δt)=2πfs/n de modo que la mínima frecuencia es 0


y la máxima ωmax=2πfs(n-1)/n. La resolución espectral Δω es inversamente proporcional al
tiempo total n·Δt de recogida de datos en la serie temporal.
Conocido el intervalo de tiempo Δt o la frecuencia de muestreo Δt=1/fs y el número de pares
de datos n (potencia de 2), creamos el vector de tiempos t y el vector de frecuencias angulares
ω del siguiente modo:

Podemos obviar la fase y concentrarnos en la amplitud, si calculamos y representamos el


cuadrado de los elementos del vector g. A P se le denomina espectro de potencia (Power
spectrum)
P=|g(ω)|2

Ejercicio #1

Para ilustrar la aplicación de la función fft de MATLAB, vamos a analizar la señal formada
por la suma de cuatro armónicos de frecuencias angulares ω=1, 3, 3.5, 4 y 6 rad/s.

x(t)=cos(t)+0.5*cos(3t) + 0.4*cos(3.5t)+0.7*cos(4t)+0.2*cos(6t)

Creamos un script para realizar las siguientes tareas:

1. Construir una serie temporal (x,t) formada por n=214=16384 pares de datos, tomando
un intervalo de tiempo Δt=0.4 s, o bien una frecuencia de muestreo de fs=2.5 Hz. El
tiempo final es tfinal=16383·0.4=6553.2 s

%serie temporal
n= 2^14;
dt=0.4;
t= (0:n-1)*dt; %vector de tiempos
x=cos(t)+0.5*cos(3*t)+0.4*cos(3.5*t)+0.7*cos(4*t)+0.2*cos(6*t);
2. Calcular la transformada rápida de Fourier fft y la guardamos en el vector g

3. Crear el array de frecuencias ω como en el cuadro anterior

4. Calculamos la potencia power: el cuadrado del valor absoluto de cada elemento


de g.

%amplitud-fase vs. frecuencias


g=fft(x);
power=abs(g).^2;
dw=(2*pi)/(n*dt);
w=(0:n-1)*dw;
%vector de frecuencias angulares

5. Representar gráficamente power en términos de la frecuencia angular ω

subplot(2,1,1);%visualizacion de la suma de las señales


plot(t,x)
xlabel('t')
ylabel('x')
title('suma de señales')

subplot(2,1,2);%visualizacion del espectro potencia


plot(w,power)
xlabel(' \omega')
ylabel('P(\omega)')
title('especro de potencia')

También podría gustarte