簡體   English   中英

使用Scipy的巴特沃斯濾波器

[英]Butterworth Filter Using Scipy

我對有關scipy.signal.butter函數的以下參數有疑問。 我正在使用python並在jupyter筆記本中運行它。

以下文檔的鏈接:

https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.butter.html

我正在嘗試實現低通n階巴特沃斯濾波器。 我對參數Wn感到困惑。 如果我的采樣頻率為1000Hz。 我想切斷250Hz以上的頻率。 根據我對文檔的了解,Wn必須為以下內容:

fs = 1000 * 2pi

fc = 250 * 2pi

Wn = fc /(fs / 2)

這個對嗎? 我使用了上面的以下過程,但我的回答似乎並不准確。 但是我對輸出沒有任何期望,所以可能是正確的。 謝謝。

該方法中的截止頻率通過奈奎斯特頻率歸一化。 (信號中的最高可分辨頻率。)根據定義,奈奎斯特頻率是信號采樣率的一半。 在您的情況下,就是500Hz。 因此,您應該具有Wn = 0.5 ,它來自:

cutoff = 250.0
Fs = 1000.0
Wn = cutoff / (Fs / 2.0)

我認為您對弧度的困惑來自文檔。 並不是說您需要以某種方式將頻率轉換為弧度。 奈奎斯特頻率等於每個樣本pi弧度,采樣率等於每個樣本2 * pi弧度。 這稱為“每個樣本的半周期”。 請參閱標准化頻率上的Wikipedia頁面,該頁面具有更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM