series_fft()
Použije rychlou Fourierovou transformaci (FFT) na řadu.
Funkce series_fft() přebírá řadu komplexních čísel v časové/prostorové doméně a transformuje ji na doménu frekvence pomocí rychlé Fourierovy transformace. Transformovaná komplexní řada představuje velikost a fázi frekvencí, které se objevují v původní řadě. Pomocí doplňkové funkce series_ifft můžete transformovat z frekvenční domény zpět na časovou nebo prostorovou doménu.
Syntax
series_fft(
x_real [,
x_imaginary])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
x_real | dynamic |
✔️ | Číselné pole představující skutečnou součást řady, která se má transformovat. |
x_imaginary | dynamic |
Podobné pole představující imaginární součást řady. Tento parametr by měl být zadán pouze v případě, že vstupní řada obsahuje komplexní čísla. |
Návraty
Funkce vrátí komplexní inverzní fft ve dvou řadách. První řada pro skutečnou součást a druhá pro imaginární komponentu.
Příklad
Vygenerujte komplexní řadu, kde skutečné a imaginární komponenty jsou čisté sinusové vlny v různých frekvencích. Pomocí FFT ho transformujte na doménu frekvence:
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)
Tento dotaz vrátí fft_y_real a fft_y_imag:
Transformujte řadu do frekvenční domény a pak použijte inverzní transformaci, abyste získali zpět původní řadu:
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)
Tento dotaz vrátí y_real2 a *y_imag2, které jsou stejné jako y_real a y_imag:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro