1
我正在嘗試使用scipy.signal.spectrogram
來計算音頻信號的頻譜圖。作爲一個項目規範,需要時間框架彼此間隔20ms,但我找不到方法來設置它。Python + Scipy:如何設置譜圖的時間範圍?
我在調整noverlap
後得到的最大值是一個非精確的5ms。
有誰知道如何做到這一點?
感謝
我正在嘗試使用scipy.signal.spectrogram
來計算音頻信號的頻譜圖。作爲一個項目規範,需要時間框架彼此間隔20ms,但我找不到方法來設置它。Python + Scipy:如何設置譜圖的時間範圍?
我在調整noverlap
後得到的最大值是一個非精確的5ms。
有誰知道如何做到這一點?
感謝
你說「它需要的時間框架彼此間隔20毫秒」。我假設這意味着每個窗口(或「段」)的開始之間的延遲是20毫秒。
三個相關參數是fs
,nperseg
和noverlap
。 nperseg
是每個「片段」中的樣本數量。也就是說,這是「窗口」中滑過輸入數據的樣本數。 noverlap
是連續窗口重疊中的樣本數。因此,成功窗口之間的延遲是nperseg - noverlap
樣本。
您希望窗口移動20 ms,這對應於fs*20/1000
樣本(假設fs
以樣本每秒爲單位測量,即Hz)。 假設你的窗口長度是T ms。那麼nperseg
是fs*T/1000
。 您希望重疊爲T-20毫秒,所以noverlap = int(fs*(T-20)/1000)
。