numpy.fft --- 快速傅立葉轉換常式

numpy.fft 子模組提供一維快速傅立葉轉換常式。輸入陣列的長度必須是 2 的次方;否則會引發 ValueError

ulab 在建置時未啟用複數支援時,轉換的實部與虛部會分別保存在獨立的 numpy.ndarray 物件中,而函式會回傳一個 2-tuple (real, imag)。當 ulab 在建置時啟用了 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 選項時,這些常式會以與 numpy 相容的方式接受並回傳複數陣列。

函式

numpy.fft.fft(r: ndarray, c: ndarray | None = None) tuple[ndarray, ndarray]

計算 r 的一維離散傅立葉轉換。

參數:
  • r -- 一個長度為 2 的次方的一維陣列。保存輸入訊號的實部。

  • c -- 一個可選的一維陣列,長度與 r 相同,包含輸入的虛部。若省略,則假設虛部為零。

回傳:

一個由 numpy.ndarray 物件組成的 2-tuple (real, imag),保存轉換的實部與虛部。

引發:

ValueError -- 若輸入的長度不是 2 的次方。

ulab 在編譯時將 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 設為 1 時,此函式改為接受單一(可能為複數的)陣列並回傳一個複數陣列,其方式與 numpy.fft.fft 相同。

numpy.fft.ifft(r: ndarray, c: ndarray | None = None) tuple[ndarray, ndarray]

計算一維逆離散傅立葉轉換。

參數:
  • r -- 一個長度為 2 的次方的一維陣列。保存頻譜的實部。

  • c -- 一個可選的一維陣列,長度與 r 相同,包含頻譜的虛部。若省略,則假設虛部為零。

回傳:

一個由 numpy.ndarray 物件組成的 2-tuple (real, imag),保存逆轉換的實部與虛部。結果會以 N(樣本數)進行正規化,使得 ifft(fft(x)) 能重現原始輸入。

引發:

ValueError -- 若輸入的長度不是 2 的次方。

ulab 在編譯時將 ULAB_SUPPORTS_COMPLEXULAB_FFT_IS_NUMPY_COMPATIBLE 設為 1 時,此函式會接受單一(可能為複數的)陣列並回傳一個複數陣列。