es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Frecuencias resueltas de una Transformada de Fourier de una serie de tiempo.

Tengo una serie temporal de algunos datos de mareas que se presenta de la siguiente manera:

Serie temporal original de datos de elevación de marea

Si tomamos la FFT para determinar las armónicas específicas presentes en los datos, vemos lo siguiente:

FFT de datos de elevación de marea

Esta FFT se calculó utilizando la función FFT de Matlab a partir del método presentado aquí (https://www.mathworks.com/matlabcentral/answers/435508-how-can-i-get-proper-length-of-fft)

Fn = Fs/2;   %Frecuencia de Nyquist
N = length(z); %Calcular la longitud de Elevación z
NFFT = 2^nextpow2(N); 
FTx = fft(z, NFFT) / N;
Fv = linspace(0, 1, fix(N/2)+1)*Fn*60*60*24;%Vector de frecuencia de segundos a días
Iv = 1:numel(Fv);    
figure(5)
semilogy(Fv, abs(FTx(Iv))*2)
grid on;

El problema es que sé que hay armónicas de la marea que ocurren en escalas mayores a 14 días, sin embargo, la FFT básica parece elegir los límites de frecuencia que devuelve a 12 días, a pesar de que mi serie temporal tiene muchos meses de datos. ¿Cómo puedo obligar a la FFT a incorporar esas frecuencias?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para incorporar frecuencias más altas, es necesario aumentar el número de puntos en la FFT. Esto se puede lograr modificando la variable “NFFT” en el código a una potencia de 2 mayor.
    Por ejemplo, si desea incluir frecuencias de hasta 20 días, puede establecer NFFT en 2 ^ nextpow2 (N * 2), lo que duplica el número original de puntos. Esto le dará una resolución de frecuencia de 1/60/60/24*20 = 0.23 microHz, lo que debería capturar las frecuencias más altas que le interesan.
    Tenga en cuenta que aumentar el número de puntos en la FFT también aumentará el tiempo de cálculo, por lo que es posible que deba equilibrar el compromiso entre la resolución de frecuencia y el tiempo de cálculo en función del tamaño de su conjunto de datos.

Comments are closed.