STFT¶
STFT - 17¶
版本¶
名称: STFT (GitHub)
域名:
mainsince_version:
17函数:
Falsesupport_level:
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]*。请注意,如果输入或窗口张量是复数,则无法进行onesided输出。启用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:
表示将在信号上滑动的窗口的张量。窗口必须具有形状为[window_shape]的秩1。这是一个可选值。
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 在 (
tensor(bfloat16),tensor(double),tensor(float),tensor(float16)) 中:将信号和输出限制为浮点张量。
T2 在 (
tensor(int32),tensor(int64)) 中:将标量长度类型限制为int64_t。