series_fft()
Aplica la transformación de Fourier rápida (FFT) en una serie.
La función series_fft() toma una serie de números complejos en el dominio espacial o temporal y lo transforma en el dominio de frecuencia mediante la transformación Fast Fourier. La serie compleja transformada representa la magnitud y la fase de las frecuencias que aparecen en la serie original. Use la función complementaria series_ifft para transformar de nuevo el dominio de frecuencia al dominio de tiempo o espacial.
Syntax
series_fft(
x_real [,
x_imaginary])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
x_real | dynamic |
✔️ | Matriz numérica que representa el componente real de la serie que se va a transformar. |
x_imaginary | dynamic |
Matriz similar que representa el componente imaginario de la serie. Este parámetro solo se debe especificar si la serie de entrada contiene números complejos. |
Devoluciones
La función devuelve el fft inverso complejo en dos series. La primera serie para el componente real y la segunda para el componente imaginario.
Ejemplo
Genere una serie compleja, donde los componentes reales e imaginarios son ondas de seno puros en diferentes frecuencias. Use FFT para transformarlo en el dominio de frecuencia:
let sinewave=(x:double, period:double, gain:double=1.0, phase:double=0.0) { gain*sin(2*pi()/period*(x+phase)) } ; let n=128; // signal length range x from 0 to n-1 step 1 | extend yr=sinewave(x, 8), yi=sinewave(x, 32) | summarize x=make_list(x), y_real=make_list(yr), y_imag=make_list(yi) | extend (fft_y_real, fft_y_imag) = series_fft(y_real, y_imag) | render linechart with(ysplit=panels)
Esta consulta devuelve fft_y_real y fft_y_imag:
Transforme una serie en el dominio de frecuencia y, a continuación, aplique la transformación inversa para recuperar la serie original:
let sinewave=(x:double, period:double, gain:double=1.0, phase:double=0.0) { gain*sin(2*pi()/period*(x+phase)) } ; let n=128; // signal length range x from 0 to n-1 step 1 | extend yr=sinewave(x, 8), yi=sinewave(x, 32) | summarize x=make_list(x), y_real=make_list(yr), y_imag=make_list(yi) | extend (fft_y_real, fft_y_imag) = series_fft(y_real, y_imag) | extend (y_real2, y_image2) = series_ifft(fft_y_real, fft_y_imag) | project-away fft_y_real, fft_y_imag // too many series for linechart with panels | render linechart with(ysplit=panels)
Esta consulta devuelve y_real2 y *y_imag2, que son iguales que y_real y y_imag:
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de