STFT¶
STFT - 17¶
版本¶
名稱: STFT (GitHub)
網域:
main
since_version:
17
函數:
False
支援等級:
SupportType.COMMON
形狀推斷:
True
此版本的運算符自版本 17 起可用。
摘要¶
計算訊號的短時傅立葉轉換。
屬性¶
onesided - INT (預設為
'1'
)如果 onesided 為 1,則僅傳回 w 在 [0, 1, 2, …, floor(n_fft/2) + 1] 中的值,因為實數到複數傅立葉轉換滿足共軛對稱性,即 X[m, w] = X[m,w]=X[m,n_fft-w]*。請注意,如果輸入或視窗張量是複數,則無法進行單邊輸出。使用實數輸入啟用單邊會執行實數快速傅立葉轉換 (RFFT)。當使用實數或複數輸入調用時,預設值為 1。值可以是 0 或 1。
輸入¶
介於 2 到 4 個輸入之間。
訊號 (異質) - T1
表示實數或複數訊號的輸入張量。對於實數輸入,預期形狀如下:[batch_size][signal_length][1]。對於複數輸入,預期形狀如下:[batch_size][signal_length][2],其中 [batch_size][signal_length][0] 表示實數部分,[batch_size][signal_length][1] 表示訊號的虛數部分。
frame_step (異質) - T2
連續 DFT 之間步進的樣本數。
視窗 (可選,異質) - T1
表示將在訊號上滑動的視窗的張量。視窗的秩必須為 1,形狀為:[window_shape]。這是一個可選值。
frame_length (可選,異質) - T2
表示 DFT 大小的純量。這是一個可選值。
輸出¶
輸出 (異質) - T1
訊號的短時傅立葉轉換。如果 onesided 為 1,則輸出形狀如下:[batch_size][frames][dft_unique_bins][2],其中 dft_unique_bins 為 frame_length // 2 + 1(DFT 的唯一分量)。如果 onesided 為 0,則輸出形狀如下:[batch_size][frames][frame_length][2],其中 frame_length 為 DFT 的長度。
類型約束¶
T1 in (
tensor(bfloat16)
,tensor(double)
,tensor(float)
,tensor(float16)
)限制訊號和輸出為浮點數張量。
T2 in (
tensor(int32)
,tensor(int64)
)限制純量長度類型為 int64_t。