次の方法で共有


series_fft()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

系列に高速フーリエ変換 (FFT) を適用します。

series_fft() 関数は、時間/空間領域内の複素数の系列を受け取り、高速フーリエ変換を使用して周波数領域に変換します。 変換された複素系列は、元の系列に現れる周波数の大きさと位相を表します。 周波数領域から時刻/空間領域に変換するには、補関数 series_ifft を使用します。

構文

series_fft(x_real [, x_imaginary])

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
x_real dynamic ✔️ 変換する系列の実数部分を表す数値配列。
x_imaginary dynamic 系列の虚数成分を表す同様の配列。 このパラメーターは、入力系列に複素数が含まれている場合にのみ指定する必要があります。

返品

この関数は、2 つの系列の複素逆 fft を返します。 最初の系列は実数部で、2 番目は虚数部です。

  • 実数部と虚数部が周波数の異なる純正弦波である複素系列を生成します。 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_realfft_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_real2 と *y_imag2 を返します。これは y_real および y_imag と同じです。

    系列 ifft。