FIRフィルター係数を求める / 窓函数法

import scipy.signal

"""
構文: scipy.signal.firwin(numtaps, cutoff, width=None, window='hamming', pass_zero=True, scale=True, nyq=None, fs=None)

pass_zero: True, False, 'bandpass', 'lowpass', 'highpass', 'bandstop'

window :
    boxcar, triang        , blackman, hamming , hann  , bartlett   , flattop, parzen, 
    bohman, blackmanharris, nuttall , barthann, cosine, exponential, tukey  , taylor, 
    kaiser (needs beta)                          , gaussian (needs standard deviation), 
    general_cosine (needs weighting coefficients), general_gaussian (needs power, width), 
    general_hamming (needs window coefficient)   , dpss (needs normalized half-bandwidth), 
    chebwin (needs attenuation)}
"""

coeffs = scipy.signal.firwin(5, [10, 20], window='boxcar', pass_zero="bandpass", scale=False, fs=100)
print(coeffs)

実行結果

[-0.05781642  0.11563283  0.2         0.11563283 -0.05781642]