istft — ACOUSTICS transform op

• 資料種類:table → signal

• 呼叫: import fullseye as fs; fs.ledger.istft(transform)(要直接呼叫實作,import acoustics; acoustics.istft(transform);從台帳取用則 opsacoustics.get("istft"))

用法

用加權重疊相加精確地逆 stft。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

Weighted overlap-add divides the synthesised sum by the overlap sum of the *squared* window, which makes the reconstruction exact for any window and hop satisfying NOLA, not only for the COLA pairs. stft refuses the NOLA violation up front, so if the transform was produced by it the inverse cannot be lossy.

Measured round-trip error, max |x - istft(stft(x))| on 4096 samples of white noise (float64, so 2.2e-16 is one ulp of the largest sample):

=============== ==== ==== ========= =========

window win hop max error nola_min

=============== ==== ==== ========= =========

hann 256 128 1.33e-15 0.5

hann 256 64 1.33e-15 1.5

hann 256 255 2.73e-12 2.27e-08

hamming 256 128 1.33e-15 0.5832

blackman 512 128 1.33e-15 1.206

flattop 256 64 1.33e-15 0.396

boxcar 256 128 8.88e-16 2.0

hann (nfft 512) 256 128 1.33e-15 0.5

=============== ==== ==== ========= =========

Read the third row's two columns together. hop = 255 on a 256-sample window overlaps by one sample, which breaks plain (unweighted) overlap-add completely; weighted overlap-add still inverts it, but only to 2.7e-12 rather than 1.3e-15, because the squared-window overlap sum falls to 2.3e-08 and the reconstruction divides by it. NOLA is satisfied and the result is four orders of magnitude less accurate than every other row — which is why nola_min is *returned* and not merely checked. A NOLA minimum that is small but positive is a conditioning warning, and there is no threshold at which it stops being one, so no threshold is invented here.

Raises ValueError: a dict missing any key stft writes, a spectra whose shape disagrees with the recorded nfft / frame count, or a non-complex spectra.

詳細使用指南

• acoustic_condition_monitoring 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• acoustic_condition_monitoring — py -3.11 examples/acoustic_condition_monitoring.py

型別可銜接的下一個運算子(可接受 signal 作為輸入)

stft · envelope_spectrum · spectral_kurtosis · cepstrum · angular_resample · order_spectrum · octave_spectrum · weighting_response

同類別(transform)

stft · stft_cola_check


*Provenance: acoustics.py — ACOUSTICS 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.