STFT¶
STFT - 17¶
版本¶
名称: STFT (GitHub)
域:
main起始版本:
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,n_fft-w]*。请注意,如果输入或窗口张量是复数,则无法进行单边输出。对于实数输入启用 onesided 会执行实值快速傅里叶变换 (RFFT)。当使用实数或复数值输入调用时,默认值为 1。值可以是 0 或 1。
输入¶
2 到 4 个输入。
signal (异构) - 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 之间步进的样本数量。
window (可选,异构) - T1
表示将在信号上滑动的窗口的张量。窗口必须是秩为 1,形状为:[window_shape]。它是一个可选值。
frame_length (可选,异构) - T2
表示 DFT 大小的标量。它是一个可选值。
输出¶
output (异构) - 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 在 (
tensor(bfloat16),tensor(double),tensor(float),tensor(float16))将信号和输出限制为浮点张量。
T2 包含 (
tensor(int32),tensor(int64))将标量长度类型限制为 int64_t。