Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Análisis de datos cíclicos con FFT

Puede utilizar la transformación Fourier para analizar las variaciones en los datos, como un evento en la naturaleza durante un período de tiempo.

Durante casi 300 años, los astrónomos han tabulado el número y tamaño de manchas solares utilizando el número relativo de la mancha solar de Zúrich. Trazar el número de Zurich sobre aproximadamente los años 1700 a 2000.

load sunspot.dat year = sunspot(:,1); relNums = sunspot(:,2); plot(year,relNums) xlabel('Year') ylabel('Zurich Number') title('Sunspot Data')

Para echar un vistazo más de cerca a la naturaleza cíclica de la actividad de la mancha solar, trace los primeros 50 años de datos.

plot(year(1:50),relNums(1:50),'b.-'); xlabel('Year') ylabel('Zurich Number') title('Sunspot Data')

La transformada de Fourier es una herramienta fundamental en el procesamiento de señales que identifica los componentes de frecuencia en los datos. Utilizando la función, tome la transformada de Fourier de los datos de Zurich.fft Quite el primer elemento de la salida, que almacena la suma de los datos. Trace el resto de la salida, que contiene una imagen reflejada de los coeficientes complejos de Fourier sobre el eje real.

y = fft(relNums); y(1) = []; plot(y,'ro') xlabel('real(y)') ylabel('imag(y)') title('Fourier Coefficients')

Los coeficientes de Fourier por sí mismos son difíciles de interpretar. Una medida más significativa de los coeficientes es su magnitud cuadrada, que es una medida de poder. Dado que la mitad de los coeficientes se repiten en magnitud, solo necesita calcular la potencia en una mitad de los coeficientes. Trazar el espectro de potencia en función de la frecuencia, medido en ciclos por año.

n = length(y); power = abs(y(1:floor(n/2))).^2; % power of first half of transform data maxfreq = 1/2;                   % maximum frequency freq = (1:n/2)/(n/2)*maxfreq;    % equally spaced frequency grid plot(freq,power) xlabel('Cycles/Year') ylabel('Power')

La actividad máxima de la mancha solar ocurre con menos frecuencia que una vez al año. Para una visión de la actividad cíclica que es más fácil de interpretar, trazar la potencia en función del período, medido en años por ciclo. La trama revela que la actividad de la mancha solar se acerca una vez cada 11 años.

period = 1./freq; plot(period,power); xlim([0 50]); %zoom in on max power xlabel('Years/Cycle') ylabel('Power')

Consulte también

| |

Temas relacionados