dfs#
- diffsptk.IIR#
alias of
InfiniteImpulseResponseDigitalFilter
- class diffsptk.InfiniteImpulseResponseDigitalFilter(b=None, a=None, ir_length=None, mode='fir')[source]#
See this page for details.
- Parameters:
- bList [shape=(M+1,)]
Numerator coefficients.
- aList [shape=(N+1,)]
Denominator coefficients.
- ir_lengthint >= 1 [scalar]
Length of impulse response (valid only if mode is ‘fir’).
- mode[‘fir’, ‘iir’]
If ‘fir’, filter is approximated by a finite impulse response.
- forward(x, b=None, a=None)[source]#
Apply an IIR digital filter.
- Parameters:
- xTensor [shape=(…, T)]
Input waveform.
- bTensor [shape=(M+1,)]
Numerator coefficients.
- aTensor [shape=(N+1,)]
Denominator coefficients.
- Returns:
- yTensor [shape=(…, T)]
Filtered waveform.
Examples
>>> x = diffsptk.ramp(4) >>> dfs = diffsptk.IIR(b=[1, -0.97]) >>> y = dfs(x) >>> y tensor([0.0000, 1.0000, 1.0300, 1.0600, 1.0900])
See also