當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy signal.firwin2用法及代碼示例


本文簡要介紹 python 語言中 scipy.signal.firwin2 的用法。

用法:

scipy.signal.firwin2(numtaps, freq, gain, *, nfreqs=None, window='hamming', nyq=<object object>, antisymmetric=False, fs=None)#

使用窗口方法設計 FIR 濾波器。

根據給定的頻率 freq 和相應的增益增益,此函數構造一個具有線性相位和(近似)給定頻率響應的 FIR 濾波器。

參數

numtaps int

FIR 濾波器中的抽頭數。 numtaps 必須小於 nfreqs。

freq 數組,一維

頻率采樣點。通常為 0.0 至 1.0,其中 1.0 為奈奎斯特。奈奎斯特頻率是一半fs。中的值頻率必須是非減的。一個值可以重複一次以實現不連續性。第一個值在頻率必須為 0,並且最後一個值必須為fs/2。值 0 和fs/2不得重複。

gain array_like

濾波器在頻率采樣點處增益。根據濾波器類型,對增益值應用了某些約束,詳細信息請參見注釋。

nfreqs 整數,可選

用於構造過濾器的插值網格的大小。對於最有效的行為,這應該是 2 加 1 的冪(例如,129、257 等)。默認值是不小於 numtaps 的 2 的最小冪的 1。 nfreqs 必須大於 numtaps。

window string or (string, float) or float, or None, 可選

要使用的窗口函數。默認為“hamming”。有關可能值的完整列表,請參閱 scipy.signal.get_window 。如果為 None,則不應用窗口函數。

nyq 浮點數,可選,已棄用

這就是奈奎斯特頻率。 freq 中的每個頻率必須介於 0 和 nyq 之間。默認值為 1。

antisymmetric 布爾型,可選

產生的脈衝響應是否對稱/反對稱。有關詳細信息,請參閱注釋。

fs 浮點數,可選

信號的采樣頻率。每個頻率在隔斷必須介於 0 和fs/2.默認值為 2。

返回

taps ndarray

FIR 濾波器的濾波器係數,作為長度為 numtaps 的一維數組。

注意

根據給定的一組頻率和增益,在頻域中構建所需的響應。將逆 FFT 應用於所需的響應以創建相關的卷積核,並返回該核的第一個 numtaps 係數,按窗口縮放。

FIR 濾波器將具有線性相位。過濾器的類型由“numtaps”的值和反對稱標誌決定。有四種可能的組合:

  • odd numtaps, antisymmetric is False, type I filter is produced

  • even numtaps, antisymmetric is False, type II filter is produced

  • odd numtaps, antisymmetric is True, type III filter is produced

  • even numtaps, antisymmetric is True, type IV filter is produced

除了 I 型濾波器之外,所有濾波器的幅度響應均受以下約束:

  • type II - zero at the Nyquist frequency

  • type III - zero at zero and Nyquist frequencies

  • type IV - zero at zero frequency

參考

[1]

Oppenheim, A. V. 和 Schafer, R. W.,“Discrete-Time 信號處理”,Prentice-Hall,新澤西州恩格爾伍德懸崖 (1989)。 (例如,參見第 7.4 節。)

[2]

Smith, Steven W.,“科學家和工程師的數字信號處理指南”,第 1 章。 17.http://www.dspguide.com/ch17/1.htm

例子

一個低通 FIR 濾波器,其響應在 [0.0, 0.5] 上為 1,並且在 [0.5, 1.0] 上從 1 線性減小到 0:

>>> from scipy import signal
>>> taps = signal.firwin2(150, [0.0, 0.5, 1.0], [1.0, 1.0, 0.0])
>>> print(taps[72:78])
[-0.02286961 -0.06362756  0.57310236  0.57310236 -0.06362756 -0.02286961]

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.firwin2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。