def differentiator(n, Hz=1):
"""
Return linear phase impulse response for a length *n* filter that
approximates the differential operator. The sampling frequency is
*Hz*.
The filter length *n* must be even. The remez function returns
type 3 (for *n* odd) and 4 (for *n* even) linear phase
filters. However, type 3 linear phase filters are 0 at $\omega =
0$ and $\omega = \pi$.
"""
if n % 2 == 1:
raise ValueError('the filter length n must be even')
return scipy.signal.remez(n,
[0, Hz / 2],
[1],
Hz=Hz,
type='differentiator') * Hz * 2 * NP.pi
评论列表
文章目录