作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么stft(istft(x))≠x?
使用PyTorch,我计算了张量的逆短时傅立叶变换的短时傅立叶变换。
给定张量x
,如下所示。
对于x
,实部和虚部相等,或者虚部设置为零-都产生相同的问题。
torch.stft(torchaudio.functional.istft(x, n_fft), n_fft)
stft(istft(x))
后,张量中的 strip 仅保留一个,其他所有 strip 都消失了。
stft(istft(x))
(底部)等于
x
(顶部),则两个图像看起来相似。
stft(istft(x))
只能选择某些特定频率的
x
。
scipy.signal.istft
和
scipy.signal.stft
导致相同的问题。
x
,例如不同的随机分布,图像和其他条纹。
x
,它可以工作。
最佳答案
短时傅立叶变换所产生的数据要多于原始信号中的数据。如果信号具有N个真实样本,则STFT可能具有4N个复杂样本-数据多8倍。
因此,ISTFT操作必须丢弃您提供的7/8数据。
STFT中的大多数数据都是冗余的,如果仅对所有数据进行补全,就不可能与真实信号相对应。
在这种情况下,ISTFT的实现可能会使用最小二乘拟合或其他方法来产生具有与您的数据尽可能紧密匹配的STFT的信号,但它并不总是紧密的。
关于audio - 为什么stft(istft(x))≠x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58348493/
为什么stft(istft(x))≠x? 使用PyTorch,我计算了张量的逆短时傅立叶变换的短时傅立叶变换。 给定张量x,如下所示。 对于x,实部和虚部相等,或者虚部设置为零-都产生相同的问题。 t
我是一名优秀的程序员,十分优秀!