다음을 통해 공유


series_fft()

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

계열에 FFT(Fast Fourier Transform)를 적용합니다.

series_fft() 함수는 시간/공간 도메인에서 일련의 복소수를 가져와 빠른 푸리에 변환을 사용하여 빈도 도메인으로 변환합니다. 변환된 복합 계열은 원래 계열에 나타나는 빈도의 크기와 단계를 나타냅니다. 보완 함수 series_ifft 사용하여 빈도 도메인에서 시간/공간 도메인으로 다시 변환합니다.

구문

series_fft( x_real [, x_imaginary])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
x_real dynamic ✔️ 변환할 계열의 실제 구성 요소를 나타내는 숫자 배열입니다.
x_imaginary dynamic 계열의 가상 구성 요소를 나타내는 유사한 배열입니다. 입력 계열에 복소수만 포함된 경우에만 이 매개 변수를 지정해야 합니다.

반품

이 함수는 복합 역 fft를 두 계열로 반환합니다. 실제 구성 요소의 첫 번째 계열과 허수 구성 요소에 대한 두 번째 계열입니다.

예시

  • 실제 및 가상 구성 요소가 서로 다른 주파수의 순수 사인 파인 복합 계열을 생성합니다. FFT를 사용하여 빈도 도메인으로 변환합니다.

    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)
    

    이 쿼리는 fft_y_real 반환하고 fft_y_imag.

    계열 fft.

  • 계열을 빈도 도메인으로 변환한 다음 역 변환을 적용하여 원래 계열을 다시 가져옵니다.

    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)
    

    이 쿼리는 y_real 및 y_imag 동일한 y_real2 및 *y_imag2 반환합니다.

    계열 ifft입니다.